@fleetbase/fleetops-engine 0.2.3 → 0.2.5

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 (85) hide show
  1. package/addon/components/driver-form-panel.hbs +131 -0
  2. package/addon/components/driver-form-panel.js +39 -0
  3. package/addon/components/driver-panel/details.hbs +48 -0
  4. package/addon/components/driver-panel.hbs +60 -0
  5. package/addon/components/driver-panel.js +57 -0
  6. package/addon/components/fleet-form-panel.hbs +46 -0
  7. package/addon/components/fleet-form-panel.js +3 -0
  8. package/addon/components/fleet-panel.hbs +70 -0
  9. package/addon/components/fleet-panel.js +43 -0
  10. package/addon/components/fleet-vehicle-listing.hbs +73 -0
  11. package/addon/components/fleet-vehicle-listing.js +117 -0
  12. package/addon/components/live-map.js +13 -10
  13. package/addon/components/modals/fleet-details.hbs +1 -0
  14. package/addon/components/settings-window.hbs +1 -1
  15. package/addon/components/vehicle-form-panel.hbs +131 -0
  16. package/addon/components/vehicle-form-panel.js +39 -0
  17. package/addon/components/vehicle-panel/details.hbs +34 -0
  18. package/addon/components/vehicle-panel/tracking.hbs +1 -0
  19. package/addon/components/vehicle-panel.hbs +60 -0
  20. package/addon/components/vehicle-panel.js +57 -0
  21. package/addon/controllers/management/drivers/index/details.js +8 -0
  22. package/addon/controllers/management/drivers/index/edit.js +80 -0
  23. package/addon/controllers/management/drivers/index/new.js +128 -0
  24. package/addon/controllers/management/drivers/index.js +212 -202
  25. package/addon/controllers/management/fleets/index/details.js +8 -0
  26. package/addon/controllers/management/fleets/index/edit.js +77 -0
  27. package/addon/controllers/management/fleets/index/new.js +103 -0
  28. package/addon/controllers/management/fleets/index.js +49 -77
  29. package/addon/controllers/management/vehicles/index/details.js +12 -0
  30. package/addon/controllers/management/vehicles/index/edit.js +8 -0
  31. package/addon/controllers/management/vehicles/index/new.js +21 -0
  32. package/addon/controllers/management/vehicles/index.js +6 -129
  33. package/addon/controllers/operations/service-rates/index.js +0 -1
  34. package/addon/engine.js +6 -0
  35. package/addon/routes/management/drivers/index/details.js +9 -0
  36. package/addon/routes/management/drivers/index/edit.js +13 -0
  37. package/addon/routes/management/drivers/index/new.js +3 -0
  38. package/addon/routes/management/fleets/index/details.js +9 -0
  39. package/addon/routes/management/fleets/index/edit.js +9 -0
  40. package/addon/routes/management/fleets/index/new.js +3 -0
  41. package/addon/routes/management/fleets/index.js +1 -0
  42. package/addon/routes/management/vehicles/index/details.js +18 -0
  43. package/addon/routes/management/vehicles/index/edit.js +14 -0
  44. package/addon/routes/management/vehicles/index/new.js +3 -0
  45. package/addon/routes/operations/orders/index/view.js +5 -1
  46. package/addon/routes/operations/service-rates/index/edit.js +1 -1
  47. package/addon/routes.js +15 -3
  48. package/addon/templates/management/drivers/index/details.hbs +1 -0
  49. package/addon/templates/management/drivers/index/edit.hbs +1 -0
  50. package/addon/templates/management/drivers/index/new.hbs +1 -0
  51. package/addon/templates/management/drivers/index.hbs +3 -1
  52. package/addon/templates/management/fleets/index/details.hbs +1 -0
  53. package/addon/templates/management/fleets/index/edit.hbs +1 -0
  54. package/addon/templates/management/fleets/index/new.hbs +1 -0
  55. package/addon/templates/management/vehicles/index/details.hbs +1 -0
  56. package/addon/templates/management/vehicles/index/edit.hbs +1 -0
  57. package/addon/templates/management/vehicles/index/new.hbs +1 -0
  58. package/addon/templates/operations/orders/index/new.hbs +1 -1
  59. package/addon/templates/operations/service-rates/index/new.hbs +2 -2
  60. package/app/components/driver-form-panel.js +1 -0
  61. package/app/components/driver-panel/details.js +1 -0
  62. package/app/components/driver-panel.js +1 -0
  63. package/app/components/fleet-form-panel.js +1 -0
  64. package/app/components/fleet-panel.js +1 -0
  65. package/app/components/fleet-vehicle-listing.js +1 -0
  66. package/app/components/vehicle-form-panel.js +1 -0
  67. package/app/components/vehicle-panel/details.js +1 -0
  68. package/app/components/vehicle-panel/tracking.js +1 -0
  69. package/app/components/vehicle-panel.js +1 -0
  70. package/app/controllers/management/drivers/index/new.js +1 -0
  71. package/app/controllers/management/vehicles/index/details.js +1 -0
  72. package/app/controllers/management/vehicles/index/new.js +1 -0
  73. package/app/routes/management/drivers/index/details.js +1 -0
  74. package/app/routes/management/drivers/index/edit.js +1 -0
  75. package/app/routes/management/drivers/index/new.js +1 -0
  76. package/app/routes/management/vehicles/index/details.js +1 -0
  77. package/app/routes/management/vehicles/index/edit.js +1 -0
  78. package/app/routes/management/vehicles/index/new.js +1 -0
  79. package/app/templates/management/drivers/index/details.js +1 -0
  80. package/app/templates/management/drivers/index/edit.js +1 -0
  81. package/app/templates/management/drivers/index/new.js +1 -0
  82. package/app/templates/management/vehicles/index/details.js +1 -0
  83. package/app/templates/management/vehicles/index/edit.js +1 -0
  84. package/app/templates/management/vehicles/index/new.js +1 -0
  85. package/package.json +4 -4
