ordering-ui-admin-external 1.43.64 → 1.43.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/_bundles/{ordering-ui-admin.59d6b5f2801dce338f86.js → ordering-ui-admin.d1d5d69bc1de8f732c90.js} +2 -2
  2. package/_modules/components/Messages/MessagesListing/index.js +1 -1
  3. package/_modules/components/Orders/AdminsSelector/index.js +40 -1
  4. package/_modules/components/Orders/AllInOne/DriversManager/index.js +1 -1
  5. package/_modules/components/Orders/AllInOne/index.js +4 -2
  6. package/_modules/components/Orders/BusinessesSelector/index.js +40 -1
  7. package/_modules/components/Orders/CountryFilter/index.js +36 -2
  8. package/_modules/components/Orders/CurrencyFilter/index.js +44 -5
  9. package/_modules/components/Orders/DeliveriesManager/index.js +5 -3
  10. package/_modules/components/Orders/DriverMapMarkerAndInfo/index.js +5 -2
  11. package/_modules/components/Orders/DriverMultiSelector/index.js +1 -0
  12. package/_modules/components/Orders/DriversGroupTypeSelector/index.js +44 -5
  13. package/_modules/components/Orders/DriversList/index.js +57 -3
  14. package/_modules/components/Orders/DriversList/styles.js +6 -5
  15. package/_modules/components/Orders/InterActOrderMarker/index.js +5 -2
  16. package/_modules/components/Orders/OrdersContentHeader/index.js +2 -0
  17. package/_modules/components/Orders/OrdersDashboardList/index.js +2 -1
  18. package/_modules/components/Orders/OrdersFilterGroup/index.js +2 -2
  19. package/_modules/components/Orders/OrdersHeaderFilterGroup/index.js +9 -22
  20. package/_modules/components/Orders/OrdersHeaderFilterGroup/styles.js +1 -1
  21. package/_modules/components/Orders/OrdersManager/index.js +6 -3
  22. package/_modules/components/Orders/PaymethodTypeSelector/index.js +40 -1
  23. package/_modules/components/Shared/CitySelector/index.js +35 -1
  24. package/_modules/contexts/FilterValuesContext/index.js +2 -2
  25. package/_modules/styles/MultiSelect/index.js +4 -2
  26. package/package.json +2 -2
  27. package/src/components/Messages/MessagesListing/index.js +1 -1
  28. package/src/components/Orders/AdminsSelector/index.js +37 -0
  29. package/src/components/Orders/AllInOne/DriversManager/index.js +1 -1
  30. package/src/components/Orders/AllInOne/index.js +4 -2
  31. package/src/components/Orders/BusinessesSelector/index.js +37 -0
  32. package/src/components/Orders/CountryFilter/index.js +37 -0
  33. package/src/components/Orders/CurrencyFilter/index.js +37 -0
  34. package/src/components/Orders/DeliveriesManager/index.js +4 -2
  35. package/src/components/Orders/DriverMapMarkerAndInfo/index.js +8 -2
  36. package/src/components/Orders/DriverMultiSelector/index.js +1 -0
  37. package/src/components/Orders/DriversGroupTypeSelector/index.js +37 -0
  38. package/src/components/Orders/DriversList/index.js +56 -3
  39. package/src/components/Orders/DriversList/styles.js +12 -1
  40. package/src/components/Orders/InterActOrderMarker/index.js +10 -2
  41. package/src/components/Orders/OrdersContentHeader/index.js +2 -0
  42. package/src/components/Orders/OrdersDashboardList/index.js +2 -1
  43. package/src/components/Orders/OrdersFilterGroup/index.js +2 -8
  44. package/src/components/Orders/OrdersHeaderFilterGroup/index.js +9 -20
  45. package/src/components/Orders/OrdersHeaderFilterGroup/styles.js +1 -1
  46. package/src/components/Orders/OrdersManager/index.js +6 -3
  47. package/src/components/Orders/PaymethodTypeSelector/index.js +37 -0
  48. package/src/components/Shared/CitySelector/index.js +37 -0
  49. package/src/contexts/FilterValuesContext/index.js +2 -2
  50. package/src/styles/MultiSelect/index.js +3 -1
  51. package/template/pages/AllInOne/index.js +4 -0
  52. package/template/pages/DeliveriesManager/index.js +4 -0
  53. package/template/pages/DriversList/index.js +1 -1
  54. package/template/pages/OrdersList/index.js +6 -0
  55. /package/_bundles/{ordering-ui-admin.59d6b5f2801dce338f86.js.LICENSE.txt → ordering-ui-admin.d1d5d69bc1de8f732c90.js.LICENSE.txt} +0 -0
