@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
@@ -1,12 +1,12 @@
1
1
  <div class="space-y-4">
2
- <ContentPanel @title="Setup" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
3
- <InputGroup @name="Select vendor type">
2
+ <ContentPanel @title={{t "fleet-ops.component.vendor-form-panel.create-form.title"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
3
+ <InputGroup @name={{t "fleet-ops.component.vendor-form-panel.create-form.select-vendor-type"}}>
4
4
  <div class="fleetbase-model-select fleetbase-power-select ember-model-select">
5
5
  <PowerSelect
6
6
  @options={{this.vendorTypes}}
7
7
  @selected={{this.selectedVendorType}}
8
8
  @onChange={{this.onSelectVendorType}}
9
- @placeholder="Select vendor type"
9
+ @placeholder={{t "fleet-ops.component.vendor-form-panel.create-form.select-vendor-type"}}
10
10
  @triggerClass="form-select form-input"
11
11
  as |vendorType|
12
12
  >
@@ -15,7 +15,7 @@
15
15
  </div>
16
16
  </InputGroup>
17
17
  {{#if (eq this.selectedVendorType.value "integrated-vendor")}}
18
- <InputGroup @name="Choose integrated vendor provider">
18
+ <InputGroup @name={{t "fleet-ops.component.vendor-form-panel.create-form.choose-vendor"}}>
19
19
  <div class="fleetbase-model-select fleetbase-power-select ember-model-select">
20
20
  <PowerSelect
21
21
  @options={{this.supportedIntegratedVendors}}
@@ -37,22 +37,22 @@
37
37
  {{#if this.selectedVendorType.value}}
38
38
  {{#if (eq this.selectedVendorType.value "integrated-vendor")}}
39
39
  {{#if this.selectedIntegratedVendor}}
40
- <ContentPanel @title="Provider" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
40
+ <ContentPanel @title={{t "fleet-ops.component.vendor-form-panel.create-form.provider"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
41
41
  <div class="flex flex-row items-center">
42
42
  <img src={{this.selectedIntegratedVendor.logo}} alt={{this.selectedIntegratedVendor.code}} class="w-12 h-12" width="48" height="48" />
43
43
  <h3 class="text-base text-black dark:text-white ml-4">{{this.selectedIntegratedVendor.name}}</h3>
44
44
  </div>
45
45
  </ContentPanel>
46
- <ContentPanel @title="Credentials" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
46
+ <ContentPanel @title={{t "fleet-ops.component.vendor-form-panel.create-form.credentials"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
47
47
  {{#each this.selectedIntegratedVendor.credential_params as |param|}}
48
48
  <InputGroup
49
49
  @name={{smart-humanize param.key}}
50
50
  @value={{mut (get this.integratedVendor.credentials param.key)}}
51
- @helpText={{concat "Optionally supply your own " (smart-humanize param.key) " to configure this vendor."}}
51
+ @helpText={{concat (t "fleet-ops.component.vendor-form-panel.create-form.optionally")(smart-humanize param.key)(t "fleet-ops.component.vendor-form-panel.create-form.configure-vendor")}}
52
52
  />
53
53
  {{/each}}
54
54
  </ContentPanel>
55
- <ContentPanel @title="Options" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
55
+ <ContentPanel @title={{t "fleet-ops.common.options"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
56
56
  {{#each this.selectedIntegratedVendor.option_params as |param|}}
57
57
  {{#if param.options}}
58
58
  <InputGroup @name={{smart-humanize param.key}}>
@@ -62,7 +62,7 @@
62
62
  @optionValue={{param.optionValue}}
63
63
  @optionLabel={{param.optionLabel}}
64
64
  @humanize={{true}}
65
- @placeholder={{concat "Select " (smart-humanize param.key)}}
65
+ @placeholder={{concat (t "fleet-ops.component.vendor-form-panel.create-form.select") (smart-humanize param.key)}}
66
66
  @onSelect={{fn (mut (get this.integratedVendor.options param.key))}}
67
67
  />
68
68
  </InputGroup>
@@ -70,7 +70,7 @@
70
70
  <InputGroup
71
71
  @name={{smart-humanize param.key}}
72
72
  @value={{mut (get this.integratedVendor.options param.key)}}
73
- @helpText={{concat "Optionally supply your own " (smart-humanize param.key) " to configure this vendor."}}
73
+ @helpText={{concat (t "fleet-ops.component.vendor-form-panel.create-form.optionally")(smart-humanize param.key)(t "fleet-ops.component.vendor-form-panel.create-form.configure-vendor")}}
74
74
  />
75
75
  {{/if}}
76
76
  {{/each}}
@@ -78,48 +78,49 @@
78
78
  <Checkbox @value={{this.integratedVendor.sandbox}} @label="Sandbox" @onToggle={{fn (mut this.integratedVendor.sandbox)}} @alignItems="center" @labelClass="mb-0i" />
79
79
  </InputGroup>
80
80
  </ContentPanel>
81
- <ContentPanel @title="Advanced Options" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
81
+ <ContentPanel @title={{t "fleet-ops.component.vendor-form-panel.create-form.advanced-options"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
82
82
  <div>
83
83
  <a href="javascript:;" class="text-blue-600 underline text-sm" {{on "click" this.toggleAdvancedOptions}}>{{if
84
84
  this.showAdvancedOptions
85
- "Hide Advanced Options"
86
- "Show Advanced Options"
85
+ (t "fleet-ops.component.vendor-form-panel.create-form.hide-advanced-options")
86
+ (t "fleet-ops.component.vendor-form-panel.create-form.show-advanced-options")
87
87
  }}</a>
88
88
  </div>
89
89
  {{#if this.showAdvancedOptions}}
90
90
  <div class="mt-4">
91
- <InputGroup @name="Custom Host" @value={{this.integratedVendor.host}} @helpText="Optionally provide a custom host that should be used for this integration." />
91
+ <InputGroup @name={{t "fleet-ops.component.vendor-form-panel.create-form.host"}}
92
+ @value={{this.integratedVendor.host}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.host-text"}} />
92
93
  <InputGroup
93
- @name="Custom Namespace"
94
+ @name={{t "fleet-ops.component.vendor-form-panel.create-form.namespace"}}
94
95
  @value={{this.integratedVendor.namespace}}
95
- @helpText="Optionally provide a custom namespace or api version that should be used for the integration."
96
+ @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.namespace-text"}}
96
97
  />
97
98
  <InputGroup
98
- @name="Webhook URL"
99
+ @name={{t "fleet-ops.component.vendor-form-panel.create-form.webhook"}}
99
100
  @value={{this.integratedVendor.webhook_url}}
100
- @helpText="Integrated vendors will typically require this so that Fleetbase can receive activity updates on the order. Do not change unless you know what you are doing! Changing this may break your order updates!"
101
+ @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.webhook-text"}}
101
102
  />
102
103
  </div>
103
104
  {{/if}}
104
105
  </ContentPanel>
105
106
  {{else}}
106
107
  <div class="flex items-center justify-center border-2 border-dashed h-32 w-full rounded-md dark:border-gray-700 border-gray-200">
107
- <h3 class="text-gray-800 dark:text-gray-400 italic text-sm">Select an integrated vendor provider.</h3>
108
+ <h3 class="text-gray-800 dark:text-gray-400 italic text-sm">{{t "fleet-ops.component.vendor-form-panel.create-form.select-integrated"}}</h3>
108
109
  </div>
109
110
  {{/if}}
110
111
  {{else}}
111
- <ContentPanel @title="Vendor Details" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
112
- <InputGroup @name="Name" @value={{this.vendor.name}} @helpText="The vendor's name, typically the name of a business." />
113
- <InputGroup @name="Email" @type="email" @value={{this.vendor.email}} @helpText="The vendor's email, this can be used to trigger emails to the vendor." />
114
- <InputGroup @name="Phone" @type="tel" @value={{this.vendor.phone}} @helpText="The vendor's phone #, this can be used to trigger SMS or messages to the vendor." />
115
- <InputGroup @name="Website" @value={{this.vendor.website_url}} @helpText="The vendor's website, optionally add the vendors website for reference." />
116
- <InputGroup @name="Type">
112
+ <ContentPanel @title={{t "fleet-ops.component.vendor-form-panel.create-form.vendor-details"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
113
+ <InputGroup @name={{t "fleet-ops.common.name"}} @value={{this.vendor.name}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.name-text"}} />
114
+ <InputGroup @name={{t "fleet-ops.common.email"}} @type="email" @value={{this.vendor.email}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.email-text"}} />
115
+ <InputGroup @name={{t "fleet-ops.common.phone"}} @type="tel" @value={{this.vendor.phone}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.phone-text"}} />
116
+ <InputGroup @name={{t "fleet-ops.common.website"}} @value={{this.vendor.website_url}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.website-text"}} />
117
+ <InputGroup @name={{t "fleet-ops.common.type"}}>
117
118
  <div class="fleetbase-model-select fleetbase-power-select ember-model-select">
118
119
  <PowerSelect
119
120
  @options={{@vendorTypes}}
120
121
  @selected={{this.vendor.type}}
121
122
  @onChange={{fn (mut this.vendor.type)}}
122
- @placeholder="Select vendor type"
123
+ @placeholder={{t "fleet-ops.component.vendor-form-panel.create-form.select-vendor-type"}}
123
124
  @triggerClass="form-select form-input"
124
125
  as |type|
125
126
  >
@@ -127,13 +128,13 @@
127
128
  </PowerSelect>
128
129
  </div>
129
130
  </InputGroup>
130
- <InputGroup @name="Status">
131
+ <InputGroup @name={{t "fleet-ops.common.status"}}>
131
132
  <div class="fleetbase-model-select fleetbase-power-select ember-model-select">
132
133
  <PowerSelect
133
134
  @options={{@vendorStatusOptions}}
134
135
  @selected={{this.vendor.status}}
135
136
  @onChange={{fn (mut this.vendor.status)}}
136
- @placeholder="Select vendor status"
137
+ @placeholder={{t "fleet-ops.component.vendor-form-panel.create-form.select-vendor-status"}}
137
138
  @triggerClass="form-select form-input"
138
139
  as |status|
139
140
  >
@@ -144,16 +145,16 @@
144
145
  <InputGroup @wrapperClass="col-span-2">
145
146
  <div class="flex items-center justify-between">
146
147
  <label>
147
- Address
148
+ {{t "fleet-ops.common.address"}}
148
149
  </label>
149
150
  <div class="mb-1.5 flex flex-row">
150
- <Button @type="default" @size="xs" @icon="edit" @text={{if this.vendor.has_place "Edit" "New Address"}} @onClick={{this.editAddress}} />
151
+ <Button @type="default" @size="xs" @icon="edit" @text={{if this.vendor.has_place (t "fleet-ops.component.vendor-form-panel.create-form.edit") (t "fleet-ops.component.vendor-form-panel.create-form.new-address")}} @onClick={{this.editAddress}} />
151
152
  </div>
152
153
  </div>
153
154
  <ModelSelect
154
155
  @modelName="place"
155
156
  @selectedModel={{this.vendor.place}}
156
- @placeholder="Select Address"
157
+ @placeholder={{t "fleet-ops.component.vendor-form-panel.create-form.select-address"}}
157
158
  @triggerClass="form-select form-input"
158
159
  @infiniteScroll={{false}}
159
160
  @renderInPlace={{true}}
@@ -166,8 +167,8 @@
166
167
  </div>
167
168
  </ModelSelect>
168
169
  </InputGroup>
169
- <InputGroup @name="Country">
170
- <CountrySelect class="w-full form-input form-select form-datalist" @value={{this.vendor.country}} @onChange={{fn (mut this.vendor.country)}} placeholder="Country" />
170
+ <InputGroup @name={{t "fleet-ops.common.country"}}>
171
+ <CountrySelect class="w-full form-input form-select form-datalist" @value={{this.vendor.country}} @onChange={{fn (mut this.vendor.country)}} placeholder={{t "fleet-ops.common.country"}} />
171
172
  </InputGroup>
172
173
  </ContentPanel>
173
174
  {{/if}}
@@ -16,6 +16,10 @@ export default class VendorFormPanelCreateFormComponent extends Component {
16
16
  * @service fetch
17
17
  */
18
18
  @service fetch;
19
+ /**
20
+ * @service intl
21
+ */
22
+ @service intl;
19
23
 
20
24
  /**
21
25
  * @service contextPanel
@@ -38,8 +42,8 @@ export default class VendorFormPanelCreateFormComponent extends Component {
38
42
  * @type {Array}
39
43
  */
40
44
  @tracked vendorTypes = [
41
- { label: 'Choose a integrated vendor', value: 'integrated-vendor' },
42
- { label: 'Create a custom vendor', value: 'vendor' },
45
+ { label: this.intl.t('fleet-ops.component.vendor-form-panel.create-form.integrated-vendor'), value: 'integrated-vendor' },
46
+ { label: this.intl.t('fleet-ops.component.vendor-form-panel.create-form.custom-vendor'), value: 'vendor' },
43
47
  ];
44
48
 
45
49
  /**
@@ -1,27 +1,27 @@
1
1
  <div class="space-y-4">
2
2
  {{#if this.isIntegratedVendor}}
3
- <ContentPanel @title="Provider" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
3
+ <ContentPanel @title={{t "fleet-ops.component.vendor-form-panel.create-form.provider"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
4
4
  <div class="flex flex-row items-center">
5
5
  <img src={{this.vendor.provider_settings.logo}} alt={{this.vendor.provider_settings.code}} class="w-12 h-12" width="48" height="48" />
6
6
  <h3 class="text-base text-black dark:text-white ml-4">{{this.vendor.provider_settings.name}}</h3>
7
7
  </div>
8
8
  </ContentPanel>
9
- <ContentPanel @title="Credentials" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
9
+ <ContentPanel @title={{t "fleet-ops.component.vendor-form-panel.create-form.credentials"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
10
10
  {{#if this.isEditingCredentials}}
11
11
  {{#each this.vendor.provider_settings.credential_params as |param|}}
12
- <InputGroup @name={{smart-humanize param.key}} @value={{mut (get this.vendor.credentials param.key)}} @helpText={{concat "Optionally supply your own " (smart-humanize param.key) " to configure this vendor."}} />
12
+ <InputGroup @name={{smart-humanize param.key}} @value={{mut (get this.vendor.credentials param.key)}} @helpText={{concat (t "fleet-ops.component.vendor-form-panel.create-form.optionally")(smart-humanize param.key)(t "fleet-ops.component.vendor-form-panel.create-form.configure-vendor")}} />
13
13
  {{/each}}
14
14
  <div class="mt-4">
15
- <a href="javascript:;" class="text-red-600 underline text-sm" {{on "click" this.toggleCredentialsReset}}>Cancel credentials reset</a>
15
+ <a href="javascript:;" class="text-red-600 underline text-sm" {{on "click" this.toggleCredentialsReset}}>{{t "fleet-ops.component.vendor-form-panel.edit-form.cancel-credentials"}}</a>
16
16
  </div>
17
17
  {{else}}
18
18
  <div class="rounded-md border shadow-sm border-gray-200 text-black bg-white dark:border-gray-700 dark:bg-gray-900 dark:text-white text-xs px-3 py-2 mb-4 mt-2">
19
- <p class="mb-2">Sensitive credentials can only be reset, to update credentials you must re-enter the credentials.</p>
20
- <a href="javascript:;" class="text-red-600 underline text-sm" {{on "click" this.toggleCredentialsReset}}>Click here to reset credentials</a>
19
+ <p class="mb-2">{{t "fleet-ops.component.vendor-form-panel.edit-form.sensitive-credentials"}}</p>
20
+ <a href="javascript:;" class="text-red-600 underline text-sm" {{on "click" this.toggleCredentialsReset}}>{{t "fleet-ops.component.vendor-form-panel.edit-form.reset-credentials"}}</a>
21
21
  </div>
22
22
  <div>
23
23
  {{#each this.vendor.provider_settings.credential_params as |param|}}
24
- <InputGroup @name={{smart-humanize param.key}} @value="*********" @disabled="true" @helpText={{concat "Optionally supply your own " (smart-humanize param.key) " to configure this vendor."}} />
24
+ <InputGroup @name={{smart-humanize param.key}} @value="*********" @disabled="true" @helpText={{concat (t "fleet-ops.component.vendor-form-panel.create-form.optionally")(smart-humanize param.key)(t "fleet-ops.component.vendor-form-panel.create-form.configure-vendor")}} />
25
25
  {{/each}}
26
26
  </div>
27
27
  {{/if}}
@@ -33,44 +33,44 @@
33
33
  <Select @value={{mut (get this.vendor.options param.key)}} @options={{param.options}} @optionValue={{param.optionValue}} @optionLabel={{param.optionLabel}} @humanize={{true}} @placeholder={{concat "Select " (smart-humanize param.key)}} @onSelect={{fn (mut (get this.vendor.options param.key))}} />
34
34
  </InputGroup>
35
35
  {{else}}
36
- <InputGroup @name={{smart-humanize param.key}} @value={{mut (get this.vendor.options param.key)}} @helpText={{concat "Optionally supply your own " (smart-humanize param.key) " to configure this vendor."}} />
36
+ <InputGroup @name={{smart-humanize param.key}} @value={{mut (get this.vendor.options param.key)}} @helpText={{concat (t "fleet-ops.component.vendor-form-panel.create-form.optionally")(smart-humanize param.key)(t "fleet-ops.component.vendor-form-panel.create-form.configure-vendor")}} />
37
37
  {{/if}}
38
38
  {{/each}}
39
39
  <InputGroup>
40
40
  <Checkbox @value={{this.vendor.sandbox}} @label="Sandbox" @onToggle={{fn (mut this.vendor.sandbox)}} @alignItems="center" @labelClass="mb-0i" />
41
41
  </InputGroup>
42
42
  </ContentPanel>
43
- <ContentPanel @title="Advanced Options" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
43
+ <ContentPanel @title={{t "fleet-ops.component.vendor-form-panel.create-form.advanced-options"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
44
44
  <div>
45
45
  <a href="javascript:;" class="text-blue-600 underline text-sm" {{on "click" this.toggleAdvancedOptions}}>{{if
46
46
  this.showAdvancedOptions
47
- "Hide Advanced Options"
48
- "Show Advanced Options"
47
+ (t "fleet-ops.component.vendor-form-panel.create-form.hide-advanced-options")
48
+ (t "fleet-ops.component.vendor-form-panel.create-form.show-advanced-options")
49
49
  }}</a>
50
50
  </div>
51
51
  {{#if this.showAdvancedOptions}}
52
52
  <div class="mt-4">
53
- <InputGroup @name="Custom Host" @value={{this.vendor.host}} @helpText="Optionally provide a custom host that should be used for this integration." />
54
- <InputGroup @name="Custom Namespace" @value={{this.vendor.namespace}} @helpText="Optionally provide a custom namespace or api version that should be used for the integration." />
55
- <InputGroup @name="Webhook URL" @value={{this.vendor.webhook_url}} @helpText="Integrated vendors will typically require this so that Fleetbase can receive activity updates on the order. Do not change unless you know what you are doing! Changing this may break your order updates!" />
53
+ <InputGroup @name={{t "fleet-ops.component.vendor-form-panel.create-form.host"}} @value={{this.vendor.host}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.host-text"}} />
54
+ <InputGroup @name={{t "fleet-ops.component.vendor-form-panel.create-form.namespace"}} @value={{this.vendor.namespace}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.namespace-text"}} />
55
+ <InputGroup @name={{t "fleet-ops.component.vendor-form-panel.create-form.webhook"}} @value={{this.vendor.webhook_url}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.webhook-text"}} />
56
56
  </div>
57
57
  {{/if}}
58
58
  </ContentPanel>
59
59
  {{else}}
60
- <InputGroup @name="Name" @value={{this.vendor.name}} @helpText="The vendor's name, typically the name of a business." />
61
- <InputGroup @name="Email" @type="email" @value={{this.vendor.email}} @helpText="The vendor's email, this can be used to trigger emails to the vendor." />
62
- <InputGroup @name="Phone" @type="tel" @value={{this.vendor.phone}} @helpText="The vendor's phone #, this can be used to trigger SMS or messages to the vendor." />
63
- <InputGroup @name="Website" @value={{this.vendor.website_url}} @helpText="The vendor's website, optionally add the vendors website for reference." />
64
- <InputGroup @name="Type">
60
+ <InputGroup @name={{t "fleet-ops.common.name"}} @value={{this.vendor.name}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.name-text"}} />
61
+ <InputGroup @name={{t "fleet-ops.common.email"}} @type="email" @value={{this.vendor.email}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.email-text"}} />
62
+ <InputGroup @name={{t "fleet-ops.common.phone"}} @type="tel" @value={{this.vendor.phone}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.phone-text"}} />
63
+ <InputGroup @name={{t "fleet-ops.common.website"}} @value={{this.vendor.website_url}} @helpText={{t "fleet-ops.component.vendor-form-panel.create-form.website-text"}} />
64
+ <InputGroup @name={{t "fleet-ops.common.type"}}>
65
65
  <div class="fleetbase-model-select fleetbase-power-select ember-model-select">
66
- <PowerSelect @options={{@vendorTypes}} @selected={{this.vendor.type}} @onChange={{fn (mut this.vendor.type)}} @placeholder="Select vendor type" @triggerClass="form-select form-input" as |type|>
66
+ <PowerSelect @options={{@vendorTypes}} @selected={{this.vendor.type}} @onChange={{fn (mut this.vendor.type)}} @placeholder={{t "fleet-ops.component.vendor-form-panel.create-form.select-vendor-type"}} @triggerClass="form-select form-input" as |type|>
67
67
  {{smart-humanize type}}
68
68
  </PowerSelect>
69
69
  </div>
70
70
  </InputGroup>
71
- <InputGroup @name="Status">
71
+ <InputGroup @name={{t "fleet-ops.common.status"}}>
72
72
  <div class="fleetbase-model-select fleetbase-power-select ember-model-select">
73
- <PowerSelect @options={{@vendorStatusOptions}} @selected={{this.vendor.status}} @onChange={{fn (mut this.vendor.status)}} @placeholder="Select vendor status" @triggerClass="form-select form-input" as |status|>
73
+ <PowerSelect @options={{@vendorStatusOptions}} @selected={{this.vendor.status}} @onChange={{fn (mut this.vendor.status)}} @placeholder={{t "fleet-ops.component.vendor-form-panel.create-form.select-vendor-status"}} @triggerClass="form-select form-input" as |status|>
74
74
  {{smart-humanize status}}
75
75
  </PowerSelect>
76
76
  </div>
@@ -78,21 +78,21 @@
78
78
  <InputGroup @wrapperClass="col-span-2">
79
79
  <div class="flex items-center justify-between">
80
80
  <label>
81
- Address
81
+ {{t "fleet-ops.common.address"}}
82
82
  </label>
83
83
  <div class="mb-1.5 flex flex-row">
84
- <Button @type="default" @size="xs" @icon="edit" @text={{if this.vendor.has_place "Edit" "New Address"}} @onClick={{this.editAddress}} />
84
+ <Button @type="default" @size="xs" @icon="edit" @text={{if this.vendor.has_place (t "fleet-ops.component.vendor-form-panel.create-form.edit") (t "fleet-ops.component.vendor-form-panel.create-form.new-address")}} @onClick={{this.editAddress}} />
85
85
  </div>
86
86
  </div>
87
- <ModelSelect @modelName="place" @selectedModel={{this.vendor.place}} @placeholder="Select Address" @triggerClass="form-select form-input" @infiniteScroll={{false}} @renderInPlace={{true}} @onChange={{this.selectVendorAddress}} as |model|>
87
+ <ModelSelect @modelName="place" @selectedModel={{this.vendor.place}} @placeholder={{t "fleet-ops.component.vendor-form-panel.edit-form.select-address"}} @triggerClass="form-select form-input" @infiniteScroll={{false}} @renderInPlace={{true}} @onChange={{this.selectVendorAddress}} as |model|>
88
88
  <div class="flex items-center flex-row justify-between">
89
89
  <div class="truncate flex-1">{{n-a model.address}}</div>
90
90
  <Badge @hideStatusDot={{true}} @status="info">{{model.public_id}}</Badge>
91
91
  </div>
92
92
  </ModelSelect>
93
93
  </InputGroup>
94
- <InputGroup @name="Country">
95
- <CountrySelect class="w-full form-input form-select form-datalist" @value={{this.vendor.country}} @onChange={{fn (mut this.vendor.country)}} placeholder="Country" />
94
+ <InputGroup @name={{t "fleet-ops.common.country"}}>
95
+ <CountrySelect class="w-full form-input form-select form-datalist" @value={{this.vendor.country}} @onChange={{fn (mut this.vendor.country)}} placeholder={{t "fleet-ops.common.country"}} />
96
96
  </InputGroup>
97
97
  {{/if}}
98
98
  </div>
@@ -5,6 +5,7 @@ import { action } from '@ember/object';
5
5
 
6
6
  export default class VendorFormPanelEditFormComponent extends Component {
7
7
  @service store;
8
+ @service intl;
8
9
  @service contextPanel;
9
10
  @tracked isIntegratedVendor;
10
11
  @tracked isEditingCredentials = false;
@@ -13,14 +13,14 @@
13
13
  <div class="flex flex-row items-center justify-between w-full mb-4">
14
14
  <div class="flex flex-1 space-x-2">
15
15
  {{#if this.vendor.id}}
16
- <Button @type="default" @icon="warehouse" @helpText="View vendor details" @onClick={{this.onViewDetails}} />
16
+ <Button @type="default" @icon="warehouse" @helpText={{t "fleet-ops.component.vendor-form-panel.view-details"}} @onClick={{this.onViewDetails}} />
17
17
  {{/if}}
18
18
  </div>
19
19
  <div class="flex flex-1 justify-end">
20
20
  <div class="mr-2">
21
- <Button @icon={{if this.vendor.id "save" "check"}} @type="primary" @text={{if this.vendor.id "Save Vendor" "Create Vendor"}} @onClick={{this.save}} />
21
+ <Button @icon={{if this.vendor.id "save" "check"}} @type="primary" @text={{if this.vendor.id (t "fleet-ops.component.vendor-form-panel.save-vendor")(t "fleet-ops.component.vendor-form-panel.create-vendor") }} @onClick={{this.save}} />
22
22
  </div>
23
- <Button @type="default" @icon="times" @helpText={{if this.vendor.id "Cancel edit vendor" "Cancel new vendor"}} @onClick={{this.onPressCancel}} />
23
+ <Button @type="default" @icon="times" @helpText={{if this.vendor.id (t "fleet-ops.component.vendor-form-panel.cancel-edit-vendor")(t "fleet-ops.component.vendor-form-panel.cancel-new-vendor") }} @onClick={{this.onPressCancel}} />
24
24
  </div>
25
25
  </div>
26
26
  <div class="flex flex-row justify-between w-full">
@@ -30,11 +30,11 @@
30
30
  <div class="upload-avatar-overlay w-12 h-12 flex items-center justify-start rounded-lg">
31
31
  <img src={{this.vendor.logo_url}} alt={{this.vendor.name}} height="48" width="48" class="h-12 w-12 rounded-lg shadow-sm" />
32
32
  <Attach::Tooltip @class="clean" @animation="scale" @placement="top">
33
- <InputInfo @text="Upload new photo" />
33
+ <InputInfo @text={{t "fleet-ops.component.vendor-form-panel.upload-photo"}} />
34
34
  </Attach::Tooltip>
35
35
  <div class="upload-avatar-button-wrapper rounded-lg">
36
36
  <UploadButton
37
- @name="photos"
37
+ @name={{t "fleet-ops.common.photos"}}
38
38
  @accept="image/*"
39
39
  @onFileAdded={{this.onUploadNewPhoto}}
40
40
  @icon="upload"
@@ -53,7 +53,7 @@
53
53
  {{#if this.vendor.name}}
54
54
  {{this.vendor.name}}
55
55
  {{else}}
56
- <span>New Vendor</span>
56
+ <span>{{t "fleet-ops.component.vendor-form-panel.new-vendor"}}</span>
57
57
  {{/if}}
58
58
  {{/if}}
59
59
  </h1>
@@ -18,6 +18,11 @@ export default class VendorFormPanelComponent extends Component {
18
18
  */
19
19
  @service fetch;
20
20
 
21
+ /**
22
+ * @service intl
23
+ */
24
+ @service intl;
25
+
21
26
  /**
22
27
  * @service currentUser
23
28
  */
@@ -114,7 +119,7 @@ export default class VendorFormPanelComponent extends Component {
114
119
  return vendor
115
120
  .save()
116
121
  .then((vendor) => {
117
- this.notifications.success(`Vendor (${vendor.displayName}) saved successfully.`);
122
+ this.notifications.success(this.intl.t('fleet-ops.component.vendor-form-panel.success-message', { vendorName: vendor.displayName }));
118
123
  contextComponentCallback(this, 'onAfterSave', vendor);
119
124
  })
120
125
  .catch((error) => {
@@ -142,7 +147,7 @@ export default class VendorFormPanelComponent extends Component {
142
147
  {
143
148
  path: `uploads/${this.currentUser.companyId}/vendors/${this.vendor.id}`,
144
149
  subject_uuid: this.vendor.id,
145
- subject_type: 'vendor',
150
+ subject_type: 'fleet-ops:vendor',
146
151
  type: 'vendor_logo',
147
152
  },
148
153
  (uploadedFile) => {
@@ -11,15 +11,15 @@
11
11
  </div>
12
12
  <div class="grid grid-cols-1 md:grid-cols-3 gap-2 text-xs dark:text-gray-100">
13
13
  <div class="field-info-container">
14
- <div class="field-name">Sandbox</div>
14
+ <div class="field-name">{{t "fleet-ops.common.sandbox"}}</div>
15
15
  <div class="field-value">{{if this.vendor.sandbox "Yes" "No"}}</div>
16
16
  </div>
17
17
  <div class="field-info-container">
18
- <div class="field-name">Host</div>
18
+ <div class="field-name">{{t "fleet-ops.common.host"}}</div>
19
19
  <div class="field-value">{{n-a this.vendor.host}}</div>
20
20
  </div>
21
21
  <div class="field-info-container">
22
- <div class="field-name">Namespace</div>
22
+ <div class="field-name">{{t "fleet-ops.common.namespace"}}</div>
23
23
  <div class="field-value">{{n-a this.vendor.namespace}}</div>
24
24
  </div>
25
25
  {{#if (is-object this.vendor.options)}}
@@ -34,41 +34,41 @@
34
34
  {{else}}
35
35
  <div class="grid grid-cols-1 lg:grid-cols-2 gap-2 text-xs dark:text-gray-100">
36
36
  <div class="field-info-container">
37
- <div class="field-name">Name</div>
37
+ <div class="field-name">{{t "fleet-ops.common.name"}}</div>
38
38
  <div class="field-value">{{n-a this.vendor.name}}</div>
39
39
  </div>
40
40
 
41
41
  <div class="field-info-container">
42
- <div class="field-name">Email</div>
42
+ <div class="field-name">{{t "fleet-ops.common.email"}}</div>
43
43
  <div class="field-value">{{n-a this.vendor.email}}</div>
44
44
  </div>
45
45
 
46
46
  <div class="field-info-container">
47
- <div class="field-name">Phone</div>
47
+ <div class="field-name">{{t "fleet-ops.common.phone"}}</div>
48
48
  <div class="field-value">{{n-a this.vendor.phone}}</div>
49
49
  </div>
50
50
 
51
51
  <div class="field-info-container">
52
- <div class="field-name">Website URL</div>
52
+ <div class="field-name">{{t "fleet-ops.common.website-url"}}</div>
53
53
  <div class="field-value">{{n-a this.vendor.website_url}}</div>
54
54
  </div>
55
55
 
56
56
  <div class="field-info-container">
57
- <div class="field-name">Country</div>
57
+ <div class="field-name">{{t "fleet-ops.common.country"}}</div>
58
58
  <div class="field-value">
59
59
  <CountryName @country={{this.vendor.country}} @showFlag={{true}} />
60
60
  </div>
61
61
  </div>
62
62
 
63
63
  <div class="field-info-container">
64
- <div class="field-name">Status</div>
64
+ <div class="field-name">{{t "fleet-ops.common.status"}}</div>
65
65
  <div class="field-value">
66
66
  <Badge @status={{this.vendor.status}} />
67
67
  </div>
68
68
  </div>
69
69
 
70
70
  <div class="field-info-container col-span-2">
71
- <div class="field-name">Address</div>
71
+ <div class="field-name">{{t "fleet-ops.common.address"}}</div>
72
72
  <div class="field-value">{{n-a this.vendor.address}}</div>
73
73
  </div>
74
74
  </div>
@@ -12,10 +12,10 @@
12
12
  <Overlay::Header @hideLeftSection={{true}} @actionsWrapperClass="flex-1 flex-col py-3" class="h-auto-i">
13
13
  <div class="flex flex-row items-center justify-between w-full mb-4">
14
14
  <div class="flex flex-1 space-x-2">
15
- <Button @type="default" @icon="pen" @helpText="Edit vendor" @onClick={{this.onEdit}} />
15
+ <Button @type="default" @icon="pen" @helpText={{t "fleet-ops.component.vendor-panel.edit"}} @onClick={{this.onEdit}} />
16
16
  </div>
17
17
  <div class="flex flex-1 justify-end">
18
- <Button @type="default" @icon="times" @helpText="Close vendor details" @onClick={{this.onPressCancel}} />
18
+ <Button @type="default" @icon="times" @helpText={{t "fleet-ops.component.vendor-panel.close"}} @onClick={{this.onPressCancel}} />
19
19
  </div>
20
20
  </div>
21
21
  <div class="flex flex-row justify-between w-full">
@@ -40,7 +40,7 @@
40
40
  {{#if this.vendor.id}}
41
41
  {{this.vendor.name}}
42
42
  {{else}}
43
- <span>New Vendor</span>
43
+ <span>{{t "fleet-ops.component.vendor-panel.new-vendor"}}</span>
44
44
  {{/if}}
45
45
  </h1>
46
46
  <div class="-mt-1">
@@ -10,7 +10,7 @@
10
10
  {{#if this.isLoading}}
11
11
  <div class="flex text-center items-center justify-center p-4">
12
12
  <Spinner class="mr-2" />
13
- <span>Let's see what you can do to jumpstart operations...</span>
13
+ <span>{{t "fleet-ops.component.widget.fleet-ops-quickstart.message"}}</span>
14
14
  </div>
15
15
  {{else}}
16
16
  <div class="space-y-3">
@@ -27,7 +27,7 @@
27
27
  </div>
28
28
  <div>
29
29
  {{#if task.should}}
30
- <a href="javascript:;" class="text-yellow-700 dark:text-yellow-700 hover:text-yellow-700 font-semibold underline" {{on "click" (fn this.startTask action)}}>Start Task</a>
30
+ <a href="javascript:;" class="text-yellow-700 dark:text-yellow-700 hover:text-yellow-700 font-semibold underline" {{on "click" (fn this.startTask action)}}>{{t "fleet-ops.component.widget.fleet-ops-quickstart.start-task"}}</a>
31
31
  {{/if}}
32
32
  </div>
33
33
  </div>
@@ -4,6 +4,7 @@ import { inject as service } from '@ember/service';
4
4
  import { action, computed } from '@ember/object';
5
5
 
6
6
  export default class WidgetFleetOpsQuickstartComponent extends Component {
7
+ @service intl;
7
8
  @service fetch;
8
9
  @service hostRouter;
9
10
  @tracked tasks = {};