@fleetbase/fleetops-engine 0.3.2 → 0.3.4
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/addon/components/admin/visibility-controls.js +1 -0
- package/addon/components/contact-form-panel.hbs +28 -6
- package/addon/components/driver-form-panel.hbs +10 -0
- package/addon/components/driver-form-panel.js +51 -0
- package/addon/components/driver-panel/details.hbs +1 -5
- package/addon/components/driver-panel.hbs +21 -3
- package/addon/components/fleet-form-panel.hbs +60 -6
- package/addon/components/fleet-panel/details.hbs +1 -1
- package/addon/components/fuel-report-form-panel.hbs +84 -8
- package/addon/components/fuel-report-form-panel.js +6 -0
- package/addon/components/fuel-report-panel/details.hbs +4 -0
- package/addon/components/issue-form-panel.hbs +99 -11
- package/addon/components/issue-form-panel.js +5 -13
- package/addon/components/layout/fleet-ops-sidebar.js +10 -1
- package/addon/components/live-map-drawer/driver-listing.hbs +6 -0
- package/addon/components/live-map-drawer/driver-listing.js +240 -0
- package/addon/components/live-map-drawer/place-listing.hbs +6 -0
- package/addon/components/live-map-drawer/place-listing.js +204 -0
- package/addon/components/live-map-drawer/vehicle-listing.hbs +6 -0
- package/addon/components/live-map-drawer/vehicle-listing.js +216 -0
- package/addon/components/live-map-drawer.hbs +17 -0
- package/addon/components/live-map-drawer.js +104 -0
- package/addon/components/live-map.hbs +5 -1
- package/addon/components/live-map.js +107 -15
- package/addon/components/map-container/toolbar.hbs +6 -0
- package/addon/components/modals/driver-assign-vehicle.hbs +2 -11
- package/addon/components/modals/driver-assign-vendor.hbs +1 -9
- package/addon/components/modals/fuel-report-details.hbs +4 -0
- package/addon/components/modals/order-event.hbs +1 -1
- package/addon/components/order/schedule-card.hbs +35 -7
- package/addon/components/order/schedule-card.js +163 -6
- package/addon/components/place-form-panel.hbs +14 -7
- package/addon/components/place-form-panel.js +71 -0
- package/addon/components/place-panel/details.hbs +11 -21
- package/addon/components/vehicle-form-panel.hbs +67 -7
- package/addon/components/vehicle-form-panel.js +37 -0
- package/addon/components/vehicle-panel/details.hbs +9 -5
- package/addon/components/vehicle-panel.hbs +18 -4
- package/addon/components/vendor-form-panel/create-form.hbs +72 -11
- package/addon/components/vendor-form-panel/edit-form.hbs +1 -1
- package/addon/components/vendor-form-panel.hbs +70 -30
- package/addon/components/vendor-form-panel.js +4 -40
- package/addon/components/vendor-panel/details.hbs +2 -2
- package/addon/components/vendor-panel.hbs +16 -2
- package/addon/controllers/management/contacts/index.js +42 -3
- package/addon/controllers/management/fleets/index.js +12 -23
- package/addon/controllers/management/fuel-reports/index/new.js +1 -1
- package/addon/controllers/management/fuel-reports/index.js +73 -20
- package/addon/controllers/management/issues/index/new.js +2 -2
- package/addon/controllers/management/issues/index.js +65 -45
- package/addon/controllers/management/places/index.js +59 -18
- package/addon/controllers/management/vehicles/index.js +67 -8
- package/addon/controllers/management/vendors/index.js +63 -8
- package/addon/controllers/operations/orders/index.js +70 -15
- package/addon/controllers/operations/scheduler/index.js +45 -30
- package/addon/routes/management/contacts/index.js +8 -0
- package/addon/routes/management/fleets/index.js +8 -2
- package/addon/routes/management/fuel-reports/index.js +6 -0
- package/addon/routes/management/issues/index.js +9 -1
- package/addon/routes/management/places/index.js +11 -1
- package/addon/routes/management/vehicles/index.js +3 -3
- package/addon/routes/management/vendors/index.js +8 -0
- package/addon/routes/operations/scheduler/index.js +26 -1
- package/addon/styles/fleetops-engine.css +28 -0
- package/addon/templates/operations/orders/index.hbs +2 -2
- package/addon/templates/operations/scheduler/index.hbs +33 -9
- package/addon/utils/create-full-calendar-event-from-order.js +8 -0
- package/addon/utils/get-issue-categories.js +30 -0
- package/addon/utils/get-issue-types.js +3 -0
- package/addon/utils/get-vendor-status-options.js +3 -0
- package/addon/utils/get-vendor-type-options.js +41 -0
- package/app/components/live-map-drawer/driver-listing.js +1 -0
- package/app/components/live-map-drawer/place-listing.js +1 -0
- package/app/components/live-map-drawer/vehicle-listing.js +1 -0
- package/app/components/live-map-drawer.js +1 -0
- package/app/utils/create-full-calendar-event-from-order.js +1 -0
- package/app/utils/get-issue-categories.js +1 -0
- package/app/utils/get-issue-types.js +1 -0
- package/app/utils/get-vendor-categories.js +1 -0
- package/app/utils/get-vendor-status-options.js +1 -0
- package/app/utils/get-vendor-type-options.js +1 -0
- package/app/utils/get-vendor-types.js +1 -0
- package/composer.json +1 -1
- package/extension.json +1 -1
- package/package.json +4 -4
- package/server/migrations/2023_11_09_041807_add_status_column_to_fuel_reports_table.php +32 -0
- package/server/migrations/2023_11_15_062814_add_comments_column_and_resolved_at_column_to_vehicle_device_events_table.php +33 -0
- package/server/src/Http/Controllers/Api/v1/DriverController.php +2 -2
- package/server/src/Http/Controllers/Api/v1/VehicleController.php +2 -2
- package/server/src/Http/Controllers/Internal/v1/DriverController.php +5 -13
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +1 -3
- package/server/src/Http/Filter/ContactFilter.php +10 -0
- package/server/src/Http/Filter/FleetFilter.php +8 -6
- package/server/src/Http/Filter/FuelReportFilter.php +51 -0
- package/server/src/Http/Filter/IssueFilter.php +61 -5
- package/server/src/Http/Filter/PlaceFilter.php +48 -6
- package/server/src/Http/Filter/VehicleFilter.php +21 -6
- package/server/src/Http/Filter/VendorFilter.php +11 -8
- package/server/src/Http/Middleware/TransformLocationMiddleware.php +1 -1
- package/server/src/Http/Resources/Internal/v1/IntegratedVendorFacilitator.php +17 -18
- package/server/src/Http/Resources/v1/Contact.php +16 -19
- package/server/src/Http/Resources/v1/CurrentJob.php +13 -16
- package/server/src/Http/Resources/v1/Driver.php +59 -57
- package/server/src/Http/Resources/v1/Entity.php +30 -33
- package/server/src/Http/Resources/v1/FuelReport.php +16 -14
- package/server/src/Http/Resources/v1/Order.php +1 -1
- package/server/src/Http/Resources/v1/Payload.php +21 -24
- package/server/src/Http/Resources/v1/Place.php +27 -30
- package/server/src/Http/Resources/v1/Proof.php +13 -16
- package/server/src/Http/Resources/v1/PurchaseRate.php +14 -17
- package/server/src/Http/Resources/v1/ServiceArea.php +13 -16
- package/server/src/Http/Resources/v1/ServiceQuote.php +15 -18
- package/server/src/Http/Resources/v1/ServiceRate.php +33 -36
- package/server/src/Http/Resources/v1/ServiceRateFee.php +14 -17
- package/server/src/Http/Resources/v1/ServiceRateParcelFee.php +9 -12
- package/server/src/Http/Resources/v1/TrackingNumber.php +18 -21
- package/server/src/Http/Resources/v1/TrackingStatus.php +18 -21
- package/server/src/Http/Resources/v1/Vehicle.php +31 -34
- package/server/src/Http/Resources/v1/VehicleDevice.php +23 -25
- package/server/src/Http/Resources/v1/VehicleWithoutDriver.php +38 -32
- package/server/src/Http/Resources/v1/Vendor.php +31 -26
- package/server/src/Http/Resources/v1/Zone.php +14 -17
- package/server/src/Models/Driver.php +7 -1
- package/server/src/Models/FuelReport.php +2 -1
- package/server/src/Models/IntegratedVendor.php +6 -1
- package/server/src/Models/Order.php +24 -2
- package/server/src/Models/Place.php +2 -2
- package/server/src/Models/VehicleDevice.php +1 -1
- package/server/src/Models/VehicleDeviceEvent.php +2 -1
- package/server/src/Models/Vendor.php +1 -1
- package/server/src/Observers/DriverObserver.php +15 -0
- package/server/src/Observers/FleetObserver.php +19 -0
- package/server/src/Providers/FleetOpsServiceProvider.php +1 -0
- package/addon/components/full-calendar/draggable.js +0 -1
- package/addon/components/full-calendar.js +0 -1
- package/app/components/full-calendar/draggable.js +0 -1
- package/app/components/full-calendar.js +0 -1
|
@@ -68,7 +68,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
68
68
|
*
|
|
69
69
|
* @var {Array}
|
|
70
70
|
*/
|
|
71
|
-
queryParams = ['page', 'limit', 'sort', 'query', 'public_id', 'internal_id', 'vehicle', 'driver', 'created_by', 'updated_by', 'status'];
|
|
71
|
+
queryParams = ['page', 'limit', 'sort', 'query', 'public_id', 'internal_id', 'vehicle', 'driver', 'created_by', 'updated_by', 'status', 'country', 'volume', 'odometer'];
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* The current page of data being viewed
|
|
@@ -119,6 +119,27 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
119
119
|
*/
|
|
120
120
|
@tracked vehicle;
|
|
121
121
|
|
|
122
|
+
/**
|
|
123
|
+
* The filterable param `vehicle`
|
|
124
|
+
*
|
|
125
|
+
* @var {String}
|
|
126
|
+
*/
|
|
127
|
+
@tracked reporter;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* The filterable param `vehicle`
|
|
131
|
+
*
|
|
132
|
+
* @var {String}
|
|
133
|
+
*/
|
|
134
|
+
@tracked volume;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* The filterable param `vehicle`
|
|
138
|
+
*
|
|
139
|
+
* @var {String}
|
|
140
|
+
*/
|
|
141
|
+
@tracked odometer;
|
|
142
|
+
|
|
122
143
|
/**
|
|
123
144
|
* The filterable param `status`
|
|
124
145
|
*
|
|
@@ -135,14 +156,34 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
135
156
|
{
|
|
136
157
|
label: 'ID',
|
|
137
158
|
valuePath: 'public_id',
|
|
138
|
-
width: '
|
|
139
|
-
cellComponent: '
|
|
140
|
-
action: this.viewFuelReport,
|
|
159
|
+
width: '130px',
|
|
160
|
+
cellComponent: 'click-to-copy',
|
|
141
161
|
resizable: true,
|
|
142
162
|
sortable: true,
|
|
143
163
|
filterable: true,
|
|
164
|
+
hidden: false,
|
|
144
165
|
filterComponent: 'filter/string',
|
|
145
166
|
},
|
|
167
|
+
{
|
|
168
|
+
label: 'Reporter',
|
|
169
|
+
valuePath: 'reporter_name',
|
|
170
|
+
width: '100px',
|
|
171
|
+
cellComponent: 'table/cell/anchor',
|
|
172
|
+
onClick: async (issue) => {
|
|
173
|
+
let reporter = await issue.loadDReporter();
|
|
174
|
+
|
|
175
|
+
if (reporter) {
|
|
176
|
+
this.contextPanel.focus(reporter);
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
resizable: true,
|
|
180
|
+
sortable: true,
|
|
181
|
+
filterable: true,
|
|
182
|
+
filterComponent: 'filter/model',
|
|
183
|
+
filterComponentPlaceholder: 'Select reporter',
|
|
184
|
+
filterParam: 'reporter',
|
|
185
|
+
model: 'user',
|
|
186
|
+
},
|
|
146
187
|
{
|
|
147
188
|
label: 'Driver',
|
|
148
189
|
valuePath: 'driver_name',
|
|
@@ -166,10 +207,10 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
166
207
|
{
|
|
167
208
|
label: 'Vehicle',
|
|
168
209
|
valuePath: 'vehicle_name',
|
|
169
|
-
width: '
|
|
210
|
+
width: '100px',
|
|
170
211
|
cellComponent: 'table/cell/anchor',
|
|
171
|
-
onClick: async (
|
|
172
|
-
let vehicle = await
|
|
212
|
+
onClick: async (issue) => {
|
|
213
|
+
let vehicle = await issue.loadVehicle();
|
|
173
214
|
|
|
174
215
|
if (vehicle) {
|
|
175
216
|
this.contextPanel.focus(vehicle);
|
|
@@ -182,34 +223,46 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
182
223
|
filterComponentPlaceholder: 'Select vehicle',
|
|
183
224
|
filterParam: 'vehicle',
|
|
184
225
|
model: 'vehicle',
|
|
226
|
+
modelNamePath: 'displayName',
|
|
185
227
|
},
|
|
186
228
|
{
|
|
187
|
-
label: '
|
|
188
|
-
valuePath: '
|
|
189
|
-
cellComponent: 'table/cell/
|
|
229
|
+
label: 'Status',
|
|
230
|
+
valuePath: 'status',
|
|
231
|
+
cellComponent: 'table/cell/status',
|
|
190
232
|
width: '100px',
|
|
191
233
|
resizable: true,
|
|
192
234
|
sortable: true,
|
|
193
|
-
hidden: true,
|
|
194
235
|
filterable: true,
|
|
236
|
+
filterComponent: 'filter/multi-option',
|
|
237
|
+
filterOptions: ['draft', 'pending-approval', 'approved', 'rejected', 'revised', 'submitted', 'in-review', 'confirmed', 'processed', 'archived', 'cancelled'],
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
label: 'volume',
|
|
241
|
+
valuePath: 'volume',
|
|
242
|
+
width: '130px',
|
|
243
|
+
cellComponent: 'click-to-copy',
|
|
244
|
+
resizable: true,
|
|
245
|
+
sortable: true,
|
|
246
|
+
filterable: true,
|
|
247
|
+
hidden: false,
|
|
195
248
|
filterComponent: 'filter/string',
|
|
196
249
|
},
|
|
197
250
|
{
|
|
198
|
-
label: '
|
|
199
|
-
valuePath: '
|
|
200
|
-
|
|
201
|
-
|
|
251
|
+
label: 'odometer',
|
|
252
|
+
valuePath: 'odometer',
|
|
253
|
+
width: '130px',
|
|
254
|
+
cellComponent: 'click-to-copy',
|
|
202
255
|
resizable: true,
|
|
203
256
|
sortable: true,
|
|
204
257
|
filterable: true,
|
|
205
|
-
|
|
206
|
-
|
|
258
|
+
hidden: false,
|
|
259
|
+
filterComponent: 'filter/string',
|
|
207
260
|
},
|
|
208
261
|
{
|
|
209
262
|
label: 'Created At',
|
|
210
263
|
valuePath: 'createdAt',
|
|
211
264
|
sortParam: 'created_at',
|
|
212
|
-
width: '
|
|
265
|
+
width: '120px',
|
|
213
266
|
resizable: true,
|
|
214
267
|
sortable: true,
|
|
215
268
|
filterable: true,
|
|
@@ -219,7 +272,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
219
272
|
label: 'Updated At',
|
|
220
273
|
valuePath: 'updatedAt',
|
|
221
274
|
sortParam: 'updated_at',
|
|
222
|
-
width: '
|
|
275
|
+
width: '120px',
|
|
223
276
|
resizable: true,
|
|
224
277
|
sortable: true,
|
|
225
278
|
hidden: true,
|
|
@@ -348,7 +401,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
348
401
|
@action bulkDeleteFuelReports() {
|
|
349
402
|
const selected = this.table.selectedRows;
|
|
350
403
|
|
|
351
|
-
this.crud.
|
|
404
|
+
this.crud.bulkDelete(selected, {
|
|
352
405
|
modelNamePath: `name`,
|
|
353
406
|
acceptButtonText: 'Delete Fuel Reports',
|
|
354
407
|
onSuccess: () => {
|
|
@@ -43,7 +43,7 @@ export default class ManagementIssuesIndexNewController extends Controller {
|
|
|
43
43
|
*
|
|
44
44
|
* @var {issueModel}
|
|
45
45
|
*/
|
|
46
|
-
@tracked issue = this.store.createRecord('issue', { reporter: this.currentUser.user, status: 'pending', priority: 'low' });
|
|
46
|
+
@tracked issue = this.store.createRecord('issue', { reporter: this.currentUser.user, status: 'pending', priority: 'low', type: 'operational' });
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
49
|
* Set the overlay component context object.
|
|
@@ -89,6 +89,6 @@ export default class ManagementIssuesIndexNewController extends Controller {
|
|
|
89
89
|
* @memberof ManagementissuesIndexNewController
|
|
90
90
|
*/
|
|
91
91
|
resetForm() {
|
|
92
|
-
this.issue = this.store.createRecord('issue', { reporter: this.currentUser.user, status: 'pending', priority: 'low' });
|
|
92
|
+
this.issue = this.store.createRecord('issue', { reporter: this.currentUser.user, status: 'pending', priority: 'low', type: 'operational' });
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -5,6 +5,8 @@ import { action } from '@ember/object';
|
|
|
5
5
|
import { isBlank } from '@ember/object';
|
|
6
6
|
import { timeout } from 'ember-concurrency';
|
|
7
7
|
import { task } from 'ember-concurrency-decorators';
|
|
8
|
+
import getIssueTypes from '../../../utils/get-issue-types';
|
|
9
|
+
import getIssueCategories from '../../../utils/get-issue-categories';
|
|
8
10
|
|
|
9
11
|
export default class ManagementIssuesIndexController extends Controller {
|
|
10
12
|
/**
|
|
@@ -59,19 +61,18 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
59
61
|
'limit',
|
|
60
62
|
'sort',
|
|
61
63
|
'query',
|
|
62
|
-
'status',
|
|
63
64
|
'public_id',
|
|
64
|
-
'
|
|
65
|
-
'payload',
|
|
66
|
-
'tracking_number',
|
|
67
|
-
'facilitator',
|
|
68
|
-
'customer',
|
|
65
|
+
'issue_id',
|
|
69
66
|
'driver',
|
|
70
|
-
'
|
|
71
|
-
'
|
|
67
|
+
'vehicle',
|
|
68
|
+
'assignee',
|
|
69
|
+
'reporter',
|
|
72
70
|
'created_by',
|
|
73
71
|
'updated_by',
|
|
74
72
|
'status',
|
|
73
|
+
'priority',
|
|
74
|
+
'cateogry',
|
|
75
|
+
'type',
|
|
75
76
|
];
|
|
76
77
|
|
|
77
78
|
/**
|
|
@@ -103,81 +104,67 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
103
104
|
@tracked public_id;
|
|
104
105
|
|
|
105
106
|
/**
|
|
106
|
-
* The filterable param `
|
|
107
|
-
*
|
|
108
|
-
* @var {String}
|
|
109
|
-
*/
|
|
110
|
-
@tracked internal_id;
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* The filterable param `tracking` for `tracking_number`
|
|
107
|
+
* The filterable param `status`
|
|
114
108
|
*
|
|
115
109
|
* @var {String}
|
|
116
110
|
*/
|
|
117
|
-
@tracked
|
|
111
|
+
@tracked status;
|
|
118
112
|
|
|
119
113
|
/**
|
|
120
|
-
* The filterable param `
|
|
114
|
+
* The filterable param `priority`
|
|
121
115
|
*
|
|
122
|
-
* @var {String}
|
|
116
|
+
* @var {Array|String}
|
|
123
117
|
*/
|
|
124
|
-
@tracked
|
|
118
|
+
@tracked priority;
|
|
125
119
|
|
|
126
120
|
/**
|
|
127
|
-
* The filterable param `
|
|
121
|
+
* The filterable param `priority`
|
|
128
122
|
*
|
|
129
|
-
* @var {String}
|
|
123
|
+
* @var {Array|String}
|
|
130
124
|
*/
|
|
131
|
-
@tracked
|
|
125
|
+
@tracked status;
|
|
132
126
|
|
|
133
127
|
/**
|
|
134
|
-
* The filterable param `
|
|
128
|
+
* The filterable param `type`
|
|
135
129
|
*
|
|
136
130
|
* @var {String}
|
|
137
131
|
*/
|
|
138
|
-
@tracked
|
|
132
|
+
@tracked type;
|
|
139
133
|
|
|
140
134
|
/**
|
|
141
|
-
* The filterable param `
|
|
135
|
+
* The filterable param `category`
|
|
142
136
|
*
|
|
143
137
|
* @var {String}
|
|
144
138
|
*/
|
|
145
|
-
@tracked
|
|
139
|
+
@tracked category;
|
|
146
140
|
|
|
147
141
|
/**
|
|
148
|
-
* The filterable param `
|
|
142
|
+
* The filterable param `vehicle`
|
|
149
143
|
*
|
|
150
144
|
* @var {String}
|
|
151
145
|
*/
|
|
152
|
-
@tracked
|
|
146
|
+
@tracked vehicle;
|
|
153
147
|
|
|
154
148
|
/**
|
|
155
|
-
* The filterable param `
|
|
149
|
+
* The filterable param `driver`
|
|
156
150
|
*
|
|
157
151
|
* @var {String}
|
|
158
152
|
*/
|
|
159
|
-
@tracked
|
|
153
|
+
@tracked driver;
|
|
160
154
|
|
|
161
155
|
/**
|
|
162
|
-
* The filterable param `
|
|
156
|
+
* The filterable param `assignee`
|
|
163
157
|
*
|
|
164
158
|
* @var {String}
|
|
165
159
|
*/
|
|
166
|
-
@tracked
|
|
160
|
+
@tracked assignee;
|
|
167
161
|
|
|
168
162
|
/**
|
|
169
|
-
* The filterable param `
|
|
163
|
+
* The filterable param `reporter`
|
|
170
164
|
*
|
|
171
165
|
* @var {String}
|
|
172
166
|
*/
|
|
173
|
-
@tracked
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* The filterable param `status`
|
|
177
|
-
*
|
|
178
|
-
* @var {Array}
|
|
179
|
-
*/
|
|
180
|
-
@tracked status;
|
|
167
|
+
@tracked reporter;
|
|
181
168
|
|
|
182
169
|
/**
|
|
183
170
|
* All columns applicable for orders
|
|
@@ -212,7 +199,9 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
212
199
|
resizable: true,
|
|
213
200
|
sortable: true,
|
|
214
201
|
filterable: true,
|
|
215
|
-
filterComponent: 'filter/
|
|
202
|
+
filterComponent: 'filter/select',
|
|
203
|
+
filterOptions: getIssueTypes(),
|
|
204
|
+
placeholder: 'Select issue type',
|
|
216
205
|
},
|
|
217
206
|
{
|
|
218
207
|
label: 'Category',
|
|
@@ -221,21 +210,49 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
221
210
|
resizable: true,
|
|
222
211
|
sortable: true,
|
|
223
212
|
filterable: true,
|
|
224
|
-
filterComponent: 'filter/
|
|
213
|
+
filterComponent: 'filter/select',
|
|
214
|
+
filterOptions: getIssueCategories(),
|
|
215
|
+
placeholder: 'Select issue category',
|
|
225
216
|
},
|
|
226
217
|
{
|
|
227
218
|
label: 'Reporter',
|
|
228
219
|
valuePath: 'reporter_name',
|
|
229
|
-
width: '
|
|
220
|
+
width: '100px',
|
|
221
|
+
cellComponent: 'table/cell/anchor',
|
|
222
|
+
onClick: async (issue) => {
|
|
223
|
+
let reporter = await issue.loadDReporter();
|
|
224
|
+
|
|
225
|
+
if (reporter) {
|
|
226
|
+
this.contextPanel.focus(reporter);
|
|
227
|
+
}
|
|
228
|
+
},
|
|
230
229
|
resizable: true,
|
|
231
230
|
sortable: true,
|
|
231
|
+
filterable: true,
|
|
232
|
+
filterComponent: 'filter/model',
|
|
233
|
+
filterComponentPlaceholder: 'Select reporter',
|
|
234
|
+
filterParam: 'reporter',
|
|
235
|
+
model: 'user',
|
|
232
236
|
},
|
|
233
237
|
{
|
|
234
238
|
label: 'Assignee',
|
|
235
239
|
valuePath: 'assignee_name',
|
|
236
240
|
width: '100px',
|
|
241
|
+
cellComponent: 'table/cell/anchor',
|
|
242
|
+
onClick: async (issue) => {
|
|
243
|
+
let assignee = await issue.loadDAssignee();
|
|
244
|
+
|
|
245
|
+
if (assignee) {
|
|
246
|
+
this.contextPanel.focus(assignee);
|
|
247
|
+
}
|
|
248
|
+
},
|
|
237
249
|
resizable: true,
|
|
238
250
|
sortable: true,
|
|
251
|
+
filterable: true,
|
|
252
|
+
filterComponent: 'filter/model',
|
|
253
|
+
filterComponentPlaceholder: 'Select assignee',
|
|
254
|
+
filterParam: 'assignee',
|
|
255
|
+
model: 'user',
|
|
239
256
|
},
|
|
240
257
|
{
|
|
241
258
|
label: 'Driver',
|
|
@@ -276,6 +293,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
276
293
|
filterComponentPlaceholder: 'Select vehicle',
|
|
277
294
|
filterParam: 'vehicle',
|
|
278
295
|
model: 'vehicle',
|
|
296
|
+
modelNamePath: 'displayName',
|
|
279
297
|
},
|
|
280
298
|
{
|
|
281
299
|
label: 'Status',
|
|
@@ -285,6 +303,8 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
285
303
|
resizable: true,
|
|
286
304
|
sortable: true,
|
|
287
305
|
filterable: true,
|
|
306
|
+
filterComponent: 'filter/multi-option',
|
|
307
|
+
filterOptions: ['pending', 'in-progress', 'backlogged', 'requires-update', 'in-review', 're-opened', 'duplicate', 'pending-review', 'escalated', 'completed', 'canceled'],
|
|
288
308
|
},
|
|
289
309
|
{
|
|
290
310
|
label: 'Created At',
|
|
@@ -60,7 +60,7 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
60
60
|
*
|
|
61
61
|
* @var {Array}
|
|
62
62
|
*/
|
|
63
|
-
queryParams = ['page', 'limit', 'sort', 'query', 'public_id', '
|
|
63
|
+
queryParams = ['name', 'page', 'limit', 'sort', 'query', 'public_id', 'country', 'phone', 'created_at', 'updated_at', 'city', 'neighborhood', 'state'];
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* The current page of data being viewed
|
|
@@ -91,11 +91,11 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
91
91
|
@tracked public_id;
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
|
-
* The filterable param `
|
|
94
|
+
* The filterable param `public_id`
|
|
95
95
|
*
|
|
96
96
|
* @var {String}
|
|
97
97
|
*/
|
|
98
|
-
@tracked
|
|
98
|
+
@tracked postal_code;
|
|
99
99
|
|
|
100
100
|
/**
|
|
101
101
|
* The filterable param `phone`
|
|
@@ -105,11 +105,18 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
105
105
|
@tracked phone;
|
|
106
106
|
|
|
107
107
|
/**
|
|
108
|
-
* The filterable param `
|
|
108
|
+
* The filterable param `city`
|
|
109
|
+
*
|
|
110
|
+
* @var {String}
|
|
111
|
+
*/
|
|
112
|
+
@tracked city;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* The filterable param `name`
|
|
109
116
|
*
|
|
110
117
|
* @var {String}
|
|
111
118
|
*/
|
|
112
|
-
@tracked
|
|
119
|
+
@tracked name;
|
|
113
120
|
|
|
114
121
|
/**
|
|
115
122
|
* The filterable param `country`
|
|
@@ -118,6 +125,13 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
118
125
|
*/
|
|
119
126
|
@tracked country;
|
|
120
127
|
|
|
128
|
+
/**
|
|
129
|
+
* The filterable param `country`
|
|
130
|
+
*
|
|
131
|
+
* @var {String}
|
|
132
|
+
*/
|
|
133
|
+
@tracked neighborhood;
|
|
134
|
+
|
|
121
135
|
/**
|
|
122
136
|
* All columns applicable for orders
|
|
123
137
|
*
|
|
@@ -133,6 +147,7 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
133
147
|
resizable: true,
|
|
134
148
|
sortable: true,
|
|
135
149
|
filterable: true,
|
|
150
|
+
filterParam: 'name',
|
|
136
151
|
filterComponent: 'filter/string',
|
|
137
152
|
},
|
|
138
153
|
{
|
|
@@ -148,34 +163,36 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
148
163
|
filterComponent: 'filter/string',
|
|
149
164
|
},
|
|
150
165
|
{
|
|
151
|
-
label: '
|
|
152
|
-
valuePath: '
|
|
153
|
-
|
|
154
|
-
|
|
166
|
+
label: 'State',
|
|
167
|
+
valuePath: 'state',
|
|
168
|
+
cellComponent: 'table/cell/anchor',
|
|
169
|
+
action: this.viewPlace,
|
|
170
|
+
width: '100px',
|
|
155
171
|
resizable: true,
|
|
156
172
|
sortable: true,
|
|
157
173
|
filterable: true,
|
|
174
|
+
filterParam: 'state',
|
|
158
175
|
filterComponent: 'filter/string',
|
|
159
176
|
},
|
|
160
177
|
{
|
|
161
|
-
label: '
|
|
162
|
-
valuePath: '
|
|
163
|
-
cellComponent: '
|
|
164
|
-
|
|
178
|
+
label: 'City',
|
|
179
|
+
valuePath: 'city',
|
|
180
|
+
cellComponent: 'table/cell/anchor',
|
|
181
|
+
action: this.viewPlace,
|
|
182
|
+
width: '100px',
|
|
165
183
|
resizable: true,
|
|
166
184
|
sortable: true,
|
|
167
185
|
filterable: true,
|
|
168
|
-
|
|
186
|
+
filterParam: 'city',
|
|
169
187
|
filterComponent: 'filter/string',
|
|
170
188
|
},
|
|
171
189
|
{
|
|
172
|
-
label: '
|
|
173
|
-
valuePath: '
|
|
174
|
-
cellComponent: 'table/cell/base',
|
|
190
|
+
label: 'ID',
|
|
191
|
+
valuePath: 'public_id',
|
|
175
192
|
width: '120px',
|
|
193
|
+
cellComponent: 'click-to-copy',
|
|
176
194
|
resizable: true,
|
|
177
195
|
sortable: true,
|
|
178
|
-
hidden: true,
|
|
179
196
|
filterable: true,
|
|
180
197
|
filterComponent: 'filter/string',
|
|
181
198
|
},
|
|
@@ -202,6 +219,29 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
202
219
|
filterComponent: 'filter/country',
|
|
203
220
|
filterParam: 'country',
|
|
204
221
|
},
|
|
222
|
+
{
|
|
223
|
+
label: 'Neighborhood',
|
|
224
|
+
valuePath: 'neighborhood',
|
|
225
|
+
cellComponent: 'table/cell/anchor',
|
|
226
|
+
action: this.viewPlace,
|
|
227
|
+
width: '100px',
|
|
228
|
+
resizable: true,
|
|
229
|
+
sortable: true,
|
|
230
|
+
filterable: true,
|
|
231
|
+
filterParam: 'neighborhood',
|
|
232
|
+
filterComponent: 'filter/string',
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
label: 'Postal Code',
|
|
236
|
+
valuePath: 'postal_code',
|
|
237
|
+
cellComponent: 'table/cell/anchor',
|
|
238
|
+
action: this.viewPlace,
|
|
239
|
+
width: '100px',
|
|
240
|
+
resizable: true,
|
|
241
|
+
sortable: true,
|
|
242
|
+
filterable: true,
|
|
243
|
+
filterComponent: 'filter/string',
|
|
244
|
+
},
|
|
205
245
|
{
|
|
206
246
|
label: 'Created At',
|
|
207
247
|
valuePath: 'createdAt',
|
|
@@ -223,6 +263,7 @@ export default class ManagementPlacesIndexController extends Controller {
|
|
|
223
263
|
filterable: true,
|
|
224
264
|
filterComponent: 'filter/date',
|
|
225
265
|
},
|
|
266
|
+
|
|
226
267
|
{
|
|
227
268
|
label: '',
|
|
228
269
|
cellComponent: 'table/cell/dropdown',
|
|
@@ -69,7 +69,24 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
69
69
|
*
|
|
70
70
|
* @var {Array}
|
|
71
71
|
*/
|
|
72
|
-
queryParams = [
|
|
72
|
+
queryParams = [
|
|
73
|
+
'page',
|
|
74
|
+
'limit',
|
|
75
|
+
'sort',
|
|
76
|
+
'query',
|
|
77
|
+
'public_id',
|
|
78
|
+
'status',
|
|
79
|
+
'created_at',
|
|
80
|
+
'updated_at',
|
|
81
|
+
'created_by',
|
|
82
|
+
'updated_by',
|
|
83
|
+
'name',
|
|
84
|
+
'plate_number',
|
|
85
|
+
'year',
|
|
86
|
+
'make',
|
|
87
|
+
'model',
|
|
88
|
+
'display_name',
|
|
89
|
+
];
|
|
73
90
|
|
|
74
91
|
/**
|
|
75
92
|
* The search query.
|
|
@@ -128,18 +145,18 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
128
145
|
@tracked plate_number;
|
|
129
146
|
|
|
130
147
|
/**
|
|
131
|
-
* The filterable param `
|
|
148
|
+
* The filterable param `make`.
|
|
132
149
|
*
|
|
133
150
|
* @var {String}
|
|
134
151
|
*/
|
|
135
|
-
@tracked
|
|
152
|
+
@tracked make;
|
|
136
153
|
|
|
137
154
|
/**
|
|
138
|
-
* The filterable param `
|
|
155
|
+
* The filterable param `model`.
|
|
139
156
|
*
|
|
140
157
|
* @var {String}
|
|
141
158
|
*/
|
|
142
|
-
@tracked
|
|
159
|
+
@tracked model;
|
|
143
160
|
|
|
144
161
|
/**
|
|
145
162
|
* The filterable param `year`.
|
|
@@ -148,6 +165,20 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
148
165
|
*/
|
|
149
166
|
@tracked year;
|
|
150
167
|
|
|
168
|
+
/**
|
|
169
|
+
* The filterable param `make`.
|
|
170
|
+
*
|
|
171
|
+
* @var {String}
|
|
172
|
+
*/
|
|
173
|
+
@tracked make;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* The filterable param `model`.
|
|
177
|
+
*
|
|
178
|
+
* @var {String}
|
|
179
|
+
*/
|
|
180
|
+
@tracked model;
|
|
181
|
+
|
|
151
182
|
/**
|
|
152
183
|
* The filterable param `country`.
|
|
153
184
|
*
|
|
@@ -176,6 +207,13 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
176
207
|
*/
|
|
177
208
|
@tracked driver;
|
|
178
209
|
|
|
210
|
+
/**
|
|
211
|
+
* The filterable param `display_name`.
|
|
212
|
+
*
|
|
213
|
+
* @var {String}
|
|
214
|
+
*/
|
|
215
|
+
@tracked display_name;
|
|
216
|
+
|
|
179
217
|
/**
|
|
180
218
|
* TableComponent instance.
|
|
181
219
|
*
|
|
@@ -214,7 +252,7 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
214
252
|
sortable: true,
|
|
215
253
|
filterable: true,
|
|
216
254
|
filterComponent: 'filter/string',
|
|
217
|
-
filterParam: '
|
|
255
|
+
filterParam: 'display_name',
|
|
218
256
|
showOnlineIndicator: true,
|
|
219
257
|
},
|
|
220
258
|
{
|
|
@@ -264,7 +302,7 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
264
302
|
sortable: true,
|
|
265
303
|
hidden: true,
|
|
266
304
|
filterable: true,
|
|
267
|
-
filterParam: '
|
|
305
|
+
filterParam: 'make',
|
|
268
306
|
filterComponent: 'filter/string',
|
|
269
307
|
},
|
|
270
308
|
{
|
|
@@ -276,7 +314,7 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
276
314
|
sortable: true,
|
|
277
315
|
hidden: true,
|
|
278
316
|
filterable: true,
|
|
279
|
-
filterParam: '
|
|
317
|
+
filterParam: 'model',
|
|
280
318
|
filterComponent: 'filter/string',
|
|
281
319
|
},
|
|
282
320
|
{
|
|
@@ -490,4 +528,25 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
490
528
|
* @void
|
|
491
529
|
*/
|
|
492
530
|
@action assignDriver() {}
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* View a place location on map
|
|
534
|
+
*
|
|
535
|
+
* @param {PlaceModel} place
|
|
536
|
+
* @param {Object} options
|
|
537
|
+
* @void
|
|
538
|
+
*/
|
|
539
|
+
@action viewOnMap(place, options = {}) {
|
|
540
|
+
const { latitude, longitude } = place;
|
|
541
|
+
|
|
542
|
+
this.modalsManager.show('modals/point-map', {
|
|
543
|
+
title: `Location of ${place.name}`,
|
|
544
|
+
acceptButtonText: 'Done',
|
|
545
|
+
hideDeclineButton: true,
|
|
546
|
+
latitude,
|
|
547
|
+
longitude,
|
|
548
|
+
location: [latitude, longitude],
|
|
549
|
+
...options,
|
|
550
|
+
});
|
|
551
|
+
}
|
|
493
552
|
}
|