@fleetbase/fleetops-engine 0.6.25 → 0.6.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DRIVER_SCHEDULING.md +186 -0
- package/addon/components/driver/schedule.hbs +100 -0
- package/addon/components/driver/schedule.js +267 -0
- package/addon/components/order/kanban-card.hbs +2 -2
- package/addon/components/vehicle/details.hbs +594 -4
- package/addon/components/vehicle/form.hbs +467 -41
- package/addon/controllers/analytics/reports/index.js +3 -2
- package/addon/controllers/connectivity/devices/index.js +3 -3
- package/addon/controllers/connectivity/events/index.js +3 -2
- package/addon/controllers/connectivity/sensors/index.js +3 -5
- package/addon/controllers/connectivity/telematics/index.js +3 -1
- package/addon/controllers/maintenance/equipment/index.js +4 -4
- package/addon/controllers/maintenance/parts/index.js +4 -4
- package/addon/controllers/maintenance/work-orders/index.js +4 -4
- package/addon/controllers/management/contacts/customers.js +12 -10
- package/addon/controllers/management/contacts/index.js +3 -10
- package/addon/controllers/management/drivers/index/details.js +26 -13
- package/addon/controllers/management/drivers/index.js +4 -16
- package/addon/controllers/management/fleets/index.js +3 -13
- package/addon/controllers/management/fuel-reports/index.js +3 -10
- package/addon/controllers/management/issues/index.js +3 -12
- package/addon/controllers/management/places/index.js +4 -12
- package/addon/controllers/management/vehicles/index.js +3 -13
- package/addon/controllers/management/vendors/index.js +3 -13
- package/addon/controllers/operations/orders/index.js +5 -22
- package/addon/controllers/operations/scheduler/index.js +195 -6
- package/addon/controllers/operations/service-rates/index.js +34 -34
- package/addon/controllers/settings/payments/index.js +0 -6
- package/addon/routes.js +1 -0
- package/addon/services/driver-scheduling.js +171 -0
- package/addon/services/leaflet-layer-visibility-manager.js +4 -1
- package/addon/services/service-rate-actions.js +5 -1
- package/addon/templates/management/drivers/index/details/positions.hbs +1 -2
- package/addon/templates/management/drivers/index/details/schedule.hbs +1 -2
- package/addon/templates/operations/scheduler/index.hbs +48 -10
- package/addon/utils/fleet-ops-options.js +86 -0
- package/app/services/driver-scheduling.js +1 -0
- package/composer.json +1 -1
- package/extension.json +1 -1
- package/package.json +3 -3
- package/server/migrations/2025_11_17_033648_add_additional_columns_to_vehicles_table.php +142 -0
- package/server/src/Constraints/HOSConstraint.php +244 -0
- package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +8 -3
- package/server/src/Http/Resources/v1/Vehicle.php +197 -19
- package/server/src/Http/Resources/v1/VehicleWithoutDriver.php +211 -28
- package/server/src/Models/Driver.php +12 -8
- package/server/src/Models/Vehicle.php +101 -15
|
@@ -69,11 +69,11 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
69
69
|
get columns() {
|
|
70
70
|
return [
|
|
71
71
|
{
|
|
72
|
+
sticky: true,
|
|
72
73
|
label: this.intl.t('column.id'),
|
|
73
74
|
valuePath: 'public_id',
|
|
74
75
|
cellComponent: 'table/cell/anchor',
|
|
75
76
|
action: this.fuelReportActions.transition.view,
|
|
76
|
-
width: '130px',
|
|
77
77
|
resizable: true,
|
|
78
78
|
sortable: true,
|
|
79
79
|
filterable: true,
|
|
@@ -83,7 +83,6 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
83
83
|
{
|
|
84
84
|
label: this.intl.t('column.reporter'),
|
|
85
85
|
valuePath: 'reporter_name',
|
|
86
|
-
width: '100px',
|
|
87
86
|
resizable: true,
|
|
88
87
|
sortable: true,
|
|
89
88
|
filterable: true,
|
|
@@ -95,7 +94,6 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
95
94
|
{
|
|
96
95
|
label: this.intl.t('column.driver'),
|
|
97
96
|
valuePath: 'driver_name',
|
|
98
|
-
width: '120px',
|
|
99
97
|
cellComponent: 'table/cell/anchor',
|
|
100
98
|
permission: 'fleet-ops view driver',
|
|
101
99
|
onClick: this.fuelReportActions.viewDriver,
|
|
@@ -110,7 +108,6 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
110
108
|
{
|
|
111
109
|
label: this.intl.t('column.vehicle'),
|
|
112
110
|
valuePath: 'vehicle_name',
|
|
113
|
-
width: '100px',
|
|
114
111
|
cellComponent: 'table/cell/anchor',
|
|
115
112
|
permission: 'fleet-ops view vehicle',
|
|
116
113
|
onClick: this.fuelReportActions.viewVehicle,
|
|
@@ -127,7 +124,6 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
127
124
|
label: this.intl.t('column.status'),
|
|
128
125
|
valuePath: 'status',
|
|
129
126
|
cellComponent: 'table/cell/status',
|
|
130
|
-
width: '100px',
|
|
131
127
|
resizable: true,
|
|
132
128
|
sortable: true,
|
|
133
129
|
filterable: true,
|
|
@@ -137,7 +133,6 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
137
133
|
{
|
|
138
134
|
label: this.intl.t('column.volume'),
|
|
139
135
|
valuePath: 'volume',
|
|
140
|
-
width: '130px',
|
|
141
136
|
cellComponent: 'click-to-copy',
|
|
142
137
|
resizable: true,
|
|
143
138
|
sortable: true,
|
|
@@ -148,7 +143,6 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
148
143
|
{
|
|
149
144
|
label: this.intl.t('column.odometer'),
|
|
150
145
|
valuePath: 'odometer',
|
|
151
|
-
width: '130px',
|
|
152
146
|
cellComponent: 'click-to-copy',
|
|
153
147
|
resizable: true,
|
|
154
148
|
sortable: true,
|
|
@@ -160,7 +154,6 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
160
154
|
label: this.intl.t('column.created-at'),
|
|
161
155
|
valuePath: 'createdAt',
|
|
162
156
|
sortParam: 'created_at',
|
|
163
|
-
width: '120px',
|
|
164
157
|
resizable: true,
|
|
165
158
|
sortable: true,
|
|
166
159
|
filterable: true,
|
|
@@ -170,7 +163,6 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
170
163
|
label: this.intl.t('column.updated-at'),
|
|
171
164
|
valuePath: 'updatedAt',
|
|
172
165
|
sortParam: 'updated_at',
|
|
173
|
-
width: '120px',
|
|
174
166
|
resizable: true,
|
|
175
167
|
sortable: true,
|
|
176
168
|
hidden: true,
|
|
@@ -186,7 +178,8 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
186
178
|
ddMenuLabel: this.intl.t('common.resource-actions', { resource: this.intl.t('resource.fuel-report') }),
|
|
187
179
|
cellClassNames: 'overflow-visible',
|
|
188
180
|
wrapperClass: 'flex items-center justify-end mx-2',
|
|
189
|
-
|
|
181
|
+
sticky: 'right',
|
|
182
|
+
width: 60,
|
|
190
183
|
actions: [
|
|
191
184
|
{
|
|
192
185
|
label: this.intl.t('common.view-resource', { resource: this.intl.t('resource.fuel-report') }),
|
|
@@ -88,12 +88,12 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
88
88
|
get columns() {
|
|
89
89
|
return [
|
|
90
90
|
{
|
|
91
|
+
sticky: true,
|
|
91
92
|
label: this.intl.t('column.id'),
|
|
92
93
|
valuePath: 'public_id',
|
|
93
94
|
cellComponent: 'table/cell/anchor',
|
|
94
95
|
action: this.issueActions.transition.view,
|
|
95
96
|
permission: 'fleet-ops view issue',
|
|
96
|
-
width: '110px',
|
|
97
97
|
resizable: true,
|
|
98
98
|
sortable: true,
|
|
99
99
|
},
|
|
@@ -101,7 +101,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
101
101
|
label: this.intl.t('column.priority'),
|
|
102
102
|
valuePath: 'priority',
|
|
103
103
|
cellComponent: 'table/cell/status',
|
|
104
|
-
width: '100px',
|
|
105
104
|
resizable: true,
|
|
106
105
|
sortable: true,
|
|
107
106
|
filterable: true,
|
|
@@ -111,7 +110,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
111
110
|
{
|
|
112
111
|
label: this.intl.t('column.type'),
|
|
113
112
|
valuePath: 'type',
|
|
114
|
-
width: '100px',
|
|
115
113
|
humanize: true,
|
|
116
114
|
resizable: true,
|
|
117
115
|
sortable: true,
|
|
@@ -125,7 +123,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
125
123
|
{
|
|
126
124
|
label: this.intl.t('column.category'),
|
|
127
125
|
valuePath: 'category',
|
|
128
|
-
width: '120px',
|
|
129
126
|
humanize: true,
|
|
130
127
|
resizable: true,
|
|
131
128
|
sortable: true,
|
|
@@ -139,7 +136,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
139
136
|
{
|
|
140
137
|
label: this.intl.t('column.reporter'),
|
|
141
138
|
valuePath: 'reporter_name',
|
|
142
|
-
width: '100px',
|
|
143
139
|
permission: 'iam view user',
|
|
144
140
|
resizable: true,
|
|
145
141
|
sortable: true,
|
|
@@ -153,7 +149,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
153
149
|
{
|
|
154
150
|
label: this.intl.t('column.assignee'),
|
|
155
151
|
valuePath: 'assignee_name',
|
|
156
|
-
width: '100px',
|
|
157
152
|
permission: 'iam view user',
|
|
158
153
|
hidden: true,
|
|
159
154
|
resizable: true,
|
|
@@ -167,7 +162,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
167
162
|
{
|
|
168
163
|
label: this.intl.t('column.driver'),
|
|
169
164
|
valuePath: 'driver_name',
|
|
170
|
-
width: '100px',
|
|
171
165
|
cellComponent: 'table/cell/anchor',
|
|
172
166
|
permission: 'fleet-ops view driver',
|
|
173
167
|
onClick: this.issueActions.viewDriver,
|
|
@@ -182,7 +176,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
182
176
|
{
|
|
183
177
|
label: this.intl.t('column.vehicle'),
|
|
184
178
|
valuePath: 'vehicle_name',
|
|
185
|
-
width: '100px',
|
|
186
179
|
cellComponent: 'table/cell/anchor',
|
|
187
180
|
permission: 'fleet-ops view vehicle',
|
|
188
181
|
onClick: this.issueActions.viewVehicle,
|
|
@@ -199,7 +192,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
199
192
|
label: this.intl.t('column.status'),
|
|
200
193
|
valuePath: 'status',
|
|
201
194
|
cellComponent: 'table/cell/status',
|
|
202
|
-
width: '120px',
|
|
203
195
|
resizable: true,
|
|
204
196
|
sortable: true,
|
|
205
197
|
filterable: true,
|
|
@@ -210,7 +202,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
210
202
|
label: this.intl.t('column.created-at'),
|
|
211
203
|
valuePath: 'createdAt',
|
|
212
204
|
sortParam: 'created_at',
|
|
213
|
-
width: '120px',
|
|
214
205
|
resizable: true,
|
|
215
206
|
sortable: true,
|
|
216
207
|
filterable: true,
|
|
@@ -220,7 +211,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
220
211
|
label: this.intl.t('column.updated-at'),
|
|
221
212
|
valuePath: 'updatedAt',
|
|
222
213
|
sortParam: 'updated_at',
|
|
223
|
-
width: '120px',
|
|
224
214
|
resizable: true,
|
|
225
215
|
sortable: true,
|
|
226
216
|
hidden: true,
|
|
@@ -236,7 +226,8 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
236
226
|
ddMenuLabel: this.intl.t('common.resource-actions', { resource: this.intl.t('resource.issue') }),
|
|
237
227
|
cellClassNames: 'overflow-visible',
|
|
238
228
|
wrapperClass: 'flex items-center justify-end mx-2',
|
|
239
|
-
|
|
229
|
+
sticky: 'right',
|
|
230
|
+
width: 60,
|
|
240
231
|
actions: [
|
|
241
232
|
{
|
|
242
233
|
label: this.intl.t('common.view-resource', { resource: this.intl.t('resource.issue') }),
|
|
@@ -68,9 +68,9 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
68
68
|
get columns() {
|
|
69
69
|
return [
|
|
70
70
|
{
|
|
71
|
+
sticky: true,
|
|
71
72
|
label: this.intl.t('column.name'),
|
|
72
73
|
valuePath: 'name',
|
|
73
|
-
width: '180px',
|
|
74
74
|
cellComponent: 'table/cell/anchor',
|
|
75
75
|
cellClassNames: 'uppercase',
|
|
76
76
|
action: this.placeActions.transition.view,
|
|
@@ -83,12 +83,12 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
83
83
|
filterComponent: 'filter/string',
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
|
+
sticky: true,
|
|
86
87
|
label: this.intl.t('column.address'),
|
|
87
88
|
valuePath: 'address',
|
|
88
89
|
cellComponent: 'table/cell/anchor',
|
|
89
90
|
action: this.placeActions.transition.view,
|
|
90
91
|
permission: 'fleet-ops view place',
|
|
91
|
-
width: '320px',
|
|
92
92
|
resizable: true,
|
|
93
93
|
sortable: true,
|
|
94
94
|
filterable: true,
|
|
@@ -98,7 +98,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
98
98
|
{
|
|
99
99
|
label: this.intl.t('column.id'),
|
|
100
100
|
valuePath: 'public_id',
|
|
101
|
-
width: '120px',
|
|
102
101
|
cellComponent: 'click-to-copy',
|
|
103
102
|
resizable: true,
|
|
104
103
|
sortable: true,
|
|
@@ -113,7 +112,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
113
112
|
cellClassNames: 'uppercase',
|
|
114
113
|
action: this.placeActions.transition.view,
|
|
115
114
|
permission: 'fleet-ops view place',
|
|
116
|
-
width: '100px',
|
|
117
115
|
hidden: true,
|
|
118
116
|
resizable: true,
|
|
119
117
|
sortable: true,
|
|
@@ -128,7 +126,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
128
126
|
cellClassNames: 'uppercase',
|
|
129
127
|
action: this.placeActions.transition.view,
|
|
130
128
|
permission: 'fleet-ops view place',
|
|
131
|
-
width: '100px',
|
|
132
129
|
hidden: true,
|
|
133
130
|
resizable: true,
|
|
134
131
|
sortable: true,
|
|
@@ -142,7 +139,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
142
139
|
cellComponent: 'table/cell/anchor',
|
|
143
140
|
action: this.placeActions.transition.view,
|
|
144
141
|
permission: 'fleet-ops view place',
|
|
145
|
-
width: '100px',
|
|
146
142
|
resizable: true,
|
|
147
143
|
sortable: true,
|
|
148
144
|
filterable: true,
|
|
@@ -153,7 +149,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
153
149
|
valuePath: 'country_name',
|
|
154
150
|
cellComponent: 'table/cell/base',
|
|
155
151
|
cellClassNames: 'uppercase',
|
|
156
|
-
width: '120px',
|
|
157
152
|
resizable: true,
|
|
158
153
|
sortable: true,
|
|
159
154
|
filterable: true,
|
|
@@ -167,7 +162,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
167
162
|
cellClassNames: 'uppercase',
|
|
168
163
|
action: this.placeActions.transition.view,
|
|
169
164
|
permission: 'fleet-ops view place',
|
|
170
|
-
width: '100px',
|
|
171
165
|
hidden: true,
|
|
172
166
|
resizable: true,
|
|
173
167
|
sortable: true,
|
|
@@ -179,7 +173,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
179
173
|
label: this.intl.t('column.phone'),
|
|
180
174
|
valuePath: 'phone',
|
|
181
175
|
cellComponent: 'table/cell/base',
|
|
182
|
-
width: '120px',
|
|
183
176
|
hidden: true,
|
|
184
177
|
resizable: true,
|
|
185
178
|
sortable: true,
|
|
@@ -190,7 +183,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
190
183
|
label: this.intl.t('column.created-at'),
|
|
191
184
|
valuePath: 'createdAt',
|
|
192
185
|
sortParam: 'created_at',
|
|
193
|
-
width: '10%',
|
|
194
186
|
resizable: true,
|
|
195
187
|
sortable: true,
|
|
196
188
|
filterable: true,
|
|
@@ -200,7 +192,6 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
200
192
|
label: this.intl.t('column.updated-at'),
|
|
201
193
|
valuePath: 'updatedAt',
|
|
202
194
|
sortParam: 'updated_at',
|
|
203
|
-
width: '10%',
|
|
204
195
|
resizable: true,
|
|
205
196
|
sortable: true,
|
|
206
197
|
hidden: true,
|
|
@@ -217,7 +208,8 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
217
208
|
ddMenuLabel: this.intl.t('common.resource-actions', { resource: this.intl.t('resource.place') }),
|
|
218
209
|
cellClassNames: 'overflow-visible',
|
|
219
210
|
wrapperClass: 'flex items-center justify-end mx-2',
|
|
220
|
-
|
|
211
|
+
sticky: 'right',
|
|
212
|
+
width: 60,
|
|
221
213
|
actions: [
|
|
222
214
|
{
|
|
223
215
|
label: this.intl.t('common.view-resource', { resource: this.intl.t('resource.place') }),
|
|
@@ -120,10 +120,10 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
120
120
|
get columns() {
|
|
121
121
|
return [
|
|
122
122
|
{
|
|
123
|
+
sticky: true,
|
|
123
124
|
label: this.intl.t('column.name'),
|
|
124
125
|
valuePath: 'display_name',
|
|
125
126
|
photoPath: 'avatar_url',
|
|
126
|
-
width: '200px',
|
|
127
127
|
cellComponent: 'table/cell/vehicle-name',
|
|
128
128
|
permission: 'fleet-ops view vehicle',
|
|
129
129
|
action: this.vehicleActions.transition.view,
|
|
@@ -139,7 +139,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
139
139
|
valuePath: 'plate_number',
|
|
140
140
|
cellComponent: 'table/cell/base',
|
|
141
141
|
action: this.vehicleActions.transition.view,
|
|
142
|
-
width: '100px',
|
|
143
142
|
resizable: true,
|
|
144
143
|
sortable: true,
|
|
145
144
|
filterable: true,
|
|
@@ -150,7 +149,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
150
149
|
label: this.intl.t('column.internal-id'),
|
|
151
150
|
valuePath: 'internal_id',
|
|
152
151
|
cellComponent: 'table/cell/base',
|
|
153
|
-
width: '100px',
|
|
154
152
|
resizable: true,
|
|
155
153
|
sortable: true,
|
|
156
154
|
filterable: true,
|
|
@@ -168,7 +166,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
168
166
|
return this.driverActions.panel.view(driver);
|
|
169
167
|
},
|
|
170
168
|
valuePath: 'driver_name',
|
|
171
|
-
width: '120px',
|
|
172
169
|
resizable: true,
|
|
173
170
|
filterable: true,
|
|
174
171
|
filterComponent: 'filter/model',
|
|
@@ -180,7 +177,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
180
177
|
label: this.intl.t('column.id'),
|
|
181
178
|
valuePath: 'public_id',
|
|
182
179
|
cellComponent: 'click-to-copy',
|
|
183
|
-
width: '120px',
|
|
184
180
|
resizable: true,
|
|
185
181
|
sortable: true,
|
|
186
182
|
filterable: true,
|
|
@@ -190,7 +186,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
190
186
|
label: this.intl.t('column.make'),
|
|
191
187
|
valuePath: 'make',
|
|
192
188
|
cellComponent: 'table/cell/base',
|
|
193
|
-
width: '80px',
|
|
194
189
|
resizable: true,
|
|
195
190
|
sortable: true,
|
|
196
191
|
hidden: true,
|
|
@@ -202,7 +197,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
202
197
|
label: this.intl.t('column.model'),
|
|
203
198
|
valuePath: 'model',
|
|
204
199
|
cellComponent: 'table/cell/base',
|
|
205
|
-
width: '80px',
|
|
206
200
|
resizable: true,
|
|
207
201
|
sortable: true,
|
|
208
202
|
hidden: true,
|
|
@@ -214,7 +208,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
214
208
|
label: this.intl.t('column.year'),
|
|
215
209
|
valuePath: 'year',
|
|
216
210
|
cellComponent: 'table/cell/base',
|
|
217
|
-
width: '80px',
|
|
218
211
|
resizable: true,
|
|
219
212
|
sortable: true,
|
|
220
213
|
hidden: true,
|
|
@@ -231,7 +224,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
231
224
|
this.vendorActions.viewVendor(vendor);
|
|
232
225
|
},
|
|
233
226
|
valuePath: 'vendor_name',
|
|
234
|
-
width: '150px',
|
|
235
227
|
hidden: true,
|
|
236
228
|
resizable: true,
|
|
237
229
|
filterable: true,
|
|
@@ -244,7 +236,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
244
236
|
label: this.intl.t('column.status'),
|
|
245
237
|
valuePath: 'status',
|
|
246
238
|
cellComponent: 'table/cell/status',
|
|
247
|
-
width: '10%',
|
|
248
239
|
resizable: true,
|
|
249
240
|
sortable: true,
|
|
250
241
|
filterable: true,
|
|
@@ -255,7 +246,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
255
246
|
label: this.intl.t('column.created-at'),
|
|
256
247
|
valuePath: 'createdAt',
|
|
257
248
|
sortParam: 'created_at',
|
|
258
|
-
width: '120px',
|
|
259
249
|
resizable: true,
|
|
260
250
|
sortable: true,
|
|
261
251
|
filterable: true,
|
|
@@ -267,7 +257,6 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
267
257
|
label: this.intl.t('column.updated-at'),
|
|
268
258
|
valuePath: 'updatedAt',
|
|
269
259
|
sortParam: 'updated_at',
|
|
270
|
-
width: '12%',
|
|
271
260
|
resizable: true,
|
|
272
261
|
sortable: true,
|
|
273
262
|
hidden: true,
|
|
@@ -285,7 +274,8 @@ export default class ManagementVehiclesIndexController extends Controller {
|
|
|
285
274
|
ddMenuLabel: this.intl.t('common.resource-actions', { resource: this.intl.t('resource.vehicle') }),
|
|
286
275
|
cellClassNames: 'overflow-visible',
|
|
287
276
|
wrapperClass: 'flex items-center justify-end mx-2',
|
|
288
|
-
|
|
277
|
+
sticky: 'right',
|
|
278
|
+
width: 60,
|
|
289
279
|
actions: [
|
|
290
280
|
{
|
|
291
281
|
label: this.intl.t('common.view-resource', { resource: this.intl.t('resource.vehicle') }),
|
|
@@ -88,9 +88,9 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
88
88
|
get columns() {
|
|
89
89
|
return [
|
|
90
90
|
{
|
|
91
|
+
sticky: true,
|
|
91
92
|
label: this.intl.t('column.name'),
|
|
92
93
|
valuePath: 'name',
|
|
93
|
-
width: '190px',
|
|
94
94
|
cellComponent: 'table/cell/media-name',
|
|
95
95
|
mediaPath: 'logo_url',
|
|
96
96
|
action: this.vendorActions.transition.view,
|
|
@@ -104,7 +104,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
104
104
|
label: this.intl.t('column.id'),
|
|
105
105
|
valuePath: 'public_id',
|
|
106
106
|
cellComponent: 'click-to-copy',
|
|
107
|
-
width: '110px',
|
|
108
107
|
resizable: true,
|
|
109
108
|
sortable: true,
|
|
110
109
|
filterable: true,
|
|
@@ -114,7 +113,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
114
113
|
label: this.intl.t('column.internal-id'),
|
|
115
114
|
valuePath: 'internal_id',
|
|
116
115
|
cellComponent: 'click-to-copy',
|
|
117
|
-
width: '100px',
|
|
118
116
|
resizable: true,
|
|
119
117
|
sortable: true,
|
|
120
118
|
filterable: true,
|
|
@@ -124,7 +122,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
124
122
|
label: this.intl.t('column.email'),
|
|
125
123
|
valuePath: 'email',
|
|
126
124
|
cellComponent: 'click-to-copy',
|
|
127
|
-
width: '80px',
|
|
128
125
|
resizable: true,
|
|
129
126
|
sortable: true,
|
|
130
127
|
hidden: true,
|
|
@@ -135,7 +132,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
135
132
|
label: this.intl.t('column.website-url'),
|
|
136
133
|
valuePath: 'website_url',
|
|
137
134
|
cellComponent: 'click-to-copy',
|
|
138
|
-
width: '80px',
|
|
139
135
|
resizable: true,
|
|
140
136
|
sortable: true,
|
|
141
137
|
hidden: true,
|
|
@@ -146,7 +142,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
146
142
|
label: this.intl.t('column.phone'),
|
|
147
143
|
valuePath: 'phone',
|
|
148
144
|
cellComponent: 'click-to-copy',
|
|
149
|
-
width: '80px',
|
|
150
145
|
resizable: true,
|
|
151
146
|
sortable: true,
|
|
152
147
|
hidden: true,
|
|
@@ -158,7 +153,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
158
153
|
valuePath: 'address',
|
|
159
154
|
cellComponent: 'table/cell/anchor',
|
|
160
155
|
action: this.vendorActions.viewPlace,
|
|
161
|
-
width: '170px',
|
|
162
156
|
resizable: true,
|
|
163
157
|
sortable: true,
|
|
164
158
|
filterable: true,
|
|
@@ -169,7 +163,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
169
163
|
label: this.intl.t('column.type'),
|
|
170
164
|
valuePath: 'prettyType',
|
|
171
165
|
humanize: true,
|
|
172
|
-
width: '150px',
|
|
173
166
|
resizable: true,
|
|
174
167
|
sortable: true,
|
|
175
168
|
filterable: true,
|
|
@@ -181,7 +174,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
181
174
|
valuePath: 'country',
|
|
182
175
|
cellComponent: 'table/cell/base',
|
|
183
176
|
cellClassNames: 'uppercase',
|
|
184
|
-
width: '120px',
|
|
185
177
|
resizable: true,
|
|
186
178
|
sortable: true,
|
|
187
179
|
filterable: true,
|
|
@@ -193,7 +185,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
193
185
|
label: this.intl.t('column.created-at'),
|
|
194
186
|
valuePath: 'createdAt',
|
|
195
187
|
sortParam: 'created_at',
|
|
196
|
-
width: '170px',
|
|
197
188
|
resizable: true,
|
|
198
189
|
sortable: true,
|
|
199
190
|
filterable: true,
|
|
@@ -203,7 +194,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
203
194
|
label: this.intl.t('column.updated-at'),
|
|
204
195
|
valuePath: 'updatedAt',
|
|
205
196
|
sortParam: 'updated_at',
|
|
206
|
-
width: '170px',
|
|
207
197
|
resizable: true,
|
|
208
198
|
sortable: true,
|
|
209
199
|
hidden: true,
|
|
@@ -214,7 +204,6 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
214
204
|
label: this.intl.t('column.status'),
|
|
215
205
|
valuePath: 'status',
|
|
216
206
|
cellComponent: 'table/cell/status',
|
|
217
|
-
width: '100px',
|
|
218
207
|
resizable: true,
|
|
219
208
|
sortable: true,
|
|
220
209
|
filterable: true,
|
|
@@ -232,7 +221,8 @@ export default class ManagementVendorsIndexController extends Controller {
|
|
|
232
221
|
ddMenuLabel: this.intl.t('common.resource-actions', { resource: this.intl.t('resource.vendor') }),
|
|
233
222
|
cellClassNames: 'overflow-visible',
|
|
234
223
|
wrapperClass: 'flex items-center justify-end mx-2',
|
|
235
|
-
|
|
224
|
+
sticky: 'right',
|
|
225
|
+
width: 60,
|
|
236
226
|
actions: [
|
|
237
227
|
{
|
|
238
228
|
label: this.intl.t('common.view-resource', { resource: this.intl.t('resource.vendor') }),
|
|
@@ -124,9 +124,9 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
124
124
|
get columns() {
|
|
125
125
|
return [
|
|
126
126
|
{
|
|
127
|
+
sticky: true,
|
|
127
128
|
label: this.intl.t('column.id'),
|
|
128
129
|
valuePath: 'public_id',
|
|
129
|
-
width: '140px',
|
|
130
130
|
cellComponent: 'table/cell/link-to',
|
|
131
131
|
route: 'operations.orders.index.details',
|
|
132
132
|
onLinkClick: this.orderActions.transition.view,
|
|
@@ -140,7 +140,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
140
140
|
label: this.intl.t('column.internal-id'),
|
|
141
141
|
valuePath: 'internal_id',
|
|
142
142
|
cellComponent: 'click-to-copy',
|
|
143
|
-
width: '125px',
|
|
144
143
|
hidden: true,
|
|
145
144
|
resizable: true,
|
|
146
145
|
sortable: true,
|
|
@@ -153,7 +152,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
153
152
|
cellComponent: 'click-to-copy',
|
|
154
153
|
resizable: true,
|
|
155
154
|
hidden: true,
|
|
156
|
-
width: '125px',
|
|
157
155
|
filterable: true,
|
|
158
156
|
filterLabel: 'Payload ID',
|
|
159
157
|
filterParam: 'payload',
|
|
@@ -164,7 +162,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
164
162
|
cellComponent: 'cell/driver-name',
|
|
165
163
|
valuePath: 'driver_assigned',
|
|
166
164
|
modelPath: 'driver_assigned',
|
|
167
|
-
width: '210px',
|
|
168
165
|
resizable: true,
|
|
169
166
|
sortable: true,
|
|
170
167
|
filterable: true,
|
|
@@ -177,7 +174,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
177
174
|
label: this.intl.t('column.pickup'),
|
|
178
175
|
valuePath: 'pickupName',
|
|
179
176
|
cellComponent: 'table/cell/base',
|
|
180
|
-
width: '160px',
|
|
181
177
|
resizable: true,
|
|
182
178
|
sortable: true,
|
|
183
179
|
filterable: true,
|
|
@@ -192,7 +188,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
192
188
|
label: this.intl.t('column.dropoff'),
|
|
193
189
|
valuePath: 'dropoffName',
|
|
194
190
|
cellComponent: 'table/cell/base',
|
|
195
|
-
width: '160px',
|
|
196
191
|
resizable: true,
|
|
197
192
|
sortable: true,
|
|
198
193
|
filterable: true,
|
|
@@ -206,7 +201,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
206
201
|
label: this.intl.t('column.customer'),
|
|
207
202
|
valuePath: 'customer.name',
|
|
208
203
|
cellComponent: 'table/cell/base',
|
|
209
|
-
width: '125px',
|
|
210
204
|
resizable: true,
|
|
211
205
|
sortable: true,
|
|
212
206
|
hidden: false,
|
|
@@ -222,7 +216,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
222
216
|
valuePath: 'vehicle_assigned.display_name',
|
|
223
217
|
modelPath: 'vehicle_assigned',
|
|
224
218
|
showOnlineIndicator: true,
|
|
225
|
-
width: '170px',
|
|
226
219
|
hidden: true,
|
|
227
220
|
resizable: true,
|
|
228
221
|
sortable: true,
|
|
@@ -237,7 +230,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
237
230
|
label: this.intl.t('column.facilitator'),
|
|
238
231
|
valuePath: 'facilitator.name',
|
|
239
232
|
cellComponent: 'table/cell/base',
|
|
240
|
-
width: '125px',
|
|
241
233
|
resizable: true,
|
|
242
234
|
hidden: true,
|
|
243
235
|
sortable: true,
|
|
@@ -252,7 +244,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
252
244
|
valuePath: 'scheduledAt',
|
|
253
245
|
sortParam: 'scheduled_at',
|
|
254
246
|
filterParam: 'scheduled_at',
|
|
255
|
-
width: '150px',
|
|
256
247
|
resizable: true,
|
|
257
248
|
sortable: true,
|
|
258
249
|
filterable: true,
|
|
@@ -264,13 +255,11 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
264
255
|
valuePath: 'item_count',
|
|
265
256
|
resizable: true,
|
|
266
257
|
hidden: true,
|
|
267
|
-
width: '50px',
|
|
268
258
|
},
|
|
269
259
|
{
|
|
270
260
|
label: this.intl.t('column.transaction'),
|
|
271
261
|
cellComponent: 'table/cell/base',
|
|
272
262
|
valuePath: 'transaction_amount',
|
|
273
|
-
width: '50px',
|
|
274
263
|
resizable: true,
|
|
275
264
|
hidden: true,
|
|
276
265
|
sortable: true,
|
|
@@ -279,7 +268,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
279
268
|
label: this.intl.t('column.tracking'),
|
|
280
269
|
valuePath: 'tracking_number.tracking_number',
|
|
281
270
|
cellComponent: 'click-to-copy',
|
|
282
|
-
width: '170px',
|
|
283
271
|
resizable: true,
|
|
284
272
|
sortable: true,
|
|
285
273
|
filterable: true,
|
|
@@ -288,7 +276,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
288
276
|
{
|
|
289
277
|
label: this.intl.t('column.type'),
|
|
290
278
|
valuePath: 'type',
|
|
291
|
-
width: '100px',
|
|
292
279
|
resizable: true,
|
|
293
280
|
hidden: true,
|
|
294
281
|
sortable: true,
|
|
@@ -301,7 +288,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
301
288
|
label: this.intl.t('column.status'),
|
|
302
289
|
valuePath: 'status',
|
|
303
290
|
cellComponent: 'table/cell/status',
|
|
304
|
-
width: '120px',
|
|
305
291
|
resizable: true,
|
|
306
292
|
sortable: true,
|
|
307
293
|
filterable: true,
|
|
@@ -310,10 +296,9 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
310
296
|
},
|
|
311
297
|
{
|
|
312
298
|
label: this.intl.t('column.created-at'),
|
|
313
|
-
valuePath: '
|
|
299
|
+
valuePath: 'createdAt',
|
|
314
300
|
sortParam: 'created_at',
|
|
315
301
|
filterParam: 'created_at',
|
|
316
|
-
width: '140px',
|
|
317
302
|
resizable: true,
|
|
318
303
|
sortable: true,
|
|
319
304
|
filterable: true,
|
|
@@ -321,10 +306,9 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
321
306
|
},
|
|
322
307
|
{
|
|
323
308
|
label: this.intl.t('column.updated-at'),
|
|
324
|
-
valuePath: '
|
|
309
|
+
valuePath: 'updatedAt',
|
|
325
310
|
sortParam: 'updated_at',
|
|
326
311
|
filterParam: 'updated_at',
|
|
327
|
-
width: '125px',
|
|
328
312
|
resizable: true,
|
|
329
313
|
sortable: true,
|
|
330
314
|
hidden: true,
|
|
@@ -334,7 +318,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
334
318
|
{
|
|
335
319
|
label: this.intl.t('column.created-by'),
|
|
336
320
|
valuePath: 'created_by_name',
|
|
337
|
-
width: '125px',
|
|
338
321
|
resizable: true,
|
|
339
322
|
hidden: true,
|
|
340
323
|
filterable: true,
|
|
@@ -346,7 +329,6 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
346
329
|
{
|
|
347
330
|
label: this.intl.t('column.updated-by'),
|
|
348
331
|
valuePath: 'updated_by_name',
|
|
349
|
-
width: '125px',
|
|
350
332
|
resizable: true,
|
|
351
333
|
hidden: true,
|
|
352
334
|
filterable: true,
|
|
@@ -374,7 +356,8 @@ export default class OperationsOrdersIndexController extends Controller {
|
|
|
374
356
|
ddMenuLabel: this.intl.t('common.resource-actions', { resource: this.intl.t('resource.order') }),
|
|
375
357
|
cellClassNames: 'overflow-visible',
|
|
376
358
|
wrapperClass: 'flex items-center justify-end mx-2',
|
|
377
|
-
|
|
359
|
+
sticky: 'right',
|
|
360
|
+
width: 60,
|
|
378
361
|
actions: [
|
|
379
362
|
{
|
|
380
363
|
label: this.intl.t('common.view-resource', { resource: this.intl.t('resource.order') }),
|