@fleetbase/fleetops-engine 0.3.5 → 0.3.6
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/README.md +4 -4
- package/addon/components/admin/navigator-app.hbs +5 -0
- package/addon/components/admin/navigator-app.js +27 -0
- package/addon/components/driver-form-panel.js +13 -19
- package/addon/components/leaflet-draw-control.js +2 -3
- package/addon/components/live-map.js +7 -4
- package/addon/components/modals/driver-assign-order.hbs +2 -2
- package/addon/components/modals/order-import.hbs +5 -5
- package/addon/components/modals/order-new-activity.hbs +1 -1
- package/addon/components/order-config/entities-editor.js +3 -5
- package/addon/components/route-list.hbs +2 -2
- package/addon/components/vendor-form-panel.js +1 -1
- package/addon/controllers/application.js +2 -2
- package/addon/controllers/base-controller.js +31 -0
- package/addon/controllers/management/contacts/index/details.js +2 -2
- package/addon/controllers/management/contacts/index/edit.js +2 -2
- package/addon/controllers/management/contacts/index/new.js +2 -2
- package/addon/controllers/management/contacts/index.js +2 -2
- package/addon/controllers/management/drivers/index/details.js +2 -2
- package/addon/controllers/management/drivers/index/edit.js +28 -2
- package/addon/controllers/management/drivers/index/new.js +2 -2
- package/addon/controllers/management/drivers/index.js +11 -24
- package/addon/controllers/management/fleets/index/details.js +2 -2
- package/addon/controllers/management/fleets/index/edit.js +2 -2
- package/addon/controllers/management/fleets/index/new.js +2 -2
- package/addon/controllers/management/fleets/index.js +9 -9
- package/addon/controllers/management/fuel-reports/index/details.js +2 -2
- package/addon/controllers/management/fuel-reports/index/edit.js +2 -2
- package/addon/controllers/management/fuel-reports/index/new.js +2 -2
- package/addon/controllers/management/fuel-reports/index.js +2 -2
- package/addon/controllers/management/issues/index/details.js +2 -2
- package/addon/controllers/management/issues/index/edit.js +2 -2
- package/addon/controllers/management/issues/index/new.js +2 -2
- package/addon/controllers/management/issues/index.js +2 -9
- package/addon/controllers/management/places/index/details.js +2 -2
- package/addon/controllers/management/places/index/edit.js +2 -2
- package/addon/controllers/management/places/index/new.js +2 -2
- package/addon/controllers/management/places/index.js +2 -2
- package/addon/controllers/management/vehicles/index/details.js +2 -2
- package/addon/controllers/management/vehicles/index/edit.js +2 -2
- package/addon/controllers/management/vehicles/index/new.js +2 -2
- package/addon/controllers/management/vehicles/index.js +11 -12
- package/addon/controllers/management/vendors/index/details.js +2 -2
- package/addon/controllers/management/vendors/index/edit.js +2 -2
- package/addon/controllers/management/vendors/index/new.js +2 -2
- package/addon/controllers/management/vendors/index.js +2 -8
- package/addon/controllers/management.js +2 -2
- package/addon/controllers/operations/orders/index/config/types.js +2 -2
- package/addon/controllers/operations/orders/index/config.js +2 -2
- package/addon/controllers/operations/orders/index/new.js +64 -44
- package/addon/controllers/operations/orders/index/view.js +11 -4
- package/addon/controllers/operations/orders/index.js +2 -2
- package/addon/controllers/operations/scheduler/index.js +2 -2
- package/addon/controllers/operations/service-rates/index/edit.js +12 -18
- package/addon/controllers/operations/service-rates/index/new.js +16 -22
- package/addon/controllers/operations/service-rates/index.js +2 -2
- package/addon/engine.js +6 -0
- package/addon/helpers/waypoint-label.js +6 -1
- package/addon/routes/application.js +4 -15
- package/addon/routes/management/contacts/index.js +9 -5
- package/addon/routes/management/drivers/index.js +7 -3
- package/addon/routes/management/fleets/index.js +9 -5
- package/addon/routes/management/fuel-reports/index.js +9 -5
- package/addon/routes/management/issues/index.js +9 -5
- package/addon/routes/management/places/index.js +9 -5
- package/addon/routes/management/vehicles/index/details.js +2 -2
- package/addon/routes/management/vehicles/index.js +9 -0
- package/addon/routes/management/vendors/index.js +9 -6
- package/addon/routes/operations/orders/index/view.js +6 -2
- package/addon/routes/operations/orders/index.js +7 -1
- package/addon/routes/operations/orders.js +0 -1
- package/addon/routes/operations/service-rates/index.js +9 -27
- package/addon/routes/operations/service-rates.js +1 -8
- package/addon/styles/fleetops-engine.css +14 -7
- package/addon/templates/operations/orders/index/new.hbs +7 -7
- package/addon/templates/operations/orders/index/view.hbs +17 -16
- package/addon/utils/waypoint-label.js +3 -0
- package/app/controllers/{operations/zones/index.js → base-controller.js} +1 -1
- package/app/utils/waypoint-label.js +1 -0
- package/composer.json +1 -1
- package/config/environment.js +11 -1
- package/extension.json +1 -1
- package/index.js +1 -0
- package/package.json +47 -41
- package/server/migrations/2023_11_28_074244_add_supplier_uuid_column_to_entities_table.php +33 -0
- package/server/migrations/2023_12_14_100209_add_meta_column_on_driver_table.php +30 -0
- package/server/src/Http/Controllers/Api/v1/DriverController.php +7 -4
- package/server/src/Http/Controllers/Api/v1/OrderController.php +118 -42
- package/server/src/Http/Controllers/Api/v1/PayloadController.php +41 -43
- package/server/src/Http/Controllers/Api/v1/TrackingStatusController.php +43 -2
- package/server/src/Http/Controllers/Internal/v1/MorphController.php +48 -16
- package/server/src/Http/Controllers/Internal/v1/NavigatorController.php +41 -0
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +3 -2
- package/server/src/Http/Controllers/Internal/v1/PlaceController.php +2 -2
- package/server/src/Http/Requests/CreateDriverRequest.php +2 -0
- package/server/src/Http/Requests/CreateOrderRequest.php +18 -4
- package/server/src/Http/Requests/CreatePayloadRequest.php +23 -7
- package/server/src/Http/Requests/CreatePlaceRequest.php +9 -5
- package/server/src/Http/Requests/CreateTrackingStatusRequest.php +69 -12
- package/server/src/Http/Requests/CreateVehicleRequest.php +5 -3
- package/server/src/Http/Resources/v1/Entity.php +3 -0
- package/server/src/Http/Resources/v1/Order.php +3 -2
- package/server/src/Models/Driver.php +5 -2
- package/server/src/Models/Entity.php +1 -1
- package/server/src/Models/Order.php +2 -2
- package/server/src/Models/Payload.php +27 -9
- package/server/src/Models/Place.php +28 -5
- package/server/src/Models/TrackingStatus.php +9 -3
- package/server/src/Models/VehicleDevice.php +28 -0
- package/server/src/Models/Vendor.php +16 -0
- package/server/src/Observers/DriverObserver.php +1 -1
- package/server/src/routes.php +8 -0
- package/tsconfig.declarations.json +10 -0
- package/addon/components/file-icon.js +0 -1
- package/addon/controllers/operations/zones/index.js +0 -475
- package/addon/routes/operations/dispatch.js +0 -3
- package/addon/routes/operations/zones/index.js +0 -25
- package/addon/routes/operations/zones.js +0 -7
- package/addon/templates/operations/dispatch.hbs +0 -1
- package/addon/templates/operations/zones/index.hbs +0 -72
- package/addon/templates/operations/zones.hbs +0 -1
- package/app/components/file-icon.js +0 -1
package/README.md
CHANGED
|
@@ -13,10 +13,10 @@ This monorepo contains both the frontend and backend components of the FleetOps
|
|
|
13
13
|
|
|
14
14
|
### Requirements
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
* PHP 7.3.0 or above
|
|
17
|
+
* Ember.js v4.8 or above
|
|
18
|
+
* Ember CLI v4.8 or above
|
|
19
|
+
* Node.js v18 or above
|
|
20
20
|
|
|
21
21
|
## Structure
|
|
22
22
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
4
|
+
|
|
5
|
+
export default class NavigatorAppControlsComponent extends Component {
|
|
6
|
+
@service fetch;
|
|
7
|
+
@tracked isLoading = false;
|
|
8
|
+
@tracked url;
|
|
9
|
+
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.getAppLinkUrl();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
getAppLinkUrl() {
|
|
16
|
+
this.isLoading = true;
|
|
17
|
+
|
|
18
|
+
return this.fetch
|
|
19
|
+
.get('fleet-ops/navigator/get-link-app')
|
|
20
|
+
.then(({ linkUrl }) => {
|
|
21
|
+
this.url = linkUrl;
|
|
22
|
+
})
|
|
23
|
+
.finally(() => {
|
|
24
|
+
this.isLoading = false;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -100,25 +100,19 @@ export default class DriverFormPanelComponent extends Component {
|
|
|
100
100
|
|
|
101
101
|
contextComponentCallback(this, 'onBeforeSave', driver);
|
|
102
102
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
});
|
|
117
|
-
} catch (error) {
|
|
118
|
-
this.notifications.error(error.message);
|
|
119
|
-
this.loader.removeLoader('.next-content-overlay-panel-container ');
|
|
120
|
-
this.isLoading = false;
|
|
121
|
-
}
|
|
103
|
+
return driver
|
|
104
|
+
.save()
|
|
105
|
+
.then((driver) => {
|
|
106
|
+
this.notifications.success(`Driver (${driver.name}) saved successfully.`);
|
|
107
|
+
contextComponentCallback(this, 'onAfterSave', driver);
|
|
108
|
+
})
|
|
109
|
+
.catch((error) => {
|
|
110
|
+
this.notifications.serverError(error);
|
|
111
|
+
})
|
|
112
|
+
.finally(() => {
|
|
113
|
+
this.loader.removeLoader('.next-content-overlay-panel-container ');
|
|
114
|
+
this.isLoading = false;
|
|
115
|
+
});
|
|
122
116
|
}
|
|
123
117
|
|
|
124
118
|
/**
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import BaseLayer from 'ember-leaflet/components/base-layer';
|
|
2
2
|
import { computed } from '@ember/object';
|
|
3
|
-
import { assign } from '@ember/polyfills';
|
|
4
3
|
import { scheduleOnce } from '@ember/runloop';
|
|
5
4
|
import { classify, camelize } from '@ember/string';
|
|
6
5
|
import getWithDefault from '@fleetbase/ember-core/utils/get-with-default';
|
|
@@ -75,8 +74,8 @@ export default class LeafletDrawControl extends BaseLayer {
|
|
|
75
74
|
const showDrawingLayer = getWithDefault(this.args, 'showDrawingLayer', true);
|
|
76
75
|
|
|
77
76
|
if (this.map && this._layer && this.L.drawLocal) {
|
|
78
|
-
this.options.edit = assign({ featureGroup: this._layer }, this.options.edit);
|
|
79
|
-
this.options.draw = assign({}, this.L.drawLocal.draw, this.options.draw);
|
|
77
|
+
this.options.edit = Object.assign({ featureGroup: this._layer }, this.options.edit);
|
|
78
|
+
this.options.draw = Object.assign({}, this.L.drawLocal.draw, this.options.draw);
|
|
80
79
|
|
|
81
80
|
// create draw control
|
|
82
81
|
const drawControl = new this.L.Control.Draw(this.options);
|
|
@@ -1911,7 +1911,8 @@ export default class LiveMapComponent extends Component {
|
|
|
1911
1911
|
|
|
1912
1912
|
// from the `get-active-order-coordinates` the responded coordinates will always be [longitude, latitude]
|
|
1913
1913
|
// const [latitude, longitude] = extractCoordinates(coordinates.firstObject.coordinates);
|
|
1914
|
-
const
|
|
1914
|
+
const validCoordinates = coordinates.filter((point) => point.cordinates[0] !== 0);
|
|
1915
|
+
const [longitude, latitude] = getWithDefault(validCoordinates, '0.coordiantes', [0, 0]);
|
|
1915
1916
|
|
|
1916
1917
|
initialCoordinates.latitude = latitude;
|
|
1917
1918
|
initialCoordinates.longitude = longitude;
|
|
@@ -1934,10 +1935,12 @@ export default class LiveMapComponent extends Component {
|
|
|
1934
1935
|
this.isLoading = true;
|
|
1935
1936
|
|
|
1936
1937
|
return new Promise((resolve) => {
|
|
1937
|
-
|
|
1938
|
+
if (this.serviceAreas && typeof this.serviceAreas.getFromCache === 'function') {
|
|
1939
|
+
const cachedRecords = this.serviceAreas.getFromCache('serviceAreas', 'service-area');
|
|
1938
1940
|
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
+
if (cachedRecords) {
|
|
1942
|
+
resolve(cachedRecords);
|
|
1943
|
+
}
|
|
1941
1944
|
}
|
|
1942
1945
|
|
|
1943
1946
|
return this.store
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
19
19
|
<div class="order-route-location dark:text-gray-100">
|
|
20
|
-
<div>{{or order.payload.waypoints.
|
|
21
|
-
<div>{{or order.payload.waypoints.
|
|
20
|
+
<div>{{or (get order.payload.waypoints "0.name") (get order.payload.waypoints "0.street1")}}</div>
|
|
21
|
+
<div>{{or (get order.payload.waypoints "0.city") (get order.payload.waypoints "0.postal_code")}}</div>
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
24
24
|
<div class="order-route-stop">
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
{{#if @options.isProcessing}}
|
|
4
4
|
<div class="min-h-56 dropzone w-full rounded px-4 py-8 min-h text-gray-900 dark:text-white text-center flex flex-col items-center justify-center border-2 border-dashed border-gray-200 dark:border-indigo-500">
|
|
5
5
|
<div class="flex items-center justify-center py-5">
|
|
6
|
-
<
|
|
6
|
+
<Spinner class="text-sm dark:text-gray-100" @loadingMessage="Processing import..." />
|
|
7
7
|
</div>
|
|
8
8
|
</div>
|
|
9
9
|
{{else}}
|
|
@@ -17,20 +17,20 @@
|
|
|
17
17
|
{{/if}}
|
|
18
18
|
{{else if queue.files.length}}
|
|
19
19
|
<div class="my-2">
|
|
20
|
-
<FaIcon @icon="file-
|
|
20
|
+
<FaIcon @icon="file-import" class="text-indigo-500 mr-2" />
|
|
21
21
|
{{pluralize queue.files.length "spreadsheet"}} ready for upload.
|
|
22
22
|
</div>
|
|
23
23
|
<div class="my-2">({{queue.progress}}%)</div>
|
|
24
24
|
{{else}}
|
|
25
25
|
<h4 class="font-semibold mb-8">
|
|
26
|
-
<FaIcon @icon="file-
|
|
26
|
+
<FaIcon @icon="file-import" class="text-indigo-500 mr-2" /> Upload Spreadsheets
|
|
27
27
|
</h4>
|
|
28
28
|
<div>
|
|
29
29
|
{{#if dropzone.supported}}
|
|
30
30
|
<p class="text-base font-semibold my-5">Drag and drop spreadsheet files onto this dropzone</p>
|
|
31
31
|
{{/if}}
|
|
32
32
|
|
|
33
|
-
<UploadButton @buttonText="or select spreadsheets to upload" @type="magic" @name="spreadsheets" @for="spreadsheets" @accept={{join "," @options.acceptedFileTypes}} @multiple={{true}} @onFileAdded={{@options.queueFile}} class="w-72" />
|
|
33
|
+
<UploadButton @buttonText="or select spreadsheets to upload" @type="magic" @icon="file-import" @name="spreadsheets" @for="spreadsheets" @accept={{join "," @options.acceptedFileTypes}} @multiple={{true}} @onFileAdded={{@options.queueFile}} class="w-72 justify-center" />
|
|
34
34
|
</div>
|
|
35
35
|
{{/if}}
|
|
36
36
|
</FileDropzone>
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
{{else if (eq column.key "uploadDate")}}
|
|
68
68
|
{{format-date (get file column.valuePath) "d MMM yyyy"}}
|
|
69
69
|
{{else}}
|
|
70
|
-
<div class="w-
|
|
70
|
+
<div class="min-w-225px max-w-225px truncate">{{get file column.valuePath}}</div>
|
|
71
71
|
{{/if}}
|
|
72
72
|
</td>
|
|
73
73
|
{{/each}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Component from '@glimmer/component';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
|
-
import { action, computed, set
|
|
4
|
+
import { action, computed, set } from '@ember/object';
|
|
5
5
|
import { isArray } from '@ember/array';
|
|
6
6
|
import { underscore } from '@ember/string';
|
|
7
7
|
import generateUuid from '@fleetbase/ember-core/utils/generate-uuid';
|
|
@@ -96,13 +96,11 @@ export default class OrderConfigEntitiesEditorComponent extends Component {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
@action setMetaKeyValue(index, key, { target }) {
|
|
99
|
-
console.log('setMetaKeyValue()', ...arguments);
|
|
100
99
|
const { orderConfig } = this;
|
|
101
100
|
const { value } = target;
|
|
102
101
|
|
|
103
|
-
console.log(value, get(orderConfig, `meta.entities.${index}.meta.${key}`));
|
|
104
|
-
|
|
105
|
-
// set(orderConfig, `meta.entities.${index}.meta.${key}`, value);
|
|
102
|
+
// console.log(value, get(orderConfig, `meta.entities.${index}.meta.${key}`));
|
|
103
|
+
set(orderConfig, `meta.entities.${index}.meta.${key}`, value);
|
|
106
104
|
|
|
107
105
|
if (typeof this.args.onEntitiesChanged === 'function') {
|
|
108
106
|
this.args.onEntitiesChanged(orderConfig.meta.entities);
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
{{/if}}
|
|
12
12
|
|
|
13
13
|
{{#if (gt @order.payload.waypoints.length 2)}}
|
|
14
|
-
<Button class="
|
|
15
|
-
<div class="px-3 py-2 w-full bg-yellow-200 text-yellow-900 rounded shadow-sm flex flex-col justify-center items-start">
|
|
14
|
+
<Button class="btn-reset w-full" @wrapperClass="w-full" @onClick={{this.toggleWaypointsCollapse}}>
|
|
15
|
+
<div class="px-3 py-2 w-full bg-yellow-200 text-yellow-900 rounded shadow-sm flex flex-col justify-center items-start mb-3">
|
|
16
16
|
<div class="flex flex-row items-center">
|
|
17
17
|
<FaIcon @icon="eye" class="mr-2 text-yellow-900" />
|
|
18
18
|
<span class="font-bold">{{if this.isWaypointsCollapsed "Tap to expand" "Tap to collapse"}}</span>
|
|
@@ -81,8 +81,8 @@ export default class VendorFormPanelComponent extends Component {
|
|
|
81
81
|
constructor() {
|
|
82
82
|
super(...arguments);
|
|
83
83
|
this.vendor = this.args.vendor;
|
|
84
|
-
this.isEditing = typeof this.vendor.id === 'string';
|
|
85
84
|
applyContextComponentArguments(this);
|
|
85
|
+
this.isEditing = this.vendor && typeof this.vendor.id === 'string';
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { computed, action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ApplicationController extends
|
|
6
|
+
export default class ApplicationController extends BaseController {
|
|
7
7
|
@service hostRouter;
|
|
8
8
|
|
|
9
9
|
@tracked routes = ['console.fleet-ops.operations', 'console.fleet-ops.management', 'console.fleet-ops.comms'];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import Controller from '@ember/controller';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
|
|
5
|
+
export default class BaseController extends Controller {
|
|
6
|
+
/**
|
|
7
|
+
* Inject the `universe` service
|
|
8
|
+
*
|
|
9
|
+
* @var {Service}
|
|
10
|
+
*/
|
|
11
|
+
@service universe;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Transitions to a specified route within the '@fleetbase/fleetops-engine' engine.
|
|
15
|
+
*
|
|
16
|
+
* This action is a wrapper around the `transitionToEngineRoute` method of the `universe` service (or object),
|
|
17
|
+
* specifically targeting the '@fleetbase/fleetops-engine'. It allows for easy transitioning to routes
|
|
18
|
+
* within this engine, abstracting away the need to repeatedly specify the engine name.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} route - The route within the '@fleetbase/fleetops-engine' to transition to.
|
|
21
|
+
* @param {...any} args - Additional arguments to pass to the transitionToEngineRoute method.
|
|
22
|
+
* @returns {Promise} A Promise that resolves with the result of the transitionToEngineRoute method.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* // To transition to the 'management.fleets.index.new' route within the '@fleetbase/fleetops-engine'
|
|
26
|
+
* this.transitionToRoute('management.fleets.index.new');
|
|
27
|
+
*/
|
|
28
|
+
@action transitionToRoute(route, ...args) {
|
|
29
|
+
return this.universe.transitionToEngineRoute('@fleetbase/fleetops-engine', route, ...args);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
4
|
|
|
5
|
-
export default class ManagementContactsIndexDetailsController extends
|
|
5
|
+
export default class ManagementContactsIndexDetailsController extends BaseController {
|
|
6
6
|
/**
|
|
7
7
|
* The currently active view tab ('details' by default).
|
|
8
8
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementContactsIndexEditController extends
|
|
6
|
+
export default class ManagementContactsIndexEditController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `hostRouter` service
|
|
9
9
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementContactsIndexNewController extends
|
|
6
|
+
export default class ManagementContactsIndexNewController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `store` service
|
|
9
9
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
@@ -6,7 +6,7 @@ import { isBlank } from '@ember/utils';
|
|
|
6
6
|
import { timeout } from 'ember-concurrency';
|
|
7
7
|
import { task } from 'ember-concurrency-decorators';
|
|
8
8
|
|
|
9
|
-
export default class ManagementContactsIndexController extends
|
|
9
|
+
export default class ManagementContactsIndexController extends BaseController {
|
|
10
10
|
/**
|
|
11
11
|
* Inject the `currentUser` service
|
|
12
12
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ import { action } from '@ember/object';
|
|
|
8
8
|
* @class ManagementDriversIndexDetailsController
|
|
9
9
|
* @extends Controller
|
|
10
10
|
*/
|
|
11
|
-
export default class ManagementDriverIndexDetailsController extends
|
|
11
|
+
export default class ManagementDriverIndexDetailsController extends BaseController {
|
|
12
12
|
/**
|
|
13
13
|
* The currently active view tab ('details' by default).
|
|
14
14
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementDriversIndexEditController extends
|
|
6
|
+
export default class ManagementDriversIndexEditController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `hostRouter` service
|
|
9
9
|
*
|
|
@@ -25,6 +25,13 @@ export default class ManagementDriversIndexEditController extends Controller {
|
|
|
25
25
|
*/
|
|
26
26
|
@tracked overlay;
|
|
27
27
|
|
|
28
|
+
/**
|
|
29
|
+
* The universe service.
|
|
30
|
+
*
|
|
31
|
+
* @memberof ManagementDriversIndexEditController
|
|
32
|
+
*/
|
|
33
|
+
@tracked universe;
|
|
34
|
+
|
|
28
35
|
/**
|
|
29
36
|
* When exiting the overlay.
|
|
30
37
|
*
|
|
@@ -108,4 +115,23 @@ export default class ManagementDriversIndexEditController extends Controller {
|
|
|
108
115
|
...options,
|
|
109
116
|
});
|
|
110
117
|
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Transitions to a specified route within the '@fleetbase/fleetops-engine' engine.
|
|
121
|
+
*
|
|
122
|
+
* This action is a wrapper around the `transitionToEngineRoute` method of the `universe` service (or object),
|
|
123
|
+
* specifically targeting the '@fleetbase/fleetops-engine'. It allows for easy transitioning to routes
|
|
124
|
+
* within this engine, abstracting away the need to repeatedly specify the engine name.
|
|
125
|
+
*
|
|
126
|
+
* @param {string} route - The route within the '@fleetbase/fleetops-engine' to transition to.
|
|
127
|
+
* @param {...any} args - Additional arguments to pass to the transitionToEngineRoute method.
|
|
128
|
+
* @returns {Promise} A Promise that resolves with the result of the transitionToEngineRoute method.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* // To transition to the 'management.fleets.index.new' route within the '@fleetbase/fleetops-engine'
|
|
132
|
+
* this.transitionToRoute('management.fleets.index.new');
|
|
133
|
+
*/
|
|
134
|
+
@action _transitionToRoute(route, ...args) {
|
|
135
|
+
return this.universe.transitionToEngineRoute('@fleetbase/fleetops-engine', route, ...args);
|
|
136
|
+
}
|
|
111
137
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementDriversIndexNewController extends
|
|
6
|
+
export default class ManagementDriversIndexNewController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `store` service
|
|
9
9
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
@@ -9,7 +9,7 @@ import { task } from 'ember-concurrency-decorators';
|
|
|
9
9
|
import extractCoordinates from '@fleetbase/ember-core/utils/extract-coordinates';
|
|
10
10
|
import leafletIcon from '@fleetbase/ember-core/utils/leaflet-icon';
|
|
11
11
|
|
|
12
|
-
export default class ManagementDriversIndexController extends
|
|
12
|
+
export default class ManagementDriversIndexController extends BaseController {
|
|
13
13
|
/**
|
|
14
14
|
* Inject the `notifications` service
|
|
15
15
|
*
|
|
@@ -132,13 +132,6 @@ export default class ManagementDriversIndexController extends Controller {
|
|
|
132
132
|
*/
|
|
133
133
|
@tracked internal_id;
|
|
134
134
|
|
|
135
|
-
/**
|
|
136
|
-
* The filterable param `drivers_license_number`
|
|
137
|
-
*
|
|
138
|
-
* @var {String}
|
|
139
|
-
*/
|
|
140
|
-
@tracked drivers_license_number;
|
|
141
|
-
|
|
142
135
|
/**
|
|
143
136
|
* The filterable param `name`
|
|
144
137
|
*
|
|
@@ -257,7 +250,13 @@ export default class ManagementDriversIndexController extends Controller {
|
|
|
257
250
|
{
|
|
258
251
|
label: 'Vendor',
|
|
259
252
|
cellComponent: 'table/cell/anchor',
|
|
260
|
-
|
|
253
|
+
onClick: async (driver) => {
|
|
254
|
+
const vendor = await driver.loadVendor();
|
|
255
|
+
|
|
256
|
+
if (vendor) {
|
|
257
|
+
this.contextPanel.focus(vendor);
|
|
258
|
+
}
|
|
259
|
+
},
|
|
261
260
|
valuePath: 'vendor.name',
|
|
262
261
|
modelNamePath: 'name',
|
|
263
262
|
width: '180px',
|
|
@@ -510,6 +509,7 @@ export default class ManagementDriversIndexController extends Controller {
|
|
|
510
509
|
@action viewDriver(driver) {
|
|
511
510
|
return this.transitionToRoute('management.drivers.index.details', driver);
|
|
512
511
|
}
|
|
512
|
+
|
|
513
513
|
/**
|
|
514
514
|
* Create a new `driver` in modal
|
|
515
515
|
*
|
|
@@ -530,6 +530,7 @@ export default class ManagementDriversIndexController extends Controller {
|
|
|
530
530
|
@action editDriver(driver) {
|
|
531
531
|
return this.transitionToRoute('management.drivers.index.edit', driver);
|
|
532
532
|
}
|
|
533
|
+
|
|
533
534
|
/**
|
|
534
535
|
* Delete a `driver` via confirm prompt
|
|
535
536
|
*
|
|
@@ -655,18 +656,4 @@ export default class ManagementDriversIndexController extends Controller {
|
|
|
655
656
|
...options,
|
|
656
657
|
});
|
|
657
658
|
}
|
|
658
|
-
|
|
659
|
-
/**
|
|
660
|
-
* View information about the driver vendor
|
|
661
|
-
*
|
|
662
|
-
* @param {DriverModel} driver
|
|
663
|
-
* @void
|
|
664
|
-
*/
|
|
665
|
-
@action async viewDriverVendor(driver) {
|
|
666
|
-
const vendor = await driver.loadVendor();
|
|
667
|
-
|
|
668
|
-
if (vendor) {
|
|
669
|
-
this.contextPanel.focus(vendor);
|
|
670
|
-
}
|
|
671
|
-
}
|
|
672
659
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ import { action } from '@ember/object';
|
|
|
8
8
|
* @class ManagementFleetsIndexDetailsController
|
|
9
9
|
* @extends Controller
|
|
10
10
|
*/
|
|
11
|
-
export default class ManagementFleetsIndexDetailsController extends
|
|
11
|
+
export default class ManagementFleetsIndexDetailsController extends BaseController {
|
|
12
12
|
/**
|
|
13
13
|
* The currently active view tab ('details' by default).
|
|
14
14
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementFleetsIndexEditController extends
|
|
6
|
+
export default class ManagementFleetsIndexEditController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `hostRouter` service
|
|
9
9
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementFleetsIndexNewController extends
|
|
6
|
+
export default class ManagementFleetsIndexNewController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `store` service
|
|
9
9
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
@@ -6,14 +6,7 @@ import { isBlank } from '@ember/utils';
|
|
|
6
6
|
import { timeout } from 'ember-concurrency';
|
|
7
7
|
import { task } from 'ember-concurrency-decorators';
|
|
8
8
|
|
|
9
|
-
export default class ManagementFleetsIndexController extends
|
|
10
|
-
/**
|
|
11
|
-
* Inject the `operations.zones.index` controller
|
|
12
|
-
*
|
|
13
|
-
* @var {Controller}
|
|
14
|
-
*/
|
|
15
|
-
@controller('operations.zones.index') zones;
|
|
16
|
-
|
|
9
|
+
export default class ManagementFleetsIndexController extends BaseController {
|
|
17
10
|
/**
|
|
18
11
|
* Inject the `notifications` service
|
|
19
12
|
*
|
|
@@ -56,6 +49,13 @@ export default class ManagementFleetsIndexController extends Controller {
|
|
|
56
49
|
*/
|
|
57
50
|
@service hostRouter;
|
|
58
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Inject the `universe` service
|
|
54
|
+
*
|
|
55
|
+
* @var {Service}
|
|
56
|
+
*/
|
|
57
|
+
@service universe;
|
|
58
|
+
|
|
59
59
|
/**
|
|
60
60
|
* Inject the `filters` service
|
|
61
61
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
4
|
import { inject as service } from '@ember/service';
|
|
@@ -8,7 +8,7 @@ import { inject as service } from '@ember/service';
|
|
|
8
8
|
* @class ManagementFuelReportsIndexDetailsController
|
|
9
9
|
* @extends Controller
|
|
10
10
|
*/
|
|
11
|
-
export default class ManagementFuelReportsIndexDetailsController extends
|
|
11
|
+
export default class ManagementFuelReportsIndexDetailsController extends BaseController {
|
|
12
12
|
@service hostRouter;
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementFuelReportsIndexEditController extends
|
|
6
|
+
export default class ManagementFuelReportsIndexEditController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `hostRouter` service
|
|
9
9
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementFuelReportsIndexNewController extends
|
|
6
|
+
export default class ManagementFuelReportsIndexNewController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `store` service
|
|
9
9
|
*
|