@fleetbase/fleetops-engine 0.4.0 → 0.4.1

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 (202) hide show
  1. package/addon/components/admin/navigator-app.hbs +3 -3
  2. package/addon/components/admin/visibility-controls.hbs +4 -4
  3. package/addon/components/cell/driver-name.hbs +1 -1
  4. package/addon/components/contact-form-panel.hbs +15 -15
  5. package/addon/components/contact-form-panel.js +5 -1
  6. package/addon/components/contact-panel/details.hbs +7 -7
  7. package/addon/components/contact-panel.hbs +2 -2
  8. package/addon/components/display-place.hbs +2 -2
  9. package/addon/components/driver-card.hbs +1 -1
  10. package/addon/components/driver-form-panel.hbs +36 -29
  11. package/addon/components/driver-form-panel.js +5 -1
  12. package/addon/components/driver-panel/details.hbs +10 -10
  13. package/addon/components/driver-panel.hbs +5 -5
  14. package/addon/components/fleet-driver-listing.hbs +5 -5
  15. package/addon/components/fleet-form-panel.hbs +16 -16
  16. package/addon/components/fleet-form-panel.js +5 -1
  17. package/addon/components/fleet-panel/details.hbs +7 -7
  18. package/addon/components/fleet-panel/driver-listing.hbs +5 -5
  19. package/addon/components/fleet-panel/driver-listing.js +6 -0
  20. package/addon/components/fleet-panel/vehicle-listing.hbs +5 -5
  21. package/addon/components/fleet-panel/vehicle-listing.js +6 -0
  22. package/addon/components/fleet-vehicle-listing.hbs +5 -5
  23. package/addon/components/fuel-report-form-panel.hbs +16 -16
  24. package/addon/components/fuel-report-form-panel.js +5 -1
  25. package/addon/components/fuel-report-panel/details.hbs +11 -11
  26. package/addon/components/fuel-report-panel.hbs +3 -3
  27. package/addon/components/global-search.hbs +1 -1
  28. package/addon/components/horizontal-route.hbs +1 -1
  29. package/addon/components/integrated-order-details.hbs +13 -13
  30. package/addon/components/issue-form-panel.hbs +25 -25
  31. package/addon/components/issue-form-panel.js +6 -1
  32. package/addon/components/issue-panel/details.hbs +11 -11
  33. package/addon/components/issue-panel.hbs +3 -3
  34. package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
  35. package/addon/components/layout/fleet-ops-sidebar.js +28 -12
  36. package/addon/components/live-map-drawer/driver-listing.hbs +1 -1
  37. package/addon/components/live-map-drawer/driver-listing.js +16 -10
  38. package/addon/components/live-map-drawer/place-listing.hbs +1 -1
  39. package/addon/components/live-map-drawer/place-listing.js +12 -7
  40. package/addon/components/live-map-drawer/vehicle-listing.hbs +1 -1
  41. package/addon/components/live-map-drawer/vehicle-listing.js +15 -9
  42. package/addon/components/live-map.hbs +10 -92
  43. package/addon/components/live-map.js +29 -24
  44. package/addon/components/map-container/toolbar/visibility-control-panel.hbs +9 -9
  45. package/addon/components/map-container/toolbar/zones-panel.hbs +10 -10
  46. package/addon/components/map-container/toolbar.hbs +6 -6
  47. package/addon/components/modals/assign-driver.hbs +2 -2
  48. package/addon/components/modals/clone-config-form.hbs +2 -2
  49. package/addon/components/modals/contact-details.hbs +6 -6
  50. package/addon/components/modals/contact-form.hbs +11 -11
  51. package/addon/components/modals/driver-assign-order.hbs +2 -2
  52. package/addon/components/modals/driver-assign-vehicle.hbs +2 -2
  53. package/addon/components/modals/driver-assign-vendor.hbs +2 -2
  54. package/addon/components/modals/driver-details.hbs +14 -14
  55. package/addon/components/modals/driver-form.hbs +18 -18
  56. package/addon/components/modals/edit-meta-form.hbs +2 -2
  57. package/addon/components/modals/entity-form.hbs +16 -16
  58. package/addon/components/modals/entity-meta-field-prompt.hbs +1 -1
  59. package/addon/components/modals/fleet-details.hbs +6 -6
  60. package/addon/components/modals/fleet-form.hbs +8 -8
  61. package/addon/components/modals/fuel-report-details.hbs +9 -9
  62. package/addon/components/modals/fuel-report-form.hbs +8 -8
  63. package/addon/components/modals/group-details.hbs +4 -4
  64. package/addon/components/modals/group-form.hbs +6 -6
  65. package/addon/components/modals/install-prompt.hbs +2 -3
  66. package/addon/components/modals/issue-details.hbs +8 -8
  67. package/addon/components/modals/issue-from.hbs +21 -21
  68. package/addon/components/modals/map-field-form.hbs +2 -2
  69. package/addon/components/modals/map-field-group-form.hbs +1 -1
  70. package/addon/components/modals/map-layer-form.hbs +10 -10
  71. package/addon/components/modals/meta-field-form.hbs +2 -2
  72. package/addon/components/modals/meta-field-group-form.hbs +1 -1
  73. package/addon/components/modals/new-order-config.hbs +4 -4
  74. package/addon/components/modals/order-assign-driver.hbs +2 -2
  75. package/addon/components/modals/order-config-new-status.hbs +1 -1
  76. package/addon/components/modals/order-event.hbs +2 -2
  77. package/addon/components/modals/order-form.hbs +8 -8
  78. package/addon/components/modals/order-import.hbs +8 -8
  79. package/addon/components/modals/order-label.hbs +1 -1
  80. package/addon/components/modals/order-new-activity.hbs +10 -10
  81. package/addon/components/modals/order-route-form.hbs +17 -17
  82. package/addon/components/modals/place-assign-vendor.hbs +2 -2
  83. package/addon/components/modals/place-details.hbs +13 -13
  84. package/addon/components/modals/place-form.hbs +15 -15
  85. package/addon/components/modals/policy-form.hbs +5 -5
  86. package/addon/components/modals/role-form.hbs +3 -3
  87. package/addon/components/modals/select-payment-method.hbs +1 -1
  88. package/addon/components/modals/service-area-form.hbs +8 -8
  89. package/addon/components/modals/set-password.hbs +3 -3
  90. package/addon/components/modals/uninstall-prompt.hbs +2 -3
  91. package/addon/components/modals/user-form.hbs +9 -9
  92. package/addon/components/modals/vehicle-details.hbs +41 -41
  93. package/addon/components/modals/vehicle-form.hbs +73 -73
  94. package/addon/components/modals/vendor-details.hbs +10 -10
  95. package/addon/components/modals/vendor-form.hbs +36 -36
  96. package/addon/components/modals/view-service-area.hbs +1 -1
  97. package/addon/components/modals/zone-form.hbs +6 -6
  98. package/addon/components/order/header.hbs +11 -11
  99. package/addon/components/order/place-card.hbs +2 -2
  100. package/addon/components/order/schedule-card.hbs +6 -6
  101. package/addon/components/order/schedule-card.js +11 -7
  102. package/addon/components/order-config/activity-flow-editor.hbs +14 -14
  103. package/addon/components/order-config/activity-flow-editor.js +11 -11
  104. package/addon/components/order-config/details-editor.hbs +9 -9
  105. package/addon/components/order-config/entities-editor.hbs +13 -13
  106. package/addon/components/order-config/entities-editor.js +2 -2
  107. package/addon/components/order-config/fields-editor.hbs +14 -14
  108. package/addon/components/order-config/fields-editor.js +13 -12
  109. package/addon/components/order-config.hbs +9 -9
  110. package/addon/components/order-config.js +12 -11
  111. package/addon/components/order-list-overlay.hbs +14 -14
  112. package/addon/components/place-form-panel.hbs +18 -18
  113. package/addon/components/place-form-panel.js +6 -1
  114. package/addon/components/place-panel/details.hbs +10 -10
  115. package/addon/components/place-panel.hbs +2 -2
  116. package/addon/components/route-list.hbs +2 -2
  117. package/addon/components/settings-window.hbs +5 -5
  118. package/addon/components/settings-window.js +2 -1
  119. package/addon/components/vehicle-form-panel.hbs +27 -27
  120. package/addon/components/vehicle-form-panel.js +7 -2
  121. package/addon/components/vehicle-panel/details.hbs +7 -7
  122. package/addon/components/vehicle-panel.hbs +4 -4
  123. package/addon/components/vendor-form-panel/create-form.hbs +34 -33
  124. package/addon/components/vendor-form-panel/create-form.js +6 -2
  125. package/addon/components/vendor-form-panel/edit-form.hbs +27 -27
  126. package/addon/components/vendor-form-panel/edit-form.js +1 -0
  127. package/addon/components/vendor-form-panel.hbs +6 -6
  128. package/addon/components/vendor-form-panel.js +6 -1
  129. package/addon/components/vendor-panel/details.hbs +10 -10
  130. package/addon/components/vendor-panel.hbs +3 -3
  131. package/addon/components/widget/fleet-ops-quickstart.hbs +2 -2
  132. package/addon/components/widget/fleet-ops-quickstart.js +1 -0
  133. package/addon/components/widget/key-metrics.hbs +12 -12
  134. package/addon/components/widget/live-order-map.hbs +4 -4
  135. package/addon/components/widget/recent-orders.hbs +4 -4
  136. package/addon/components/widget/transactions.hbs +4 -4
  137. package/addon/controllers/management/contacts/index/edit.js +10 -3
  138. package/addon/controllers/management/contacts/index/new.js +7 -0
  139. package/addon/controllers/management/contacts/index.js +23 -16
  140. package/addon/controllers/management/drivers/index/edit.js +10 -3
  141. package/addon/controllers/management/drivers/index/new.js +7 -0
  142. package/addon/controllers/management/drivers/index.js +33 -19
  143. package/addon/controllers/management/fleets/index/edit.js +10 -3
  144. package/addon/controllers/management/fleets/index/new.js +7 -0
  145. package/addon/controllers/management/fleets/index.js +24 -17
  146. package/addon/controllers/management/fuel-reports/index/edit.js +10 -3
  147. package/addon/controllers/management/fuel-reports/index/new.js +7 -0
  148. package/addon/controllers/management/fuel-reports/index.js +20 -13
  149. package/addon/controllers/management/issues/index/edit.js +10 -3
  150. package/addon/controllers/management/issues/index/new.js +8 -0
  151. package/addon/controllers/management/issues/index.js +22 -15
  152. package/addon/controllers/management/places/index/edit.js +10 -3
  153. package/addon/controllers/management/places/index/new.js +7 -0
  154. package/addon/controllers/management/places/index.js +27 -20
  155. package/addon/controllers/management/vehicles/index/edit.js +10 -3
  156. package/addon/controllers/management/vehicles/index/new.js +7 -0
  157. package/addon/controllers/management/vehicles/index.js +22 -15
  158. package/addon/controllers/management/vendors/index/edit.js +10 -3
  159. package/addon/controllers/management/vendors/index/new.js +7 -0
  160. package/addon/controllers/management/vendors/index.js +23 -16
  161. package/addon/controllers/operations/orders/index/new.js +110 -25
  162. package/addon/controllers/operations/orders/index/view.js +40 -16
  163. package/addon/controllers/operations/orders/index.js +34 -27
  164. package/addon/controllers/operations/scheduler/index.js +3 -2
  165. package/addon/controllers/operations/service-rates/index/edit.js +9 -1
  166. package/addon/controllers/operations/service-rates/index/new.js +9 -1
  167. package/addon/controllers/operations/service-rates/index.js +16 -9
  168. package/addon/routes/management/places/index.js +1 -1
  169. package/addon/routes/operations/orders/index/view.js +2 -14
  170. package/addon/services/driver-actions.js +9 -8
  171. package/addon/services/vehicle-actions.js +2 -1
  172. package/addon/templates/management/contacts/index.hbs +6 -6
  173. package/addon/templates/management/drivers/index.hbs +6 -6
  174. package/addon/templates/management/fleets/index.hbs +6 -6
  175. package/addon/templates/management/fuel-reports/index.hbs +7 -7
  176. package/addon/templates/management/index.hbs +17 -17
  177. package/addon/templates/management/issues/index.hbs +6 -6
  178. package/addon/templates/management/places/index.hbs +6 -6
  179. package/addon/templates/management/vehicles/index.hbs +6 -6
  180. package/addon/templates/management/vendors/index.hbs +6 -6
  181. package/addon/templates/operations/orders/index/config/types.hbs +3 -3
  182. package/addon/templates/operations/orders/index/config.hbs +3 -4
  183. package/addon/templates/operations/orders/index/new.hbs +72 -72
  184. package/addon/templates/operations/orders/index/view.hbs +147 -53
  185. package/addon/templates/operations/orders/index.hbs +13 -13
  186. package/addon/templates/operations/scheduler/index.hbs +3 -3
  187. package/addon/templates/operations/service-rates/index/new.hbs +79 -81
  188. package/addon/templates/operations/service-rates/index.hbs +6 -6
  189. package/composer.json +2 -2
  190. package/extension.json +1 -1
  191. package/package.json +3 -1
  192. package/server/resources/views/labels/default.php +40 -18
  193. package/server/resources/views/labels/waypoint-label.php +126 -0
  194. package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
  195. package/server/src/Http/Resources/v1/Entity.php +2 -2
  196. package/server/src/Http/Resources/v1/Payload.php +11 -30
  197. package/server/src/Http/Resources/v1/Place.php +3 -3
  198. package/server/src/Http/Resources/v1/Waypoint.php +101 -0
  199. package/server/src/Models/Payload.php +39 -0
  200. package/server/src/Models/Place.php +5 -2
  201. package/server/src/Models/Waypoint.php +15 -3
  202. package/translations/en-us.yaml +1341 -3