@@ -4,20 +4,20 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.WrapperStar = exports.WrapperImage = exports.Timestatus = exports.Image = exports.DriversListContainer = exports.DriverInfo = exports.DriverCard = void 0;
7
+ exports.WrapperStar = exports.WrapperImage = exports.Timestatus = exports.PaginationWrapper = exports.Image = exports.DriversListContainer = exports.DriverInfo = exports.DriverCard = 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, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21;
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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
15
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
16
- var DriversListContainer = exports.DriversListContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 15px 0px;\n @media (min-width: 992px) {\n ", "\n }\n"])), function (_ref) {
16
+ var DriversListContainer = exports.DriversListContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 15px 0px;\n position: relative;\n @media (min-width: 992px) {\n ", "\n }\n"])), function (_ref) {
17
17
  var showCompressedInfo = _ref.showCompressedInfo;
18
18
  return showCompressedInfo && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 0px 0px;\n "])));
19
19
  });
20
- var DriverCard = exports.DriverCard = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n min-height: 66px;\n cursor: pointer;\n display: flex;\n align-items: center;\n position: relative;\n border: 1px solid ", ";\n box-sizing: border-box;\n border-radius: 8px;\n margin-bottom: 20px;\n padding: 10px 15px;\n\n &:hover {\n background-color: ", ";\n }\n \n ", "\n\n @media (min-width: 992px) {\n ", "\n }\n"])), function (props) {
20
+ var DriverCard = exports.DriverCard = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n min-height: 66px;\n cursor: pointer;\n display: flex;\n align-items: center;\n position: relative;\n border: 1px solid ", ";\n box-sizing: border-box;\n border-radius: 8px;\n margin-bottom: 20px;\n padding: 10px 15px;\n\n &:hover {\n background-color: ", ";\n }\n\n ", "\n\n @media (min-width: 992px) {\n ", "\n }\n"])), function (props) {
21
21
  return props.theme.colors.borderColor;
22
22
  }, function (props) {
23
23
  return props.theme.colors.lightPrimary;
@@ -75,4 +75,5 @@ var Timestatus = exports.Timestatus = _styledComponents.default.div(_templateObj
75
75
  }, function (_ref9) {
76
76
  var timeState = _ref9.timeState;
77
77
  return timeState === 'delayed' && (0, _styledComponents.css)(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n background-color: #E63757;\n "])));
78
- });
78
+ });
79
+ var PaginationWrapper = exports.PaginationWrapper = _styledComponents.default.div(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n position: sticky;\n bottom: 0px;\n background: #fff;\n justify-content: center;\n > div {\n padding: 10px 5px 0px 5px;\n }\n"])));
@@ -19,7 +19,10 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
19
19
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
20
20
  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; } }
21
21
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
- var InterActOrderMarker = exports.InterActOrderMarker = function InterActOrderMarker(props) {
22
+ var InterActOrderMarkerPropsAreEqual = function InterActOrderMarkerPropsAreEqual(prevProps, nextProps) {
23
+ return prevProps.image === nextProps.image && JSON.stringify(prevProps.customer) === JSON.stringify(nextProps.customer) && JSON.stringify(prevProps.business) === JSON.stringify(nextProps.business) && prevProps.timeStatus === nextProps.timeStatus && JSON.stringify(prevProps.driver) === JSON.stringify(nextProps.driver);
24
+ };
25
+ var InterActOrderMarker = exports.InterActOrderMarker = /*#__PURE__*/_react.default.memo(function (props) {
23
26
  var _driver$drivergroups, _theme$images;
24
27
  var image = props.image,
25
28
  customer = props.customer,
@@ -92,4 +95,4 @@ var InterActOrderMarker = exports.InterActOrderMarker = function InterActOrderMa
92
95
  }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, customer && /*#__PURE__*/_react.default.createElement(_FaUserAlt.default, null), driver && /*#__PURE__*/_react.default.createElement(_styles.MapMarkerImg, {
93
96
  bgimage: theme === null || theme === void 0 || (_theme$images = theme.images) === null || _theme$images === void 0 || (_theme$images = _theme$images.icons) === null || _theme$images === void 0 ? void 0 : _theme$images.noDriver
94
97
  }))));
95
- };
98
+ }, InterActOrderMarkerPropsAreEqual);
@@ -36,6 +36,7 @@ var OrdersContentHeader = exports.OrdersContentHeader = function OrdersContentHe
36
36
  handleChangeSearch = props.handleChangeSearch,
37
37
  searchValue = props.searchValue,
38
38
  driverGroupList = props.driverGroupList,
39
+ assignableDriverGroupList = props.assignableDriverGroupList,
39
40
  driversList = props.driversList,
