@fleetbase/fleetops-engine 0.6.18 → 0.6.20
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/activity/event-selector.hbs +59 -0
- package/addon/components/activity/event-selector.js +82 -0
- package/addon/components/activity/form.hbs +62 -0
- package/addon/components/activity/form.js +78 -0
- package/addon/components/activity/logic-builder.hbs +150 -0
- package/addon/components/activity/logic-builder.js +280 -0
- package/addon/components/admin/avatar-management.hbs +7 -7
- package/addon/components/admin/avatar-management.js +35 -59
- package/addon/components/admin/navigator-app.hbs +3 -3
- package/addon/components/asset/form.js +3 -0
- package/addon/components/avatar-picker.hbs +34 -12
- package/addon/components/avatar-picker.js +55 -25
- package/addon/components/cell/driver-name.hbs +1 -1
- package/addon/components/contact/details.hbs +42 -0
- package/addon/components/contact/details.js +3 -0
- package/addon/components/contact/form.hbs +89 -0
- package/addon/components/contact/form.js +57 -0
- package/addon/components/contact/panel-header.hbs +67 -0
- package/addon/components/contact/panel-header.js +3 -0
- package/addon/components/custom-entity/form.hbs +61 -0
- package/addon/components/custom-entity/form.js +90 -0
- package/addon/components/customer/admin-settings.hbs +1 -1
- package/addon/components/customer/create-order-form.hbs +57 -75
- package/addon/components/customer/create-order-form.js +32 -103
- package/addon/components/customer/details.hbs +52 -0
- package/addon/components/customer/details.js +3 -0
- package/addon/components/customer/form.hbs +144 -0
- package/addon/components/customer/form.js +109 -0
- package/addon/components/customer/leaflet-map.js +3 -0
- package/addon/components/customer/order-details.js +3 -0
- package/addon/components/customer/order-form.hbs +476 -0
- package/addon/components/customer/order-form.js +140 -0
- package/addon/components/customer/orders.hbs +2 -2
- package/addon/components/customer/orders.js +12 -1
- package/addon/components/device/details.hbs +105 -0
- package/addon/components/device/details.js +3 -0
- package/addon/components/device/form.hbs +194 -0
- package/addon/components/device/form.js +13 -0
- package/addon/components/display-place.hbs +4 -4
- package/addon/components/driver/details.hbs +56 -0
- package/addon/components/driver/details.js +3 -0
- package/addon/components/driver/form.hbs +171 -0
- package/addon/components/driver/form.js +84 -0
- package/addon/components/driver/panel-header.hbs +40 -0
- package/addon/components/driver/panel-header.js +3 -0
- package/addon/components/driver-onboard-settings.hbs +14 -14
- package/addon/components/entity/card.hbs +28 -0
- package/addon/components/entity/card.js +6 -0
- package/addon/components/entity/details.js +3 -0
- package/addon/components/entity/form.hbs +86 -0
- package/addon/components/entity/form.js +32 -0
- package/addon/components/entity-field-editing-settings.hbs +8 -8
- package/addon/components/equipment/details.hbs +95 -0
- package/addon/components/equipment/details.js +3 -0
- package/addon/components/equipment/form.hbs +127 -0
- package/addon/components/equipment/form.js +27 -0
- package/addon/components/fleet/details.hbs +32 -0
- package/addon/components/fleet/details.js +3 -0
- package/addon/components/fleet/driver-listing.hbs +81 -0
- package/addon/components/fleet/driver-listing.js +77 -0
- package/addon/components/fleet/form.hbs +108 -0
- package/addon/components/fleet/form.js +20 -0
- package/addon/components/fleet/vehicle-listing.hbs +86 -0
- package/addon/components/fleet/vehicle-listing.js +76 -0
- package/addon/components/fleet-driver-listing.hbs +5 -5
- package/addon/components/fleet-panel/details.hbs +13 -13
- package/addon/components/fleet-panel/driver-listing.hbs +5 -5
- package/addon/components/fleet-panel/vehicle-listing.hbs +5 -5
- package/addon/components/fleet-panel/vehicle-listing.js +11 -74
- package/addon/components/fleet-vehicle-listing.hbs +5 -5
- package/addon/components/fuel-report/details.hbs +48 -0
- package/addon/components/fuel-report/details.js +3 -0
- package/addon/components/fuel-report/form.hbs +110 -0
- package/addon/components/fuel-report/form.js +14 -0
- package/addon/components/global-search.hbs +6 -6
- package/addon/components/global-search.js +30 -32
- package/addon/components/integrated-order-details.hbs +22 -22
- package/addon/components/integrated-vendor/details.hbs +34 -0
- package/addon/components/integrated-vendor/form.hbs +80 -0
- package/addon/components/integrated-vendor/form.js +11 -0
- package/addon/components/issue/details.hbs +68 -0
- package/addon/components/issue/form.hbs +183 -0
- package/addon/components/issue/form.js +3 -0
- package/addon/components/layout/fleet-ops-sidebar/driver-listing.hbs +3 -1
- package/addon/components/layout/fleet-ops-sidebar/driver-listing.js +96 -100
- package/addon/components/layout/fleet-ops-sidebar/fleet-listing.hbs +2 -0
- package/addon/components/layout/fleet-ops-sidebar/fleet-listing.js +73 -80
- package/addon/components/layout/fleet-ops-sidebar.hbs +6 -1
- package/addon/components/layout/fleet-ops-sidebar.js +150 -49
- package/addon/components/leaflet-draw-control.js +1 -0
- package/addon/components/maintenance/details.hbs +123 -0
- package/addon/components/maintenance/details.js +3 -0
- package/addon/components/maintenance/form.hbs +174 -0
- package/addon/components/maintenance/form.js +18 -0
- package/addon/components/map/container.hbs +3 -0
- package/addon/components/map/container.js +10 -0
- package/addon/components/map/drawer/driver-listing.hbs +11 -0
- package/addon/components/map/drawer/driver-listing.js +149 -0
- package/addon/components/map/drawer/event-listing.hbs +1 -0
- package/addon/components/map/drawer/event-listing.js +3 -0
- package/addon/components/map/drawer/place-listing.hbs +11 -0
- package/addon/components/map/drawer/place-listing.js +116 -0
- package/addon/components/map/drawer/vehicle-listing.hbs +11 -0
- package/addon/components/map/drawer/vehicle-listing.js +125 -0
- package/addon/components/map/drawer.hbs +5 -0
- package/addon/components/map/drawer.js +23 -0
- package/addon/components/map/leaflet-live-map.hbs +177 -0
- package/addon/components/map/leaflet-live-map.js +437 -0
- package/addon/components/map/leaflet-tracking-layer.hbs +1 -0
- package/addon/components/map/leaflet-tracking-layer.js +3 -0
- package/addon/components/map/order-list-overlay/driver-panel-title.hbs +11 -0
- package/addon/components/map/order-list-overlay/driver-panel-title.js +3 -0
- package/addon/components/map/order-list-overlay/order.hbs +106 -0
- package/addon/components/map/order-list-overlay/order.js +35 -0
- package/addon/components/map/order-list-overlay.hbs +176 -0
- package/addon/components/map/order-list-overlay.js +8 -0
- package/addon/components/map/search.hbs +1 -0
- package/addon/components/map/search.js +3 -0
- package/addon/components/map/toolbar/visibility-control-panel.hbs +130 -0
- package/addon/components/map/toolbar/visibility-control-panel.js +78 -0
- package/addon/components/map/toolbar/zones-panel.hbs +55 -0
- package/addon/components/map/toolbar/zones-panel.js +24 -0
- package/addon/components/map/toolbar.hbs +115 -0
- package/addon/components/map/toolbar.js +42 -0
- package/addon/components/map.hbs +11 -0
- package/addon/components/map.js +3 -0
- package/addon/components/modals/assign-driver.hbs +2 -2
- package/addon/components/modals/bulk-assign-driver.hbs +1 -1
- package/addon/components/modals/clone-config-form.hbs +2 -2
- package/addon/components/modals/contact-details.hbs +12 -12
- 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 +21 -21
- 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 +21 -21
- package/addon/components/modals/entity-meta-field-prompt.hbs +1 -1
- package/addon/components/modals/fleet-details.hbs +12 -12
- package/addon/components/modals/fleet-form.hbs +8 -8
- package/addon/components/modals/fuel-report-details.hbs +16 -16
- 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 +5 -5
- package/addon/components/modals/install-prompt.hbs +2 -2
- package/addon/components/modals/issue-details.hbs +16 -16
- 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-custom-field-group.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 +2 -2
- package/addon/components/modals/order-event.hbs +4 -4
- package/addon/components/modals/order-form.hbs +12 -12
- package/addon/components/modals/order-import.hbs +10 -10
- package/addon/components/modals/order-label.hbs +1 -1
- package/addon/components/modals/order-meta.hbs +1 -10
- package/addon/components/modals/order-new-activity.hbs +10 -10
- package/addon/components/modals/order-route-form.hbs +18 -18
- package/addon/components/modals/place-assign-vendor.hbs +2 -2
- package/addon/components/modals/place-details.hbs +24 -24
- package/addon/components/modals/place-form.hbs +1 -44
- package/addon/components/modals/point-map.hbs +6 -3
- 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 +9 -9
- package/addon/components/modals/set-password.hbs +5 -5
- package/addon/components/modals/uninstall-prompt.hbs +2 -2
- package/addon/components/modals/update-order-activity.hbs +88 -0
- package/addon/components/modals/update-order-activity.js +51 -0
- package/addon/components/modals/user-form.hbs +8 -9
- package/addon/components/modals/vehicle-details.hbs +78 -78
- package/addon/components/modals/vehicle-form.hbs +74 -74
- package/addon/components/modals/vendor-details.hbs +21 -21
- package/addon/components/modals/vendor-form.hbs +50 -50
- package/addon/components/modals/view-service-area.hbs +1 -1
- package/addon/components/modals/zone-form.hbs +8 -8
- package/addon/components/order/activity-list.hbs +34 -0
- package/addon/components/order/activity-list.js +3 -0
- package/addon/components/order/activity-timeline.hbs +33 -0
- package/addon/components/order/activity-timeline.js +3 -0
- package/addon/components/order/customer-avatar-stack.hbs +21 -0
- package/addon/components/order/customer-avatar-stack.js +39 -0
- package/addon/components/order/details/activity.hbs +13 -0
- package/addon/components/order/details/activity.js +58 -0
- package/addon/components/order/details/comments.hbs +3 -0
- package/addon/components/order/details/comments.js +3 -0
- package/addon/components/order/details/custom-fields.hbs +1 -0
- package/addon/components/order/details/custom-fields.js +19 -0
- package/addon/components/order/details/detail.hbs +169 -0
- package/addon/components/order/details/detail.js +42 -0
- package/addon/components/order/details/documents.hbs +76 -0
- package/addon/components/order/details/documents.js +64 -0
- package/addon/components/order/details/integrated-vendor-details.hbs +5 -0
- package/addon/components/order/details/map.hbs +1 -0
- package/addon/components/order/details/map.js +3 -0
- package/addon/components/order/details/metadata.hbs +3 -0
- package/addon/components/order/details/metadata.js +26 -0
- package/addon/components/order/details/notes.hbs +43 -0
- package/addon/components/order/details/notes.js +42 -0
- package/addon/components/order/details/payload.hbs +97 -0
- package/addon/components/order/details/payload.js +75 -0
- package/addon/components/order/details/proof.hbs +42 -0
- package/addon/components/order/details/proof.js +3 -0
- package/addon/components/order/details/purchase-rate.hbs +39 -0
- package/addon/components/order/details/purchase-rate.js +3 -0
- package/addon/components/order/details/route.hbs +26 -0
- package/addon/components/order/details/route.js +55 -0
- package/addon/components/order/details/tracking.hbs +41 -0
- package/addon/components/order/details/tracking.js +21 -0
- package/addon/components/order/details.hbs +41 -0
- package/addon/components/order/details.js +3 -0
- package/addon/components/order/form/custom-fields.hbs +11 -0
- package/addon/components/order/form/custom-fields.js +3 -0
- package/addon/components/order/form/details.hbs +249 -0
- package/addon/components/order/form/details.js +76 -0
- package/addon/components/order/form/documents.hbs +76 -0
- package/addon/components/order/form/documents.js +64 -0
- package/addon/components/order/form/metadata.hbs +5 -0
- package/addon/components/order/form/metadata.js +3 -0
- package/addon/components/order/form/notes.hbs +11 -0
- package/addon/components/order/form/notes.js +3 -0
- package/addon/components/order/form/payload.hbs +139 -0
- package/addon/components/order/form/payload.js +73 -0
- package/addon/components/order/form/route.hbs +283 -0
- package/addon/components/order/form/route.js +214 -0
- package/addon/components/order/form/service-rate.hbs +109 -0
- package/addon/components/order/form/service-rate.js +26 -0
- package/addon/components/order/form.hbs +28 -0
- package/addon/components/order/form.js +65 -0
- package/addon/components/order/header.hbs +12 -12
- package/addon/components/order/kanban-card.hbs +85 -0
- package/addon/components/order/kanban-card.js +6 -0
- package/addon/components/order/kanban.hbs +12 -0
- package/addon/components/order/kanban.js +135 -0
- package/addon/components/order/panel-header.hbs +36 -0
- package/addon/components/order/panel-header.js +3 -0
- package/addon/components/order/place-card.hbs +2 -2
- package/addon/components/order/route-editor.hbs +192 -0
- package/addon/components/order/route-editor.js +233 -0
- package/addon/components/order/schedule-card.hbs +10 -10
- package/addon/components/order/schedule-card.js +10 -9
- package/addon/components/order-config-manager/activity-flow.hbs +1 -1
- package/addon/components/order-config-manager/activity-flow.js +47 -46
- package/addon/components/order-config-manager/custom-fields.hbs +5 -5
- package/addon/components/order-config-manager/custom-fields.js +17 -23
- package/addon/components/order-config-manager/details.hbs +10 -10
- package/addon/components/order-config-manager/details.js +4 -4
- package/addon/components/order-config-manager/entities.hbs +9 -10
- package/addon/components/order-config-manager/entities.js +30 -32
- package/addon/components/order-config-manager.hbs +1 -1
- package/addon/components/order-config-manager.js +25 -24
- package/addon/components/order-list-overlay/driver-panel-title.hbs +1 -1
- package/addon/components/order-progress-card.hbs +6 -6
- package/addon/components/part/details.hbs +108 -0
- package/addon/components/part/details.js +3 -0
- package/addon/components/part/form.hbs +163 -0
- package/addon/components/part/form.js +44 -0
- package/addon/components/place/activity.hbs +1 -0
- package/addon/components/place/activity.js +3 -0
- package/addon/components/place/card.hbs +1 -0
- package/addon/components/place/card.js +3 -0
- package/addon/components/place/comments.hbs +1 -0
- package/addon/components/place/comments.js +3 -0
- package/addon/components/place/details.hbs +106 -0
- package/addon/components/place/details.js +3 -0
- package/addon/components/place/documents.hbs +1 -0
- package/addon/components/place/documents.js +3 -0
- package/addon/components/place/driver-visits.hbs +1 -0
- package/addon/components/place/driver-visits.js +3 -0
- package/addon/components/place/form.hbs +60 -0
- package/addon/components/place/form.js +15 -0
- package/addon/components/place/frequency-map.hbs +1 -0
- package/addon/components/place/frequency-map.js +3 -0
- package/addon/components/place/map.hbs +1 -0
- package/addon/components/place/map.js +3 -0
- package/addon/components/place/operations.hbs +1 -0
- package/addon/components/place/operations.js +3 -0
- package/addon/components/place/performance.hbs +1 -0
- package/addon/components/place/performance.js +3 -0
- package/addon/components/place/recent-orders.hbs +1 -0
- package/addon/components/place/recent-orders.js +3 -0
- package/addon/components/place/rules.hbs +1 -0
- package/addon/components/place/rules.js +3 -0
- package/addon/components/place/service-areas.hbs +1 -0
- package/addon/components/place/service-areas.js +3 -0
- package/addon/components/route-list.hbs +2 -2
- package/addon/components/sensor/details.hbs +108 -0
- package/addon/components/sensor/details.js +3 -0
- package/addon/components/sensor/form.hbs +114 -0
- package/addon/components/sensor/form.js +29 -0
- package/addon/components/service-area/details.hbs +43 -0
- package/addon/components/service-area/form.hbs +49 -0
- package/addon/components/service-area/form.js +3 -0
- package/addon/components/service-rate/details.hbs +284 -0
- package/addon/components/service-rate/details.js +3 -0
- package/addon/components/service-rate/form.hbs +589 -0
- package/addon/components/service-rate/form.js +27 -0
- package/addon/components/telematic/details.hbs +85 -0
- package/addon/components/telematic/details.js +3 -0
- package/addon/components/telematic/form.hbs +84 -0
- package/addon/components/telematic/form.js +8 -0
- package/addon/components/vehicle/card.hbs +29 -0
- package/addon/components/vehicle/card.js +6 -0
- package/addon/components/vehicle/details.hbs +50 -0
- package/addon/components/vehicle/details.js +3 -0
- package/addon/components/vehicle/form.hbs +129 -0
- package/addon/components/vehicle/form.js +54 -0
- package/addon/components/vehicle/panel-header.hbs +79 -0
- package/addon/components/vehicle/panel-header.js +3 -0
- package/addon/components/vendor/details.hbs +50 -0
- package/addon/components/vendor/details.js +3 -0
- package/addon/components/vendor/form.hbs +149 -0
- package/addon/components/vendor/form.js +52 -0
- package/addon/components/warranty/details.hbs +81 -0
- package/addon/components/warranty/details.js +3 -0
- package/addon/components/warranty/form.hbs +82 -0
- package/addon/components/warranty/form.js +3 -0
- package/addon/components/widget/fleet-ops-key-metrics.hbs +1 -1
- package/addon/components/work-order/details.hbs +93 -0
- package/addon/components/work-order/details.js +3 -0
- package/addon/components/work-order/form.hbs +113 -0
- package/addon/components/work-order/form.js +13 -0
- package/addon/components/zone/details.hbs +38 -0
- package/addon/components/zone/form.hbs +33 -0
- package/addon/components/zone/form.js +3 -0
- package/addon/controllers/analytics/reports/index/details.js +24 -0
- package/addon/controllers/analytics/reports/index/edit.js +78 -0
- package/addon/controllers/analytics/reports/index/new.js +51 -0
- package/addon/controllers/analytics/reports/index.js +103 -0
- package/addon/controllers/application.js +7 -30
- package/addon/controllers/connectivity/devices/index/details/events.js +3 -0
- package/addon/controllers/connectivity/devices/index/details/index.js +3 -0
- package/addon/controllers/connectivity/devices/index/details.js +3 -0
- package/addon/controllers/connectivity/devices/index/edit.js +3 -0
- package/addon/controllers/connectivity/devices/index/new.js +32 -0
- package/addon/controllers/connectivity/devices/index.js +129 -0
- package/addon/controllers/connectivity/events/index/details.js +3 -0
- package/addon/controllers/connectivity/events/index.js +91 -0
- package/addon/controllers/connectivity/sensors/index/details/index.js +3 -0
- package/addon/controllers/connectivity/sensors/index/details.js +3 -0
- package/addon/controllers/connectivity/sensors/index/edit.js +3 -0
- package/addon/controllers/connectivity/sensors/index/new.js +32 -0
- package/addon/controllers/connectivity/sensors/index.js +129 -0
- package/addon/controllers/connectivity/telematics/index/details/devices.js +3 -0
- package/addon/controllers/connectivity/telematics/index/details/events.js +3 -0
- package/addon/controllers/connectivity/telematics/index/details/index.js +3 -0
- package/addon/controllers/connectivity/telematics/index/details/sensors.js +3 -0
- package/addon/controllers/connectivity/telematics/index/details.js +3 -0
- package/addon/controllers/connectivity/telematics/index/edit.js +3 -0
- package/addon/controllers/connectivity/telematics/index/new.js +32 -0
- package/addon/controllers/connectivity/telematics/index.js +129 -0
- package/addon/controllers/connectivity/tracking/index.js +3 -0
- package/addon/controllers/maintenance/equipment/index/details/index.js +3 -0
- package/addon/controllers/maintenance/equipment/index/details.js +3 -0
- package/addon/controllers/maintenance/equipment/index/edit.js +3 -0
- package/addon/controllers/maintenance/equipment/index/new.js +3 -0
- package/addon/controllers/maintenance/equipment/index.js +129 -0
- package/addon/controllers/maintenance/parts/index/details/index.js +3 -0
- package/addon/controllers/maintenance/parts/index/details.js +3 -0
- package/addon/controllers/maintenance/parts/index/edit.js +3 -0
- package/addon/controllers/maintenance/parts/index/new.js +3 -0
- package/addon/controllers/maintenance/parts/index.js +129 -0
- package/addon/controllers/maintenance/work-orders/index/details/index.js +3 -0
- package/addon/controllers/maintenance/work-orders/index/details.js +3 -0
- package/addon/controllers/maintenance/work-orders/index/edit.js +3 -0
- package/addon/controllers/maintenance/work-orders/index/new.js +3 -0
- package/addon/controllers/maintenance/work-orders/index.js +129 -0
- package/addon/controllers/management/contacts/customers/details.js +16 -52
- package/addon/controllers/management/contacts/customers/edit.js +40 -76
- package/addon/controllers/management/contacts/customers/new.js +25 -60
- package/addon/controllers/management/contacts/customers.js +137 -167
- package/addon/controllers/management/contacts/index/details.js +16 -52
- package/addon/controllers/management/contacts/index/edit.js +40 -76
- package/addon/controllers/management/contacts/index/new.js +25 -60
- package/addon/controllers/management/contacts/index.js +177 -338
- package/addon/controllers/management/contacts.js +23 -0
- package/addon/controllers/management/drivers/index/details.js +16 -58
- package/addon/controllers/management/drivers/index/edit.js +40 -93
- package/addon/controllers/management/drivers/index/new.js +25 -83
- package/addon/controllers/management/drivers/index.js +267 -500
- package/addon/controllers/management/fleets/index/details.js +24 -58
- package/addon/controllers/management/fleets/index/edit.js +40 -93
- package/addon/controllers/management/fleets/index/new.js +25 -83
- package/addon/controllers/management/fleets/index.js +244 -416
- package/addon/controllers/management/fuel-reports/index/details.js +15 -59
- package/addon/controllers/management/fuel-reports/index/edit.js +40 -93
- package/addon/controllers/management/fuel-reports/index/new.js +26 -90
- package/addon/controllers/management/fuel-reports/index.js +188 -365
- package/addon/controllers/management/issues/index/details.js +16 -51
- package/addon/controllers/management/issues/index/edit.js +40 -93
- package/addon/controllers/management/issues/index/new.js +25 -89
- package/addon/controllers/management/issues/index.js +219 -404
- package/addon/controllers/management/places/index/details.js +16 -52
- package/addon/controllers/management/places/index/edit.js +40 -93
- package/addon/controllers/management/places/index/new.js +25 -83
- package/addon/controllers/management/places/index.js +227 -437
- package/addon/controllers/management/vehicles/index/details.js +16 -58
- package/addon/controllers/management/vehicles/index/edit.js +39 -92
- package/addon/controllers/management/vehicles/index/new.js +26 -82
- package/addon/controllers/management/vehicles/index.js +268 -465
- package/addon/controllers/management/vendors/index/details.js +16 -52
- package/addon/controllers/management/vendors/index/edit.js +39 -92
- package/addon/controllers/management/vendors/index/new.js +32 -82
- package/addon/controllers/management/vendors/index.js +234 -435
- package/addon/controllers/management/vendors/integrated/details.js +3 -0
- package/addon/controllers/management/vendors/integrated/edit.js +3 -0
- package/addon/controllers/management/vendors/integrated/new.js +3 -0
- package/addon/controllers/management/vendors/integrated.js +3 -0
- package/addon/controllers/operations/orders/index/details/index.js +5 -0
- package/addon/controllers/operations/orders/index/details.js +129 -0
- package/addon/controllers/operations/orders/index/new.js +71 -1520
- package/addon/controllers/operations/orders/index.js +348 -1155
- package/addon/controllers/operations/routes/index/new.js +0 -1
- package/addon/controllers/operations/scheduler/index.js +5 -5
- package/addon/controllers/operations/service-rates/index/details.js +19 -0
- package/addon/controllers/operations/service-rates/index/edit.js +60 -28
- package/addon/controllers/operations/service-rates/index/new.js +30 -354
- package/addon/controllers/operations/service-rates/index.js +122 -218
- package/addon/controllers/settings/custom-fields.js +56 -0
- package/addon/controllers/settings/routing.js +1 -1
- package/addon/engine.js +26 -30
- package/addon/helpers/get-fleet-ops-options.js +6 -0
- package/addon/helpers/is-model-leaflet-layer-hidden.js +10 -0
- package/addon/helpers/point-coordinates.js +1 -1
- package/addon/initializers/leaflet-intersects-polyfill.js +23 -0
- package/addon/routes/analytics/reports/index/details/index.js +3 -0
- package/addon/routes/analytics/reports/index/details/result.js +3 -0
- package/addon/routes/analytics/reports/index/details.js +33 -0
- package/addon/routes/analytics/reports/index/edit.js +29 -0
- package/addon/routes/analytics/reports/index/new.js +3 -0
- package/addon/routes/analytics/reports/index.js +21 -0
- package/addon/routes/analytics/reports.js +3 -0
- package/addon/routes/analytics.js +3 -0
- package/addon/routes/application.js +2 -2
- package/addon/routes/connectivity/devices/index/details/events.js +3 -0
- package/addon/routes/connectivity/devices/index/details/index.js +3 -0
- package/addon/routes/connectivity/devices/index/details.js +3 -0
- package/addon/routes/connectivity/devices/index/edit.js +3 -0
- package/addon/routes/connectivity/devices/index/new.js +3 -0
- package/addon/routes/connectivity/devices/index.js +21 -0
- package/addon/routes/connectivity/devices.js +3 -0
- package/addon/routes/connectivity/events/index/details.js +3 -0
- package/addon/routes/connectivity/events/index.js +21 -0
- package/addon/routes/connectivity/events.js +3 -0
- package/addon/routes/connectivity/sensors/index/details/index.js +3 -0
- package/addon/routes/connectivity/sensors/index/details.js +3 -0
- package/addon/routes/connectivity/sensors/index/edit.js +3 -0
- package/addon/routes/connectivity/sensors/index/new.js +3 -0
- package/addon/routes/connectivity/sensors/index.js +21 -0
- package/addon/routes/connectivity/sensors.js +3 -0
- package/addon/routes/connectivity/telematics/index/details/devices.js +3 -0
- package/addon/routes/connectivity/telematics/index/details/events.js +3 -0
- package/addon/routes/connectivity/telematics/index/details/index.js +3 -0
- package/addon/routes/connectivity/telematics/index/details/sensors.js +3 -0
- package/addon/routes/connectivity/telematics/index/details.js +3 -0
- package/addon/routes/connectivity/telematics/index/edit.js +3 -0
- package/addon/routes/connectivity/telematics/index/new.js +3 -0
- package/addon/routes/connectivity/telematics/index.js +21 -0
- package/addon/routes/connectivity/telematics.js +3 -0
- package/addon/routes/connectivity/tracking/index.js +3 -0
- package/addon/routes/connectivity/tracking.js +3 -0
- package/addon/routes/connectivity.js +3 -0
- package/addon/routes/maintenance/equipment/index/details/index.js +3 -0
- package/addon/routes/maintenance/equipment/index/details.js +3 -0
- package/addon/routes/maintenance/equipment/index/edit.js +3 -0
- package/addon/routes/maintenance/equipment/index/new.js +3 -0
- package/addon/routes/maintenance/equipment/index.js +21 -0
- package/addon/routes/maintenance/equipment.js +3 -0
- package/addon/routes/maintenance/parts/index/details/index.js +3 -0
- package/addon/routes/maintenance/parts/index/details.js +3 -0
- package/addon/routes/maintenance/parts/index/edit.js +3 -0
- package/addon/routes/maintenance/parts/index/new.js +3 -0
- package/addon/routes/maintenance/parts/index.js +21 -0
- package/addon/routes/maintenance/parts.js +3 -0
- package/addon/routes/maintenance/work-orders/index/details/index.js +3 -0
- package/addon/routes/maintenance/work-orders/index/details.js +3 -0
- package/addon/routes/maintenance/work-orders/index/edit.js +3 -0
- package/addon/routes/maintenance/work-orders/index/new.js +3 -0
- package/addon/routes/maintenance/work-orders/index.js +21 -0
- package/addon/routes/maintenance/work-orders.js +3 -0
- package/addon/routes/maintenance.js +3 -0
- package/addon/routes/management/contacts/customers/details/index.js +3 -0
- package/addon/routes/management/contacts/customers.js +2 -10
- package/addon/routes/management/contacts/index/details/index.js +3 -0
- package/addon/routes/management/contacts/index.js +1 -1
- package/addon/routes/management/drivers/index/details/index.js +3 -0
- package/addon/routes/management/drivers/index/details/orders.js +3 -0
- package/addon/routes/management/drivers/index/details/schedule.js +3 -0
- package/addon/routes/management/fleets/index/details/drivers.js +3 -0
- package/addon/routes/management/fleets/index/details/index.js +3 -0
- package/addon/routes/management/fleets/index/details/vehicles.js +3 -0
- package/addon/routes/management/fuel-reports/index/details/index.js +3 -0
- package/addon/routes/management/issues/index/details/index.js +3 -0
- package/addon/routes/management/places/index/details/activity.js +3 -0
- package/addon/routes/management/places/index/details/comments.js +3 -0
- package/addon/routes/management/places/index/details/documents.js +3 -0
- package/addon/routes/management/places/index/details/index.js +3 -0
- package/addon/routes/management/places/index/details/map.js +3 -0
- package/addon/routes/management/places/index/details/operations.js +3 -0
- package/addon/routes/management/places/index/details/performance.js +3 -0
- package/addon/routes/management/places/index/details/rules.js +3 -0
- package/addon/routes/management/places/index/details.js +0 -4
- package/addon/routes/management/places/index.js +2 -2
- package/addon/routes/management/vehicles/index/details/devices.js +3 -0
- package/addon/routes/management/vehicles/index/details/equipment.js +3 -0
- package/addon/routes/management/vehicles/index/details/index.js +3 -0
- package/addon/routes/management/vendors/index/details/index.js +3 -0
- package/addon/routes/management/vendors/index/details/personnel.js +3 -0
- package/addon/routes/management/vendors/integrated/details.js +3 -0
- package/addon/routes/management/vendors/integrated/edit.js +3 -0
- package/addon/routes/management/vendors/integrated/new.js +3 -0
- package/addon/routes/management/vendors/integrated.js +3 -0
- package/addon/routes/operations/orders/index/details/index.js +3 -0
- package/addon/routes/operations/orders/index/details.js +61 -0
- package/addon/routes/operations/orders/index/new.js +1 -7
- package/addon/routes/operations/orders/index.js +2 -14
- package/addon/routes/operations/routes/index/details.js +3 -0
- package/addon/routes/operations/service-rates/index/details/index.js +3 -0
- package/addon/routes/operations/service-rates/index/details.js +29 -0
- package/addon/routes/operations/service-rates/index/edit.js +13 -36
- package/addon/routes/settings/custom-fields.js +3 -0
- package/addon/routes.js +143 -28
- package/addon/services/contact-actions.js +115 -0
- package/addon/services/customer-actions.js +84 -0
- package/addon/services/device-actions.js +81 -0
- package/addon/services/device-event-actions.js +37 -0
- package/addon/services/driver-actions.js +147 -68
- package/addon/services/entity-actions.js +41 -0
- package/addon/services/equipment-actions.js +81 -0
- package/addon/services/fleet-actions.js +84 -0
- package/addon/services/fuel-report-actions.js +102 -0
- package/addon/services/geofence.js +285 -0
- package/addon/services/global-search.js +19 -0
- package/addon/services/integrated-vendor-actions.js +84 -0
- package/addon/services/issue-actions.js +108 -0
- package/addon/services/leaflet-draw-restriction.js +150 -0
- package/addon/services/leaflet-layer-visibility-manager.js +305 -0
- package/addon/services/leaflet-map-manager.js +388 -54
- package/addon/services/leaflet-routing-control.js +8 -1
- package/addon/services/maintenance-actions.js +81 -0
- package/addon/services/map-drawer.js +81 -0
- package/addon/services/order-actions.js +500 -0
- package/addon/services/order-config-actions.js +19 -0
- package/addon/services/order-creation.js +29 -27
- package/addon/services/order-import.js +149 -0
- package/addon/services/order-list-overlay.js +206 -0
- package/addon/services/order-socket-events.js +296 -0
- package/addon/services/order-validation.js +51 -0
- package/addon/services/part-actions.js +81 -0
- package/addon/services/place-actions.js +140 -0
- package/addon/services/report-actions.js +11 -0
- package/addon/services/route-optimization.js +1 -1
- package/addon/services/sensor-actions.js +81 -0
- package/addon/services/service-area-actions.js +98 -0
- package/addon/services/service-area-manager.js +24 -0
- package/addon/services/service-areas.js +6 -6
- package/addon/services/service-rate-actions.js +186 -0
- package/addon/services/telematic-actions.js +81 -0
- package/addon/services/vehicle-actions.js +113 -29
- package/addon/services/vendor-actions.js +137 -0
- package/addon/services/work-order-actions.js +81 -0
- package/addon/services/zone-actions.js +81 -0
- package/addon/styles/fleetops-engine.css +60 -1
- package/addon/templates/analytics/reports/index/details/index.hbs +1 -0
- package/addon/templates/analytics/reports/index/details/result.hbs +1 -0
- package/addon/templates/analytics/reports/index/details.hbs +15 -0
- package/addon/templates/analytics/reports/index/edit.hbs +13 -0
- package/addon/templates/analytics/reports/index/new.hbs +14 -0
- package/addon/templates/analytics/reports/index.hbs +15 -0
- package/addon/templates/application.hbs +5 -7
- package/addon/templates/connectivity/devices/index/details/events.hbs +2 -0
- package/addon/templates/connectivity/devices/index/details/index.hbs +2 -0
- package/addon/templates/connectivity/devices/index/details.hbs +2 -0
- package/addon/templates/connectivity/devices/index/edit.hbs +12 -0
- package/addon/templates/connectivity/devices/index/new.hbs +12 -0
- package/addon/templates/connectivity/devices/index.hbs +14 -0
- package/addon/templates/connectivity/devices.hbs +2 -0
- package/addon/templates/connectivity/events/index/details.hbs +2 -0
- package/addon/templates/connectivity/events/index.hbs +14 -0
- package/addon/templates/connectivity/events.hbs +2 -0
- package/addon/templates/connectivity/sensors/index/details/index.hbs +2 -0
- package/addon/templates/connectivity/sensors/index/details.hbs +2 -0
- package/addon/templates/connectivity/sensors/index/edit.hbs +12 -0
- package/addon/templates/connectivity/sensors/index/new.hbs +12 -0
- package/addon/templates/connectivity/sensors/index.hbs +14 -0
- package/addon/templates/connectivity/sensors.hbs +2 -0
- package/addon/templates/connectivity/telematics/index/details/devices.hbs +2 -0
- package/addon/templates/connectivity/telematics/index/details/events.hbs +2 -0
- package/addon/templates/connectivity/telematics/index/details/index.hbs +2 -0
- package/addon/templates/connectivity/telematics/index/details/sensors.hbs +2 -0
- package/addon/templates/connectivity/telematics/index/details.hbs +2 -0
- package/addon/templates/connectivity/telematics/index/edit.hbs +12 -0
- package/addon/templates/connectivity/telematics/index/new.hbs +12 -0
- package/addon/templates/connectivity/telematics/index.hbs +14 -0
- package/addon/templates/connectivity/telematics.hbs +2 -0
- package/addon/templates/connectivity/tracking.hbs +2 -0
- package/addon/templates/connectivity.hbs +2 -0
- package/addon/templates/maintenance/equipment/index/details/index.hbs +2 -0
- package/addon/templates/maintenance/equipment/index/details.hbs +2 -0
- package/addon/templates/maintenance/equipment/index/edit.hbs +2 -0
- package/addon/templates/maintenance/equipment/index/new.hbs +12 -0
- package/addon/templates/maintenance/equipment/index.hbs +14 -0
- package/addon/templates/maintenance/equipment.hbs +2 -0
- package/addon/templates/maintenance/parts/index/details/index.hbs +2 -0
- package/addon/templates/maintenance/parts/index/details.hbs +2 -0
- package/addon/templates/maintenance/parts/index/edit.hbs +2 -0
- package/addon/templates/maintenance/parts/index/new.hbs +12 -0
- package/addon/templates/maintenance/parts/index.hbs +14 -0
- package/addon/templates/maintenance/parts.hbs +2 -0
- package/addon/templates/maintenance/work-orders/index/details/index.hbs +1 -0
- package/addon/templates/maintenance/work-orders/index/details.hbs +14 -0
- package/addon/templates/maintenance/work-orders/index/edit.hbs +14 -0
- package/addon/templates/maintenance/work-orders/index/new.hbs +12 -0
- package/addon/templates/maintenance/work-orders/index.hbs +14 -0
- package/addon/templates/maintenance/work-orders.hbs +2 -0
- package/addon/templates/management/contacts/customers/details/index.hbs +1 -0
- package/addon/templates/management/contacts/customers/details.hbs +15 -1
- package/addon/templates/management/contacts/customers/edit.hbs +13 -7
- package/addon/templates/management/contacts/customers/new.hbs +14 -1
- package/addon/templates/management/contacts/customers.hbs +16 -59
- package/addon/templates/management/contacts/index/details/index.hbs +1 -0
- package/addon/templates/management/contacts/index/details.hbs +15 -1
- package/addon/templates/management/contacts/index/edit.hbs +12 -7
- package/addon/templates/management/contacts/index/new.hbs +13 -1
- package/addon/templates/management/contacts/index.hbs +15 -58
- package/addon/templates/management/contacts.hbs +18 -9
- package/addon/templates/management/drivers/index/details/index.hbs +1 -0
- package/addon/templates/management/drivers/index/details/orders.hbs +2 -0
- package/addon/templates/management/drivers/index/details/schedule.hbs +2 -0
- package/addon/templates/management/drivers/index/details.hbs +15 -1
- package/addon/templates/management/drivers/index/edit.hbs +12 -7
- package/addon/templates/management/drivers/index/new.hbs +13 -1
- package/addon/templates/management/drivers/index.hbs +13 -83
- package/addon/templates/management/fleets/index/details/drivers.hbs +1 -0
- package/addon/templates/management/fleets/index/details/index.hbs +1 -0
- package/addon/templates/management/fleets/index/details/vehicles.hbs +1 -0
- package/addon/templates/management/fleets/index/details.hbs +14 -1
- package/addon/templates/management/fleets/index/edit.hbs +12 -7
- package/addon/templates/management/fleets/index/new.hbs +13 -1
- package/addon/templates/management/fleets/index.hbs +15 -57
- package/addon/templates/management/fuel-reports/index/details/index.hbs +1 -0
- package/addon/templates/management/fuel-reports/index/details.hbs +14 -1
- package/addon/templates/management/fuel-reports/index/edit.hbs +12 -7
- package/addon/templates/management/fuel-reports/index/new.hbs +13 -1
- package/addon/templates/management/fuel-reports/index.hbs +15 -59
- package/addon/templates/management/issues/index/details/index.hbs +1 -0
- package/addon/templates/management/issues/index/details.hbs +14 -1
- package/addon/templates/management/issues/index/edit.hbs +12 -7
- package/addon/templates/management/issues/index/new.hbs +13 -1
- package/addon/templates/management/issues/index.hbs +15 -58
- package/addon/templates/management/places/index/details/activity.hbs +2 -0
- package/addon/templates/management/places/index/details/comments.hbs +2 -0
- package/addon/templates/management/places/index/details/documents.hbs +2 -0
- package/addon/templates/management/places/index/details/index.hbs +1 -0
- package/addon/templates/management/places/index/details/map.hbs +2 -0
- package/addon/templates/management/places/index/details/operations.hbs +2 -0
- package/addon/templates/management/places/index/details/performance.hbs +2 -0
- package/addon/templates/management/places/index/details/rules.hbs +2 -0
- package/addon/templates/management/places/index/details.hbs +14 -1
- package/addon/templates/management/places/index/edit.hbs +13 -7
- package/addon/templates/management/places/index/new.hbs +12 -1
- package/addon/templates/management/places/index.hbs +13 -57
- package/addon/templates/management/vehicles/index/details/devices.hbs +2 -0
- package/addon/templates/management/vehicles/index/details/equipment.hbs +2 -0
- package/addon/templates/management/vehicles/index/details/index.hbs +1 -0
- package/addon/templates/management/vehicles/index/details.hbs +15 -1
- package/addon/templates/management/vehicles/index/edit.hbs +12 -7
- package/addon/templates/management/vehicles/index/new.hbs +13 -1
- package/addon/templates/management/vehicles/index.hbs +45 -60
- package/addon/templates/management/vendors/index/details/index.hbs +1 -0
- package/addon/templates/management/vendors/index/details/personnel.hbs +2 -0
- package/addon/templates/management/vendors/index/details.hbs +14 -1
- package/addon/templates/management/vendors/index/edit.hbs +12 -7
- package/addon/templates/management/vendors/index/new.hbs +13 -1
- package/addon/templates/management/vendors/index.hbs +15 -57
- package/addon/templates/management/vendors/integrated/details.hbs +2 -0
- package/addon/templates/management/vendors/integrated/edit.hbs +2 -0
- package/addon/templates/management/vendors/integrated/new.hbs +2 -0
- package/addon/templates/management/vendors/integrated.hbs +16 -0
- package/addon/templates/operations/order-config.hbs +4 -4
- package/addon/templates/operations/orders/index/details/index.hbs +2 -0
- package/addon/templates/operations/orders/index/details.hbs +16 -0
- package/addon/templates/operations/orders/index/new.hbs +15 -976
- package/addon/templates/operations/orders/index.hbs +63 -152
- package/addon/templates/operations/routes/index/details.hbs +2 -0
- package/addon/templates/operations/scheduler/index.hbs +12 -13
- package/addon/templates/operations/service-rates/index/details/index.hbs +1 -0
- package/addon/templates/operations/service-rates/index/details.hbs +14 -0
- package/addon/templates/operations/service-rates/index/edit.hbs +12 -1
- package/addon/templates/operations/service-rates/index/new.hbs +12 -606
- package/addon/templates/operations/service-rates/index.hbs +13 -47
- package/addon/templates/settings/custom-fields.hbs +10 -0
- package/addon/templates/settings/navigator-app.hbs +1 -1
- package/addon/templates/settings/notifications.hbs +4 -4
- package/addon/templates/settings/payments/index.hbs +5 -5
- package/addon/templates/settings/payments/onboard.hbs +14 -7
- package/addon/templates/settings/routing.hbs +7 -7
- package/addon/utils/fleet-ops-options.js +440 -0
- package/addon/utils/leaflet-to-geojson.js +124 -0
- package/addon/utils/leaflet.js +56 -0
- package/addon/utils/serialize-payload.js +13 -0
- package/addon/utils/setup-customer-portal.js +67 -0
- package/addon/utils/to-multi-polygon.js +62 -0
- package/addon/utils/vendor-integration.js +106 -0
- package/app/components/activity/event-selector.js +1 -0
- package/app/components/activity/form.js +1 -0
- package/app/components/activity/logic-builder.js +1 -0
- package/app/components/asset/form.js +1 -0
- package/app/components/contact/details.js +1 -0
- package/app/components/contact/form.js +1 -0
- package/app/components/contact/panel-header.js +1 -0
- package/app/components/custom-entity/form.js +1 -0
- package/app/components/customer/details.js +1 -0
- package/app/components/customer/form.js +1 -0
- package/app/components/customer/leaflet-map.js +1 -0
- package/app/components/customer/order-details.js +1 -0
- package/app/components/customer/order-form.js +1 -0
- package/app/components/device/details.js +1 -0
- package/app/components/device/form.js +1 -0
- package/app/components/driver/details.js +1 -0
- package/app/components/driver/form.js +1 -0
- package/app/components/driver/panel-header.js +1 -0
- package/app/components/entity/card.js +1 -0
- package/app/components/entity/details.js +1 -0
- package/app/components/entity/form.js +1 -0
- package/app/components/equipment/details.js +1 -0
- package/app/components/equipment/form.js +1 -0
- package/app/components/fleet/details.js +1 -0
- package/app/components/fleet/driver-listing.js +1 -0
- package/app/components/fleet/form.js +1 -0
- package/app/components/fleet/vehicle-listing.js +1 -0
- package/app/components/fuel-report/details.js +1 -0
- package/app/components/fuel-report/form.js +1 -0
- package/app/components/integrated-vendor/details.js +1 -0
- package/app/components/integrated-vendor/form.js +1 -0
- package/app/components/issue/details.js +1 -0
- package/app/components/issue/form.js +1 -0
- package/app/components/maintenance/details.js +1 -0
- package/app/components/maintenance/form.js +1 -0
- package/app/components/map/container.js +1 -0
- package/app/components/map/drawer/driver-listing.js +1 -0
- package/app/components/map/drawer/event-listing.js +1 -0
- package/app/components/map/drawer/place-listing.js +1 -0
- package/app/components/map/drawer/vehicle-listing.js +1 -0
- package/app/components/map/drawer.js +1 -0
- package/app/components/map/leaflet-live-map.js +1 -0
- package/app/components/map/leaflet-tracking-layer.js +1 -0
- package/app/components/map/order-list-overlay/driver-panel-title.js +1 -0
- package/app/components/map/order-list-overlay/order.js +1 -0
- package/app/components/map/order-list-overlay.js +1 -0
- package/app/components/map/search.js +1 -0
- package/app/components/map/toolbar/visibility-control-panel.js +1 -0
- package/app/components/map/toolbar/zones-panel.js +1 -0
- package/app/components/map/toolbar.js +1 -0
- package/app/components/map.js +1 -0
- package/app/components/modals/update-order-activity.js +1 -0
- package/app/components/order/activity-list.js +1 -0
- package/app/components/order/activity-timeline.js +1 -0
- package/app/components/order/customer-avatar-stack.js +1 -0
- package/app/components/order/details/activity.js +1 -0
- package/app/components/order/details/comments.js +1 -0
- package/app/components/order/details/custom-fields.js +1 -0
- package/app/components/order/details/detail.js +1 -0
- package/app/components/order/details/documents.js +1 -0
- package/app/components/order/details/integrated-vendor-details.js +1 -0
- package/app/components/order/details/map.js +1 -0
- package/app/components/order/details/metadata.js +1 -0
- package/app/components/order/details/notes.js +1 -0
- package/app/components/order/details/payload.js +1 -0
- package/app/components/order/details/proof.js +1 -0
- package/app/components/order/details/purchase-rate.js +1 -0
- package/app/components/order/details/route.js +1 -0
- package/app/components/order/details/tracking.js +1 -0
- package/app/components/order/details.js +1 -0
- package/app/components/order/form/custom-fields.js +1 -0
- package/app/components/order/form/details.js +1 -0
- package/app/components/order/form/documents.js +1 -0
- package/app/components/order/form/metadata.js +1 -0
- package/app/components/order/form/notes.js +1 -0
- package/app/components/order/form/payload.js +1 -0
- package/app/components/order/form/route.js +1 -0
- package/app/components/order/form/service-rate.js +1 -0
- package/app/components/order/form.js +1 -0
- package/app/components/order/kanban-card.js +1 -0
- package/app/components/order/kanban.js +1 -0
- package/app/components/order/panel-header.js +1 -0
- package/app/components/order/route-editor.js +1 -0
- package/app/components/part/details.js +1 -0
- package/app/components/part/form.js +1 -0
- package/app/components/place/activity.js +1 -0
- package/app/components/place/card.js +1 -0
- package/app/components/place/comments.js +1 -0
- package/app/components/place/details.js +1 -0
- package/app/components/place/documents.js +1 -0
- package/app/components/place/driver-visits.js +1 -0
- package/app/components/place/form.js +1 -0
- package/app/components/place/frequency-map.js +1 -0
- package/app/components/place/map.js +1 -0
- package/app/components/place/operations.js +1 -0
- package/app/components/place/performance.js +1 -0
- package/app/components/place/recent-orders.js +1 -0
- package/app/components/place/rules.js +1 -0
- package/app/components/place/service-areas.js +1 -0
- package/app/components/sensor/details.js +1 -0
- package/app/components/sensor/form.js +1 -0
- package/app/components/service-area/details.js +1 -0
- package/app/components/service-area/form.js +1 -0
- package/app/components/service-rate/details.js +1 -0
- package/app/components/service-rate/form.js +1 -0
- package/app/components/telematic/details.js +1 -0
- package/app/components/telematic/form.js +1 -0
- package/app/components/vehicle/card.js +1 -0
- package/app/components/vehicle/details.js +1 -0
- package/app/components/vehicle/form.js +1 -0
- package/app/components/vehicle/panel-header.js +1 -0
- package/app/components/vendor/details.js +1 -0
- package/app/components/vendor/form.js +1 -0
- package/app/components/warranty/details.js +1 -0
- package/app/components/warranty/form.js +1 -0
- package/app/components/work-order/details.js +1 -0
- package/app/components/work-order/form.js +1 -0
- package/app/components/zone/details.js +1 -0
- package/app/components/zone/form.js +1 -0
- package/app/controllers/analytics/reports/index/details.js +1 -0
- package/app/controllers/analytics/reports/index/edit.js +1 -0
- package/app/controllers/analytics/reports/index/new.js +1 -0
- package/app/controllers/analytics/reports/index.js +1 -0
- package/app/controllers/connectivity/devices/index/details/events.js +1 -0
- package/app/controllers/connectivity/devices/index/details/index.js +1 -0
- package/app/controllers/connectivity/devices/index/details.js +1 -0
- package/app/controllers/connectivity/devices/index/edit.js +1 -0
- package/app/controllers/connectivity/devices/index/new.js +1 -0
- package/app/controllers/connectivity/devices/index.js +1 -0
- package/app/controllers/connectivity/events/index/details.js +1 -0
- package/app/controllers/connectivity/events/index.js +1 -0
- package/app/controllers/connectivity/sensors/index/details/index.js +1 -0
- package/app/controllers/connectivity/sensors/index/details.js +1 -0
- package/app/controllers/connectivity/sensors/index/edit.js +1 -0
- package/app/controllers/connectivity/sensors/index/new.js +1 -0
- package/app/controllers/connectivity/sensors/index.js +1 -0
- package/app/controllers/connectivity/telematics/index/details/devices.js +1 -0
- package/app/controllers/connectivity/telematics/index/details/events.js +1 -0
- package/app/controllers/connectivity/telematics/index/details/index.js +1 -0
- package/app/controllers/connectivity/telematics/index/details/sensors.js +1 -0
- package/app/controllers/connectivity/telematics/index/details.js +1 -0
- package/app/controllers/connectivity/telematics/index/edit.js +1 -0
- package/app/controllers/connectivity/telematics/index/new.js +1 -0
- package/app/controllers/connectivity/telematics/index.js +1 -0
- package/app/controllers/connectivity/tracking/index.js +1 -0
- package/app/controllers/maintenance/equipment/index/details/index.js +1 -0
- package/app/controllers/maintenance/equipment/index/details.js +1 -0
- package/app/controllers/maintenance/equipment/index/edit.js +1 -0
- package/app/controllers/maintenance/equipment/index/new.js +1 -0
- package/app/controllers/maintenance/equipment/index.js +1 -0
- package/app/controllers/maintenance/parts/index/details/index.js +1 -0
- package/app/controllers/maintenance/parts/index/details.js +1 -0
- package/app/controllers/maintenance/parts/index/edit.js +1 -0
- package/app/controllers/maintenance/parts/index/new.js +1 -0
- package/app/controllers/maintenance/parts/index.js +1 -0
- package/app/controllers/maintenance/work-orders/index/details/index.js +1 -0
- package/app/controllers/maintenance/work-orders/index/details.js +1 -0
- package/app/controllers/maintenance/work-orders/index/edit.js +1 -0
- package/app/controllers/maintenance/work-orders/index/new.js +1 -0
- package/app/controllers/maintenance/work-orders/index.js +1 -0
- package/app/controllers/management/contacts.js +1 -0
- package/app/controllers/management/vendors/integrated/details.js +1 -0
- package/app/controllers/management/vendors/integrated/edit.js +1 -0
- package/app/controllers/management/vendors/integrated/new.js +1 -0
- package/app/controllers/management/vendors/integrated.js +1 -0
- package/app/controllers/operations/orders/index/details/index.js +1 -0
- package/app/controllers/operations/orders/index/details.js +1 -0
- package/app/controllers/operations/service-rates/index/details.js +1 -0
- package/app/controllers/settings/custom-fields.js +1 -0
- package/app/helpers/get-fleet-ops-options.js +1 -0
- package/app/helpers/is-model-leaflet-layer-hidden.js +1 -0
- package/app/routes/analytics/reports/index/details/index.js +1 -0
- package/app/routes/analytics/reports/index/details/result.js +1 -0
- package/app/routes/analytics/reports/index/details.js +1 -0
- package/app/routes/analytics/reports/index/edit.js +1 -0
- package/app/routes/analytics/reports/index/new.js +1 -0
- package/app/routes/analytics/reports/index.js +1 -0
- package/app/routes/analytics/reports.js +1 -0
- package/app/routes/analytics.js +1 -0
- package/app/routes/connectivity/devices/index/details/events.js +1 -0
- package/app/routes/connectivity/devices/index/details/index.js +1 -0
- package/app/routes/connectivity/devices/index/details.js +1 -0
- package/app/routes/connectivity/devices/index/edit.js +1 -0
- package/app/routes/connectivity/devices/index/new.js +1 -0
- package/app/routes/connectivity/devices/index.js +1 -0
- package/app/routes/connectivity/devices.js +1 -0
- package/app/routes/connectivity/events/index/details.js +1 -0
- package/app/routes/connectivity/events/index.js +1 -0
- package/app/routes/connectivity/events.js +1 -0
- package/app/routes/connectivity/sensors/index/details/index.js +1 -0
- package/app/routes/connectivity/sensors/index/details.js +1 -0
- package/app/routes/connectivity/sensors/index/edit.js +1 -0
- package/app/routes/connectivity/sensors/index/new.js +1 -0
- package/app/routes/connectivity/sensors/index.js +1 -0
- package/app/routes/connectivity/sensors.js +1 -0
- package/app/routes/connectivity/telematics/index/details/devices.js +1 -0
- package/app/routes/connectivity/telematics/index/details/events.js +1 -0
- package/app/routes/connectivity/telematics/index/details/index.js +1 -0
- package/app/routes/connectivity/telematics/index/details/sensors.js +1 -0
- package/app/routes/connectivity/telematics/index/details.js +1 -0
- package/app/routes/connectivity/telematics/index/edit.js +1 -0
- package/app/routes/connectivity/telematics/index/new.js +1 -0
- package/app/routes/connectivity/telematics/index.js +1 -0
- package/app/routes/connectivity/telematics.js +1 -0
- package/app/routes/connectivity/tracking/index.js +1 -0
- package/app/routes/connectivity/tracking.js +1 -0
- package/app/routes/connectivity.js +1 -0
- package/app/routes/maintenance/equipment/index/details/index.js +1 -0
- package/app/routes/maintenance/equipment/index/details.js +1 -0
- package/app/routes/maintenance/equipment/index/edit.js +1 -0
- package/app/routes/maintenance/equipment/index/new.js +1 -0
- package/app/routes/maintenance/equipment/index.js +1 -0
- package/app/routes/maintenance/equipment.js +1 -0
- package/app/routes/maintenance/parts/index/details/index.js +1 -0
- package/app/routes/maintenance/parts/index/details.js +1 -0
- package/app/routes/maintenance/parts/index/edit.js +1 -0
- package/app/routes/maintenance/parts/index/new.js +1 -0
- package/app/routes/maintenance/parts/index.js +1 -0
- package/app/routes/maintenance/parts.js +1 -0
- package/app/routes/maintenance/work-orders/index/details/index.js +1 -0
- package/app/routes/maintenance/work-orders/index/details.js +1 -0
- package/app/routes/maintenance/work-orders/index/edit.js +1 -0
- package/app/routes/maintenance/work-orders/index/new.js +1 -0
- package/app/routes/maintenance/work-orders/index.js +1 -0
- package/app/routes/maintenance/work-orders.js +1 -0
- package/app/routes/maintenance.js +1 -0
- package/app/routes/management/contacts/customers/details/index.js +1 -0
- package/app/routes/management/contacts/index/details/index.js +1 -0
- package/app/routes/management/drivers/index/details/index.js +1 -0
- package/app/routes/management/drivers/index/details/orders.js +1 -0
- package/app/routes/management/drivers/index/details/schedule.js +1 -0
- package/app/routes/management/fleets/index/details/drivers.js +1 -0
- package/app/routes/management/fleets/index/details/index.js +1 -0
- package/app/routes/management/fleets/index/details/vehicles.js +1 -0
- package/app/routes/management/fuel-reports/index/details/index.js +1 -0
- package/app/routes/management/issues/index/details/index.js +1 -0
- package/app/routes/management/places/index/details/activity.js +1 -0
- package/app/routes/management/places/index/details/comments.js +1 -0
- package/app/routes/management/places/index/details/documents.js +1 -0
- package/app/routes/management/places/index/details/index.js +1 -0
- package/app/routes/management/places/index/details/map.js +1 -0
- package/app/routes/management/places/index/details/operations.js +1 -0
- package/app/routes/management/places/index/details/performance.js +1 -0
- package/app/routes/management/places/index/details/rules.js +1 -0
- package/app/routes/management/vehicles/index/details/devices.js +1 -0
- package/app/routes/management/vehicles/index/details/equipment.js +1 -0
- package/app/routes/management/vehicles/index/details/index.js +1 -0
- package/app/routes/management/vendors/index/details/index.js +1 -0
- package/app/routes/management/vendors/index/details/personnel.js +1 -0
- package/app/routes/management/vendors/integrated/details.js +1 -0
- package/app/routes/management/vendors/integrated/edit.js +1 -0
- package/app/routes/management/vendors/integrated/new.js +1 -0
- package/app/routes/management/vendors/integrated.js +1 -0
- package/app/routes/operations/orders/index/details/index.js +1 -0
- package/app/routes/operations/orders/index/details.js +1 -0
- package/app/routes/operations/routes/index/details.js +1 -0
- package/app/routes/operations/service-rates/index/details/index.js +1 -0
- package/app/routes/operations/service-rates/index/details.js +1 -0
- package/app/routes/settings/custom-fields.js +1 -0
- package/app/services/contact-actions.js +1 -0
- package/app/services/customer-actions.js +1 -0
- package/app/services/device-actions.js +1 -0
- package/app/services/device-event-actions.js +1 -0
- package/app/services/entity-actions.js +1 -0
- package/app/services/equipment-actions.js +1 -0
- package/app/services/fleet-actions.js +1 -0
- package/app/services/fuel-report-actions.js +1 -0
- package/app/services/geofence.js +1 -0
- package/app/services/global-search.js +1 -0
- package/app/services/integrated-vendor-actions.js +1 -0
- package/app/services/issue-actions.js +1 -0
- package/app/services/leaflet-draw-restriction.js +1 -0
- package/app/services/leaflet-layer-visibility-manager.js +1 -0
- package/app/services/maintenance-actions.js +1 -0
- package/app/services/map-drawer.js +1 -0
- package/app/services/order-actions.js +1 -0
- package/app/services/order-config-actions.js +1 -0
- package/app/services/order-import.js +1 -0
- package/app/services/order-list-overlay.js +1 -0
- package/app/services/order-socket-events.js +1 -0
- package/app/services/order-validation.js +1 -0
- package/app/services/part-actions.js +1 -0
- package/app/services/place-actions.js +1 -0
- package/app/services/report-actions.js +1 -0
- package/app/services/sensor-actions.js +1 -0
- package/app/services/service-area-actions.js +1 -0
- package/app/services/service-area-manager.js +1 -0
- package/app/services/service-rate-actions.js +1 -0
- package/app/services/telematic-actions.js +1 -0
- package/app/services/vendor-actions.js +1 -0
- package/app/services/work-order-actions.js +1 -0
- package/app/services/zone-actions.js +1 -0
- package/app/templates/analytics/reports/index/details/index.js +1 -0
- package/app/templates/analytics/reports/index/details/result.js +1 -0
- package/app/templates/analytics/reports/index/details.js +1 -0
- package/app/templates/analytics/reports/index/edit.js +1 -0
- package/app/templates/analytics/reports/index/new.js +1 -0
- package/app/templates/analytics/reports/index.js +1 -0
- package/app/templates/analytics/reports.js +1 -0
- package/app/templates/analytics.js +1 -0
- package/app/templates/connectivity/devices/index/details/events.js +1 -0
- package/app/templates/connectivity/devices/index/details/index.js +1 -0
- package/app/templates/connectivity/devices/index/details.js +1 -0
- package/app/templates/connectivity/devices/index/edit.js +1 -0
- package/app/templates/connectivity/devices/index/new.js +1 -0
- package/app/templates/connectivity/devices/index.js +1 -0
- package/app/templates/connectivity/devices.js +1 -0
- package/app/templates/connectivity/events/index/details.js +1 -0
- package/app/templates/connectivity/events/index.js +1 -0
- package/app/templates/connectivity/events.js +1 -0
- package/app/templates/connectivity/sensors/index/details/index.js +1 -0
- package/app/templates/connectivity/sensors/index/details.js +1 -0
- package/app/templates/connectivity/sensors/index/edit.js +1 -0
- package/app/templates/connectivity/sensors/index/new.js +1 -0
- package/app/templates/connectivity/sensors/index.js +1 -0
- package/app/templates/connectivity/sensors.js +1 -0
- package/app/templates/connectivity/telematics/index/details/devices.js +1 -0
- package/app/templates/connectivity/telematics/index/details/events.js +1 -0
- package/app/templates/connectivity/telematics/index/details/index.js +1 -0
- package/app/templates/connectivity/telematics/index/details/sensors.js +1 -0
- package/app/templates/connectivity/telematics/index/details.js +1 -0
- package/app/templates/connectivity/telematics/index/edit.js +1 -0
- package/app/templates/connectivity/telematics/index/new.js +1 -0
- package/app/templates/connectivity/telematics/index.js +1 -0
- package/app/templates/connectivity/telematics.js +1 -0
- package/app/templates/connectivity/tracking/index.js +1 -0
- package/app/templates/connectivity/tracking.js +1 -0
- package/app/templates/connectivity.js +1 -0
- package/app/templates/maintenance/equipment/index/details/index.js +1 -0
- package/app/templates/maintenance/equipment/index/details.js +1 -0
- package/app/templates/maintenance/equipment/index/edit.js +1 -0
- package/app/templates/maintenance/equipment/index/new.js +1 -0
- package/app/templates/maintenance/equipment/index.js +1 -0
- package/app/templates/maintenance/equipment.js +1 -0
- package/app/templates/maintenance/parts/index/details/index.js +1 -0
- package/app/templates/maintenance/parts/index/details.js +1 -0
- package/app/templates/maintenance/parts/index/edit.js +1 -0
- package/app/templates/maintenance/parts/index/new.js +1 -0
- package/app/templates/maintenance/parts/index.js +1 -0
- package/app/templates/maintenance/parts.js +1 -0
- package/app/templates/maintenance/work-orders/index/details/index.js +1 -0
- package/app/templates/maintenance/work-orders/index/details.js +1 -0
- package/app/templates/maintenance/work-orders/index/edit.js +1 -0
- package/app/templates/maintenance/work-orders/index/new.js +1 -0
- package/app/templates/maintenance/work-orders/index.js +1 -0
- package/app/templates/maintenance/work-orders.js +1 -0
- package/app/templates/maintenance.js +1 -0
- package/app/templates/management/contacts/customers/details/index.js +1 -0
- package/app/templates/management/contacts/index/details/index.js +1 -0
- package/app/templates/management/drivers/index/details/index.js +1 -0
- package/app/templates/management/drivers/index/details/orders.js +1 -0
- package/app/templates/management/drivers/index/details/schedule.js +1 -0
- package/app/templates/management/fleets/index/details/drivers.js +1 -0
- package/app/templates/management/fleets/index/details/index.js +1 -0
- package/app/templates/management/fleets/index/details/vehicles.js +1 -0
- package/app/templates/management/fuel-reports/index/details/index.js +1 -0
- package/app/templates/management/issues/index/details/index.js +1 -0
- package/app/templates/management/places/index/details/activity.js +1 -0
- package/app/templates/management/places/index/details/comments.js +1 -0
- package/app/templates/management/places/index/details/documents.js +1 -0
- package/app/templates/management/places/index/details/index.js +1 -0
- package/app/templates/management/places/index/details/map.js +1 -0
- package/app/templates/management/places/index/details/operations.js +1 -0
- package/app/templates/management/places/index/details/performance.js +1 -0
- package/app/templates/management/places/index/details/rules.js +1 -0
- package/app/templates/management/vehicles/index/details/devices.js +1 -0
- package/app/templates/management/vehicles/index/details/equipment.js +1 -0
- package/app/templates/management/vehicles/index/details/index.js +1 -0
- package/app/templates/management/vendors/index/details/index.js +1 -0
- package/app/templates/management/vendors/index/details/personnel.js +1 -0
- package/app/templates/management/vendors/integrated/details.js +1 -0
- package/app/templates/management/vendors/integrated/edit.js +1 -0
- package/app/templates/management/vendors/integrated/new.js +1 -0
- package/app/templates/management/vendors/integrated.js +1 -0
- package/app/templates/operations/orders/index/details/index.js +1 -0
- package/app/templates/operations/orders/index/details.js +1 -0
- package/app/templates/operations/routes/index/details.js +1 -0
- package/app/templates/operations/service-rates/index/details/index.js +1 -0
- package/app/templates/operations/service-rates/index/details.js +1 -0
- package/app/templates/settings/custom-fields.js +1 -0
- package/app/utils/fleet-ops-options.js +1 -0
- package/app/utils/leaflet-to-geojson.js +1 -0
- package/app/utils/leaflet.js +1 -0
- package/app/utils/serialize-payload.js +1 -0
- package/app/utils/setup-customer-portal.js +1 -0
- package/app/utils/to-multi-polygon.js +1 -0
- package/app/utils/vendor-integration.js +1 -0
- package/composer.json +1 -1
- package/extension.json +1 -1
- package/index.js +3 -2
- package/package.json +7 -4
- package/server/migrations/2025_09_10_010724_create_additional_spec_columns_for_assets_vehicles_table.php +77 -0
- package/server/migrations/2025_09_14_031758_add_provider_options_column_to_integrated_vendors_tabl.php +27 -0
- package/server/migrations/2025_09_15_031052_add_title_column_to_issues_table.php +27 -0
- package/server/migrations/2025_09_24_004700_add_vehicle_columns.php +49 -0
- package/server/migrations/2025_10_07_020406_add_max_distance_to_service_rates_table.php +28 -0
- package/server/migrations/2025_10_08_091812_add_details_column_to_vehicles_table.php +27 -0
- package/server/src/Auth/Schemas/FleetOps.php +12 -0
- package/server/src/Console/Commands/DispatchAdhocOrders.php +21 -8
- package/server/src/Http/Controllers/Api/v1/ServiceRateController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/ContactController.php +12 -0
- package/server/src/Http/Controllers/Internal/v1/DeviceController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/DeviceEventController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/DriverController.php +17 -8
- package/server/src/Http/Controllers/Internal/v1/EquipmentController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/FleetController.php +17 -5
- package/server/src/Http/Controllers/Internal/v1/FuelReportController.php +13 -0
- package/server/src/Http/Controllers/Internal/v1/IssueController.php +13 -0
- package/server/src/Http/Controllers/Internal/v1/MaintenanceController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +124 -71
- package/server/src/Http/Controllers/Internal/v1/PartController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/PlaceController.php +11 -0
- package/server/src/Http/Controllers/Internal/v1/SensorController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/ServiceAreaController.php +13 -0
- package/server/src/Http/Controllers/Internal/v1/TelematicController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/VehicleController.php +12 -0
- package/server/src/Http/Controllers/Internal/v1/VendorController.php +11 -0
- package/server/src/Http/Controllers/Internal/v1/WarrantyController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/WorkOrderController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/ZoneController.php +13 -0
- package/server/src/Http/Filter/DriverFilter.php +5 -2
- package/server/src/Http/Filter/FleetFilter.php +5 -2
- package/server/src/Http/Filter/IssueFilter.php +3 -8
- package/server/src/Http/Filter/PlaceFilter.php +5 -0
- package/server/src/Http/Filter/VendorFilter.php +5 -2
- package/server/src/Http/Requests/CreateServiceRateRequest.php +4 -2
- package/server/src/Http/Resources/v1/Contact.php +6 -4
- package/server/src/Http/Resources/v1/CurrentJob.php +2 -2
- package/server/src/Http/Resources/v1/Driver.php +2 -2
- package/server/src/Http/Resources/v1/Fleet.php +2 -2
- package/server/src/Http/Resources/v1/FuelReport.php +2 -2
- package/server/src/Http/Resources/v1/Issue.php +34 -31
- package/server/src/Http/Resources/v1/Order.php +0 -29
- package/server/src/Http/Resources/v1/ParentFleet.php +2 -2
- package/server/src/Http/Resources/v1/Place.php +3 -3
- package/server/src/Http/Resources/v1/ServiceArea.php +2 -2
- package/server/src/Http/Resources/v1/ServiceRate.php +45 -34
- package/server/src/Http/Resources/v1/SubFleet.php +2 -2
- package/server/src/Http/Resources/v1/Vehicle.php +3 -3
- package/server/src/Http/Resources/v1/Vendor.php +5 -3
- package/server/src/Http/Resources/v1/Zone.php +2 -2
- package/server/src/Models/Asset.php +9 -0
- package/server/src/Models/Contact.php +22 -1
- package/server/src/Models/Driver.php +1 -1
- package/server/src/Models/IntegratedVendor.php +4 -2
- package/server/src/Models/Issue.php +21 -0
- package/server/src/Models/Order.php +26 -46
- package/server/src/Models/Payload.php +12 -3
- package/server/src/Models/Place.php +7 -1
- package/server/src/Models/ServiceArea.php +2 -0
- package/server/src/Models/ServiceRate.php +22 -4
- package/server/src/Models/Vehicle.php +195 -17
- package/server/src/Models/VehicleDeviceEvent.php +1 -1
- package/server/src/Models/Vendor.php +13 -0
- package/server/src/Models/Waypoint.php +58 -0
- package/server/src/Models/Zone.php +2 -0
- package/server/src/Providers/FleetOpsServiceProvider.php +1 -0
- package/server/src/Providers/ReportSchemaServiceProvider.php +22 -0
- package/server/src/Support/Reporting/FleetOpsReportSchema.php +729 -0
- package/server/src/Traits/HasTrackingNumber.php +10 -6
- package/server/src/routes.php +9 -0
- package/translations/bg-bg.yaml +1799 -0
- package/translations/en-us.yaml +1691 -1625
- package/translations/fr-fr.yaml +1824 -0
- package/translations/mn-mn.yaml +1768 -0
- package/translations/pt-br.yaml +1789 -0
- package/translations/ru-ru.yaml +1782 -0
- package/addon/components/activity-event-selector.hbs +0 -45
- package/addon/components/activity-event-selector.js +0 -89
- package/addon/components/activity-form-panel.hbs +0 -89
- package/addon/components/activity-form-panel.js +0 -109
- package/addon/components/activity-logic-builder.hbs +0 -128
- package/addon/components/activity-logic-builder.js +0 -260
- package/addon/components/contact-form-panel.hbs +0 -158
- package/addon/components/contact-form-panel.js +0 -168
- package/addon/components/contact-panel/details.hbs +0 -40
- package/addon/components/contact-panel/details.js +0 -3
- package/addon/components/contact-panel.hbs +0 -74
- package/addon/components/contact-panel.js +0 -112
- package/addon/components/context-panel.hbs +0 -5
- package/addon/components/context-panel.js +0 -6
- package/addon/components/custom-entity-form-panel.hbs +0 -98
- package/addon/components/custom-entity-form-panel.js +0 -129
- package/addon/components/custom-field-form-panel/options-input.hbs +0 -17
- package/addon/components/custom-field-form-panel/options-input.js +0 -139
- package/addon/components/custom-field-form-panel.hbs +0 -121
- package/addon/components/custom-field-form-panel.js +0 -147
- package/addon/components/custom-field-value.hbs +0 -11
- package/addon/components/custom-field-value.js +0 -41
- package/addon/components/custom-field.hbs +0 -89
- package/addon/components/custom-field.js +0 -145
- package/addon/components/customer-form-panel.hbs +0 -215
- package/addon/components/customer-form-panel.js +0 -219
- package/addon/components/customer-panel/details.hbs +0 -52
- package/addon/components/customer-panel/details.js +0 -3
- package/addon/components/customer-panel.hbs +0 -95
- package/addon/components/customer-panel.js +0 -124
- package/addon/components/driver-card-mini.hbs +0 -12
- package/addon/components/driver-card-mini.js +0 -46
- package/addon/components/driver-card.hbs +0 -27
- package/addon/components/driver-card.js +0 -14
- package/addon/components/driver-form-panel.hbs +0 -276
- package/addon/components/driver-form-panel.js +0 -243
- package/addon/components/driver-panel/details.hbs +0 -55
- package/addon/components/driver-panel/orders.hbs +0 -144
- package/addon/components/driver-panel/orders.js +0 -44
- package/addon/components/driver-panel.hbs +0 -84
- package/addon/components/driver-panel.js +0 -164
- package/addon/components/edit-order-route-panel.hbs +0 -183
- package/addon/components/edit-order-route-panel.js +0 -322
- package/addon/components/event-timeline/event.hbs +0 -5
- package/addon/components/fleet-form-panel.hbs +0 -151
- package/addon/components/fleet-form-panel.js +0 -128
- package/addon/components/fleet-panel.hbs +0 -35
- package/addon/components/fleet-panel.js +0 -129
- package/addon/components/fuel-report-form-panel.hbs +0 -170
- package/addon/components/fuel-report-form-panel.js +0 -167
- package/addon/components/fuel-report-panel/details.hbs +0 -42
- package/addon/components/fuel-report-panel.hbs +0 -46
- package/addon/components/fuel-report-panel.js +0 -148
- package/addon/components/full-size.js +0 -1
- package/addon/components/horizontal-route.hbs +0 -38
- package/addon/components/horizontal-route.js +0 -48
- package/addon/components/issue-form-panel.hbs +0 -226
- package/addon/components/issue-form-panel.js +0 -182
- package/addon/components/issue-panel/details.hbs +0 -48
- package/addon/components/issue-panel.hbs +0 -39
- package/addon/components/issue-panel.js +0 -148
- package/addon/components/live-map-drawer/driver-listing.hbs +0 -12
- package/addon/components/live-map-drawer/driver-listing.js +0 -246
- package/addon/components/live-map-drawer/place-listing.hbs +0 -12
- package/addon/components/live-map-drawer/place-listing.js +0 -209
- package/addon/components/live-map-drawer/vehicle-listing.hbs +0 -12
- package/addon/components/live-map-drawer/vehicle-listing.js +0 -222
- package/addon/components/live-map-drawer.hbs +0 -17
- package/addon/components/live-map-drawer.js +0 -86
- package/addon/components/live-map.hbs +0 -260
- package/addon/components/live-map.js +0 -1925
- package/addon/components/map-container/toolbar/visibility-control-panel.hbs +0 -66
- package/addon/components/map-container/toolbar/visibility-control-panel.js +0 -74
- package/addon/components/map-container/toolbar/zones-panel.hbs +0 -56
- package/addon/components/map-container/toolbar/zones-panel.js +0 -138
- package/addon/components/map-container/toolbar-container.hbs +0 -1
- package/addon/components/map-container/toolbar-container.js +0 -3
- package/addon/components/map-container/toolbar.hbs +0 -123
- package/addon/components/map-container/toolbar.js +0 -63
- package/addon/components/operations-pane/pane.hbs +0 -1
- package/addon/components/order-board.hbs +0 -27
- package/addon/components/order-board.js +0 -81
- package/addon/components/order-config/activity-flow-editor.hbs +0 -149
- package/addon/components/order-config/activity-flow-editor.js +0 -374
- package/addon/components/order-config/details-editor.hbs +0 -69
- package/addon/components/order-config/details-editor.js +0 -16
- package/addon/components/order-config/entities-editor.hbs +0 -89
- package/addon/components/order-config/entities-editor.js +0 -120
- package/addon/components/order-config/fields-editor.hbs +0 -169
- package/addon/components/order-config/fields-editor.js +0 -227
- package/addon/components/order-config/selector.js +0 -3
- package/addon/components/order-config-manager-overlay.hbs +0 -36
- package/addon/components/order-config-manager-overlay.js +0 -60
- package/addon/components/order-flow.js +0 -3
- package/addon/components/order-list-overlay.hbs +0 -178
- package/addon/components/order-list-overlay.js +0 -217
- package/addon/components/place-form-panel.hbs +0 -118
- package/addon/components/place-form-panel.js +0 -179
- package/addon/components/place-panel/details.hbs +0 -81
- package/addon/components/place-panel.hbs +0 -40
- package/addon/components/place-panel.js +0 -112
- package/addon/components/settings-window.hbs +0 -39
- package/addon/components/settings-window.js +0 -63
- package/addon/components/split-grid.js +0 -1
- package/addon/components/vehicle-form-panel.hbs +0 -219
- package/addon/components/vehicle-form-panel.js +0 -203
- package/addon/components/vehicle-panel/details.hbs +0 -44
- package/addon/components/vehicle-panel.hbs +0 -79
- package/addon/components/vehicle-panel.js +0 -153
- package/addon/components/vendor-form-panel/create-form.hbs +0 -250
- package/addon/components/vendor-form-panel/create-form.js +0 -153
- package/addon/components/vendor-form-panel/edit-form.hbs +0 -234
- package/addon/components/vendor-form-panel/edit-form.js +0 -57
- package/addon/components/vendor-form-panel.hbs +0 -115
- package/addon/components/vendor-form-panel.js +0 -160
- package/addon/components/vendor-panel/details.hbs +0 -77
- package/addon/components/vendor-panel/details.js +0 -12
- package/addon/components/vendor-panel/drivers.hbs +0 -81
- package/addon/components/vendor-panel/drivers.js +0 -139
- package/addon/components/vendor-panel/personnel.js +0 -3
- package/addon/components/vendor-panel.hbs +0 -73
- package/addon/components/vendor-panel.js +0 -124
- package/addon/controllers/base-controller.js +0 -31
- package/addon/controllers/management.js +0 -3
- package/addon/controllers/operations/orders/index/config/types.js +0 -17
- package/addon/controllers/operations/orders/index/config.js +0 -13
- package/addon/controllers/operations/orders/index/view.js +0 -1028
- package/addon/helpers/feature-group.js +0 -13
- package/addon/helpers/flow-raw-status.js +0 -13
- package/addon/helpers/get-tip-amount.js +0 -19
- package/addon/helpers/is-facilitator-supported-place.js +0 -6
- package/addon/helpers/is-section-visible.js +0 -5
- package/addon/helpers/is-visibility-control-visible.js +0 -18
- package/addon/helpers/is-waypoint-record.js +0 -6
- package/addon/helpers/service-name.js +0 -6
- package/addon/routes/comms/chat.js +0 -3
- package/addon/routes/comms/intercom.js +0 -3
- package/addon/routes/comms.js +0 -3
- package/addon/routes/operations/orders/index/config/types.js +0 -18
- package/addon/routes/operations/orders/index/config.js +0 -3
- package/addon/routes/operations/orders/index/view.js +0 -113
- package/addon/routes/operations/routes/index/view.js +0 -3
- package/addon/services/context-panel.js +0 -352
- package/addon/services/leaflet-router-control.js +0 -64
- package/addon/templates/operations/orders/index/config/types.hbs +0 -30
- package/addon/templates/operations/orders/index/config.hbs +0 -23
- package/addon/templates/operations/orders/index/view.hbs +0 -876
- package/addon/utils/calculate-percentage.js +0 -1
- package/addon/utils/find-leaflet-layer.js +0 -13
- package/addon/utils/fly-to-leaflet-layer.js +0 -32
- package/addon/utils/format-currency.js +0 -1
- package/addon/utils/get-custom-field-type-map.js +0 -34
- package/addon/utils/get-issue-categories.js +0 -30
- package/addon/utils/get-issue-types.js +0 -3
- package/addon/utils/get-leaflet-layer-by-id.js +0 -12
- package/addon/utils/get-vendor-status-options.js +0 -3
- package/addon/utils/get-vendor-type-options.js +0 -44
- package/addon/utils/layer-can-bind-contextmenu.js +0 -3
- package/addon/utils/to-model.js +0 -1
- package/app/components/activity-event-selector.js +0 -1
- package/app/components/activity-form-panel.js +0 -1
- package/app/components/activity-logic-builder.js +0 -1
- package/app/components/contact-form-panel.js +0 -1
- package/app/components/contact-panel/details.js +0 -1
- package/app/components/contact-panel.js +0 -1
- package/app/components/context-panel.js +0 -1
- package/app/components/custom-entity-form-panel.js +0 -1
- package/app/components/custom-field-form-panel/options-input.js +0 -1
- package/app/components/custom-field-form-panel.js +0 -1
- package/app/components/custom-field-value.js +0 -1
- package/app/components/custom-field.js +0 -1
- package/app/components/customer-form-panel.js +0 -1
- package/app/components/customer-panel/details.js +0 -1
- package/app/components/customer-panel.js +0 -1
- package/app/components/driver-card-mini.js +0 -1
- package/app/components/driver-card.js +0 -1
- package/app/components/driver-form-panel.js +0 -1
- package/app/components/driver-panel/details.js +0 -1
- package/app/components/driver-panel/orders.js +0 -1
- package/app/components/driver-panel.js +0 -1
- package/app/components/event-timeline/event.js +0 -1
- package/app/components/fleet-form-panel.js +0 -1
- package/app/components/fleet-panel.js +0 -1
- package/app/components/fuel-report-form-panel.js +0 -1
- package/app/components/fuel-report-panel.js +0 -1
- package/app/components/full-size.js +0 -1
- package/app/components/horizontal-route.js +0 -1
- package/app/components/issue-form-panel.js +0 -1
- package/app/components/issue-panel.js +0 -1
- package/app/components/live-map-drawer/driver-listing.js +0 -1
- package/app/components/live-map-drawer/place-listing.js +0 -1
- package/app/components/live-map-drawer/vehicle-listing.js +0 -1
- package/app/components/live-map-drawer.js +0 -1
- package/app/components/live-map.js +0 -1
- package/app/components/map-container/toolbar/visibility-control-panel.js +0 -1
- package/app/components/map-container/toolbar/zones-panel.js +0 -1
- package/app/components/map-container/toolbar-container.js +0 -1
- package/app/components/map-container/toolbar.js +0 -1
- package/app/components/operations-pane/pane.js +0 -1
- package/app/components/order-board.js +0 -1
- package/app/components/order-config/activity-flow-editor.js +0 -1
- package/app/components/order-config/details-editor.js +0 -1
- package/app/components/order-config/entities-editor.js +0 -1
- package/app/components/order-config/fields-editor.js +0 -1
- package/app/components/order-config/selector.js +0 -1
- package/app/components/order-config-manager-overlay.js +0 -1
- package/app/components/order-flow.js +0 -1
- package/app/components/order-list-overlay.js +0 -1
- package/app/components/place-form-panel.js +0 -1
- package/app/components/place-panel.js +0 -1
- package/app/components/settings-window.js +0 -1
- package/app/components/split-grid.js +0 -1
- package/app/components/vehicle-form-panel.js +0 -1
- package/app/components/vehicle-panel/details.js +0 -1
- package/app/components/vehicle-panel/tracking.js +0 -1
- package/app/components/vehicle-panel.js +0 -1
- package/app/components/vendor-form-panel/create-form.js +0 -1
- package/app/components/vendor-form-panel/edit-form.js +0 -1
- package/app/components/vendor-form-panel.js +0 -1
- package/app/components/vendor-panel/details.js +0 -1
- package/app/components/vendor-panel/drivers.js +0 -1
- package/app/components/vendor-panel/personnel.js +0 -1
- package/app/components/vendor-panel.js +0 -1
- package/app/controllers/base-controller.js +0 -1
- package/app/controllers/management.js +0 -1
- package/app/controllers/operations/orders/index/config/types.js +0 -1
- package/app/controllers/operations/orders/index/config.js +0 -1
- package/app/controllers/operations/orders/index/view.js +0 -1
- package/app/helpers/feature-group.js +0 -1
- package/app/helpers/flow-raw-status.js +0 -1
- package/app/helpers/get-tip-amount.js +0 -1
- package/app/helpers/is-facilitator-supported-place.js +0 -1
- package/app/helpers/is-section-visible.js +0 -1
- package/app/helpers/is-visibility-control-visible.js +0 -1
- package/app/helpers/is-waypoint-record.js +0 -1
- package/app/helpers/service-name.js +0 -1
- package/app/routes/operations/orders/index/config/types.js +0 -1
- package/app/routes/operations/orders/index/config.js +0 -1
- package/app/routes/operations/orders/index/view.js +0 -1
- package/app/routes/operations/routes/index/view.js +0 -1
- package/app/services/context-panel.js +0 -1
- package/app/services/leaflet-router-control.js +0 -1
- package/app/templates/operations/orders/index/config/types.js +0 -1
- package/app/templates/operations/orders/index/config.js +0 -1
- package/app/templates/operations/orders/index/view.js +0 -1
- package/app/templates/operations/routes/index/view.js +0 -1
- package/app/utils/calculate-percentage.js +0 -1
- package/app/utils/find-leaflet-layer.js +0 -1
- package/app/utils/fly-to-leaflet-layer.js +0 -1
- package/app/utils/format-currency.js +0 -1
- package/app/utils/get-custom-field-type-map.js +0 -1
- package/app/utils/get-issue-categories.js +0 -1
- package/app/utils/get-issue-types.js +0 -1
- package/app/utils/get-leaflet-layer-by-id.js +0 -1
- package/app/utils/get-vendor-status-options.js +0 -1
- package/app/utils/get-vendor-type-options.js +0 -1
- package/app/utils/layer-can-bind-contextmenu.js +0 -1
- package/app/utils/to-model.js +0 -1
- /package/addon/components/{order-config/selector.hbs → asset/form.hbs} +0 -0
- /package/addon/components/{order-flow.hbs → customer/leaflet-map.hbs} +0 -0
- /package/addon/components/{vehicle-panel/tracking.hbs → customer/order-details.hbs} +0 -0
- /package/addon/components/{vendor-panel/personnel.hbs → entity/details.hbs} +0 -0
- /package/addon/templates/{comms/chat.hbs → analytics/reports.hbs} +0 -0
- /package/addon/templates/{comms.hbs → analytics.hbs} +0 -0
- /package/addon/templates/{comms/intercom.hbs → connectivity/tracking/index.hbs} +0 -0
- /package/addon/templates/{operations/routes/index/view.hbs → maintenance.hbs} +0 -0
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
import toPowerSelectGroups from '@fleetbase/ember-ui/utils/to-power-select-groups';
|
|
2
|
+
|
|
3
|
+
export const driverTypes = [
|
|
4
|
+
{ label: 'Full-time', value: 'full_time', description: 'Permanent employee driver' },
|
|
5
|
+
{ label: 'Part-time', value: 'part_time', description: 'Part-time or contract driver' },
|
|
6
|
+
{ label: 'Contractor', value: 'contractor', description: 'Independent contractor driver' },
|
|
7
|
+
{ label: 'Owner-Operator', value: 'owner_operator', description: 'Driver owns and operates own vehicle' },
|
|
8
|
+
{ label: 'Temporary', value: 'temporary', description: 'Short-term or seasonal driver' },
|
|
9
|
+
{ label: 'Apprentice', value: 'apprentice', description: 'Trainee or under-supervision driver' },
|
|
10
|
+
{ label: 'Relief / On-call', value: 'relief', description: 'Covers shifts and peak demand as needed' },
|
|
11
|
+
{ label: 'Hazmat Certified', value: 'hazmat', description: 'Qualified to carry hazardous materials' },
|
|
12
|
+
{ label: 'Refrigerated Cargo Specialist', value: 'reefer_specialist', description: 'Experienced with temperature-controlled cargo' },
|
|
13
|
+
{ label: 'Oversize / Heavy Haul', value: 'heavy_haul', description: 'Certified for oversize/overweight loads' },
|
|
14
|
+
{ label: 'Courier / Last-mile', value: 'last_mile', description: 'Small parcel/urban delivery specialist' },
|
|
15
|
+
];
|
|
16
|
+
|
|
17
|
+
export const driverStatuses = [
|
|
18
|
+
{ label: 'Active', value: 'active', description: 'Driver is available for assignments' },
|
|
19
|
+
{ label: 'Inactive', value: 'inactive', description: 'Driver is not currently active' },
|
|
20
|
+
{ label: 'On Duty', value: 'on_duty', description: 'Driver is working and available' },
|
|
21
|
+
{ label: 'Off Duty', value: 'off_duty', description: 'Driver is not working' },
|
|
22
|
+
{ label: 'On Break', value: 'on_break', description: 'Driver is on a scheduled break' },
|
|
23
|
+
{ label: 'Suspended', value: 'suspended', description: 'Driver is temporarily suspended' },
|
|
24
|
+
{ label: 'Terminated', value: 'terminated', description: 'Driver no longer works with company' },
|
|
25
|
+
{ label: 'Pre-shift', value: 'pre_shift', description: 'Clocked in, prepping for shift' },
|
|
26
|
+
{ label: 'Training', value: 'training', description: 'In training, not available for jobs' },
|
|
27
|
+
{ label: 'Onboarding', value: 'onboarding', description: 'Documents/induction in progress' },
|
|
28
|
+
{ label: 'On Route', value: 'on_route', description: 'Actively driving a planned route' },
|
|
29
|
+
{ label: 'Delayed', value: 'delayed', description: 'Experiencing delay (traffic, weather, etc.)' },
|
|
30
|
+
{ label: 'Accident Hold', value: 'accident_hold', description: 'Temporarily paused due to incident' },
|
|
31
|
+
{ label: 'On Leave', value: 'on_leave', description: 'Approved leave period' },
|
|
32
|
+
{ label: 'No-show', value: 'no_show', description: 'Missed scheduled shift' },
|
|
33
|
+
{ label: 'Pending Verification', value: 'pending_verification', description: 'Waiting on document/compliance checks' },
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
export const vehicleTypes = [
|
|
37
|
+
{ label: 'Truck', value: 'truck', description: 'Standard freight truck' },
|
|
38
|
+
{ label: 'Van', value: 'van', description: 'Cargo or delivery van' },
|
|
39
|
+
{ label: 'Trailer', value: 'trailer', description: 'Detachable cargo trailer' },
|
|
40
|
+
{ label: 'Motorbike', value: 'motorbike', description: 'Two-wheeled delivery bike' },
|
|
41
|
+
{ label: 'Car', value: 'car', description: 'Passenger car or small vehicle' },
|
|
42
|
+
{ label: 'Refrigerated Truck', value: 'reefer', description: 'Temperature-controlled transport' },
|
|
43
|
+
{ label: 'Container Truck', value: 'container_truck', description: 'Truck for containerized cargo' },
|
|
44
|
+
{ label: 'Tanker', value: 'tanker', description: 'Truck for liquid/gas transport' },
|
|
45
|
+
{ label: 'Box Truck', value: 'box_truck', description: 'Enclosed box body truck' },
|
|
46
|
+
{ label: 'Flatbed', value: 'flatbed', description: 'Open platform for oversized cargo' },
|
|
47
|
+
{ label: 'Pickup', value: 'pickup', description: 'Light-duty utility pickup' },
|
|
48
|
+
{ label: 'Bus / Minibus', value: 'bus', description: 'Passenger transport' },
|
|
49
|
+
{ label: 'Forklift', value: 'forklift', description: 'Material handling equipment' },
|
|
50
|
+
{ label: 'EV (Electric Vehicle)', value: 'ev', description: 'Battery electric vehicle' },
|
|
51
|
+
{ label: 'Hybrid', value: 'hybrid', description: 'Hybrid electric vehicle' },
|
|
52
|
+
{ label: 'Charging Trailer', value: 'charging_trailer', description: 'Mobile charging or auxiliary power unit' },
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const vehicleStatuses = [
|
|
56
|
+
{ label: 'Available', value: 'available', description: 'Vehicle is ready for use' },
|
|
57
|
+
{ label: 'In Use', value: 'in_use', description: 'Vehicle is assigned to a driver/order' },
|
|
58
|
+
{ label: 'Maintenance', value: 'maintenance', description: 'Vehicle is under maintenance or repair' },
|
|
59
|
+
{ label: 'Out of Service', value: 'out_of_service', description: 'Vehicle is not operational' },
|
|
60
|
+
{ label: 'Reserved', value: 'reserved', description: 'Vehicle is reserved for a future assignment' },
|
|
61
|
+
{ label: 'Retired', value: 'retired', description: 'Vehicle is decommissioned' },
|
|
62
|
+
{ label: 'Staging', value: 'staging', description: 'Prepped and queued for dispatch' },
|
|
63
|
+
{ label: 'On Route', value: 'on_route', description: 'Actively executing a route' },
|
|
64
|
+
{ label: 'Idle', value: 'idle', description: 'Powered on but not moving' },
|
|
65
|
+
{ label: 'Cleaning', value: 'cleaning', description: 'Under wash/detailing' },
|
|
66
|
+
{ label: 'Awaiting Parts', value: 'awaiting_parts', description: 'Maintenance waiting for spares' },
|
|
67
|
+
{ label: 'Inspection Due', value: 'inspection_due', description: 'Compliance inspection required' },
|
|
68
|
+
{ label: 'Inspection Failed', value: 'inspection_failed', description: 'Failed inspection—cannot dispatch' },
|
|
69
|
+
{ label: 'Accident / Damage', value: 'accident', description: 'Unavailable due to incident' },
|
|
70
|
+
{ label: 'Compliance Hold', value: 'compliance_hold', description: 'Blocked due to expired docs/permits' },
|
|
71
|
+
{ label: 'Stolen', value: 'stolen', description: 'Reported stolen—do not dispatch' },
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
export const vendorTypes = [
|
|
75
|
+
{ label: 'Vendor', value: 'vendor', description: 'General vendor type for uncategorized services' },
|
|
76
|
+
{ label: 'Integrated Vendor', value: 'integrated_vendor', description: 'Vendor with native API integration into Fleetbase' },
|
|
77
|
+
{ label: 'Fuel Supplier', value: 'fuel_supplier', description: 'Provides fuel for vehicles' },
|
|
78
|
+
{ label: 'Maintenance Provider', value: 'maintenance_provider', description: 'Performs vehicle repairs/maintenance' },
|
|
79
|
+
{ label: 'Parts Supplier', value: 'parts_supplier', description: 'Supplies vehicle parts' },
|
|
80
|
+
{ label: 'Technology Provider', value: 'tech_provider', description: 'Provides software or hardware services' },
|
|
81
|
+
{ label: 'Logistics Partner', value: 'logistics_partner', description: '3PL or logistics subcontractor' },
|
|
82
|
+
{ label: 'Insurance Provider', value: 'insurance_provider', description: 'Provides insurance services' },
|
|
83
|
+
{ label: 'Towing Service', value: 'towing_service', description: 'Roadside assistance, towing, and recovery' },
|
|
84
|
+
{ label: 'Leasing Company', value: 'leasing_company', description: 'Provides rental or leased vehicles and equipment' },
|
|
85
|
+
{ label: 'Driver Staffing Agency', value: 'driver_staffing', description: 'Provides contract or temporary drivers' },
|
|
86
|
+
{ label: 'Customs Broker', value: 'customs_broker', description: 'Handles border clearance and regulatory compliance' },
|
|
87
|
+
{ label: 'Telematics Provider', value: 'telematics_provider', description: 'Supplies GPS, ELD, and IoT telematics services' },
|
|
88
|
+
{ label: 'Freight Forwarder', value: 'freight_forwarder', description: 'Manages international and multi-modal shipments' },
|
|
89
|
+
{ label: 'Compliance / Audit', value: 'compliance_audit', description: 'Regulatory audits, safety, training' },
|
|
90
|
+
{ label: 'Wash & Detailing', value: 'wash_detailing', description: 'Cleaning and sanitization services' },
|
|
91
|
+
{ label: 'Tyre / Tire Service', value: 'tire_service', description: 'Tyre sales, repair, and fitting' },
|
|
92
|
+
{ label: 'Body & Paint Shop', value: 'body_paint', description: 'Accident repair and refinishing' },
|
|
93
|
+
{ label: 'Storage / Yard', value: 'yard_storage', description: 'Short/long-term vehicle storage' },
|
|
94
|
+
{ label: 'Charging Network', value: 'charging_network', description: 'EV charging infrastructure provider' },
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
export const vendorStatuses = [
|
|
98
|
+
{ label: 'Active', value: 'active', description: 'Vendor is active and available' },
|
|
99
|
+
{ label: 'Inactive', value: 'inactive', description: 'Vendor is inactive or on hold' },
|
|
100
|
+
{ label: 'Suspended', value: 'suspended', description: 'Vendor is temporarily suspended' },
|
|
101
|
+
{ label: 'Blacklisted', value: 'blacklisted', description: 'Vendor is banned from operations' },
|
|
102
|
+
{ label: 'Connected', value: 'connected', description: 'API connection healthy' },
|
|
103
|
+
{ label: 'Syncing', value: 'syncing', description: 'Data synchronization in progress' },
|
|
104
|
+
{ label: 'Integration Error', value: 'integration_error', description: 'API connection failing—needs attention' },
|
|
105
|
+
{ label: 'Under Review', value: 'under_review', description: 'Being evaluated for approval' },
|
|
106
|
+
{ label: 'Preferred', value: 'preferred', description: 'Preferred supplier with negotiated terms' },
|
|
107
|
+
{ label: 'Prequalified', value: 'prequalified', description: 'Meets minimum standards—conditional' },
|
|
108
|
+
{ label: 'Terminated', value: 'terminated', description: 'Relationship formally ended' },
|
|
109
|
+
];
|
|
110
|
+
|
|
111
|
+
export const contactTypes = [
|
|
112
|
+
{ label: 'Customer', value: 'customer', description: 'End customer contact' },
|
|
113
|
+
{ label: 'Vendor Contact', value: 'vendor_contact', description: 'Point of contact at vendor' },
|
|
114
|
+
{ label: 'Driver Contact', value: 'driver_contact', description: 'Driver or field contact' },
|
|
115
|
+
{ label: 'Fleet Manager', value: 'fleet_manager', description: 'Contact for managing fleets' },
|
|
116
|
+
{ label: 'Support', value: 'support', description: 'General support or helpdesk contact' },
|
|
117
|
+
{ label: 'Consignor', value: 'consignor', description: 'Sender of goods' },
|
|
118
|
+
{ label: 'Consignee', value: 'consignee', description: 'Receiver of goods' },
|
|
119
|
+
{ label: 'Accounts Payable', value: 'accounts_payable', description: 'Billing and payments contact' },
|
|
120
|
+
{ label: 'Procurement', value: 'procurement', description: 'Purchasing contact' },
|
|
121
|
+
{ label: 'Site Security', value: 'site_security', description: 'Gatehouse/security desk' },
|
|
122
|
+
{ label: 'Dock Manager', value: 'dock_manager', description: 'Loading dock operations contact' },
|
|
123
|
+
{ label: 'Dispatcher', value: 'dispatcher', description: 'Scheduling and operations contact' },
|
|
124
|
+
];
|
|
125
|
+
|
|
126
|
+
export const contactStatuses = [
|
|
127
|
+
{ label: 'Active', value: 'active', description: 'Contact is valid and in use' },
|
|
128
|
+
{ label: 'Inactive', value: 'inactive', description: 'Contact is no longer valid' },
|
|
129
|
+
{ label: 'Blocked', value: 'blocked', description: 'Contact is blocked from use' },
|
|
130
|
+
{ label: 'Primary', value: 'primary', description: 'Primary contact for an account/place' },
|
|
131
|
+
{ label: 'Verified', value: 'verified', description: 'Email/phone verified' },
|
|
132
|
+
{ label: 'Unverified', value: 'unverified', description: 'Contact details not verified' },
|
|
133
|
+
{ label: 'Do Not Contact', value: 'do_not_contact', description: 'Respect DNC for this contact' },
|
|
134
|
+
{ label: 'Archived', value: 'archived', description: 'Kept for record; not actively used' },
|
|
135
|
+
];
|
|
136
|
+
|
|
137
|
+
export const fleetTypes = [
|
|
138
|
+
{ label: 'Regional Fleet', value: 'regional', description: 'Fleet covering a specific region' },
|
|
139
|
+
{ label: 'Long Haul Fleet', value: 'long_haul', description: 'Fleet for cross-country or international routes' },
|
|
140
|
+
{ label: 'Urban Fleet', value: 'urban', description: 'Fleet for city/local deliveries' },
|
|
141
|
+
{ label: 'Specialized Fleet', value: 'specialized', description: 'Fleet for special cargo like hazmat or reefer' },
|
|
142
|
+
{ label: 'Last-mile Fleet', value: 'last_mile', description: 'Dense urban, short-drop operations' },
|
|
143
|
+
{ label: 'Linehaul / Middle-mile', value: 'linehaul', description: 'Terminal-to-terminal trunk routes' },
|
|
144
|
+
{ label: 'Service Fleet', value: 'service', description: 'Field service/technician vehicles' },
|
|
145
|
+
{ label: 'Rental Pool', value: 'rental_pool', description: 'Pool of shared/rental vehicles' },
|
|
146
|
+
{ label: 'Electric Fleet', value: 'electric', description: 'EV-focused operations' },
|
|
147
|
+
{ label: 'Motorcycle Courier', value: 'moto_courier', description: 'Two-wheeler delivery fleet' },
|
|
148
|
+
];
|
|
149
|
+
|
|
150
|
+
export const fleetStatuses = [
|
|
151
|
+
{ label: 'Active', value: 'active', description: 'Fleet is active and operational' },
|
|
152
|
+
{ label: 'Inactive', value: 'inactive', description: 'Fleet is inactive or dissolved' },
|
|
153
|
+
{ label: 'On Hold', value: 'on_hold', description: 'Fleet operations are paused' },
|
|
154
|
+
{ label: 'Scaling', value: 'scaling', description: 'Actively adding vehicles/drivers' },
|
|
155
|
+
{ label: 'Downsizing', value: 'downsizing', description: 'Reducing footprint' },
|
|
156
|
+
{ label: 'Seasonal', value: 'seasonal', description: 'Operational during specific seasons' },
|
|
157
|
+
{ label: 'Pilot', value: 'pilot', description: 'Trial/limited-scope operations' },
|
|
158
|
+
{ label: 'Decommissioning', value: 'decommissioning', description: 'Winding down; reassigning assets' },
|
|
159
|
+
];
|
|
160
|
+
|
|
161
|
+
export const fuelReportTypes = [
|
|
162
|
+
{ label: 'Refueling', value: 'refueling', description: 'Standard refueling log' },
|
|
163
|
+
{ label: 'Top-up', value: 'top_up', description: 'Partial refuel' },
|
|
164
|
+
{ label: 'Full Tank', value: 'full_tank', description: 'Complete refuel to full capacity' },
|
|
165
|
+
{ label: 'Adjustment', value: 'adjustment', description: 'Correction or manual adjustment' },
|
|
166
|
+
{ label: 'Card Transaction', value: 'card_txn', description: 'Imported from fuel card/processor' },
|
|
167
|
+
{ label: 'Manual Entry', value: 'manual_entry', description: 'Entered by user/driver' },
|
|
168
|
+
{ label: 'Bulk Refuel', value: 'bulk_refuel', description: 'Yard or tank bulk fueling event' },
|
|
169
|
+
{ label: 'DEF / AdBlue', value: 'def', description: 'Diesel Exhaust Fluid purchase' },
|
|
170
|
+
{ label: 'Transfer', value: 'transfer', description: 'Fuel moved between assets/tanks' },
|
|
171
|
+
{ label: 'Refund / Reversal', value: 'refund', description: 'Refunded or reversed transaction' },
|
|
172
|
+
];
|
|
173
|
+
|
|
174
|
+
export const fuelReportStatuses = [
|
|
175
|
+
{ label: 'Recorded', value: 'recorded', description: 'Fuel report has been logged' },
|
|
176
|
+
{ label: 'Verified', value: 'verified', description: 'Fuel report verified by manager' },
|
|
177
|
+
{ label: 'Disputed', value: 'disputed', description: 'Fuel report is under review' },
|
|
178
|
+
{ label: 'Rejected', value: 'rejected', description: 'Fuel report was rejected' },
|
|
179
|
+
{ label: 'Pending Review', value: 'pending', description: 'Awaiting manager verification' },
|
|
180
|
+
{ label: 'Matched', value: 'matched', description: 'Matched to trip/vehicle automatically' },
|
|
181
|
+
{ label: 'Unmatched', value: 'unmatched', description: 'No matching trip/vehicle found' },
|
|
182
|
+
{ label: 'Flagged Anomaly', value: 'flagged', description: 'Outlier (volume, price, location, time)' },
|
|
183
|
+
{ label: 'Reimbursed', value: 'reimbursed', description: 'Driver expense reimbursed' },
|
|
184
|
+
];
|
|
185
|
+
|
|
186
|
+
export const issueStatuses = [
|
|
187
|
+
{ label: 'Open', value: 'open', description: 'Issue is open and unresolved' },
|
|
188
|
+
{ label: 'Pending', value: 'pending', description: 'Issue is logged but work has not yet started' },
|
|
189
|
+
{ label: 'Triage', value: 'triage', description: 'Initial assessment and classification' },
|
|
190
|
+
{ label: 'Backlogged', value: 'backlogged', description: 'Issue is prioritized but not currently scheduled' },
|
|
191
|
+
{ label: 'In Progress', value: 'in_progress', description: 'Issue is being worked on' },
|
|
192
|
+
{ label: 'Requires Update', value: 'requires_update', description: 'Additional information is needed to proceed' },
|
|
193
|
+
{ label: 'In Review', value: 'in_review', description: 'Issue is under review or QA' },
|
|
194
|
+
{ label: 'Re-opened', value: 're_opened', description: 'Issue was closed/resolved but has been reopened' },
|
|
195
|
+
{ label: 'Awaiting Parts', value: 'awaiting_parts', description: 'Blocked pending required parts' },
|
|
196
|
+
{ label: 'Awaiting Vendor', value: 'awaiting_vendor', description: 'Waiting on third-party action' },
|
|
197
|
+
{ label: 'Monitoring', value: 'monitoring', description: 'Issue resolved but under observation' },
|
|
198
|
+
{ label: 'Escalated', value: 'escalated', description: 'Issue escalated for higher review' },
|
|
199
|
+
{ label: 'Duplicate', value: 'duplicate', description: 'Merged into an existing issue' },
|
|
200
|
+
{ label: 'Pending Review', value: 'pending_review', description: 'Awaiting manager or stakeholder review' },
|
|
201
|
+
{ label: 'Resolved', value: 'resolved', description: 'Issue has been resolved' },
|
|
202
|
+
{ label: 'Completed', value: 'completed', description: 'Work is fully completed and verified' },
|
|
203
|
+
{ label: 'Closed', value: 'closed', description: 'Issue is closed and no further action is needed' },
|
|
204
|
+
{ label: "Won't Fix", value: 'wont_fix', description: 'Accepted risk—no action planned' },
|
|
205
|
+
{ label: 'Canceled', value: 'canceled', description: 'Issue was canceled before completion' },
|
|
206
|
+
];
|
|
207
|
+
|
|
208
|
+
export const issueTypes = [
|
|
209
|
+
{ label: 'Vehicle', value: 'vehicle', description: 'Vehicle-related issues (mechanical, electrical, damage, accidents, etc.)' },
|
|
210
|
+
{ label: 'Driver', value: 'driver', description: 'Driver-related issues (behavior, training, time management, documentation, safety)' },
|
|
211
|
+
{ label: 'Route', value: 'route', description: 'Routing and navigation issues (deviation, blockages, weather, efficiency)' },
|
|
212
|
+
{ label: 'Payload / Cargo', value: 'payload-cargo', description: 'Cargo issues (damage, loss, documentation, temperature control)' },
|
|
213
|
+
{ label: 'Software / Technical', value: 'software-technical', description: 'System/app/device issues (bugs, outages, integrations, security)' },
|
|
214
|
+
{ label: 'Operational', value: 'operational', description: 'Process, resource, vendor, or cost issues; compliance & paperwork' },
|
|
215
|
+
{ label: 'Customer', value: 'customer', description: 'Customer service, billing, communications, and order accuracy' },
|
|
216
|
+
{ label: 'Security', value: 'security', description: 'Unauthorized access, theft, vandalism, and data/security incidents' },
|
|
217
|
+
{ label: 'Environmental / Sustainability', value: 'environmental-sustainability', description: 'Environmental hazards, emissions, waste, and green initiatives' },
|
|
218
|
+
];
|
|
219
|
+
|
|
220
|
+
export const issueCategories = [
|
|
221
|
+
// Vehicle
|
|
222
|
+
{ label: 'Mechanical Problems', value: 'mechanical_problems', description: 'Issues related to vehicle mechanical performance or breakdowns.', group: 'vehicle' },
|
|
223
|
+
{ label: 'Electrical Faults', value: 'electrical_faults', description: 'Electrical/battery faults impacting operation.', group: 'vehicle' },
|
|
224
|
+
{ label: 'Accidents & Collisions', value: 'accidents_collisions', description: 'Any accident/incident involving the vehicle.', group: 'vehicle' },
|
|
225
|
+
{ label: 'Cosmetic Damages', value: 'cosmetic_damages', description: 'Non-critical bodywork or appearance issues.', group: 'vehicle' },
|
|
226
|
+
{ label: 'Tire Issues', value: 'tire_issues', description: 'Wear, punctures, blowouts, alignment issues.', group: 'vehicle' },
|
|
227
|
+
{ label: 'Electronics & Instruments', value: 'electronics_instruments', description: 'Dash, sensors, telematics hardware, or instrument faults.', group: 'vehicle' },
|
|
228
|
+
{ label: 'Maintenance Alerts', value: 'maintenance_alerts', description: 'Scheduled/overdue maintenance notifications.', group: 'vehicle' },
|
|
229
|
+
{ label: 'Fuel Efficiency Issues', value: 'fuel_efficiency', description: 'Abnormal consumption vs. baseline.', group: 'vehicle' },
|
|
230
|
+
{ label: 'Fuel Shortage', value: 'fuel_shortage', description: 'Unexpected low fuel resulting in disruption.', group: 'vehicle' },
|
|
231
|
+
|
|
232
|
+
// Driver
|
|
233
|
+
{ label: 'Behavior Concerns', value: 'behavior_concerns', description: 'Conduct, professionalism, or policy adherence.', group: 'driver' },
|
|
234
|
+
{ label: 'Documentation', value: 'driver_documentation', description: 'Licenses, permits, or expired credentials.', group: 'driver' },
|
|
235
|
+
{ label: 'Time Management', value: 'time_management', description: 'Delays, missed windows, or poor scheduling adherence.', group: 'driver' },
|
|
236
|
+
{ label: 'Communication', value: 'driver_communication', description: 'Driver↔dispatch/customer communication gaps.', group: 'driver' },
|
|
237
|
+
{ label: 'Training Needs', value: 'training_needs', description: 'Upskilling or re-training required.', group: 'driver' },
|
|
238
|
+
{ label: 'Health & Safety Violations', value: 'health_safety', description: 'H&S non-compliance or incidents.', group: 'driver' },
|
|
239
|
+
|
|
240
|
+
// Route
|
|
241
|
+
{ label: 'Route Deviation', value: 'route_deviation', description: 'Departed from planned route.', group: 'route' },
|
|
242
|
+
{ label: 'Inefficient Routes', value: 'inefficient_routes', description: 'Unnecessary time/cost/mileage.', group: 'route' },
|
|
243
|
+
{ label: 'Safety Concerns', value: 'route_safety', description: 'Hazards along the route.', group: 'route' },
|
|
244
|
+
{ label: 'Blocked Routes', value: 'blocked_routes', description: 'Road closures, restrictions, or access denied.', group: 'route' },
|
|
245
|
+
{ label: 'Unfavorable Weather Conditions', value: 'unfavorable_weather', description: 'Weather delays or hazards.', group: 'route' },
|
|
246
|
+
{ label: 'Environmental Considerations', value: 'environmental_considerations', description: 'Environmental restrictions along route.', group: 'route' },
|
|
247
|
+
|
|
248
|
+
// Payload / Cargo
|
|
249
|
+
{ label: 'Cargo Damage / Loss', value: 'cargo_damage', description: 'Goods damaged, spoiled, or missing.', group: 'payload-cargo' },
|
|
250
|
+
{ label: 'Damaged Goods', value: 'damaged_goods', description: 'Goods received/delivered damaged.', group: 'payload-cargo' },
|
|
251
|
+
{ label: 'Misplaced Goods', value: 'misplaced_goods', description: 'Misrouted or lost items.', group: 'payload-cargo' },
|
|
252
|
+
{ label: 'Documentation Issues', value: 'cargo_documentation', description: 'Incorrect/missing cargo docs.', group: 'payload-cargo' },
|
|
253
|
+
{ label: 'Temperature-Sensitive Goods', value: 'temperature_sensitive_goods', description: 'Cold-chain or thermal control failures.', group: 'payload-cargo' },
|
|
254
|
+
{ label: 'Incorrect Cargo Loading', value: 'incorrect_cargo_loading', description: 'Poor load plan or unsafe stacking.', group: 'payload-cargo' },
|
|
255
|
+
|
|
256
|
+
// Software / Technical
|
|
257
|
+
{ label: 'Bugs', value: 'bugs', description: 'Defects impacting workflow.', group: 'software-technical' },
|
|
258
|
+
{ label: 'System Outage', value: 'system_outage', description: 'App/platform downtime or connectivity loss.', group: 'software-technical' },
|
|
259
|
+
{ label: 'Integration Failures', value: 'integration_failures', description: '3rd-party/API sync or contract errors.', group: 'software-technical' },
|
|
260
|
+
{ label: 'Performance', value: 'performance', description: 'Slow or degraded system behavior.', group: 'software-technical' },
|
|
261
|
+
{ label: 'Feature Requests', value: 'feature_requests', description: 'Requested improvements or capabilities.', group: 'software-technical' },
|
|
262
|
+
{ label: 'Security Vulnerabilities', value: 'security_vulnerabilities', description: 'Potential exploit or insecure config.', group: 'software-technical' },
|
|
263
|
+
|
|
264
|
+
// Operational
|
|
265
|
+
{ label: 'Compliance', value: 'compliance', description: 'Regulatory or policy non-compliance.', group: 'operational' },
|
|
266
|
+
{ label: 'Paperwork & Permits', value: 'paperwork_permits', description: 'Incorrect/expired documents or filings.', group: 'operational' },
|
|
267
|
+
{ label: 'Resource Allocation', value: 'resource_allocation', description: 'Insufficient/incorrect staffing or assets.', group: 'operational' },
|
|
268
|
+
{ label: 'Cost Overruns', value: 'cost_overruns', description: 'Budget/expense anomalies.', group: 'operational' },
|
|
269
|
+
{ label: 'Communication', value: 'operational_communication', description: 'Internal comms failures.', group: 'operational' },
|
|
270
|
+
{ label: 'Vendor Management Issues', value: 'vendor_management', description: '3rd-party coordination or SLA gaps.', group: 'operational' },
|
|
271
|
+
|
|
272
|
+
// Customer
|
|
273
|
+
{ label: 'Customer Complaint', value: 'customer_complaint', description: 'Reported dissatisfaction or incident.', group: 'customer' },
|
|
274
|
+
{ label: 'Service Quality', value: 'service_quality', description: 'Service below expectation.', group: 'customer' },
|
|
275
|
+
{ label: 'Billing Discrepancies', value: 'billing_discrepancies', description: 'Invoice errors or disputes.', group: 'customer' },
|
|
276
|
+
{ label: 'Communication Breakdown', value: 'customer_communication', description: 'Customer comms issues.', group: 'customer' },
|
|
277
|
+
{ label: 'Order Errors', value: 'order_errors', description: 'Wrong item/quantity/address/etc.', group: 'customer' },
|
|
278
|
+
|
|
279
|
+
// Security
|
|
280
|
+
{ label: 'Unauthorized Access', value: 'unauthorized_access', description: 'Intrusion or improper access.', group: 'security' },
|
|
281
|
+
{ label: 'Theft / Vandalism', value: 'theft', description: 'Stolen assets or malicious damage.', group: 'security' },
|
|
282
|
+
{ label: 'Data Concerns', value: 'data_concerns', description: 'Potential or actual data breach.', group: 'security' },
|
|
283
|
+
{ label: 'Physical Security', value: 'physical_security', description: 'Facility or cargo security weaknesses.', group: 'security' },
|
|
284
|
+
{ label: 'Data Integrity Issues', value: 'data_integrity', description: 'Corruption or inconsistency of data.', group: 'security' },
|
|
285
|
+
|
|
286
|
+
// Environmental / Sustainability
|
|
287
|
+
{ label: 'Fuel Consumption', value: 'fuel_consumption', description: 'Excessive or abnormal usage patterns.', group: 'environmental-sustainability' },
|
|
288
|
+
{ label: 'Carbon Footprint', value: 'carbon_footprint', description: 'Emissions or footprint tracking issues.', group: 'environmental-sustainability' },
|
|
289
|
+
{ label: 'Waste Management', value: 'waste_management', description: 'Handling and disposal of waste.', group: 'environmental-sustainability' },
|
|
290
|
+
{ label: 'Green Initiatives Opportunities', value: 'green_initiatives', description: 'Improvements to sustainability programs.', group: 'environmental-sustainability' },
|
|
291
|
+
];
|
|
292
|
+
|
|
293
|
+
export const issuePriorities = [
|
|
294
|
+
// Severity levels
|
|
295
|
+
{ label: 'Low', value: 'low', description: 'Minor issue with little to no operational impact.', group: 'severity' },
|
|
296
|
+
{ label: 'Medium', value: 'medium', description: 'Moderate issue requiring attention but not urgent.', group: 'severity' },
|
|
297
|
+
{ label: 'High', value: 'high', description: 'Serious issue affecting operations that needs prompt resolution.', group: 'severity' },
|
|
298
|
+
{ label: 'Critical', value: 'critical', description: 'Severe issue causing major disruption; requires immediate resolution.', group: 'severity' },
|
|
299
|
+
|
|
300
|
+
// Planned / Informational priorities
|
|
301
|
+
{ label: 'Scheduled Maintenance', value: 'scheduled_maintenance', description: 'Planned maintenance tasks or service checks.', group: 'planned' },
|
|
302
|
+
{ label: 'Operational Suggestion', value: 'operational_suggestion', description: 'Improvement idea or recommendation, not an urgent issue.', group: 'planned' },
|
|
303
|
+
];
|
|
304
|
+
|
|
305
|
+
export const placeTypes = [
|
|
306
|
+
{ label: 'Warehouse', value: 'warehouse', description: 'Storage or distribution warehouse' },
|
|
307
|
+
{ label: 'Depot', value: 'depot', description: 'Operational depot or hub' },
|
|
308
|
+
{ label: 'Fuel Station', value: 'fuel_station', description: 'Refueling station' },
|
|
309
|
+
{ label: 'Checkpoint', value: 'checkpoint', description: 'Border or security checkpoint' },
|
|
310
|
+
{ label: 'Customer Location', value: 'customer_location', description: 'Customer delivery address' },
|
|
311
|
+
{ label: 'Vendor Facility', value: 'vendor_facility', description: 'Vendor-owned site' },
|
|
312
|
+
{ label: 'Port', value: 'port', description: 'Shipping or receiving port' },
|
|
313
|
+
{ label: 'Airport', value: 'airport', description: 'Air freight hub' },
|
|
314
|
+
{ label: 'Distribution Center', value: 'distribution_center', description: 'Regional DC / fulfillment' },
|
|
315
|
+
{ label: 'Cross-dock', value: 'cross_dock', description: 'Immediate transfer; minimal storage' },
|
|
316
|
+
{ label: 'Micro-hub', value: 'micro_hub', description: 'Urban mini-warehouse for last-mile' },
|
|
317
|
+
{ label: 'Rest Area / Layover', value: 'rest_area', description: 'Driver rest/layover location' },
|
|
318
|
+
{ label: 'Weigh Station', value: 'weigh_station', description: 'Regulatory weigh site' },
|
|
319
|
+
{ label: 'Toll Plaza', value: 'toll_plaza', description: 'Toll payment checkpoint' },
|
|
320
|
+
{ label: 'Service Center', value: 'service_center', description: 'Repair/maintenance facility' },
|
|
321
|
+
{ label: 'Charging Station', value: 'charging_station', description: 'EV charging location' },
|
|
322
|
+
];
|
|
323
|
+
|
|
324
|
+
export const placeStatuses = [
|
|
325
|
+
{ label: 'Active', value: 'active', description: 'Place is active and valid' },
|
|
326
|
+
{ label: 'Inactive', value: 'inactive', description: 'Place is no longer used' },
|
|
327
|
+
{ label: 'Restricted', value: 'restricted', description: 'Place has restricted access' },
|
|
328
|
+
{ label: 'Closed', value: 'closed', description: 'Place is permanently closed' },
|
|
329
|
+
{ label: 'New', value: 'new', description: 'Recently created—details may be incomplete' },
|
|
330
|
+
{ label: 'Temporarily Closed', value: 'temp_closed', description: 'Closed for a limited period' },
|
|
331
|
+
{ label: 'Under Construction', value: 'under_construction', description: 'Site works ongoing' },
|
|
332
|
+
{ label: 'Permit Required', value: 'permit_required', description: 'Entry requires permit/clearance' },
|
|
333
|
+
{ label: 'Approach with Caution', value: 'approach_caution', description: 'Known access difficulties or hazards' },
|
|
334
|
+
];
|
|
335
|
+
|
|
336
|
+
export const routeProfileOptions = [
|
|
337
|
+
{ label: 'Driving', value: 'driving', description: 'Optimized routes for motor vehicles.' },
|
|
338
|
+
{ label: 'Bicycle', value: 'bicycle', description: 'Optimized routes for bicycles with bike paths where available.' },
|
|
339
|
+
{ label: 'Walking', value: 'walking', description: 'Pedestrian-friendly routes suitable for walking.' },
|
|
340
|
+
];
|
|
341
|
+
|
|
342
|
+
export const podOptions = [
|
|
343
|
+
{ label: 'Scan', value: 'scan', description: 'Proof of delivery captured by scanning a QR code or barcode.' },
|
|
344
|
+
{ label: 'Signature', value: 'signature', description: 'Proof of delivery confirmed with recipient signature.' },
|
|
345
|
+
{ label: 'Photo', value: 'photo', description: 'Proof of delivery recorded with a photo of the delivered goods.' },
|
|
346
|
+
{ label: 'SMS', value: 'sms', description: 'Proof of delivery sent and confirmed via SMS verification.' },
|
|
347
|
+
];
|
|
348
|
+
|
|
349
|
+
export const serviceRateCalculationMethods = [
|
|
350
|
+
{ label: 'Per Meter', value: 'per_meter', description: 'Calculate cost based on the number of meters traveled.' },
|
|
351
|
+
{ label: 'Fixed Rate', value: 'fixed_meter', description: 'Charge a fixed rate per meter regardless of distance.' },
|
|
352
|
+
{ label: 'Parcel Rate', value: 'parcel', description: 'Charge a dynamic rate based on parcel/payload weight and dimensions.' },
|
|
353
|
+
{ label: 'Per Drop-off', value: 'per_drop', description: 'Cost applied per drop-off point.' },
|
|
354
|
+
{ label: 'Algorithm', value: 'algo', description: 'Cost calculated dynamically using algorithmic logic.' },
|
|
355
|
+
];
|
|
356
|
+
|
|
357
|
+
export const serviceRateCodCalculationMethods = [
|
|
358
|
+
{ label: 'Flat Fee', value: 'flat', description: 'A fixed fee applied to all COD transactions.' },
|
|
359
|
+
{ label: 'Percentage', value: 'percentage', description: 'Fee calculated as a percentage of the COD amount.' },
|
|
360
|
+
];
|
|
361
|
+
|
|
362
|
+
export const serviceRatePeakHourCalculationMethods = [
|
|
363
|
+
{ label: 'Flat Fee', value: 'flat', description: 'A fixed surcharge applied during peak hours.' },
|
|
364
|
+
{ label: 'Percentage', value: 'percentage', description: 'A surcharge calculated as a percentage of the base fare during peak hours.' },
|
|
365
|
+
];
|
|
366
|
+
|
|
367
|
+
export const distanceUnits = [
|
|
368
|
+
{ label: 'Meter', value: 'm', description: 'Distances measured in meters.' },
|
|
369
|
+
{ label: 'Kilometer', value: 'km', description: 'Distances measured in kilometers.' },
|
|
370
|
+
{ label: 'Feet', value: 'ft', description: 'Distances measured in feet.' },
|
|
371
|
+
{ label: 'Yard', value: 'yd', description: 'Distances measured in yards.' },
|
|
372
|
+
{ label: 'Mile', value: 'mi', description: 'Distances measured in miles.' },
|
|
373
|
+
];
|
|
374
|
+
|
|
375
|
+
export const longDistanceUnits = [
|
|
376
|
+
{ label: 'Kilometer', value: 'km', description: 'Distances measured in kilometers.' },
|
|
377
|
+
{ label: 'Mile', value: 'mi', description: 'Distances measured in miles.' },
|
|
378
|
+
];
|
|
379
|
+
|
|
380
|
+
export const dimensionUnits = [
|
|
381
|
+
{ label: 'Centimeters', value: 'cm', description: 'Measurements in centimeters.' },
|
|
382
|
+
{ label: 'Inches', value: 'in', description: 'Measurements in inches.' },
|
|
383
|
+
{ label: 'Feet', value: 'ft', description: 'Measurements in feet.' },
|
|
384
|
+
{ label: 'Millimeters', value: 'mm', description: 'Measurements in millimeters.' },
|
|
385
|
+
{ label: 'Meters', value: 'm', description: 'Measurements in meters.' },
|
|
386
|
+
{ label: 'Yards', value: 'yd', description: 'Measurements in yards.' },
|
|
387
|
+
];
|
|
388
|
+
|
|
389
|
+
export const weightUnits = [
|
|
390
|
+
{ label: 'Grams', value: 'g', description: 'Weight in grams.' },
|
|
391
|
+
{ label: 'Ounces', value: 'oz', description: 'Weight in ounces.' },
|
|
392
|
+
{ label: 'Pounds', value: 'lb', description: 'Weight in pounds.' },
|
|
393
|
+
{ label: 'Kilograms', value: 'kg', description: 'Weight in kilograms.' },
|
|
394
|
+
];
|
|
395
|
+
|
|
396
|
+
export const serviceAreaTypes = [
|
|
397
|
+
{ label: 'Neighborhood', value: 'neighborhood', description: 'A small, localized area within a city, typically residential or community-focused.' },
|
|
398
|
+
{ label: 'City', value: 'city', description: 'An urban area with its own municipal government and defined boundaries.' },
|
|
399
|
+
{ label: 'State', value: 'state', description: 'A major administrative division within a country, often with its own governing authority.' },
|
|
400
|
+
{ label: 'Province', value: 'province', description: 'A territorial division within a country, similar to a state, common in non-U.S. regions.' },
|
|
401
|
+
{ label: 'Region', value: 'region', description: 'A larger geographic area that may include multiple cities, states, or provinces.' },
|
|
402
|
+
{ label: 'Country', value: 'country', description: 'A sovereign nation with defined borders and central governance.' },
|
|
403
|
+
{ label: 'Continent', value: 'continent', description: 'A global landmass encompassing multiple countries (e.g., Asia, Europe, Africa).' },
|
|
404
|
+
];
|
|
405
|
+
|
|
406
|
+
export default function fleetOpsOptions(key) {
|
|
407
|
+
const allOptions = {
|
|
408
|
+
driverTypes,
|
|
409
|
+
driverStatuses,
|
|
410
|
+
vehicleTypes,
|
|
411
|
+
vehicleStatuses,
|
|
412
|
+
vendorTypes,
|
|
413
|
+
vendorStatuses,
|
|
414
|
+
fleetTypes,
|
|
415
|
+
fleetStatuses,
|
|
416
|
+
contactTypes,
|
|
417
|
+
contactStatuses,
|
|
418
|
+
fuelReportTypes,
|
|
419
|
+
fuelReportStatuses,
|
|
420
|
+
issueTypes,
|
|
421
|
+
issueStatuses,
|
|
422
|
+
issueCategories,
|
|
423
|
+
issueCategoriesPowerGroups: toPowerSelectGroups(issueCategories),
|
|
424
|
+
issuePriorities,
|
|
425
|
+
placeTypes,
|
|
426
|
+
placeStatuses,
|
|
427
|
+
routeProfileOptions,
|
|
428
|
+
podOptions,
|
|
429
|
+
serviceRateCalculationMethods,
|
|
430
|
+
serviceRateCodCalculationMethods,
|
|
431
|
+
serviceRatePeakHourCalculationMethods,
|
|
432
|
+
distanceUnits,
|
|
433
|
+
longDistanceUnits,
|
|
434
|
+
dimensionUnits,
|
|
435
|
+
weightUnits,
|
|
436
|
+
serviceAreaTypes,
|
|
437
|
+
};
|
|
438
|
+
|
|
439
|
+
return allOptions[key] ?? [];
|
|
440
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { MultiPolygon, Polygon, Circle, Feature, FeatureCollection } from '@fleetbase/fleetops-data/utils/geojson';
|
|
3
|
+
import { isArray } from '@ember/array';
|
|
4
|
+
import wrapCoordinates from './leaflet-wrap-coordinates';
|
|
5
|
+
|
|
6
|
+
export function toPos(ll) {
|
|
7
|
+
// Accept Leaflet LatLng or plain {lat,lng}
|
|
8
|
+
return isArray(ll) ? [ll[1], ll[0]] : [ll.lng, ll.lat];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Ensure we always have an array-of-rings (each ring = LatLng[]) */
|
|
12
|
+
function normalizeToRings(latlngs) {
|
|
13
|
+
if (!latlngs) return [];
|
|
14
|
+
|
|
15
|
+
// Simple polygon given as [LatLng,...]
|
|
16
|
+
if (isArray(latlngs) && !isArray(latlngs[0])) {
|
|
17
|
+
return [latlngs];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Already [ [LatLng,...], ... ]
|
|
21
|
+
if (isArray(latlngs) && isArray(latlngs[0]) && !isArray(latlngs[0][0])) {
|
|
22
|
+
return latlngs;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Multipolygon case handled elsewhere
|
|
26
|
+
return latlngs;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function closeRing(coords) {
|
|
30
|
+
if (!coords.length) return coords;
|
|
31
|
+
const first = coords[0];
|
|
32
|
+
const last = coords[coords.length - 1];
|
|
33
|
+
if (first[0] !== last[0] || first[1] !== last[1]) {
|
|
34
|
+
return [...coords, first];
|
|
35
|
+
}
|
|
36
|
+
return coords;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function ringsFromLatLngs(latlngs) {
|
|
40
|
+
const rings = normalizeToRings(latlngs);
|
|
41
|
+
return rings.map((ring) => closeRing(ring.map(toPos)));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Normalize Leaflet’s toGeoJSON output to a Feature */
|
|
45
|
+
export function getGeoJsonFeature(geojson) {
|
|
46
|
+
if (!geojson) return null;
|
|
47
|
+
|
|
48
|
+
if (geojson.type === 'Feature') return geojson;
|
|
49
|
+
|
|
50
|
+
if (geojson.type === 'FeatureCollection' && isArray(geojson.features) && geojson.features.length) {
|
|
51
|
+
return geojson.features[0];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Geometry -> Feature wrapper (safe fallback)
|
|
55
|
+
if (geojson.type && geojson.coordinates) {
|
|
56
|
+
return { type: 'Feature', geometry: geojson, properties: {} };
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** ---- Polygon ---- */
|
|
63
|
+
export function createGeoJsonPolygon(layer, { properties } = {}) {
|
|
64
|
+
const latlngs = layer.getLatLngs?.();
|
|
65
|
+
if (!latlngs || !latlngs.length) return null;
|
|
66
|
+
|
|
67
|
+
const coordinates = wrapCoordinates(ringsFromLatLngs(latlngs));
|
|
68
|
+
return new Polygon(coordinates);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** ---- MultiPolygon ---- */
|
|
72
|
+
export function createGeoJsonMultiPolygon(layer, { properties } = {}) {
|
|
73
|
+
// Leaflet MultiPolygon: [ [outer,hole,...], [outer,hole,...], ... ]
|
|
74
|
+
const groups = layer.getLatLngs?.();
|
|
75
|
+
if (!groups || !groups.length) return null;
|
|
76
|
+
|
|
77
|
+
const multiCoords = groups.map((g) => ringsFromLatLngs(g));
|
|
78
|
+
return new MultiPolygon(wrapCoordinates(multiCoords));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** ---- Circle ---- */
|
|
82
|
+
export function createGeoJsonCircle(layer, { properties, steps = 64 } = {}) {
|
|
83
|
+
const center = toPos(layer.getLatLng());
|
|
84
|
+
const radius = layer.getRadius?.(); // meters
|
|
85
|
+
|
|
86
|
+
return new Circle(center, radius, steps);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** ---- Catch-all: pick helper by Leaflet layer type ---- */
|
|
90
|
+
export function createGeoJsonFromLayer(layer, options = {}) {
|
|
91
|
+
const { layerType: type } = options;
|
|
92
|
+
|
|
93
|
+
if (type === 'circle' || type === 'circlemarker') {
|
|
94
|
+
return createGeoJsonCircle(layer, options);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// A rectangle is just a single Polygon (one outer ring)
|
|
98
|
+
if (type === 'polygon' || type === 'rectangle') {
|
|
99
|
+
return createGeoJsonPolygon(layer, options);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Fallback to Leaflet’s own GeoJSON
|
|
103
|
+
const feature = getGeoJsonFeature(layer.toGeoJSON?.());
|
|
104
|
+
if (!feature) return null;
|
|
105
|
+
|
|
106
|
+
switch (feature.geometry?.type) {
|
|
107
|
+
case 'Polygon':
|
|
108
|
+
return new Polygon(feature.geometry.coordinates);
|
|
109
|
+
case 'MultiPolygon':
|
|
110
|
+
return new MultiPolygon(feature.geometry.coordinates);
|
|
111
|
+
default:
|
|
112
|
+
return new Feature(feature);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/** ---- Batching ---- */
|
|
117
|
+
export function createFeatureCollectionFromLayers(layers, options) {
|
|
118
|
+
const features = []
|
|
119
|
+
.concat(layers || [])
|
|
120
|
+
.map((l) => createGeoJsonFromLayer(l, options))
|
|
121
|
+
.filter(Boolean);
|
|
122
|
+
|
|
123
|
+
return new FeatureCollection({ features });
|
|
124
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
const L = window.leaflet || window.L;
|
|
2
|
+
|
|
3
|
+
export function findLayer(map, findCallback) {
|
|
4
|
+
const layers = [];
|
|
5
|
+
|
|
6
|
+
map.eachLayer((layer) => {
|
|
7
|
+
layers.push(layer);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
if (typeof findCallback === 'function') {
|
|
11
|
+
return layers.find(findCallback);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function getLayerById(map, layerId) {
|
|
18
|
+
let targetLayer = null;
|
|
19
|
+
|
|
20
|
+
map.eachLayer((layer) => {
|
|
21
|
+
// Check if the layer has an ID property
|
|
22
|
+
if (layer.options && layer.options.id === layerId) {
|
|
23
|
+
targetLayer = layer;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
return targetLayer;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function flyToLayer(map, layer, zoom, options = {}) {
|
|
31
|
+
if (!map || !layer) return;
|
|
32
|
+
|
|
33
|
+
let targetLatLng = layer instanceof L.Marker ? layer.getLatLng() : layer.getCenter ? layer.getCenter() : layer.getBounds ? layer.getBounds().getCenter() : null;
|
|
34
|
+
if (!targetLatLng) return;
|
|
35
|
+
|
|
36
|
+
const dur = options.duration ?? 1.25;
|
|
37
|
+
|
|
38
|
+
// If any padding is requested, use flyToBounds on a zero-area bounds
|
|
39
|
+
if (options.padding || options.paddingTopLeft || options.paddingBottomRight) {
|
|
40
|
+
const bounds = L.latLngBounds(targetLatLng, targetLatLng);
|
|
41
|
+
map.flyToBounds(bounds, {
|
|
42
|
+
padding: options.padding,
|
|
43
|
+
paddingTopLeft: options.paddingTopLeft,
|
|
44
|
+
paddingBottomRight: options.paddingBottomRight,
|
|
45
|
+
maxZoom: zoom ?? map.getZoom(),
|
|
46
|
+
animate: true,
|
|
47
|
+
duration: dur,
|
|
48
|
+
});
|
|
49
|
+
} else {
|
|
50
|
+
map.flyTo(targetLatLng, zoom, { duration: dur });
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (typeof options.moveend === 'function') {
|
|
54
|
+
map.once('moveend', () => options.moveend(layer));
|
|
55
|
+
}
|
|
56
|
+
}
|