@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.
Files changed (207) 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 +8 -4
  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 +6 -2
  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 +8 -3
  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 +7 -2
  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 +127 -30
  162. package/addon/controllers/operations/orders/index/view.js +57 -20
  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 +1 -12
  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/application.js +5 -2
  169. package/addon/routes/management/places/index.js +1 -1
  170. package/addon/routes/operations/orders/index/view.js +2 -14
  171. package/addon/services/driver-actions.js +9 -8
  172. package/addon/services/vehicle-actions.js +2 -1
  173. package/addon/styles/fleetops-engine.css +6 -0
  174. package/addon/templates/management/contacts/index.hbs +6 -6
  175. package/addon/templates/management/drivers/index.hbs +6 -6
  176. package/addon/templates/management/fleets/index.hbs +6 -6
  177. package/addon/templates/management/fuel-reports/index.hbs +7 -7
  178. package/addon/templates/management/index.hbs +17 -17
  179. package/addon/templates/management/issues/index.hbs +6 -6
  180. package/addon/templates/management/places/index.hbs +6 -6
  181. package/addon/templates/management/vehicles/index.hbs +6 -6
  182. package/addon/templates/management/vendors/index.hbs +6 -6
  183. package/addon/templates/operations/orders/index/config/types.hbs +3 -3
  184. package/addon/templates/operations/orders/index/config.hbs +3 -4
  185. package/addon/templates/operations/orders/index/new.hbs +73 -73
  186. package/addon/templates/operations/orders/index/view.hbs +147 -53
  187. package/addon/templates/operations/orders/index.hbs +13 -13
  188. package/addon/templates/operations/scheduler/index.hbs +3 -3
  189. package/addon/templates/operations/service-rates/index/new.hbs +79 -81
  190. package/addon/templates/operations/service-rates/index.hbs +6 -6
  191. package/composer.json +2 -2
  192. package/extension.json +1 -1
  193. package/package.json +4 -2
  194. package/server/resources/views/labels/default.php +40 -18
  195. package/server/resources/views/labels/waypoint-label.php +126 -0
  196. package/server/src/Http/Controllers/Api/v1/DriverController.php +4 -1
  197. package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
  198. package/server/src/Http/Resources/v1/Entity.php +2 -2
  199. package/server/src/Http/Resources/v1/Payload.php +11 -30
  200. package/server/src/Http/Resources/v1/Place.php +3 -3
  201. package/server/src/Http/Resources/v1/Waypoint.php +101 -0
  202. package/server/src/Models/Entity.php +1 -1
  203. package/server/src/Models/Payload.php +39 -0
  204. package/server/src/Models/Place.php +5 -2
  205. package/server/src/Models/Proof.php +1 -1
  206. package/server/src/Models/Waypoint.php +15 -3
  207. package/translations/en-us.yaml +1343 -3
@@ -2,12 +2,12 @@
2
2
  <div class="modal-body-container">
3
3
  <div class="flex flex-row justify-between mb-6">
4
4
  <div class="flex">
5
- <ShortToggle @isToggled={{@options.order.payload.isMultiDrop}} @onToggle={{@options.toggleMultiDropOrder}} @label="Toggle Multiple Dropoff's" />
5
+ <ShortToggle @isToggled={{@options.order.payload.isMultiDrop}} @onToggle={{@options.toggleMultiDropOrder}} @label={{t "fleet-ops.component.modals.order-route-form.toggle"}} />
6
6
  </div>
7
7
  <div class="flex flex-1 justify-end space-x-2">