@@ -0,0 +1,103 @@
1
+ import Controller, { inject as controller } from '@ember/controller';
2
+ import { inject as service } from '@ember/service';
3
+ import { tracked } from '@glimmer/tracking';
4
+ import { action } from '@ember/object';
5
+
6
+ export default class ManagementFleetsIndexNewController extends Controller {
7
+ /**
8
+ * Inject the `management.fleets.index` controller
9
+ *
10
+ * @var {Controller}
11
+ */
12
+ @controller('management.fleets.index') index;
13
+
14
+ /**
15
+ * Inject the `currentUser` service
16
+ *
17
+ * @var {Service}
18
+ */
19
+ @service store;
20
+
21
+ /**
22
+ * Inject the `hostRouter` service
23
+ *
24
+ * @var {Service}
25
+ */
26
+ @service hostRouter;
27
+
28
+ /**
29
+ * Inject the `notifications` service
30
+ *
31
+ * @var {Service}
32
+ */
33
+ @service notifications;
34
+
35
+ /**
36
+ * Inject the `loader` service
37
+ *
38
+ * @var {Service}
39
+ */
40
+ @service loader;
41
+
42
+ /**
43
+ * The fleet being created.
44
+ *
45
+ * @var {FleetModel}
46
+ */
47
+ @tracked fleet = this.store.createRecord('fleet', { status: 'active' });
48
+
49
+ /**
50
+ * True if creating fleet.
51
+ *
52
+ * @var {Boolean}
53
+ */
54
+ @tracked isCreatingFleet = false;
55
+
56
+ /**
57
+ * Saves the fleet to server
58
+ *
59
+ * @void
60
+ */
61
+ @action createFleet() {
62
+ const { fleet } = this;
63
+
64
+ this.isCreatingFleet = true;
65
+ this.loader.showLoader('.overlay-inner-content', 'Creating fleet...');
66
+
67
+ try {
68
+ return fleet
69
+ .save()
70
+ .then((fleet) => {
71
+ return this.transitionToRoute('management.fleets.index').then(() => {
72
+ this.notifications.success(`New fleet (${fleet.name}) created.`);
73
+ this.resetForm();
74
+ this.hostRouter.refresh();
75
+ });
76
+ })
77
+ .catch((error) => {
78
+ console.log(error);
79
+ this.notifications.serverError(error);
80
+ })
81
+ .finally(() => {
82
+ this.isCreatingFleet = false;
83
+ this.loader.removeLoader();
84
+ });
85
+ } catch (error) {
86
+ this.isCreatingFleet = false;
87
+ this.loader.removeLoader();
88
+ }
89
+ }
90
+
91
+ /**
92
+ * Resets the driver form
93
+ *
94
+ * @void
95
+ */
96
+ @action resetForm() {
97
+ this.fleet = this.store.createRecord('fleet');
98
+ }
99
+
100
+ @action transitionBack() {
101
+ return this.transitionToRoute('management.fleets.index');
102
+ }
103
+ }
@@ -75,7 +75,7 @@ export default class ManagementFleetsIndexController extends Controller {
75
75
  *
76
76
  * @var {Array}
77
77
  */
78
- queryParams = ['page', 'limit', 'sort', 'query', 'public_id', 'internal_id', 'zone', 'service_area', 'created_by', 'updated_by', 'status'];
78
+ queryParams = ['page', 'limit', 'sort', 'query', 'public_id', 'internal_id', 'zone', 'service_area', 'parent_fleet', 'vendor', 'created_by', 'updated_by', 'status'];
79
79
 
80
80
  /**
81
81
  * The current page of data being viewed
@@ -118,6 +118,18 @@ export default class ManagementFleetsIndexController extends Controller {
118
118
  * @var {String}
119
119
  */
120
120
  @tracked service_area;
121
+ /**
122
+ * The filterable param `parent_fleet`
123
+ *
124
+ * @var {String}
125
+ */
126
+ @tracked parent_fleet;
127
+ /**
128
+ * The filterable param `vendor`
129
+ *
130
+ * @var {String}
131
+ */
132
+ @tracked vendor;
121
133
 
122
134
  /**
123
135
  * The filterable param `zone`
@@ -184,6 +196,32 @@ export default class ManagementFleetsIndexController extends Controller {
184
196
  filterParam: 'service_area',
185
197
  model: 'service-area',
186
198
  },
199
+ {
200
+ label: 'Parent Fleet',
201
+ cellComponent: 'table/cell/anchor',
202
+ // action: this.viewServiceArea.bind(this),
203
+ valuePath: 'parent_fleet.name',
204
+ resizable: true,
205
+ width: '130px',
206
+ filterable: true,
207
+ filterComponent: 'filter/model',
208
+ filterComponentPlaceholder: 'Select fleet',
209
+ filterParam: 'parent_fleet',
210
+ model: 'fleet',
211
+ },
212
+ {
213
+ label: 'Vendor',
214
+ cellComponent: 'table/cell/anchor',
215
+ action: this.viewServiceArea.bind(this),
216
+ valuePath: 'vendor.name',
217
+ resizable: true,
218
+ width: '130px',
219
+ filterable: true,
220
+ filterComponent: 'filter/model',
221
+ filterComponentPlaceholder: 'Select vendor',
222
+ filterParam: 'vendor',
223
+ model: 'vendor',
224
+ },
187
225
  {
188
226
  label: 'Zone',
189
227
  cellComponent: 'table/cell/anchor',
@@ -293,6 +331,10 @@ export default class ManagementFleetsIndexController extends Controller {
293
331
  label: 'View fleet details...',
294
332
  fn: this.viewFleet,
295
333
  },
334
+ {
335
+ label: 'Edit fleet details...',
336
+ fn: this.editFleet,
337
+ },
296
338
  {
297
339
  label: 'Assign driver to fleet...',
298
340
  fn: () => {},
@@ -370,47 +412,8 @@ export default class ManagementFleetsIndexController extends Controller {
370
412
  * @param {Object} options
371
413
  * @void
372
414
  */
373
- @action viewFleet(fleet, options = {}) {
374
- this.modalsManager.show('modals/fleet-details', {
375
- title: fleet.name,
376
- titleComponent: 'modal/title-with-buttons',
377
- headerStatus: fleet.status,
378
- headerButtons: [
379
- {
380
- icon: 'cog',
381
- iconPrefix: 'fas',
382
- type: 'link',
383
- size: 'xs',
384
- ddMenuLabel: 'Fleet Actions',
385
- options: [
386
- {
387
- title: 'Edit fleet details...',
388
- action: () => {
389
- this.modalsManager.done().then(() => {
390
- return this.editFleet(fleet, {
391
- onFinish: () => {
392
- this.viewFleet(fleet);
393
- },
394
- });
395
- });
396
- },
397
- },
398
- ],
399
- },
400
- ],
401
- acceptButtonText: 'Done',
402
- acceptButtonIcon: 'check',
403
- acceptButtonIconPrefix: 'fas',
404
- hideDeclineButton: true,
405
- fleet,
406
- addDriver: (driver) => {
407
- this.fetch.post('fleets/add', { driver: driver.id, fleet: fleet.id });
408
- },
409
- removeDriver: (driver) => {
410
- this.fetch.post('fleets/remove', { driver: driver.id, fleet: fleet.id });
411
- },
412
- ...options,
413
- });
415
+ @action viewFleet(fleet) {
416
+ return this.transitionToRoute('management.fleets.index.details', fleet);
414
417
  }
415
418
 
416
419
  /**
@@ -420,15 +423,7 @@ export default class ManagementFleetsIndexController extends Controller {
420
423
  * @void
421
424
  */
422
425
  @action createFleet() {
423
- const fleet = this.store.createRecord('fleet', { status: 'active' });
424
-
425
- return this.editFleet(fleet, {
426
- title: 'New Fleet',
427
- acceptButtonText: 'Confirm & Create',
428
- acceptButtonIcon: 'check',
429
- acceptButtonIconPrefix: 'fas',
430
- successNotification: (fleet) => `New fleet (${fleet.name}) created.`,
431
- });
426
+ return this.transitionToRoute('management.fleets.index.new');
432
427
  }
433
428
 
434
429
  /**
@@ -438,32 +433,9 @@ export default class ManagementFleetsIndexController extends Controller {
438
433
  * @param {Object} options
439
434
  * @void
440
435
  */
441
- @action editFleet(fleet, options = {}) {
442
- this.modalsManager.show('modals/fleet-form', {
443
- title: 'Edit Fleet',
444
- acceptButtonText: 'Save Changes',
445
- acceptButtonIcon: 'save',
446
- declineButtonIcon: 'times',
447
- declineButtonIconPrefix: 'fas',
448
- statusOptions: this.statusOptions,
449
- fleet,
450
- confirm: (modal) => {
451
- modal.startLoading();
452
-
453
- return fleet
454
- .save()
455
- .then((fleet) => {
456
- this.notifications.invoke('success', options.successNotification ?? `${fleet.name} details updated.`, fleet);
457
-
458
- return this.hostRouter.refresh();
459
- })
460
- .catch((error) => {
461
- modal.stopLoading();
462
- this.notifications.serverError(error);
463
- });
464
- },
465
- ...options,
466
- });
436
+ @action editFleet(fleet) {
437
+ console.log('xxx', fleet);
438
+ return this.transitionToRoute('management.fleets.index.edit', fleet);
467
439
  }
468
440
 
469
441
  /**
@@ -0,0 +1,12 @@
1
+ import Controller from '@ember/controller';
2
+ import { tracked } from '@glimmer/tracking';
3
+ import { action } from '@ember/object';
4
+
5
+ export default class ManagementVehiclesIndexDetailsController extends Controller {
6
+ @tracked view = 'details';
7
+ @tracked queryParams = ['view'];
8
+
9
+ @action transitionBack() {
10
+ return this.transitionToRoute('management.vehicles.index');
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ import Controller from '@ember/controller';
2
+ import { action } from '@ember/object';
3
+
4
+ export default class ManagementVehiclesIndexEditController extends Controller {
5
+ @action transitionBack() {
6
+ return this.transitionToRoute('management.vehicles.index');
7
+ }
8
+ }
@@ -0,0 +1,21 @@
1
+ import Controller from '@ember/controller';
2
+ import { tracked } from '@glimmer/tracking';
3
+ import { inject as service } from '@ember/service';
4
+ import { action } from '@ember/object';
5
+
6
+ export default class ManagementVehiclesIndexNewController extends Controller {
7
+ @service store;
8
+
9
+ /**
10
+ * The vehicle being created.
11
+ *
12
+ * @var {VehicleModel}
13
+ */
14
+ @tracked vehicle = this.store.createRecord('vehicle', {
15
+ status: `active`,
16
+ });
17
+
18
+ @action transitionBack() {
19
+ return this.transitionToRoute('management.vehicles.index');
20
+ }
21
+ }
@@ -6,8 +6,6 @@ import { action } from '@ember/object';
6
6
  import { isBlank } from '@ember/utils';
7
7
  import { timeout } from 'ember-concurrency';
8
8
  import { task } from 'ember-concurrency-decorators';
9
- import withDefaultValue from '@fleetbase/ember-core/utils/with-default-value';
10
- import generateSlug from '@fleetbase/ember-core/utils/generate-slug';
11
9
 
12
10
  export default class ManagementVehiclesIndexController extends ManagementController {
13
11
  /**
@@ -217,6 +215,7 @@ export default class ManagementVehiclesIndexController extends ManagementControl
217
215
  filterable: true,
218
216
  filterComponent: 'filter/string',
219
217
  filterParam: 'name',
218
+ showOnlineIndicator: true,
220
219
  },
221
220
  {
222
221
  label: 'Plate Number',
@@ -441,73 +440,8 @@ export default class ManagementVehiclesIndexController extends ManagementControl
441
440
  * @param {Object} options
442
441
  * @void
443
442
  */
444
- @action async viewVehicle(vehicle, options) {
445
- await vehicle?.loadDriver();
446
-
447
- this.modalsManager.show('modals/vehicle-details', {
448
- title: withDefaultValue(vehicle.display_name),
449
- titleComponent: 'modal/title-with-buttons',
450
- modalClass: 'modal-lg',
451
- acceptButtonText: 'Done',
452
- headerButtons: [
453
- {
454
- icon: 'cog',
455
- iconPrefix: 'fas',
456
- type: 'link',
457
- size: 'xs',
458
- ddMenuLabel: 'Vehicle Actions',
459
- options: [
460
- {
461
- title: 'Edit vehicle details...',
462
- action: () => {
463
- this.modalsManager.done().then(() => {
464
- return this.editVehicle(vehicle, {
465
- onFinish: () => {
466
- this.viewVehicle(vehicle);
467
- },
468
- });
469
- });
470
- },
471
- },
472
- {
473
- title: 'Assign driver to vehicle...',
474
- action: () => {
475
- this.modalsManager.done().then(() => {
476
- return this.assignDriver(vehicle, {
477
- onFinish: () => {
478
- this.viewVehicle(vehicle);
479
- },
480
- });
481
- });
482
- },
483
- },
484
- {
485
- title: 'Delete vehicle...',
486
- action: () => {
487
- this.modalsManager.done().then(() => {
488
- return this.deleteVehicle(vehicle, {
489
- onDecline: () => {
490
- this.viewVehicle(vehicle);
491
- },
492
- });
493
- });
494
- },
495
- },
496
- ],
497
- },
498
- ],
499
- viewDriver: (driver) => {
500
- this.modalsManager.done().then(() => {
501
- return this.drivers.viewDriver(driver, {
502
- onFinish: () => {
503
- this.viewVehicle(vehicle);
504
- },
505
- });
506
- });
507
- },
508
- vehicle,
509
- ...options,
510
- });
443
+ @action viewVehicle(vehicle) {
444
+ return this.transitionToRoute('management.vehicles.index.details', vehicle);
511
445
  }
512
446
 
513
447
  /**
@@ -517,21 +451,7 @@ export default class ManagementVehiclesIndexController extends ManagementControl
517
451
  * @void
518
452
  */
519
453
  @action createVehicle() {
520
- const vehicle = this.store.createRecord('vehicle', {
521
- status: 'active',
522
- slug: generateSlug(),
523
- });
524
-
525
- return this.editVehicle(vehicle, {
526
- title: 'New Vehicle',
527
- acceptButtonText: 'Confirm & Create',
528
- acceptButtonIcon: 'check',
529
- acceptButtonIconPrefix: 'fas',
530
- // successNotification: `New vehicle (${vehicle.name}) created.`,
531
- onConfirm: () => {
532
- return this.hostRouter.refresh();
533
- },
534
- });
454
+ return this.transitionToRoute('management.vehicles.index.new');
535
455
  }
536
456
 
537
457
  /**
@@ -541,51 +461,8 @@ export default class ManagementVehiclesIndexController extends ManagementControl
541
461
  * @param {Object} options
542
462
  * @void
543
463
  */
544
- @action async editVehicle(vehicle, options = {}) {
545
- await vehicle?.loadDriver();
546
-
547
- this.modalsManager.show('modals/vehicle-form', {
548
- title: 'Edit Vehicle',
549
- acceptButtonText: 'Save Changes',
550
- acceptButtonIcon: 'save',
551
- modalClass: 'modal-lg',
552
- vehicle,
553
- uploadNewPhoto: (file) => {
554
- this.fetch.uploadFile.perform(
555
- file,
556
- {
557
- path: `uploads/${this.currentUser.companyId}/vehicles/${vehicle.slug}`,
558
- subject_uuid: vehicle.id,
559
- subject_type: `vehicle`,
560
- type: `vehicle_photo`,
561
- },
562
- (uploadedFile) => {
563
- vehicle.setProperties({
564
- photo_uuid: uploadedFile.id,
565
- photo_url: uploadedFile.url,
566
- photo: uploadedFile,
567
- });
568
- }
569
- );
570
- },
571
- confirm: (modal, done) => {
572
- modal.startLoading();
573
-
574
- vehicle
575
- .save()
576
- .then((vehicle) => {
577
- this.notifications.success(options.successNotification ?? `${vehicle.name} details updated.`);
578
- })
579
- .catch((error) => {
580
- modal.stopLoading();
581
- this.notifications.serverError(error);
582
- })
583
- .finally(() => {
584
- done();
585
- });
586
- },
587
- ...options,
588
- });
464
+ @action editVehicle(vehicle) {
465
+ return this.transitionToRoute('management.vehicles.index.edit', vehicle);
589
466
  }
590
467
 
591
468
  /**
@@ -56,7 +56,6 @@ export default class OperationsServiceRatesIndexController extends Controller {
56
56
  */
57
57
  @service modalsManager;
58
58
 
59
-
60
59
  /**
61
60
  * Inject the `hostRouter` service
62
61
  *
package/addon/engine.js CHANGED
@@ -17,6 +17,12 @@ export default class FleetOpsEngine extends Engine {
17
17
  setupExtension = function (app, engine, universe) {
18
18
  // register menu item in header
19
19
  universe.registerHeaderMenuItem('Fleet-Ops', 'console.fleet-ops', { icon: 'route', priority: 0 });
20
+
21
+ // register the vehicle panel
22
+ universe.createRegistry('component:vehicle-panel');
23
+
24
+ // register the driver panel
25
+ universe.createRegistry('component:driver-panel');
20
26
  };
21
27
  }
22
28
 
@@ -0,0 +1,9 @@
1
+ import Route from '@ember/routing/route';
2
+ import { inject as service } from '@ember/service';
3
+ export default class ManagementDriversIndexDetailsRoute extends Route {
4
+ @service store;
5
+
6
+ model({ public_id }) {
7
+ return this.store.findRecord('driver', public_id);
8
+ }
9
+ }
@@ -0,0 +1,13 @@
1
+ import Route from '@ember/routing/route';
2
+ import { inject as service } from '@ember/service';
3
+ export default class ManagementDriversIndexEditRoute extends Route {
4
+ @service store;
5
+
6
+ model({ public_id }) {
7
+ return this.store.findRecord('driver', public_id);
8
+ }
9
+
10
+ async setupController(controller, model) {
11
+ controller.driver = model;
12
+ }
13
+ }
@@ -0,0 +1,3 @@
1
+ import Route from '@ember/routing/route';
2
+
3
+ export default class ManagementDriversIndexNewRoute extends Route {}
@@ -0,0 +1,9 @@
1
+ import Route from '@ember/routing/route';
2
+ import { inject as service } from '@ember/service';
3
+ export default class ManagementFleetsIndexDetailsRoute extends Route {
4
+ @service store;
5
+
6
+ model({ public_id }) {
7
+ return this.store.findRecord('fleet', public_id);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import Route from '@ember/routing/route';
2
+ import { inject as service } from '@ember/service';
3
+ export default class ManagementFleetsIndexEditRoute extends Route {
4
+ @service store;
5
+
6
+ model({ public_id }) {
7
+ return this.store.findRecord('fleet', public_id);
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ import Route from '@ember/routing/route';
2
+
3
+ export default class ManagementFleetsIndexNewRoute extends Route {}
@@ -18,6 +18,7 @@ export default class ManagementFleetsIndexRoute extends Route {
18
18
  internal_id: { refreshModel: true },
19
19
  zone: { refreshModel: true },
20
20
  service_area: { refreshModel: true },
21
+ parent_fleet: { refreshModel: true },
21
22
  task: { refreshModel: true },
22
23
  };
23
24
 
@@ -0,0 +1,18 @@
1
+ import Route from '@ember/routing/route';
2
+ import { inject as service } from '@ember/service';
3
+
4
+ export default class ManagementVehiclesIndexDetailsRoute extends Route {
5
+ @service store;
6
+
7
+ queryParams = {
8
+ view: { refreshModel: false },
9
+ };
10
+
11
+ model({ public_id }) {
12
+ return this.store.findRecord('vehicle', public_id);
13
+ }
14
+
15
+ afterModel(model) {
16
+ model.loadDriver();
17
+ }
18
+ }
@@ -0,0 +1,14 @@
1
+ import Route from '@ember/routing/route';
2
+ import { inject as service } from '@ember/service';
3
+
4
+ export default class ManagementVehiclesIndexEditRoute extends Route {
5
+ @service store;
6
+
7
+ model({ public_id }) {
8
+ return this.store.findRecord('vehicle', public_id);
9
+ }
10
+
11
+ afterModel(model) {
12
+ model.loadDriver();
13
+ }
14
+ }
@@ -0,0 +1,3 @@
1
+ import Route from '@ember/routing/route';
2
+
3
+ export default class ManagementVehiclesIndexNewRoute extends Route {}
@@ -14,7 +14,7 @@ export default class OperationsOrdersIndexViewRoute extends Route {
14
14
  }
15
15
  }
16
16
 
17
- @action error(error, transition) {
17
+ @action error(error) {
18
18
  this.notifications.serverError(error);
19
19
  return this.transitionTo('operations.orders.index');
20
20
  }
@@ -59,6 +59,10 @@ export default class OperationsOrdersIndexViewRoute extends Route {
59
59
  (async () => {
60
60
  for await (let output of channel) {
61
61
  this.refresh();
62
+
63
+ if (typeof this.onOrderEvent === 'function') {
64
+ this.onOrderEvent(output);
65
+ }
62
66
  }
63
67
  })();
64
68
 
@@ -9,7 +9,7 @@ export default class OperationsServiceRatesIndexEditRoute extends Route {
9
9
 
10
10
  templateName = 'operations.service-rates.index.new';
11
11
 
12
- @action error(error, transition) {
12
+ @action error(error) {
13
13
  this.notifications.serverError(error);
14
14
  return this.transitionTo('operations.service-rates.index');
15
15
  }