ordering-components-external 13.1.7 → 13.1.8

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 (550) hide show
  1. package/.babelrc +22 -22
  2. package/.vscode/settings.json +3 -3
  3. package/_bundles/{0.ordering-component.949cbfb0cbd9c20d005d.js → 0.ordering-component.94a28b3a5bfb4d729a1b.js} +1 -1
  4. package/_bundles/{1.ordering-component.949cbfb0cbd9c20d005d.js → 1.ordering-component.94a28b3a5bfb4d729a1b.js} +1 -1
  5. package/_bundles/{7.ordering-component.949cbfb0cbd9c20d005d.js → 7.ordering-component.94a28b3a5bfb4d729a1b.js} +1 -1
  6. package/_bundles/ordering-component.94a28b3a5bfb4d729a1b.js +2 -0
  7. package/_modules/components/AddressDetails/index.js +34 -34
  8. package/_modules/components/AddressForm/index.js +59 -59
  9. package/_modules/components/AddressList/index.js +52 -52
  10. package/_modules/components/Analitycs/index.js +11 -11
  11. package/_modules/components/AnalyticsSegment/index.js +10 -10
  12. package/_modules/components/AppleLogin/index.js +35 -35
  13. package/_modules/components/BaseComponent/index.js +15 -15
  14. package/_modules/components/BusinessAndProductList/index.js +28 -28
  15. package/_modules/components/BusinessBasicInformation/index.js +28 -28
  16. package/_modules/components/BusinessController/index.js +62 -62
  17. package/_modules/components/BusinessInformation/BusinessOption/index.js +22 -22
  18. package/_modules/components/BusinessInformation/index.js +24 -24
  19. package/_modules/components/BusinessList/index.js +54 -54
  20. package/_modules/components/BusinessMenuListing/index.js +29 -29
  21. package/_modules/components/BusinessProductsCategories/index.js +18 -18
  22. package/_modules/components/BusinessProductsSearch/index.js +16 -16
  23. package/_modules/components/BusinessReviews/index.js +36 -36
  24. package/_modules/components/BusinessSearchList/index.js +30 -30
  25. package/_modules/components/BusinessSortControl/index.js +34 -34
  26. package/_modules/components/BusinessTypeFilter/index.js +35 -35
  27. package/_modules/components/BusinessesMap/index.js +33 -33
  28. package/_modules/components/Cart/index.js +47 -47
  29. package/_modules/components/CartStoresListing/index.js +13 -13
  30. package/_modules/components/Checkout/index.js +72 -72
  31. package/_modules/components/CmsContent/index.js +29 -29
  32. package/_modules/components/Contacts/index.js +36 -36
  33. package/_modules/components/CouponControl/index.js +29 -29
  34. package/_modules/components/DragAndDrop/index.js +4 -4
  35. package/_modules/components/DriverList/index.js +30 -30
  36. package/_modules/components/DriverTips/index.js +41 -41
  37. package/_modules/components/Emitter/index.js +3 -3
  38. package/_modules/components/FacebookLoginButton/index.js +49 -49
  39. package/_modules/components/FacebookPixel/index.js +8 -8
  40. package/_modules/components/FavoriteList/index.js +40 -40
  41. package/_modules/components/FirebaseGoogleLoginButton/index.js +19 -19
  42. package/_modules/components/FloatingButton/index.js +22 -22
  43. package/_modules/components/ForgotPasswordForm/index.js +52 -52
  44. package/_modules/components/GiftCard/GiftCardOrdersList/index.js +13 -13
  45. package/_modules/components/GiftCard/PurchaseGiftCard/index.js +15 -15
  46. package/_modules/components/GiftCard/RedeemGiftCard/index.js +13 -13
  47. package/_modules/components/GiftCard/SendGiftCard/index.js +13 -13
  48. package/_modules/components/GoogleAutocompleteInput/index.js +25 -25
  49. package/_modules/components/GoogleIdentity/index.js +37 -37
  50. package/_modules/components/GoogleLoginButton/index.js +58 -58
  51. package/_modules/components/GoogleMaps/index.js +44 -44
  52. package/_modules/components/GpsButton/index.js +27 -27
  53. package/_modules/components/LanguageSelector/index.js +37 -37
  54. package/_modules/components/LoginForm/index.js +67 -67
  55. package/_modules/components/LogoutAction/index.js +110 -36
  56. package/_modules/components/MainSearch/index.js +40 -40
  57. package/_modules/components/MapView/index.js +10 -10
  58. package/_modules/components/MenuControl/index.js +58 -58
  59. package/_modules/components/Messages/index.js +34 -34
  60. package/_modules/components/MomentOption/index.js +57 -57
  61. package/_modules/components/MultiCartCreate/index.js +9 -9
  62. package/_modules/components/MultiCartsPaymethodsAndWallets/index.js +20 -20
  63. package/_modules/components/MultiCheckout/index.js +24 -24
  64. package/_modules/components/MultiOrdersDetails/index.js +18 -18
  65. package/_modules/components/MyOrders/index.js +33 -33
  66. package/_modules/components/MyOrdersList/index.js +34 -34
  67. package/_modules/components/NewOrderNotification/index.js +8 -8
  68. package/_modules/components/OrderChange/index.js +29 -29
  69. package/_modules/components/OrderDetails/index.js +55 -55
  70. package/_modules/components/OrderList/index.js +56 -56
  71. package/_modules/components/OrderListGroups/index.js +12 -12
  72. package/_modules/components/OrderReview/index.js +31 -31
  73. package/_modules/components/OrderTypeControl/index.js +23 -23
  74. package/_modules/components/OrderVerticalList/index.js +11 -11
  75. package/_modules/components/OrdersControlFilters/index.js +14 -14
  76. package/_modules/components/OrdersDashboardComponents/Appointments/index.js +13 -13
  77. package/_modules/components/OrdersDashboardComponents/BusinessProductsListing/index.js +38 -38
  78. package/_modules/components/OrdersDashboardComponents/CheckPassword/index.js +33 -33
  79. package/_modules/components/OrdersDashboardComponents/CityList/index.js +32 -32
  80. package/_modules/components/OrdersDashboardComponents/CountryList/index.js +29 -29
  81. package/_modules/components/OrdersDashboardComponents/CustomOrderDetails/index.js +21 -21
  82. package/_modules/components/OrdersDashboardComponents/DashboardBusinessList/index.js +67 -67
  83. package/_modules/components/OrdersDashboardComponents/DashboardOrdersList/index.js +71 -71
  84. package/_modules/components/OrdersDashboardComponents/DriversList/index.js +69 -69
  85. package/_modules/components/OrdersDashboardComponents/ExportCSV/index.js +25 -25
  86. package/_modules/components/OrdersDashboardComponents/GiftCardsList/index.js +15 -15
  87. package/_modules/components/OrdersDashboardComponents/GoogleMapsApiKeySetting/index.js +13 -13
  88. package/_modules/components/OrdersDashboardComponents/LogisticInformation/index.js +28 -28
  89. package/_modules/components/OrdersDashboardComponents/Logistics/index.js +28 -28
  90. package/_modules/components/OrdersDashboardComponents/Messages/index.js +39 -39
  91. package/_modules/components/OrdersDashboardComponents/MetaFields/index.js +37 -37
  92. package/_modules/components/OrdersDashboardComponents/OrderDetails/index.js +47 -47
  93. package/_modules/components/OrdersDashboardComponents/OrderNotification/index.js +19 -19
  94. package/_modules/components/OrdersDashboardComponents/OrdersFilter/index.js +73 -73
  95. package/_modules/components/OrdersDashboardComponents/OrdersManage/index.js +68 -68
  96. package/_modules/components/OrdersDashboardComponents/PointsWalletLevels/index.js +37 -37
  97. package/_modules/components/OrdersDashboardComponents/ReviewCustomer/index.js +25 -25
  98. package/_modules/components/OrdersDashboardComponents/Schedule/index.js +56 -56
  99. package/_modules/components/OrdersDashboardComponents/SettingsList/index.js +50 -50
  100. package/_modules/components/OrdersDashboardComponents/UserFormDetails/index.js +80 -80
  101. package/_modules/components/OrdersDashboardComponents/UsersList/index.js +65 -65
  102. package/_modules/components/OrdersDashboardComponents/WebsocketStatus/index.js +10 -10
  103. package/_modules/components/PageBanner/index.js +16 -16
  104. package/_modules/components/PaymentOptionCash/index.js +26 -26
  105. package/_modules/components/PaymentOptionPaypal/index.js +32 -32
  106. package/_modules/components/PaymentOptionSquare/index.js +10 -10
  107. package/_modules/components/PaymentOptionStripe/index.js +41 -41
  108. package/_modules/components/PaymentOptionStripeDirect/index.js +32 -32
  109. package/_modules/components/PaymentOptionStripeRedirect/StripeRedirectForm/index.js +23 -23
  110. package/_modules/components/PaymentOptionStripeRedirect/index.js +38 -38
  111. package/_modules/components/PaymentOptionWallet/index.js +8 -8
  112. package/_modules/components/PaymentOptions/index.js +36 -36
  113. package/_modules/components/PaymethodList/index.js +29 -29
  114. package/_modules/components/PhoneAutocomplete/index.js +27 -27
  115. package/_modules/components/PlaceSpot/index.js +13 -13
  116. package/_modules/components/Popup/index.js +38 -38
  117. package/_modules/components/ProductComponent/index.js +36 -36
  118. package/_modules/components/ProductForm/index.js +130 -130
  119. package/_modules/components/ProductImages/index.js +20 -20
  120. package/_modules/components/ProductIngredient/index.js +19 -19
  121. package/_modules/components/ProductItemAccordion/index.js +15 -15
  122. package/_modules/components/ProductOption/index.js +9 -9
  123. package/_modules/components/ProductOptionSuboption/index.js +36 -36
  124. package/_modules/components/ProductShare/index.js +26 -26
  125. package/_modules/components/ProductsList/index.js +26 -26
  126. package/_modules/components/ProductsListing/index.js +48 -48
  127. package/_modules/components/ProfessionalInfo/index.js +32 -32
  128. package/_modules/components/PromotionsController/index.js +8 -8
  129. package/_modules/components/QueryLoginSpoonity/index.js +29 -29
  130. package/_modules/components/ReCaptcha/index.js +9 -9
  131. package/_modules/components/ResetPassword/index.js +29 -29
  132. package/_modules/components/ReviewCustomer/index.js +25 -25
  133. package/_modules/components/ReviewDriver/index.js +29 -29
  134. package/_modules/components/ReviewProduct/index.js +34 -34
  135. package/_modules/components/SearchOptions/index.js +23 -23
  136. package/_modules/components/Sessions/index.js +30 -30
  137. package/_modules/components/SignupForm/index.js +66 -66
  138. package/_modules/components/SingleBusinessCard/index.js +29 -29
  139. package/_modules/components/SingleOrderCard/index.js +30 -30
  140. package/_modules/components/SingleProductCard/index.js +27 -27
  141. package/_modules/components/SingleProfessionalCard/index.js +27 -27
  142. package/_modules/components/SmartAppBanner/index.js +13 -13
  143. package/_modules/components/StoreProductList/index.js +34 -34
  144. package/_modules/components/StripeElementsForm/CardForm/index.js +34 -34
  145. package/_modules/components/StripeElementsForm/index.js +24 -24
  146. package/_modules/components/UpsellingPage/index.js +26 -26
  147. package/_modules/components/UserFormDetails/index.js +79 -79
  148. package/_modules/components/UserVerification/index.js +24 -24
  149. package/_modules/components/WalletList/index.js +8 -8
  150. package/_modules/components/WebsocketStatus/index.js +10 -10
  151. package/_modules/components/WrapperGoogleMaps/index.js +9 -9
  152. package/_modules/contexts/ApiContext/index.js +13 -13
  153. package/_modules/contexts/BillingContext/index.js +7 -7
  154. package/_modules/contexts/BusinessContext/index.js +16 -16
  155. package/_modules/contexts/ConfigContext/index.js +17 -17
  156. package/_modules/contexts/CustomerContext/index.js +7 -7
  157. package/_modules/contexts/EventContext/index.js +9 -9
  158. package/_modules/contexts/LanguageContext/index.js +20 -20
  159. package/_modules/contexts/OptimizationLoadContext/index.js +15 -15
  160. package/_modules/contexts/OrderContext/index.js +72 -72
  161. package/_modules/contexts/OrderingContext/index.js +7 -7
  162. package/_modules/contexts/OrderingThemeContext/index.js +18 -18
  163. package/_modules/contexts/ProductContext/index.js +14 -14
  164. package/_modules/contexts/SessionContext/index.js +16 -16
  165. package/_modules/contexts/SiteContext/index.js +16 -16
  166. package/_modules/contexts/ToastContext/index.js +4 -4
  167. package/_modules/contexts/UtilsContext/index.js +14 -14
  168. package/_modules/contexts/ValidationsFieldsContext/index.js +7 -7
  169. package/_modules/contexts/WebsocketContext/index.js +16 -16
  170. package/_modules/contexts/WebsocketContext/socket.js +4 -4
  171. package/_modules/native/src/NativeStrategy/index.js +6 -6
  172. package/_modules/native/src/contexts/OrderingContext/index.js +7 -7
  173. package/_modules/webStrategy/index.js +5 -5
  174. package/cypress/fixtures/example.json +4 -4
  175. package/cypress/integration/naked/BusinessProductsCategories.spec.js +9 -9
  176. package/cypress/integration/naked/PhoneAutocomplete.spec.js +22 -22
  177. package/cypress/integration/naked/activeOrders.spec.js +15 -15
  178. package/cypress/integration/naked/addressDetails.spec.js +10 -10
  179. package/cypress/integration/naked/appleLogin.spec.js +14 -14
  180. package/cypress/integration/naked/businessBasicInformation.spec.js +14 -14
  181. package/cypress/integration/naked/businessController.spec.js +9 -9
  182. package/cypress/integration/naked/businessInformation.spec.js +19 -19
  183. package/cypress/integration/naked/businessProductsSearch.spec.js +9 -9
  184. package/cypress/integration/naked/businessReviews.spec.js +16 -16
  185. package/cypress/integration/naked/businessSortControl.spec.js +9 -9
  186. package/cypress/integration/naked/businessTypeFilter.spec.js +10 -10
  187. package/cypress/integration/naked/businessesMap.spec.js +13 -13
  188. package/cypress/integration/naked/cms.spec.js +9 -9
  189. package/cypress/integration/naked/config.spec.js +34 -34
  190. package/cypress/integration/naked/driverTips.spec.js +10 -10
  191. package/cypress/integration/naked/events.spec.js +13 -13
  192. package/cypress/integration/naked/facebookLogin.spec.js +13 -13
  193. package/cypress/integration/naked/floatingButton.spec.js +13 -13
  194. package/cypress/integration/naked/forgotPassword.spec.js +20 -20
  195. package/cypress/integration/naked/googleLogin.spec.js +11 -11
  196. package/cypress/integration/naked/languageExamples.spec.js +25 -25
  197. package/cypress/integration/naked/languageSelector.spec.js +10 -10
  198. package/cypress/integration/naked/login.spec.js +38 -38
  199. package/cypress/integration/naked/logout.spec.js +15 -15
  200. package/cypress/integration/naked/mainSearch.spec.js +9 -9
  201. package/cypress/integration/naked/menuControl.spec.js +9 -9
  202. package/cypress/integration/naked/messages.spec.js +25 -25
  203. package/cypress/integration/naked/momentOption.spec.js +10 -10
  204. package/cypress/integration/naked/myOrders.spec.js +11 -11
  205. package/cypress/integration/naked/myOrdersList.spec.js +9 -9
  206. package/cypress/integration/naked/orderContextAdvanced.spec.js +23 -23
  207. package/cypress/integration/naked/orderDetails.spec.js +11 -11
  208. package/cypress/integration/naked/paymentOptionCash.spec.js +21 -21
  209. package/cypress/integration/naked/paymentOptionStripe.spec.js +11 -11
  210. package/cypress/integration/naked/paymentOptionStripeDirect.spec.js +11 -11
  211. package/cypress/integration/naked/paymentOptions.spec.js +9 -9
  212. package/cypress/integration/naked/popupExample.spec.js +17 -17
  213. package/cypress/integration/naked/productImages.spec.js +11 -11
  214. package/cypress/integration/naked/productOptionExample.spec.js +21 -21
  215. package/cypress/integration/naked/productShare.spec.js +9 -9
  216. package/cypress/integration/naked/productsList.spec.js +9 -9
  217. package/cypress/integration/naked/resetPassword.spec.js +11 -11
  218. package/cypress/integration/naked/reviewOrders.spec.js +13 -13
  219. package/cypress/integration/naked/searchOptions.spec.js +18 -18
  220. package/cypress/integration/naked/signup.spec.js +31 -31
  221. package/cypress/integration/naked/upselling.spec.js +13 -13
  222. package/cypress/integration/naked/userDetails.spec.js +12 -12
  223. package/cypress/plugins/index.js +21 -21
  224. package/cypress/support/commands.js +35 -35
  225. package/cypress/support/index.js +20 -20
  226. package/cypress.json +12 -12
  227. package/example/App.js +263 -263
  228. package/example/components/ActiveOrdersUI/index.js +72 -72
  229. package/example/components/AddressDetailsUI/index.js +101 -101
  230. package/example/components/AddressFormUI/index.js +161 -161
  231. package/example/components/AddressListUI/index.js +33 -33
  232. package/example/components/AlertPopup/index.js +10 -10
  233. package/example/components/AlertUI/index.js +49 -49
  234. package/example/components/AlertUI/style.css +5 -5
  235. package/example/components/AppleLoginUI/index.js +40 -40
  236. package/example/components/BaseComponentUI/index.js +34 -34
  237. package/example/components/BusinessBasicInformationUI/index.js +118 -118
  238. package/example/components/BusinessControllerUI/index.js +89 -89
  239. package/example/components/BusinessInformationUI/BusinessOptionUI/index.js +83 -83
  240. package/example/components/BusinessInformationUI/index.js +83 -83
  241. package/example/components/BusinessProductsCategoriesUI/index.js +42 -42
  242. package/example/components/BusinessProductsSearchUI/index.js +38 -38
  243. package/example/components/BusinessReviewsUI/index.js +77 -77
  244. package/example/components/BusinessSortControlUI/index.js +47 -47
  245. package/example/components/BusinessTypeFilterUI/index.js +53 -53
  246. package/example/components/BusinessesMapUI/index.js +57 -57
  247. package/example/components/CartUI/index.js +154 -154
  248. package/example/components/ChangeView/index.js +19 -19
  249. package/example/components/CheckoutUI/index.js +206 -206
  250. package/example/components/CmsContentUI/index.js +52 -52
  251. package/example/components/ConfigsExample/index.js +118 -118
  252. package/example/components/CouponControlUI/index.js +63 -63
  253. package/example/components/DriverTipsUI/index.js +58 -58
  254. package/example/components/FacebookLoginButtonUI/index.js +48 -48
  255. package/example/components/FloatingButtonUI/index.js +145 -145
  256. package/example/components/ForgotPasswordFormUI/index.js +93 -93
  257. package/example/components/GoogleLoginUI/index.js +30 -30
  258. package/example/components/GpsButtonUI/index.js +22 -22
  259. package/example/components/Header/index.js +18 -18
  260. package/example/components/LanguageSelectorUI/index.js +57 -57
  261. package/example/components/LanguagesExample/index.js +51 -51
  262. package/example/components/LoginFormUI/index.js +159 -159
  263. package/example/components/LogoutButtonUI/index.js +21 -21
  264. package/example/components/MainSearchUI/index.js +131 -131
  265. package/example/components/MenuControlUI/index.js +103 -103
  266. package/example/components/MessagesUI/index.js +162 -162
  267. package/example/components/ModalUI/index.js +36 -36
  268. package/example/components/ModalUI/style.css +5 -5
  269. package/example/components/MomentOptionUI/index.js +68 -68
  270. package/example/components/MyOrdersListUI/index.js +51 -51
  271. package/example/components/MyOrdersUI/index.js +52 -52
  272. package/example/components/OrderChangeUI/index.js +54 -54
  273. package/example/components/OrderDetailsUI/index.js +174 -174
  274. package/example/components/OrderReviewUI/index.js +125 -125
  275. package/example/components/OrderTypeControlUI/index.js +32 -32
  276. package/example/components/PaymentOptionCashUI/index.js +60 -60
  277. package/example/components/PaymentOptionPaypalUI/index.js +50 -50
  278. package/example/components/PaymentOptionStripeDirectUI/index.js +89 -89
  279. package/example/components/PaymentOptionStripeRedirectUI/index.js +97 -97
  280. package/example/components/PaymentOptionStripeUI/index.js +129 -129
  281. package/example/components/PaymentOptionsUI/index.js +169 -169
  282. package/example/components/PhoneAutocompleteUI/index.js +67 -67
  283. package/example/components/PhoneAutocompleteUI/styles.css +49 -49
  284. package/example/components/ProductComponentUI/index.js +113 -113
  285. package/example/components/ProductFormUI/index.js +131 -131
  286. package/example/components/ProductImagesUI/index.js +82 -82
  287. package/example/components/ProductIngredientUI/index.js +21 -21
  288. package/example/components/ProductOptionSuboptionUI/index.js +65 -65
  289. package/example/components/ProductOptionUI/index.js +31 -31
  290. package/example/components/ProductShareUI/index.js +48 -48
  291. package/example/components/ProductsListUI/index.js +108 -108
  292. package/example/components/ProductsListingUI/index.js +42 -42
  293. package/example/components/ResetPasswordUI/index.js +121 -121
  294. package/example/components/SearchOptionsUI/index.js +82 -82
  295. package/example/components/SignupFormUI/index.js +117 -117
  296. package/example/components/SingleBusinessCardUI/index.js +82 -82
  297. package/example/components/SingleOrderCardUI/index.js +52 -52
  298. package/example/components/SingleProductCardUI/index.js +47 -47
  299. package/example/components/StripeElementsFormUI/CardFormUI/index.js +51 -51
  300. package/example/components/StripeElementsFormUI/CardFormUI/style.css +118 -118
  301. package/example/components/StripeElementsFormUI/index.js +38 -38
  302. package/example/components/StripeRedirectFormUI/index.js +99 -99
  303. package/example/components/TestComponent/index.js +5 -5
  304. package/example/components/UpsellingPageUI/index.js +26 -26
  305. package/example/components/UserDetailsUI/index.js +94 -94
  306. package/example/components/UserProfileUI/index.js +156 -156
  307. package/example/views/ActiveOrders/index.js +86 -86
  308. package/example/views/AddressDetailsExample/index.js +57 -57
  309. package/example/views/AppleLoginExample/index.js +51 -51
  310. package/example/views/BaseComponentExample/index.js +35 -35
  311. package/example/views/BusinessBasicInformationExample/index.js +43 -43
  312. package/example/views/BusinessControllerExample/index.js +55 -55
  313. package/example/views/BusinessInformationExample/index.js +68 -68
  314. package/example/views/BusinessProductsCategoriesExample/index.js +50 -50
  315. package/example/views/BusinessProductsSearchExample/index.js +39 -39
  316. package/example/views/BusinessReviewsExample/index.js +43 -43
  317. package/example/views/BusinessSortControlExample/index.js +53 -53
  318. package/example/views/BusinessTypeFilterExample/index.js +53 -53
  319. package/example/views/BusinessesMapExample/index.js +57 -57
  320. package/example/views/CheckoutExample/index.js +143 -143
  321. package/example/views/CmsContentExample/index.js +44 -44
  322. package/example/views/DriverTipsExample/index.js +47 -47
  323. package/example/views/EventsExample/index.js +26 -26
  324. package/example/views/FacebookLogin/index.js +63 -63
  325. package/example/views/FloatingButtonExample/index.js +47 -47
  326. package/example/views/ForgotPassword/index.js +77 -77
  327. package/example/views/GoogleLoginExample/index.js +85 -85
  328. package/example/views/Home/index.js +200 -200
  329. package/example/views/LanguageSelectorExample/index.js +55 -55
  330. package/example/views/Login/index.js +84 -84
  331. package/example/views/MainSearchExample/index.js +43 -43
  332. package/example/views/MenuControlExample/index.js +68 -68
  333. package/example/views/MessagesExample/index.js +58 -58
  334. package/example/views/MomentOptionExample/index.js +52 -52
  335. package/example/views/MyOrdersExample/index.js +35 -35
  336. package/example/views/MyOrdersListExample/index.js +50 -50
  337. package/example/views/OrderChangeExample/index.js +46 -46
  338. package/example/views/OrderContextExample/index.js +139 -139
  339. package/example/views/OrderDetailsExample/index.js +50 -50
  340. package/example/views/OrderReviewExample/index.js +64 -64
  341. package/example/views/PaymentOptionCashExample/index.js +51 -51
  342. package/example/views/PaymentOptionPaypalExample/index.js +71 -71
  343. package/example/views/PaymentOptionStripeDirectExample/index.js +43 -43
  344. package/example/views/PaymentOptionStripeExample/index.js +47 -47
  345. package/example/views/PaymentOptionStripeRedirectExample/index.js +56 -56
  346. package/example/views/PaymentOptionsExample/index.js +47 -47
  347. package/example/views/PhoneAutocompleteExample/index.js +34 -34
  348. package/example/views/PlacesExample/index.js +94 -94
  349. package/example/views/PopupExample/index.js +78 -78
  350. package/example/views/PopupExample/style.css +18 -18
  351. package/example/views/ProductDetail/index.js +323 -323
  352. package/example/views/ProductImagesExample/index.js +43 -43
  353. package/example/views/ProductOptionExample/index.js +88 -88
  354. package/example/views/ProductShareExample/index.js +51 -51
  355. package/example/views/ProductsListExample/index.js +77 -77
  356. package/example/views/ProductsListingExample/index.js +47 -47
  357. package/example/views/ResetPasswordExample/index.js +60 -60
  358. package/example/views/SearchOptionsExample/index.js +42 -42
  359. package/example/views/SessionManager/index.js +122 -122
  360. package/example/views/Signup/index.js +64 -64
  361. package/example/views/UpsellingPageExample/index.js +35 -35
  362. package/example/views/UserDetailsExample/index.js +69 -69
  363. package/example/views/UserProfile/index.js +73 -73
  364. package/index-example.js +23 -23
  365. package/index.html +13 -13
  366. package/native/index.js +257 -257
  367. package/native/src/NativeStrategy/index.js +20 -20
  368. package/native/src/contexts/OrderingContext/index.js +85 -85
  369. package/package.json +92 -92
  370. package/src/components/AddressDetails/index.js +149 -149
  371. package/src/components/AddressForm/index.js +372 -372
  372. package/src/components/AddressList/index.js +254 -254
  373. package/src/components/Analitycs/index.js +119 -119
  374. package/src/components/AnalyticsSegment/index.js +145 -145
  375. package/src/components/AppleLogin/index.js +164 -164
  376. package/src/components/BaseComponent/index.js +52 -52
  377. package/src/components/BusinessAndProductList/index.js +982 -982
  378. package/src/components/BusinessBasicInformation/index.js +119 -119
  379. package/src/components/BusinessController/index.js +351 -351
  380. package/src/components/BusinessInformation/BusinessOption/index.js +86 -86
  381. package/src/components/BusinessInformation/index.js +93 -93
  382. package/src/components/BusinessList/index.js +670 -670
  383. package/src/components/BusinessMenuListing/index.js +99 -99
  384. package/src/components/BusinessProductsCategories/index.js +60 -60
  385. package/src/components/BusinessProductsSearch/index.js +54 -54
  386. package/src/components/BusinessReviews/index.js +187 -187
  387. package/src/components/BusinessSearchList/index.js +363 -363
  388. package/src/components/BusinessSortControl/index.js +100 -100
  389. package/src/components/BusinessTypeFilter/index.js +142 -142
  390. package/src/components/BusinessesMap/index.js +110 -110
  391. package/src/components/Cart/index.js +211 -211
  392. package/src/components/CartStoresListing/index.js +157 -157
  393. package/src/components/Checkout/index.js +636 -636
  394. package/src/components/CmsContent/index.js +97 -97
  395. package/src/components/Contacts/index.js +512 -512
  396. package/src/components/CouponControl/index.js +171 -171
  397. package/src/components/DragAndDrop/index.js +41 -41
  398. package/src/components/DriverList/index.js +112 -112
  399. package/src/components/DriverTips/index.js +141 -141
  400. package/src/components/Emitter/index.js +36 -36
  401. package/src/components/ExamineClick/index.js +40 -40
  402. package/src/components/FacebookLoginButton/index.js +214 -214
  403. package/src/components/FacebookPixel/index.js +148 -148
  404. package/src/components/FavoriteList/index.js +278 -278
  405. package/src/components/FirebaseGoogleLoginButton/index.js +93 -93
  406. package/src/components/FloatingButton/index.js +70 -70
  407. package/src/components/ForgotPasswordForm/index.js +180 -180
  408. package/src/components/GiftCard/GiftCardOrdersList/index.js +155 -155
  409. package/src/components/GiftCard/PurchaseGiftCard/index.js +127 -127
  410. package/src/components/GiftCard/RedeemGiftCard/index.js +77 -77
  411. package/src/components/GiftCard/SendGiftCard/index.js +83 -83
  412. package/src/components/GoogleAutocompleteInput/index.js +154 -154
  413. package/src/components/GoogleIdentity/index.js +144 -144
  414. package/src/components/GoogleLoginButton/index.js +276 -276
  415. package/src/components/GoogleMaps/index.js +499 -499
  416. package/src/components/GpsButton/index.js +127 -127
  417. package/src/components/LanguageSelector/index.js +163 -163
  418. package/src/components/LoginForm/index.js +527 -527
  419. package/src/components/LogoutAction/index.js +211 -165
  420. package/src/components/MainSearch/index.js +149 -149
  421. package/src/components/MapView/index.js +110 -110
  422. package/src/components/MenuControl/index.js +238 -238
  423. package/src/components/Messages/index.js +166 -166
  424. package/src/components/MomentOption/index.js +322 -322
  425. package/src/components/MultiCartCreate/index.js +70 -70
  426. package/src/components/MultiCartsPaymethodsAndWallets/index.js +201 -201
  427. package/src/components/MultiCheckout/index.js +375 -375
  428. package/src/components/MultiOrdersDetails/index.js +109 -109
  429. package/src/components/MyOrders/index.js +150 -150
  430. package/src/components/MyOrdersList/index.js +104 -104
  431. package/src/components/NewOrderNotification/index.js +30 -30
  432. package/src/components/OrderChange/index.js +128 -128
  433. package/src/components/OrderDetails/index.js +684 -684
  434. package/src/components/OrderList/index.js +800 -800
  435. package/src/components/OrderListGroups/index.js +1240 -1240
  436. package/src/components/OrderReview/index.js +180 -180
  437. package/src/components/OrderTypeControl/index.js +75 -75
  438. package/src/components/OrderVerticalList/index.js +422 -422
  439. package/src/components/OrdersControlFilters/index.js +75 -75
  440. package/src/components/OrdersDashboardComponents/Appointments/index.js +72 -72
  441. package/src/components/OrdersDashboardComponents/BusinessProductsListing/index.js +629 -629
  442. package/src/components/OrdersDashboardComponents/CheckPassword/index.js +177 -177
  443. package/src/components/OrdersDashboardComponents/CityList/index.js +98 -98
  444. package/src/components/OrdersDashboardComponents/CountryList/index.js +162 -162
  445. package/src/components/OrdersDashboardComponents/CustomOrderDetails/index.js +238 -238
  446. package/src/components/OrdersDashboardComponents/DashboardBusinessList/index.js +617 -617
  447. package/src/components/OrdersDashboardComponents/DashboardOrdersList/index.js +943 -943
  448. package/src/components/OrdersDashboardComponents/DriversList/index.js +448 -448
  449. package/src/components/OrdersDashboardComponents/ExportCSV/index.js +192 -192
  450. package/src/components/OrdersDashboardComponents/GiftCardsList/index.js +189 -189
  451. package/src/components/OrdersDashboardComponents/GoogleMapsApiKeySetting/index.js +77 -77
  452. package/src/components/OrdersDashboardComponents/LogisticInformation/index.js +97 -97
  453. package/src/components/OrdersDashboardComponents/Logistics/index.js +174 -174
  454. package/src/components/OrdersDashboardComponents/Messages/index.js +384 -384
  455. package/src/components/OrdersDashboardComponents/MetaFields/index.js +186 -186
  456. package/src/components/OrdersDashboardComponents/OrderDetails/index.js +404 -404
  457. package/src/components/OrdersDashboardComponents/OrderNotification/index.js +70 -70
  458. package/src/components/OrdersDashboardComponents/OrdersFilter/index.js +362 -362
  459. package/src/components/OrdersDashboardComponents/OrdersManage/index.js +873 -873
  460. package/src/components/OrdersDashboardComponents/PointsWalletLevels/index.js +123 -123
  461. package/src/components/OrdersDashboardComponents/ReviewCustomer/index.js +113 -113
  462. package/src/components/OrdersDashboardComponents/Schedule/index.js +315 -315
  463. package/src/components/OrdersDashboardComponents/SettingsList/index.js +298 -298
  464. package/src/components/OrdersDashboardComponents/UserFormDetails/index.js +463 -463
  465. package/src/components/OrdersDashboardComponents/UsersList/index.js +944 -944
  466. package/src/components/OrdersDashboardComponents/WebsocketStatus/index.js +77 -77
  467. package/src/components/OrdersDashboardComponents/index.js +57 -57
  468. package/src/components/PageBanner/index.js +107 -107
  469. package/src/components/PaymentOptionCash/index.js +74 -74
  470. package/src/components/PaymentOptionPaypal/index.js +146 -146
  471. package/src/components/PaymentOptionSquare/index.js +336 -336
  472. package/src/components/PaymentOptionStripe/index.js +289 -289
  473. package/src/components/PaymentOptionStripeDirect/index.js +116 -116
  474. package/src/components/PaymentOptionStripeRedirect/StripeRedirectForm/index.js +71 -71
  475. package/src/components/PaymentOptionStripeRedirect/index.js +122 -122
  476. package/src/components/PaymentOptionWallet/index.js +185 -185
  477. package/src/components/PaymentOptions/index.js +262 -262
  478. package/src/components/PaymethodList/index.js +119 -119
  479. package/src/components/PhoneAutocomplete/index.js +318 -318
  480. package/src/components/PlaceSpot/index.js +183 -183
  481. package/src/components/Popup/index.js +169 -169
  482. package/src/components/ProductComponent/index.js +269 -269
  483. package/src/components/ProductForm/index.js +1101 -1101
  484. package/src/components/ProductImages/index.js +64 -64
  485. package/src/components/ProductIngredient/index.js +72 -72
  486. package/src/components/ProductItemAccordion/index.js +72 -72
  487. package/src/components/ProductOption/index.js +42 -42
  488. package/src/components/ProductOptionSuboption/index.js +181 -181
  489. package/src/components/ProductShare/index.js +97 -97
  490. package/src/components/ProductsList/index.js +74 -74
  491. package/src/components/ProductsListing/index.js +166 -166
  492. package/src/components/ProfessionalInfo/index.js +156 -156
  493. package/src/components/PromotionsController/index.js +123 -123
  494. package/src/components/QueryLoginSpoonity/index.js +159 -159
  495. package/src/components/ReCaptcha/index.js +53 -53
  496. package/src/components/ResetPassword/index.js +111 -111
  497. package/src/components/ReviewCustomer/index.js +117 -117
  498. package/src/components/ReviewDriver/index.js +157 -157
  499. package/src/components/ReviewProduct/index.js +162 -162
  500. package/src/components/SearchOptions/index.js +69 -69
  501. package/src/components/Sessions/index.js +217 -217
  502. package/src/components/SignupForm/index.js +555 -555
  503. package/src/components/SingleBusinessCard/index.js +80 -80
  504. package/src/components/SingleOrderCard/index.js +160 -160
  505. package/src/components/SingleProductCard/index.js +130 -130
  506. package/src/components/SingleProfessionalCard/index.js +121 -121
  507. package/src/components/SmartAppBanner/index.js +71 -71
  508. package/src/components/StoreProductList/index.js +303 -303
  509. package/src/components/StripeElementsForm/CardForm/index.js +248 -248
  510. package/src/components/StripeElementsForm/index.js +78 -78
  511. package/src/components/UpsellingPage/index.js +120 -120
  512. package/src/components/UserFormDetails/index.js +742 -742
  513. package/src/components/UserVerification/index.js +242 -242
  514. package/src/components/WalletList/index.js +160 -160
  515. package/src/components/WebsocketStatus/index.js +80 -80
  516. package/src/components/WrapperGoogleMaps/index.js +67 -67
  517. package/src/constants/code-numbers.js +218 -218
  518. package/src/constants/timezones.js +427 -427
  519. package/src/contexts/ApiContext/index.js +59 -59
  520. package/src/contexts/BillingContext/index.js +28 -28
  521. package/src/contexts/BusinessContext/index.js +71 -71
  522. package/src/contexts/ConfigContext/index.js +217 -217
  523. package/src/contexts/CustomerContext/index.js +69 -69
  524. package/src/contexts/EventContext/index.js +31 -31
  525. package/src/contexts/LanguageContext/index.js +144 -144
  526. package/src/contexts/OptimizationLoadContext/index.js +95 -95
  527. package/src/contexts/OrderContext/index.js +1434 -1434
  528. package/src/contexts/OrderingContext/index.js +86 -86
  529. package/src/contexts/OrderingThemeContext/index.js +107 -107
  530. package/src/contexts/ProductContext/index.js +62 -62
  531. package/src/contexts/SessionContext/index.js +172 -172
  532. package/src/contexts/SiteContext/index.js +79 -79
  533. package/src/contexts/ToastContext/index.js +42 -42
  534. package/src/contexts/UtilsContext/index.js +352 -352
  535. package/src/contexts/ValidationsFieldsContext/index.js +65 -65
  536. package/src/contexts/WebsocketContext/index.js +91 -91
  537. package/src/contexts/WebsocketContext/socket.js +92 -92
  538. package/src/index.js +371 -371
  539. package/src/utils/index.js +32 -32
  540. package/src/webStrategy/index.js +18 -18
  541. package/webpack.dev.js +41 -41
  542. package/webpack.prod.js +64 -64
  543. package/_bundles/ordering-component.949cbfb0cbd9c20d005d.js +0 -2
  544. /package/_bundles/{2.ordering-component.949cbfb0cbd9c20d005d.js → 2.ordering-component.94a28b3a5bfb4d729a1b.js} +0 -0
  545. /package/_bundles/{4.ordering-component.949cbfb0cbd9c20d005d.js → 4.ordering-component.94a28b3a5bfb4d729a1b.js} +0 -0
  546. /package/_bundles/{5.ordering-component.949cbfb0cbd9c20d005d.js → 5.ordering-component.94a28b3a5bfb4d729a1b.js} +0 -0
  547. /package/_bundles/{6.ordering-component.949cbfb0cbd9c20d005d.js → 6.ordering-component.94a28b3a5bfb4d729a1b.js} +0 -0
  548. /package/_bundles/{7.ordering-component.949cbfb0cbd9c20d005d.js.LICENSE.txt → 7.ordering-component.94a28b3a5bfb4d729a1b.js.LICENSE.txt} +0 -0
  549. /package/_bundles/{8.ordering-component.949cbfb0cbd9c20d005d.js → 8.ordering-component.94a28b3a5bfb4d729a1b.js} +0 -0
  550. /package/_bundles/{ordering-component.949cbfb0cbd9c20d005d.js.LICENSE.txt → ordering-component.94a28b3a5bfb4d729a1b.js.LICENSE.txt} +0 -0