40
41
  citiesList = props.citiesList,
41
42
  paymethodsList = props.paymethodsList,
@@ -84,6 +85,7 @@ var OrdersContentHeader = exports.OrdersContentHeader = function OrdersContentHe
84
85
  }, /*#__PURE__*/_react.default.createElement(_styles2.WrapperHeaderFilterGroup, null, /*#__PURE__*/_react.default.createElement(_OrdersHeaderFilterGroup.OrdersHeaderFilterGroup, {
85
86
  isSelectedOrders: isSelectedOrders,
86
87
  driverGroupList: driverGroupList,
88
+ assignableDriverGroupList: assignableDriverGroupList,
87
89
  driversList: driversList,
88
90
  searchValue: searchValue,
89
91
  handleChangeFilterValues: handleChangeFilterValues,
@@ -49,7 +49,8 @@ var OrdersDashboardList = exports.OrdersDashboardList = function OrdersDashboard
49
49
  isSearchByCustomerPhone: isShowSearchFilters,
50
50
  isSearchByDriverName: isShowSearchFilters,
51
51
  isSearchByBusinessName: true,
52
- driverId: props.driverId
52
+ driverId: props.driverId,
53
+ getDriversByControls: true
53
54
  });
54
55
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isMessagesView ? /*#__PURE__*/_react.default.createElement(_orderingComponentsAdminExternal.DashboardOrdersList, _extends({
55
56
  isMessagesView: true
@@ -275,8 +275,8 @@ var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
275
275
  }
276
276
  })), /*#__PURE__*/_react.default.createElement(_styles2.WrapperRow, null, /*#__PURE__*/_react.default.createElement(_DriversGroupTypeSelector.DriversGroupTypeSelector, {
277
277
  driverGroupList: driverGroupList,
278
- handleChangeGroup: handleChangeGroup,
279
- filterValues: filterValues.groupTypes,
278
+ handleChangeGroup: handleChangeGroupUnassigned,
279
+ filterValues: filterValues.groupTypesUnassigned,
280
280
  title: t('DRIVER_GROUP_ASSIGNED', 'Driver group (assigned)')
281
281
  }), /*#__PURE__*/_react.default.createElement(_BusinessesSelector.BusinessesSelector, {
282
282
  filterValues: filterValues,
@@ -27,17 +27,15 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
27
27
  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; } }
28
28
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
29
  var OrdersHeaderFilterGroupUI = function OrdersHeaderFilterGroupUI(props) {
30
- var _configs$filter_order, _dictionary$EXTERNAL_;
30
+ var _configs$filter_order, _dictionary$EXTERNAL_, _dictionary$DRIVER_GR;
31
31
  var filterValues = props.filterValues,
32
- searchValue = props.searchValue,
33
- driverGroupList = props.driverGroupList,
34
32
  driversList = props.driversList,
35
33
  handleChangeDriver = props.handleChangeDriver,
36
34
  handleChangeFilterValues = props.handleChangeFilterValues,
37
35
  handleChangeExternalId = props.handleChangeExternalId,
38
- handleChangeGroupUnassigned = props.handleChangeGroupUnassigned,
39
- handleChangeSearch = props.handleChangeSearch,
40
- isSelectedOrders = props.isSelectedOrders;
36
+ handleChangeGroup = props.handleChangeGroup,
37
+ isSelectedOrders = props.isSelectedOrders,
38
+ assignableDriverGroupList = props.assignableDriverGroupList;
41
39
  var _useLanguage = (0, _orderingComponentsAdminExternal.useLanguage)(),
42
40
  _useLanguage2 = _slicedToArray(_useLanguage, 1),
43
41
  dictionary = _useLanguage2[0].dictionary;
@@ -105,22 +103,11 @@ var OrdersHeaderFilterGroupUI = function OrdersHeaderFilterGroupUI(props) {
105
103
  drivers: driversList.drivers,
106
104
  filterValues: filterValues,
107
105
  handleChangeDriver: handleChangeDriver
108
- }), !loading && configFilter.includes('driver_group_general') &&
109
- /*#__PURE__*/
110
- // <DriversGroupTypeSelector
111
- // driverGroupList={driverGroupList}
112
- // handleChangeGroup={handleChangeGroupUnassigned}
113
- // filterValues={filterValues.groupTypesUnassigned}
114
- // title={dictionary?.DRIVER_GROUP_NOT_ASSIGNED ?? 'Driver group (general)'}
115
- // />
116
- _react.default.createElement(_Shared.SearchBar, {
117
- customClass: "external_id",
118
- isCustomLayout: true,
119
- hideSearchIcon: true,
120
- lazyLoad: true,
121
- onSearch: handleChangeSearch,
122
- search: searchValue || '',
123
- placeholder: (dictionary === null || dictionary === void 0 ? void 0 : dictionary.SEARCH_BY_STORE_NAME) || 'Store name'
106
+ }), !loading && configFilter.includes('driver_group') && /*#__PURE__*/_react.default.createElement(_DriversGroupTypeSelector.DriversGroupTypeSelector, {
107
+ driverGroupList: assignableDriverGroupList,
108
+ handleChangeGroup: handleChangeGroup,
109
+ filterValues: filterValues.driverGroupBusinessIds,
110
+ title: (_dictionary$DRIVER_GR = dictionary === null || dictionary === void 0 ? void 0 : dictionary.DRIVER_GROUP_ASSIGNABLE) !== null && _dictionary$DRIVER_GR !== void 0 ? _dictionary$DRIVER_GR : 'Driver group (assignable)'
124
111
  })));