@@ -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
- @id={{serviceArea.id}}
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
- @id={{zone.id}}
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: 'Hide draw controls...',
780
- offText: 'Enable draw controls...',
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: 'Show coordinates...',
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: 'Center map here...',
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: 'Zoom in...',
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: 'Zoom out...',
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') ? `Hide draw controls...` : `Enable draw controls...`,
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: 'Create new Service Area...',
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: `Focus Service Area: ${serviceArea.name}`,
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: `View Driver: ${driver.name}`,
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: `Edit Driver: ${driver.name}`,
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: `Delete Driver: ${driver.name}`,
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: `View Vehicle for: ${driver.name}`,
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: `View Vehicle: ${vehicle.displayName}`,
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: `Edit Vehicle: ${vehicle.displayName}`,
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: `Delete Vehicle: ${vehicle.displayName}`,
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: `Edit Zone: ${zone.name}`,
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: `Delete Zone: ${zone.name}`,
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: `Assign Fleet to Zone: (${zone.name})`,
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: `Blur Service Area: ${serviceArea.name}`,
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: `Create Zone within: ${serviceArea.name}`,
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: `Assign Fleet to Service Area: ${serviceArea.name}`,
1717
+ text: this.intl.t('fleet-ops.component.live-map.assign-fleet', { serviceName: serviceArea.name }),
1713
1718
  callback: () => {},
