@fleetbase/fleetops-engine 0.4.0 → 0.4.2
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/navigator-app.hbs +3 -3
- package/addon/components/admin/visibility-controls.hbs +4 -4
- package/addon/components/cell/driver-name.hbs +1 -1
- package/addon/components/contact-form-panel.hbs +15 -15
- package/addon/components/contact-form-panel.js +8 -4
- package/addon/components/contact-panel/details.hbs +7 -7
- package/addon/components/contact-panel.hbs +2 -2
- package/addon/components/display-place.hbs +2 -2
- package/addon/components/driver-card.hbs +1 -1
- package/addon/components/driver-form-panel.hbs +36 -29
- package/addon/components/driver-form-panel.js +6 -2
- package/addon/components/driver-panel/details.hbs +10 -10
- package/addon/components/driver-panel.hbs +5 -5
- package/addon/components/fleet-driver-listing.hbs +5 -5
- package/addon/components/fleet-form-panel.hbs +16 -16
- package/addon/components/fleet-form-panel.js +5 -1
- package/addon/components/fleet-panel/details.hbs +7 -7
- package/addon/components/fleet-panel/driver-listing.hbs +5 -5
- package/addon/components/fleet-panel/driver-listing.js +6 -0
- package/addon/components/fleet-panel/vehicle-listing.hbs +5 -5
- package/addon/components/fleet-panel/vehicle-listing.js +6 -0
- package/addon/components/fleet-vehicle-listing.hbs +5 -5
- package/addon/components/fuel-report-form-panel.hbs +16 -16
- package/addon/components/fuel-report-form-panel.js +5 -1
- package/addon/components/fuel-report-panel/details.hbs +11 -11
- package/addon/components/fuel-report-panel.hbs +3 -3
- package/addon/components/global-search.hbs +1 -1
- package/addon/components/horizontal-route.hbs +1 -1
- package/addon/components/integrated-order-details.hbs +13 -13
- package/addon/components/issue-form-panel.hbs +25 -25
- package/addon/components/issue-form-panel.js +6 -1
- package/addon/components/issue-panel/details.hbs +11 -11
- package/addon/components/issue-panel.hbs +3 -3
- package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
- package/addon/components/layout/fleet-ops-sidebar.js +28 -12
- package/addon/components/live-map-drawer/driver-listing.hbs +1 -1
- package/addon/components/live-map-drawer/driver-listing.js +16 -10
- package/addon/components/live-map-drawer/place-listing.hbs +1 -1
- package/addon/components/live-map-drawer/place-listing.js +12 -7
- package/addon/components/live-map-drawer/vehicle-listing.hbs +1 -1
- package/addon/components/live-map-drawer/vehicle-listing.js +15 -9
- package/addon/components/live-map.hbs +10 -92
- package/addon/components/live-map.js +29 -24
- package/addon/components/map-container/toolbar/visibility-control-panel.hbs +9 -9
- package/addon/components/map-container/toolbar/zones-panel.hbs +10 -10
- package/addon/components/map-container/toolbar.hbs +6 -6
- package/addon/components/modals/assign-driver.hbs +2 -2
- package/addon/components/modals/clone-config-form.hbs +2 -2
- package/addon/components/modals/contact-details.hbs +6 -6
- package/addon/components/modals/contact-form.hbs +11 -11
- package/addon/components/modals/driver-assign-order.hbs +2 -2
- package/addon/components/modals/driver-assign-vehicle.hbs +2 -2
- package/addon/components/modals/driver-assign-vendor.hbs +2 -2
- package/addon/components/modals/driver-details.hbs +14 -14
- package/addon/components/modals/driver-form.hbs +18 -18
- package/addon/components/modals/edit-meta-form.hbs +2 -2
- package/addon/components/modals/entity-form.hbs +16 -16
- package/addon/components/modals/entity-meta-field-prompt.hbs +1 -1
- package/addon/components/modals/fleet-details.hbs +6 -6
- package/addon/components/modals/fleet-form.hbs +8 -8
- package/addon/components/modals/fuel-report-details.hbs +9 -9
- package/addon/components/modals/fuel-report-form.hbs +8 -8
- package/addon/components/modals/group-details.hbs +4 -4
- package/addon/components/modals/group-form.hbs +6 -6
- package/addon/components/modals/install-prompt.hbs +2 -3
- package/addon/components/modals/issue-details.hbs +8 -8
- package/addon/components/modals/issue-from.hbs +21 -21
- package/addon/components/modals/map-field-form.hbs +2 -2
- package/addon/components/modals/map-field-group-form.hbs +1 -1
- package/addon/components/modals/map-layer-form.hbs +10 -10
- package/addon/components/modals/meta-field-form.hbs +2 -2
- package/addon/components/modals/meta-field-group-form.hbs +1 -1
- package/addon/components/modals/new-order-config.hbs +4 -4
- package/addon/components/modals/order-assign-driver.hbs +2 -2
- package/addon/components/modals/order-config-new-status.hbs +1 -1
- package/addon/components/modals/order-event.hbs +2 -2
- package/addon/components/modals/order-form.hbs +8 -8
- package/addon/components/modals/order-import.hbs +8 -8
- package/addon/components/modals/order-label.hbs +1 -1
- package/addon/components/modals/order-new-activity.hbs +10 -10
- package/addon/components/modals/order-route-form.hbs +17 -17
- package/addon/components/modals/place-assign-vendor.hbs +2 -2
- package/addon/components/modals/place-details.hbs +13 -13
- package/addon/components/modals/place-form.hbs +15 -15
- package/addon/components/modals/policy-form.hbs +5 -5
- package/addon/components/modals/role-form.hbs +3 -3
- package/addon/components/modals/select-payment-method.hbs +1 -1
- package/addon/components/modals/service-area-form.hbs +8 -8
- package/addon/components/modals/set-password.hbs +3 -3
- package/addon/components/modals/uninstall-prompt.hbs +2 -3
- package/addon/components/modals/user-form.hbs +9 -9
- package/addon/components/modals/vehicle-details.hbs +41 -41
- package/addon/components/modals/vehicle-form.hbs +73 -73
- package/addon/components/modals/vendor-details.hbs +10 -10
- package/addon/components/modals/vendor-form.hbs +36 -36
- package/addon/components/modals/view-service-area.hbs +1 -1
- package/addon/components/modals/zone-form.hbs +6 -6
- package/addon/components/order/header.hbs +11 -11
- package/addon/components/order/place-card.hbs +2 -2
- package/addon/components/order/schedule-card.hbs +6 -6
- package/addon/components/order/schedule-card.js +11 -7
- package/addon/components/order-config/activity-flow-editor.hbs +14 -14
- package/addon/components/order-config/activity-flow-editor.js +11 -11
- package/addon/components/order-config/details-editor.hbs +9 -9
- package/addon/components/order-config/entities-editor.hbs +13 -13
- package/addon/components/order-config/entities-editor.js +2 -2
- package/addon/components/order-config/fields-editor.hbs +14 -14
- package/addon/components/order-config/fields-editor.js +13 -12
- package/addon/components/order-config.hbs +9 -9
- package/addon/components/order-config.js +12 -11
- package/addon/components/order-list-overlay.hbs +14 -14
- package/addon/components/place-form-panel.hbs +18 -18
- package/addon/components/place-form-panel.js +6 -1
- package/addon/components/place-panel/details.hbs +10 -10
- package/addon/components/place-panel.hbs +2 -2
- package/addon/components/route-list.hbs +2 -2
- package/addon/components/settings-window.hbs +5 -5
- package/addon/components/settings-window.js +2 -1
- package/addon/components/vehicle-form-panel.hbs +27 -27
- package/addon/components/vehicle-form-panel.js +8 -3
- package/addon/components/vehicle-panel/details.hbs +7 -7
- package/addon/components/vehicle-panel.hbs +4 -4
- package/addon/components/vendor-form-panel/create-form.hbs +34 -33
- package/addon/components/vendor-form-panel/create-form.js +6 -2
- package/addon/components/vendor-form-panel/edit-form.hbs +27 -27
- package/addon/components/vendor-form-panel/edit-form.js +1 -0
- package/addon/components/vendor-form-panel.hbs +6 -6
- package/addon/components/vendor-form-panel.js +7 -2
- package/addon/components/vendor-panel/details.hbs +10 -10
- package/addon/components/vendor-panel.hbs +3 -3
- package/addon/components/widget/fleet-ops-quickstart.hbs +2 -2
- package/addon/components/widget/fleet-ops-quickstart.js +1 -0
- package/addon/components/widget/key-metrics.hbs +12 -12
- package/addon/components/widget/live-order-map.hbs +4 -4
- package/addon/components/widget/recent-orders.hbs +4 -4
- package/addon/components/widget/transactions.hbs +4 -4
- package/addon/controllers/management/contacts/index/edit.js +10 -3
- package/addon/controllers/management/contacts/index/new.js +7 -0
- package/addon/controllers/management/contacts/index.js +23 -16
- package/addon/controllers/management/drivers/index/edit.js +10 -3
- package/addon/controllers/management/drivers/index/new.js +7 -0
- package/addon/controllers/management/drivers/index.js +33 -19
- package/addon/controllers/management/fleets/index/edit.js +10 -3
- package/addon/controllers/management/fleets/index/new.js +7 -0
- package/addon/controllers/management/fleets/index.js +24 -17
- package/addon/controllers/management/fuel-reports/index/edit.js +10 -3
- package/addon/controllers/management/fuel-reports/index/new.js +7 -0
- package/addon/controllers/management/fuel-reports/index.js +20 -13
- package/addon/controllers/management/issues/index/edit.js +10 -3
- package/addon/controllers/management/issues/index/new.js +8 -0
- package/addon/controllers/management/issues/index.js +22 -15
- package/addon/controllers/management/places/index/edit.js +10 -3
- package/addon/controllers/management/places/index/new.js +7 -0
- package/addon/controllers/management/places/index.js +27 -20
- package/addon/controllers/management/vehicles/index/edit.js +10 -3
- package/addon/controllers/management/vehicles/index/new.js +7 -0
- package/addon/controllers/management/vehicles/index.js +22 -15
- package/addon/controllers/management/vendors/index/edit.js +10 -3
- package/addon/controllers/management/vendors/index/new.js +7 -0
- package/addon/controllers/management/vendors/index.js +23 -16
- package/addon/controllers/operations/orders/index/new.js +127 -30
- package/addon/controllers/operations/orders/index/view.js +57 -20
- package/addon/controllers/operations/orders/index.js +34 -27
- package/addon/controllers/operations/scheduler/index.js +3 -2
- package/addon/controllers/operations/service-rates/index/edit.js +1 -12
- package/addon/controllers/operations/service-rates/index/new.js +9 -1
- package/addon/controllers/operations/service-rates/index.js +16 -9
- package/addon/routes/application.js +5 -2
- package/addon/routes/management/places/index.js +1 -1
- package/addon/routes/operations/orders/index/view.js +2 -14
- package/addon/services/driver-actions.js +9 -8
- package/addon/services/vehicle-actions.js +2 -1
- package/addon/styles/fleetops-engine.css +6 -0
- package/addon/templates/management/contacts/index.hbs +6 -6
- package/addon/templates/management/drivers/index.hbs +6 -6
- package/addon/templates/management/fleets/index.hbs +6 -6
- package/addon/templates/management/fuel-reports/index.hbs +7 -7
- package/addon/templates/management/index.hbs +17 -17
- package/addon/templates/management/issues/index.hbs +6 -6
- package/addon/templates/management/places/index.hbs +6 -6
- package/addon/templates/management/vehicles/index.hbs +6 -6
- package/addon/templates/management/vendors/index.hbs +6 -6
- package/addon/templates/operations/orders/index/config/types.hbs +3 -3
- package/addon/templates/operations/orders/index/config.hbs +3 -4
- package/addon/templates/operations/orders/index/new.hbs +73 -73
- package/addon/templates/operations/orders/index/view.hbs +147 -53
- package/addon/templates/operations/orders/index.hbs +13 -13
- package/addon/templates/operations/scheduler/index.hbs +3 -3
- package/addon/templates/operations/service-rates/index/new.hbs +79 -81
- package/addon/templates/operations/service-rates/index.hbs +6 -6
- package/composer.json +2 -2
- package/extension.json +1 -1
- package/package.json +4 -2
- package/server/resources/views/labels/default.php +40 -18
- package/server/resources/views/labels/waypoint-label.php +126 -0
- package/server/src/Http/Controllers/Api/v1/DriverController.php +4 -1
- package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
- package/server/src/Http/Resources/v1/Entity.php +2 -2
- package/server/src/Http/Resources/v1/Payload.php +11 -30
- package/server/src/Http/Resources/v1/Place.php +3 -3
- package/server/src/Http/Resources/v1/Waypoint.php +101 -0
- package/server/src/Models/Entity.php +1 -1
- package/server/src/Models/Payload.php +39 -0
- package/server/src/Models/Place.php +5 -2
- package/server/src/Models/Proof.php +1 -1
- package/server/src/Models/Waypoint.php +15 -3
- package/translations/en-us.yaml +1343 -3
|
@@ -25,6 +25,12 @@ export default class LiveMapDrawerVehicleListingComponent extends Component {
|
|
|
25
25
|
*/
|
|
26
26
|
@service notifications;
|
|
27
27
|
|
|
28
|
+
/**
|
|
29
|
+
* Service for intl.
|
|
30
|
+
* @service
|
|
31
|
+
*/
|
|
32
|
+
@service intl;
|
|
33
|
+
|
|
28
34
|
/**
|
|
29
35
|
* Service for CRUD operations.
|
|
30
36
|
* @service
|
|
@@ -62,7 +68,7 @@ export default class LiveMapDrawerVehicleListingComponent extends Component {
|
|
|
62
68
|
*/
|
|
63
69
|
@tracked columns = [
|
|
64
70
|
{
|
|
65
|
-
label: '
|
|
71
|
+
label: this.intl.t('fleet-ops.common.vehicle'),
|
|
66
72
|
valuePath: 'display_name',
|
|
67
73
|
photoPath: 'avatar_url',
|
|
68
74
|
width: '100px',
|
|
@@ -71,20 +77,20 @@ export default class LiveMapDrawerVehicleListingComponent extends Component {
|
|
|
71
77
|
showOnlineIndicator: true,
|
|
72
78
|
},
|
|
73
79
|
{
|
|
74
|
-
label: '
|
|
80
|
+
label: this.intl.t('fleet-ops.component.live-map-drawer.vehicle-listing.location'),
|
|
75
81
|
valuePath: 'location',
|
|
76
82
|
width: '80px',
|
|
77
83
|
cellComponent: 'table/cell/point',
|
|
78
84
|
onClick: this.locate,
|
|
79
85
|
},
|
|
80
86
|
{
|
|
81
|
-
label: '
|
|
87
|
+
label: this.intl.t('fleet-ops.common.status'),
|
|
82
88
|
valuePath: 'status',
|
|
83
89
|
cellComponent: 'table/cell/status',
|
|
84
90
|
width: '60px',
|
|
85
91
|
},
|
|
86
92
|
{
|
|
87
|
-
label: '
|
|
93
|
+
label: this.intl.t('fleet-ops.component.live-map-drawer.vehicle-listing.last-seen'),
|
|
88
94
|
valuePath: 'updatedAgo',
|
|
89
95
|
width: '60px',
|
|
90
96
|
},
|
|
@@ -100,21 +106,21 @@ export default class LiveMapDrawerVehicleListingComponent extends Component {
|
|
|
100
106
|
width: '90px',
|
|
101
107
|
actions: [
|
|
102
108
|
{
|
|
103
|
-
label: '
|
|
109
|
+
label: this.intl.t('fleet-ops.component.live-map-drawer.vehicle-listing.view-vehicle'),
|
|
104
110
|
fn: this.focus,
|
|
105
111
|
},
|
|
106
112
|
{
|
|
107
|
-
label: '
|
|
113
|
+
label: this.intl.t('fleet-ops.component.live-map-drawer.vehicle-listing.edit-vehicle'),
|
|
108
114
|
fn: (vehicle) => {
|
|
109
115
|
return this.focus(vehicle, 'editing');
|
|
110
116
|
},
|
|
111
117
|
},
|
|
112
118
|
{
|
|
113
|
-
label: '
|
|
119
|
+
label: this.intl.t('fleet-ops.component.live-map-drawer.vehicle-listing.locate-vehicle'),
|
|
114
120
|
fn: this.locate,
|
|
115
121
|
},
|
|
116
122
|
{
|
|
117
|
-
label: '
|
|
123
|
+
label: this.intl.t('fleet-ops.component.live-map-drawer.vehicle-listing.delete-vehicle'),
|
|
118
124
|
fn: this.delete,
|
|
119
125
|
},
|
|
120
126
|
],
|
|
@@ -194,7 +200,7 @@ export default class LiveMapDrawerVehicleListingComponent extends Component {
|
|
|
194
200
|
if (this.liveMap) {
|
|
195
201
|
this.liveMap.focusLayerByRecord(vehicle, 18);
|
|
196
202
|
} else {
|
|
197
|
-
this.notifications.warning('
|
|
203
|
+
this.notifications.warning(this.intl.t('fleet-ops.component.live-map-drawer.vehicle-listing.warning-message'));
|
|
198
204
|
}
|
|
199
205
|
}
|
|
200
206
|
|
|
@@ -1,33 +1,9 @@
|
|
|
1
1
|
<div class="live-map-component {{@wrapperClass}}" {{did-insert this.setupComponent}}>
|
|
2
|
-
<LeafletMap
|
|
3
|
-
id={{this.mapId}}
|
|
4
|
-
class={{@mapClass}}
|
|
5
|
-
@lat={{this.latitude}}
|
|
6
|
-
@lng={{this.longitude}}
|
|
7
|
-
@zoom={{this.zoom}}
|
|
8
|
-
@zoomControl={{@zoomControl}}
|
|
9
|
-
@contextmenu={{true}}
|
|
10
|
-
@contextmenuWidth={{140}}
|
|
11
|
-
@contextmenuItems={{this.contextMenuItems}}
|
|
12
|
-
@onLoad={{this.setupMap}}
|
|
13
|
-
{{will-destroy this.closeChannels}}
|
|
14
|
-
...attributes
|
|
15
|
-
as |layers|
|
|
16
|
-
>
|
|
2
|
+
<LeafletMap id={{this.mapId}} class={{@mapClass}} @lat={{this.latitude}} @lng={{this.longitude}} @zoom={{this.zoom}} @zoomControl={{@zoomControl}} @contextmenu={{true}} @contextmenuWidth={{140}} @contextmenuItems={{this.contextMenuItems}} @onLoad={{this.setupMap}} {{will-destroy this.closeChannels}} ...attributes as |layers|>
|
|
17
3
|
<layers.tile @url={{this.tileSourceUrl}} />
|
|
18
4
|
{{#if this.visibilityControls.drivers}}
|
|
19
5
|
{{#each this.drivers as |driver|}}
|
|
20
|
-
<layers.drift-marker
|
|
21
|
-
@id={{driver.id}}
|
|
22
|
-
@rotationAngle={{driver.heading}}
|
|
23
|
-
@duration={{300}}
|
|
24
|
-
@icon={{icon iconUrl=(or driver.vehicle_avatar (config "defaultValues.vehicleAvatar")) iconSize=(array 24 24)}}
|
|
25
|
-
@location={{point-to-coordinates driver.location}}
|
|
26
|
-
@publicId={{driver.public_id}}
|
|
27
|
-
@onAdd={{fn this.triggerAction "onDriverAdded" driver}}
|
|
28
|
-
@onClick={{fn this.triggerAction "onDriverClicked" driver}}
|
|
29
|
-
as |marker|
|
|
30
|
-
>
|
|
6
|
+
<layers.drift-marker @id={{driver.id}} @rotationAngle={{driver.heading}} @duration={{300}} @icon={{icon iconUrl=(or driver.vehicle_avatar (config "defaultValues.vehicleAvatar")) iconSize=(array 24 24)}} @location={{point-to-coordinates driver.location}} @publicId={{driver.public_id}} @onAdd={{fn this.triggerAction "onDriverAdded" driver}} @onClick={{fn this.triggerAction "onDriverClicked" driver}} as |marker|>
|
|
31
7
|
<marker.popup @maxWidth="500" @minWidth="225">
|
|
32
8
|
<DriverCard @driver={{driver}} @showCoordinates={{true}} @textClass="text-gray-900 dark:text-gray-100" />
|
|
33
9
|
</marker.popup>
|
|
@@ -38,17 +14,7 @@
|
|
|
38
14
|
|
|
39
15
|
{{#if this.visibilityControls.vehicles}}
|
|
40
16
|
{{#each this.vehicles as |vehicle|}}
|
|
41
|
-
<layers.drift-marker
|
|
42
|
-
@id={{vehicle.id}}
|
|
43
|
-
@rotationAngle={{vehicle.heading}}
|
|
44
|
-
@duration={{300}}
|
|
45
|
-
@icon={{icon iconUrl=(or vehicle.avatar_url (config "defaultValues.vehicleAvatar")) iconSize=(array 24 24)}}
|
|
46
|
-
@location={{point-to-coordinates vehicle.location}}
|
|
47
|
-
@publicId={{vehicle.public_id}}
|
|
48
|
-
@onAdd={{fn this.triggerAction "onVehicleAdded" vehicle}}
|
|
49
|
-
@onClick={{fn this.triggerAction "onVehicleClicked" vehicle}}
|
|
50
|
-
as |marker|
|
|
51
|
-
>
|
|
17
|
+
<layers.drift-marker @id={{vehicle.id}} @rotationAngle={{vehicle.heading}} @duration={{300}} @icon={{icon iconUrl=(or vehicle.avatar_url (config "defaultValues.vehicleAvatar")) iconSize=(array 24 24)}} @location={{point-to-coordinates vehicle.location}} @publicId={{vehicle.public_id}} @onAdd={{fn this.triggerAction "onVehicleAdded" vehicle}} @onClick={{fn this.triggerAction "onVehicleClicked" vehicle}} as |marker|>
|
|
52
18
|
<marker.tooltip @permanent={{false}} @sticky={{true}}>
|
|
53
19
|
<div>{{vehicle.displayName}}</div>
|
|
54
20
|
<div>{{if vehicle.online "Online" "Offline"}}</div>
|
|
@@ -59,17 +25,7 @@
|
|
|
59
25
|
|
|
60
26
|
{{#if this.visibilityControls.places}}
|
|
61
27
|
{{#each this.places as |place|}}
|
|
62
|
-
<layers.marker
|
|
63
|
-
@id={{place.id}}
|
|
64
|
-
@icon={{icon iconUrl="/engines-dist/images/building-marker.png" iconSize=(array 16 16)}}
|
|
65
|
-
@location={{point-to-coordinates place.location}}
|
|
66
|
-
@riseOnHover={{true}}
|
|
67
|
-
@title={{place.address}}
|
|
68
|
-
@alt={{place.address}}
|
|
69
|
-
@onAdd={{fn this.triggerAction "onPlaceAdded" place}}
|
|
70
|
-
@onClick={{fn this.triggerAction "onPlaceClicked" place}}
|
|
71
|
-
as |marker|
|
|
72
|
-
>
|
|
28
|
+
<layers.marker @id={{place.id}} @icon={{icon iconUrl="/engines-dist/images/building-marker.png" iconSize=(array 16 16)}} @location={{point-to-coordinates place.location}} @riseOnHover={{true}} @title={{place.address}} @alt={{place.address}} @onAdd={{fn this.triggerAction "onPlaceAdded" place}} @onClick={{fn this.triggerAction "onPlaceClicked" place}} as |marker|>
|
|
73
29
|
<marker.popup>
|
|
74
30
|
<div>{{place.address}}</div>
|
|
75
31
|
<div>{{format-point place.location}}</div>
|
|
@@ -111,42 +67,16 @@
|
|
|
111
67
|
{{/each}}
|
|
112
68
|
{{/if}} --}}
|
|
113
69
|
|
|
114
|
-
<layers.draw-control
|
|
115
|
-
@position="topright"
|
|
116
|
-
@draw={{hash marker=false circlemarker=false circle=false polyline=false}}
|
|
117
|
-
@onDrawDrawstop={{fn this.triggerAction "onDrawDrawstop"}}
|
|
118
|
-
@onDrawDeleted={{fn this.triggerAction "onDrawDeleted"}}
|
|
119
|
-
@onDrawEdited={{fn this.triggerAction "onDrawEdited"}}
|
|
120
|
-
@onDrawDeletestart={{fn this.triggerAction "onDrawDeletestart"}}
|
|
121
|
-
@onDrawEditstop={{fn this.triggerAction "onDrawEditstop"}}
|
|
122
|
-
@onDrawControlCreated={{fn this.triggerAction "onDrawControlCreated"}}
|
|
123
|
-
@onDrawFeatureGroupCreated={{fn this.triggerAction "onDrawFeatureGroupCreated"}}
|
|
124
|
-
/>
|
|
70
|
+
<layers.draw-control @position="topright" @draw={{hash marker=false circlemarker=false circle=false polyline=false}} @onDrawDrawstop={{fn this.triggerAction "onDrawDrawstop"}} @onDrawDeleted={{fn this.triggerAction "onDrawDeleted"}} @onDrawEdited={{fn this.triggerAction "onDrawEdited"}} @onDrawDeletestart={{fn this.triggerAction "onDrawDeletestart"}} @onDrawEditstop={{fn this.triggerAction "onDrawEditstop"}} @onDrawControlCreated={{fn this.triggerAction "onDrawControlCreated"}} @onDrawFeatureGroupCreated={{fn this.triggerAction "onDrawFeatureGroupCreated"}} />
|
|
125
71
|
|
|
126
72
|
{{#each this.activeServiceAreas as |serviceArea|}}
|
|
127
|
-
<layers.polygon
|
|
128
|
-
@
|
|
129
|
-
@record={{serviceArea}}
|
|
130
|
-
@locations={{serviceArea.bounds}}
|
|
131
|
-
@fillColor={{serviceArea.color}}
|
|
132
|
-
@color={{serviceArea.stroke_color}}
|
|
133
|
-
@onAdd={{fn this.triggerAction "onServiceAreaLayerAdded" serviceArea}}
|
|
134
|
-
as |polygon|
|
|
135
|
-
>
|
|
136
|
-
<polygon.tooltip @permanent={{true}} @sticky={{true}}>{{serviceArea.name}} Service Area</polygon.tooltip>
|
|
73
|
+
<layers.polygon @id={{serviceArea.id}} @record={{serviceArea}} @locations={{serviceArea.bounds}} @fillColor={{serviceArea.color}} @color={{serviceArea.stroke_color}} @onAdd={{fn this.triggerAction "onServiceAreaLayerAdded" serviceArea}} as |polygon|>
|
|
74
|
+
<polygon.tooltip @permanent={{true}} @sticky={{true}}>{{serviceArea.name}} {{t "fleet-ops.component.live-map.service-area"}}</polygon.tooltip>
|
|
137
75
|
</layers.polygon>
|
|
138
76
|
|
|
139
77
|
{{#each serviceArea.zones as |zone|}}
|
|
140
|
-
<layers.polygon
|
|
141
|
-
@
|
|
142
|
-
@record={{zone}}
|
|
143
|
-
@locations={{zone.locations}}
|
|
144
|
-
@fillColor={{zone.color}}
|
|
145
|
-
@color={{zone.stroke_color}}
|
|
146
|
-
@onAdd={{fn this.triggerAction "onZoneLayerAdd" zone}}
|
|
147
|
-
as |polygon|
|
|
148
|
-
>
|
|
149
|
-
<polygon.tooltip @permanent={{true}} @sticky={{true}}>{{zone.name}} Zone</polygon.tooltip>
|
|
78
|
+
<layers.polygon @id={{zone.id}} @record={{zone}} @locations={{zone.locations}} @fillColor={{zone.color}} @color={{zone.stroke_color}} @onAdd={{fn this.triggerAction "onZoneLayerAdd" zone}} as |polygon|>
|
|
79
|
+
<polygon.tooltip @permanent={{true}} @sticky={{true}}>{{zone.name}} {{t "fleet-ops.component.live-map.zone"}}</polygon.tooltip>
|
|
150
80
|
</layers.polygon>
|
|
151
81
|
{{/each}}
|
|
152
82
|
{{/each}}
|
|
@@ -156,17 +86,5 @@
|
|
|
156
86
|
</div>
|
|
157
87
|
|
|
158
88
|
{{#if this.isDataLoaded}}
|
|
159
|
-
<LiveMapDrawer
|
|
160
|
-
@tab={{@drawerTab}}
|
|
161
|
-
@onTabChanged={{@onDrawerTabChanged}}
|
|
162
|
-
@onResizeEnd={{@onDrawerResizeEnd}}
|
|
163
|
-
@onResizeStart={{@onDrawerResizeStart}}
|
|
164
|
-
@isMinimized={{@isDrawerMinimized}}
|
|
165
|
-
@isOpen={{@isDrawerOpen}}
|
|
166
|
-
@vehicles={{this.vehicles}}
|
|
167
|
-
@drivers={{this.drivers}}
|
|
168
|
-
@places={{this.places}}
|
|
169
|
-
@liveMap={{this}}
|
|
170
|
-
@onDrawerReady={{this.setDrawerContext}}
|
|
171
|
-
/>
|
|
89
|
+
<LiveMapDrawer @tab={{@drawerTab}} @onTabChanged={{@onDrawerTabChanged}} @onResizeEnd={{@onDrawerResizeEnd}} @onResizeStart={{@onDrawerResizeStart}} @isMinimized={{@isDrawerMinimized}} @isOpen={{@isDrawerOpen}} @vehicles={{this.vehicles}} @drivers={{this.drivers}} @places={{this.places}} @liveMap={{this}} @onDrawerReady={{this.setDrawerContext}} />
|
|
172
90
|
{{/if}}
|
|
@@ -26,6 +26,11 @@ export default class LiveMapComponent extends Component {
|
|
|
26
26
|
*/
|
|
27
27
|
@service store;
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* @service intl
|
|
31
|
+
*/
|
|
32
|
+
@service intl;
|
|
33
|
+
|
|
29
34
|
/**
|
|
30
35
|
* Inject the `fetch` service.
|
|
31
36
|
*
|
|
@@ -776,8 +781,8 @@ export default class LiveMapComponent extends Component {
|
|
|
776
781
|
const toggle = !this.isVisible('drawControls');
|
|
777
782
|
|
|
778
783
|
this.leafletContextmenuManager.toggleContextMenuItem('map', 'draw controls', {
|
|
779
|
-
onText: '
|
|
780
|
-
offText: '
|
|
784
|
+
onText: this.intl.t('fleet-ops.component.live-map.onText'),
|
|
785
|
+
offText: this.intl.t('fleet-ops.component.live-map.offText'),
|
|
781
786
|
toggle,
|
|
782
787
|
callback: (isToggled) => {
|
|
783
788
|
if (isToggled) {
|
|
@@ -1457,27 +1462,27 @@ export default class LiveMapComponent extends Component {
|
|
|
1457
1462
|
@action createMapContextMenu(map) {
|
|
1458
1463
|
const contextmenuItems = [
|
|
1459
1464
|
{
|
|
1460
|
-
text: '
|
|
1465
|
+
text: this.intl.t('fleet-ops.component.live-map.show-coordinates'),
|
|
1461
1466
|
callback: this.showCoordinates,
|
|
1462
1467
|
index: 0,
|
|
1463
1468
|
},
|
|
1464
1469
|
{
|
|
1465
|
-
text: '
|
|
1470
|
+
text: this.intl.t('fleet-ops.component.live-map.center-map'),
|
|
1466
1471
|
callback: this.centerMap,
|
|
1467
1472
|
index: 1,
|
|
1468
1473
|
},
|
|
1469
1474
|
{
|
|
1470
|
-
text: '
|
|
1475
|
+
text: this.intl.t('fleet-ops.component.live-map.zoom-in'),
|
|
1471
1476
|
callback: this.zoomIn,
|
|
1472
1477
|
index: 2,
|
|
1473
1478
|
},
|
|
1474
1479
|
{
|
|
1475
|
-
text: '
|
|
1480
|
+
text: this.intl.t('fleet-ops.component.live-map.zoom-out'),
|
|
1476
1481
|
callback: this.zoomOut,
|
|
1477
1482
|
index: 3,
|
|
1478
1483
|
},
|
|
1479
1484
|
{
|
|
1480
|
-
text: this.isVisible('drawControls') ?
|
|
1485
|
+
text: this.isVisible('drawControls') ? this.intl.t('fleet-ops.component.live-map.hide-draw') : this.intl.t('fleet-ops.component.live-map.enable-draw'),
|
|
1481
1486
|
callback: this.toggleDrawControlContextMenuItem.bind(this),
|
|
1482
1487
|
index: 4,
|
|
1483
1488
|
},
|
|
@@ -1485,7 +1490,7 @@ export default class LiveMapComponent extends Component {
|
|
|
1485
1490
|
separator: true,
|
|
1486
1491
|
},
|
|
1487
1492
|
{
|
|
1488
|
-
text: '
|
|
1493
|
+
text: this.intl.t('fleet-ops.component.live-map.create-new-service'),
|
|
1489
1494
|
callback: this.serviceAreas.createServiceArea,
|
|
1490
1495
|
index: 5,
|
|
1491
1496
|
},
|
|
@@ -1505,7 +1510,7 @@ export default class LiveMapComponent extends Component {
|
|
|
1505
1510
|
const nextIndex = contextmenuItems.length + 2;
|
|
1506
1511
|
|
|
1507
1512
|
contextmenuItems.pushObject({
|
|
1508
|
-
text:
|
|
1513
|
+
text: this.intl.t('fleet-ops.component.live-map.focus-service', { serviceName: serviceArea.name }),
|
|
1509
1514
|
callback: () => this.focusServiceArea(serviceArea),
|
|
1510
1515
|
index: nextIndex,
|
|
1511
1516
|
});
|
|
@@ -1543,19 +1548,19 @@ export default class LiveMapComponent extends Component {
|
|
|
1543
1548
|
separator: true,
|
|
1544
1549
|
},
|
|
1545
1550
|
{
|
|
1546
|
-
text:
|
|
1551
|
+
text: this.intl.t('fleet-ops.component.live-map.view-driver', { driverName: driver.name }),
|
|
1547
1552
|
callback: () => this.contextPanel.focus(driver),
|
|
1548
1553
|
},
|
|
1549
1554
|
{
|
|
1550
|
-
text:
|
|
1555
|
+
text: this.intl.t('fleet-ops.component.live-map.edit-driver', { driverName: driver.name }),
|
|
1551
1556
|
callback: () => this.contextPanel.focus(driver, 'editing'),
|
|
1552
1557
|
},
|
|
1553
1558
|
{
|
|
1554
|
-
text:
|
|
1559
|
+
text: this.intl.t('fleet-ops.component.live-map.delete-driver', { driverName: driver.name }),
|
|
1555
1560
|
callback: () => this.crud.delete(driver),
|
|
1556
1561
|
},
|
|
1557
1562
|
{
|
|
1558
|
-
text:
|
|
1563
|
+
text: this.intl.t('fleet-ops.component.live-map.view-vehicle-for', { driverName: driver.name }),
|
|
1559
1564
|
callback: () => this.contextPanel.focus(driver.vehicle),
|
|
1560
1565
|
},
|
|
1561
1566
|
];
|
|
@@ -1604,15 +1609,15 @@ export default class LiveMapComponent extends Component {
|
|
|
1604
1609
|
separator: true,
|
|
1605
1610
|
},
|
|
1606
1611
|
{
|
|
1607
|
-
text:
|
|
1612
|
+
text: this.intl.t('fleet-ops.component.live-map.view-vehicle', { vehicleName: vehicle.displayName }),
|
|
1608
1613
|
callback: () => this.contextPanel.focus(vehicle),
|
|
1609
1614
|
},
|
|
1610
1615
|
{
|
|
1611
|
-
text:
|
|
1616
|
+
text: this.intl.t('fleet-ops.component.live-map.edit-vehicle', { vehicleName: vehicle.displayName }),
|
|
1612
1617
|
callback: () => this.contextPanel.focus(vehicle, 'editing'),
|
|
1613
1618
|
},
|
|
1614
1619
|
{
|
|
1615
|
-
text:
|
|
1620
|
+
text: this.intl.t('fleet-ops.component.live-map.delete-vehicle', { vehicleName: vehicle.displayName }),
|
|
1616
1621
|
callback: () => this.crud.delete(vehicle),
|
|
1617
1622
|
},
|
|
1618
1623
|
];
|
|
@@ -1661,11 +1666,11 @@ export default class LiveMapComponent extends Component {
|
|
|
1661
1666
|
separator: true,
|
|
1662
1667
|
},
|
|
1663
1668
|
{
|
|
1664
|
-
text:
|
|
1669
|
+
text: this.intl.t('fleet-ops.component.live-map.edit-zone', { zoneName: zone.name }),
|
|
1665
1670
|
callback: () => this.serviceAreas.editZone(zone),
|
|
1666
1671
|
},
|
|
1667
1672
|
{
|
|
1668
|
-
text:
|
|
1673
|
+
text: this.intl.t('fleet-ops.component.live-map.delete-zone', { zoneName: zone.name }),
|
|
1669
1674
|
callback: () =>
|
|
1670
1675
|
this.serviceAreas.deleteZone(zone, {
|
|
1671
1676
|
onFinish: () => {
|
|
@@ -1674,7 +1679,7 @@ export default class LiveMapComponent extends Component {
|
|
|
1674
1679
|
}),
|
|
1675
1680
|
},
|
|
1676
1681
|
{
|
|
1677
|
-
text:
|
|
1682
|
+
text: this.intl.t('fleet-ops.component.live-map.assign-zone', { zoneName: zone.name }),
|
|
1678
1683
|
callback: () => {},
|
|
1679
1684
|
},
|
|
1680
1685
|
];
|
|
@@ -1701,23 +1706,23 @@ export default class LiveMapComponent extends Component {
|
|
|
1701
1706
|
separator: true,
|
|
1702
1707
|
},
|
|
1703
1708
|
{
|
|
1704
|
-
text:
|
|
1709
|
+
text: this.intl.t('fleet-ops.component.live-map.blur-service', { serviceName: serviceArea.name }),
|
|
1705
1710
|
callback: () => this.blurServiceArea(serviceArea),
|
|
1706
1711
|
},
|
|
1707
1712
|
{
|
|
1708
|
-
text:
|
|
1713
|
+
text: this.intl.t('fleet-ops.component.live-map.create-zone', { serviceName: serviceArea.name }),
|
|
1709
1714
|
callback: () => this.serviceAreas.createZone(serviceArea),
|
|
1710
1715
|
},
|
|
1711
1716
|
{
|
|
1712
|
-
text:
|
|
1717
|
+
text: this.intl.t('fleet-ops.component.live-map.assign-fleet', { serviceName: serviceArea.name }),
|
|
1713
1718
|
callback: () => {},
|
|
1714
1719
|
},
|
|
1715
1720
|
{
|
|
1716
|
-
text:
|
|
1721
|
+
text: this.intl.t('fleet-ops.component.live-map.edit-service', { serviceName: serviceArea.name }),
|
|
1717
1722
|
callback: () => this.serviceAreas.editServiceAreaDetails(serviceArea),
|
|
1718
1723
|
},
|
|
1719
1724
|
{
|
|
1720
|
-
text:
|
|
1725
|
+
text: this.intl.t('fleet-ops.component.live-map.delete-service', { serviceName: serviceArea.name }),
|
|
1721
1726
|
callback: () =>
|
|
1722
1727
|
this.serviceAreas.deleteServiceArea(serviceArea, {
|
|
1723
1728
|
onFinish: () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="next-dd-menu overflow-visible">
|
|
2
2
|
<div class="px-1">
|
|
3
3
|
<div class="text-sm flex flex-row items-center px-3 py-0.5 rounded-md my-1 text-gray-800 dark:text-gray-300">
|
|
4
|
-
|
|
4
|
+
{{t "fleet-ops.component.map-container.visibility-control-panel.title"}}
|
|
5
5
|
</div>
|
|
6
6
|
</div>
|
|
7
7
|
<div class="next-dd-menu-seperator"></div>
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
<span>
|
|
15
15
|
{{#if (is-visibility-control-visible this.liveMap "places")}}
|
|
16
|
-
|
|
16
|
+
{{t "fleet-ops.component.map-container.visibility-control-panel.hide-places"}}
|
|
17
17
|
{{else}}
|
|
18
|
-
|
|
18
|
+
{{t "fleet-ops.component.map-container.visibility-control-panel.show-places"}}
|
|
19
19
|
{{/if}}
|
|
20
20
|
</span>
|
|
21
21
|
</div>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<div class="w-6">
|
|
30
30
|
<FaIcon @icon="car" />
|
|
31
31
|
</div>
|
|
32
|
-
<span>
|
|
32
|
+
<span>{{t "fleet-ops.component.map-container.visibility-control-panel.vehicles"}}</span>
|
|
33
33
|
</div>
|
|
34
34
|
<div>
|
|
35
35
|
<Badge @status="info" @hideStatusDot={{true}} @spanClass="rounded-full -mr-2">{{this.liveMap.originalResources.vehicles.length}}</Badge>
|
|
@@ -40,23 +40,23 @@
|
|
|
40
40
|
<div class="px-1">
|
|
41
41
|
<div class="text-sm flex flex-row items-center px-3 py-0.5 rounded-md my-1 text-gray-800 dark:text-gray-300 truncate">
|
|
42
42
|
<FaIcon @icon="binoculars" class="mr-2" />
|
|
43
|
-
<span>
|
|
43
|
+
<span>{{t "fleet-ops.component.map-container.visibility-control-panel.vehicle-controls"}}</span>
|
|
44
44
|
</div>
|
|
45
45
|
</div>
|
|
46
46
|
<div class="next-dd-menu-seperator"></div>
|
|
47
47
|
<div class="px-1">
|
|
48
48
|
<a href="javascript:;" class="next-dd-item" {{on "click" (fn this.triggerCallback "toggleAllOnlineOffline" "vehicles")}}>
|
|
49
49
|
{{#if (is-visibility-control-visible this.liveMap "vehicles")}}
|
|
50
|
-
|
|
50
|
+
{{t "fleet-ops.component.map-container.visibility-control-panel.hide-vehicles"}}
|
|
51
51
|
{{else}}
|
|
52
|
-
|
|
52
|
+
{{t "fleet-ops.component.map-container.visibility-control-panel.show-vehicles"}}
|
|
53
53
|
{{/if}}
|
|
54
54
|
</a>
|
|
55
55
|
<a href="javascript:;" class="next-dd-item" {{on "click" (fn this.triggerCallback "showOnline" "vehicles")}}>
|
|
56
|
-
|
|
56
|
+
{{t "fleet-ops.component.map-container.visibility-control-panel.online-vehicles"}}
|
|
57
57
|
</a>
|
|
58
58
|
<a href="javascript:;" class="next-dd-item" {{on "click" (fn this.triggerCallback "showOffline" "vehicles")}}>
|
|
59
|
-
|
|
59
|
+
{{t "fleet-ops.component.map-container.visibility-control-panel.offline-vehicles"}}
|
|
60
60
|
</a>
|
|
61
61
|
</div>
|
|
62
62
|
</div>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<div class="next-dd-menu overflow-visible">
|
|
2
2
|
<div class="px-1">
|
|
3
3
|
<div class="text-sm flex flex-row items-center px-3 py-0.5 rounded-md my-1 text-gray-800 dark:text-gray-300">
|
|
4
|
-
|
|
4
|
+
{{t "fleet-ops.component.map-container.zones-panel.title"}}
|
|
5
5
|
</div>
|
|
6
6
|
</div>
|
|
7
7
|
<div class="next-dd-menu-seperator"></div>
|
|
8
8
|
<div class="px-1">
|
|
9
|
-
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn @dd this.triggerCallback "createServiceArea")}}>
|
|
10
|
-
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn @dd this.triggerCallback "focusAllServiceAreas")}}>
|
|
11
|
-
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn @dd this.triggerCallback "blurAllServiceAreas")}}>
|
|
9
|
+
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn @dd this.triggerCallback "createServiceArea")}}>{{t "fleet-ops.component.map-container.zones-panel.create-service"}}</a>
|
|
10
|
+
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn @dd this.triggerCallback "focusAllServiceAreas")}}>{{t "fleet-ops.component.map-container.zones-panel.show"}}</a>
|
|
11
|
+
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn @dd this.triggerCallback "blurAllServiceAreas")}}>{{t "fleet-ops.component.map-container.zones-panel.hide"}}</a>
|
|
12
12
|
{{#each this.serviceAreaRecords as |serviceArea|}}
|
|
13
13
|
<BasicDropdownHover @horizontalPosition="right" @calculatePosition={{this.calculatePosition}} @renderInPlace={{true}} as |dd|>
|
|
14
14
|
<dd.Trigger class="next-dd-item {{if dd.isOpen 'active'}}">
|
|
@@ -20,18 +20,18 @@
|
|
|
20
20
|
<div class="px-1">
|
|
21
21
|
<div class="text-sm flex flex-row items-center px-3 py-0.5 rounded-md my-1 text-gray-800 dark:text-gray-300 truncate">
|
|
22
22
|
<FaIcon @icon="drafting-compass" class="mr-2" />
|
|
23
|
-
<span>{{serviceArea.name}}
|
|
23
|
+
<span>{{serviceArea.name}} {{t "fleet-ops.component.map-container.zones-panel.action"}}</span>
|
|
24
24
|
</div>
|
|
25
25
|
</div>
|
|
26
26
|
<div class="next-dd-menu-seperator"></div>
|
|
27
27
|
<div class="px-1">
|
|
28
|
-
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "focusServiceArea" serviceArea)}}>
|
|
28
|
+
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "focusServiceArea" serviceArea)}}>{{t "fleet-ops.component.map-container.zones-panel.focus"}} {{serviceArea.name}}...</a>
|
|
29
29
|
{{#if (eq serviceArea this.liveMap.activeServiceArea)}}
|
|
30
|
-
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "blurServiceArea" serviceArea)}}>
|
|
30
|
+
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "blurServiceArea" serviceArea)}}>{{t "fleet-ops.component.map-container.zones-panel.blur"}}</a>
|
|
31
31
|
{{/if}}
|
|
32
|
-
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "createZone" serviceArea)}}>
|
|
33
|
-
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "editServiceAreaDetails" serviceArea)}}>
|
|
34
|
-
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "deleteServiceArea" serviceArea)}}>
|
|
32
|
+
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "createZone" serviceArea)}}>{{t "fleet-ops.component.map-container.zones-panel.create-zone"}}</a>
|
|
33
|
+
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "editServiceAreaDetails" serviceArea)}}>{{t "fleet-ops.common.edit"}} {{serviceArea.name}}...</a>
|
|
34
|
+
<a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "deleteServiceArea" serviceArea)}}>{{t "fleet-ops.common.delete"}} {{serviceArea.name}}...</a>
|
|
35
35
|
</div>
|
|
36
36
|
</div>
|
|
37
37
|
</dd.Content>
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
<button type="button" id="map-toolbar-create-order-button" class="toolbar-button is-action" {{on "click" (fn this.onAction "onPressCreateOrder")}}>
|
|
16
16
|
<FaIcon @icon="paper-plane" />
|
|
17
17
|
<Attach::Tooltip @class="clean" @animation="scale" @placement="right">
|
|
18
|
-
<InputInfo @text=
|
|
18
|
+
<InputInfo @text={{t "fleet-ops.component.map-container.toolbar.create"}} @iconClass="hidden" class="py-1 px-2 bg-gray-900 -mt-1" />
|
|
19
19
|
</Attach::Tooltip>
|
|
20
20
|
</button>
|
|
21
21
|
<button type="button" id="map-toolbar-search-button" class="toolbar-button" {{on "click" (fn this.onAction "onPressSearch")}}>
|
|
22
22
|
<FaIcon @icon="search" />
|
|
23
23
|
<Attach::Tooltip @class="clean" @animation="scale" @placement="right">
|
|
24
|
-
<InputInfo @text="
|
|
24
|
+
<InputInfo @text={{t "fleet-ops.common.search"}} @iconClass="hidden" class="py-1 px-2 bg-gray-900 -mt-1" />
|
|
25
25
|
</Attach::Tooltip>
|
|
26
26
|
</button>
|
|
27
27
|
<button type="button" id="map-toolbar-view-orders-button" class="toolbar-button relative" {{on "click" (fn this.onAction "onPressViewOrders")}}>
|
|
@@ -33,14 +33,14 @@
|
|
|
33
33
|
</div>
|
|
34
34
|
<FaIcon @icon="layer-group" />
|
|
35
35
|
<Attach::Tooltip @class="clean" @animation="scale" @placement="right">
|
|
36
|
-
<InputInfo @text=
|
|
36
|
+
<InputInfo @text={{t "fleet-ops.component.map-container.toolbar.view"}} @iconClass="hidden" class="py-1 px-2 bg-gray-900 -mt-1" />
|
|
37
37
|
</Attach::Tooltip>
|
|
38
38
|
</button>
|
|
39
39
|
<BasicDropdown id="map-toolbar-service-areas-button" @horizontalPosition="right" @calculatePosition={{this.calculatePosition}} @renderInPlace={{true}} as |dd|>
|
|
40
40
|
<dd.Trigger class="toolbar-button">
|
|
41
41
|
<FaIcon @icon="map-marked-alt" />
|
|
42
42
|
<Attach::Tooltip @class="clean" @animation="scale" @placement="right">
|
|
43
|
-
<InputInfo @text=
|
|
43
|
+
<InputInfo @text={{t "fleet-ops.component.map-container.toolbar.view"}} @iconClass="hidden" class="{{if dd.isOpen 'hidden'}} py-1 px-2 bg-gray-900 -mt-1" />
|
|
44
44
|
</Attach::Tooltip>
|
|
45
45
|
</dd.Trigger>
|
|
46
46
|
<dd.Content>
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
<dd.Trigger class="toolbar-button">
|
|
52
52
|
<FaIcon @icon="eye" />
|
|
53
53
|
<Attach::Tooltip @class="clean" @animation="scale" @placement="right">
|
|
54
|
-
<InputInfo @text=
|
|
54
|
+
<InputInfo @text={{t "fleet-ops.component.map-container.toolbar.visibility"}} @iconClass="hidden" class="{{if dd.isOpen 'hidden'}} py-1 px-2 bg-gray-900 -mt-1" />
|
|
55
55
|
</Attach::Tooltip>
|
|
56
56
|
</dd.Trigger>
|
|
57
57
|
<dd.Content>
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
<button type="button" id="map-toolbar-live-map-drawer-button" class="toolbar-button is-action mb-0i" {{on "click" (fn this.onAction "onPressLiveMapDrawerToggle")}}>
|
|
62
62
|
<FaIcon @icon="binoculars" />
|
|
63
63
|
<Attach::Tooltip @class="clean" @animation="scale" @placement="right">
|
|
64
|
-
<InputInfo @text="
|
|
64
|
+
<InputInfo @text={{t "fleet-ops.component.map-container.toolbar.scope"}} @iconClass="hidden" class="py-1 px-2 bg-gray-900 -mt-1" />
|
|
65
65
|
</Attach::Tooltip>
|
|
66
66
|
</button>
|
|
67
67
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
|
|
2
2
|
<div class="modal-body-container">
|
|
3
|
-
<InputGroup @name=
|
|
4
|
-
<ModelSelect @modelName="driver" @selectedModel={{@options.order.driver_assigned}} @placeholder=
|
|
3
|
+
<InputGroup @name={{t "fleet-ops.component.modals.assign-driver.select-driver"}}>
|
|
4
|
+
<ModelSelect @modelName="driver" @selectedModel={{@options.order.driver_assigned}} @placeholder={{t "fleet-ops.component.modals.assign-driver.select-assign"}} @triggerClass="form-select form-input" @infiniteScroll={{false}} @renderInPlace={{true}} @onChange={{fn (mut @options.order.driver_assigned)}} as |model|>
|
|
5
5
|
<div class="flex items-center">
|
|
6
6
|
<div class="w-7">
|
|
7
7
|
<FaIcon @icon="id-card-alt" />
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
|
|
2
2
|
<div class="modal-body-container">
|
|
3
|
-
<InputGroup @name=
|
|
4
|
-
<InputGroup @name=
|
|
3
|
+
<InputGroup @name={{t "fleet-ops.component.modals.clone-config-form.name"}} @value={{@options.name}} />
|
|
4
|
+
<InputGroup @name={{t "fleet-ops.component.modals.clone-config-form.description"}} @value={{@options.description}} />
|
|
5
5
|
</div>
|
|
6
6
|
</Modal::Default>
|
|
@@ -8,32 +8,32 @@
|
|
|
8
8
|
<div class="grid grid-cols-1 gap-2 lg:grid-cols-2 lg:gap-4 text-xs dark:text-gray-100">
|
|
9
9
|
|
|
10
10
|
<div class="field-info-container">
|
|
11
|
-
<div class="field-name">
|
|
11
|
+
<div class="field-name">{{t "fleet-ops.common.website-url"}}</div>
|
|
12
12
|
<div class="field-value">{{n-a @options.contact.name}}</div>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
15
|
<div class="field-info-container">
|
|
16
|
-
<div class="field-name">
|
|
16
|
+
<div class="field-name">{{t "fleet-ops.common.title"}}</div>
|
|
17
17
|
<div class="field-value">{{n-a @options.contact.title}}</div>
|
|
18
18
|
</div>
|
|
19
19
|
|
|
20
20
|
<div class="field-info-container">
|
|
21
|
-
<div class="field-name">
|
|
21
|
+
<div class="field-name">{{t "fleet-ops.common.internal-id"}}</div>
|
|
22
22
|
<div class="field-value">{{n-a @options.contact.internal_id}}</div>
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
<div class="field-info-container">
|
|
26
|
-
<div class="field-name">
|
|
26
|
+
<div class="field-name">{{t "fleet-ops.common.email"}}</div>
|
|
27
27
|
<div class="field-value">{{n-a @options.contact.email}}</div>
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
30
|
<div class="field-info-container">
|
|
31
|
-
<div class="field-name">
|
|
31
|
+
<div class="field-name">{{t "fleet-ops.common.phone"}}</div>
|
|
32
32
|
<div class="field-value">{{n-a @options.contact.phone}}</div>
|
|
33
33
|
</div>
|
|
34
34
|
|
|
35
35
|
<div class="field-info-container">
|
|
36
|
-
<div class="field-name">
|
|
36
|
+
<div class="field-name">{{t "fleet-ops.common.type"}}</div>
|
|
37
37
|
<div class="field-value"><Badge @status={{@options.contact.type}} /></div>
|
|
38
38
|
</div>
|
|
39
39
|
</div>
|