125
112
  };
126
113
  var OrdersHeaderFilterGroup = exports.OrdersHeaderFilterGroup = function OrdersHeaderFilterGroup(props) {
@@ -10,7 +10,7 @@ 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 && {}.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%;\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) {
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: 300px;\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;
@@ -18,7 +18,6 @@ var _OrdersDashboard = require("../OrdersDashboard");
18
18
  var _OrderStatusSubFilter = require("../OrderStatusSubFilter");
19
19
  var _OrderNotification = require("../OrderNotification");
20
20
  var _WizardOrders = require("../WizardOrders");
21
- var _OrdersHeaderFilterGroup = require("../OrdersHeaderFilterGroup");
22
21
  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); }
23
22
  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; }
24
23
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -37,6 +36,7 @@ var OrdersManagerUI = function OrdersManagerUI(props) {
37
36
  isSelectedOrders = props.isSelectedOrders,
38
37
  searchValue = props.searchValue,
39
38
  driverGroupList = props.driverGroupList,
39
+ assignableDriverGroupList = props.assignableDriverGroupList,
40
40
  driversList = props.driversList,
41
41
  paymethodsList = props.paymethodsList,
42
42
  businessesList = props.businessesList,
@@ -62,7 +62,8 @@ var OrdersManagerUI = function OrdersManagerUI(props) {
62
62
  setAllowColumns = props.setAllowColumns,
63
63
  timeStatus = props.timeStatus,
64
64
  setTimeStatus = props.setTimeStatus,
65
- isUseQuery = props.isUseQuery;
65
+ isUseQuery = props.isUseQuery,
66
+ disableDriverLocationsSockets = props.disableDriverLocationsSockets;
66
67
  var _useLanguage = (0, _orderingComponentsAdminExternal.useLanguage)(),
67
68
  _useLanguage2 = _slicedToArray(_useLanguage, 2),
68
69
  t = _useLanguage2[1];
@@ -215,6 +216,7 @@ var OrdersManagerUI = function OrdersManagerUI(props) {
215
216
  isSelectedOrders: isSelectedOrders,
216
217
  title: t('ORDERS_LIST', 'Orders list'),
217
218
  searchValue: searchValue,
219
+ assignableDriverGroupList: assignableDriverGroupList,
218
220
  driverGroupList: driverGroupList,
219
221
  driversList: driversList,
220
222
  citiesList: citiesList,
@@ -233,7 +235,8 @@ var OrdersManagerUI = function OrdersManagerUI(props) {
233
235
  setFilterModalOpen: setFilterModalOpen,
234
236
  setTimeStatus: setTimeStatus,
235
237
  setSlaSettingTime: setSlaSettingTime,
236
- isLateralBar: isLateralBar
238
+ isLateralBar: isLateralBar,
239
+ disableDriverLocationsSockets: disableDriverLocationsSockets
237
240
  }), /*#__PURE__*/_react.default.createElement(_OrderStatusFilterBar.OrderStatusFilterBar, {
238
241
  isUseQuery: isUseQuery,
239
242
  selectedOrderStatus: ordersStatusGroup,
@@ -12,6 +12,11 @@ var _styles = require("./styles");
12
12
  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
13
  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; }
14
14
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
20
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
21
  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."); }
17
22
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -38,6 +43,28 @@ var PaymethodTypeSelector = exports.PaymethodTypeSelector = function PaymethodTy
38
43
  value: 'default',
39
44
  content: /*#__PURE__*/_react.default.createElement(_styles.Option, null, t('PAYMETHODS_LOADING', 'Paymethods loading'), "...")
40
45
  }];
46
+ var _useState5 = (0, _react.useState)({
47
+ currentPage: 1,
48
+ pageSize: 5,
49
+ totalItems: null,
50
+ totalPages: null
51
+ }),
52
+ _useState6 = _slicedToArray(_useState5, 2),
53
+ pagination = _useState6[0],
54
+ setPagination = _useState6[1];
55
+ var handleChangePage = function handleChangePage(page) {
56
+ setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
57
+ currentPage: page
58
+ }));
59
+ };
60
+ var handleChangePageSize = function handleChangePageSize(pageSize) {
61
+ var expectedPage = Math.ceil((((pagination === null || pagination === void 0 ? void 0 : pagination.currentPage) - 1) * (pagination === null || pagination === void 0 ? void 0 : pagination.pageSize) + 1) / pageSize);
62
+ setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
63
+ currentPage: expectedPage,
64
+ pageSize: pageSize,
65
+ totalPages: Math.ceil((paymethodsTypes === null || paymethodsTypes === void 0 ? void 0 : paymethodsTypes.length) / pageSize)
66
+ }));
67
+ };
41
68
  (0, _react.useEffect)(function () {
42
69
  var _paymthodsOptionList = [];
43
70
  if (!paymethodsList.loading) {
@@ -65,6 +92,14 @@ var PaymethodTypeSelector = exports.PaymethodTypeSelector = function PaymethodTy
65
92
  }
66
93
  setPaymethodsTypes(_paymthodsOptionList);
67
94
  }, [paymethodsList, searchValue]);