1714
1719
  },
1715
1720
  {
1716
- text: `Edit Service Area: ${serviceArea.name}`,
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: `Delete Service Area: ${serviceArea.name}`,
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
- Visibility Controls
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
- Hide all places...
16
+ {{t "fleet-ops.component.map-container.visibility-control-panel.hide-places"}}
17
17
  {{else}}
18
- Show all places...
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>Vehicles</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>Vehicle Visibility Controls...</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
- Hide all vehicles...
50
+ {{t "fleet-ops.component.map-container.visibility-control-panel.hide-vehicles"}}
51
51
  {{else}}
52
- Show all vehicles...
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
- Only show online vehicles...
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
- Only show offline vehicles...
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
- Service Areas
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")}}>Create new service area...</a>
10
- <a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn @dd this.triggerCallback "focusAllServiceAreas")}}>Show all service areas</a>
11
- <a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn @dd this.triggerCallback "blurAllServiceAreas")}}>Hide all service areas</a>
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}} Actions...</span>
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)}}>Focus {{serviceArea.name}}...</a>
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)}}>Blur service area...</a>
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)}}>Create zone inside...</a>
33
- <a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "editServiceAreaDetails" serviceArea)}}>Edit {{serviceArea.name}}...</a>
34
- <a href="javascript:;" class="next-dd-item" {{on "click" (dropdown-fn dd this.triggerCallback "deleteServiceArea" serviceArea)}}>Delete {{serviceArea.name}}...</a>
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="Create Order" @iconClass="hidden" class="py-1 px-2 bg-gray-900 -mt-1" />
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="Search" @iconClass="hidden" class="py-1 px-2 bg-gray-900 -mt-1" />
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="View Orders" @iconClass="hidden" class="py-1 px-2 bg-gray-900 -mt-1" />
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="Service Areas" @iconClass="hidden" class="{{if dd.isOpen 'hidden'}} py-1 px-2 bg-gray-900 -mt-1" />
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="Visibility Controls" @iconClass="hidden" class="{{if dd.isOpen 'hidden'}} py-1 px-2 bg-gray-900 -mt-1" />
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="Scope" @iconClass="hidden" class="py-1 px-2 bg-gray-900 -mt-1" />
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="Select Driver">
4
- <ModelSelect @modelName="driver" @selectedModel={{@options.order.driver_assigned}} @placeholder="Select Driver to Assign" @triggerClass="form-select form-input" @infiniteScroll={{false}} @renderInPlace={{true}} @onChange={{fn (mut @options.order.driver_assigned)}} as |model|>
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="Config Name" @value={{@options.name}} />
4
- <InputGroup @name="Config Description" @value={{@options.description}} />
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">Website URL</div>
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">Title</div>
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">Internal ID</div>
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">Email</div>
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">Phone</div>
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">Type</div>
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>
@@ -3,48 +3,48 @@
3
3
  <div class="flex">
