@fleetbase/fleetops-engine 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon/components/admin/navigator-app.hbs +3 -3
- package/addon/components/admin/visibility-controls.hbs +4 -4
- package/addon/components/cell/driver-name.hbs +1 -1
- package/addon/components/contact-form-panel.hbs +15 -15
- package/addon/components/contact-form-panel.js +8 -4
- package/addon/components/contact-panel/details.hbs +7 -7
- package/addon/components/contact-panel.hbs +2 -2
- package/addon/components/display-place.hbs +2 -2
- package/addon/components/driver-card.hbs +1 -1
- package/addon/components/driver-form-panel.hbs +36 -29
- package/addon/components/driver-form-panel.js +6 -2
- package/addon/components/driver-panel/details.hbs +10 -10
- package/addon/components/driver-panel.hbs +5 -5
- package/addon/components/fleet-driver-listing.hbs +5 -5
- package/addon/components/fleet-form-panel.hbs +16 -16
- package/addon/components/fleet-form-panel.js +5 -1
- package/addon/components/fleet-panel/details.hbs +7 -7
- package/addon/components/fleet-panel/driver-listing.hbs +5 -5
- package/addon/components/fleet-panel/driver-listing.js +6 -0
- package/addon/components/fleet-panel/vehicle-listing.hbs +5 -5
- package/addon/components/fleet-panel/vehicle-listing.js +6 -0
- package/addon/components/fleet-vehicle-listing.hbs +5 -5
- package/addon/components/fuel-report-form-panel.hbs +16 -16
- package/addon/components/fuel-report-form-panel.js +5 -1
- package/addon/components/fuel-report-panel/details.hbs +11 -11
- package/addon/components/fuel-report-panel.hbs +3 -3
- package/addon/components/global-search.hbs +1 -1
- package/addon/components/horizontal-route.hbs +1 -1
- package/addon/components/integrated-order-details.hbs +13 -13
- package/addon/components/issue-form-panel.hbs +25 -25
- package/addon/components/issue-form-panel.js +6 -1
- package/addon/components/issue-panel/details.hbs +11 -11
- package/addon/components/issue-panel.hbs +3 -3
- package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
- package/addon/components/layout/fleet-ops-sidebar.js +28 -12
- package/addon/components/live-map-drawer/driver-listing.hbs +1 -1
- package/addon/components/live-map-drawer/driver-listing.js +16 -10
- package/addon/components/live-map-drawer/place-listing.hbs +1 -1
- package/addon/components/live-map-drawer/place-listing.js +12 -7
- package/addon/components/live-map-drawer/vehicle-listing.hbs +1 -1
- package/addon/components/live-map-drawer/vehicle-listing.js +15 -9
- package/addon/components/live-map.hbs +10 -92
- package/addon/components/live-map.js +29 -24
- package/addon/components/map-container/toolbar/visibility-control-panel.hbs +9 -9
- package/addon/components/map-container/toolbar/zones-panel.hbs +10 -10
- package/addon/components/map-container/toolbar.hbs +6 -6
- package/addon/components/modals/assign-driver.hbs +2 -2
- package/addon/components/modals/clone-config-form.hbs +2 -2
- package/addon/components/modals/contact-details.hbs +6 -6
- package/addon/components/modals/contact-form.hbs +11 -11
- package/addon/components/modals/driver-assign-order.hbs +2 -2
- package/addon/components/modals/driver-assign-vehicle.hbs +2 -2
- package/addon/components/modals/driver-assign-vendor.hbs +2 -2
- package/addon/components/modals/driver-details.hbs +14 -14
- package/addon/components/modals/driver-form.hbs +18 -18
- package/addon/components/modals/edit-meta-form.hbs +2 -2
- package/addon/components/modals/entity-form.hbs +16 -16
- package/addon/components/modals/entity-meta-field-prompt.hbs +1 -1
- package/addon/components/modals/fleet-details.hbs +6 -6
- package/addon/components/modals/fleet-form.hbs +8 -8
- package/addon/components/modals/fuel-report-details.hbs +9 -9
- package/addon/components/modals/fuel-report-form.hbs +8 -8
- package/addon/components/modals/group-details.hbs +4 -4
- package/addon/components/modals/group-form.hbs +6 -6
- package/addon/components/modals/install-prompt.hbs +2 -3
- package/addon/components/modals/issue-details.hbs +8 -8
- package/addon/components/modals/issue-from.hbs +21 -21
- package/addon/components/modals/map-field-form.hbs +2 -2
- package/addon/components/modals/map-field-group-form.hbs +1 -1
- package/addon/components/modals/map-layer-form.hbs +10 -10
- package/addon/components/modals/meta-field-form.hbs +2 -2
- package/addon/components/modals/meta-field-group-form.hbs +1 -1
- package/addon/components/modals/new-order-config.hbs +4 -4
- package/addon/components/modals/order-assign-driver.hbs +2 -2
- package/addon/components/modals/order-config-new-status.hbs +1 -1
- package/addon/components/modals/order-event.hbs +2 -2
- package/addon/components/modals/order-form.hbs +8 -8
- package/addon/components/modals/order-import.hbs +8 -8
- package/addon/components/modals/order-label.hbs +1 -1
- package/addon/components/modals/order-new-activity.hbs +10 -10
- package/addon/components/modals/order-route-form.hbs +17 -17
- package/addon/components/modals/place-assign-vendor.hbs +2 -2
- package/addon/components/modals/place-details.hbs +13 -13
- package/addon/components/modals/place-form.hbs +15 -15
- package/addon/components/modals/policy-form.hbs +5 -5
- package/addon/components/modals/role-form.hbs +3 -3
- package/addon/components/modals/select-payment-method.hbs +1 -1
- package/addon/components/modals/service-area-form.hbs +8 -8
- package/addon/components/modals/set-password.hbs +3 -3
- package/addon/components/modals/uninstall-prompt.hbs +2 -3
- package/addon/components/modals/user-form.hbs +9 -9
- package/addon/components/modals/vehicle-details.hbs +41 -41
- package/addon/components/modals/vehicle-form.hbs +73 -73
- package/addon/components/modals/vendor-details.hbs +10 -10
- package/addon/components/modals/vendor-form.hbs +36 -36
- package/addon/components/modals/view-service-area.hbs +1 -1
- package/addon/components/modals/zone-form.hbs +6 -6
- package/addon/components/order/header.hbs +11 -11
- package/addon/components/order/place-card.hbs +2 -2
- package/addon/components/order/schedule-card.hbs +6 -6
- package/addon/components/order/schedule-card.js +11 -7
- package/addon/components/order-config/activity-flow-editor.hbs +14 -14
- package/addon/components/order-config/activity-flow-editor.js +11 -11
- package/addon/components/order-config/details-editor.hbs +9 -9
- package/addon/components/order-config/entities-editor.hbs +13 -13
- package/addon/components/order-config/entities-editor.js +2 -2
- package/addon/components/order-config/fields-editor.hbs +14 -14
- package/addon/components/order-config/fields-editor.js +13 -12
- package/addon/components/order-config.hbs +9 -9
- package/addon/components/order-config.js +12 -11
- package/addon/components/order-list-overlay.hbs +14 -14
- package/addon/components/place-form-panel.hbs +18 -18
- package/addon/components/place-form-panel.js +6 -1
- package/addon/components/place-panel/details.hbs +10 -10
- package/addon/components/place-panel.hbs +2 -2
- package/addon/components/route-list.hbs +2 -2
- package/addon/components/settings-window.hbs +5 -5
- package/addon/components/settings-window.js +2 -1
- package/addon/components/vehicle-form-panel.hbs +27 -27
- package/addon/components/vehicle-form-panel.js +8 -3
- package/addon/components/vehicle-panel/details.hbs +7 -7
- package/addon/components/vehicle-panel.hbs +4 -4
- package/addon/components/vendor-form-panel/create-form.hbs +34 -33
- package/addon/components/vendor-form-panel/create-form.js +6 -2
- package/addon/components/vendor-form-panel/edit-form.hbs +27 -27
- package/addon/components/vendor-form-panel/edit-form.js +1 -0
- package/addon/components/vendor-form-panel.hbs +6 -6
- package/addon/components/vendor-form-panel.js +7 -2
- package/addon/components/vendor-panel/details.hbs +10 -10
- package/addon/components/vendor-panel.hbs +3 -3
- package/addon/components/widget/fleet-ops-quickstart.hbs +2 -2
- package/addon/components/widget/fleet-ops-quickstart.js +1 -0
- package/addon/components/widget/key-metrics.hbs +12 -12
- package/addon/components/widget/live-order-map.hbs +4 -4
- package/addon/components/widget/recent-orders.hbs +4 -4
- package/addon/components/widget/transactions.hbs +4 -4
- package/addon/controllers/management/contacts/index/edit.js +10 -3
- package/addon/controllers/management/contacts/index/new.js +7 -0
- package/addon/controllers/management/contacts/index.js +23 -16
- package/addon/controllers/management/drivers/index/edit.js +10 -3
- package/addon/controllers/management/drivers/index/new.js +7 -0
- package/addon/controllers/management/drivers/index.js +33 -19
- package/addon/controllers/management/fleets/index/edit.js +10 -3
- package/addon/controllers/management/fleets/index/new.js +7 -0
- package/addon/controllers/management/fleets/index.js +24 -17
- package/addon/controllers/management/fuel-reports/index/edit.js +10 -3
- package/addon/controllers/management/fuel-reports/index/new.js +7 -0
- package/addon/controllers/management/fuel-reports/index.js +20 -13
- package/addon/controllers/management/issues/index/edit.js +10 -3
- package/addon/controllers/management/issues/index/new.js +8 -0
- package/addon/controllers/management/issues/index.js +22 -15
- package/addon/controllers/management/places/index/edit.js +10 -3
- package/addon/controllers/management/places/index/new.js +7 -0
- package/addon/controllers/management/places/index.js +27 -20
- package/addon/controllers/management/vehicles/index/edit.js +10 -3
- package/addon/controllers/management/vehicles/index/new.js +7 -0
- package/addon/controllers/management/vehicles/index.js +22 -15
- package/addon/controllers/management/vendors/index/edit.js +10 -3
- package/addon/controllers/management/vendors/index/new.js +7 -0
- package/addon/controllers/management/vendors/index.js +23 -16
- package/addon/controllers/operations/orders/index/new.js +127 -30
- package/addon/controllers/operations/orders/index/view.js +57 -20
- package/addon/controllers/operations/orders/index.js +34 -27
- package/addon/controllers/operations/scheduler/index.js +3 -2
- package/addon/controllers/operations/service-rates/index/edit.js +1 -12
- package/addon/controllers/operations/service-rates/index/new.js +9 -1
- package/addon/controllers/operations/service-rates/index.js +16 -9
- package/addon/routes/application.js +5 -2
- package/addon/routes/management/places/index.js +1 -1
- package/addon/routes/operations/orders/index/view.js +2 -14
- package/addon/services/driver-actions.js +9 -8
- package/addon/services/vehicle-actions.js +2 -1
- package/addon/styles/fleetops-engine.css +6 -0
- package/addon/templates/management/contacts/index.hbs +6 -6
- package/addon/templates/management/drivers/index.hbs +6 -6
- package/addon/templates/management/fleets/index.hbs +6 -6
- package/addon/templates/management/fuel-reports/index.hbs +7 -7
- package/addon/templates/management/index.hbs +17 -17
- package/addon/templates/management/issues/index.hbs +6 -6
- package/addon/templates/management/places/index.hbs +6 -6
- package/addon/templates/management/vehicles/index.hbs +6 -6
- package/addon/templates/management/vendors/index.hbs +6 -6
- package/addon/templates/operations/orders/index/config/types.hbs +3 -3
- package/addon/templates/operations/orders/index/config.hbs +3 -4
- package/addon/templates/operations/orders/index/new.hbs +73 -73
- package/addon/templates/operations/orders/index/view.hbs +147 -53
- package/addon/templates/operations/orders/index.hbs +13 -13
- package/addon/templates/operations/scheduler/index.hbs +3 -3
- package/addon/templates/operations/service-rates/index/new.hbs +79 -81
- package/addon/templates/operations/service-rates/index.hbs +6 -6
- package/composer.json +2 -2
- package/extension.json +1 -1
- package/package.json +4 -2
- package/server/resources/views/labels/default.php +40 -18
- package/server/resources/views/labels/waypoint-label.php +126 -0
- package/server/src/Http/Controllers/Api/v1/DriverController.php +4 -1
- package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
- package/server/src/Http/Resources/v1/Entity.php +2 -2
- package/server/src/Http/Resources/v1/Payload.php +11 -30
- package/server/src/Http/Resources/v1/Place.php +3 -3
- package/server/src/Http/Resources/v1/Waypoint.php +101 -0
- package/server/src/Models/Entity.php +1 -1
- package/server/src/Models/Payload.php +39 -0
- package/server/src/Models/Place.php +5 -2
- package/server/src/Models/Proof.php +1 -1
- package/server/src/Models/Waypoint.php +15 -3
- package/translations/en-us.yaml +1343 -3
|
@@ -10,39 +10,39 @@
|
|
|
10
10
|
@width={{or this.width @width "570px"}}
|
|
11
11
|
>
|
|
12
12
|
<Overlay::Header
|
|
13
|
-
@title={{if this.place.public_id this.place.name "
|
|
13
|
+
@title={{if this.place.public_id this.place.name (t "fleet-ops.component.place-form-panel.place") }}
|
|
14
14
|
@status={{this.place.public_id}}
|
|
15
15
|
@hideStatusDot={{true}}
|
|
16
16
|
@createdAt={{this.place.createdAt}}
|
|
17
17
|
@titleWrapperClass="leading-5"
|
|
18
18
|
>
|
|
19
19
|
<div class="flex flex-1 justify-end">
|
|
20
|
-
<Button @icon={{if this.place.id "save" "check"}} @type="primary" @text={{if this.place.id
|
|
21
|
-
<Button @type="default" @icon="times" @helpText={{if this.place.id "
|
|
20
|
+
<Button @icon={{if this.place.id "save" "check"}} @type="primary" @text={{if this.place.id (t "fleet-ops.component.place-form-panel.save-place")(t "fleet-ops.component.place-form-panel.create-place") }} @onClick={{this.save}} @wrapperClass="mr-2" />
|
|
21
|
+
<Button @type="default" @icon="times" @helpText={{if this.place.id (t "fleet-ops.component.place-form-panel.cancel-edit-place")(t "fleet-ops.component.place-form-panel.cancel-new-place") }} @onClick={{this.onPressCancel}} />
|
|
22
22
|
</div>
|
|
23
23
|
</Overlay::Header>
|
|
24
24
|
|
|
25
25
|
<Overlay::Body @wrapperClass="new-service-rate-overlay-body px-4 space-y-4 pt-4" @increaseInnerBodyHeightBy={{1000}}>
|
|
26
26
|
<div class="grid grid-cols-3 gap-1 text-xs dark:text-gray-100">
|
|
27
|
-
<InputGroup @name="
|
|
28
|
-
<Input @value={{this.place.name}} @type="text" class="w-full form-input" placeholder="
|
|
27
|
+
<InputGroup @name={{t "fleet-ops.common.name"}} @wrapperClass="col-span-2">
|
|
28
|
+
<Input @value={{this.place.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.name"}} />
|
|
29
29
|
</InputGroup>
|
|
30
|
-
<InputGroup @name="
|
|
31
|
-
<AutocompleteInput @value={{this.place.street1}} @fetchUrl="places/lookup" @onSelect={{this.onAutocomplete}} placeholder="
|
|
30
|
+
<InputGroup @name={{t "fleet-ops.component.place-form-panel.street-1"}} @value={{this.place.street1}} @wrapperClass="col-span-3">
|
|
31
|
+
<AutocompleteInput @value={{this.place.street1}} @fetchUrl="places/lookup" @onSelect={{this.onAutocomplete}} placeholder={{t "fleet-ops.component.place-form-panel.street-1"}} class="w-full" as |result|>
|
|
32
32
|
{{result.address}}
|
|
33
33
|
</AutocompleteInput>
|
|
34
34
|
</InputGroup>
|
|
35
|
-
<InputGroup @name="
|
|
36
|
-
<InputGroup @name="
|
|
37
|
-
<InputGroup @name="
|
|
38
|
-
<InputGroup @name=
|
|
39
|
-
<InputGroup @name=
|
|
40
|
-
<InputGroup @name="
|
|
41
|
-
<InputGroup @name="
|
|
42
|
-
<InputGroup @name="
|
|
43
|
-
<CountrySelect class="w-full form-input form-select form-datalist" @value={{this.place.country}} @onChange={{fn (mut this.place.country)}} placeholder="
|
|
35
|
+
<InputGroup @name={{t "fleet-ops.component.place-form-panel.street-2"}} @autocomplete="nope" @value={{this.place.street2}} @wrapperClass="col-span-3" />
|
|
36
|
+
<InputGroup @name={{t "fleet-ops.component.place-form-panel.neighborhood"}} @autocomplete="nope" @value={{this.place.neighborhood}} />
|
|
37
|
+
<InputGroup @name={{t "fleet-ops.component.place-form-panel.building"}} @autocomplete="nope" @value={{this.place.building}} />
|
|
38
|
+
<InputGroup @name={{t "fleet-ops.component.place-form-panel.security-code"}} @autocomplete="nope" @value={{this.place.security_access_code}} />
|
|
39
|
+
<InputGroup @name={{t "fleet-ops.component.place-form-panel.postal-code"}} @autocomplete="nope" @value={{this.place.postal_code}} />
|
|
40
|
+
<InputGroup @name={{t "fleet-ops.common.city"}} @autocomplete="nope" @value={{this.place.city}} />
|
|
41
|
+
<InputGroup @name={{t "fleet-ops.component.place-form-panel.state"}} @autocomplete="nope" @value={{this.place.province}} />
|
|
42
|
+
<InputGroup @name={{t "fleet-ops.common.country"}} @wrapperClass="col-span-2">
|
|
43
|
+
<CountrySelect class="w-full form-input form-select form-datalist" @value={{this.place.country}} @onChange={{fn (mut this.place.country)}} placeholder={{t "fleet-ops.common.country"}} />
|
|
44
44
|
</InputGroup>
|
|
45
|
-
<InputGroup @name="
|
|
45
|
+
<InputGroup @name={{t "fleet-ops.common.coordinates"}} @wrapperClass="col-span-2">
|
|
46
46
|
<CoordinatesInput
|
|
47
47
|
@value={{this.place.location}}
|
|
48
48
|
@onChange={{this.updatePlaceCoordinates}}
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
/>
|
|
53
53
|
</InputGroup>
|
|
54
54
|
<div class="col-span-1"></div>
|
|
55
|
-
<InputGroup @name="
|
|
55
|
+
<InputGroup @name={{t "fleet-ops.common.phone"}}>
|
|
56
56
|
<PhoneInput @value={{this.place.phone}} @autocomplete="nope" @onInput={{this.phone}} class="form-input w-full" />
|
|
57
57
|
</InputGroup>
|
|
58
58
|
</div>
|
|
@@ -18,6 +18,11 @@ export default class PlaceFormPanelComponent extends Component {
|
|
|
18
18
|
*/
|
|
19
19
|
@service fetch;
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* @service intl
|
|
23
|
+
*/
|
|
24
|
+
@service intl;
|
|
25
|
+
|
|
21
26
|
/**
|
|
22
27
|
* @service notifications
|
|
23
28
|
*/
|
|
@@ -101,7 +106,7 @@ export default class PlaceFormPanelComponent extends Component {
|
|
|
101
106
|
return place
|
|
102
107
|
.save()
|
|
103
108
|
.then((place) => {
|
|
104
|
-
this.notifications.success(
|
|
109
|
+
this.notifications.success(this.intl.t('fleet-ops.component.place-form-panel.success-message', { placeAddress: place.address }));
|
|
105
110
|
contextComponentCallback(this, 'onAfterSave', place);
|
|
106
111
|
})
|
|
107
112
|
.catch((error) => {
|
|
@@ -22,55 +22,55 @@
|
|
|
22
22
|
<ContentPanel @title="Details" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-900">
|
|
23
23
|
<div class="grid grid-cols-1 lg:grid-cols-3 gap-2 text-xs dark:text-gray-100">
|
|
24
24
|
<div class="field-info-container col-span-3">
|
|
25
|
-
<div class="field-name">
|
|
25
|
+
<div class="field-name">{{t "fleet-ops.common.name"}}</div>
|
|
26
26
|
<div class="field-value">{{n-a @place.name}}</div>
|
|
27
27
|
</div>
|
|
28
28
|
|
|
29
29
|
<div class="field-info-container col-span-3">
|
|
30
|
-
<div class="field-name">
|
|
30
|
+
<div class="field-name">{{t "fleet-ops.common.street"}}</div>
|
|
31
31
|
<div class="field-value">{{n-a @place.street1}}</div>
|
|
32
32
|
</div>
|
|
33
33
|
|
|
34
34
|
<div class="field-info-container">
|
|
35
|
-
<div class="field-name">
|
|
35
|
+
<div class="field-name">{{t "fleet-ops.common.neighborhood"}}</div>
|
|
36
36
|
<div class="field-value">{{n-a @place.neighborhood}}</div>
|
|
37
37
|
</div>
|
|
38
38
|
|
|
39
39
|
<div class="field-info-container">
|
|
40
|
-
<div class="field-name">
|
|
40
|
+
<div class="field-name">{{t "fleet-ops.common.building"}}</div>
|
|
41
41
|
<div class="field-value">{{n-a @place.building}}</div>
|
|
42
42
|
</div>
|
|
43
43
|
|
|
44
44
|
<div class="field-info-container">
|
|
45
|
-
<div class="field-name">
|
|
45
|
+
<div class="field-name">{{t "fleet-ops.common.security-access-code"}}</div>
|
|
46
46
|
<div class="field-value">{{n-a @place.security_access_code}}</div>
|
|
47
47
|
</div>
|
|
48
48
|
|
|
49
49
|
<div class="field-info-container">
|
|
50
|
-
<div class="field-name">
|
|
50
|
+
<div class="field-name">{{t "fleet-ops.common.city"}}</div>
|
|
51
51
|
<div class="field-value">{{n-a @place.city}}</div>
|
|
52
52
|
</div>
|
|
53
53
|
|
|
54
54
|
<div class="field-info-container">
|
|
55
|
-
<div class="field-name">
|
|
55
|
+
<div class="field-name">{{t "fleet-ops.common.state"}}</div>
|
|
56
56
|
<div class="field-value">{{n-a @place.province}}</div>
|
|
57
57
|
</div>
|
|
58
58
|
|
|
59
59
|
<div class="field-info-container">
|
|
60
|
-
<div class="field-name">
|
|
60
|
+
<div class="field-name">{{t "fleet-ops.common.country"}}</div>
|
|
61
61
|
<div class="field-value">
|
|
62
62
|
<CountryName @country={{@place.country}} @showFlag={{true}} />
|
|
63
63
|
</div>
|
|
64
64
|
</div>
|
|
65
65
|
|
|
66
66
|
<div class="field-info-container">
|
|
67
|
-
<div class="field-name">
|
|
67
|
+
<div class="field-name">{{t "fleet-ops.common.phone"}}</div>
|
|
68
68
|
<div class="field-value">{{n-a @place.phone}}</div>
|
|
69
69
|
</div>
|
|
70
70
|
|
|
71
71
|
<div class="field-info-container col-span-3">
|
|
72
72
|
<div class="field-name">
|
|
73
|
-
|
|
73
|
+
{{t "fleet-ops.common.coordinates"}}
|
|
74
74
|
{{!-- <a href="javascript:;" class="block ml-3" {{on "click" @place.viewPlaceOnMap}}>
|
|
75
75
|
<FaIcon @icon="map" class="mr-1" />
|
|
76
76
|
View on map
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
@width={{or this.width @width "570px"}}
|
|
11
11
|
>
|
|
12
12
|
<Overlay::Header @title={{this.place.name}} @status={{this.place.public_id}} @hideStatusDot={{true}} @createdAt={{this.place.createdAt}}>
|
|
13
|
-
<Button @type="default" @icon="pen" @helpText="
|
|
14
|
-
<Button @type="default" @icon="times" @helpText={{if this.place.id "
|
|
13
|
+
<Button @type="default" @icon="pen" @helpText={{t "fleet-ops.component.place-panel.edit-place"}} @onClick={{this.onEdit}} @wrapperClass="mr-2" />
|
|
14
|
+
<Button @type="default" @icon="times" @helpText={{if this.place.id (t "fleet-ops.component.place-panel.cancel-edit-place")(t "fleet-ops.component.place-panel.cancel-new-place") }} @onClick={{this.onPressCancel}} />
|
|
15
15
|
</Overlay::Header>
|
|
16
16
|
<Overlay::Body class="no-padding" @increaseInnerBodyHeightBy={{1000}}>
|
|
17
17
|
<div class="section-header-actions w-full overflow-x-scroll lg:overflow-x-auto">
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
<div class="px-3 py-2 w-full bg-yellow-200 text-yellow-900 rounded shadow-sm flex flex-col justify-center items-start mb-3">
|
|
16
16
|
<div class="flex flex-row items-center">
|
|
17
17
|
<FaIcon @icon="eye" class="mr-2 text-yellow-900" />
|
|
18
|
-
<span class="font-bold">{{if this.isWaypointsCollapsed "
|
|
18
|
+
<span class="font-bold">{{if this.isWaypointsCollapsed (t "fleet-ops.component.route-list.expand")(t "fleet-ops.component.route-list.collapse") }}</span>
|
|
19
19
|
</div>
|
|
20
|
-
<div>{{@order.payload.middleWaypoints.length}} more
|
|
20
|
+
<div>{{@order.payload.middleWaypoints.length}} {{t "fleet-ops.component.route-list.more-waypoints"}}</div>
|
|
21
21
|
</div>
|
|
22
22
|
</Button>
|
|
23
23
|
{{#unless this.isWaypointsCollapsed}}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
<Overlay @onLoad={{this.onLoad}} @isOpen={{@isOpen}} @position="right" @noBackdrop={{true}} @fullHeight={{true}} @isResizable={{true}} @isMaximizable={{true}} @isMinimizable={{true}} @width="
|
|
2
|
-
<Overlay::Header @overlay={{overlay}} @title=
|
|
3
|
-
<Button @icon="save" @type="primary" @text={{if (media 'isMobile') "" "
|
|
1
|
+
<Overlay @onLoad={{this.onLoad}} @isOpen={{@isOpen}} @position="right" @noBackdrop={{true}} @fullHeight={{true}} @isResizable={{true}} @isMaximizable={{true}} @isMinimizable={{true}} @width="600px" as |overlay|>
|
|
2
|
+
<Overlay::Header @overlay={{overlay}} @title={{t "fleet-ops.component.settings-window.title"}} @onPressCancel={{@onPressCancel}}>
|
|
3
|
+
<Button @icon="save" @type="primary" @text={{if (media 'isMobile') "" (t "fleet-ops.component.settings-window.save") }} @onClick={{this.saveSettings}} @isLoading={{this.isSaving}} @disabled={{or this.isLoading this.isSaving}} />
|
|
4
4
|
</Overlay::Header>
|
|
5
5
|
|
|
6
6
|
<Overlay::Body>
|
|
7
7
|
<div class="px-5 py-4">
|
|
8
|
-
<InputGroup @name=
|
|
8
|
+
<InputGroup @name={{t "fleet-ops.component.settings-window.name"}} @type="number" @value={{this.company.options.fleetops.adhoc_distance}} @wrapperClass="mb-0" @helpText={{t "fleet-ops.component.settings-window.name-text"}} />
|
|
9
9
|
<div class="mt-2 px-3 py-1 rounded-lg border border-blue-600 bg-blue-100 flex items-center">
|
|
10
10
|
<FaIcon @icon="triangle-exclamation" class="text-blue-900 mr-1.5" />
|
|
11
|
-
<span class="text-blue-900 text-xs">
|
|
11
|
+
<span class="text-blue-900 text-xs">{{t "fleet-ops.component.settings-window.message"}}</span>
|
|
12
12
|
</div>
|
|
13
13
|
</div>
|
|
14
14
|
</Overlay::Body>
|
|
@@ -7,6 +7,7 @@ export default class SettingsWindowComponent extends Component {
|
|
|
7
7
|
@service currentUser;
|
|
8
8
|
@service store;
|
|
9
9
|
@service notifications;
|
|
10
|
+
@service intl;
|
|
10
11
|
|
|
11
12
|
@tracked isSaving = false;
|
|
12
13
|
@tracked isLoading = false;
|
|
@@ -53,7 +54,7 @@ export default class SettingsWindowComponent extends Component {
|
|
|
53
54
|
return this.company
|
|
54
55
|
.save()
|
|
55
56
|
.then(() => {
|
|
56
|
-
this.notifications.success('
|
|
57
|
+
this.notifications.success(this.intl.t('fleet-ops.component.settings-window.success-message'));
|
|
57
58
|
})
|
|
58
59
|
.finally(() => {
|
|
59
60
|
this.isSaving = false;
|
|
@@ -13,7 +13,7 @@
|
|
|
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.vehicle.id}}
|
|
16
|
-
<Button @type="default" @icon="car" @helpText="
|
|
16
|
+
<Button @type="default" @icon="car" @helpText={{t "fleet-ops.component.vehicle-form-panel.view-details"}} @onClick={{this.onViewDetails}} @disabled={{this.isLoading}} />
|
|
17
17
|
{{/if}}
|
|
18
18
|
</div>
|
|
19
19
|
<div class="flex flex-1 justify-end">
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<Button
|
|
22
22
|
@icon={{if this.vehicle.id "save" "check"}}
|
|
23
23
|
@type="primary"
|
|
24
|
-
@text={{if this.vehicle.id
|
|
24
|
+
@text={{if this.vehicle.id (t "fleet-ops.component.vehicle-form-panel.save-vehicle")(t "fleet-ops.component.vehicle-form-panel.create-vehicle") }}
|
|
25
25
|
@onClick={{this.save}}
|
|
26
26
|
@isLoading={{this.isLoading}}
|
|
27
27
|
/>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<Button
|
|
30
30
|
@type="default"
|
|
31
31
|
@icon="times"
|
|
32
|
-
@helpText={{if this.vehicle.id "
|
|
32
|
+
@helpText={{if this.vehicle.id (t "fleet-ops.component.vehicle-form-panel.cancel-edit-vehicle")(t "fleet-ops.component.vehicle-form-panel.cancel-new-vehicle") }}
|
|
33
33
|
@onClick={{this.onPressCancel}}
|
|
34
34
|
@disabled={{this.isLoading}}
|
|
35
35
|
/>
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
<div class="upload-avatar-overlay w-12 h-12 flex items-center justify-start rounded-lg">
|
|
43
43
|
<img src={{this.vehicle.photo_url}} alt={{this.vehicle.name}} height="48" width="48" class="h-12 w-12 rounded-lg shadow-sm" />
|
|
44
44
|
<Attach::Tooltip @class="clean" @animation="scale" @placement="top">
|
|
45
|
-
<InputInfo @text="
|
|
45
|
+
<InputInfo @text={{t "fleet-ops.component.vehicle-form-panel.upload-photo"}} />
|
|
46
46
|
</Attach::Tooltip>
|
|
47
47
|
<div class="upload-avatar-button-wrapper rounded-lg">
|
|
48
48
|
<UploadButton
|
|
49
|
-
@name="photos"
|
|
49
|
+
@name={{t "fleet-ops.common.photos"}}
|
|
50
50
|
@accept="image/*"
|
|
51
51
|
@onFileAdded={{this.onUploadNewPhoto}}
|
|
52
52
|
@icon="upload"
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
{{#if this.vehicle.displayName}}
|
|
66
66
|
{{this.vehicle.displayName}}
|
|
67
67
|
{{else}}
|
|
68
|
-
<span>
|
|
68
|
+
<span>{{t "fleet-ops.component.vehicle-form-panel.new-vehicle"}}</span>
|
|
69
69
|
{{/if}}
|
|
70
70
|
{{/if}}
|
|
71
71
|
</h1>
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
</div>
|
|
77
77
|
{{else}}
|
|
78
78
|
<div class="flex flex-row items-center">
|
|
79
|
-
<span class="text-sm dark:text-gray-500 text-gray-700 mr-3">
|
|
79
|
+
<span class="text-sm dark:text-gray-500 text-gray-700 mr-3">{{t "fleet-ops.component.vehicle-form-panel.not-assigned"}}</span>
|
|
80
80
|
</div>
|
|
81
81
|
{{/if}}
|
|
82
82
|
</div>
|
|
@@ -93,35 +93,35 @@
|
|
|
93
93
|
<div class="flex-1 space-y-4">
|
|
94
94
|
<ContentPanel @title="Details" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
95
95
|
<div class="grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-2">
|
|
96
|
-
<InputGroup @name=
|
|
97
|
-
<Input @value={{this.vehicle.internal_id}} @type="text" class="w-full form-input" placeholder=
|
|
96
|
+
<InputGroup @name={{t "fleet-ops.common.internal-id"}}>
|
|
97
|
+
<Input @value={{this.vehicle.internal_id}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.internal-id"}} />
|
|
98
98
|
</InputGroup>
|
|
99
99
|
|
|
100
|
-
<InputGroup @name=
|
|
101
|
-
<Input @value={{this.vehicle.plate_number}} @type="text" class="w-full form-input" placeholder=
|
|
100
|
+
<InputGroup @name={{t "fleet-ops.component.vehicle-form-panel.plate-number"}}>
|
|
101
|
+
<Input @value={{this.vehicle.plate_number}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.vehicle-form-panel.plate-number"}} />
|
|
102
102
|
</InputGroup>
|
|
103
103
|
|
|
104
|
-
<InputGroup @name=
|
|
105
|
-
<Input @value={{this.vehicle.vin}} @type="text" class="w-full form-input" placeholder=
|
|
104
|
+
<InputGroup @name={{t "fleet-ops.component.vehicle-form-panel.vin-number"}}>
|
|
105
|
+
<Input @value={{this.vehicle.vin}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.vehicle-form-panel.vin-number"}} />
|
|
106
106
|
</InputGroup>
|
|
107
107
|
|
|
108
|
-
<InputGroup @name="
|
|
109
|
-
<Input @value={{this.vehicle.make}} @type="text" class="w-full form-input" placeholder=
|
|
108
|
+
<InputGroup @name={{t "fleet-ops.component.vehicle-form-panel.make"}}>
|
|
109
|
+
<Input @value={{this.vehicle.make}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.vehicle-form-panel.vehicle-make"}} />
|
|
110
110
|
</InputGroup>
|
|
111
111
|
|
|
112
|
-
<InputGroup @name="
|
|
113
|
-
<Input @value={{this.vehicle.model}} @type="text" class="w-full form-input" placeholder=
|
|
112
|
+
<InputGroup @name={{t "fleet-ops.component.vehicle-form-panel.model"}}>
|
|
113
|
+
<Input @value={{this.vehicle.model}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.vehicle-form-panel.vehicle-model"}} />
|
|
114
114
|
</InputGroup>
|
|
115
115
|
|
|
116
|
-
<InputGroup @name="
|
|
117
|
-
<Input @value={{this.vehicle.year}} @type="text" class="w-full form-input" placeholder=
|
|
116
|
+
<InputGroup @name={{t "fleet-ops.component.vehicle-form-panel.year"}}>
|
|
117
|
+
<Input @value={{this.vehicle.year}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.vehicle-form-panel.vehicle-year"}} />
|
|
118
118
|
</InputGroup>
|
|
119
119
|
|
|
120
|
-
<InputGroup @name=
|
|
120
|
+
<InputGroup @name={{t "fleet-ops.component.vehicle-form-panel.driver-assigned"}}>
|
|
121
121
|
<ModelSelect
|
|
122
122
|
@modelName="driver"
|
|
123
123
|
@selectedModel={{this.vehicle.driver}}
|
|
124
|
-
@placeholder=
|
|
124
|
+
@placeholder={{t "fleet-ops.component.vehicle-form-panel.select-driver"}}
|
|
125
125
|
@triggerClass="form-select form-input"
|
|
126
126
|
@infiniteScroll={{false}}
|
|
127
127
|
@renderInPlace={{true}}
|
|
@@ -132,13 +132,13 @@
|
|
|
132
132
|
</ModelSelect>
|
|
133
133
|
</InputGroup>
|
|
134
134
|
|
|
135
|
-
<InputGroup @name="
|
|
135
|
+
<InputGroup @name={{t "fleet-ops.common.status"}}>
|
|
136
136
|
<div class="fleetbase-model-select fleetbase-power-select ember-model-select">
|
|
137
137
|
<PowerSelect
|
|
138
138
|
@options={{this.vehicleStatusOptions}}
|
|
139
139
|
@selected={{this.vehicle.status}}
|
|
140
140
|
@onChange={{fn (mut this.vehicle.status)}}
|
|
141
|
-
@placeholder="
|
|
141
|
+
@placeholder={{t "fleet-ops.component.vehicle-form-panel.select-vehicle"}}
|
|
142
142
|
@triggerClass="form-select form-input"
|
|
143
143
|
as |status|
|
|
144
144
|
>
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
</PowerSelect>
|
|
147
147
|
</div>
|
|
148
148
|
</InputGroup>
|
|
149
|
-
<InputGroup @name="
|
|
149
|
+
<InputGroup @name={{t "fleet-ops.common.coordinates"}} @wrapperClass="col-span-2">
|
|
150
150
|
<CoordinatesInput
|
|
151
151
|
@value={{this.vehicle.location}}
|
|
152
152
|
@onChange={{this.onCoordinatesChanged}}
|
|
@@ -158,13 +158,13 @@
|
|
|
158
158
|
</div>
|
|
159
159
|
</ContentPanel>
|
|
160
160
|
|
|
161
|
-
<ContentPanel @title="
|
|
161
|
+
<ContentPanel @title={{t "fleet-ops.component.vehicle-form-panel.avatar"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
162
162
|
<div class="grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-2">
|
|
163
163
|
<div class="input-group mb-2">
|
|
164
|
-
<InputLabel @labelText="
|
|
164
|
+
<InputLabel @labelText={{t "fleet-ops.component.vehicle-form-panel.select-map-avatar"}} @helpText={{t "fleet-ops.component.vehicle-form-panel.select-avatar-rendering"}} />
|
|
165
165
|
<FetchSelect
|
|
166
166
|
@wrapperClass="w-60"
|
|
167
|
-
@placeholder="
|
|
167
|
+
@placeholder={{t "fleet-ops.component.vehicle-form-panel.select-avatar"}}
|
|
168
168
|
@endpoint="vehicles/avatars"
|
|
169
169
|
@selected={{this.vehicle.avatar_url}}
|
|
170
170
|
@optionValue="value"
|
|
@@ -13,10 +13,15 @@ export default class VehicleFormPanelComponent extends Component {
|
|
|
13
13
|
@service store;
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* @service
|
|
16
|
+
* @service fetch
|
|
17
17
|
*/
|
|
18
18
|
@service fetch;
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* @service intl
|
|
22
|
+
*/
|
|
23
|
+
@service intl;
|
|
24
|
+
|
|
20
25
|
/**
|
|
21
26
|
* @service currentUser
|
|
22
27
|
*/
|
|
@@ -98,7 +103,7 @@ export default class VehicleFormPanelComponent extends Component {
|
|
|
98
103
|
return vehicle
|
|
99
104
|
.save()
|
|
100
105
|
.then((vehicle) => {
|
|
101
|
-
this.notifications.success(
|
|
106
|
+
this.notifications.success(this.intl.t('fleet-ops.component.vehicle-form-panel.success-message', { vehicleName: vehicle.displayName }));
|
|
102
107
|
contextComponentCallback(this, 'onAfterSave', vehicle);
|
|
103
108
|
})
|
|
104
109
|
.catch((error) => {
|
|
@@ -126,7 +131,7 @@ export default class VehicleFormPanelComponent extends Component {
|
|
|
126
131
|
{
|
|
127
132
|
path: `uploads/${this.currentUser.companyId}/vehicles/${this.vehicle.id}`,
|
|
128
133
|
subject_uuid: this.vehicle.id,
|
|
129
|
-
subject_type: 'vehicle',
|
|
134
|
+
subject_type: 'fleet-ops:vehicle',
|
|
130
135
|
type: 'vehicle_photo',
|
|
131
136
|
},
|
|
132
137
|
(uploadedFile) => {
|
|
@@ -2,32 +2,32 @@
|
|
|
2
2
|
<ContentPanel @title="Details" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-900">
|
|
3
3
|
<div class="grid grid-cols-2 gap-2 text-xs dark:text-gray-100">
|
|
4
4
|
<div class="field-info-container">
|
|
5
|
-
<div class="field-name">
|
|
5
|
+
<div class="field-name">{{t "fleet-ops.common.name"}}</div>
|
|
6
6
|
<div class="field-value">{{n-a @vehicle.display_name}}</div>
|
|
7
7
|
</div>
|
|
8
8
|
<div class="field-info-container">
|
|
9
|
-
<div class="field-name">
|
|
9
|
+
<div class="field-name">{{t "fleet-ops.common.plate-number"}}</div>
|
|
10
10
|
<div class="field-value">{{n-a @vehicle.plate_number}}</div>
|
|
11
11
|
</div>
|
|
12
12
|
<div class="field-info-container">
|
|
13
|
-
<div class="field-name">
|
|
13
|
+
<div class="field-name">{{t "fleet-ops.common.vin-number"}}</div>
|
|
14
14
|
<div class="field-value">{{n-a @vehicle.vin}}</div>
|
|
15
15
|
</div>
|
|
16
16
|
<div class="field-info-container">
|
|
17
|
-
<div class="field-name">
|
|
17
|
+
<div class="field-name">{{t "fleet-ops.common.make"}}</div>
|
|
18
18
|
<div class="field-value">{{n-a @vehicle.make}}</div>
|
|
19
19
|
</div>
|
|
20
20
|
<div class="field-info-container">
|
|
21
|
-
<div class="field-name">
|
|
21
|
+
<div class="field-name">{{t "fleet-ops.common.model"}}</div>
|
|
22
22
|
<div class="field-value">{{n-a @vehicle.model}}</div>
|
|
23
23
|
</div>
|
|
24
24
|
<div class="field-info-container">
|
|
25
|
-
<div class="field-name">
|
|
25
|
+
<div class="field-name">{{t "fleet-ops.common.year"}}</div>
|
|
26
26
|
<div class="field-value">{{n-a @vehicle.year}}</div>
|
|
27
27
|
</div>
|
|
28
28
|
<div class="field-info-container col-span-3">
|
|
29
29
|
<div class="field-name">
|
|
30
|
-
|
|
30
|
+
{{t "fleet-ops.common.coordinates"}}
|
|
31
31
|
</div>
|
|
32
32
|
<div class="field-value">
|
|
33
33
|
{{point-coordinates @vehicle.location}}
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
<Overlay::Header @hideLeftSection={{true}} @actionsWrapperClass="flex-1 flex-col py-3" class="h-auto-i min-h-[127px]">
|
|
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="
|
|
15
|
+
<Button @type="default" @icon="pen" @helpText={{t "fleet-ops.component.vehicle-panel.edit"}} @onClick={{this.onEdit}} />
|
|
16
16
|
</div>
|
|
17
17
|
<div class="flex flex-1 justify-end">
|
|
18
|
-
<Button @type="default" @icon="times" @helpText="
|
|
18
|
+
<Button @type="default" @icon="times" @helpText={{t "fleet-ops.component.vehicle-panel.close"}} @onClick={{this.onPressCancel}} />
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
21
|
<div class="flex flex-row justify-between w-full">
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
</div>
|
|
46
46
|
{{else}}
|
|
47
47
|
<div class="flex flex-row items-center">
|
|
48
|
-
<span class="text-sm dark:text-gray-500 text-gray-700 mr-3">
|
|
49
|
-
{{
|
|
48
|
+
<span class="text-sm dark:text-gray-500 text-gray-700 mr-3">{{t "fleet-ops.component.vehicle-panel.not-assigned"}}</span>
|
|
49
|
+
{{!-- <Button @icon="user-plus" @size="xs" @helpText={{t "fleet-ops.component.vehicle-panel.assign-driver"}} /> --}}
|
|
50
50
|
</div>
|
|
51
51
|
{{/if}}
|
|
52
52
|
</div>
|