ordering-ui-admin-external 1.25.1 → 1.26.1

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 (159) hide show
  1. package/_bundles/main.css +1829 -1829
  2. package/_bundles/{ordering-ui-admin.bb3d2f1a6bc2f5d19b6c.js → ordering-ui-admin.45097ebbca4f4a7d30b7.js} +2 -2
  3. package/_modules/components/BusinessIntelligence/AnalyticsCalendar/index.js +8 -1
  4. package/_modules/components/Delivery/DriversCompanyAddForm/styles.js +1 -1
  5. package/_modules/components/Delivery/DriversGroupAddForm/AdvancedLogisticsForm/index.js +68 -0
  6. package/_modules/components/Delivery/DriversGroupAddForm/AdvancedLogisticsForm/styles.js +42 -0
  7. package/_modules/components/Delivery/DriversGroupAddForm/BusinessesForm/index.js +89 -0
  8. package/_modules/components/Delivery/DriversGroupAddForm/BusinessesForm/styles.js +47 -0
  9. package/_modules/components/Delivery/DriversGroupAddForm/GeneralForm/index.js +106 -0
  10. package/_modules/components/Delivery/DriversGroupAddForm/GeneralForm/styles.js +16 -0
  11. package/_modules/components/Delivery/DriversGroupAddForm/PaymethodsForm/index.js +87 -0
  12. package/_modules/components/Delivery/DriversGroupAddForm/PaymethodsForm/styles.js +33 -0
  13. package/_modules/components/Delivery/DriversGroupAddForm/index.js +132 -0
  14. package/_modules/components/Delivery/DriversGroupAddForm/styles.js +18 -0
  15. package/_modules/components/Delivery/DriversGroupCompanies/styles.js +1 -1
  16. package/_modules/components/Delivery/DriversGroupDrivers/styles.js +1 -1
  17. package/_modules/components/Delivery/DriversGroupOrders/index.js +5 -5
  18. package/_modules/components/Delivery/DriversGroupsList/styles.js +1 -1
  19. package/_modules/components/Delivery/DriversGroupsListing/index.js +28 -7
  20. package/_modules/components/Delivery/DriversGroupsListing/styles.js +2 -2
  21. package/_modules/components/Delivery/UserAddForm/index.js +39 -6
  22. package/_modules/components/Delivery/UserAddForm/styles.js +28 -21
  23. package/_modules/components/Delivery/UserDetails/index.js +2 -2
  24. package/_modules/components/Home/HomePage/index.js +71 -3
  25. package/_modules/components/Home/HomePage/styles.js +27 -5
  26. package/_modules/components/Login/LoginForm/index.js +0 -5
  27. package/_modules/components/MyProducts/AdvancedLayouts/LayoutStyleGroup.js +46 -0
  28. package/_modules/components/MyProducts/AdvancedLayouts/index.js +213 -0
  29. package/_modules/components/MyProducts/AdvancedLayouts/styles.js +146 -0
  30. package/_modules/components/MyProducts/AdvancedSettings/index.js +12 -0
  31. package/_modules/components/MyProducts/CustomDomain/index.js +6 -4
  32. package/_modules/components/MyProducts/CustomDomain/styles.js +27 -9
  33. package/_modules/components/MyProducts/OrderingWebsite/index.js +94 -17
  34. package/_modules/components/MyProducts/OrderingWebsite/styles.js +20 -11
  35. package/_modules/components/Orders/AllInOne/DriversManager/index.js +128 -0
  36. package/_modules/components/Orders/AllInOne/DriversManager/styles.js +27 -0
  37. package/_modules/components/Orders/AllInOne/index.js +337 -0
  38. package/_modules/components/Orders/AllInOne/styles.js +67 -0
  39. package/_modules/components/Orders/CompanySelector/index.js +259 -0
  40. package/_modules/components/Orders/CompanySelector/styles.js +86 -0
  41. package/_modules/components/Orders/DriversBusyStatusFilter/styles.js +6 -3
  42. package/_modules/components/Orders/DriversList/index.js +3 -2
  43. package/_modules/components/Orders/DriversList/styles.js +2 -2
  44. package/_modules/components/Orders/DriversManager/index.js +2 -1
  45. package/_modules/components/Orders/DriversOnlineOfflineFilter/styles.js +5 -2
  46. package/_modules/components/Orders/OrderBill/RefundToWallet.js +1 -1
  47. package/_modules/components/Orders/OrderBill/index.js +17 -18
  48. package/_modules/components/Orders/OrderContactInformation/index.js +14 -3
  49. package/_modules/components/Orders/OrderDetails/index.js +1 -1
  50. package/_modules/components/Orders/OrderStatusSubFilter/styles.js +1 -1
  51. package/_modules/components/Orders/OrderToPrint/index.js +2 -1
  52. package/_modules/components/Orders/OrderToPrintTicket/index.js +4 -2
  53. package/_modules/components/Orders/OrdersContentHeader/index.js +2 -1
  54. package/_modules/components/Orders/OrdersListing/index.js +3 -1
  55. package/_modules/components/Orders/OrdersManager/index.js +5 -1
  56. package/_modules/components/Orders/OrdersTable/index.js +11 -10
  57. package/_modules/components/Orders/ProductItemAccordion/index.js +5 -9
  58. package/_modules/components/Orders/WebsocketStatus/index.js +119 -0
  59. package/_modules/components/Orders/WebsocketStatus/styles.js +65 -0
  60. package/_modules/components/Orders/index.js +7 -0
  61. package/_modules/components/Settings/IntegrationListing/Analytics.js +130 -0
  62. package/_modules/components/Settings/IntegrationListing/PaymentGateway.js +130 -0
  63. package/_modules/components/Settings/IntegrationListing/index.js +174 -31
  64. package/_modules/components/Settings/IntegrationListing/styles.js +42 -11
  65. package/_modules/components/Settings/NotificationSetting/index.js +25 -4
  66. package/_modules/components/Settings/NotificationSetting/styles.js +5 -3
  67. package/_modules/components/Settings/SettingsSelectUI/index.js +3 -2
  68. package/_modules/components/Shared/RangeCalendar/index.js +9 -1
  69. package/_modules/components/Shared/SearchBar/index.js +11 -6
  70. package/_modules/components/Shared/SearchBar/styles.js +9 -15
  71. package/_modules/components/SidebarMenu/index.js +19 -10
  72. package/_modules/components/Users/UserDetails/index.js +2 -2
  73. package/_modules/config/currency.js +1017 -0
  74. package/_modules/index.js +6 -0
  75. package/_modules/utils/index.js +26 -3
  76. package/index-template.js +10 -0
  77. package/package.json +3 -2
  78. package/src/components/BusinessIntelligence/AnalyticsCalendar/index.js +7 -1
  79. package/src/components/Delivery/DriversCompanyAddForm/styles.js +0 -1
  80. package/src/components/Delivery/DriversGroupAddForm/AdvancedLogisticsForm/index.js +113 -0
  81. package/src/components/Delivery/DriversGroupAddForm/AdvancedLogisticsForm/styles.js +72 -0
  82. package/src/components/Delivery/DriversGroupAddForm/BusinessesForm/index.js +87 -0
  83. package/src/components/Delivery/DriversGroupAddForm/BusinessesForm/styles.js +87 -0
  84. package/src/components/Delivery/DriversGroupAddForm/GeneralForm/index.js +104 -0
  85. package/src/components/Delivery/DriversGroupAddForm/GeneralForm/styles.js +31 -0
  86. package/src/components/Delivery/DriversGroupAddForm/PaymethodsForm/index.js +82 -0
  87. package/src/components/Delivery/DriversGroupAddForm/PaymethodsForm/styles.js +46 -0
  88. package/src/components/Delivery/DriversGroupAddForm/index.js +130 -0
  89. package/src/components/Delivery/DriversGroupAddForm/styles.js +38 -0
  90. package/src/components/Delivery/DriversGroupCompanies/styles.js +1 -0
  91. package/src/components/Delivery/DriversGroupDrivers/styles.js +1 -0
  92. package/src/components/Delivery/DriversGroupOrders/index.js +2 -2
  93. package/src/components/Delivery/DriversGroupsList/styles.js +1 -1
  94. package/src/components/Delivery/DriversGroupsListing/index.js +35 -13
  95. package/src/components/Delivery/DriversGroupsListing/styles.js +1 -1
  96. package/src/components/Delivery/UserAddForm/index.js +34 -2
  97. package/src/components/Delivery/UserAddForm/styles.js +25 -0
  98. package/src/components/Delivery/UserDetails/index.js +1 -1
  99. package/src/components/Home/HomePage/index.js +215 -142
  100. package/src/components/Home/HomePage/styles.js +105 -1
  101. package/src/components/Login/LoginForm/index.js +0 -7
  102. package/src/components/MyProducts/AdvancedLayouts/LayoutStyleGroup.js +37 -0
  103. package/src/components/MyProducts/AdvancedLayouts/index.js +240 -0
  104. package/src/components/MyProducts/AdvancedLayouts/styles.js +388 -0
  105. package/src/components/MyProducts/AdvancedSettings/index.js +5 -2
  106. package/src/components/MyProducts/CustomDomain/index.js +35 -16
  107. package/src/components/MyProducts/CustomDomain/styles.js +73 -1
  108. package/src/components/MyProducts/OrderingWebsite/index.js +147 -79
  109. package/src/components/MyProducts/OrderingWebsite/styles.js +38 -0
  110. package/src/components/Orders/AllInOne/DriversManager/index.js +137 -0
  111. package/src/components/Orders/AllInOne/DriversManager/styles.js +51 -0
  112. package/src/components/Orders/AllInOne/index.js +339 -0
  113. package/src/components/Orders/AllInOne/styles.js +144 -0
  114. package/src/components/Orders/CompanySelector/index.js +250 -0
  115. package/src/components/Orders/CompanySelector/styles.js +142 -0
  116. package/src/components/Orders/DriversBusyStatusFilter/styles.js +7 -1
  117. package/src/components/Orders/DriversList/index.js +7 -4
  118. package/src/components/Orders/DriversList/styles.js +2 -1
  119. package/src/components/Orders/DriversManager/index.js +2 -0
  120. package/src/components/Orders/DriversOnlineOfflineFilter/styles.js +8 -1
  121. package/src/components/Orders/OrderBill/RefundToWallet.js +12 -10
  122. package/src/components/Orders/OrderBill/index.js +18 -18
  123. package/src/components/Orders/OrderContactInformation/index.js +20 -1
  124. package/src/components/Orders/OrderDetails/index.js +8 -8
  125. package/src/components/Orders/OrderStatusSubFilter/styles.js +1 -1
  126. package/src/components/Orders/OrderToPrint/index.js +2 -1
  127. package/src/components/Orders/OrderToPrintTicket/index.js +160 -173
  128. package/src/components/Orders/OrdersContentHeader/index.js +2 -0
  129. package/src/components/Orders/OrdersListing/index.js +2 -0
  130. package/src/components/Orders/OrdersManager/index.js +2 -2
  131. package/src/components/Orders/OrdersTable/index.js +39 -25
  132. package/src/components/Orders/ProductItemAccordion/index.js +3 -3
  133. package/src/components/Orders/WebsocketStatus/index.js +138 -0
  134. package/src/components/Orders/WebsocketStatus/styles.js +171 -0
  135. package/src/components/Orders/index.js +2 -0
  136. package/src/components/Settings/IntegrationListing/Analytics.js +127 -0
  137. package/src/components/Settings/IntegrationListing/PaymentGateway.js +126 -0
  138. package/src/components/Settings/IntegrationListing/index.js +189 -96
  139. package/src/components/Settings/IntegrationListing/styles.js +90 -1
  140. package/src/components/Settings/NotificationSetting/index.js +73 -10
  141. package/src/components/Settings/NotificationSetting/styles.js +19 -0
  142. package/src/components/Settings/SettingsSelectUI/index.js +12 -9
  143. package/src/components/Shared/RangeCalendar/index.js +7 -1
  144. package/src/components/Shared/SearchBar/index.js +14 -5
  145. package/src/components/Shared/SearchBar/styles.js +19 -32
  146. package/src/components/SidebarMenu/index.js +15 -8
  147. package/src/components/Users/UserDetails/index.js +1 -1
  148. package/src/config/currency.js +1010 -0
  149. package/src/index.js +2 -0
  150. package/src/utils/index.js +21 -0
  151. package/template/app.js +4 -0
  152. package/template/assets/images/preview/franchise.png +0 -0
  153. package/template/assets/images/preview/marketplace.png +0 -0
  154. package/template/assets/images/preview/single-store.png +0 -0
  155. package/template/components/AutologinParams/index.js +1 -3
  156. package/template/components/ListenPageChanges/index.js +1 -0
  157. package/template/helmetdata.json +7 -0
  158. package/template/pages/AllInOne/index.js +23 -0
  159. /package/_bundles/{ordering-ui-admin.bb3d2f1a6bc2f5d19b6c.js.LICENSE.txt → ordering-ui-admin.45097ebbca4f4a7d30b7.js.LICENSE.txt} +0 -0
