@fleetbase/fleetops-engine 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +9 -0
- package/README.md +32 -0
- package/addon/components/cell/driver-name.hbs +13 -0
- package/addon/components/cell/driver-name.js +30 -0
- package/addon/components/custom-field-value.hbs +11 -0
- package/addon/components/custom-field-value.js +41 -0
- package/addon/components/custom-field.hbs +42 -0
- package/addon/components/custom-field.js +46 -0
- package/addon/components/display-place.hbs +52 -0
- package/addon/components/display-place.js +11 -0
- package/addon/components/driver-card-mini.hbs +12 -0
- package/addon/components/driver-card-mini.js +25 -0
- package/addon/components/driver-card.hbs +27 -0
- package/addon/components/driver-card.js +14 -0
- package/addon/components/event-timeline/event.hbs +5 -0
- package/addon/components/event-timeline.hbs +7 -0
- package/addon/components/event-timeline.js +423 -0
- package/addon/components/file-icon.js +1 -0
- package/addon/components/fleet-driver-listing.hbs +73 -0
- package/addon/components/fleet-driver-listing.js +117 -0
- package/addon/components/full-calendar/draggable.js +1 -0
- package/addon/components/full-calendar.js +1 -0
- package/addon/components/full-size.js +1 -0
- package/addon/components/global-search.hbs +84 -0
- package/addon/components/global-search.js +52 -0
- package/addon/components/horizontal-route.hbs +33 -0
- package/addon/components/horizontal-route.js +48 -0
- package/addon/components/integrated-order-details.hbs +117 -0
- package/addon/components/integrated-order-details.js +10 -0
- package/addon/components/leaflet-draw-control.js +147 -0
- package/addon/components/leaflet-rotated-marker.js +24 -0
- package/addon/components/live-map.hbs +63 -0
- package/addon/components/live-map.js +856 -0
- package/addon/components/map-container/toolbar/zones-panel.hbs +41 -0
- package/addon/components/map-container/toolbar/zones-panel.js +106 -0
- package/addon/components/map-container/toolbar-container.hbs +1 -0
- package/addon/components/map-container/toolbar-container.js +3 -0
- package/addon/components/map-container/toolbar.hbs +51 -0
- package/addon/components/map-container/toolbar.js +34 -0
- package/addon/components/map-container/topbar.hbs +1 -0
- package/addon/components/map-container/topbar.js +3 -0
- package/addon/components/map-container/view-switch.hbs +1 -0
- package/addon/components/map-container/view-switch.js +3 -0
- package/addon/components/map-container.hbs +1 -0
- package/addon/components/map-container.js +15 -0
- package/addon/components/modals/assign-driver.hbs +24 -0
- package/addon/components/modals/assign-driver.js +3 -0
- package/addon/components/modals/clone-config-form.hbs +6 -0
- package/addon/components/modals/contact-details.hbs +44 -0
- package/addon/components/modals/contact-form.hbs +56 -0
- package/addon/components/modals/driver-assign-order.hbs +67 -0
- package/addon/components/modals/driver-assign-vehicle.hbs +20 -0
- package/addon/components/modals/driver-assign-vendor.hbs +20 -0
- package/addon/components/modals/driver-details.hbs +85 -0
- package/addon/components/modals/driver-form.hbs +83 -0
- package/addon/components/modals/edit-meta-form.hbs +20 -0
- package/addon/components/modals/entity-form.hbs +57 -0
- package/addon/components/modals/entity-meta-field-prompt.hbs +6 -0
- package/addon/components/modals/fleet-details.hbs +31 -0
- package/addon/components/modals/fleet-form.hbs +26 -0
- package/addon/components/modals/fuel-report-details.hbs +34 -0
- package/addon/components/modals/fuel-report-form.hbs +26 -0
- package/addon/components/modals/group-details.hbs +42 -0
- package/addon/components/modals/group-form.hbs +54 -0
- package/addon/components/modals/install-prompt.hbs +21 -0
- package/addon/components/modals/map-field-form.hbs +9 -0
- package/addon/components/modals/map-field-group-form.hbs +6 -0
- package/addon/components/modals/map-layer-form.hbs +29 -0
- package/addon/components/modals/meta-field-form.hbs +8 -0
- package/addon/components/modals/meta-field-group-form.hbs +5 -0
- package/addon/components/modals/new-order-config.hbs +11 -0
- package/addon/components/modals/option-prompt.hbs +17 -0
- package/addon/components/modals/order-assign-driver.hbs +25 -0
- package/addon/components/modals/order-config-new-status.hbs +5 -0
- package/addon/components/modals/order-event.hbs +18 -0
- package/addon/components/modals/order-form.hbs +63 -0
- package/addon/components/modals/order-import.hbs +84 -0
- package/addon/components/modals/order-label.hbs +7 -0
- package/addon/components/modals/order-meta.hbs +12 -0
- package/addon/components/modals/order-new-activity.hbs +62 -0
- package/addon/components/modals/order-route-form.hbs +111 -0
- package/addon/components/modals/place-assign-vendor.hbs +20 -0
- package/addon/components/modals/place-details.hbs +105 -0
- package/addon/components/modals/place-form.hbs +30 -0
- package/addon/components/modals/point-map.hbs +16 -0
- package/addon/components/modals/policy-form.hbs +22 -0
- package/addon/components/modals/resend-verification-email.hbs +25 -0
- package/addon/components/modals/role-form.hbs +16 -0
- package/addon/components/modals/select-payment-method.hbs +12 -0
- package/addon/components/modals/service-area-form.hbs +31 -0
- package/addon/components/modals/set-password.hbs +15 -0
- package/addon/components/modals/uninstall-prompt.hbs +21 -0
- package/addon/components/modals/user-form.hbs +56 -0
- package/addon/components/modals/vehicle-details.hbs +227 -0
- package/addon/components/modals/vehicle-form.hbs +282 -0
- package/addon/components/modals/vendor-details.hbs +77 -0
- package/addon/components/modals/vendor-form.hbs +168 -0
- package/addon/components/modals/view-service-area.hbs +12 -0
- package/addon/components/modals/view-zone.hbs +12 -0
- package/addon/components/modals/zone-form.hbs +16 -0
- package/addon/components/operations-pane/pane.hbs +1 -0
- package/addon/components/order/header.hbs +48 -0
- package/addon/components/order/header.js +26 -0
- package/addon/components/order/place-card.hbs +51 -0
- package/addon/components/order/place-card.js +33 -0
- package/addon/components/order/schedule-card.hbs +35 -0
- package/addon/components/order/schedule-card.js +17 -0
- package/addon/components/order/sub-header/item.hbs +16 -0
- package/addon/components/order/sub-header.hbs +3 -0
- package/addon/components/order-config/activity-flow-editor.hbs +108 -0
- package/addon/components/order-config/activity-flow-editor.js +374 -0
- package/addon/components/order-config/details-editor.hbs +32 -0
- package/addon/components/order-config/details-editor.js +16 -0
- package/addon/components/order-config/entities-editor.hbs +84 -0
- package/addon/components/order-config/entities-editor.js +123 -0
- package/addon/components/order-config/fields-editor.hbs +122 -0
- package/addon/components/order-config/fields-editor.js +233 -0
- package/addon/components/order-config/selector.hbs +1 -0
- package/addon/components/order-config/selector.js +3 -0
- package/addon/components/order-config.hbs +66 -0
- package/addon/components/order-config.js +296 -0
- package/addon/components/order-list-overlay/driver-panel-title.hbs +6 -0
- package/addon/components/order-list-overlay/order.hbs +22 -0
- package/addon/components/order-list-overlay/order.js +3 -0
- package/addon/components/order-list-overlay.hbs +120 -0
- package/addon/components/order-list-overlay.js +227 -0
- package/addon/components/route-list.hbs +47 -0
- package/addon/components/route-list.js +11 -0
- package/addon/components/settings-window.hbs +15 -0
- package/addon/components/settings-window.js +62 -0
- package/addon/components/split-grid.js +1 -0
- package/addon/components/widget/fleet-ops-quickstart.hbs +40 -0
- package/addon/components/widget/fleet-ops-quickstart.js +58 -0
- package/addon/components/widget/issues.hbs +1 -0
- package/addon/components/widget/key-metrics.hbs +121 -0
- package/addon/components/widget/key-metrics.js +46 -0
- package/addon/components/widget/live-order-map.hbs +59 -0
- package/addon/components/widget/live-order-map.js +11 -0
- package/addon/components/widget/recent-orders.hbs +35 -0
- package/addon/components/widget/recent-orders.js +24 -0
- package/addon/components/widget/transaction-earnings.hbs +1 -0
- package/addon/components/widget/transactions.hbs +36 -0
- package/addon/components/widget/transactions.js +29 -0
- package/addon/components/widget/weekly-orders.hbs +1 -0
- package/addon/components/widget/weekly-orders.js +3 -0
- package/addon/controllers/application.js +40 -0
- package/addon/controllers/management/contacts/index.js +438 -0
- package/addon/controllers/management/drivers/index.js +868 -0
- package/addon/controllers/management/fleets/index.js +507 -0
- package/addon/controllers/management/fuel-reports/index.js +428 -0
- package/addon/controllers/management/issues/index.js +335 -0
- package/addon/controllers/management/places/index.js +571 -0
- package/addon/controllers/management/vehicles/index.js +616 -0
- package/addon/controllers/management/vendors/index.js +626 -0
- package/addon/controllers/management.js +5 -0
- package/addon/controllers/operations/orders/index/config/types.js +17 -0
- package/addon/controllers/operations/orders/index/config.js +13 -0
- package/addon/controllers/operations/orders/index/new.js +1213 -0
- package/addon/controllers/operations/orders/index/view.js +794 -0
- package/addon/controllers/operations/orders/index.js +674 -0
- package/addon/controllers/operations/scheduler/index.js +110 -0
- package/addon/controllers/operations/service-rates/index/edit.js +59 -0
- package/addon/controllers/operations/service-rates/index/new.js +369 -0
- package/addon/controllers/operations/service-rates/index.js +275 -0
- package/addon/controllers/operations/zones/index.js +470 -0
- package/addon/engine.js +19 -0
- package/addon/helpers/avatar-url.js +9 -0
- package/addon/helpers/extract-coordinates.js +6 -0
- package/addon/helpers/feature-group.js +14 -0
- package/addon/helpers/flow-raw-status.js +13 -0
- package/addon/helpers/format-point.js +13 -0
- package/addon/helpers/get-tip-amount.js +19 -0
- package/addon/helpers/is-active-route.js +1 -0
- package/addon/helpers/is-facilitator-supported-place.js +6 -0
- package/addon/helpers/is-not-facilitator-supported-place.js +6 -0
- package/addon/helpers/is-waypoint-record.js +6 -0
- package/addon/helpers/point-coordinates.js +10 -0
- package/addon/helpers/point-to-coordinates.js +28 -0
- package/addon/helpers/service-name.js +6 -0
- package/addon/helpers/waypoint-label.js +1 -0
- package/addon/instance-initializers/register-leaflet-draw-control-layer.js +17 -0
- package/addon/instance-initializers/register-leaflet-rotated-marker.js +17 -0
- package/addon/modifiers/translate-x.js +5 -0
- package/addon/routes/application.js +25 -0
- package/addon/routes/comms/chat.js +3 -0
- package/addon/routes/comms/intercom.js +3 -0
- package/addon/routes/comms.js +3 -0
- package/addon/routes/home.js +20 -0
- package/addon/routes/management/contacts/index.js +24 -0
- package/addon/routes/management/contacts.js +3 -0
- package/addon/routes/management/drivers/index.js +33 -0
- package/addon/routes/management/drivers.js +3 -0
- package/addon/routes/management/fleets/index.js +27 -0
- package/addon/routes/management/fleets.js +3 -0
- package/addon/routes/management/fuel-reports/index.js +23 -0
- package/addon/routes/management/fuel-reports.js +3 -0
- package/addon/routes/management/index.js +3 -0
- package/addon/routes/management/issues/index.js +24 -0
- package/addon/routes/management/issues.js +3 -0
- package/addon/routes/management/places/index.js +18 -0
- package/addon/routes/management/places.js +3 -0
- package/addon/routes/management/vehicles/index.js +35 -0
- package/addon/routes/management/vehicles.js +3 -0
- package/addon/routes/management/vendors/index.js +34 -0
- package/addon/routes/management/vendors.js +3 -0
- package/addon/routes/management.js +3 -0
- package/addon/routes/operations/dispatch.js +3 -0
- package/addon/routes/operations/orders/index/config/types.js +17 -0
- package/addon/routes/operations/orders/index/config.js +3 -0
- package/addon/routes/operations/orders/index/new.js +16 -0
- package/addon/routes/operations/orders/index/view.js +37 -0
- package/addon/routes/operations/orders/index.js +35 -0
- package/addon/routes/operations/orders.js +4 -0
- package/addon/routes/operations/scheduler/index.js +10 -0
- package/addon/routes/operations/scheduler.js +3 -0
- package/addon/routes/operations/service-rates/index/edit.js +35 -0
- package/addon/routes/operations/service-rates/index/new.js +15 -0
- package/addon/routes/operations/service-rates/index.js +49 -0
- package/addon/routes/operations/service-rates.js +10 -0
- package/addon/routes/operations/zones/index.js +25 -0
- package/addon/routes/operations/zones.js +7 -0
- package/addon/routes/operations.js +3 -0
- package/addon/routes.js +55 -0
- package/addon/services/map-manager.js +3 -0
- package/addon/services/service-areas.js +385 -0
- package/addon/templates/application.hbs +27 -0
- package/addon/templates/comms/chat.hbs +1 -0
- package/addon/templates/comms/intercom.hbs +1 -0
- package/addon/templates/comms.hbs +1 -0
- package/addon/templates/home.hbs +1 -0
- package/addon/templates/management/contacts/index.hbs +23 -0
- package/addon/templates/management/contacts.hbs +1 -0
- package/addon/templates/management/drivers/index.hbs +35 -0
- package/addon/templates/management/drivers.hbs +1 -0
- package/addon/templates/management/fleets/index.hbs +22 -0
- package/addon/templates/management/fleets.hbs +1 -0
- package/addon/templates/management/fuel-reports/index.hbs +21 -0
- package/addon/templates/management/fuel-reports.hbs +1 -0
- package/addon/templates/management/index.hbs +53 -0
- package/addon/templates/management/issues/index.hbs +21 -0
- package/addon/templates/management/issues.hbs +1 -0
- package/addon/templates/management/places/index.hbs +34 -0
- package/addon/templates/management/places.hbs +1 -0
- package/addon/templates/management/vehicles/index.hbs +22 -0
- package/addon/templates/management/vehicles.hbs +1 -0
- package/addon/templates/management/vendors/index.hbs +22 -0
- package/addon/templates/management/vendors.hbs +1 -0
- package/addon/templates/management.hbs +1 -0
- package/addon/templates/operations/dispatch.hbs +1 -0
- package/addon/templates/operations/orders/index/config/types.hbs +26 -0
- package/addon/templates/operations/orders/index/config.hbs +24 -0
- package/addon/templates/operations/orders/index/new.hbs +506 -0
- package/addon/templates/operations/orders/index/view.hbs +428 -0
- package/addon/templates/operations/orders/index.hbs +48 -0
- package/addon/templates/operations/orders.hbs +1 -0
- package/addon/templates/operations/scheduler/index.hbs +30 -0
- package/addon/templates/operations/scheduler.hbs +1 -0
- package/addon/templates/operations/service-rates/index/edit.hbs +1 -0
- package/addon/templates/operations/service-rates/index/new.hbs +308 -0
- package/addon/templates/operations/service-rates/index.hbs +23 -0
- package/addon/templates/operations/service-rates.hbs +1 -0
- package/addon/templates/operations/zones/index.hbs +72 -0
- package/addon/templates/operations/zones.hbs +1 -0
- package/addon/templates/operations.hbs +1 -0
- package/addon/utils/calculate-percentage.js +1 -0
- package/addon/utils/extract-coordinates.js +1 -0
- package/addon/utils/format-currency.js +1 -0
- package/addon/utils/geojson/geo-json.js +17 -0
- package/addon/utils/is-facilitator-supported-place.js +14 -0
- package/addon/utils/to-model.js +1 -0
- package/app/components/cell/driver-name.js +1 -0
- package/app/components/custom-field-value.js +1 -0
- package/app/components/custom-field.js +1 -0
- package/app/components/display-place.js +1 -0
- package/app/components/driver-card-mini.js +1 -0
- package/app/components/driver-card.js +1 -0
- package/app/components/event-timeline/event.js +1 -0
- package/app/components/event-timeline.js +1 -0
- package/app/components/file-icon.js +1 -0
- package/app/components/fleet-driver-listing.js +1 -0
- package/app/components/full-calendar/draggable.js +1 -0
- package/app/components/full-calendar.js +1 -0
- package/app/components/full-size.js +1 -0
- package/app/components/global-search.js +1 -0
- package/app/components/horizontal-route.js +1 -0
- package/app/components/integrated-order-details.js +1 -0
- package/app/components/leaflet-draw-control.js +1 -0
- package/app/components/leaflet-rotated-marker.js +1 -0
- package/app/components/live-map.js +1 -0
- package/app/components/map-container/toolbar/zones-panel.js +1 -0
- package/app/components/map-container/toolbar-container.js +1 -0
- package/app/components/map-container/toolbar.js +1 -0
- package/app/components/map-container/topbar.js +1 -0
- package/app/components/map-container/view-switch.js +1 -0
- package/app/components/map-container.js +1 -0
- package/app/components/modals/assign-driver.js +1 -0
- package/app/components/modals/clone-config-form.js +1 -0
- package/app/components/modals/contact-details.js +1 -0
- package/app/components/modals/contact-form.js +1 -0
- package/app/components/modals/driver-assign-order.js +1 -0
- package/app/components/modals/driver-assign-vehicle.js +1 -0
- package/app/components/modals/driver-assign-vendor.js +1 -0
- package/app/components/modals/driver-details.js +1 -0
- package/app/components/modals/driver-form.js +1 -0
- package/app/components/modals/edit-meta-form.js +1 -0
- package/app/components/modals/entity-form.js +1 -0
- package/app/components/modals/entity-meta-field-prompt.js +1 -0
- package/app/components/modals/fleet-details.js +1 -0
- package/app/components/modals/fleet-form.js +1 -0
- package/app/components/modals/fuel-report-details.js +1 -0
- package/app/components/modals/fuel-report-form.js +1 -0
- package/app/components/modals/group-details.js +1 -0
- package/app/components/modals/group-form.js +1 -0
- package/app/components/modals/install-prompt.js +1 -0
- package/app/components/modals/map-field-form.js +1 -0
- package/app/components/modals/map-field-group-form.js +1 -0
- package/app/components/modals/map-layer-form.js +1 -0
- package/app/components/modals/meta-field-form.js +1 -0
- package/app/components/modals/meta-field-group-form.js +1 -0
- package/app/components/modals/new-order-config.js +1 -0
- package/app/components/modals/option-prompt.js +1 -0
- package/app/components/modals/order-assign-driver.js +1 -0
- package/app/components/modals/order-config-new-status.js +1 -0
- package/app/components/modals/order-event.js +1 -0
- package/app/components/modals/order-form.js +1 -0
- package/app/components/modals/order-import.js +1 -0
- package/app/components/modals/order-label.js +1 -0
- package/app/components/modals/order-meta.js +1 -0
- package/app/components/modals/order-new-activity.js +1 -0
- package/app/components/modals/order-route-form.js +1 -0
- package/app/components/modals/place-assign-vendor.js +1 -0
- package/app/components/modals/place-details.js +1 -0
- package/app/components/modals/place-form.js +1 -0
- package/app/components/modals/point-map.js +1 -0
- package/app/components/modals/policy-form.js +1 -0
- package/app/components/modals/resend-verification-email.js +1 -0
- package/app/components/modals/role-form.js +1 -0
- package/app/components/modals/select-payment-method.js +1 -0
- package/app/components/modals/service-area-form.js +1 -0
- package/app/components/modals/set-password.js +1 -0
- package/app/components/modals/uninstall-prompt.js +1 -0
- package/app/components/modals/user-form.js +1 -0
- package/app/components/modals/vehicle-details.js +1 -0
- package/app/components/modals/vehicle-form.js +1 -0
- package/app/components/modals/vendor-details.js +1 -0
- package/app/components/modals/vendor-form.js +1 -0
- package/app/components/modals/view-service-area.js +1 -0
- package/app/components/modals/view-zone.js +1 -0
- package/app/components/modals/zone-form.js +1 -0
- package/app/components/operations-pane/pane.js +1 -0
- package/app/components/order/header.js +1 -0
- package/app/components/order/place-card.js +1 -0
- package/app/components/order/schedule-card.js +1 -0
- package/app/components/order/sub-header/item.js +1 -0
- package/app/components/order/sub-header.js +1 -0
- package/app/components/order-config/activity-flow-editor.js +1 -0
- package/app/components/order-config/details-editor.js +1 -0
- package/app/components/order-config/entities-editor.js +1 -0
- package/app/components/order-config/fields-editor.js +1 -0
- package/app/components/order-config/selector.js +1 -0
- package/app/components/order-config.js +1 -0
- package/app/components/order-list-overlay/driver-panel-title.js +1 -0
- package/app/components/order-list-overlay/order.js +1 -0
- package/app/components/order-list-overlay.js +1 -0
- package/app/components/route-list.js +1 -0
- package/app/components/settings-window.js +1 -0
- package/app/components/split-grid.js +1 -0
- package/app/components/widget/issues.js +1 -0
- package/app/components/widget/key-metrics.js +1 -0
- package/app/components/widget/live-order-map.js +1 -0
- package/app/components/widget/recent-orders.js +1 -0
- package/app/components/widget/recommended-todo.js +1 -0
- package/app/components/widget/transaction-earnings.js +1 -0
- package/app/components/widget/transactions.js +1 -0
- package/app/components/widget/weekly-orders.js +1 -0
- package/app/controllers/application.js +1 -0
- package/app/controllers/management/contacts/index.js +1 -0
- package/app/controllers/management/drivers/index/details.js +1 -0
- package/app/controllers/management/drivers/index.js +1 -0
- package/app/controllers/management/fleets/index/details.js +1 -0
- package/app/controllers/management/fleets/index.js +1 -0
- package/app/controllers/management/fuel-reports/index.js +1 -0
- package/app/controllers/management/issues/index.js +1 -0
- package/app/controllers/management/places/index.js +1 -0
- package/app/controllers/management/vehicles/index.js +1 -0
- package/app/controllers/management/vendors/index/details/remarks.js +1 -0
- package/app/controllers/management/vendors/index/details.js +1 -0
- package/app/controllers/management/vendors/index.js +1 -0
- package/app/controllers/management.js +1 -0
- package/app/controllers/operations/orders/index/config/types.js +1 -0
- package/app/controllers/operations/orders/index/config.js +1 -0
- package/app/controllers/operations/orders/index/new.js +1 -0
- package/app/controllers/operations/orders/index/view.js +1 -0
- package/app/controllers/operations/scheduler/index.js +1 -0
- package/app/controllers/operations/service-rates/index/edit.js +1 -0
- package/app/controllers/operations/service-rates/index/new.js +1 -0
- package/app/controllers/operations/service-rates/index.js +1 -0
- package/app/controllers/operations/zones/index.js +1 -0
- package/app/helpers/avatar-url.js +1 -0
- package/app/helpers/extract-coordinates.js +1 -0
- package/app/helpers/feature-group.js +1 -0
- package/app/helpers/flow-raw-status.js +1 -0
- package/app/helpers/format-point.js +1 -0
- package/app/helpers/get-tip-amount.js +1 -0
- package/app/helpers/is-facilitator-supported-place.js +1 -0
- package/app/helpers/is-not-facilitator-supported-place.js +1 -0
- package/app/helpers/is-waypoint-record.js +1 -0
- package/app/helpers/point-coordinates.js +1 -0
- package/app/helpers/point-to-coordinates.js +1 -0
- package/app/helpers/service-name.js +1 -0
- package/app/helpers/waypoint-label.js +1 -0
- package/app/modifiers/translate-x.js +1 -0
- package/app/routes/home.js +1 -0
- package/app/routes/management/fleets/index/details.js +1 -0
- package/app/routes/operations/orders/index/config/types.js +1 -0
- package/app/routes/operations/orders/index/config.js +1 -0
- package/app/routes/operations/orders/index/new.js +1 -0
- package/app/routes/operations/orders/index/view.js +1 -0
- package/app/routes/operations/scheduler/index.js +1 -0
- package/app/routes/operations/scheduler.js +1 -0
- package/app/routes/operations/service-rates/index/edit.js +1 -0
- package/app/routes/operations/service-rates/index/new.js +1 -0
- package/app/services/map-manager.js +1 -0
- package/app/services/service-areas.js +1 -0
- package/app/templates/home.js +1 -0
- package/app/templates/management/fleets/index/details.js +1 -0
- package/app/templates/operations/orders/index/config/types.js +1 -0
- package/app/templates/operations/orders/index/config.js +1 -0
- package/app/templates/operations/orders/index/new.js +1 -0
- package/app/templates/operations/orders/index/view.js +1 -0
- package/app/templates/operations/scheduler/index.js +1 -0
- package/app/templates/operations/scheduler.js +1 -0
- package/app/templates/operations/service-rates/index/edit.js +1 -0
- package/app/templates/operations/service-rates/index/new.js +1 -0
- package/app/utils/calculate-percentage.js +1 -0
- package/app/utils/extract-coordinates.js +1 -0
- package/app/utils/format-currency.js +1 -0
- package/app/utils/geojson/geo-json.js +1 -0
- package/app/utils/is-facilitator-supported-place.js +1 -0
- package/app/utils/is-latitude.js +1 -0
- package/app/utils/to-model.js +1 -0
- package/assets/images/drawing-controls-spritesheet-inverted.png +0 -0
- package/config/environment.js +25 -0
- package/index.js +73 -0
- package/package.json +132 -0
- package/pnpm-lock.yaml +12613 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
|
|
5
|
+
export default class ApplicationRoute extends Route {
|
|
6
|
+
@service loader;
|
|
7
|
+
|
|
8
|
+
@action loading(transition) {
|
|
9
|
+
const resourceName = this.getResouceName(transition);
|
|
10
|
+
this.loader.showOnInitialTransition(transition, 'section.next-view-section', resourceName ? `Loading ${resourceName}...` : `Loading...`);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
getResouceName(transition) {
|
|
14
|
+
const { to } = transition;
|
|
15
|
+
|
|
16
|
+
if (typeof to.name === 'string') {
|
|
17
|
+
let routePathSegments = to.name.split('.');
|
|
18
|
+
let resourceName = routePathSegments[3];
|
|
19
|
+
|
|
20
|
+
return resourceName;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
|
|
5
|
+
export default class HomeRoute extends Route {
|
|
6
|
+
/**
|
|
7
|
+
* Inject the `loader` service.
|
|
8
|
+
*
|
|
9
|
+
* @var {Service}
|
|
10
|
+
*/
|
|
11
|
+
@service loader;
|
|
12
|
+
|
|
13
|
+
@action loading(transition) {
|
|
14
|
+
const loader = this.loader.show(`Loading FleetOps...`);
|
|
15
|
+
|
|
16
|
+
transition.finally(() => {
|
|
17
|
+
this.loader.removeLoader(loader);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
|
|
5
|
+
export default class ManagementContactsIndexRoute extends Route {
|
|
6
|
+
@service store;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Queryable parameters
|
|
10
|
+
*
|
|
11
|
+
* @var {Object}
|
|
12
|
+
*/
|
|
13
|
+
queryParams = {
|
|
14
|
+
page: { refreshModel: true },
|
|
15
|
+
limit: { refreshModel: true },
|
|
16
|
+
sort: { refreshModel: true },
|
|
17
|
+
query: { refreshModel: true },
|
|
18
|
+
status: { refreshModel: true },
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
model(params) {
|
|
22
|
+
return this.store.query('contact', { ...params });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class ManagementDriversIndexRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
|
|
7
|
+
queryParams = {
|
|
8
|
+
page: { refreshModel: true },
|
|
9
|
+
limit: { refreshModel: true },
|
|
10
|
+
sort: { refreshModel: true },
|
|
11
|
+
query: { refreshModel: true },
|
|
12
|
+
status: { refreshModel: true },
|
|
13
|
+
name: { refreshModel: true },
|
|
14
|
+
public_id: { refreshModel: true },
|
|
15
|
+
internal_id: { refreshModel: true },
|
|
16
|
+
drivers_license_number: { refreshModel: true },
|
|
17
|
+
phone: { refreshModel: true },
|
|
18
|
+
country: { refreshModel: true },
|
|
19
|
+
fleet: { refreshModel: true },
|
|
20
|
+
vendor: { refreshModel: true },
|
|
21
|
+
vehicle: { refreshModel: true },
|
|
22
|
+
created_at: { refreshModel: true },
|
|
23
|
+
updated_at: { refreshModel: true },
|
|
24
|
+
'within[latitude]': { refreshModel: true, replace: true },
|
|
25
|
+
'within[longitude]': { refreshModel: true, replace: true },
|
|
26
|
+
'within[radius]': { refreshModel: true, replace: true },
|
|
27
|
+
'within[where]': { refreshModel: true, replace: true },
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
model(params) {
|
|
31
|
+
return this.store.query('driver', { ...params });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class ManagementFleetsIndexRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Queryable parameters
|
|
9
|
+
*
|
|
10
|
+
* @var {Object}
|
|
11
|
+
*/
|
|
12
|
+
queryParams = {
|
|
13
|
+
page: { refreshModel: true },
|
|
14
|
+
limit: { refreshModel: true },
|
|
15
|
+
sort: { refreshModel: true },
|
|
16
|
+
query: { refreshModel: true },
|
|
17
|
+
status: { refreshModel: true },
|
|
18
|
+
internal_id: { refreshModel: true },
|
|
19
|
+
zone: { refreshModel: true },
|
|
20
|
+
service_area: { refreshModel: true },
|
|
21
|
+
task: { refreshModel: true },
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
model(params) {
|
|
25
|
+
return this.store.query('fleet', { ...params });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class ManagementFuelReportsIndexRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Queryable parameters
|
|
9
|
+
*
|
|
10
|
+
* @var {Object}
|
|
11
|
+
*/
|
|
12
|
+
queryParams = {
|
|
13
|
+
page: { refreshModel: true },
|
|
14
|
+
limit: { refreshModel: true },
|
|
15
|
+
sort: { refreshModel: true },
|
|
16
|
+
query: { refreshModel: true },
|
|
17
|
+
status: { refreshModel: true },
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
model(params) {
|
|
21
|
+
return this.store.query('fuel-report', { ...params });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class ManagementIssuesIndexRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Queryable parameters
|
|
9
|
+
*
|
|
10
|
+
* @var {Object}
|
|
11
|
+
*/
|
|
12
|
+
queryParams = {
|
|
13
|
+
page: { refreshModel: true },
|
|
14
|
+
limit: { refreshModel: true },
|
|
15
|
+
sort: { refreshModel: true },
|
|
16
|
+
query: { refreshModel: true },
|
|
17
|
+
country: { refreshModel: true },
|
|
18
|
+
status: { refreshModel: true },
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
model(params) {
|
|
22
|
+
return this.store.query('issue', { ...params });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class ManagementPlacesIndexRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
|
|
7
|
+
queryParams = {
|
|
8
|
+
page: { refreshModel: true },
|
|
9
|
+
limit: { refreshModel: true },
|
|
10
|
+
sort: { refreshModel: true },
|
|
11
|
+
query: { refreshModel: true },
|
|
12
|
+
country: { refreshModel: true },
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
model(params) {
|
|
16
|
+
return this.store.query('place', { ...params });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class ManagementVehiclesIndexRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
|
|
7
|
+
queryParams = {
|
|
8
|
+
page: { refreshModel: true },
|
|
9
|
+
limit: { refreshModel: true },
|
|
10
|
+
sort: { refreshModel: true },
|
|
11
|
+
query: { refreshModel: true },
|
|
12
|
+
status: { refreshModel: true },
|
|
13
|
+
name: { refreshModel: true },
|
|
14
|
+
public_id: { refreshModel: true },
|
|
15
|
+
vin: { refreshModel: true },
|
|
16
|
+
plate_number: { refreshModel: true },
|
|
17
|
+
vehicle_make: { refreshModel: true },
|
|
18
|
+
vehicle_model: { refreshModel: true },
|
|
19
|
+
year: { refreshModel: true },
|
|
20
|
+
country: { refreshModel: true },
|
|
21
|
+
fleet: { refreshModel: true },
|
|
22
|
+
vendor: { refreshModel: true },
|
|
23
|
+
driver: { refreshModel: true },
|
|
24
|
+
created_at: { refreshModel: true },
|
|
25
|
+
updated_at: { refreshModel: true },
|
|
26
|
+
'within[latitude]': { refreshModel: true, replace: true },
|
|
27
|
+
'within[longitude]': { refreshModel: true, replace: true },
|
|
28
|
+
'within[radius]': { refreshModel: true, replace: true },
|
|
29
|
+
'within[where]': { refreshModel: true, replace: true },
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
model(params) {
|
|
33
|
+
return this.store.query('vehicle', { ...params });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class ManagementVendorsIndexRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Queryable parameters
|
|
9
|
+
*
|
|
10
|
+
* @var {Object}
|
|
11
|
+
*/
|
|
12
|
+
queryParams = {
|
|
13
|
+
page: { refreshModel: true },
|
|
14
|
+
limit: { refreshModel: true },
|
|
15
|
+
sort: { refreshModel: true },
|
|
16
|
+
query: { refreshModel: true },
|
|
17
|
+
country: { refreshModel: true },
|
|
18
|
+
status: { refreshModel: true },
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
model(params) {
|
|
22
|
+
return this.store.query('vendor', { ...params });
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async setupController(controller, model) {
|
|
26
|
+
super.setupController(...arguments);
|
|
27
|
+
|
|
28
|
+
// load integrated vendors
|
|
29
|
+
const integratedVendors = await this.store.findAll('integrated-vendor');
|
|
30
|
+
|
|
31
|
+
// append integrated vendors
|
|
32
|
+
controller.rows = [...model.toArray(), ...integratedVendors.toArray()];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class OperationsOrdersIndexConfigTypesRoute extends Route {
|
|
5
|
+
/**
|
|
6
|
+
* Inject the fetch service
|
|
7
|
+
*
|
|
8
|
+
* @var {Service}
|
|
9
|
+
*/
|
|
10
|
+
@service fetch;
|
|
11
|
+
|
|
12
|
+
async setupController(controller) {
|
|
13
|
+
// load all configurable order types
|
|
14
|
+
const types = await this.fetch.get('orders/types');
|
|
15
|
+
controller.types = types;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
|
|
5
|
+
export default class OperationsOrdersIndexNewRoute extends Route {
|
|
6
|
+
@service currentUser;
|
|
7
|
+
@service loader;
|
|
8
|
+
|
|
9
|
+
@action willTransition() {
|
|
10
|
+
this.controller?.resetForm();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async setupController(controller) {
|
|
14
|
+
controller.types = await this.currentUser.getInstalledOrderConfigs();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
|
|
5
|
+
export default class OperationsOrdersIndexViewRoute extends Route {
|
|
6
|
+
@service currentUser;
|
|
7
|
+
@service store;
|
|
8
|
+
|
|
9
|
+
@action willTransition() {
|
|
10
|
+
this.controller?.resetView();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
model(order) {
|
|
14
|
+
const { public_id } = order;
|
|
15
|
+
|
|
16
|
+
return this.store.queryRecord('order', {
|
|
17
|
+
public_id,
|
|
18
|
+
single: true,
|
|
19
|
+
with: ['payload', 'driverAssigned', 'customer', 'facilitator', 'trackingStatuses', 'trackingNumber'],
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async setupController(controller, model) {
|
|
24
|
+
super.setupController(controller, model);
|
|
25
|
+
|
|
26
|
+
controller.isLoadingAdditionalData = true;
|
|
27
|
+
|
|
28
|
+
await model.loadPayload();
|
|
29
|
+
await model.loadDriver();
|
|
30
|
+
await model.loadTrackingNumber();
|
|
31
|
+
await model.loadCustomer();
|
|
32
|
+
await model.loadTrackingActivity();
|
|
33
|
+
await model.loadOrderConfig();
|
|
34
|
+
|
|
35
|
+
controller.isLoadingAdditionalData = false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { tracked } from '@glimmer/tracking';
|
|
3
|
+
import { inject as service } from '@ember/service';
|
|
4
|
+
import { action } from '@ember/object';
|
|
5
|
+
|
|
6
|
+
export default class OperationsOrdersIndexRoute extends Route {
|
|
7
|
+
@service store;
|
|
8
|
+
|
|
9
|
+
@tracked queryParams = {
|
|
10
|
+
page: { refreshModel: true },
|
|
11
|
+
limit: { refreshModel: true },
|
|
12
|
+
sort: { refreshModel: true },
|
|
13
|
+
query: { refreshModel: true },
|
|
14
|
+
status: { refreshModel: true },
|
|
15
|
+
public_id: { refreshModel: true },
|
|
16
|
+
internal_id: { refreshModel: true },
|
|
17
|
+
payload: { refreshModel: true },
|
|
18
|
+
tracking: { refreshModel: true },
|
|
19
|
+
facilitator: { refreshModel: true },
|
|
20
|
+
driver: { refreshModel: true },
|
|
21
|
+
customer: { refreshModel: true },
|
|
22
|
+
pickup: { refreshModel: true },
|
|
23
|
+
dropoff: { refreshModel: true },
|
|
24
|
+
after: { refreshModel: true },
|
|
25
|
+
before: { refreshModel: true },
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
@action willTransition(transition) {
|
|
29
|
+
this.controller?.resetView(transition);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
model(params) {
|
|
33
|
+
return this.store.query('order', params);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class OperationsSchedulerIndexRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
|
|
7
|
+
model() {
|
|
8
|
+
return this.store.query('order', { status: 'created', with: ['payload'] });
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class OperationsServiceRatesIndexEditRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
@service currentUser;
|
|
7
|
+
|
|
8
|
+
templateName = 'operations.service-rates.index.new';
|
|
9
|
+
|
|
10
|
+
model({ public_id }) {
|
|
11
|
+
return this.store.queryRecord('service-rate', {
|
|
12
|
+
public_id,
|
|
13
|
+
single: true,
|
|
14
|
+
with: ['parcelFees', 'rateFees'],
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async setupController(controller, model) {
|
|
19
|
+
controller.serviceRate = model;
|
|
20
|
+
|
|
21
|
+
if (model.isFixedMeter) {
|
|
22
|
+
controller.rateFees = model.rate_fees;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (model.isParcelService) {
|
|
26
|
+
controller.parcelFees = model.parcel_fees;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const serviceTypes = await this.currentUser.getInstalledOrderConfigs();
|
|
30
|
+
const serviceAreas = await this.store.findAll('service-area');
|
|
31
|
+
|
|
32
|
+
controller.serviceTypes = serviceTypes;
|
|
33
|
+
controller.serviceAreas = serviceAreas;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class OperationsServiceRatesIndexNewRoute extends Route {
|
|
5
|
+
@service store;
|
|
6
|
+
@service currentUser;
|
|
7
|
+
|
|
8
|
+
async setupController(controller) {
|
|
9
|
+
const serviceTypes = await this.currentUser.getInstalledOrderConfigs();
|
|
10
|
+
const serviceAreas = await this.store.findAll('service-area');
|
|
11
|
+
|
|
12
|
+
controller.serviceTypes = serviceTypes;
|
|
13
|
+
controller.serviceAreas = serviceAreas;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
|
|
5
|
+
export default class OperationsServiceRatesIndexRoute extends Route {
|
|
6
|
+
/**
|
|
7
|
+
* Inject the `store` service.
|
|
8
|
+
*
|
|
9
|
+
* @var {Store}
|
|
10
|
+
*/
|
|
11
|
+
@service store;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Inject the `loader` service.
|
|
15
|
+
*
|
|
16
|
+
* @var {Service}
|
|
17
|
+
*/
|
|
18
|
+
@service loader;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Loading event handler for route.
|
|
22
|
+
*
|
|
23
|
+
* @param {Transition} transition
|
|
24
|
+
*/
|
|
25
|
+
@action loading(transition) {
|
|
26
|
+
this.loader.showOnInitialTransition(transition, 'section.next-view-section', 'Loading service rates...');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Queryable parameters
|
|
31
|
+
*
|
|
32
|
+
* @var {Object}
|
|
33
|
+
*/
|
|
34
|
+
queryParams = {
|
|
35
|
+
page: { refreshModel: true },
|
|
36
|
+
limit: { refreshModel: true },
|
|
37
|
+
sort: { refreshModel: true },
|
|
38
|
+
query: { refreshModel: true },
|
|
39
|
+
service_area: { refreshModel: true },
|
|
40
|
+
zone: { refreshModel: true },
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
model(params) {
|
|
44
|
+
return this.store.query('service-rate', {
|
|
45
|
+
...params,
|
|
46
|
+
with: ['parcelFees', 'rateFees', 'zone', 'serviceArea'],
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Route from '@ember/routing/route';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
|
|
5
|
+
export default class OperationsZonesIndexRoute extends Route {
|
|
6
|
+
/**
|
|
7
|
+
* Inject the `loader` service.
|
|
8
|
+
*
|
|
9
|
+
* @var {Service}
|
|
10
|
+
*/
|
|
11
|
+
@service loader;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Loading event handler for route.
|
|
15
|
+
*
|
|
16
|
+
* @param {Transition} transition
|
|
17
|
+
*/
|
|
18
|
+
@action loading(transition) {
|
|
19
|
+
this.loader.showOnInitialTransition(transition, 'section.next-view-section', 'Loading zones...');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
model() {
|
|
23
|
+
return this.store.query('service-area', { with: ['zones'] });
|
|
24
|
+
}
|
|
25
|
+
}
|