8
8
  {{#if @options.order.payload.isMultiDrop}}
9
- {{!-- <Button @type="magic" @icon="magic" @text="Optimize Route" @size="sm" @onClick={{fn @options.optimizeRoute}} @helpText="Fleetbase will automatically optimize the route." @disabled={{lt @options.order.payload.waypoints.length 3}} @isLoading={{@options.isOptimizingRoute}} /> --}}
10
- <Button @icon="map-marked-alt" @text="Add Waypoint" @size="sm" @onClick={{@options.addWaypoint}} @helpText="Use the `Add Waypoint` button to add more stops for this order. The Fleetbase routing engine will automatically optimize the route as each stop is added or removed." />
9
+ {{!-- <Button @type="magic" @icon="magic" @text={{t "fleet-ops.component.modals.order-route-form.optimize"}} @size="sm" @onClick={{fn @options.optimizeRoute}} @helpText={{t "fleet-ops.component.modals.order-route-form.optimize-text"}} @disabled={{lt @options.order.payload.waypoints.length 3}} @isLoading={{@options.isOptimizingRoute}} /> --}}
10
+ <Button @icon="map-marked-alt" @text={{t "fleet-ops.component.modals.order-route-form.add"}} @size="sm" @onClick={{@options.addWaypoint}} @helpText={{t "fleet-ops.component.modals.order-route-form.add-text"}} />
11
11
  {{/if}}
12
12
  </div>
13
13
  </div>
@@ -24,13 +24,13 @@
24
24
  </div>
25
25
 
26
26
  <div class="flex-1 px-4">
27
- <ModelSelect @modelName="place" @selectedModel={{waypoint.place}} @placeholder={{concat "Select Waypoint " (add index 1)}} @triggerClass="form-select form-input truncate" @wrapperClass="w-96" @infiniteScroll={{false}} @customSearchEndpoint="places/search" @query={{hash geo=true latitude=@options.userLatitude longitude=@options.userLongitude}} @renderInPlace={{true}} @onChange={{fn @options.setWaypointPlace index}} as |model|>
27
+ <ModelSelect @modelName="place" @selectedModel={{waypoint.place}} @placeholder={{concat (t "fleet-ops.component.modals.order-route-form.select-waypoint") (add index 1)}} @triggerClass="form-select form-input truncate" @wrapperClass="w-96" @infiniteScroll={{false}} @customSearchEndpoint="places/search" @query={{hash geo=true latitude=@options.userLatitude longitude=@options.userLongitude}} @renderInPlace={{true}} @onChange={{fn @options.setWaypointPlace index}} as |model|>
28
28
  {{model.address}}
29
29
  </ModelSelect>
30
30
 
31
31
  {{#if waypoint.place.hasInvalidCoordinates}}
32
32
  <div class="leading-5 text-sm text-red-400 mt-2">
33
- <FaIcon @icon="exclamation-triangle" class="mr-1" /> Invalid coordinates!
33
+ <FaIcon @icon="exclamation-triangle" class="mr-1" /> {{t "fleet-ops.component.modals.order-route-form.invalid"}}
34
34
  </div>
35
35
  {{/if}}
36
36
  </div>
@@ -48,60 +48,60 @@
48
48
  <div class="grid grid-cols-1 md:grid-cols-2 gap-3 text-xs dark:text-gray-100">
49
49
  <div class="input-group">
50
50
  <div class="flex items-center justify-between">
51
- <label>Pickup</label>
51
+ <label>{{t "fleet-ops.component.modals.order-route-form.pickup"}}</label>
52
52
 
53
53
  {{#if @options.order.payload.pickup}}
54
- <a href="javascript:;" {{on "click" (fn @options.editPlace @options.order.payload.pickup)}}>Edit Address</a>
54
+ <a href="javascript:;" {{on "click" (fn @options.editPlace @options.order.payload.pickup)}}>{{t "fleet-ops.component.modals.order-route-form.edit-address"}}</a>
55
55
  {{/if}}
56
56
  </div>
57
57
 
58
- <ModelSelect @modelName="place" @selectedModel={{@options.order.payload.pickup}} @placeholder="Select Pickup" @triggerClass="form-select form-input" @infiniteScroll={{false}} @customSearchEndpoint="places/search" @query={{hash geo=true latitude=@options.userLatitude longitude=@options.userLongitude}} @renderInPlace={{true}} @onChange={{fn @options.setPayloadPlace "pickup" }} as |model|>
58
+ <ModelSelect @modelName="place" @selectedModel={{@options.order.payload.pickup}} @placeholder={{t "fleet-ops.component.modals.order-route-form.select-pickup"}} @triggerClass="form-select form-input" @infiniteScroll={{false}} @customSearchEndpoint="places/search" @query={{hash geo=true latitude=@options.userLatitude longitude=@options.userLongitude}} @renderInPlace={{true}} @onChange={{fn @options.setPayloadPlace "pickup" }} as |model|>
59
59
  {{model.address}}
60
60
  </ModelSelect>
61
61
 
62
62
  {{#if @options.order.payload.pickup.hasInvalidCoordinates}}
63
63
  <div class="leading-5 text-sm text-red-400 mt-2">
64
- <FaIcon @icon="exclamation-triangle" class="mr-1" /> Invalid coordinates!
64
+ <FaIcon @icon="exclamation-triangle" class="mr-1" /> {{t "fleet-ops.component.modals.order-route-form.invalid"}}
65
65
  </div>
66
66
  {{/if}}
67
67
  </div>
68
68
 
69
69
  <div class="input-group">
70
70
  <div class="flex items-center justify-between">
71
- <label>Dropoff</label>
71
+ <label>{{t "fleet-ops.component.modals.order-route-form.dropoff"}}</label>
72
72
 
73
73
  {{#if @options.order.payload.dropoff}}
74
- <a href="javascript:;" {{on "click" (fn @options.editPlace @options.order.payload.dropoff)}}>Edit Address</a>
74
+ <a href="javascript:;" {{on "click" (fn @options.editPlace @options.order.payload.dropoff)}}>{{t "fleet-ops.component.modals.order-route-form.edit-address"}}</a>
75
75
  {{/if}}
76
76
  </div>
77
77
 
78
- <ModelSelect @modelName="place" @selectedModel={{@options.order.payload.dropoff}} @placeholder="Select Dropoff" @triggerClass="form-select form-input" @infiniteScroll={{false}} @customSearchEndpoint="places/search" @query={{hash geo=true latitude=@options.userLatitude longitude=@options.userLongitude}} @renderInPlace={{true}} @onChange={{fn @options.setPayloadPlace "dropoff" }} as |model|>
78
+ <ModelSelect @modelName="place" @selectedModel={{@options.order.payload.dropoff}} @placeholder={{t "fleet-ops.component.modals.order-route-form.select-dropoff"}} @triggerClass="form-select form-input" @infiniteScroll={{false}} @customSearchEndpoint="places/search" @query={{hash geo=true latitude=@options.userLatitude longitude=@options.userLongitude}} @renderInPlace={{true}} @onChange={{fn @options.setPayloadPlace "dropoff" }} as |model|>
79
79
  {{model.address}}
80
80
  </ModelSelect>
81
81
 
82
82
  {{#if @options.order.payload.dropoff.hasInvalidCoordinates}}
83
83
  <div class="leading-5 text-sm text-red-400 mt-2">
84
- <FaIcon @icon="exclamation-triangle" class="mr-1" /> Invalid coordinates!
84
+ <FaIcon @icon="exclamation-triangle" class="mr-1" /> {{t "fleet-ops.component.modals.order-route-form.invalid"}}
85
85
  </div>
86
86
  {{/if}}
87
87
  </div>
88
88
 
89
89
  <div class="input-group">
90
90
  <div class="flex items-center justify-between">
91
- <label>Return</label>
91
+ <label>{{t "fleet-ops.component.modals.order-route-form.return"}}</label>
92
92
 
93
93
  {{#if @options.order.payload.return}}
94
- <a href="javascript:;" {{on "click" (fn @options.editPlace @options.order.payload.return)}}>Edit Address</a>
94
+ <a href="javascript:;" {{on "click" (fn @options.editPlace @options.order.payload.return)}}>{{t "fleet-ops.component.modals.order-route-form.edit-address"}}</a>
95
95
  {{/if}}
96
96
  </div>
97
97
 
98
- <ModelSelect @modelName="place" @selectedModel={{@options.order.payload.return}} @placeholder="Select Return" @triggerClass="form-select form-input" @infiniteScroll={{false}} @customSearchEndpoint="places/search" @query={{hash geo=true latitude=@options.userLatitude longitude=@options.userLongitude}} @renderInPlace={{true}} @onChange={{fn @options.setPayloadPlace "return" }} as |model|>
98
+ <ModelSelect @modelName="place" @selectedModel={{@options.order.payload.return}} @placeholder={{t "fleet-ops.component.modals.order-route-form.select-return"}} @triggerClass="form-select form-input" @infiniteScroll={{false}} @customSearchEndpoint="places/search" @query={{hash geo=true latitude=@options.userLatitude longitude=@options.userLongitude}} @renderInPlace={{true}} @onChange={{fn @options.setPayloadPlace "return" }} as |model|>
99
99
  {{model.address}}
100
100
  </ModelSelect>
101
101
 
102
102
  {{#if @options.order.payload.return.hasInvalidCoordinates}}
103
103
  <div class="leading-5 text-sm text-red-400 mt-2">
104
- <FaIcon @icon="exclamation-triangle" class="mr-1" /> Invalid coordinates!
104
+ <FaIcon @icon="exclamation-triangle" class="mr-1" /> {{t "fleet-ops.component.modals.order-route-form.invalid"}}
105
105
  </div>
106
106
  {{/if}}
107
107
  </div>
@@ -1,11 +1,11 @@
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 Vendor" @value={{@options.place.vendor_uuid}}>
4
+ <InputGroup @name={{t "fleet-ops.component.modals.place-assign-vendor.select-vendor"}} @value={{@options.place.vendor_uuid}}>
5
5
  <ModelSelect
6
6
  @modelName="vendor"
7
7
  @selectedModel={{@options.place.vendor_uuid}}
8
- @placeholder="Select Vendor"
8
+ @placeholder={{t "fleet-ops.component.modals.place-assign-vendor.select-vendor"}}
9
9
  @triggerClass="form-select form-input"
10
10
  @infiniteScroll={{false}}
11
11
  @renderInPlace={{true}}
@@ -12,12 +12,12 @@
12
12
  <div class="grid grid-cols-1 gap-2 text-xs dark:text-gray-100">
13
13
 
14
14
  <div class="field-info-container">
15
- <div class="field-name">Name</div>
15
+ <div class="field-name">{{t "fleet-ops.common.name"}}</div>
16
16
  <div class="field-value">{{n-a @options.place.name}}</div>
17
17
  </div>
18
18
 
19
19
  <div class="field-info-container">
20
- <div class="field-name">Street</div>
20
+ <div class="field-name">{{t "fleet-ops.common.street"}}</div>
21
21
  <div class="field-value">{{n-a @options.place.street1}}</div>
22
22
  </div>
23
23
  </div>
@@ -25,17 +25,17 @@
25
25
  <div class="grid grid-cols-3 gap-2 text-xs dark:text-gray-100">
26
26
 
27
27
  <div class="field-info-container">
28
- <div class="field-name">Neighborhood</div>
28
+ <div class="field-name">{{t "fleet-ops.common.neighborhood"}}</div>
29
29
  <div class="field-value">{{n-a @options.place.neighborhood}}</div>
30
30
  </div>
31
31
 
32
32
  <div class="field-info-container">
33
- <div class="field-name">Building</div>
33
+ <div class="field-name">{{t "fleet-ops.common.building"}}</div>
34
34
  <div class="field-value">{{n-a @options.place.building}}</div>
35
35
  </div>
36
36
 
37
37
  <div class="field-info-container">
38
- <div class="field-name">Security Access Code</div>
38
+ <div class="field-name">{{t "fleet-ops.common.security-access-code"}}</div>
39
39
  <div class="field-value">{{n-a @options.place.security_access_code}}</div>
40
40
  </div>
41
41
  </div>
@@ -43,17 +43,17 @@
43
43
  <div class="grid grid-cols-3 gap-2 text-xs dark:text-gray-100">
44
44
 
45
45
  <div class="field-info-container">
46
- <div class="field-name">City</div>
46
+ <div class="field-name">{{t "fleet-ops.common.city"}}</div>
47
47
  <div class="field-value">{{n-a @options.place.city}}</div>
48
48
  </div>
49
49
 
50
50
  <div class="field-info-container">
51
- <div class="field-name">State</div>
51
+ <div class="field-name">{{t "fleet-ops.common.state"}}</div>
52
52
  <div class="field-value">{{n-a @options.place.province}}</div>
53
53
  </div>
54
54
 
55
55
  <div class="field-info-container">
56
- <div class="field-name">Country</div>
56
+ <div class="field-name">{{t "fleet-ops.common.country"}}</div>
57
57
  <div class="field-value"><CountryName @country={{@options.place.country}} @showFlag={{true}} /></div>
58
58
  </div>
59
59
  </div>
@@ -61,17 +61,17 @@
61
61
  <div class="grid grid-cols-3 gap-2 text-xs dark:text-gray-100">
62
62
 
63
63
  <div class="field-info-container">
64
- <div class="field-name">Phone</div>
64
+ <div class="field-name">{{t "fleet-ops.common.phone"}}</div>
65
65
  <div class="field-value">{{n-a @options.place.phone}}</div>
66
66
  </div>
67
67
 
68
68
  <div class="field-info-container">
69
- <div class="field-name">Email</div>
69
+ <div class="field-name">{{t "fleet-ops.common.email"}}</div>
70
70
  <div class="field-value">{{n-a @options.place.email}}</div>
71
71
  </div>
72
72
 
73
73
  <div class="field-info-container">
74
- <div class="field-name">Vendor</div>
74
+ <div class="field-name">{{t "fleet-ops.common.vendor"}}</div>
75
75
  <div class="field-value">
76
76
  {{#if @options.place.vendor_uuid}}
77
77
  <a href="javascript:;" {{on "click" @options.viewVendor}}>
@@ -87,10 +87,10 @@
87
87
  <div class="grid grid-cols-2 gap-2 text-xs dark:text-gray-100">
88
88
  <div class="mb-5">
89
89
  <label class="flex items-center mb-2 font-bold">
90
- Coordinates
90
+ {{t "fleet-ops.common.coordinates"}}
91
91
  <a href="javascript:;" class="block ml-3" {{on "click" @options.viewPlaceOnMap}}>
92
92
  <FaIcon @icon="map" class="mr-1" />
93
- View on map
93
+ {{t "fleet-ops.component.modals.place-details.view"}}
94
94
  </a>
95
95
  </label>
96
96
  <span class="block truncate">
@@ -1,30 +1,30 @@
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-3 gap-1 text-xs dark:text-gray-100">
4
- <InputGroup @name="Name" @autocomplete="nope" @value={{@options.place.name}} @wrapperClass="col-span-3" />
5
- <InputGroup @name="Street 1" @value={{@options.place.street1}} @wrapperClass="col-span-3">
6
- <AutocompleteInput @value={{@options.place.street1}} @fetchUrl="places/lookup" @onSelect={{@options.autocomplete}} placeholder="Street 1" class="w-full" as |result|>
4
+ <InputGroup @name={{t "fleet-ops.common.name"}} @autocomplete="nope" @value={{@options.place.name}} @wrapperClass="col-span-3" />
5
+ <InputGroup @name={{t "fleet-ops.common.street-1"}} @value={{@options.place.street1}} @wrapperClass="col-span-3">
6
+ <AutocompleteInput @value={{@options.place.street1}} @fetchUrl="places/lookup" @onSelect={{@options.autocomplete}} placeholder={{t "fleet-ops.common.street-1"}} class="w-full" as |result|>
7
7
  {{result.address}}
8
8
  </AutocompleteInput>
9
9
  </InputGroup>
10
- <InputGroup @name="Street 2" @autocomplete="nope" @value={{@options.place.street2}} @wrapperClass="col-span-3" />
11
- <InputGroup @name="Neighborhood" @autocomplete="nope" @value={{@options.place.neighborhood}} />
12
- <InputGroup @name="Building" @autocomplete="nope" @value={{@options.place.building}} />
13
- <InputGroup @name="Security Access Code" @autocomplete="nope" @value={{@options.place.security_access_code}} />
14
- <InputGroup @name="Postal Code" @autocomplete="nope" @value={{@options.place.postal_code}} />
15
- <InputGroup @name="City" @autocomplete="nope" @value={{@options.place.city}} />
16
- <InputGroup @name="State" @autocomplete="nope" @value={{@options.place.province}} />
17
- <InputGroup @name="Country" @wrapperClass="col-span-2">
18
- <CountrySelect class="w-full form-input form-select form-datalist" @value={{@options.place.country}} @onChange={{fn (mut @options.place.country)}} placeholder="Country" />
10
+ <InputGroup @name={{t "fleet-ops.common.street-2"}} @autocomplete="nope" @value={{@options.place.street2}} @wrapperClass="col-span-3" />
11
+ <InputGroup @name={{t "fleet-ops.common.neighborhood"}} @autocomplete="nope" @value={{@options.place.neighborhood}} />
12
+ <InputGroup @name={{t "fleet-ops.common.building"}} @autocomplete="nope" @value={{@options.place.building}} />
13
+ <InputGroup @name={{t "fleet-ops.common.security-access-code"}} @autocomplete="nope" @value={{@options.place.security_access_code}} />
14
+ <InputGroup @name={{t "fleet-ops.common.postal-code"}} @autocomplete="nope" @value={{@options.place.postal_code}} />
15
+ <InputGroup @name={{t "fleet-ops.common.city"}} @autocomplete="nope" @value={{@options.place.city}} />
16
+ <InputGroup @name={{t "fleet-ops.common.state"}} @autocomplete="nope" @value={{@options.place.province}} />
17
+ <InputGroup @name={{t "fleet-ops.common.country"}} @wrapperClass="col-span-2">
18
+ <CountrySelect class="w-full form-input form-select form-datalist" @value={{@options.place.country}} @onChange={{fn (mut @options.place.country)}} placeholder={{t "fleet-ops.common.country"}} />
19
19
  </InputGroup>
20
- <InputGroup @name="Coordinates" @wrapperClass="col-span-2">
20
+ <InputGroup @name={{t "fleet-ops.common.coordinates"}} @wrapperClass="col-span-2">
21
21
  <CoordinatesInput @value={{@options.place.location}} @onChange={{@options.updatePlaceCoordinates}} @onGeocode={{@options.autocomplete}} @onUpdatedFromMap={{@options.reverseGeocode}} @onInit={{@options.setCoordinatesInput}} />
22
22
  </InputGroup>
23
23
  <div class="col-span-1"></div>
24
- <InputGroup @name="Phone">
24
+ <InputGroup @name={{t "fleet-ops.common.phone"}}>
25
25
  <PhoneInput @value={{@options.place.phone}} @autocomplete="nope" @onInput={{fn (mut @options.place.phone)}} class="form-input w-full" />
26
26
  </InputGroup>
27
- <InputGroup @name="Email" @autocomplete="nope" @value={{@options.place.email}} />
27
+ <InputGroup @name={{t "fleet-ops.common.email"}} @autocomplete="nope" @value={{@options.place.email}} />
28
28
  </div>
29
29
  </div>
30
30
  </Modal::Default>
@@ -2,19 +2,19 @@
2
2
  <div class="modal-body-container" ...attributes>
3
3
  <div class="input-group">
4
4
  <label>
5
- Policy Name
5
+ {{t "fleet-ops.component.modals.policy-form.name"}}
6
6
  </label>
7
- <Input @value={{@options.policy.name}} @type="text" class="w-full form-input" placeholder="Enter a name for your policy" />
7
+ <Input @value={{@options.policy.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.modals.policy-form.name-text"}} />
8
8
  </div>
9
9
  <div class="input-group">
10
10
  <label>
11
- Policy Description
11
+ {{t "fleet-ops.component.modals.policy-form.description"}}
12
12
  </label>
13
- <Input @value={{@options.policy.description}} @type="text" class="w-full form-input" placeholder="Enter a description for your policy" />
13
+ <Input @value={{@options.policy.description}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.modals.policy-form.description-text"}} />
14
14
  </div>
15
15
  <div class="input-group">
16
16
  <label>
17
- Select Permissions
17
+ {{t "fleet-ops.component.modals.policy-form.permissions"}}
18
18
  </label>
19
19
  <PermissionPicker @selected={{@options.policy.permissions}} @onChange={{fn (mut @options.policy.permissions)}} />
20
20
  </div>
@@ -2,13 +2,13 @@
2
2
  <div class="modal-body-container" ...attributes>
3
3
  <div class="input-group">
4
4
  <label>
5
- Role Name
5
+ {{t "fleet-ops.component.modals.role-form.name"}}
6
6
  </label>
7
- <Input @value={{@options.role.name}} @type="text" class="w-full form-input" placeholder="Enter a name for this role" />
7
+ <Input @value={{@options.role.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.modals.role-form.name-text"}} />
8
8
  </div>
9
9
  <div class="input-group">
10
10
  <label>
11
- Select Permissions
11
+ {{t "fleet-ops.component.modals.role-form.permissions"}}
12
12
  </label>
13
13
  <PermissionPicker @selected={{@options.role.permissions}} @onChange={{fn (mut @options.role.permissions)}} />
14
14
  </div>
@@ -4,7 +4,7 @@
4
4
  <a href="javascript:;" {{on "click" (fn @options.selectPaymentMethod paymentMethod)}} class="flex items-center justify-between px-3 py-2 shadow-sm rounded-md border border-gray-900 {{if (eq @options.selectedPaymentMethod.id paymentMethod.id) 'border-blue-500 shadow-outline-blue'}}">
5
5
  <div class="flex items-center dark:text-gray-100">
6
6
  <FaIcon @icon="cc-visa" class="mr-1" />
7
- <span class="mr-2">Card ending in {{paymentMethod.last4}}</span>
7
+ <span class="mr-2">{{t "fleet-ops.component.modals.select-payment-method" htmlSafe=true method=@paymentMethod.last4}}</span>
8
8
  </div>
9
9
  </a>
10
10
  {{/each}}
@@ -1,30 +1,30 @@
1
1
  <Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
2
2
  <div class="modal-body-container">
3
- <InputGroup @value={{@options.serviceArea.name}} @name="Service Area Name" @helpText="Set a display name for the service area." @required={{true}} />
4
- <InputGroup @name="Service Area Type" @helpText="Select the type definition for this service area .">
3
+ <InputGroup @value={{@options.serviceArea.name}} @name={{t "fleet-ops.component.modals.service-area-form.name"}} @helpText={{t "fleet-ops.component.modals.service-area-form.name-text"}} @required={{true}} />
4
+ <InputGroup @name={{t "fleet-ops.component.modals.service-area-form.type"}} @helpText={{t "fleet-ops.component.modals.service-area-form.type-text"}}>
5
5
  <Select
6
6
  @options={{@options.serviceAreaTypes}}
7
7
  @value={{@options.serviceArea.type}}
8
8
  @onSelect={{fn (mut @options.serviceArea.type)}}
9
- @placeholder="Select service area type..."
9
+ @placeholder={{t "fleet-ops.component.modals.service-area-form.select-type"}}
10
10
  class="w-full"
11
11
  />
12
12
  </InputGroup>
13
13
  <InputGroup
14
14
  @type="color"
15
15
  @value={{@options.serviceArea.stroke_color}}
16
- @name="Service Area Border Color"
17
- @helpText="Customize the border color for this service area."
16
+ @name={{t "fleet-ops.component.modals.service-area-form.border-color"}}
17
+ @helpText={{t "fleet-ops.component.modals.service-area-form.customize-border-color"}}
18
18
  class="p-0 border-0 m-0 w-8 h-8 bg-transparent rounded-none"
19
19
  />
20
20
  <InputGroup
21
21
  @type="color"
22
22
  @value={{@options.serviceArea.color}}
23
- @name="Service Area Color"
24
- @helpText="Customize the fill color for this service area."
23
+ @name={{t "fleet-ops.component.modals.service-area-form.area-color"}}
24
+ @helpText={{t "fleet-ops.component.modals.service-area-form.customize-area-color"}}
25
25
  class="p-0 border-0 m-0 w-8 h-8 bg-transparent rounded-none"
26
26
  />
27
- <InputGroup @name="Service Area Country" @helpText="Optionally set the country in which this service area is located or based in.">
27
+ <InputGroup @name={{t "fleet-ops.component.modals.service-area-form.country"}} @helpText={{t "fleet-ops.component.modals.service-area-form.country-text"}}>
28
28
  <CountrySelect class="w-full form-input" @value={{@options.serviceArea.country}} @onChange={{fn (mut @options.serviceArea.country)}} />
29
29
  </InputGroup>
30
30
  </div>
@@ -5,11 +5,11 @@
5
5
  <FaIcon @icon="info-circle" class="text-blue-900 mr-4" />
6
6
  </div>
7
7
  <p class="flex-1 text-sm text-blue-900 dark:text-blue-900">
8
- Welcome to Fleetbase! Before you get started, set a new password to continue below.
8
+ {{t "fleet-ops.component.modals.set-password.message"}}
9
9
  </p>
10
10
  </div>
11
11
 
12
- <InputGroup @name="New Password" @value={{@options.password}} @type="password" @inputClass="form-input-lg" @helpText="Enter a password at-least 8 characters to continue." />
13
- <InputGroup @name="Confirm Password" @value={{@options.password_confirmation}} @type="password" @inputClass="form-input-lg" @helpText="Enter a password at-least 8 characters to continue." />
12
+ <InputGroup @name={{t "fleet-ops.component.modals.set-password.new-password"}} @value={{@options.password}} @type="password" @inputClass="form-input-lg" @helpText={{t "fleet-ops.component.modals.set-password.help-text"}} />
13
+ <InputGroup @name={{t "fleet-ops.component.modals.set-password.confirm-password"}} @value={{@options.password_confirmation}} @type="password" @inputClass="form-input-lg" @helpText={{t "fleet-ops.component.modals.set-password.help-text"}} />
14
14
  </div>
15
15
  </Modal::Default>
@@ -7,9 +7,8 @@
7
7
  </div>
8
8
  </div>
9
9
  <div class="flex-1 dark:text-gray-100">
10
- <p class="text-base mb-2">You are attempting to uninstall the extension "{{or @options.extensionName}}".
11
- Are you sure you wish to proceed with this uninstallation?</p>
12
- <small>All configuration and customized settings will be lost.</small>
10
+ <p class="text-base mb-2">{{t "fleet-ops.component.modals.uninstall-prompt.message" htmlSafe=true options=@options.extensionName}}</p>
11
+ <small>{{t "fleet-ops.component.modals.uninstall-prompt.sub-message"}}</small>
13
12
  </div>
14
13
  </div>
15
14
  {{#if @options.isUninstalling}}
@@ -8,12 +8,12 @@
8
8
  {{#if queue.files.length}}
9
9
  <Spinner class="mr-1" />
10
10
  <span>
11
- Uploading...
11
+ {{t "fleet-ops.common.uploading"}}
12
12
  </span>
13
13
  {{else}}
14
14
  <FaIcon @icon="image" class="mr-1" />
15
15
  <span>
16
- Upload new
16
+ {{t "fleet-ops.common.upload-new"}}
17
17
  </span>
18
18
  {{/if}}
19
19
  </a>
@@ -23,30 +23,30 @@
23
23
  <div class="grid grid-cols-2 gap-3 text-xs dark:text-gray-100">
24
24
  <div class="input-group">
25
25
  <label>
26
- Name
26
+ {{t "fleet-ops.common.name"}}
27
27
  </label>
28
- <Input @value={{@options.user.name}} @type="text" class="w-full form-input" placeholder="Name" />
28
+ <Input @value={{@options.user.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.name"}} />
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.user.email}} @type="text" class="w-full form-input" placeholder="Email" />
35
+ <Input @value={{@options.user.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.user.phone}} @onInput={{fn (mut @options.user.phone)}} class="form-input w-full" />
43
43
  </div>
44
44
 
45
45
  <div class="input-group">
46
46
  <label>
47
- Country
47
+ {{t "fleet-ops.common.country"}}
48
48
  </label>
49
- <CountrySelect class="w-full form-input form-select form-datalist" @value={{@options.user.country}} @onChange={{fn (mut @options.user.country)}} placeholder="Country" />
49
+ <CountrySelect class="w-full form-input form-select form-datalist" @value={{@options.user.country}} @onChange={{fn (mut @options.user.country)}} placeholder={{t "fleet-ops.common.country"}} />
50
50
  </div>
51
51
  </div>
52
52
  </div>