@@ -1,512 +1,512 @@
1
- import React, { useState, useEffect, useCallback } from 'react';
2
- import PropTypes, { string, object } from 'prop-types';
3
- import { useSession } from '../../contexts/SessionContext';
4
- import { useApi } from '../../contexts/ApiContext';
5
- import { useWebsocket } from '../../contexts/WebsocketContext';
6
-
7
- export const Contacts = (props) => {
8
- const {
9
- UIComponent,
10
- firstFetch,
11
- orderProps,
12
- businessProps,
13
- customerProps, // don't use because it prevents fetch "qualification"
14
- driverProps,
15
- businessConditions,
16
- customerConditions,
17
- driverConditions,
18
- sortParams,
19
- paginationSettings,
20
- conditionsConector,
21
- } = props;
22
-
23
- const params = {
24
- orderBy: (sortParams.direction === 'desc' ? '-' : '') + sortParams.param,
25
- };
26
-
27
- const [{ token, user }] = useSession();
28
- const [ordering] = useApi();
29
- const socket = useWebsocket();
30
-
31
- const [sortBy, setSortBy] = useState(sortParams);
32
- const [orders, setOrders] = useState({
33
- data: [],
34
- loading: true,
35
- error: null,
36
- });
37
- const [contacts, setContacts] = useState({
38
- data: [],
39
- loading: true,
40
- error: null,
41
- });
42
- const [pagination, setPagination] = useState({
43
- currentPage:
44
- paginationSettings.controlType === 'pages' &&
45
- paginationSettings.page &&
46
- paginationSettings.page >= 1
47
- ? paginationSettings.page - 1
48
- : 1,
49
- pageSize: paginationSettings.pageSize ?? 6,
50
- });
51
-
52
- const getOrders = async (nextPage) => {
53
- setOrders({
54
- data: nextPage ? orders.data : [],
55
- loading: true,
56
- error: null,
57
- });
58
-
59
- const parameters = {
60
- orderBy: (sortBy.direction === 'desc' ? '-' : '') + sortBy.param,
61
- };
62
- const pageFetch = {
63
- page: nextPage ? pagination.currentPage + 1 : paginationSettings.page,
64
- page_size: pagination.pageSize || paginationSettings.pageSize,
65
- };
66
-
67
- try {
68
- const {
69
- content: { result, error, pagination: pageConfig },
70
- } = await ordering
71
- .orders()
72
- .parameters(parameters)
73
- .asDashboard()
74
- .get({ query: pageFetch });
75
-
76
- if (!error) {
77
- let hash = {};
78
- setOrders({
79
- ...orders,
80
- data: nextPage
81
- ? orders.data
82
- .concat(result)
83
- .filter((order) =>
84
- hash[order?.id] ? false : (hash[order?.id] = true)
85
- )
86
- : result,
87
- loading: false,
88
- });
89
- setPagination({
90
- currentPage: pageConfig?.current_page,
91
- pageSize: pageConfig?.page_size,
92
- totalPages: pageConfig?.total_pages,
93
- total: pageConfig?.total,
94
- from: pageConfig?.from,
95
- to: pageConfig?.to,
96
- });
97
- } else {
98
- setOrders({ ...orders, loading: false, error: result[0] });
99
- }
100
- } catch (err) {
101
- setOrders({ ...orders, loading: false, error: [err.message] });
102
- }
103
- };
104
-
105
- /**
106
- * Method to get businesses from SDK
107
- */
108
- const getBusinesses = async (nextPage) => {
109
- setContacts({
110
- data: nextPage ? contacts.data : [],
111
- loading: true,
112
- error: null,
113
- });
114
-
115
- const where = {
116
- conditions: businessConditions,
117
- conector: conditionsConector,
118
- };
119
- const pageFetch = {
120
- page: nextPage ? pagination.currentPage + 1 : paginationSettings.page,
121
- page_size: pagination.pageSize || paginationSettings.pageSize,
122
- };
123
-
124
- try {
125
- const {
126
- content: { result, error, pagination: pageConfig },
127
- } = await ordering
128
- .businesses()
129
- .select(businessProps)
130
- .parameters(params)
131
- .where(where)
132
- .asDashboard()
133
- .get({ query: pageFetch });
134
-
135
- if (!error) {
136
- setContacts({
137
- ...contacts,
138
- data: nextPage ? contacts.data.concat(result) : result,
139
- loading: false,
140
- });
141
- setPagination({
142
- currentPage: pageConfig?.current_page,
143
- pageSize: pageConfig?.page_size,
144
- totalPages: pageConfig?.total_pages,
145
- total: pageConfig?.total,
146
- from: pageConfig?.from,
147
- to: pageConfig?.to,
148
- });
149
- } else {
150
- setContacts({ ...contacts, loading: false, error: result[0] });
151
- }
152
- } catch (err) {
153
- setContacts({ ...contacts, loading: false, error: err.message });
154
- }
155
- };
156
-
157
- /**
158
- * Method to get customers from SDK
159
- */
160
- const getCustomers = async (nextPage) => {
161
- setContacts({
162
- data: nextPage ? contacts.data : [],
163
- loading: true,
164
- error: null,
165
- });
166
-
167
- const where = {
168
- conditions: customerConditions,
169
- conector: conditionsConector,
170
- };
171
- const pageFetch = {
172
- page: nextPage ? pagination.currentPage + 1 : paginationSettings.page,
173
- page_size: pagination.pageSize || paginationSettings.pageSize,
174
- };
175
-
176
- try {
177
- const {
178
- content: { result, error, pagination: pageConfig },
179
- } = await ordering
180
- .setAccessToken(token)
181
- .users()
182
- .where(where)
183
- .get({ query: pageFetch });
184
-
185
- if (!error) {
186
- setContacts({
187
- ...contacts,
188
- data: nextPage ? contacts.data.concat(result) : result,
189
- loading: false,
190
- });
191
- setPagination({
192
- currentPage: pageConfig?.current_page,
193
- pageSize: pageConfig?.page_size,
194
- totalPages: pageConfig?.total_pages,
195
- total: pageConfig?.total,
196
- from: pageConfig?.from,
197
- to: pageConfig?.to,
198
- });
199
- } else {
200
- setContacts({ ...contacts, loading: false, error: result[0] });
201
- }
202
- } catch (err) {
203
- setContacts({ ...contacts, loading: false, error: err.message });
204
- }
205
- };
206
-
207
- /**
208
- * Method to get drivers from SDK
209
- */
210
- const getDrivers = async (nextPage) => {
211
- setContacts({
212
- data: nextPage ? contacts.data : [],
213
- loading: true,
214
- error: null,
215
- });
216
-
217
- const where = {
218
- conditions: driverConditions,
219
- conector: conditionsConector,
220
- };
221
- const pageFetch = {
222
- page: nextPage ? pagination.currentPage + 1 : paginationSettings.page,
223
- page_size: pagination.pageSize || paginationSettings.pageSize,
224
- };
225
-
226
- try {
227
- const {
228
- content: { result, error, pagination: pageConfig },
229
- } = await ordering
230
- .setAccessToken(token)
231
- .users()
232
- .select(driverProps)
233
- .where(where)
234
- .get({ query: pageFetch });
235
-
236
- if (!error) {
237
- setContacts({
238
- ...contacts,
239
- data: nextPage ? contacts.data.concat(result) : result,
240
- loading: false,
241
- });
242
- setPagination({
243
- currentPage: pageConfig?.current_page,
244
- pageSize: pageConfig?.page_size,
245
- totalPages: pageConfig?.total_pages,
246
- total: pageConfig?.total,
247
- from: pageConfig?.from,
248
- to: pageConfig?.to,
249
- });
250
- } else {
251
- setContacts({ ...contacts, loading: false, error: result[0] });
252
- }
253
- } catch (err) {
254
- setContacts({ ...contacts, loading: false, error: err.message });
255
- }
256
- };
257
-
258
- const loadMore = async (key) => {
259
- switch (key) {
260
- case 2:
261
- getBusinesses(true);
262
- break;
263
- case 3:
264
- getCustomers(true);
265
- break;
266
- case 4:
267
- getDrivers(true);
268
- break;
269
- default:
270
- getOrders(true);
271
- }
272
- };
273
-
274
- useEffect(() => {
275
- switch (firstFetch) {
276
- case 'businesses':
277
- getBusinesses();
278
- break;
279
- case 'customers':
280
- getCustomers();
281
- break;
282
- case 'drivers':
283
- getDrivers();
284
- break;
285
- default:
286
- getOrders();
287
- }
288
- }, []);
289
-
290
- useEffect(() => {
291
- if (!orders.loading) {
292
- getOrders();
293
- }
294
- }, [sortBy]);
295
-
296
- useEffect(() => {
297
- if (!token || !socket?.socket) return;
298
-
299
- const messagesOrdersRoom =
300
- user?.level === 0 ? 'messages_orders' : `messages_orders_${user?.id}`;
301
- const ordersRoom = user?.level === 0 ? 'orders' : `orders_${user?.id}`;
302
-
303
- socket.socket.on('connect', () => {
304
- socket.join(messagesOrdersRoom);
305
- socket.join(ordersRoom);
306
- })
307
-
308
- socket.join(messagesOrdersRoom);
309
- socket.join(ordersRoom);
310
-
311
- return () => {
312
- socket.leave(messagesOrdersRoom);
313
- socket.leave(ordersRoom);
314
- };
315
- }, [socket?.socket, user]);
316
-
317
- const handleMessage = useCallback(async (message) => {
318
- const { order_id: orderId } = message;
319
-
320
- try {
321
- const {
322
- content: { result, error },
323
- } = await ordering
324
- .setAccessToken(token)
325
- .orders(orderId)
326
- .asDashboard()
327
- .get();
328
-
329
- if (!error) {
330
- setOrders((prevOrders) => {
331
- const { data } = prevOrders;
332
-
333
- const order = data.find((order, index) => {
334
- if (order.id === parseInt(orderId)) {
335
- data.splice(index, 1);
336
- data.unshift(result);
337
- return true;
338
- }
339
-
340
- return false;
341
- });
342
-
343
- if (!order) {
344
- data.unshift(result);
345
- }
346
-
347
- return { ...prevOrders, data };
348
- });
349
- }
350
- } catch (err) {
351
- return null;
352
- }
353
- }, []);
354
-
355
- const handleOrder = useCallback(async (order) => {
356
- const { id, status, driver } = order;
357
-
358
- setOrders((prevOrders) => {
359
- const { data } = prevOrders;
360
-
361
- const newOrder = data.find((_order, index) => {
362
- if (_order.id === id) {
363
- if (_order.status !== status) {
364
- delete order.total;
365
- delete order.subtotal;
366
- Object.assign(_order, order);
367
- } else if (_order?.driver?.id !== driver?.id && user?.level === 4) {
368
- data.splice(index, 1);
369
- }
370
-
371
- return true;
372
- }
373
-
374
- return false;
375
- });
376
-
377
- if (!newOrder) {
378
- data.unshift(order);
379
- }
380
-
381
- return { ...prevOrders, data };
382
- });
383
- }, []);
384
-
385
- useEffect(() => {
386
- socket.on('message', handleMessage);
387
- socket.on('orders_register', handleOrder);
388
- socket.on('update_order', handleOrder);
389
-
390
- return () => {
391
- socket.off('message', handleMessage);
392
- socket.off('update_order', handleOrder);
393
- };
394
- }, [socket, user]);
395
-
396
- return (
397
- <>
398
- {UIComponent && (
399
- <UIComponent
400
- {...props}
401
- orders={orders}
402
- setOrders={setOrders}
403
- setSortBy={setSortBy}
404
- contacts={contacts}
405
- pagination={pagination}
406
- getBusinesses={getBusinesses}
407
- getCustomers={getCustomers}
408
- getDrivers={getDrivers}
409
- loadMore={loadMore}
410
- getOrders={getOrders}
411
- />
412
- )}
413
- </>
414
- );
415
- };
416
-
417
- Contacts.propTypes = {
418
- /**
419
- * UI Component, this must be containt all graphic elements and use parent props
420
- */
421
- UIComponent: PropTypes.elementType,
422
-
423
- /**
424
- * Initial page configuration
425
- */
426
- paginationSettings: PropTypes.object,
427
-
428
- /**
429
- * First data fetched
430
- */
431
- firstFetch: PropTypes.string,
432
-
433
- /**
434
- * Array of business props to fetch
435
- */
436
- businessProps: PropTypes.arrayOf(string),
437
-
438
- /**
439
- * Array of customer props to fetch
440
- */
441
- customerProps: PropTypes.arrayOf(string),
442
-
443
- /**
444
- * Array of driver props to fetch
445
- */
446
- driverProps: PropTypes.arrayOf(string),
447
-
448
- /**
449
- * Object parameters to sort the fetch
450
- */
451
- sortParams: PropTypes.object,
452
-
453
- /**
454
- * Array of conditions to fetch businesses
455
- */
456
- businessConditions: PropTypes.arrayOf(object),
457
-
458
- /**
459
- * Array of conditions to fetch customers
460
- */
461
- customerConditions: PropTypes.arrayOf(object),
462
-
463
- /**
464
- * Array of conditions to fetch drivers
465
- */
466
- driverConditions: PropTypes.arrayOf(object),
467
-
468
- /**
469
- * String that indicates the conector type of the conditions to fetch
470
- */
471
- conditionsConector: PropTypes.string,
472
- };
473
-
474
- Contacts.defaultProps = {
475
- paginationSettings: { page: 1, pageSize: 6, controlType: 'infinity' },
476
- firstFetch: 'businesses',
477
- orderProps: [
478
- 'id',
479
- 'business',
480
- 'unread_count',
481
- 'delivery_datetime_utc',
482
- 'status',
483
- ],
484
- businessProps: ['id', 'name', 'logo'],
485
- customerProps: [
486
- 'id',
487
- 'name',
488
- 'lastname',
489
- 'photo',
490
- 'assigned_orders_count',
491
- 'qualification', // do not select qualification
492
- 'level',
493
- ],
494
- driverProps: [
495
- 'id',
496
- 'name',
497
- 'lastname',
498
- 'photo',
499
- 'assigned_orders_count',
500
- 'level',
501
- ],
502
- sortParams: {
503
- param: 'name',
504
- direction: 'asc',
505
- },
506
- businessConditions: [
507
- { attribute: 'enabled', value: { condition: '=', value: 'true' } },
508
- ],
509
- customerConditions: [{ attribute: 'level', value: [3] }],
510
- driverConditions: [{ attribute: 'level', value: [4] }],
511
- conditionsConector: 'AND',
512
- };
1
+ import React, { useState, useEffect, useCallback } from 'react';
2
+ import PropTypes, { string, object } from 'prop-types';
3
+ import { useSession } from '../../contexts/SessionContext';
4
+ import { useApi } from '../../contexts/ApiContext';
5
+ import { useWebsocket } from '../../contexts/WebsocketContext';
6
+
7
+ export const Contacts = (props) => {
8
+ const {
9
+ UIComponent,
10
+ firstFetch,
11
+ orderProps,
12
+ businessProps,
13
+ customerProps, // don't use because it prevents fetch "qualification"
14
+ driverProps,
15
+ businessConditions,
16
+ customerConditions,
17
+ driverConditions,
18
+ sortParams,
19
+ paginationSettings,
20
+ conditionsConector,
21
+ } = props;
22
+
23
+ const params = {
24
+ orderBy: (sortParams.direction === 'desc' ? '-' : '') + sortParams.param,
25
+ };
26
+
27
+ const [{ token, user }] = useSession();
28
+ const [ordering] = useApi();
29
+ const socket = useWebsocket();
30
+
31
+ const [sortBy, setSortBy] = useState(sortParams);
32
+ const [orders, setOrders] = useState({
33
+ data: [],
34
+ loading: true,
35
+ error: null,
36
+ });
37
+ const [contacts, setContacts] = useState({
38
+ data: [],
39
+ loading: true,
40
+ error: null,
41
+ });
42
+ const [pagination, setPagination] = useState({
43
+ currentPage:
44
+ paginationSettings.controlType === 'pages' &&
45
+ paginationSettings.page &&
46
+ paginationSettings.page >= 1
47
+ ? paginationSettings.page - 1
48
+ : 1,
49
+ pageSize: paginationSettings.pageSize ?? 6,
50
+ });
51
+
52
+ const getOrders = async (nextPage) => {
53
+ setOrders({
54
+ data: nextPage ? orders.data : [],
55
+ loading: true,
56
+ error: null,
57
+ });
58
+
59
+ const parameters = {
60
+ orderBy: (sortBy.direction === 'desc' ? '-' : '') + sortBy.param,
61
+ };
62
+ const pageFetch = {
63
+ page: nextPage ? pagination.currentPage + 1 : paginationSettings.page,
64
+ page_size: pagination.pageSize || paginationSettings.pageSize,
65
+ };
66
+
67
+ try {
68
+ const {
69
+ content: { result, error, pagination: pageConfig },
70
+ } = await ordering
71
+ .orders()
72
+ .parameters(parameters)
73
+ .asDashboard()
74
+ .get({ query: pageFetch });
75
+
76
+ if (!error) {
77
+ let hash = {};
78
+ setOrders({
79
+ ...orders,
80
+ data: nextPage
81
+ ? orders.data
82
+ .concat(result)
83
+ .filter((order) =>
84
+ hash[order?.id] ? false : (hash[order?.id] = true)
85
+ )
86
+ : result,
87
+ loading: false,
88
+ });
89
+ setPagination({
90
+ currentPage: pageConfig?.current_page,
91
+ pageSize: pageConfig?.page_size,
92
+ totalPages: pageConfig?.total_pages,
93
+ total: pageConfig?.total,
94
+ from: pageConfig?.from,
95
+ to: pageConfig?.to,
96
+ });
97
+ } else {
98
+ setOrders({ ...orders, loading: false, error: result[0] });
99
+ }
100
+ } catch (err) {
101
+ setOrders({ ...orders, loading: false, error: [err.message] });
102
+ }
103
+ };
104
+
105
+ /**
106
+ * Method to get businesses from SDK
107
+ */
108
+ const getBusinesses = async (nextPage) => {
109
+ setContacts({
110
+ data: nextPage ? contacts.data : [],
111
+ loading: true,
112
+ error: null,
113
+ });
114
+
115
+ const where = {
116
+ conditions: businessConditions,
117
+ conector: conditionsConector,
118
+ };
119
+ const pageFetch = {
120
+ page: nextPage ? pagination.currentPage + 1 : paginationSettings.page,
121
+ page_size: pagination.pageSize || paginationSettings.pageSize,
122
+ };
123
+
124
+ try {
125
+ const {
126
+ content: { result, error, pagination: pageConfig },
127
+ } = await ordering
128
+ .businesses()
129
+ .select(businessProps)
130
+ .parameters(params)
131
+ .where(where)
132
+ .asDashboard()
133
+ .get({ query: pageFetch });
134
+
135
+ if (!error) {
136
+ setContacts({
137
+ ...contacts,
138
+ data: nextPage ? contacts.data.concat(result) : result,
139
+ loading: false,
140
+ });
141
+ setPagination({
142
+ currentPage: pageConfig?.current_page,
143
+ pageSize: pageConfig?.page_size,
144
+ totalPages: pageConfig?.total_pages,
145
+ total: pageConfig?.total,
146
+ from: pageConfig?.from,
147
+ to: pageConfig?.to,
148
+ });
149
+ } else {
150
+ setContacts({ ...contacts, loading: false, error: result[0] });
151
+ }
152
+ } catch (err) {
153
+ setContacts({ ...contacts, loading: false, error: err.message });
154
+ }
155
+ };
156
+
157
+ /**
158
+ * Method to get customers from SDK
159
+ */
160
+ const getCustomers = async (nextPage) => {
161
+ setContacts({
162
+ data: nextPage ? contacts.data : [],
163
+ loading: true,
164
+ error: null,
165
+ });
166
+
167
+ const where = {
168
+ conditions: customerConditions,
169
+ conector: conditionsConector,
170
+ };
171
+ const pageFetch = {
172
+ page: nextPage ? pagination.currentPage + 1 : paginationSettings.page,
173
+ page_size: pagination.pageSize || paginationSettings.pageSize,
174
+ };
175
+
176
+ try {
177
+ const {
178
+ content: { result, error, pagination: pageConfig },
179
+ } = await ordering
180
+ .setAccessToken(token)
181
+ .users()
182
+ .where(where)
183
+ .get({ query: pageFetch });
184
+
185
+ if (!error) {
186
+ setContacts({
187
+ ...contacts,
188
+ data: nextPage ? contacts.data.concat(result) : result,
189
+ loading: false,
190
+ });
191
+ setPagination({
192
+ currentPage: pageConfig?.current_page,
193
+ pageSize: pageConfig?.page_size,
194
+ totalPages: pageConfig?.total_pages,
195
+ total: pageConfig?.total,
196
+ from: pageConfig?.from,
197
+ to: pageConfig?.to,
198
+ });
199
+ } else {
200
+ setContacts({ ...contacts, loading: false, error: result[0] });
201
+ }
202
+ } catch (err) {
203
+ setContacts({ ...contacts, loading: false, error: err.message });
204
+ }
205
+ };
206
+
207
+ /**
208
+ * Method to get drivers from SDK
209
+ */
210
+ const getDrivers = async (nextPage) => {
211
+ setContacts({
212
+ data: nextPage ? contacts.data : [],
213
+ loading: true,
214
+ error: null,
215
+ });
216
+
217
+ const where = {
218
+ conditions: driverConditions,
219
+ conector: conditionsConector,
220
+ };
221
+ const pageFetch = {
222
+ page: nextPage ? pagination.currentPage + 1 : paginationSettings.page,
223
+ page_size: pagination.pageSize || paginationSettings.pageSize,
224
+ };
225
+
226
+ try {
227
+ const {
228
+ content: { result, error, pagination: pageConfig },
229
+ } = await ordering
230
+ .setAccessToken(token)
231
+ .users()
232
+ .select(driverProps)
233
+ .where(where)
234
+ .get({ query: pageFetch });
235
+
236
+ if (!error) {
237
+ setContacts({
238
+ ...contacts,
239
+ data: nextPage ? contacts.data.concat(result) : result,
240
+ loading: false,
241
+ });
242
+ setPagination({
243
+ currentPage: pageConfig?.current_page,
244
+ pageSize: pageConfig?.page_size,
245
+ totalPages: pageConfig?.total_pages,
246
+ total: pageConfig?.total,
247
+ from: pageConfig?.from,
248
+ to: pageConfig?.to,
249
+ });
250
+ } else {
251
+ setContacts({ ...contacts, loading: false, error: result[0] });
252
+ }
253
+ } catch (err) {
254
+ setContacts({ ...contacts, loading: false, error: err.message });
255
+ }
256
+ };
257
+
258
+ const loadMore = async (key) => {
259
+ switch (key) {
260
+ case 2:
261
+ getBusinesses(true);
262
+ break;
263
+ case 3:
264
+ getCustomers(true);
265
+ break;
266
+ case 4:
267
+ getDrivers(true);
268
+ break;
269
+ default:
270
+ getOrders(true);
271
+ }
272
+ };
273
+
274
+ useEffect(() => {
275
+ switch (firstFetch) {
276
+ case 'businesses':
277
+ getBusinesses();
278
+ break;
279
+ case 'customers':
280
+ getCustomers();
281
+ break;
282
+ case 'drivers':
283
+ getDrivers();
284
+ break;
285
+ default:
286
+ getOrders();
287
+ }
288
+ }, []);
289
+
290
+ useEffect(() => {
291
+ if (!orders.loading) {
292
+ getOrders();
293
+ }
294
+ }, [sortBy]);
295
+
296
+ useEffect(() => {
297
+ if (!token || !socket?.socket) return;
298
+
299
+ const messagesOrdersRoom =
300
+ user?.level === 0 ? 'messages_orders' : `messages_orders_${user?.id}`;
301
+ const ordersRoom = user?.level === 0 ? 'orders' : `orders_${user?.id}`;
302
+
303
+ socket.socket.on('connect', () => {
304
+ socket.join(messagesOrdersRoom);
305
+ socket.join(ordersRoom);
306
+ })
307
+
308
+ socket.join(messagesOrdersRoom);
309
+ socket.join(ordersRoom);
310
+
311
+ return () => {
312
+ socket.leave(messagesOrdersRoom);
313
+ socket.leave(ordersRoom);
314
+ };
315
+ }, [socket?.socket, user]);
316
+
317
+ const handleMessage = useCallback(async (message) => {
318
+ const { order_id: orderId } = message;
319
+
320
+ try {
321
+ const {
322
+ content: { result, error },
323
+ } = await ordering
324
+ .setAccessToken(token)
325
+ .orders(orderId)
326
+ .asDashboard()
327
+ .get();
328
+
329
+ if (!error) {
330
+ setOrders((prevOrders) => {
331
+ const { data } = prevOrders;
332
+
333
+ const order = data.find((order, index) => {
334
+ if (order.id === parseInt(orderId)) {
335
+ data.splice(index, 1);
336
+ data.unshift(result);
337
+ return true;
338
+ }
339
+
340
+ return false;
341
+ });
342
+
343
+ if (!order) {
344
+ data.unshift(result);
345
+ }
346
+
347
+ return { ...prevOrders, data };
348
+ });
349
+ }
350
+ } catch (err) {
351
+ return null;
352
+ }
353
+ }, []);
354
+
355
+ const handleOrder = useCallback(async (order) => {
356
+ const { id, status, driver } = order;
357
+
358
+ setOrders((prevOrders) => {
359
+ const { data } = prevOrders;
360
+
361
+ const newOrder = data.find((_order, index) => {
362
+ if (_order.id === id) {
363
+ if (_order.status !== status) {
364
+ delete order.total;
365
+ delete order.subtotal;
366
+ Object.assign(_order, order);
367
+ } else if (_order?.driver?.id !== driver?.id && user?.level === 4) {
368
+ data.splice(index, 1);
369
+ }
370
+
371
+ return true;
372
+ }
373
+
374
+ return false;
375
+ });
376
+
377
+ if (!newOrder) {
378
+ data.unshift(order);
379
+ }
380
+
381
+ return { ...prevOrders, data };
382
+ });
383
+ }, []);
384
+
385
+ useEffect(() => {
386
+ socket.on('message', handleMessage);
387
+ socket.on('orders_register', handleOrder);
388
+ socket.on('update_order', handleOrder);
389
+
390
+ return () => {
391
+ socket.off('message', handleMessage);
392
+ socket.off('update_order', handleOrder);
393
+ };
394
+ }, [socket, user]);
395
+
396
+ return (
397
+ <>
398
+ {UIComponent && (
399
+ <UIComponent
400
+ {...props}
401
+ orders={orders}
402
+ setOrders={setOrders}
403
+ setSortBy={setSortBy}
404
+ contacts={contacts}
405
+ pagination={pagination}
406
+ getBusinesses={getBusinesses}
407
+ getCustomers={getCustomers}
408
+ getDrivers={getDrivers}
409
+ loadMore={loadMore}
410
+ getOrders={getOrders}
411
+ />
412
+ )}
413
+ </>
414
+ );
415
+ };
416
+
417
+ Contacts.propTypes = {
418
+ /**
419
+ * UI Component, this must be containt all graphic elements and use parent props
420
+ */
421
+ UIComponent: PropTypes.elementType,
422
+
423
+ /**
424
+ * Initial page configuration
425
+ */
426
+ paginationSettings: PropTypes.object,
427
+
428
+ /**
429
+ * First data fetched
430
+ */
431
+ firstFetch: PropTypes.string,
432
+
433
+ /**
434
+ * Array of business props to fetch
435
+ */
436
+ businessProps: PropTypes.arrayOf(string),
437
+
438
+ /**
439
+ * Array of customer props to fetch
440
+ */
441
+ customerProps: PropTypes.arrayOf(string),
442
+
443
+ /**
444
+ * Array of driver props to fetch
445
+ */
446
+ driverProps: PropTypes.arrayOf(string),
447
+
448
+ /**
449
+ * Object parameters to sort the fetch
450
+ */
451
+ sortParams: PropTypes.object,
452
+
453
+ /**
454
+ * Array of conditions to fetch businesses
455
+ */
456
+ businessConditions: PropTypes.arrayOf(object),
457
+
458
+ /**
459
+ * Array of conditions to fetch customers
460
+ */
461
+ customerConditions: PropTypes.arrayOf(object),
462
+
463
+ /**
464
+ * Array of conditions to fetch drivers
465
+ */
466
+ driverConditions: PropTypes.arrayOf(object),
467
+
468
+ /**
469
+ * String that indicates the conector type of the conditions to fetch
470
+ */
471
+ conditionsConector: PropTypes.string,
472
+ };
473
+
474
+ Contacts.defaultProps = {
475
+ paginationSettings: { page: 1, pageSize: 6, controlType: 'infinity' },
476
+ firstFetch: 'businesses',
477
+ orderProps: [
478
+ 'id',
479
+ 'business',
480
+ 'unread_count',
481
+ 'delivery_datetime_utc',
482
+ 'status',
483
+ ],
484
+ businessProps: ['id', 'name', 'logo'],
485
+ customerProps: [
486
+ 'id',
487
+ 'name',
488
+ 'lastname',
489
+ 'photo',
490
+ 'assigned_orders_count',
491
+ 'qualification', // do not select qualification
492
+ 'level',
493
+ ],
494
+ driverProps: [
495
+ 'id',
496
+ 'name',
497
+ 'lastname',
498
+ 'photo',
499
+ 'assigned_orders_count',
500
+ 'level',
501
+ ],
502
+ sortParams: {
503
+ param: 'name',
504
+ direction: 'asc',
505
+ },
506
+ businessConditions: [
507
+ { attribute: 'enabled', value: { condition: '=', value: 'true' } },
508
+ ],
509
+ customerConditions: [{ attribute: 'level', value: [3] }],
510
+ driverConditions: [{ attribute: 'level', value: [4] }],
511
+ conditionsConector: 'AND',
512
+ };