@fleetbase/fleetops-engine 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +5 -1
- 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 +5 -1
- 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 +7 -2
- 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 +6 -1
- 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 +110 -25
- package/addon/controllers/operations/orders/index/view.js +40 -16
- 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 +9 -1
- package/addon/controllers/operations/service-rates/index/new.js +9 -1
- package/addon/controllers/operations/service-rates/index.js +16 -9
- 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/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 +72 -72
- 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 +3 -1
- 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/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/Payload.php +39 -0
- package/server/src/Models/Place.php +5 -2
- package/server/src/Models/Waypoint.php +15 -3
- package/translations/en-us.yaml +1341 -3
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<layers.tile @url={{this.tileSourceUrl}} />
|
|
5
5
|
{{#if @options.serviceArea}}
|
|
6
6
|
<layers.polygon @id={{@options.serviceArea.id}} @record={{@options.serviceArea}} @locations={{@options.serviceArea.bounds}} @fillColor={{@options.serviceArea.color}} @color={{@options.serviceArea.stroke_color}} @onAdd={{fn this.onServiceAreaAdded @options.serviceArea}} as |polygon|>
|
|
7
|
-
<polygon.tooltip @permanent={{true}} @sticky={{true}}>{{@options.serviceArea.name}}
|
|
7
|
+
<polygon.tooltip @permanent={{true}} @sticky={{true}}>{{@options.serviceArea.name}} {{t "fleet-ops.common.service-area"}}</polygon.tooltip>
|
|
8
8
|
</layers.polygon>
|
|
9
9
|
{{/if}}
|
|
10
10
|
</LeafletMap>
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
<Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
|
|
2
2
|
<div class="modal-body-container">
|
|
3
3
|
<div class="input-group">
|
|
4
|
-
<InputLabel @labelText=
|
|
5
|
-
<Input @value={{@options.zone.name}} @type="text" class="w-full form-input" placeholder=
|
|
4
|
+
<InputLabel @labelText={{t "fleet-ops.component.modals.zone-form.name"}} @helpText={{t "fleet-ops.component.modals.zone-form.name-text"}} @required={{true}} />
|
|
5
|
+
<Input @value={{@options.zone.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.modals.zone-form.name"}} />
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
|
-
<InputGroup @type="color" @value={{@options.zone.stroke_color}} @name=
|
|
9
|
-
<InputGroup @type="color" @value={{@options.zone.color}} @name=
|
|
8
|
+
<InputGroup @type="color" @value={{@options.zone.stroke_color}} @name={{t "fleet-ops.component.modals.zone-form.border-color"}} @helpText={{t "fleet-ops.component.modals.zone-form.customize-border"}} class="p-0 border-0 m-0 w-8 h-8 bg-transparent rounded-none" />
|
|
9
|
+
<InputGroup @type="color" @value={{@options.zone.color}} @name={{t "fleet-ops.component.modals.zone-form.zone-color"}} @helpText={{t "fleet-ops.component.modals.zone-form.customize-fill-color"}} class="p-0 border-0 m-0 w-8 h-8 bg-transparent rounded-none" />
|
|
10
10
|
|
|
11
11
|
<div class="input-group">
|
|
12
|
-
<InputLabel @labelText=
|
|
13
|
-
<Textarea @value={{@options.zone.description}} rows={{3}} type="text" class="w-full form-input" placeholder=
|
|
12
|
+
<InputLabel @labelText={{t "fleet-ops.component.modals.zone-form.name"}} @helpText={{t "fleet-ops.component.modals.zone-form.optionally"}} />
|
|
13
|
+
<Textarea @value={{@options.zone.description}} rows={{3}} type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.modals.zone-form.description-zone"}} />
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
16
|
</Modal::Default>
|
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
<div class="px-3 py-4 border-b border-gray-900 order-view-header">
|
|
2
2
|
<div class="flex items-start justify-between">
|
|
3
3
|
<div class="flex items-start flex-1">
|
|
4
|
-
<Button @text="
|
|
4
|
+
<Button @text={{t "fleet-ops.common.back"}} @onClick={{@onBackButtonClick}} class="mr-3" />
|
|
5
5
|
<div>
|
|
6
6
|
<h1 class="mb-1 text-gray-700 dark:text-gray-100">
|
|
7
7
|
{{@order.public_id}}
|
|
8
8
|
</h1>
|
|
9
9
|
<div class="flex flex-row">
|
|
10
|
-
<Badge @status={{@order.status}} @helpText={{if (eq @order.status "dispatched") (concat "
|
|
10
|
+
<Badge @status={{@order.status}} @helpText={{if (eq @order.status (t "fleet-ops.component.order.header.dispatched")) (concat (t "fleet-ops.component.order.header.dispatched-at") @order.dispatchedAt)}} />
|
|
11
11
|
{{#if @order.shouldDisplayDispatchLabel}}
|
|
12
|
-
<Badge @status="info" class="ml-2" @helpText="
|
|
12
|
+
<Badge @status="info" class="ml-2" @helpText={{t "fleet-ops.component.order.header.dispatched" htmlSafe=true order=@order.dispatchedAt}}>{{t "fleet-ops.component.order.header.dispatched"}}</Badge>
|
|
13
13
|
{{/if}}
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
17
|
<div class="flex">
|
|
18
18
|
{{#if @order.canBeDispatched}}
|
|
19
|
-
<Button @type="primary" @icon="paper-plane" @text="
|
|
19
|
+
<Button @type="primary" @icon="paper-plane" @text={{t "fleet-ops.component.order.header.dispatched"}} class="mr-2" @onClick={{fn this.forwardAction "dispatchOrder"}} />
|
|
20
20
|
{{/if}}
|
|
21
21
|
<DropdownButton @icon="ellipsis-h" @contentClass="dropdown-menu" as |dd|>
|
|
22
22
|
<div class="dropdown-menu-content context-menu">
|
|
23
23
|
<a href="#" class="dropdown-menu-item" {{on "click" (fn this.forwardAction "editOrder" dd)}}>
|
|
24
|
-
|
|
24
|
+
{{t "fleet-ops.component.order.header.edit"}}
|
|
25
25
|
</a>
|
|
26
26
|
<a href="#" class="dropdown-menu-item" {{on "click" (fn this.forwardAction "createNewActivity" dd)}}>
|
|
27
|
-
|
|
27
|
+
{{t "fleet-ops.component.order.header.update"}}
|
|
28
28
|
</a>
|
|
29
29
|
<a href="#" class="dropdown-menu-item" {{on "click" (fn this.forwardAction "assignDriver" dd)}}>
|
|
30
|
-
|
|
30
|
+
{{t "fleet-ops.component.order.header.assign"}}
|
|
31
31
|
</a>
|
|
32
32
|
<a href="#" class="dropdown-menu-item" {{on "click" (fn this.forwardAction "viewOrderLabel" dd)}}>
|
|
33
|
-
|
|
33
|
+
{{t "fleet-ops.component.order.header.get-order"}}
|
|
34
34
|
</a>
|
|
35
35
|
{{!-- <a href="#" class="dropdown-menu-item" {{on "click" (fn this.forwardAction "splitOrder" dd)}}>
|
|
36
|
-
|
|
36
|
+
{{t "fleet-ops.component.order.header.split-order"}}
|
|
37
37
|
</a> --}}
|
|
38
38
|
{{!-- <a href="#" class="dropdown-menu-item" {{on "click" (fn this.forwardAction "splitOrder" dd)}}>
|
|
39
|
-
|
|
39
|
+
{{t "fleet-ops.component.order.header.reschedule"}}
|
|
40
40
|
</a> --}}
|
|
41
41
|
<a href="#" class="dropdown-menu-item" {{on "click" (fn this.forwardAction "cancelOrder" dd)}}>
|
|
42
|
-
|
|
42
|
+
{{t "fleet-ops.component.order.header.cancel-order"}}
|
|
43
43
|
</a>
|
|
44
44
|
</div>
|
|
45
45
|
</DropdownButton>
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
{{#if @place.metadata}}
|
|
30
30
|
<Button @size="xs" @onClick={{this.showMeta}} class="my-2">
|
|
31
31
|
{{#if this.showingMeta}}
|
|
32
|
-
|
|
32
|
+
{{t "fleet-ops.component.order.place-card.show-less"}}
|
|
33
33
|
{{else}}
|
|
34
|
-
|
|
34
|
+
{{t "fleet-ops.component.order.place-card.show-more"}}
|
|
35
35
|
{{/if}}
|
|
36
36
|
</Button>
|
|
37
37
|
{{#if this.showingMeta}}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<div class="flex items-center justify-between">
|
|
10
10
|
<div>
|
|
11
11
|
<FaIcon @icon="calendar" class="mr-2" />
|
|
12
|
-
<span class="font-semibold">
|
|
12
|
+
<span class="font-semibold">{{t "fleet-ops.component.order.schedule-card.date"}}</span>
|
|
13
13
|
</div>
|
|
14
14
|
<span class={{unless @order.scheduled_at "dark:text-gray-600 text-gray-400"}}>{{n-a @order.scheduledAt "Not Scheduled"}}</span>
|
|
15
15
|
</div>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<div class="flex items-center justify-between">
|
|
24
24
|
<div class="flex flex-row items-center">
|
|
25
25
|
<FaIcon @icon="calendar" class="mr-2" />
|
|
26
|
-
<span class="font-semibold">
|
|
26
|
+
<span class="font-semibold">{{t "fleet-ops.component.order.schedule-card.driver-assigned"}}</span>
|
|
27
27
|
<div class="ml-2">
|
|
28
28
|
<a href="javascript:;" class="text-blue-400 hover:opacity-75" {{on "click" this.startAssignDriver}}>
|
|
29
29
|
<FaIcon @icon="edit" @size="xs" />
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
</div>
|
|
33
33
|
<div>
|
|
34
34
|
{{#if this.isAssigningDriver}}
|
|
35
|
-
<ModelSelect @modelName="driver" @selectedModel={{@order.driver_assigned}} @placeholder=
|
|
35
|
+
<ModelSelect @modelName="driver" @selectedModel={{@order.driver_assigned}} @placeholder={{t "fleet-ops.component.order.schedule-card.select-driver"}} @triggerClass="form-select form-input form-input-sm w-48" @infiniteScroll={{false}} @renderInPlace={{true}} @allowClear={{true}} @disabled={{@model.isLoading}} @onChange={{this.assignDriver}} as |model|>
|
|
36
36
|
<div class="flex items-center">
|
|
37
37
|
<div class="w-5">
|
|
38
38
|
<FaIcon @icon="id-card-alt" @size="xs" />
|
|
@@ -44,16 +44,16 @@
|
|
|
44
44
|
</div>
|
|
45
45
|
</ModelSelect>
|
|
46
46
|
{{else}}
|
|
47
|
-
<a href="javascript:;" disabled={{not @order.driver_assigned}} class={{unless @order.driver_assigned "dark:text-gray-600 text-gray-400"}} {{on "click" (fn this.onClickDriver @order.driver_assigned)}}>{{n-a @order.driver_assigned.name
|
|
47
|
+
<a href="javascript:;" disabled={{not @order.driver_assigned}} class={{unless @order.driver_assigned "dark:text-gray-600 text-gray-400"}} {{on "click" (fn this.onClickDriver @order.driver_assigned)}}>{{n-a @order.driver_assigned.name (t "fleet-ops.component.order.schedule-card.no-driver")}}</a>
|
|
48
48
|
{{/if}}
|
|
49
49
|
</div>
|
|
50
50
|
</div>
|
|
51
51
|
<div class="flex items-center justify-between">
|
|
52
52
|
<div class="flex flex-row items-center">
|
|
53
53
|
<FaIcon @icon="calendar" class="mr-2" />
|
|
54
|
-
<span class="font-semibold">
|
|
54
|
+
<span class="font-semibold">{{t "fleet-ops.component.order.schedule-card.vehicle-assigned"}}</span>
|
|
55
55
|
</div>
|
|
56
|
-
<a href="javascript:;" disabled={{not @order.driver_assigned.vehicle}} class={{unless @order.driver_assigned.vehicle_uuid "dark:text-gray-600 text-gray-400"}} {{on "click" (fn this.onClickVehicle @order.driver_assigned.vehicle)}}>{{n-a @order.driver_assigned.vehicle_name
|
|
56
|
+
<a href="javascript:;" disabled={{not @order.driver_assigned.vehicle}} class={{unless @order.driver_assigned.vehicle_uuid "dark:text-gray-600 text-gray-400"}} {{on "click" (fn this.onClickVehicle @order.driver_assigned.vehicle)}}>{{n-a @order.driver_assigned.vehicle_name (t "fleet-ops.component.order.schedule-card.no-vehicle")}}</a>
|
|
57
57
|
</div>
|
|
58
58
|
{{!-- <div class="z-20 relative">
|
|
59
59
|
<RouteList @order={{@order}} />
|
|
@@ -16,7 +16,11 @@ export default class OrderScheduleCardComponent extends Component {
|
|
|
16
16
|
* @memberof OrderScheduleCardComponent
|
|
17
17
|
*/
|
|
18
18
|
@service contextPanel;
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Service for intl.
|
|
21
|
+
* @service
|
|
22
|
+
*/
|
|
23
|
+
@service intl;
|
|
20
24
|
/**
|
|
21
25
|
* Service for managing modals.
|
|
22
26
|
* @service
|
|
@@ -89,9 +93,9 @@ export default class OrderScheduleCardComponent extends Component {
|
|
|
89
93
|
|
|
90
94
|
if (isBlank(driver)) {
|
|
91
95
|
return this.modalsManager.confirm({
|
|
92
|
-
title: '
|
|
93
|
-
body:
|
|
94
|
-
acceptButtonText: '
|
|
96
|
+
title: this.intl.t('fleet-ops.component.order.schedule-card.unassign-driver'),
|
|
97
|
+
body: this.intl.t('fleet-ops.component.order.schedule-card.unassign-text', { orderId: order.public_id }),
|
|
98
|
+
acceptButtonText: this.intl.t('fleet-ops.component.order.schedule-card.unassign-button'),
|
|
95
99
|
confirm: () => {
|
|
96
100
|
order.setProperties({
|
|
97
101
|
driver_assigned: null,
|
|
@@ -115,9 +119,9 @@ export default class OrderScheduleCardComponent extends Component {
|
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
return this.modalsManager.confirm({
|
|
118
|
-
title: '
|
|
119
|
-
body:
|
|
120
|
-
acceptButtonText: '
|
|
122
|
+
title: this.intl.t('fleet-ops.component.order.schedule-card.assign-driver'),
|
|
123
|
+
body: this.intl.t('fleet-ops.component.order.schedule-card.assign-text', { driverName: driver.name, orderId: order.public_id }),
|
|
124
|
+
acceptButtonText: this.intl.t('fleet-ops.component.order.schedule-card.assign-button'),
|
|
121
125
|
confirm: () => {
|
|
122
126
|
order.set('driver_assigned_uuid', driver.id);
|
|
123
127
|
return order
|
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
<div class="content-panel mb-20">
|
|
3
3
|
<div class="content-panel-header items-center">
|
|
4
4
|
<h3 class="text-lg font-semibold dark:text-gray-100">
|
|
5
|
-
|
|
5
|
+
{{t "fleet-ops.component.order-config.activity-flow-editor.title"}}
|
|
6
6
|
</h3>
|
|
7
7
|
|
|
8
8
|
<Button @icon="plus" @iconPrefix="fas" @text="New Status" @size="sm" @onClick={{this.newStatus}} />
|
|
9
9
|
</div>
|
|
10
10
|
<div class="content-panel-body no-padding">
|
|
11
11
|
<div class="my-6 px-5">
|
|
12
|
-
<p>
|
|
12
|
+
<p>{{t "fleet-ops.component.order-config.activity-flow-editor.message"}}</p>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
15
|
<div class="ui-tabs mb-4">
|
|
16
16
|
<nav>
|
|
17
17
|
<a href="javascript:;" class="ui-tab {{if (eq this.activeTab 'order') 'active'}}" {{on "click" (fn (mut this.activeTab) "order" )}}>
|
|
18
|
-
|
|
18
|
+
{{t "fleet-ops.component.order-config.activity-flow-editor.order-flow"}}
|
|
19
19
|
</a>
|
|
20
20
|
<a href="javascript:;" class="ui-tab {{if (eq this.activeTab 'waypoint') 'active'}}" {{on "click" (fn (mut this.activeTab) "waypoint" )}}>
|
|
21
|
-
|
|
21
|
+
{{t "fleet-ops.component.order-config.activity-flow-editor.waypoint-flow"}}
|
|
22
22
|
</a>
|
|
23
23
|
</nav>
|
|
24
24
|
</div>
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<div class="activity-status relative cursor-move flex items-center justify-center mb-6">
|
|
34
34
|
<div class="relative px-3 py-2 status-element {{dasherize (flow-raw-status status)}}-status-element rounded-md flex flex-col items-center justify-center">
|
|
35
35
|
<Badge @status={{flow-raw-status status}} class="status-badge-lg shadow-none" />
|
|
36
|
-
<Button @text=
|
|
36
|
+
<Button @text={{t "fleet-ops.component.order-config.activity-flow-editor.new-activity"}} @icon="plus" @iconPrefix="fas" @wrapperClass="my-2" @onClick={{fn this.addNewActivity status}} />
|
|
37
37
|
{{#if (not (includes status (w "created dispatched completed")))}}
|
|
38
38
|
<div class="absolute top-0 right-0">
|
|
39
39
|
<button type="button" class="flex items-center justify-center rounded-full w-6 h-6 bg-gray-900 font-semibold text-white -mt-3 -mr-3 shadow-sm" {{on "click" (fn this.removeStatus status)}}>
|
|
@@ -50,25 +50,25 @@
|
|
|
50
50
|
<div class="mb-4 flex items-center justify-between">
|
|
51
51
|
<div>
|
|
52
52
|
<FaIcon @icon="sitemap" class="mr-2 dark:text-sky-300" />
|
|
53
|
-
<span class="dark:text-gray-100 text-sm">
|
|
53
|
+
<span class="dark:text-gray-100 text-sm">{{t "fleet-ops.component.order-config.activity-flow-editor.activity-details"}}</span>
|
|
54
54
|
</div>
|
|
55
55
|
<a href="javascript:;" class="btn btn-danger btn-sm" {{on "click" (fn this.removeActivity status event)}}>
|
|
56
56
|
<FaIcon @icon="trash" />
|
|
57
57
|
</a>
|
|
58
58
|
</div>
|
|
59
59
|
<div class="grid grid-cols-3 gap-2">
|
|
60
|
-
<InputGroup @name="
|
|
61
|
-
<InputGroup @name="
|
|
62
|
-
<InputGroup @name="
|
|
60
|
+
<InputGroup @name={{t "fleet-ops.common.status"}} @value={{event.status}} />
|
|
61
|
+
<InputGroup @name={{t "fleet-ops.common.code"}} @value={{event.code}} />
|
|
62
|
+
<InputGroup @name={{t "fleet-ops.common.details"}} @value={{event.details}} />
|
|
63
63
|
</div>
|
|
64
64
|
</div>
|
|
65
65
|
<div class="p-3">
|
|
66
66
|
<div class="mb-4 flex items-center justify-between">
|
|
67
67
|
<div>
|
|
68
68
|
<FaIcon @icon="project-diagram" class="mr-2 dark:text-sky-300" />
|
|
69
|
-
<span class="dark:text-gray-100 text-sm">
|
|
69
|
+
<span class="dark:text-gray-100 text-sm">{{t "fleet-ops.component.order-config.activity-flow-editor.logic-stack"}}</span>
|
|
70
70
|
</div>
|
|
71
|
-
<Button @text="
|
|
71
|
+
<Button @text={{t "fleet-ops.component.order-config.activity-flow-editor.add-logic"}} @icon="plus" @iconPrefix="fas" @onClick={{fn this.addLogicCondition status event}} />
|
|
72
72
|
</div>
|
|
73
73
|
<div class="space-y-3 mb-3">
|
|
74
74
|
{{#each event.if as |logic conditionIndex|}}
|
|
@@ -79,15 +79,15 @@
|
|
|
79
79
|
</div>
|
|
80
80
|
<Select @options={{this.configFields}} @value={{get logic 0}} @placeholder="Select field" class="flex-1 w-full" @onSelect={{fn this.updateActivityLogic status event conditionIndex 0}} />
|
|
81
81
|
</div>
|
|
82
|
-
<Select @options={{this.logicOperators}} @value={{get logic 1}} @optionLabel="label" @optionValue="value" @onSelect={{fn this.updateActivityLogic status event conditionIndex 1}} @placeholder="
|
|
82
|
+
<Select @options={{this.logicOperators}} @value={{get logic 1}} @optionLabel="label" @optionValue="value" @onSelect={{fn this.updateActivityLogic status event conditionIndex 1}} @placeholder={{t "fleet-ops.component.order-config.activity-flow-editor.select-operator"}} />
|
|
83
83
|
<div class="flex items-center col-span-2">
|
|
84
|
-
<Input @type="text" @value={{get logic 2}} {{on "keyup" (fn this.updateActivityLogic status event conditionIndex 2)}} placeholder="
|
|
84
|
+
<Input @type="text" @value={{get logic 2}} {{on "keyup" (fn this.updateActivityLogic status event conditionIndex 2)}} placeholder={{t "fleet-ops.component.order-config.activity-flow-editor.enter-value"}} class="form-input w-full flex-1 mr-3" />
|
|
85
85
|
<Button @size="sm" @icon="trash" @onClick={{fn this.removeLogicCondition event logic}} />
|
|
86
86
|
</div>
|
|
87
87
|
</div>
|
|
88
88
|
{{else}}
|
|
89
89
|
<div class="flex items-center justify-center">
|
|
90
|
-
<div class="rounded bg-gray-300 dark:bg-gray-700 shadow-sm text-sm text-center px-6 py-3 dark:text-gray-100 border border-dashed border-gray-500 dark:border-gray-900">
|
|
90
|
+
<div class="rounded bg-gray-300 dark:bg-gray-700 shadow-sm text-sm text-center px-6 py-3 dark:text-gray-100 border border-dashed border-gray-500 dark:border-gray-900">{{t "fleet-ops.component.order-config.activity-flow-editor.no-logic"}}</div>
|
|
91
91
|
</div>
|
|
92
92
|
{{/each}}
|
|
93
93
|
</div>
|
|
@@ -22,7 +22,7 @@ export default class OrderConfigActivityFlowEditorComponent extends Component {
|
|
|
22
22
|
@service modalsManager;
|
|
23
23
|
@service notifications;
|
|
24
24
|
@service fetch;
|
|
25
|
-
|
|
25
|
+
@service intl;
|
|
26
26
|
@tracked drake;
|
|
27
27
|
@tracked orderConfig = {};
|
|
28
28
|
@tracked flow = {};
|
|
@@ -149,13 +149,13 @@ export default class OrderConfigActivityFlowEditorComponent extends Component {
|
|
|
149
149
|
const { flow } = this;
|
|
150
150
|
|
|
151
151
|
this.modalsManager.show('modals/order-config-new-status', {
|
|
152
|
-
title: '
|
|
152
|
+
title: this.intl.t('fleet-ops.component.order-config.activity-flow-editor.add-status'),
|
|
153
153
|
statusName: null,
|
|
154
154
|
confirm: async (modal) => {
|
|
155
155
|
const statusName = modal.getOption('statusName');
|
|
156
156
|
|
|
157
157
|
if (!statusName) {
|
|
158
|
-
return this.notifications.warning('
|
|
158
|
+
return this.notifications.warning(this.intl.t('fleet-ops.component.order-config.activity-flow-editor.no-status'));
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
const format = (status) => underscore(status.toLowerCase());
|
|
@@ -165,9 +165,9 @@ export default class OrderConfigActivityFlowEditorComponent extends Component {
|
|
|
165
165
|
await modal.done();
|
|
166
166
|
// prompt to confirm overwrite
|
|
167
167
|
return this.modalsManager.confirm({
|
|
168
|
-
title: '
|
|
169
|
-
body:
|
|
170
|
-
acceptButtonText: '
|
|
168
|
+
title: this.intl.t('fleet-ops.component.order-config.activity-flow-editor.overwrite'),
|
|
169
|
+
body: this.intl.t('fleet-ops.component.order-config.activity-flow-editor.overwrite-text', { statusName: statusName }),
|
|
170
|
+
acceptButtonText: this.intl.t('fleet-ops.component.order-config.activity-flow-editor.overwrite-button'),
|
|
171
171
|
confirm: (modal) => {
|
|
172
172
|
this.insertNewStatus(status);
|
|
173
173
|
modal.done();
|
|
@@ -204,9 +204,9 @@ export default class OrderConfigActivityFlowEditorComponent extends Component {
|
|
|
204
204
|
@action removeStatus(status) {
|
|
205
205
|
const { flow } = this;
|
|
206
206
|
this.modalsManager.confirm({
|
|
207
|
-
title: '
|
|
208
|
-
body:
|
|
209
|
-
acceptButtonText: '
|
|
207
|
+
title: this.intl.t('fleet-ops.component.order-config.activity-flow-editor.remove'),
|
|
208
|
+
body: this.intl.t('fleet-ops.component.order-config.activity-flow-editor.remove-text'),
|
|
209
|
+
acceptButtonText: this.intl.t('fleet-ops.component.order-config.activity-flow-editor.delete-button'),
|
|
210
210
|
confirm: (modal) => {
|
|
211
211
|
delete flow[status];
|
|
212
212
|
set(this, 'flow', flow);
|
|
@@ -231,7 +231,7 @@ export default class OrderConfigActivityFlowEditorComponent extends Component {
|
|
|
231
231
|
|
|
232
232
|
// if status is created or dispatched prevent from dragging
|
|
233
233
|
if (['created', 'dispatched', 'completed'].includes(format(status))) {
|
|
234
|
-
this.notifications.warning(
|
|
234
|
+
this.notifications.warning(this.intl.t('fleet-ops.component.order-config.activity-flow-editor.unable-warning', { status: format(status) }));
|
|
235
235
|
this.drake.cancel(true);
|
|
236
236
|
return;
|
|
237
237
|
}
|
|
@@ -241,7 +241,7 @@ export default class OrderConfigActivityFlowEditorComponent extends Component {
|
|
|
241
241
|
|
|
242
242
|
// if is not created but attempt to move to sequence 0
|
|
243
243
|
if (format(status) !== 'created' && sequence === 0) {
|
|
244
|
-
this.notifications.warning(
|
|
244
|
+
this.notifications.warning(this.intl.t('fleet-ops.component.order-config.activity-flow-editor.order-warning'));
|
|
245
245
|
this.drake.cancel(true);
|
|
246
246
|
return;
|
|
247
247
|
}
|
|
@@ -12,20 +12,20 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
<div class="content-panel-body">
|
|
14
14
|
|
|
15
|
-
<InputGroup @name="
|
|
16
|
-
<InputGroup @name="
|
|
17
|
-
<InputGroup @name="
|
|
18
|
-
<InputGroup @name="
|
|
19
|
-
<InputGroup @name=
|
|
20
|
-
<InputGroup @name=
|
|
15
|
+
<InputGroup @name={{t "fleet-ops.common.name"}} @value={{@orderConfig.name}} />
|
|
16
|
+
<InputGroup @name={{t "fleet-ops.common.description"}} @value={{@orderConfig.description}} />
|
|
17
|
+
<InputGroup @name={{t "fleet-ops.common.key"}} @value={{@orderConfig.key}} @disabled={{true}} readonly={{true}} @helpText={{t "fleet-ops.component.order-config.details-editor.key-text"}} />
|
|
18
|
+
<InputGroup @name={{t "fleet-ops.common.namespace"}} @value={{@orderConfig.namespace}} @disabled={{true}} readonly={{true}} @helpText={{t "fleet-ops.component.order-config.details-editor.namespace-text"}} />
|
|
19
|
+
<InputGroup @name={{t "fleet-ops.component.order-config.details-editor.id"}} @value={{@orderConfig.extension_id}} @disabled={{true}} readonly={{true}} @helpText={{t "fleet-ops.component.order-config.details-editor.id-text"}} />
|
|
20
|
+
<InputGroup @name={{t "fleet-ops.component.order-config.details-editor.version"}} @value={{@orderConfig.version}} @disabled={{true}} readonly={{true}} @helpText={{t "fleet-ops.component.order-config.details-editor.version-text"}} />
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
23
|
<div class="flex items-center justify-end">
|
|
24
|
-
<Button @type="default" @icon="clone" @text=
|
|
24
|
+
<Button @type="default" @icon="clone" @text={{t "fleet-ops.component.order-config.details-editor.clone"}} @size="sm" @wrapperClass="mr-2" @onClick={{fn this.sendAction "clone" @orderConfig}} />
|
|
25
25
|
{{#if @orderConfig.installed}}
|
|
26
|
-
<Button @type="danger" @icon="trash" @text=
|
|
26
|
+
<Button @type="danger" @icon="trash" @text={{t "fleet-ops.component.order-config.details-editor.uninstall"}} @size="sm" @onClick={{fn this.sendAction "uninstall" @orderConfig}} />
|
|
27
27
|
{{else}}
|
|
28
|
-
<Button @type="danger" @icon="trash" @text=
|
|
28
|
+
<Button @type="danger" @icon="trash" @text={{t "fleet-ops.component.order-config.details-editor.delete"}} @size="sm" @onClick={{fn this.sendAction "delete" @orderConfig}} />
|
|
29
29
|
{{/if}}
|
|
30
30
|
</div>
|
|
31
31
|
{{yield}}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="content-panel mb-20">
|
|
3
3
|
<div class="content-panel-header items-center">
|
|
4
4
|
<h3 class="text-lg font-semibold dark:text-gray-100">
|
|
5
|
-
|
|
5
|
+
{{t "fleet-ops.component.order-config.entities-editor.title"}}
|
|
6
6
|
</h3>
|
|
7
7
|
|
|
8
8
|
<Button @text="New Entity Type" @icon="plus" @iconPrefix="fas" @onClick={{this.newEntity}} />
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<div class="content-panel-body">
|
|
11
11
|
<div class="mb-6">
|
|
12
12
|
<p>
|
|
13
|
-
|
|
13
|
+
{{t "fleet-ops.component.order-config.entities-editor.message"}}
|
|
14
14
|
</p>
|
|
15
15
|
</div>
|
|
16
16
|
|
|
@@ -22,38 +22,38 @@
|
|
|
22
22
|
<div class="flex items-center justify-between">
|
|
23
23
|
<div>
|
|
24
24
|
<FaIcon @icon="box-alt" class="mr-2 dark:text-sky-300" />
|
|
25
|
-
<span class="dark:text-gray-100 text-sm mr-1">
|
|
25
|
+
<span class="dark:text-gray-100 text-sm mr-1">{{t "fleet-ops.component.order-config.entities-editor.type"}}</span>
|
|
26
26
|
<span class="dark:text-gray-100 text-sm">({{entity.name}})</span>
|
|
27
27
|
</div>
|
|
28
28
|
<div class="flex items-center">
|
|
29
29
|
<a href="javascript:;" class="mr-2 btn btn-danger btn-sm" {{on "click" (fn this.removeEntity index)}}>
|
|
30
30
|
<FaIcon @icon="trash" />
|
|
31
31
|
</a>
|
|
32
|
-
<Button @text="
|
|
32
|
+
<Button @text={{t "fleet-ops.component.order-config.entities-editor.add-meta"}} @icon="plus" @iconPrefix="fas" @onClick={{fn this.addMetaField index}} />
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
35
35
|
</div>
|
|
36
36
|
<div class="p-3">
|
|
37
37
|
<div class="grid grid-cols-3 gap-2">
|
|
38
|
-
<InputGroup @name="
|
|
39
|
-
<InputGroup @name="
|
|
38
|
+
<InputGroup @name={{t "fleet-ops.common.name"}} @value={{entity.name}} />
|
|
39
|
+
<InputGroup @name={{t "fleet-ops.common.type"}} @value={{entity.type}}>
|
|
40
40
|
<KeyInput @value={{entity.type}} @onChange={{fn (mut entity.type)}} />
|
|
41
41
|
</InputGroup>
|
|
42
|
-
<InputGroup @name="
|
|
42
|
+
<InputGroup @name={{t "fleet-ops.common.description"}} @value={{entity.description}} class="col-span-2" />
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
<div class="grid grid-cols-5 gap-2">
|
|
46
|
-
<InputGroup @name="
|
|
47
|
-
<InputGroup @name="
|
|
46
|
+
<InputGroup @name={{t "fleet-ops.common.weight"}} @value={{entity.weight}} class="col-span-3" />
|
|
47
|
+
<InputGroup @name={{t "fleet-ops.common.unit"}}>
|
|
48
48
|
<Select @value={{entity.weight_unit}} @options={{this.weightUnits}} @optionLabel="name" @optionValue="value" class="w-full" />
|
|
49
49
|
</InputGroup>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
<div class="grid grid-cols-5 gap-2">
|
|
53
|
-
<InputGroup @name="
|
|
54
|
-
<InputGroup @name="
|
|
55
|
-
<InputGroup @name="
|
|
56
|
-
<InputGroup @name="
|
|
53
|
+
<InputGroup @name={{t "fleet-ops.common.length"}} @value={{entity.length}} />
|
|
54
|
+
<InputGroup @name={{t "fleet-ops.common.width"}} @value={{entity.width}} />
|
|
55
|
+
<InputGroup @name={{t "fleet-ops.common.height"}} @value={{entity.width}} />
|
|
56
|
+
<InputGroup @name={{t "fleet-ops.common.unit"}}>
|
|
57
57
|
<Select @value={{entity.dimentions_unit}} @options={{this.lengthUnits}} @optionLabel="name" @optionValue="value" class="w-full" />
|
|
58
58
|
</InputGroup>
|
|
59
59
|
</div>
|
|
@@ -11,7 +11,7 @@ import getLengthUnits from '@fleetbase/ember-core/utils/get-length-units';
|
|
|
11
11
|
export default class OrderConfigEntitiesEditorComponent extends Component {
|
|
12
12
|
@service modalsManager;
|
|
13
13
|
@service notifications;
|
|
14
|
-
|
|
14
|
+
@service intl;
|
|
15
15
|
@tracked weightUnits = getWeightUnits();
|
|
16
16
|
@tracked lengthUnits = getLengthUnits();
|
|
17
17
|
@tracked _orderConfig = null;
|
|
@@ -75,7 +75,7 @@ export default class OrderConfigEntitiesEditorComponent extends Component {
|
|
|
75
75
|
const keyName = modal.getOption('keyName');
|
|
76
76
|
|
|
77
77
|
if (!keyName) {
|
|
78
|
-
return this.notifications.warning('
|
|
78
|
+
return this.notifications.warning(this.intl.t('fleet-ops.component.order-config.entities-editor.warning-message'));
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
modal.startLoading();
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
<div class="content-panel">
|
|
3
3
|
<div class="content-panel-header items-center">
|
|
4
4
|
<h3 class="text-lg font-semibold dark:text-gray-100">
|
|
5
|
-
|
|
5
|
+
{{t "fleet-ops.component.order-config.fields-editor.field-title"}}
|
|
6
6
|
</h3>
|
|
7
7
|
<div>
|
|
8
|
-
<Button @icon="plus" @iconPrefix="fas" @text=
|
|
9
|
-
<Button @icon="plus" @iconPrefix="fas" @text=
|
|
8
|
+
<Button @icon="plus" @iconPrefix="fas" @text={{t "fleet-ops.component.order-config.fields-editor.new-field"}} @size="sm" @onClick={{this.addField}} />
|
|
9
|
+
<Button @icon="plus" @iconPrefix="fas" @text={{t "fleet-ops.component.order-config.fields-editor.new-custom-field"}} @size="sm" @onClick={{this.addMetaFieldGroup}} />
|
|
10
10
|
</div>
|
|
11
11
|
</div>
|
|
12
12
|
<div class="content-panel-body">
|
|
13
13
|
<div class="mb-6">
|
|
14
|
-
<p>
|
|
14
|
+
<p>{{t "fleet-ops.component.order-config.fields-editor.field-text"}}</p>
|
|
15
15
|
</div>
|
|
16
16
|
|
|
17
17
|
<Dragula @onDrop={{this.moveMetaField}} as |Container|>
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
<div class="content-panel">
|
|
20
20
|
<div class="content-panel-header items-center">
|
|
21
21
|
<div class="font-semibold dark:text-gray-100">
|
|
22
|
-
<span class="mr-1">
|
|
22
|
+
<span class="mr-1">{{t "fleet-ops.component.order-config.fields-editor.custom-field-group"}}:</span>
|
|
23
23
|
{{#if group.value}}
|
|
24
24
|
<span>{{smart-humanize group.value}}</span>
|
|
25
25
|
{{else}}
|
|
26
|
-
<span>
|
|
26
|
+
<span>{{t "fleet-ops.component.order-config.fields-editor.default-field"}}</span>
|
|
27
27
|
{{/if}}
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
30
|
<div>
|
|
31
|
-
<Button @icon="plus" @iconPrefix="fas" @text=
|
|
31
|
+
<Button @icon="plus" @iconPrefix="fas" @text={{t "fleet-ops.component.order-config.fields-editor.new-field"}} @size="sm" @onClick={{fn this.addField group.value}} />
|
|
32
32
|
{{#if group.value}}
|
|
33
33
|
<Button @type="danger" @icon="times" @iconPrefix="fas" @size="sm" @onClick={{fn this.removeGroup group.value}} />
|
|
34
34
|
{{/if}}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
<div class="content-panel cursor-move">
|
|
42
42
|
<div class="content-panel-header items-center">
|
|
43
43
|
<div class="font-semibold dark:text-gray-100">
|
|
44
|
-
<span class="mr-1">
|
|
44
|
+
<span class="mr-1">{{t "fleet-ops.component.order-config.fields-editor.custom-field"}}:</span>
|
|
45
45
|
<span>{{metaField.label}}</span>
|
|
46
46
|
</div>
|
|
47
47
|
<a href="javascript:;" {{on "click" (fn this.removeField metaField)}} class="btn btn-danger btn-sm">
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
<InputGroup @name="Label" @value={{metaField.label}} {{on "keyup" (fn this.setFieldLabel metaField)}} />
|
|
54
54
|
<div class="input-group {{if (eq metaField.type "select") 'col-span-2'}}">
|
|
55
55
|
<div class="flex items-center justify-between">
|
|
56
|
-
<label class="font-medium flex-1">
|
|
56
|
+
<label class="font-medium flex-1">{{t "fleet-ops.component.order-config.fields-editor.type"}}</label>
|
|
57
57
|
</div>
|
|
58
58
|
<div class="flex items-center justify-between">
|
|
59
|
-
<Select class="w-full" @value={{metaField.type}} @options={{this.metaFieldTypes}} @optionLabel="label" @optionValue="key" @placeholder="
|
|
59
|
+
<Select class="w-full" @value={{metaField.type}} @options={{this.metaFieldTypes}} @optionLabel="label" @optionValue="key" @placeholder={{t "fleet-ops.component.order-config.fields-editor.select-type"}} @onSelect={{fn (mut metaField.type)}} />
|
|
60
60
|
{{#if (eq metaField.type "select")}}
|
|
61
61
|
<div class="pl-2">
|
|
62
62
|
<BasicDropdown @renderInPlace={{false}} as |dd|>
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
<div class="w-80 mt-2 rounded shadow-md be-white dark:bg-gray-800">
|
|
68
68
|
<div class="border border-gray-300 shdaow-sm rounded dark:border-gray-900">
|
|
69
69
|
<div class="flex items-start justify-between mb-1 p-3">
|
|
70
|
-
<Button @type="primary" @size="xs" @text=
|
|
70
|
+
<Button @type="primary" @size="xs" @text={{t "fleet-ops.component.order-config.fields-editor.add-option"}} @onClick={{fn this.addMetaFieldOption metaField}} />
|
|
71
71
|
<div class="flex flex-col space-y-3">
|
|
72
72
|
<Toggle @label="Key-Value" @isToggled={{metaField.useKvOptions}} @onToggle={{fn this.toggleMetaFieldKv metaField}} />
|
|
73
73
|
{{#unless metaField.useKvOptions}}
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
<div class="flex items-start flex-1">
|
|
85
85
|
<div class="space-y-3 flex flex-col pr-2 flex-1">
|
|
86
86
|
{{#if metaField.useKvOptions}}
|
|
87
|
-
<Input @type="text" @value={{option.key}} class="form-input form-input-sm" placeholder="
|
|
87
|
+
<Input @type="text" @value={{option.key}} class="form-input form-input-sm" placeholder={{t "fleet-ops.common.key"}} />
|
|
88
88
|
{{/if}}
|
|
89
|
-
<Input @type="text" @value={{option.value}} class="form-input form-input-sm" placeholder="
|
|
89
|
+
<Input @type="text" @value={{option.value}} class="form-input form-input-sm" placeholder={{t "fleet-ops.common.value"}} />
|
|
90
90
|
</div>
|
|
91
91
|
<Button @size="xs" @type="danger" @icon="trash" @onClick={{fn this.removeMetaFieldOption metaField option}} />
|
|
92
92
|
</div>
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
{{/if}}
|
|
104
104
|
</div>
|
|
105
105
|
</div>
|
|
106
|
-
<InputGroup @name="
|
|
106
|
+
<InputGroup @name={{t "fleet-ops.common.description"}} @value={{metaField.description}} />
|
|
107
107
|
<div class="input-group">
|
|
108
108
|
<Checkbox @label="Required" @onToggle={{fn (mut metaField.required)}} @value={{metaField.required}} />
|
|
109
109
|
</div>
|