@@ -0,0 +1,51 @@
1
+ import styled from 'styled-components'
2
+
3
+ export const DriversContainer = styled.div`
4
+ box-sizing: border-box;
5
+ `
6
+
7
+ export const DriversHeader = styled.div`
8
+ display: flex;
9
+ flex-direction: column;
10
+ > div:last-child {
11
+ margin-top: 20px;
12
+ }
13
+ input {
14
+ background: ${props => props.theme.colors.secundary};
15
+ border: none;
16
+ }
17
+ @media (min-width: 768px) {
18
+ flex-direction: row;
19
+ align-items: center;
20
+ justify-content: space-between;
21
+ > div:last-child {
22
+ margin-top: 0px;
23
+ }
24
+ }
25
+ `
26
+
27
+ export const DriversContent = styled.div`
28
+ `
29
+
30
+ export const DriverListContainer = styled.div`
31
+ height: 100%;
32
+ overflow: hidden;
33
+ margin-top: 20px;
34
+ @media (min-width: 992px) {
35
+ width: 350px;
36
+ max-width: 350px;
37
+ margin-top: 0px;
38
+ }
39
+ `
40
+ export const FilterContainer = styled.div`
41
+ position: sticky;
42
+ top: 0px;
43
+ background: ${props => props.theme.colors?.backgroundPage || '#FFF'};
44
+ z-index: 100;
45
+ `
46
+ export const WrapperDriversList = styled.div`
47
+ overflow-x: hidden;
48
+ @media (min-width: 992px) {
49
+ max-height: calc(var(--vh, 1vh) * 100 - 410px);
50
+ }
51
+ `
@@ -0,0 +1,339 @@
1
+ import React, { useState, useEffect } from 'react'
2
+ import { useLocation } from 'react-router-dom'
3
+ import { useLanguage, useSession, OrdersManage as OrdersManageController } from 'ordering-components-admin-external'
4
+ import { OrderStatusFilterBar } from '../OrderStatusFilterBar'
5
+ import { OrdersContentHeader } from '../OrdersContentHeader'
6
+ import { OrderDetails } from '../OrderDetails'
7
+ import { OrdersDashboardControls } from '../OrdersDashboardControls'
8
+ import { Alert } from '../../Shared'
9
+ import { DriversManager } from './DriversManager'
10
+ import { DriversLocation } from '../DriversLocation'
11
+
12
+ import {
13
+ MainContentContainer,
14
+ TopContent,
15
+ DriversContainer,
16
+ OrdersContainer,
17
+ WrapperDriversLocation,
18
+ OrdersListContainer,
19
+ OrdersContent,
20
+ OrdersInnerContent,
21
+ WrapItemView,
22
+ WrapperIndicator,
23
+ OrderSubFilterControls,
24
+ OrderStatusSubFilterWrapper
25
+ } from './styles'
26
+ import { OrdersDashboard } from '../OrdersDashboard'
27
+ import { OrderStatusSubFilter } from '../OrderStatusSubFilter'
28
+ import { OrderNotification } from '../OrderNotification'
29
+ import { WizardOrders } from '../WizardOrders'
30
+
31
+ const OrdersManagerUI = (props) => {
32
+ const {
33
+ isSelectedOrders,
34
+ searchValue,
35
+ driverGroupList,
36
+ driversList,
37
+ paymethodsList,
38
+ businessesList,
39
+ citiesList,
40
+ ordersStatusGroup,
41
+ filterValues,
42
+ deletedOrderId,
43
+ startMulitOrderStatusChange,
44
+ startMulitOrderDelete,
45
+ handleChangeSearch,
46
+ handleChangeFilterValues,
47
+ handleOrdersStatusGroupFilter,
48
+ handleChangeMultiOrdersStatus,
49
+ handleDeleteMultiOrders,
50
+ handleSelectedOrderIds,
51
+ selectedOrderIds,
52
+ onOrderRedirect,
53
+ selectedSubOrderStatus,
54
+ handleSelectedSubOrderStatus,
55
+ handleCustomOrderDetail,
56
+ setSelectedOrderIds,
57
+ numberOfOrdersByStatus,
58
+ allowColumns,
59
+ setAllowColumns
60
+ } = props
61
+
62
+ const [, t] = useLanguage()
63
+ const [{ user }] = useSession()
64
+
65
+ const query = new URLSearchParams(useLocation().search)
66
+ const [isOpenOrderDetail, setIsOpenOrderDetail] = useState(false)
67
+ const [orderDetailId, setOrderDetailId] = useState(null)
68
+ const [detailsOrder, setDetailsOrder] = useState(null)
69
+ const [filterModalOpen, setFilterModalOpen] = useState(false)
70
+
71
+ const [isTourOpen, setIsTourOpen] = useState(false)
72
+ const [currentTourStep, setCurrentTourStep] = useState(0)
73
+ const [isTourFlag, setIsTourFlag] = useState(false)
74
+ const [alertState, setAlertState] = useState({ open: false, content: [] })
75
+ const [timeStatus, setTimeStatus] = useState(null)
76
+ const [slaSettingTime, setSlaSettingTime] = useState(60000)
77
+ const [totalSelectedOrder, setTotalSelectedOrder] = useState(0)
78
+
79
+ const [mapsData, setMapsData] = useState({
80
+ driversIsOnline: true,
81
+ onlineDrivers: [],
82
+ offlineDrivers: [],
83
+ selectedDriver: null
84
+ })
85
+
86
+ const handleBackRedirect = () => {
87
+ setIsOpenOrderDetail(false)
88
+ setDetailsOrder(null)
89
+ setOrderDetailId(null)
90
+ if (!isSelectedOrders) {
91
+ onOrderRedirect()
92
+ } else {
93
+ handleCustomOrderDetail && handleCustomOrderDetail(false)
94
+ }
95
+ }
96
+
97
+ const closeAlert = () => {
98
+ setAlertState({
99
+ open: false,
100
+ content: []
101
+ })
102
+ }
103
+
104
+ const handleOpenOrderDetail = (order, isKeydown = false) => {
105
+ if (isTourOpen && currentTourStep === 4 && !isKeydown) {
106
+ setIsTourOpen(false)
107
+ return
108
+ }
109
+ setDetailsOrder(order)
110
+ setOrderDetailId(order.id)
111
+ setIsOpenOrderDetail(true)
112
+ if (!isSelectedOrders) {
113
+ onOrderRedirect(order.id)
114
+ } else {
115
+ handleCustomOrderDetail && handleCustomOrderDetail(true)
116
+ }
117
+ if (isTourOpen && currentTourStep === 4) {
118
+ setIsTourFlag(true)
119
+ }
120
+ if (isTourOpen && currentTourStep === 0) {
121
+ setTimeout(() => {
122
+ setCurrentTourStep(1)
123
+ }, 1)
124
+ }
125
+ }
126
+
127
+ const handleOpenTour = () => {
128
+ const tourElement = document.querySelector('[data-tour="tour_start"]')
129
+ if (!tourElement) {
130
+ setAlertState({
131
+ open: true,
132
+ content: t('ONE_ORDER_IS_REQUIRED', 'One order is required')
133
+ })
134
+ return
135
+ }
136
+
137
+ const orderElement = document.getElementById('orderTable')
138
+ if (orderElement) orderElement.scrollTo(0, 0)
139
+ setCurrentTourStep(0)
140
+ setIsTourOpen(true)
141
+ handleBackRedirect()
142
+ }
143
+
144
+ useEffect(() => {
145
+ if (startMulitOrderStatusChange || startMulitOrderDelete) {
146
+ setTotalSelectedOrder(selectedOrderIds.length)
147
+ }
148
+ }, [startMulitOrderStatusChange, startMulitOrderDelete])
149
+
150
+ useEffect(() => {
151
+ if (selectedOrderIds.length === 0) {
152
+ setTimeout(() => {
153
+ setTotalSelectedOrder(0)
154
+ }, 500)
155
+ }
156
+ }, [selectedOrderIds])
157
+
158
+ useEffect(() => {
159
+ if (isSelectedOrders) return
160
+ const id = query.get('id')
161
+ if (id === null) setIsOpenOrderDetail(false)
162
+ else {
163
+ if (user?.level === 5) {
164
+ handleBackRedirect()
165
+ } else {
166
+ setOrderDetailId(id)
167
+ setIsOpenOrderDetail(true)
168
+ }
169
+ }
170
+ }, [user])
171
+
172
+ useEffect(() => {
173
+ if (isTourOpen) return
174
+ setIsTourFlag(false)
175
+ }, [isTourOpen])
176
+
177
+ return (
178
+ <>
179
+ <OrdersListContainer
180
+ isSelectedOrders={isSelectedOrders}
181
+ >
182
+ <OrdersContentHeader
183
+ isDisableTitle={isSelectedOrders}
184
+ isDisableControl={isSelectedOrders}
185
+ title={t('ORDER_MANAGER', 'Orders manager')}
186
+ searchValue={searchValue}
187
+ driverGroupList={driverGroupList}
188
+ driversList={driversList}
189
+ citiesList={citiesList}
190
+ paymethodsList={paymethodsList}
191
+ businessesList={businessesList}
192
+ filterValues={filterValues}
193
+ handleChangeSearch={handleChangeSearch}
194
+ handleChangeFilterValues={handleChangeFilterValues}
195
+ selectedOrderIds={selectedOrderIds}
196
+ handleDeleteMultiOrders={handleDeleteMultiOrders}
197
+ handleChangeMultiOrdersStatus={handleChangeMultiOrdersStatus}
198
+ handleOpenTour={() => handleOpenTour()}
199
+ filterModalOpen={filterModalOpen}
200
+ setFilterModalOpen={setFilterModalOpen}
201
+ setTimeStatus={setTimeStatus}
202
+ setSlaSettingTime={setSlaSettingTime}
203
+ />
204
+
205
+ <MainContentContainer>
206
+ <TopContent>
207
+ <DriversContainer>
208
+ <DriversManager
209
+ setMapsData={setMapsData}
210
+ />
211
+ </DriversContainer>
212
+ <OrdersContainer>
213
+ <OrderStatusFilterBar
214
+ selectedOrderStatus={ordersStatusGroup}
215
+ changeOrderStatus={handleOrdersStatusGroupFilter}
216
+ numberOfOrdersByStatus={numberOfOrdersByStatus}
217
+ />
218
+ <OrderSubFilterControls isColumn={selectedOrderIds?.length}>
219
+ <OrderStatusSubFilterWrapper isColumn={selectedOrderIds?.length}>
220
+ <OrderStatusSubFilter
221
+ ordersStatusGroup={ordersStatusGroup}
222
+ selectedSubOrderStatus={selectedSubOrderStatus}
223
+ handleSelectedSubOrderStatus={handleSelectedSubOrderStatus}
224
+ />
225
+ </OrderStatusSubFilterWrapper>
226
+ {!isSelectedOrders && (
227
+ <OrdersDashboardControls
228
+ selectedOrderNumber={selectedOrderIds?.length}
229
+ filterValues={filterValues}
230
+ handleChangeMultiOrdersStatus={handleChangeMultiOrdersStatus}
231
+ handleDeleteMultiOrders={handleDeleteMultiOrders}
232
+ />
233
+ )}
234
+ </OrderSubFilterControls>
235
+ <OrdersContent>
236
+ <OrdersInnerContent className='order-content'>
237
+ <WrapItemView>
238
+ <OrdersDashboard
239
+ hidePhoto
240
+ isSelectedOrders={isSelectedOrders}
241
+ driverId={props.driverId}
242
+ customerId={props.customerId}
243
+ businessId={props.businessId}
244
+ searchValue={searchValue}
245
+ filterValues={filterValues}
246
+ selectedOrderIds={selectedOrderIds}
247
+ deletedOrderId={deletedOrderId}
248
+ driversList={driversList}
249
+ ordersStatusGroup={ordersStatusGroup}
250
+ selectedSubOrderStatus={selectedSubOrderStatus}
251
+ handleSelectedOrderIds={handleSelectedOrderIds}
252
+ orderDetailId={orderDetailId}
253
+ handleOpenOrderDetail={handleOpenOrderDetail}
254
+ setSelectedOrderIds={setSelectedOrderIds}
255
+ currentTourStep={currentTourStep}
256
+ handleOpenTour={handleOpenTour}
257
+ isTourOpen={isTourOpen}
258
+ setIsTourOpen={setIsTourOpen}
259
+ setFilterModalOpen={setFilterModalOpen}
260
+ timeStatus={timeStatus}
261
+ slaSettingTime={slaSettingTime}
262
+ allowColumns={allowColumns}
263
+ setAllowColumns={setAllowColumns}
264
+ />
265
+ </WrapItemView>
266
+ </OrdersInnerContent>
267
+ </OrdersContent>
268
+ </OrdersContainer>
269
+ </TopContent>
270
+ <WrapperDriversLocation>
271
+ <DriversLocation
272
+ driversIsOnline={mapsData.driversIsOnline}
273
+ selectedDriver={mapsData.selectedDriver}
274
+ onlineDrivers={mapsData.onlineDrivers}
275
+ offlineDrivers={mapsData.offlineDrivers}
276
+ />
277
+ </WrapperDriversLocation>
278
+ </MainContentContainer>
279
+ </OrdersListContainer>
280
+
281
+ {isOpenOrderDetail && (
282
+ <OrderDetails
283
+ isSelectedOrders={isSelectedOrders}
284
+ open={isOpenOrderDetail}
285
+ order={detailsOrder}
286
+ orderId={orderDetailId}
287
+ isTourOpen={isTourOpen}
288
+ onClose={() => handleBackRedirect()}
289
+ setCurrentTourStep={setCurrentTourStep}
290
+ currentTourStep={currentTourStep}
291
+ isTourFlag={isTourFlag}
292
+ setIsTourFlag={setIsTourFlag}
293
+ setIsTourOpen={setIsTourOpen}
294
+ drivers={driversList.drivers}
295
+ />
296
+ )}
297
+
298
+ <OrderNotification customerId={props.customerId} />
299
+
300
+ {totalSelectedOrder > 0 && (
301
+ <WrapperIndicator>
302
+ {selectedOrderIds.length}/{totalSelectedOrder}
303
+ </WrapperIndicator>
304
+ )}
305
+
306
+ <WizardOrders
307
+ isTourOpen={isTourOpen}
308
+ setIsTourOpen={setIsTourOpen}
309
+ currentStep={currentTourStep}
310
+ detailsOrder={detailsOrder}
311
+ />
312
+ <Alert
313
+ title={t('ORDERS_MANAGER', 'Orders manager')}
314
+ content={alertState.content}
315
+ open={alertState.open}
316
+ onClose={() => closeAlert()}
317
+ closeOnBackdrop={false}
318
+ />
319
+ <Alert
320
+ title={t('ORDERS_MANAGER', 'Orders manager')}
321
+ content={alertState.content}
322
+ acceptText={t('ACCEPT', 'Accept')}
323
+ open={alertState.open}
324
+ onClose={() => closeAlert()}
325
+ onAccept={() => closeAlert()}
326
+ closeOnBackdrop={false}
327
+ />
328
+ </>
329
+ )
330
+ }
331
+
332
+ export const AllInOne = (props) => {
333
+ const OrdersListControlProps = {
334
+ ...props,
335
+ UIComponent: OrdersManagerUI,
336
+ driversPropsToFetch: ['id', 'name', 'lastname', 'location', 'enabled', 'available', 'busy', 'driver_groups', 'assigned_orders_count', 'last_order_assigned_at', 'last_location_at', 'cellphone', 'photo', 'qualification']
337
+ }
338
+ return <OrdersManageController {...OrdersListControlProps} />
339
+ }
@@ -0,0 +1,144 @@
1
+ import styled, { css } from 'styled-components'
2
+
3
+ export const OrdersListContainer = styled.div`
4
+ flex: 1;
5
+ padding: 20px;
6
+ box-sizing: border-box;
7
+ transition: all 0.5s;
8
+ overflow: auto;
9
+ height: calc(var(--vh,1vh) * 100);
10
+ ${({ isSelectedOrders }) => isSelectedOrders && css`
11
+ margin-top: 0px;
12
+ padding: 20px 0 0 0;
13
+ `}
14
+ @media print {
15
+ display: none;
16
+ }
17
+ `
18
+ export const OrdersContent = styled.div`
19
+ `
20
+ export const OrdersInnerContent = styled.div`
21
+ `
22
+ export const WrapperIndicator = styled.div`
23
+ position: fixed;
24
+ bottom: 20px;
25
+ right: 20px;
26
+ width: 100px;
27
+ height: 50px;
28
+ border-radius: 5px;
29
+ background: #151824;
30
+ z-index: 9999;
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ color: #fff;
35
+ font-weight: 500;
36
+ font-size: 24px;
37
+ `
38
+
39
+ export const WrapItemView = styled.div`
40
+ width: 100%;
41
+ `
42
+ export const OrderSubFilterControls = styled.div`
43
+ display: flex;
44
+ width: 100%;
45
+ ${({ isColumn }) => isColumn ? css`
46
+ flex-direction: column;
47
+ > div:last-child {
48
+ margin-top: 0;
49
+ margin-bottom: 10px;
50
+ > div {
51
+ justify-content: space-between;
52
+ width: 100%;
53
+ }
54
+ }
55
+ ` : css`
56
+ flex-direction: row;
57
+ justify-content: space-between;
58
+ `}
59
+ `
60
+ export const OrderStatusSubFilterWrapper = styled.div`
61
+ flex: 1;
62
+ display: inline-block;
63
+ ${props => props.theme?.rtl ? css`
64
+ margin-left: 15px;
65
+ ` : css`
66
+ margin-right: 20px;
67
+ `}
68
+ ${({ isColumn }) => isColumn ? css`
69
+ width: 100%;
70
+ ` : css`
71
+ width: 50%;
72
+ `}
73
+ `
74
+
75
+ export const HeaderTitleContainer = styled.div`
76
+ flex: 1;
77
+ display: flex;
78
+ align-items: center;
79
+ h1 {
80
+ color: ${(props) => props.theme.colors.headingColor};
81
+ font-size: 20px;
82
+ font-weight: 700;
83
+ line-height: 30px;
84
+ margin: 0px;
85
+ text-transform: capitalize;
86
+ }
87
+ > button {
88
+ ${props => props.theme?.rtl ? css`
89
+ margin-left: 8px;
90
+ margin-right: -8px;
91
+ ` : css`
92
+ margin-right: 8px;
93
+ margin-left: -8px;
94
+ `}
95
+ svg {
96
+ width: 25px;
97
+ height: 25px;
98
+ }
99
+ }
100
+ `
101
+ export const MainContentContainer = styled.div`
102
+ margin-top: 15px;
103
+ `
104
+ export const TopContent = styled.div`
105
+ display: flex;
106
+ flex-direction: column-reverse;
107
+ margin-bottom: 20px;
108
+ border-bottom: 5px solid ${props => props.theme.colors.borderColor};
109
+ @media (min-width: 992px) {
110
+ flex-direction: row;
111
+ #orderTable {
112
+ max-height: calc(var(--vh, 1vh) * 100 - 475px);
113
+ }
114
+ }
115
+ `
116
+ export const WrapperDriversLocation = styled.div`
117
+ border-radius: 8px;
118
+ overflow: hidden;
119
+ height: 700px;
120
+ `
121
+ export const DriversContainer = styled.div`
122
+ box-sizing: border-box;
123
+ @media (min-width: 992px) {
124
+ ${props => props.theme?.rtl ? css`
125
+ border-left: 5px solid ${props => props.theme.colors.borderColor};
126
+ padding-left: 8px;
127
+ ` : css`
128
+ border-right: 5px solid ${props => props.theme.colors.borderColor};
129
+ padding-right: 8px;
130
+ `}
131
+ }
132
+ `
133
+
134
+ export const OrdersContainer = styled.div`
135
+ box-sizing: border-box;
136
+ ${props => props.theme?.rtl ? css`
137
+ padding-right: 8px;
138
+ ` : css`
139
+ padding-left: 8px;
140
+ `}
141
+ @media (min-width: 992px) {
142
+ width: calc(100% - 355px);
143
+ }
144
+ `