95
+ (0, _react.useEffect)(function () {
96
+ if (paymethodsTypes !== null && paymethodsTypes !== void 0 && paymethodsTypes.length) {
97
+ setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
98
+ totalItems: paymethodsTypes === null || paymethodsTypes === void 0 ? void 0 : paymethodsTypes.length,
99
+ totalPages: Math.ceil((paymethodsTypes === null || paymethodsTypes === void 0 ? void 0 : paymethodsTypes.length) / 10)
100
+ }));
101
+ }
102
+ }, [paymethodsTypes]);
68
103
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !paymethodsList.loading ? /*#__PURE__*/_react.default.createElement(_MultiSelect.MultiSelect, {
69
104
  defaultValue: filterValues.paymethodIds,
70
105
  placeholder: placeholder,
@@ -79,7 +114,11 @@ var PaymethodTypeSelector = exports.PaymethodTypeSelector = function PaymethodTy
79
114
  searchValue: searchValue,
80
115
  handleChangeSearch: function handleChangeSearch(val) {
81
116
  return setSearchValue(val);
82
- }
117
+ },
118
+ isHidePagecontrol: true,
119
+ pagination: pagination,
120
+ handleChangePage: handleChangePage,
121
+ handleChangePageSize: handleChangePageSize
83
122
  }) : /*#__PURE__*/_react.default.createElement(_MultiSelect.MultiSelect, {
84
123
  defaultValue: "default",
85
124
  options: paymthodsLoading,
@@ -48,6 +48,28 @@ var CitySelectorUI = function CitySelectorUI(props) {
48
48
  var placeholder = /*#__PURE__*/_react.default.createElement(_styles.PlaceholderTitle, {
49
49
  isDefault: isDefault
50
50
  }, t('SELECT_CITY', 'Select City'));
51
+ var _useState5 = (0, _react.useState)({
52
+ currentPage: 1,
53
+ pageSize: 5,
54
+ totalItems: null,
55
+ totalPages: null
56
+ }),
57
+ _useState6 = _slicedToArray(_useState5, 2),
58
+ pagination = _useState6[0],
59
+ setPagination = _useState6[1];
60
+ var handleChangePage = function handleChangePage(page) {
61
+ setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
62
+ currentPage: page
63
+ }));
64
+ };
65
+ var handleChangePageSize = function handleChangePageSize(pageSize) {
66
+ var expectedPage = Math.ceil((((pagination === null || pagination === void 0 ? void 0 : pagination.currentPage) - 1) * (pagination === null || pagination === void 0 ? void 0 : pagination.pageSize) + 1) / pageSize);
67
+ setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
68
+ currentPage: expectedPage,
69
+ pageSize: pageSize,
70
+ totalPages: Math.ceil((cityOptions === null || cityOptions === void 0 ? void 0 : cityOptions.length) / pageSize)
71
+ }));
72
+ };
51
73
  (0, _react.useEffect)(function () {
52
74
  if (citiesList !== null && citiesList !== void 0 && citiesList.loading) return;
53
75
  var _cityOptions = citiesList === null || citiesList === void 0 ? void 0 : citiesList.cities.filter(function (option) {
@@ -73,6 +95,14 @@ var CitySelectorUI = function CitySelectorUI(props) {
73
95
  handleChangeCity(citiesList === null || citiesList === void 0 || (_citiesList$cities$ = citiesList.cities[0]) === null || _citiesList$cities$ === void 0 ? void 0 : _citiesList$cities$.id);
74
96
  }
75
97
  }, [cityOptions, isAddMode]);
98
+ (0, _react.useEffect)(function () {
99
+ if (cityOptions !== null && cityOptions !== void 0 && cityOptions.length) {
100
+ setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
101
+ totalItems: cityOptions === null || cityOptions === void 0 ? void 0 : cityOptions.length,
102
+ totalPages: Math.ceil((cityOptions === null || cityOptions === void 0 ? void 0 : cityOptions.length) / 10)
103
+ }));
104
+ }
105
+ }, [cityOptions]);
76
106
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, citiesList !== null && citiesList !== void 0 && citiesList.loading ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactLoadingSkeleton.default, {
77
107
  style: {
78
108
  height: '100%',
@@ -100,7 +130,11 @@ var CitySelectorUI = function CitySelectorUI(props) {
100
130
  searchValue: searchValue,
101
131
  handleChangeSearch: function handleChangeSearch(val) {
102
132
  return setSearchValue(val);
103
- }
133
+ },
134
+ isHidePagecontrol: true,
135
+ pagination: pagination,
136
+ handleChangePage: handleChangePage,
137
+ handleChangePageSize: handleChangePageSize
104
138
  })));