4
4
  <div class="w-32 mb-6 mr-6">
5
5
  <Image src={{@options.contact.photo_url}} @fallbackSrc={{config "defaultValues.contactImage"}} alt={{@options.contact.name}} height="128" width="128" class="h-32 w-32 rounded-md" />
6
- <UploadButton @name="photos" @accept="image/*" @onFileAdded={{@options.uploadNewPhoto}} class="w-32" />
6
+ <UploadButton @name={{t "fleet-ops.common.photos"}} @accept="image/*" @onFileAdded={{@options.uploadNewPhoto}} class="w-32" />
7
7
  </div>
8
8
  <div class="flex-1">
9
9
  <div class="grid grid-cols-2 gap-2 text-xs dark:text-gray-100">
10
10
  <div class="input-group">
11
11
  <label>
12
- Name
12
+ {{t "fleet-ops.common.name"}}
13
13
  </label>
14
- <Input @value={{@options.contact.name}} @type="text" class="w-full form-input" placeholder="Name" />
14
+ <Input @value={{@options.contact.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.name"}} />
15
15
  </div>
16
16
 
17
17
  <div class="input-group">
18
18
  <label>
19
- Title
19
+ {{t "fleet-ops.common.title"}}
20
20
  </label>
21
- <Input @value={{@options.contact.title}} @type="text" class="w-full form-input" placeholder="Title" />
21
+ <Input @value={{@options.contact.title}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.title"}} />
22
22
  </div>
23
23
 
24
24
  <div class="input-group">
25
25
  <label>
26
- Internal ID
26
+ {{t "fleet-ops.common.internal-id"}}
27
27
  </label>
28
- <Input @value={{@options.contact.internal_id}} @type="text" class="w-full form-input" placeholder="Internal ID" />
28
+ <Input @value={{@options.contact.internal_id}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.internal-id"}} />
29
29
  </div>
30
30
 
31
31
  <div class="input-group">
32
32
  <label>
33
- Email
33
+ {{t "fleet-ops.common.email"}}
34
34
  </label>
35
- <Input @value={{@options.contact.email}} @type="text" class="w-full form-input" placeholder="Email" />
35
+ <Input @value={{@options.contact.email}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.email"}} />
36
36
  </div>
37
37
 
38
38
  <div class="input-group">
39
39
  <label>
40
- Phone
40
+ {{t "fleet-ops.common.phone"}}
41
41
  </label>
42
42
  <PhoneInput @value={{@options.contact.phone}} @onInput={{fn (mut @options.contact.phone)}} class="form-input w-full" />
43
43
  </div>
44
44
 
45
45
  <div class="input-group">
46
46
  <label>
47
- Type
47
+ {{t "fleet-ops.common.type"}}
48
48
  </label>
49
49
  <Select @options={{@options.contactTypes}} @value={{@options.contact.type}} @onSelect={{fn (mut @options.contact.type)}} class="form-input w-full" />
50
50
  </div>
@@ -1,8 +1,8 @@
1
1
  <Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
2
2
  <div class="modal-body-container">
3
3
  <div class="grid grid-cols-1 gap-2 text-xs dark:text-gray-100">
4
- <InputGroup @name="Select Order">
5
- <ModelSelect class="listbox-lg" @modelName="order" @selectedModel={{@options.selectedOrder}} @placeholder="Select Order to Assign" @triggerClass="form-select form-input" @infiniteScroll={{false}} @query={{hash sort="-created_at" unassigned=true}} @renderInPlace={{true}} @onChange={{@options.selectOrder}} as |order|>
4
+ <InputGroup @name={{t "fleet-ops.component.modals.driver-assign-order.order"}}>
5
+ <ModelSelect class="listbox-lg" @modelName="order" @selectedModel={{@options.selectedOrder}} @placeholder={{t "fleet-ops.component.modals.driver-assign-order.assign-order"}} @triggerClass="form-select form-input" @infiniteScroll={{false}} @query={{hash sort="-created_at" unassigned=true}} @renderInPlace={{true}} @onChange={{@options.selectOrder}} as |order|>
6
6
  <div class="mb-3 flex items-center justify-between">
7
7
  <div>{{order.public_id}} - {{order.createdAt}}</div>
8
8
  <Badge @hideStatusDot={{true}} @status={{order.status}} />
@@ -1,8 +1,8 @@
1
1
  <Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
2
2
  <div class="modal-body-container">
3
3
  <div class="grid grid-cols-1 gap-2 text-xs dark:text-gray-100">
4
- <InputGroup @name="Select Vehicle" @value={{@options.driver.vehicle_uuid}}>
5
- <ModelSelect @modelName="vehicle" @selectedModel={{@options.driver.vehicle_uuid}} @placeholder="Select Vehicle to Assign" @triggerClass="form-select form-input" @infiniteScroll={{false}} @renderInPlace={{true}} @onChange={{fn (mut @options.driver.vehicle)}} @onChangeId={{fn (mut @options.driver.vehicle_uuid)}} as |model|>
4
+ <InputGroup @name={{t "fleet-ops.component.modals.driver-assign-vehicle.vehicle"}} @value={{@options.driver.vehicle_uuid}}>
5
+ <ModelSelect @modelName="vehicle" @selectedModel={{@options.driver.vehicle_uuid}} @placeholder={{t "fleet-ops.component.modals.driver-assign-vehicle.assign-vehicle"}} @triggerClass="form-select form-input" @infiniteScroll={{false}} @renderInPlace={{true}} @onChange={{fn (mut @options.driver.vehicle)}} @onChangeId={{fn (mut @options.driver.vehicle_uuid)}} as |model|>
6
6
  {{model.display_name}}
7
7
  </ModelSelect>
8
8
  </InputGroup>