ordering-ui-admin-external 1.45.14 → 1.45.16

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.
@@ -21,7 +21,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
21
21
  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; } }
22
22
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
23
23
  var AnalyticsMap = exports.AnalyticsMap = function AnalyticsMap(props) {
24
- var _Number, _configState$configs, _Number2, _configState$configs2, _configState$configs3, _configState$configs4, _theme$images;
24
+ var _configState$configs, _configState$configs2, _configState$configs3, _configState$configs4, _theme$images;
25
25
  var locationList = props.locationList;
26
26
  var _useConfig = (0, _orderingComponentsAdminExternal.useConfig)(),
27
27
  _useConfig2 = _slicedToArray(_useConfig, 1),
@@ -35,8 +35,8 @@ var AnalyticsMap = exports.AnalyticsMap = function AnalyticsMap(props) {
35
35
  isHeat = _useState2[0],
36
36
  setIsHeat = _useState2[1];
37
37
  var defaultCenter = {
38
- lat: (_Number = Number((_configState$configs = configState.configs) === null || _configState$configs === void 0 || (_configState$configs = _configState$configs.location_default_latitude) === null || _configState$configs === void 0 ? void 0 : _configState$configs.value)) !== null && _Number !== void 0 ? _Number : 40.77473399999999,
39
- lng: (_Number2 = Number((_configState$configs2 = configState.configs) === null || _configState$configs2 === void 0 || (_configState$configs2 = _configState$configs2.location_default_longitude) === null || _configState$configs2 === void 0 ? void 0 : _configState$configs2.value)) !== null && _Number2 !== void 0 ? _Number2 : -73.9653844
38
+ lat: Number((_configState$configs = configState.configs) === null || _configState$configs === void 0 || (_configState$configs = _configState$configs.location_default_latitude) === null || _configState$configs === void 0 ? void 0 : _configState$configs.value) || 40.77473399999999,
39
+ lng: Number((_configState$configs2 = configState.configs) === null || _configState$configs2 === void 0 || (_configState$configs2 = _configState$configs2.location_default_longitude) === null || _configState$configs2 === void 0 ? void 0 : _configState$configs2.value) || -73.9653844
40
40
  };
41
41
  var googleMapsControls = {
42
42
  defaultZoom: 15,
@@ -50,6 +50,9 @@ var AnalyticsMap = exports.AnalyticsMap = function AnalyticsMap(props) {
50
50
  mapTypeIds: ['roadmap', 'satellite']
51
51
  }
52
52
  };
53
+ var validLocations = locationList !== null && locationList !== void 0 && locationList.locations && Array.isArray(locationList.locations) ? locationList.locations.filter(function (location) {
54
+ return location && typeof location.lat !== 'undefined' && typeof location.lng !== 'undefined' && !isNaN(Number(location.lat)) && !isNaN(Number(location.lng));
55
+ }) : [];
53
56
  (0, _react.useEffect)(function () {
54
57
  setIsHeat(false);
55
58
  }, [locationList]);
@@ -58,15 +61,18 @@ var AnalyticsMap = exports.AnalyticsMap = function AnalyticsMap(props) {
58
61
  }) : /*#__PURE__*/_react.default.createElement(_styles.WrapperMap, null, (configState === null || configState === void 0 || (_configState$configs3 = configState.configs) === null || _configState$configs3 === void 0 || (_configState$configs3 = _configState$configs3.google_maps_api_key) === null || _configState$configs3 === void 0 ? void 0 : _configState$configs3.value) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_orderingComponentsAdminExternal.GoogleMapsMap, {
59
62
  apiKey: configState === null || configState === void 0 || (_configState$configs4 = configState.configs) === null || _configState$configs4 === void 0 || (_configState$configs4 = _configState$configs4.google_maps_api_key) === null || _configState$configs4 === void 0 ? void 0 : _configState$configs4.value,
60
63
  location: defaultCenter,
61
- locations: locationList === null || locationList === void 0 ? void 0 : locationList.locations,
64
+ locations: validLocations,
62
65
  mapControls: googleMapsControls,
63
66
  isHeatMap: true,
64
67
  isHeat: isHeat,
65
- markerIcon: 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.mapMarker
68
+ markerIcon: 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.mapMarker,
69
+ onError: function onError(error) {
70
+ return console.error('Google Maps error:', error);
71
+ }
66
72
  }), /*#__PURE__*/_react.default.createElement(_styles2.Button, {
67
73
  borderRadius: "7.6px",
68
74
  color: "primary",
69
- disabled: locationList.loading,
75
+ disabled: locationList.loading || validLocations.length === 0,
70
76
  onClick: function onClick() {
71
77
  return setIsHeat(!isHeat);
72
78
  }
@@ -280,6 +280,13 @@ var MessagesUI = exports.MessagesUI = function MessagesUI(props) {
280
280
  if (messages.messages[messages.messages.length - 1].read) return;
281
281
  handleReadMessages(messages.messages[messages.messages.length - 1].id);
282
282
  };
283
+ var getAuthor = function getAuthor(message) {
284
+ if (message !== null && message !== void 0 && message.author_id) {
285
+ var _message$author, _message$author2, _message$author3;
286
+ return ((message === null || message === void 0 || (_message$author = message.author) === null || _message$author === void 0 ? void 0 : _message$author.name) || '') + (message !== null && message !== void 0 && (_message$author2 = message.author) !== null && _message$author2 !== void 0 && _message$author2.lastname ? ' ' + (message === null || message === void 0 || (_message$author3 = message.author) === null || _message$author3 === void 0 ? void 0 : _message$author3.lastname) : '');
287
+ }
288
+ return t('AUTHOR_SYSTEM', 'System');
289
+ };
283
290
  (0, _react.useEffect)(function () {
284
291
  if (!isChat) return;
285
292
  if (order !== null && order !== void 0 && order.driver) {
@@ -306,7 +313,8 @@ var MessagesUI = exports.MessagesUI = function MessagesUI(props) {
306
313
  if (messages.loading) return;
307
314
  var _filteredMessages = messages.messages.filter(function (message) {
308
315
  if (message.type === 2) {
309
- return message.comment.toLocaleLowerCase().includes(messageSearchValue.toLocaleLowerCase());
316
+ var _message$comment;
317
+ return message === null || message === void 0 || (_message$comment = message.comment) === null || _message$comment === void 0 || (_message$comment = _message$comment.toLocaleLowerCase()) === null || _message$comment === void 0 ? void 0 : _message$comment.includes(messageSearchValue === null || messageSearchValue === void 0 ? void 0 : messageSearchValue.toLocaleLowerCase());
310
318
  }
311
319
  return true;
312
320
  });
@@ -421,7 +429,7 @@ var MessagesUI = exports.MessagesUI = function MessagesUI(props) {
421
429
  })), tabActive === 'logistic_information' && /*#__PURE__*/_react.default.createElement(_styles.WrapperLogisticInformation, null, /*#__PURE__*/_react.default.createElement(_OrderLogisticInformation.OrderLogisticInformation, {
422
430
  orderId: order.id
423
431
  }))), filteredMessages.length > 0 && filteredMessages.map(function (message) {
424
- var _message$author, _message$author2, _message$author3, _message$author4, _order$business2, _order$customer2, _order$driver2, _order$business3, _order$customer3, _order$driver3, _order$business4, _order$customer4, _order$driver4, _order$business5, _order$customer5, _order$driver5;
432
+ var _order$business2, _order$customer2, _order$driver2, _order$business3, _order$customer3, _order$driver3, _order$business4, _order$customer4, _order$driver4, _order$business5, _order$customer5, _order$driver5;
425
433
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
426
434
  key: message.id
427
435
  }, history && tabActive === 'order_history' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, message.type === 0 && /*#__PURE__*/_react.default.createElement(_styles.MessageConsole, {
@@ -432,7 +440,7 @@ var MessagesUI = exports.MessagesUI = function MessagesUI(props) {
432
440
  utc: false
433
441
  }) + " (".concat(t('BUSINESS_TIME', 'Business time'), ")")) + '</b>').replace('_via_', '<b>' + t(order.app_id ? order.app_id.toUpperCase() : 'OTHER') + '</b>')
434
442
  }
435
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('APP_ID', 'App ID'), ": "), message === null || message === void 0 ? void 0 : message.app_id), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('AUTHOR', 'Author'), ": "), message === null || message === void 0 || (_message$author = message.author) === null || _message$author === void 0 ? void 0 : _message$author.name, " ", message === null || message === void 0 || (_message$author2 = message.author) === null || _message$author2 === void 0 ? void 0 : _message$author2.lastname), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('USER_AGENT', 'User agent'), ": "), message === null || message === void 0 ? void 0 : message.user_agent), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('IP', 'IP'), ": "), message === null || message === void 0 ? void 0 : message.ip), /*#__PURE__*/_react.default.createElement(_styles.TimeofSent, null, getTimeAgo(message === null || message === void 0 ? void 0 : message.created_at)))), message.type === 1 && /*#__PURE__*/_react.default.createElement(_styles.MessageConsole, {
443
+ }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('APP_ID', 'App ID'), ": "), message === null || message === void 0 ? void 0 : message.app_id), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('AUTHOR', 'Author'), ": "), getAuthor(message)), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('USER_AGENT', 'User agent'), ": "), message === null || message === void 0 ? void 0 : message.user_agent), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('IP', 'IP'), ": "), message === null || message === void 0 ? void 0 : message.ip), /*#__PURE__*/_react.default.createElement(_styles.TimeofSent, null, getTimeAgo(message === null || message === void 0 ? void 0 : message.created_at)))), message.type === 1 && /*#__PURE__*/_react.default.createElement(_styles.MessageConsole, {
436
444
  key: message.id,
437
445
  style: {
438
446
  display: "".concat(tabActive === 'order_history' ? 'inline-flex' : 'none')
@@ -446,7 +454,7 @@ var MessagesUI = exports.MessagesUI = function MessagesUI(props) {
446
454
  overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, null, parseDate(message.created_at))
447
455
  }, /*#__PURE__*/_react.default.createElement(_styles.TimeofSent, null, getTimeAgo(message.created_at)))))), isChat && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, message.type === 0 && /*#__PURE__*/_react.default.createElement(_styles.MessageConsole, {
448
456
  key: message.id
449
- }, /*#__PURE__*/_react.default.createElement(_styles.BubbleConsole, null, /*#__PURE__*/_react.default.createElement("p", null, t('ORDER_PLACED_FOR', 'Order placed for'), " ", ' ', /*#__PURE__*/_react.default.createElement("strong", null, parseDate(order.created_at)), " ", ' ', t('VIA', 'Via'), ' ', /*#__PURE__*/_react.default.createElement("strong", null, order.app_id ? t(order.app_id.toUpperCase(), order.app_id) : t('OTHER', 'Other')), ' '), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('APP_ID', 'App ID'), ": "), message === null || message === void 0 ? void 0 : message.app_id), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('AUTHOR', 'Author'), ": "), message === null || message === void 0 || (_message$author3 = message.author) === null || _message$author3 === void 0 ? void 0 : _message$author3.name, " ", message === null || message === void 0 || (_message$author4 = message.author) === null || _message$author4 === void 0 ? void 0 : _message$author4.lastname), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('USER_AGENT', 'User agent'), ": "), message === null || message === void 0 ? void 0 : message.user_agent), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('IP', 'IP'), ": "), message === null || message === void 0 ? void 0 : message.ip), /*#__PURE__*/_react.default.createElement(_styles.TimeofSent, null, getTimeAgo(message === null || message === void 0 ? void 0 : message.created_at)))), message.type === 1 && /*#__PURE__*/_react.default.createElement(_styles.MessageConsole, {
457
+ }, /*#__PURE__*/_react.default.createElement(_styles.BubbleConsole, null, /*#__PURE__*/_react.default.createElement("p", null, t('ORDER_PLACED_FOR', 'Order placed for'), " ", ' ', /*#__PURE__*/_react.default.createElement("strong", null, parseDate(order.created_at)), " ", ' ', t('VIA', 'Via'), ' ', /*#__PURE__*/_react.default.createElement("strong", null, order.app_id ? t(order.app_id.toUpperCase(), order.app_id) : t('OTHER', 'Other')), ' '), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('APP_ID', 'App ID'), ": "), message === null || message === void 0 ? void 0 : message.app_id), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('AUTHOR', 'Author'), ": "), getAuthor(message)), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('USER_AGENT', 'User agent'), ": "), message === null || message === void 0 ? void 0 : message.user_agent), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, t('IP', 'IP'), ": "), message === null || message === void 0 ? void 0 : message.ip), /*#__PURE__*/_react.default.createElement(_styles.TimeofSent, null, getTimeAgo(message === null || message === void 0 ? void 0 : message.created_at)))), message.type === 1 && /*#__PURE__*/_react.default.createElement(_styles.MessageConsole, {
450
458
  key: message.id,
451
459
  style: {
452
460
  display: "".concat(tabActive === 'order_history' ? 'inline-flex' : 'none')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-admin-external",
3
- "version": "1.45.14",
3
+ "version": "1.45.16",
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.68",
86
+ "ordering-components-admin-external": "1.43.70",
87
87
  "polished": "^3.6.7",
88
88
  "prop-types": "^15.7.2",
89
89
  "react-big-calendar": "^1.4.2",
@@ -18,8 +18,8 @@ export const AnalyticsMap = (props) => {
18
18
  const [isHeat, setIsHeat] = useState(false)
19
19
 
20
20
  const defaultCenter = {
21
- lat: Number(configState.configs?.location_default_latitude?.value) ?? 40.77473399999999,
22
- lng: Number(configState.configs?.location_default_longitude?.value) ?? -73.9653844
21
+ lat: Number(configState.configs?.location_default_latitude?.value) || 40.77473399999999,
22
+ lng: Number(configState.configs?.location_default_longitude?.value) || -73.9653844
23
23
  }
24
24
 
25
25
  const googleMapsControls = {
@@ -34,6 +34,16 @@ export const AnalyticsMap = (props) => {
34
34
  }
35
35
  }
36
36
 
37
+ const validLocations = locationList?.locations && Array.isArray(locationList.locations)
38
+ ? locationList.locations.filter(location =>
39
+ location &&
40
+ typeof location.lat !== 'undefined' &&
41
+ typeof location.lng !== 'undefined' &&
42
+ !isNaN(Number(location.lat)) &&
43
+ !isNaN(Number(location.lng))
44
+ )
45
+ : []
46
+
37
47
  useEffect(() => {
38
48
  setIsHeat(false)
39
49
  }, [locationList])
@@ -50,16 +60,17 @@ export const AnalyticsMap = (props) => {
50
60
  <GoogleMapsMap
51
61
  apiKey={configState?.configs?.google_maps_api_key?.value}
52
62
  location={defaultCenter}
53
- locations={locationList?.locations}
63
+ locations={validLocations}
54
64
  mapControls={googleMapsControls}
55
65
  isHeatMap
56
66
  isHeat={isHeat}
57
67
  markerIcon={theme?.images?.icons?.mapMarker}
68
+ onError={(error) => console.error('Google Maps error:', error)}
58
69
  />
59
70
  <Button
60
71
  borderRadius='7.6px'
61
72
  color='primary'
62
- disabled={locationList.loading}
73
+ disabled={locationList.loading || validLocations.length === 0}
63
74
  onClick={() => setIsHeat(!isHeat)}
64
75
  >
65
76
  {isHeat ? t('GROUPED', 'Grouped') : t('HEATMAP', 'Heatmap')}
@@ -267,6 +267,13 @@ export const MessagesUI = (props) => {
267
267
  handleReadMessages(messages.messages[messages.messages.length - 1].id)
268
268
  }
269
269
 
270
+ const getAuthor = (message) => {
271
+ if (message?.author_id) {
272
+ return (message?.author?.name || '') + (message?.author?.lastname ? ' ' + message?.author?.lastname : '')
273
+ }
274
+ return t('AUTHOR_SYSTEM', 'System')
275
+ }
276
+
270
277
  useEffect(() => {
271
278
  if (!isChat) return
272
279
  if (order?.driver) {
@@ -285,7 +292,7 @@ export const MessagesUI = (props) => {
285
292
  if (messages.loading) return
286
293
  const _filteredMessages = messages.messages.filter(message => {
287
294
  if (message.type === 2) {
288
- return message.comment.toLocaleLowerCase().includes(messageSearchValue.toLocaleLowerCase())
295
+ return message?.comment?.toLocaleLowerCase()?.includes(messageSearchValue?.toLocaleLowerCase())
289
296
  }
290
297
  return true
291
298
  })
@@ -484,7 +491,7 @@ export const MessagesUI = (props) => {
484
491
  }}
485
492
  />
486
493
  <div><strong>{t('APP_ID', 'App ID')}: </strong>{message?.app_id}</div>
487
- <div><strong>{t('AUTHOR', 'Author')}: </strong>{message?.author?.name} {message?.author?.lastname}</div>
494
+ <div><strong>{t('AUTHOR', 'Author')}: </strong>{getAuthor(message)}</div>
488
495
  <div><strong>{t('USER_AGENT', 'User agent')}: </strong>{message?.user_agent}</div>
489
496
  <div><strong>{t('IP', 'IP')}: </strong>{message?.ip}</div>
490
497
  <TimeofSent>{getTimeAgo(message?.created_at)}</TimeofSent>
@@ -526,7 +533,7 @@ export const MessagesUI = (props) => {
526
533
  </strong>{' '}
527
534
  </p>
528
535
  <div><strong>{t('APP_ID', 'App ID')}: </strong>{message?.app_id}</div>
529
- <div><strong>{t('AUTHOR', 'Author')}: </strong>{message?.author?.name} {message?.author?.lastname}</div>
536
+ <div><strong>{t('AUTHOR', 'Author')}: </strong>{getAuthor(message)}</div>
530
537
  <div><strong>{t('USER_AGENT', 'User agent')}: </strong>{message?.user_agent}</div>
531
538
  <div><strong>{t('IP', 'IP')}: </strong>{message?.ip}</div>
532
539
  <TimeofSent>{getTimeAgo(message?.created_at)}</TimeofSent>