105
139
  };
106
140
  var CitySelector = exports.CitySelector = function CitySelector(props) {
@@ -52,9 +52,9 @@ var FilterValuesProvider = exports.FilterValuesProvider = function FilterValuesP
52
52
  customerEmail: null,
53
53
  customerCellphone: null,
54
54
  customerLastname: null,
55
- administratorIds: [],
56
55
  coupon: null,
57
- offerId: null
56
+ offerId: null,
57
+ administratorIds: []
58
58
  }),
59
59
  _useState2 = _slicedToArray(_useState, 2),
60
60
  filterValues = _useState2[0],
@@ -47,7 +47,8 @@ var MultiSelect = exports.MultiSelect = function MultiSelect(props) {
47
47
  handleChangePageSize = props.handleChangePageSize,
48
48
  useLazyPagination = props.useLazyPagination,
49
49
  isLoading = props.isLoading,
50
- optionsPosition = props.optionsPosition;
50
+ optionsPosition = props.optionsPosition,
51
+ isHidePagecontrol = props.isHidePagecontrol;
51
52
  var _useState = (0, _react.useState)(false),
52
53
  _useState2 = _slicedToArray(_useState, 2),
53
54
  open = _useState2[0],
@@ -195,6 +196,7 @@ var MultiSelect = exports.MultiSelect = function MultiSelect(props) {
195
196
  totalPages: pagination === null || pagination === void 0 ? void 0 : pagination.totalPages,
196
197
  handleChangePage: handlerChangePage,
197
198
  handleChangePageSize: handleChangePageSize,
198
- defaultPageSize: pagination === null || pagination === void 0 ? void 0 : pagination.pageSize
199
+ defaultPageSize: pagination === null || pagination === void 0 ? void 0 : pagination.pageSize,
200
+ isHidePagecontrol: isHidePagecontrol
199
201
  }))));
200
202
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-admin-external",
3
- "version": "1.43.64",
3
+ "version": "1.43.66",
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.40",
86
+ "ordering-components-admin-external": "1.43.42",
87
87
  "polished": "^3.6.7",
88
88
  "prop-types": "^15.7.2",
89
89
  "react-big-calendar": "^1.4.2",
@@ -233,7 +233,7 @@ export const MessagesListing = (props) => {
233
233
  const OrdersListControlProps = {
234
234
  ...props,
235
235
  UIComponent: MessagesListingUI,
236
- driversPropsToFetch: ['id', 'name', 'lastname', 'location', 'enabled', 'available', 'busy', 'driver_groups', 'assigned_orders_count', 'last_order_assigned_at', 'last_location_at', 'cellphone', 'photo', 'qualification']
236
+ driversPropsToFetch: ['id', 'name', 'lastname', 'location', 'enabled', 'available', 'busy', 'driver_groups.name', 'driver_groups.id', 'assigned_orders_count', 'last_order_assigned_at', 'last_location_at', 'cellphone', 'photo', 'qualification']
237
237
  }
238
238
  return <OrdersManageController {...OrdersListControlProps} />
239
239
  }
@@ -29,6 +29,29 @@ export const AdminsSelector = (props) => {
29
29
  const [searchValue, setSearchValue] = useState(null)
30
30
  const adminsLoading = [{ value: 'default', content: <Option small={small}>{t('LOADING', 'loading')}...</Option> }]
31
31
  const Placeholder = <PlaceholderTitle>{t('SELECT_ADMINISTRATOR', 'Select the administrator')}</PlaceholderTitle>
32
+ const [pagination, setPagination] = useState({
33
+ currentPage: 1,
34
+ pageSize: 5,
35
+ totalItems: null,
36
+ totalPages: null
37
+ })
38
+
39
+ const handleChangePage = (page) => {
40
+ setPagination({
41
+ ...pagination,
42
+ currentPage: page
43
+ })
44
+ }
45
+
46
+ const handleChangePageSize = (pageSize) => {
47
+ const expectedPage = Math.ceil(((pagination?.currentPage - 1) * pagination?.pageSize + 1) / pageSize)
48
+ setPagination({
49
+ ...pagination,
50
+ currentPage: expectedPage,
51
+ pageSize,
52
+ totalPages: Math.ceil(adminsMultiOptionList?.length / pageSize)
53
+ })
54
+ }
32
55
 
33
56
  useEffect(() => {
34
57
  if (!adminsList?.loading && adminsList?.admins?.length > 0) {
@@ -61,6 +84,16 @@ export const AdminsSelector = (props) => {
61
84
  }
62
85
  }, [adminsList, defaultValue, searchValue])
63
86
 
87
+ useEffect(() => {
88
+ if (adminsMultiOptionList?.length) {
89
+ setPagination({
90
+ ...pagination,
91
+ totalItems: adminsMultiOptionList?.length,
92
+ totalPages: Math.ceil(adminsMultiOptionList?.length / 10)
93
+ })
94
+ }
95
+ }, [adminsMultiOptionList])
96
+
64
97
  return (
65
98
  <>
66
99
  {!adminsList?.loading ? (
@@ -76,6 +109,10 @@ export const AdminsSelector = (props) => {
76
109
  searchBarIsNotLazyLoad
77
110
  searchValue={searchValue}
78
111
  handleChangeSearch={(val) => setSearchValue(val)}
112
+ isHidePagecontrol
113
+ pagination={pagination}
114
+ handleChangePage={handleChangePage}
115
+ handleChangePageSize={handleChangePageSize}
79
116
  />
80
117
  ) : (
81
118
  <MultiSelect
@@ -139,7 +139,7 @@ export const DriversManager = (props) => {
139
139
  const DriversControlProps = {
140
140
  ...props,
141
141
  asDashboard: true,
142
- propsToFetch: ['id', 'name', 'lastname', 'location', 'enabled', 'available', 'busy', 'driver_groups', 'assigned_orders_count', 'last_order_assigned_at', 'last_location_at', 'cellphone', 'photo', 'qualification'],
142
+ propsToFetch: ['id', 'name', 'lastname', 'location', 'enabled', 'available', 'busy', 'driver_groups.name', 'driver_groups.id', 'assigned_orders_count', 'photo'],
143
143
  UIComponent: DriversManagerUI
144
144
  }
145
145
  return (
@@ -57,7 +57,8 @@ const OrdersManagerUI = (props) => {
57
57
  allowColumns,
58
58
  setAllowColumns,
59
59
  isUseQuery,
60
- adminsList
60
+ adminsList,
61
+ assignableDriverGroupList
61
62
  } = props
62
63
 
63
64
  const [, t] = useLanguage()
@@ -203,6 +204,7 @@ const OrdersManagerUI = (props) => {
203
204
  isDisableControl={isSelectedOrders}
204
205
  title={t('ORDER_MANAGER', 'Orders manager')}
205
206
  searchValue={searchValue}
207
+ assignableDriverGroupList={assignableDriverGroupList}
206
208
  driverGroupList={driverGroupList}
207
209
  driversList={driversList}
208
210
  citiesList={citiesList}
@@ -368,7 +370,7 @@ export const AllInOne = (props) => {
368
370
  const OrdersListControlProps = {
369
371
  ...props,
370
372
  UIComponent: OrdersManagerUI,
371
- driversPropsToFetch: ['id', 'name', 'lastname', 'location', 'enabled', 'available', 'busy', 'driver_groups', 'assigned_orders_count', 'last_order_assigned_at', 'last_location_at', 'cellphone', 'photo', 'qualification']
373
+ driversPropsToFetch: ['id', 'name', 'lastname', 'location', 'enabled', 'available', 'busy', 'driver_groups.name', 'driver_groups.id', 'assigned_orders_count', 'photo']
372
374
  }
373
375
  return <OrdersManageController {...OrdersListControlProps} />
374
376
  }
@@ -23,6 +23,29 @@ export const BusinessesSelector = (props) => {
23
23
  const [, t] = useLanguage()
24
24
  const [businessTypes, setBusinessTypes] = useState([])
25
25
  const [searchValue, setSearchValue] = useState('')
26
+ const [pagination, setPagination] = useState({
27
+ currentPage: 1,
28
+ pageSize: 5,
29
+ totalItems: null,
30
+ totalPages: null
31
+ })
32
+
33
+ const handleChangePage = (page) => {
34
+ setPagination({
35
+ ...pagination,
36
+ currentPage: page
37
+ })
38
+ }
39
+
40
+ const handleChangePageSize = (pageSize) => {
41
+ const expectedPage = Math.ceil(((pagination?.currentPage - 1) * pagination?.pageSize + 1) / pageSize)
42
+ setPagination({
43
+ ...pagination,
44
+ currentPage: expectedPage,
45
+ pageSize,
46
+ totalPages: Math.ceil(businessTypes?.length / pageSize)
47
+ })
48
+ }
26
49
 
27
50
  const Placeholder = <PlaceholderTitle>{t('SELECT_BUSINESS', 'Select business')}</PlaceholderTitle>
28
51
  const businessesLoading = [{ value: 'default', content: <Option>{t('BUSINESSES_LOADING', 'Businesses loading')}...</Option> }]
@@ -64,6 +87,16 @@ export const BusinessesSelector = (props) => {
64
87
  setBusinessTypes(_businessesOptionList)
65
88
  }, [businessesList, searchValue])
66
89
 
90
+ useEffect(() => {
91
+ if (businessTypes?.length) {
92
+ setPagination({
93
+ ...pagination,
94
+ totalItems: businessTypes?.length,
95
+ totalPages: Math.ceil(businessTypes?.length / 10)
96
+ })
97
+ }
98
+ }, [businessTypes])
99
+
67
100
  return (
68
101
  <>
69
102
  {!businessesList.loading ? (
@@ -80,6 +113,10 @@ export const BusinessesSelector = (props) => {
80
113
  searchBarIsNotLazyLoad
81
114
  searchValue={searchValue}
82
115
  handleChangeSearch={(val) => setSearchValue(val)}
116
+ isHidePagecontrol
117
+ pagination={pagination}
118
+ handleChangePage={handleChangePage}
119
+ handleChangePageSize={handleChangePageSize}
83
120
  />
84
121
  ) : (
85
122
  <MultiSelect
@@ -15,6 +15,29 @@ const CountryFilterUI = (props) => {
15
15
 
16
16
  const [searchValue, setSearchValue] = useState('')
17
17
  const [countryTypes, setCountryTypes] = useState([])
18
+ const [pagination, setPagination] = useState({
19
+ currentPage: 1,
20
+ pageSize: 5,
21
+ totalItems: null,
22
+ totalPages: null
23
+ })
24
+
25
+ const handleChangePage = (page) => {
26
+ setPagination({
27
+ ...pagination,
28
+ currentPage: page
29
+ })
30
+ }
31
+
32
+ const handleChangePageSize = (pageSize) => {
33
+ const expectedPage = Math.ceil(((pagination?.currentPage - 1) * pagination?.pageSize + 1) / pageSize)
34
+ setPagination({
35
+ ...pagination,
36
+ currentPage: expectedPage,
37
+ pageSize,
38
+ totalPages: Math.ceil(countryTypes?.length / pageSize)
39
+ })
40
+ }
18
41
 
19
42
  const placeholder = (
20
43
  <PlaceholderTitle>
@@ -43,6 +66,16 @@ const CountryFilterUI = (props) => {
43
66
  setCountryTypes(_countryList)
44
67
  }, [countriesState, searchValue])
45
68
 
69
+ useEffect(() => {
70
+ if (countryTypes?.length) {
71
+ setPagination({
72
+ ...pagination,
73
+ totalItems: countryTypes?.length,
74
+ totalPages: Math.ceil(countryTypes?.length / 10)
75
+ })
76
+ }
77
+ }, [countryTypes])
78
+
46
79
  return (
47
80
  <>
48
81
  {!countriesState.loading ? (
@@ -57,6 +90,10 @@ const CountryFilterUI = (props) => {
57
90
  searchBarIsNotLazyLoad
58
91
  searchValue={searchValue}
59
92
  handleChangeSearch={(val) => setSearchValue(val)}
93
+ isHidePagecontrol
94
+ pagination={pagination}
95
+ handleChangePage={handleChangePage}
96
+ handleChangePageSize={handleChangePageSize}
60
97
  />
61
98
  ) : (
62
99
  <SkeletonWrapper>