{"version":3,"sources":["vendor/ember-cli/app-prefix.js","tracknamic-smb/adapters/application.js","tracknamic-smb/adapters/maintenance-rule.js","tracknamic-smb/adapters/notification.js","tracknamic-smb/adapters/order-freight.js","tracknamic-smb/adapters/order-status.js","tracknamic-smb/adapters/order-transport.js","tracknamic-smb/adapters/planned-route.js","tracknamic-smb/adapters/role.js","tracknamic-smb/adapters/user.js","tracknamic-smb/adapters/vehicle-group.js","tracknamic-smb/app.js","tracknamic-smb/authenticators/tracknamic.js","tracknamic-smb/components/application-header/component.js","tracknamic-smb/components/application-header/template.js","tracknamic-smb/components/basic-pagination/component.js","tracknamic-smb/components/basic-pagination/template.js","tracknamic-smb/components/charts/apex-chart/component.js","tracknamic-smb/components/charts/apex-chart/template.js","tracknamic-smb/components/charts/driving-chart/component.js","tracknamic-smb/components/charts/driving-chart/template.js","tracknamic-smb/components/charts/fuel-level/component.js","tracknamic-smb/components/charts/fuel-level/template.js","tracknamic-smb/components/charts/tacho-chart/component.js","tracknamic-smb/components/charts/tacho-chart/template.js","tracknamic-smb/components/charts/tacho-legend/component.js","tracknamic-smb/components/charts/tacho-legend/template.js","tracknamic-smb/components/context-menu/component.js","tracknamic-smb/components/cron/day-hours/component.js","tracknamic-smb/components/cron/day-hours/template.js","tracknamic-smb/components/cron/hour-minutes/component.js","tracknamic-smb/components/cron/hour-minutes/template.js","tracknamic-smb/components/cron/month-days/component.js","tracknamic-smb/components/cron/month-days/template.js","tracknamic-smb/components/cron/recurrent-scheduler/component.js","tracknamic-smb/components/cron/recurrent-scheduler/template.js","tracknamic-smb/components/cron/week-days/component.js","tracknamic-smb/components/cron/week-days/template.js","tracknamic-smb/components/dashboard/alert-list/component.js","tracknamic-smb/components/dashboard/alert-list/template.js","tracknamic-smb/components/dashboard/alert-wrapper/component.js","tracknamic-smb/components/dashboard/alert-wrapper/template.js","tracknamic-smb/components/dashboard/dc-live/component.js","tracknamic-smb/components/dashboard/dc-live/template.js","tracknamic-smb/components/dashboard/distances-heatmap/component.js","tracknamic-smb/components/dashboard/distances-heatmap/template.js","tracknamic-smb/components/dashboard/heatmap-widget/component.js","tracknamic-smb/components/dashboard/heatmap-widget/template.js","tracknamic-smb/components/dashboard/notification-wrapper/template.js","tracknamic-smb/components/dashboard/stats-contact/component.js","tracknamic-smb/components/dashboard/stats-contact/template.js","tracknamic-smb/components/dashboard/stats-item/component.js","tracknamic-smb/components/dashboard/stats-item/template.js","tracknamic-smb/components/dashboard/tacho-widget/component.js","tracknamic-smb/components/dashboard/tacho-widget/template.js","tracknamic-smb/components/dashboard/widget-async/component.js","tracknamic-smb/components/dashboard/widget-async/template.js","tracknamic-smb/components/double-clickable/component.js","tracknamic-smb/components/double-clickable/template.js","tracknamic-smb/components/g-map/overlay/component.js","tracknamic-smb/components/google-autocomplete/component.js","tracknamic-smb/components/inputs/acl-dropdown/component.js","tracknamic-smb/components/inputs/acl-dropdown/template.js","tracknamic-smb/components/inputs/acl-grp-veh/component.js","tracknamic-smb/components/inputs/acl-grp-veh/template.js","tracknamic-smb/components/inputs/acl-items/component.js","tracknamic-smb/components/inputs/acl-items/template.js","tracknamic-smb/components/inputs/acl-pages/component.js","tracknamic-smb/components/inputs/acl-pages/template.js","tracknamic-smb/components/inputs/air-datepicker/component.js","tracknamic-smb/components/inputs/air-datepicker/template.js","tracknamic-smb/components/inputs/basic-datepicker/component.js","tracknamic-smb/components/inputs/basic-datepicker/template.js","tracknamic-smb/components/inputs/drivers-dropdown/component.js","tracknamic-smb/components/inputs/drivers-dropdown/template.js","tracknamic-smb/components/inputs/dropdown-editable/component.js","tracknamic-smb/components/inputs/dropdown-editable/template.js","tracknamic-smb/components/inputs/groups-vehicles/component.js","tracknamic-smb/components/inputs/groups-vehicles/template.js","tracknamic-smb/components/inputs/hex-input/component.js","tracknamic-smb/components/inputs/hex-input/template.js","tracknamic-smb/components/inputs/location-picker/component.js","tracknamic-smb/components/inputs/location-picker/template.js","tracknamic-smb/components/inputs/map-datepicker/component.js","tracknamic-smb/components/inputs/map-datepicker/template.js","tracknamic-smb/components/inputs/multiple-inline-emails/component.js","tracknamic-smb/components/inputs/multiple-inline-emails/template.js","tracknamic-smb/components/inputs/no-bubble-click/component.js","tracknamic-smb/components/inputs/no-bubble-click/template.js","tracknamic-smb/components/inputs/range-picker/component.js","tracknamic-smb/components/inputs/range-picker/template.js","tracknamic-smb/components/inputs/time-picker/component.js","tracknamic-smb/components/inputs/time-picker/template.js","tracknamic-smb/components/inputs/time-setter/component.js","tracknamic-smb/components/inputs/time-setter/template.js","tracknamic-smb/components/inputs/vehicle-group-picker/component.js","tracknamic-smb/components/inputs/vehicle-group-picker/template.js","tracknamic-smb/components/inputs/vehicle-type-dropdown/component.js","tracknamic-smb/components/inputs/vehicle-type-dropdown/template.js","tracknamic-smb/components/management/dc-doc/component.js","tracknamic-smb/components/management/dc-doc/template.js","tracknamic-smb/components/management/dc-maintenance/component.js","tracknamic-smb/components/management/dc-maintenance/template.js","tracknamic-smb/components/management/document-options/component.js","tracknamic-smb/components/management/document-options/template.js","tracknamic-smb/components/management/form-geofence/component.js","tracknamic-smb/components/management/form-geofence/template.js","tracknamic-smb/components/management/item-group-options/component.js","tracknamic-smb/components/management/item-group-options/template.js","tracknamic-smb/components/management/item-group/component.js","tracknamic-smb/components/management/item-group/template.js","tracknamic-smb/components/management/settings/speedlimit-settings/component.js","tracknamic-smb/components/management/settings/speedlimit-settings/template.js","tracknamic-smb/components/management/sub/timetable-row/component.js","tracknamic-smb/components/management/sub/timetable-row/template.js","tracknamic-smb/components/management/sub/timetable-segment/component.js","tracknamic-smb/components/management/sub/timetable-segment/template.js","tracknamic-smb/components/map/google-maps-index/component.js","tracknamic-smb/components/map/google-maps-index/template.js","tracknamic-smb/components/map/google-maps-routes/component.js","tracknamic-smb/components/map/google-maps-routes/template.js","tracknamic-smb/components/map/vehicles-list/component.js","tracknamic-smb/components/map/vehicles-list/template.js","tracknamic-smb/components/menus/default-menu/component.js","tracknamic-smb/components/menus/default-menu/template.js","tracknamic-smb/components/message-threads/component.js","tracknamic-smb/components/message-threads/template.js","tracknamic-smb/components/messages/dc-info/component.js","tracknamic-smb/components/messages/dc-info/template.js","tracknamic-smb/components/messages/error-message/component.js","tracknamic-smb/components/messages/error-message/template.js","tracknamic-smb/components/messages/message-info/component.js","tracknamic-smb/components/messages/message-info/template.js","tracknamic-smb/components/messages/validation-error/component.js","tracknamic-smb/components/messages/validation-error/template.js","tracknamic-smb/components/modals/client-create/component.js","tracknamic-smb/components/modals/client-create/template.js","tracknamic-smb/components/modals/dc-apply-to/component.js","tracknamic-smb/components/modals/dc-apply-to/template.js","tracknamic-smb/components/modals/dc-confirmation/component.js","tracknamic-smb/components/modals/dc-confirmation/template.js","tracknamic-smb/components/modals/dc-contact/component.js","tracknamic-smb/components/modals/dc-contact/template.js","tracknamic-smb/components/modals/dc-documents/component.js","tracknamic-smb/components/modals/dc-documents/template.js","tracknamic-smb/components/modals/dc-fueling-add/component.js","tracknamic-smb/components/modals/dc-fueling-add/template.js","tracknamic-smb/components/modals/dc-fueling-import/component.js","tracknamic-smb/components/modals/dc-fueling-import/template.js","tracknamic-smb/components/modals/dc-geofences-import/component.js","tracknamic-smb/components/modals/dc-geofences-import/template.js","tracknamic-smb/components/modals/dc-group/component.js","tracknamic-smb/components/modals/dc-group/template.js","tracknamic-smb/components/modals/dc-plans-import/component.js","tracknamic-smb/components/modals/dc-plans-import/template.js","tracknamic-smb/components/modals/dc-poi/component.js","tracknamic-smb/components/modals/dc-poi/template.js","tracknamic-smb/components/modals/dc-qr/component.js","tracknamic-smb/components/modals/dc-qr/template.js","tracknamic-smb/components/modals/dc-relay/component.js","tracknamic-smb/components/modals/dc-relay/template.js","tracknamic-smb/components/modals/dc-role/component.js","tracknamic-smb/components/modals/dc-role/template.js","tracknamic-smb/components/modals/dc-route-detailed/component.js","tracknamic-smb/components/modals/dc-route-detailed/template.js","tracknamic-smb/components/modals/dc-stationary-purpose-add/component.js","tracknamic-smb/components/modals/dc-stationary-purpose-add/template.js","tracknamic-smb/components/modals/dc-tacho-download/component.js","tracknamic-smb/components/modals/dc-tacho-download/template.js","tracknamic-smb/components/modals/dc-timetables-import/component.js","tracknamic-smb/components/modals/dc-timetables-import/template.js","tracknamic-smb/components/modals/dc-user/component.js","tracknamic-smb/components/modals/dc-user/template.js","tracknamic-smb/components/modals/dc-vehicle-alert/component.js","tracknamic-smb/components/modals/dc-vehicle-alert/template.js","tracknamic-smb/components/modals/dc-vehicle/component.js","tracknamic-smb/components/modals/dc-vehicle/template.js","tracknamic-smb/components/modals/order-attachment-upload/component.js","tracknamic-smb/components/modals/order-attachment-upload/template.js","tracknamic-smb/components/modals/order-create/component.js","tracknamic-smb/components/modals/order-create/template.js","tracknamic-smb/components/modals/order-status-create/component.js","tracknamic-smb/components/modals/order-status-create/template.js","tracknamic-smb/components/modals/vehicle-group-create/component.js","tracknamic-smb/components/modals/vehicle-group-create/template.js","tracknamic-smb/components/react/components/dashboard-tacho.js","tracknamic-smb/components/react/components/fuel-import.js","tracknamic-smb/components/react/components/header-chat.js","tracknamic-smb/components/react/components/toaster-container.js","tracknamic-smb/components/react/pages/dispatch/map-index/component.js","tracknamic-smb/components/react/pages/e-transport/component.js","tracknamic-smb/components/react/pages/management/integrations-index/component.js","tracknamic-smb/components/react/pages/management/maintenance-list/component.js","tracknamic-smb/components/react/pages/management/maintenance-rules/component.js","tracknamic-smb/components/react/pages/management/temporary-links/component.js","tracknamic-smb/components/react/pages/map-index/component.js","tracknamic-smb/components/react/pages/map-ptv/component.js","tracknamic-smb/components/react/pages/map-shared/component.js","tracknamic-smb/components/react/pages/partners-page/component.js","tracknamic-smb/components/react/pages/settings/daily-target/component.js","tracknamic-smb/components/react/pages/settings/dispatch-index/component.js","tracknamic-smb/components/react/pages/settings/e-transport/component.js","tracknamic-smb/components/react/pages/settings/storage-index/component.js","tracknamic-smb/components/react/pages/settings/tms-index/component.js","tracknamic-smb/components/react/pages/tms/clients-index/component.js","tracknamic-smb/components/react/pages/tms/order-details/component.js","tracknamic-smb/components/react/pages/tms/orders-index/component.js","tracknamic-smb/components/react/pages/tms/routes-index/component.js","tracknamic-smb/components/react/pages/tms/vehicle-groups/component.js","tracknamic-smb/components/react/pages/widgets/users-tachograph/component.js","tracknamic-smb/components/reports/dc-table/component.js","tracknamic-smb/components/reports/dc-table/template.js","tracknamic-smb/components/reports/report-actions/component.js","tracknamic-smb/components/reports/report-actions/template.js","tracknamic-smb/components/semantic/ui-accordion/component.js","tracknamic-smb/components/semantic/ui-accordion/template.js","tracknamic-smb/components/simple-loader/component.js","tracknamic-smb/components/simple-loader/template.js","tracknamic-smb/components/sortable-group.js","tracknamic-smb/components/sortable-item.js","tracknamic-smb/controllers/application.js","tracknamic-smb/controllers/dispatch.js","tracknamic-smb/controllers/dispatch/clients.js","tracknamic-smb/controllers/dispatch/map.js","tracknamic-smb/controllers/dispatch/orders.js","tracknamic-smb/controllers/dispatch/routes/edit.js","tracknamic-smb/controllers/dispatch/routes/index.js","tracknamic-smb/controllers/dispatch/vehicle-groups.js","tracknamic-smb/controllers/driving.js","tracknamic-smb/controllers/driving/engine-load-rpm.js","tracknamic-smb/controllers/driving/fcz.js","tracknamic-smb/controllers/e-transport.js","tracknamic-smb/controllers/index.js","tracknamic-smb/controllers/management.js","tracknamic-smb/controllers/management/geofences/base.js","tracknamic-smb/controllers/management/geofences/edit.js","tracknamic-smb/controllers/management/geofences/index.js","tracknamic-smb/controllers/management/geofences/new.js","tracknamic-smb/controllers/management/geofences/view.js","tracknamic-smb/controllers/management/groups.js","tracknamic-smb/controllers/management/groups/index.js","tracknamic-smb/controllers/management/roles.js","tracknamic-smb/controllers/management/timetables/index.js","tracknamic-smb/controllers/management/users/index.js","tracknamic-smb/controllers/management/vehicles/index.js","tracknamic-smb/controllers/map-shared.js","tracknamic-smb/controllers/map.js","tracknamic-smb/controllers/map/route-eta.js","tracknamic-smb/controllers/map/routes.js","tracknamic-smb/controllers/reports.js","tracknamic-smb/controllers/reports/23.js","tracknamic-smb/controllers/reports/afterhours.js","tracknamic-smb/controllers/reports/cabotage.js","tracknamic-smb/controllers/reports/construction.js","tracknamic-smb/controllers/reports/consumption.js","tracknamic-smb/controllers/reports/cost.js","tracknamic-smb/controllers/reports/country.js","tracknamic-smb/controllers/reports/driver-routes.js","tracknamic-smb/controllers/reports/engine.js","tracknamic-smb/controllers/reports/faz.js","tracknamic-smb/controllers/reports/fleet-summary-extended.js","tracknamic-smb/controllers/reports/fleet-summary.js","tracknamic-smb/controllers/reports/fuel-level.js","tracknamic-smb/controllers/reports/km-day.js","tracknamic-smb/controllers/reports/obu-tickets.js","tracknamic-smb/controllers/reports/performance.js","tracknamic-smb/controllers/reports/poi.js","tracknamic-smb/controllers/reports/route.js","tracknamic-smb/controllers/reports/stationary.js","tracknamic-smb/controllers/reports/tacho-files.js","tracknamic-smb/controllers/reports/tacho-timesheet.js","tracknamic-smb/controllers/reports/taxi.js","tracknamic-smb/controllers/reports/temperature-range.js","tracknamic-smb/controllers/reports/temperature.js","tracknamic-smb/controllers/reports/timesheet.js","tracknamic-smb/controllers/reports/transits.js","tracknamic-smb/controllers/rer/map.js","tracknamic-smb/controllers/rer/pickups.js","tracknamic-smb/controllers/rer/subscribers.js","tracknamic-smb/controllers/settings.js","tracknamic-smb/controllers/settings/account.js","tracknamic-smb/controllers/settings/base.js","tracknamic-smb/controllers/settings/cabotage.js","tracknamic-smb/controllers/settings/costs.js","tracknamic-smb/controllers/settings/driver-behaviour.js","tracknamic-smb/controllers/settings/notifications.js","tracknamic-smb/controllers/settings/orders.js","tracknamic-smb/controllers/settings/speed-limit.js","tracknamic-smb/controllers/signup.js","tracknamic-smb/controllers/widgets.js","tracknamic-smb/controllers/widgets/alerts.js","tracknamic-smb/controllers/widgets/heatmap.js","tracknamic-smb/controllers/widgets/notifications.js","tracknamic-smb/controllers/widgets/status-feed.js","tracknamic-smb/helpers/and.js","tracknamic-smb/helpers/app-version.js","tracknamic-smb/helpers/country-name.js","tracknamic-smb/helpers/date-to-string.js","tracknamic-smb/helpers/decrease-index.js","tracknamic-smb/helpers/enabled-day.js","tracknamic-smb/helpers/eq.js","tracknamic-smb/helpers/format-duration.js","tracknamic-smb/helpers/format-float.js","tracknamic-smb/helpers/gt.js","tracknamic-smb/helpers/gte.js","tracknamic-smb/helpers/html-safe.js","tracknamic-smb/helpers/is-array.js","tracknamic-smb/helpers/lt.js","tracknamic-smb/helpers/lte.js","tracknamic-smb/helpers/marker-icon.js","tracknamic-smb/helpers/moment-duration-format.js","tracknamic-smb/helpers/moment-duration-get.js","tracknamic-smb/helpers/moment-format-company-tz.js","tracknamic-smb/helpers/nl2br.js","tracknamic-smb/helpers/no-dots.js","tracknamic-smb/helpers/not-eq.js","tracknamic-smb/helpers/not.js","tracknamic-smb/helpers/or.js","tracknamic-smb/helpers/pluralize.js","tracknamic-smb/helpers/singularize.js","tracknamic-smb/helpers/string-contains.js","tracknamic-smb/helpers/timestamp-to-local-tz.js","tracknamic-smb/helpers/to-fixed.js","tracknamic-smb/helpers/url.js","tracknamic-smb/helpers/week-day.js","tracknamic-smb/helpers/xor.js","tracknamic-smb/initializers/add-modals-container.js","tracknamic-smb/initializers/app-version.js","tracknamic-smb/initializers/container-debug-adapter.js","tracknamic-smb/initializers/current-user.js","tracknamic-smb/initializers/data-adapter.js","tracknamic-smb/initializers/ember-data.js","tracknamic-smb/initializers/ember-i18n.js","tracknamic-smb/initializers/ember-simple-auth.js","tracknamic-smb/initializers/export-application-global.js","tracknamic-smb/initializers/init-environment.js","tracknamic-smb/initializers/injectStore.js","tracknamic-smb/initializers/main-menu.js","tracknamic-smb/initializers/metrics.js","tracknamic-smb/initializers/model-fragments.js","tracknamic-smb/initializers/reopen-model.js","tracknamic-smb/initializers/reopens.js","tracknamic-smb/initializers/resize.js","tracknamic-smb/initializers/resolution-service.js","tracknamic-smb/initializers/store.js","tracknamic-smb/initializers/toastr.js","tracknamic-smb/initializers/transforms.js","tracknamic-smb/initializers/truth-helpers.js","tracknamic-smb/instance-initializers/ember-data.js","tracknamic-smb/instance-initializers/ember-i18n.js","tracknamic-smb/instance-initializers/ember-simple-auth.js","tracknamic-smb/locales/da/alerts.js","tracknamic-smb/locales/da/dispatch.js","tracknamic-smb/locales/da/driving.js","tracknamic-smb/locales/da/errors.js","tracknamic-smb/locales/da/etransport.js","tracknamic-smb/locales/da/management.js","tracknamic-smb/locales/da/markers.js","tracknamic-smb/locales/da/messages.js","tracknamic-smb/locales/da/reports.js","tracknamic-smb/locales/da/settings.js","tracknamic-smb/locales/da/threads.js","tracknamic-smb/locales/da/tms.js","tracknamic-smb/locales/da/translations.js","tracknamic-smb/locales/de/alerts.js","tracknamic-smb/locales/de/dispatch.js","tracknamic-smb/locales/de/driving.js","tracknamic-smb/locales/de/errors.js","tracknamic-smb/locales/de/etransport.js","tracknamic-smb/locales/de/management.js","tracknamic-smb/locales/de/markers.js","tracknamic-smb/locales/de/messages.js","tracknamic-smb/locales/de/reports.js","tracknamic-smb/locales/de/settings.js","tracknamic-smb/locales/de/threads.js","tracknamic-smb/locales/de/translations.js","tracknamic-smb/locales/en/alerts.js","tracknamic-smb/locales/en/dispatch.js","tracknamic-smb/locales/en/driving.js","tracknamic-smb/locales/en/errors.js","tracknamic-smb/locales/en/etransport.js","tracknamic-smb/locales/en/management.js","tracknamic-smb/locales/en/markers.js","tracknamic-smb/locales/en/messages.js","tracknamic-smb/locales/en/reports.js","tracknamic-smb/locales/en/settings.js","tracknamic-smb/locales/en/threads.js","tracknamic-smb/locales/en/tms.js","tracknamic-smb/locales/en/translations.js","tracknamic-smb/locales/hu/alerts.js","tracknamic-smb/locales/hu/dispatch.js","tracknamic-smb/locales/hu/driving.js","tracknamic-smb/locales/hu/errors.js","tracknamic-smb/locales/hu/etransport.js","tracknamic-smb/locales/hu/management.js","tracknamic-smb/locales/hu/markers.js","tracknamic-smb/locales/hu/messages.js","tracknamic-smb/locales/hu/reports.js","tracknamic-smb/locales/hu/settings.js","tracknamic-smb/locales/hu/threads.js","tracknamic-smb/locales/hu/tms.js","tracknamic-smb/locales/hu/translations.js","tracknamic-smb/locales/pl/alerts.js","tracknamic-smb/locales/pl/dispatch.js","tracknamic-smb/locales/pl/driving.js","tracknamic-smb/locales/pl/errors.js","tracknamic-smb/locales/pl/etransport.js","tracknamic-smb/locales/pl/management.js","tracknamic-smb/locales/pl/markers.js","tracknamic-smb/locales/pl/messages.js","tracknamic-smb/locales/pl/reports.js","tracknamic-smb/locales/pl/settings.js","tracknamic-smb/locales/pl/threads.js","tracknamic-smb/locales/pl/tms.js","tracknamic-smb/locales/pl/translations.js","tracknamic-smb/locales/ro/alerts.js","tracknamic-smb/locales/ro/dispatch.js","tracknamic-smb/locales/ro/driving.js","tracknamic-smb/locales/ro/errors.js","tracknamic-smb/locales/ro/etransport.js","tracknamic-smb/locales/ro/management.js","tracknamic-smb/locales/ro/markers.js","tracknamic-smb/locales/ro/messages.js","tracknamic-smb/locales/ro/reports.js","tracknamic-smb/locales/ro/rer.js","tracknamic-smb/locales/ro/settings.js","tracknamic-smb/locales/ro/threads.js","tracknamic-smb/locales/ro/tms.js","tracknamic-smb/locales/ro/translations.js","tracknamic-smb/mixins/acl-access.js","tracknamic-smb/mixins/charts/d3-v3/line.js","tracknamic-smb/mixins/dates.js","tracknamic-smb/mixins/map.js","tracknamic-smb/mixins/model-validator.js","tracknamic-smb/mixins/object-validator.js","tracknamic-smb/mixins/reports/formatter.js","tracknamic-smb/mixins/reports/headers.js","tracknamic-smb/mixins/routes.js","tracknamic-smb/mixins/scrolling-padding.js","tracknamic-smb/mixins/vehicle-types.js","tracknamic-smb/models/checkpoint.js","tracknamic-smb/models/client.js","tracknamic-smb/models/device.js","tracknamic-smb/models/doc-details.js","tracknamic-smb/models/doc-file.js","tracknamic-smb/models/doc-price.js","tracknamic-smb/models/doc-valid.js","tracknamic-smb/models/document.js","tracknamic-smb/models/fragments/geofence/event-trigger.js","tracknamic-smb/models/fragments/geofence/event-type.js","tracknamic-smb/models/fragments/geofence/settings.js","tracknamic-smb/models/fragments/geofence/shape.js","tracknamic-smb/models/fragments/group-settings/cabotage.js","tracknamic-smb/models/fragments/group-settings/country-costs.js","tracknamic-smb/models/fragments/group-settings/driver-behavior.js","tracknamic-smb/models/fragments/group-settings/email-list.js","tracknamic-smb/models/fragments/group-settings/order.js","tracknamic-smb/models/fragments/group-settings/order/status.js","tracknamic-smb/models/fragments/group-settings/order/status/colors.js","tracknamic-smb/models/fragments/group-settings/order/status/labels.js","tracknamic-smb/models/fragments/group-settings/reports.js","tracknamic-smb/models/fragments/group-settings/settings.js","tracknamic-smb/models/fragments/group-settings/speed-limit.js","tracknamic-smb/models/fragments/message-receiver.js","tracknamic-smb/models/fragments/order/freight/attachment.js","tracknamic-smb/models/fragments/order/freight/status-history.js","tracknamic-smb/models/fragments/order/freight/waypoint.js","tracknamic-smb/models/fragments/role-acl.js","tracknamic-smb/models/fragments/route/point-gps.js","tracknamic-smb/models/fragments/route/points.js","tracknamic-smb/models/fragments/route/route-point.js","tracknamic-smb/models/fragments/user/acl.js","tracknamic-smb/models/fragments/user/details-driving-license.js","tracknamic-smb/models/fragments/user/details.js","tracknamic-smb/models/fragments/user/settings.js","tracknamic-smb/models/fragments/user/settings/dispatch.js","tracknamic-smb/models/fragments/user/settings/map.js","tracknamic-smb/models/fragments/user/settings/report.js","tracknamic-smb/models/fragments/user/settings/reports.js","tracknamic-smb/models/fragments/user/settings/widgets.js","tracknamic-smb/models/fragments/vehicle-type.js","tracknamic-smb/models/fragments/vehicle/consumption-fragment.js","tracknamic-smb/models/fragments/vehicle/dimensions.js","tracknamic-smb/models/fragments/vehicle/engine.js","tracknamic-smb/models/fragments/vehicle/fuel.js","tracknamic-smb/models/fragments/vehicle/geolocation.js","tracknamic-smb/models/fragments/vehicle/sensor.js","tracknamic-smb/models/fragments/vehicle/settings.js","tracknamic-smb/models/fragments/vehicle/settings/alert-triggers.js","tracknamic-smb/models/fragments/vehicle/settings/alerts.js","tracknamic-smb/models/fragments/vehicle/settings/can.js","tracknamic-smb/models/fragments/vehicle/settings/route.js","tracknamic-smb/models/fragments/vehicle/settings/sensor.js","tracknamic-smb/models/fragments/vehicle/speed-limit.js","tracknamic-smb/models/fragments/vehicle/status.js","tracknamic-smb/models/fragments/vehicle/status/can.js","tracknamic-smb/models/fragments/vehicle/status/can/fuel.js","tracknamic-smb/models/fragments/vehicle/status/tacho.js","tracknamic-smb/models/fragments/vehicle/status/tacho/driver.js","tracknamic-smb/models/fragments/vehicle/status/tacho/driver/computed.js","tracknamic-smb/models/geofence.js","tracknamic-smb/models/group.js","tracknamic-smb/models/integration-option-fragment.js","tracknamic-smb/models/integration.js","tracknamic-smb/models/maintenance-rule-fragment.js","tracknamic-smb/models/maintenance-rule.js","tracknamic-smb/models/message-thread.js","tracknamic-smb/models/message.js","tracknamic-smb/models/not-details.js","tracknamic-smb/models/notification.js","tracknamic-smb/models/order-freight.js","tracknamic-smb/models/order-status.js","tracknamic-smb/models/order-transport.js","tracknamic-smb/models/planned-route-profile.js","tracknamic-smb/models/planned-route-waypoint.js","tracknamic-smb/models/planned-route.js","tracknamic-smb/models/refuel.js","tracknamic-smb/models/role.js","tracknamic-smb/models/route.js","tracknamic-smb/models/seal.js","tracknamic-smb/models/stationary-purpose.js","tracknamic-smb/models/timetable.js","tracknamic-smb/models/user.js","tracknamic-smb/models/vehicle-group.js","tracknamic-smb/models/vehicle.js","tracknamic-smb/react/components/Chat/CallModalAudio.js","tracknamic-smb/react/components/Chat/CallModalVideo.js","tracknamic-smb/react/components/Chat/Calls.js","tracknamic-smb/react/components/Chat/Dialog/InputMessage.js","tracknamic-smb/react/components/Chat/Dialog/Message.js","tracknamic-smb/react/components/Chat/Dialog/Settings.js","tracknamic-smb/react/components/Chat/Dialog/index.js","tracknamic-smb/react/components/Chat/Icon.js","tracknamic-smb/react/components/Chat/NewDialog.js","tracknamic-smb/react/components/Chat/Window.js","tracknamic-smb/react/components/Chat/index.js","tracknamic-smb/react/components/CustomToastContent.js","tracknamic-smb/react/components/DropdownMultiple.js","tracknamic-smb/react/components/Field.js","tracknamic-smb/react/components/InfoMessage.js","tracknamic-smb/react/components/Integrations/EditableCard.js","tracknamic-smb/react/components/Integrations/ModalWindow.js","tracknamic-smb/react/components/LocationPicker/index.js","tracknamic-smb/react/components/Map/GeofenceIcon.js","tracknamic-smb/react/components/Map/Marker.js","tracknamic-smb/react/components/Map/MarkerBig.js","tracknamic-smb/react/components/Map/MarkerMedium.js","tracknamic-smb/react/components/Map/MarkerStationary.js","tracknamic-smb/react/components/Map/MenuLocation.js","tracknamic-smb/react/components/Map/Settings/Control.js","tracknamic-smb/react/components/Map/Settings/Window.js","tracknamic-smb/react/components/Map/SharedVehiclePopup.js","tracknamic-smb/react/components/Map/UserMarker.js","tracknamic-smb/react/components/Map/VehiclePopup/AlertDisposable.js","tracknamic-smb/react/components/Map/VehiclePopup/Info.js","tracknamic-smb/react/components/Map/VehiclePopup/Integrations/IntegrationsPopup.js","tracknamic-smb/react/components/Map/VehiclePopup/Integrations/index.js","tracknamic-smb/react/components/Map/VehiclePopup/ModalPOI.js","tracknamic-smb/react/components/Map/VehiclePopup/ModalUITMap.js","tracknamic-smb/react/components/Map/VehiclePopup/Tacho/TachoDriver.js","tracknamic-smb/react/components/Map/VehiclePopup/Tacho/index.js","tracknamic-smb/react/components/Map/VehiclePopup/Uit.js","tracknamic-smb/react/components/Map/VehiclePopup/index.js","tracknamic-smb/react/components/ModalTemporaryLink.js","tracknamic-smb/react/components/Modals/FuelImport/ContentFile.js","tracknamic-smb/react/components/Modals/FuelImport/ContentOptions.js","tracknamic-smb/react/components/Modals/FuelImport/ContentResponse.js","tracknamic-smb/react/components/Modals/FuelImport/index.js","tracknamic-smb/react/components/Modals/SaveOrder/index.js","tracknamic-smb/react/components/Modals/SaveOrder/vehicleGroupForm.js","tracknamic-smb/react/components/RTable/DebouncedInput.js","tracknamic-smb/react/components/RTable/Filter.js","tracknamic-smb/react/components/RTable/index.js","tracknamic-smb/react/components/RouteCard/index.js","tracknamic-smb/react/components/Select/index.js","tracknamic-smb/react/components/Spinner.js","tracknamic-smb/react/components/Table/Cell/ActionsCell.js","tracknamic-smb/react/components/Table/Cell/ActionsCellForContactPersons.js","tracknamic-smb/react/components/Table/Cell/ActionsCellForTmsClients.js","tracknamic-smb/react/components/Table/Cell/ActionsCellForTmsCombinedTransportCosts.js","tracknamic-smb/react/components/Table/Cell/ActionsCellForTmsOrderStatus.js","tracknamic-smb/react/components/Table/Cell/ActionsCellForTmsOrders.js","tracknamic-smb/react/components/Table/Cell/ActionsCellForVehicleGroups.js","tracknamic-smb/react/components/Table/Cell/EditableColorInputCell.js","tracknamic-smb/react/components/Table/Cell/EditableDateCell.js","tracknamic-smb/react/components/Table/Cell/EditableDateTimePicker.js","tracknamic-smb/react/components/Table/Cell/EditableDriverOrCoDriver.js","tracknamic-smb/react/components/Table/Cell/EditableExternalIDCell.js","tracknamic-smb/react/components/Table/Cell/EditableInputCell.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForBooleanCheckbox.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForIndex.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForLoadAndUnloadLocationPicker.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForLocationPicker.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForPupsoseDropdown.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForReff.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForTmsClients.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForTmsFreightOrders.js","tracknamic-smb/react/components/Table/Cell/EditableInputCellForTranslationLabel.js","tracknamic-smb/react/components/Table/Cell/EditableInputForEmailAddress.js","tracknamic-smb/react/components/Table/Cell/EditableInputNumberWithDecimales.js","tracknamic-smb/react/components/Table/Cell/EditableListOptionsCell.js","tracknamic-smb/react/components/Table/Cell/EditableOrderStatusCell.js","tracknamic-smb/react/components/Table/Cell/EditableRequiredPropertyCell.js","tracknamic-smb/react/components/Table/Cell/EditableRuleTypeCell.js","tracknamic-smb/react/components/Table/Cell/EditableTelephoneNumberCell.js","tracknamic-smb/react/components/Table/Cell/EditableTimeCell.js","tracknamic-smb/react/components/Table/Cell/EditableTractorOrSemitrailer.js","tracknamic-smb/react/components/Table/Cell/EditableTypeCell.js","tracknamic-smb/react/components/Table/Cell/EditableTypeOfPropertyCell.js","tracknamic-smb/react/components/Table/Cell/EditableUserCell.js","tracknamic-smb/react/components/Table/Cell/EditableUsersCell.js","tracknamic-smb/react/components/Table/Cell/EditableVehicleCell.js","tracknamic-smb/react/components/Table/Cell/EditableVehicleGroup.js","tracknamic-smb/react/components/Table/Cell/EditableVehiclesCell.js","tracknamic-smb/react/components/Table/Cell/EditableVisiblePropertyCell.js","tracknamic-smb/react/components/Table/Cell/EditatableListSource.js","tracknamic-smb/react/components/Table/ClientsTable.js","tracknamic-smb/react/components/Table/CombinedTransportCostTable.js","tracknamic-smb/react/components/Table/ContactPersonsTable.js","tracknamic-smb/react/components/Table/FreightOrdersTable.js","tracknamic-smb/react/components/Table/MaintenanceEntitiesTable.js","tracknamic-smb/react/components/Table/MaintenanceRulesTable.js","tracknamic-smb/react/components/Table/MaintenancesTable.js","tracknamic-smb/react/components/Table/OrdersTable.js","tracknamic-smb/react/components/Table/RoutesTable.js","tracknamic-smb/react/components/Table/TmsPropertyTable.js","tracknamic-smb/react/components/Table/TmsStatusOrderTable.js","tracknamic-smb/react/components/Table/UtilityTools/SettingsTool.js","tracknamic-smb/react/components/Table/UtilityTools/ShowColumnTool.js","tracknamic-smb/react/components/Table/VehicleGroupsTable.js","tracknamic-smb/react/components/Tacho/Chart.js","tracknamic-smb/react/components/Tacho/index.js","tracknamic-smb/react/components/Timeline/index.js","tracknamic-smb/react/components/TmsOptimalRoutes/OptimalRoute.js","tracknamic-smb/react/components/TmsOptimalRoutes/OptimalRoutesTable.js","tracknamic-smb/react/components/TmsOptimalRoutes/index.js","tracknamic-smb/react/components/VehicleList/DispatchersFilter.js","tracknamic-smb/react/components/VehicleList/GroupFilter.js","tracknamic-smb/react/components/VehicleList/StatusFilter.js","tracknamic-smb/react/components/VehicleList/TypeFilter.js","tracknamic-smb/react/components/VehicleList/index.js","tracknamic-smb/react/components/Waypoints/Item.js","tracknamic-smb/react/components/Waypoints/SelectWaypointType.js","tracknamic-smb/react/components/Waypoints/index.js","tracknamic-smb/react/components/eTransport/Filters.js","tracknamic-smb/react/components/eTransport/ModalUit/Field.js","tracknamic-smb/react/components/eTransport/ModalUit/ModalDocument.js","tracknamic-smb/react/components/eTransport/ModalUit/ModalGood.js","tracknamic-smb/react/components/eTransport/ModalUit/TableDocuments.js","tracknamic-smb/react/components/eTransport/ModalUit/TableGoods.js","tracknamic-smb/react/components/eTransport/ModalUit/index.js","tracknamic-smb/react/components/eTransport/ModalUitChange.js","tracknamic-smb/react/components/eTransport/ModalUitExisting.js","tracknamic-smb/react/components/eTransport/Table/DebouncedInput.js","tracknamic-smb/react/components/eTransport/Table/Filter.js","tracknamic-smb/react/components/eTransport/Table/index.js","tracknamic-smb/react/components/markers/MarkerWaypoint/Marker.js","tracknamic-smb/react/components/markers/MarkerWaypoint/index.js","tracknamic-smb/react/components/markers/RoadShield/index.js","tracknamic-smb/react/components/partners/Filters.js","tracknamic-smb/react/components/partners/ModalPartners/Field.js","tracknamic-smb/react/components/partners/ModalPartners/index.js","tracknamic-smb/react/components/partners/Table/DebouncedInput.js","tracknamic-smb/react/components/partners/Table/Filter.js","tracknamic-smb/react/components/partners/Table/index.js","tracknamic-smb/react/hooks/useAddress.js","tracknamic-smb/react/hooks/useAsyncInterval.js","tracknamic-smb/react/hooks/useErrorHandler.js","tracknamic-smb/react/hooks/useGeofence.js","tracknamic-smb/react/hooks/useMapControl.js","tracknamic-smb/react/hooks/usePolyline.js","tracknamic-smb/react/pages/dispatch/map.js","tracknamic-smb/react/pages/e-transport/index.js","tracknamic-smb/react/pages/management/integrations.js","tracknamic-smb/react/pages/management/maintenance/list.js","tracknamic-smb/react/pages/management/maintenance/rules.js","tracknamic-smb/react/pages/management/temporary-links.js","tracknamic-smb/react/pages/map-ptv/Details.js","tracknamic-smb/react/pages/map-ptv/Map.js","tracknamic-smb/react/pages/map-ptv/Search.js","tracknamic-smb/react/pages/map-ptv/SettingsFastQuote.js","tracknamic-smb/react/pages/map-ptv/SettingsPTV/Details.js","tracknamic-smb/react/pages/map-ptv/SettingsPTV/Vehicle.js","tracknamic-smb/react/pages/map-ptv/SettingsPTV/index.js","tracknamic-smb/react/pages/map-ptv/index.js","tracknamic-smb/react/pages/map-shared/index.js","tracknamic-smb/react/pages/map/index.js","tracknamic-smb/react/pages/partners/index.js","tracknamic-smb/react/pages/settings/daily-target/index.js","tracknamic-smb/react/pages/settings/dispatch/index.js","tracknamic-smb/react/pages/settings/e-transport/AutoSync.js","tracknamic-smb/react/pages/settings/e-transport/Automatize.js","tracknamic-smb/react/pages/settings/e-transport/MyCheckbox.js","tracknamic-smb/react/pages/settings/e-transport/index.js","tracknamic-smb/react/pages/settings/storage/index.js","tracknamic-smb/react/pages/settings/storage/replaceable-gird.js","tracknamic-smb/react/pages/settings/tms/general-settings.js","tracknamic-smb/react/pages/settings/tms/index.js","tracknamic-smb/react/pages/tms/clients.js","tracknamic-smb/react/pages/tms/order-details.js","tracknamic-smb/react/pages/tms/orders.js","tracknamic-smb/react/pages/tms/routes.js","tracknamic-smb/react/pages/tms/timeline-header.js","tracknamic-smb/react/pages/tms/timeline.js","tracknamic-smb/react/pages/tms/vehicle-groups.js","tracknamic-smb/react/pages/widgets/tacho-widget.js","tracknamic-smb/react/pages/widgets/user-tachograph.js","tracknamic-smb/react/pages/widgets/vehicles-tachograph.js","tracknamic-smb/react/services/api.js","tracknamic-smb/react/services/geo.js","tracknamic-smb/react/services/i18n.js","tracknamic-smb/react/store/helpers/handleErrorAndLoading.js","tracknamic-smb/react/store/helpers/list-ls.js","tracknamic-smb/react/store/helpers/list-v2.js","tracknamic-smb/react/store/helpers/list.js","tracknamic-smb/react/store/helpers/p.js","tracknamic-smb/react/store/helpers/prop.js","tracknamic-smb/react/store/index.js","tracknamic-smb/react/store/models/chat.js","tracknamic-smb/react/store/models/client-properties.js","tracknamic-smb/react/store/models/clients-tms.js","tracknamic-smb/react/store/models/clients.js","tracknamic-smb/react/store/models/combined-transport-cost.js","tracknamic-smb/react/store/models/company.js","tracknamic-smb/react/store/models/devices.js","tracknamic-smb/react/store/models/events.js","tracknamic-smb/react/store/models/fast-quote.js","tracknamic-smb/react/store/models/ferry-cost.js","tracknamic-smb/react/store/models/file.js","tracknamic-smb/react/store/models/freight-orders.js","tracknamic-smb/react/store/models/geofences.js","tracknamic-smb/react/store/models/global.js","tracknamic-smb/react/store/models/groups-v2.js","tracknamic-smb/react/store/models/groups.js","tracknamic-smb/react/store/models/integrations.js","tracknamic-smb/react/store/models/maintenance-rules.js","tracknamic-smb/react/store/models/maintenances.js","tracknamic-smb/react/store/models/optimal-routes.js","tracknamic-smb/react/store/models/order-properties.js","tracknamic-smb/react/store/models/orders-status-tms.js","tracknamic-smb/react/store/models/orders-tms-freight.js","tracknamic-smb/react/store/models/orders-tms-transport.js","tracknamic-smb/react/store/models/partners.js","tracknamic-smb/react/store/models/planned-routes.js","tracknamic-smb/react/store/models/planned-tms-routes.js","tracknamic-smb/react/store/models/ptv.js","tracknamic-smb/react/store/models/session.js","tracknamic-smb/react/store/models/shared-integrations.js","tracknamic-smb/react/store/models/temporary-alerts.js","tracknamic-smb/react/store/models/temporary-links.js","tracknamic-smb/react/store/models/transport-orders.js","tracknamic-smb/react/store/models/uits.js","tracknamic-smb/react/store/models/user-tacho-graph.js","tracknamic-smb/react/store/models/users.js","tracknamic-smb/react/store/models/vehicle-groups.js","tracknamic-smb/react/store/models/vehicle-tacho-graph.js","tracknamic-smb/react/store/models/vehicles.js","tracknamic-smb/react/utils/arrays.js","tracknamic-smb/react/utils/columns.js","tracknamic-smb/react/utils/date.js","tracknamic-smb/react/utils/dom.js","tracknamic-smb/react/utils/eTransport.js","tracknamic-smb/react/utils/fastQuote.js","tracknamic-smb/react/utils/locations.js","tracknamic-smb/react/utils/ls.js","tracknamic-smb/react/utils/map.js","tracknamic-smb/react/utils/mapVehiclePopup.js","tracknamic-smb/react/utils/options-tariff-code.js","tracknamic-smb/react/utils/routes.js","tracknamic-smb/react/utils/strings.js","tracknamic-smb/resolver.js","tracknamic-smb/router.js","tracknamic-smb/routes/application.js","tracknamic-smb/routes/dispatch/clients.js","tracknamic-smb/routes/dispatch/index.js","tracknamic-smb/routes/dispatch/map.js","tracknamic-smb/routes/dispatch/orders.js","tracknamic-smb/routes/dispatch/routes/edit.js","tracknamic-smb/routes/dispatch/routes/index.js","tracknamic-smb/routes/dispatch/test.js","tracknamic-smb/routes/dispatch/vehicle-groups.js","tracknamic-smb/routes/driving.js","tracknamic-smb/routes/driving/engine-load-rpm.js","tracknamic-smb/routes/driving/fcz.js","tracknamic-smb/routes/driving/index.js","tracknamic-smb/routes/e-transport.js","tracknamic-smb/routes/e-transport/index.js","tracknamic-smb/routes/e-transport/partners.js","tracknamic-smb/routes/index.js","tracknamic-smb/routes/invitation.js","tracknamic-smb/routes/login.js","tracknamic-smb/routes/logout.js","tracknamic-smb/routes/management.js","tracknamic-smb/routes/management/geofences.js","tracknamic-smb/routes/management/geofences/edit.js","tracknamic-smb/routes/management/geofences/import.js","tracknamic-smb/routes/management/geofences/index.js","tracknamic-smb/routes/management/geofences/new.js","tracknamic-smb/routes/management/geofences/view.js","tracknamic-smb/routes/management/groups.js","tracknamic-smb/routes/management/groups/edit.js","tracknamic-smb/routes/management/groups/index.js","tracknamic-smb/routes/management/index.js","tracknamic-smb/routes/management/roles.js","tracknamic-smb/routes/management/timetables.js","tracknamic-smb/routes/management/timetables/import.js","tracknamic-smb/routes/management/timetables/index.js","tracknamic-smb/routes/management/users.js","tracknamic-smb/routes/management/users/index.js","tracknamic-smb/routes/management/vehicles.js","tracknamic-smb/routes/management/vehicles/index.js","tracknamic-smb/routes/map.js","tracknamic-smb/routes/map/eta-ptv.js","tracknamic-smb/routes/map/route-eta.js","tracknamic-smb/routes/map/routes.js","tracknamic-smb/routes/map/vehicle.js","tracknamic-smb/routes/not-found.js","tracknamic-smb/routes/reports.js","tracknamic-smb/routes/reports/23.js","tracknamic-smb/routes/reports/afterhours.js","tracknamic-smb/routes/reports/cabotage.js","tracknamic-smb/routes/reports/construction.js","tracknamic-smb/routes/reports/consumption.js","tracknamic-smb/routes/reports/cost.js","tracknamic-smb/routes/reports/country.js","tracknamic-smb/routes/reports/driver-routes.js","tracknamic-smb/routes/reports/engine.js","tracknamic-smb/routes/reports/faz.js","tracknamic-smb/routes/reports/fleet-summary-extended.js","tracknamic-smb/routes/reports/fleet-summary.js","tracknamic-smb/routes/reports/fuel-level.js","tracknamic-smb/routes/reports/index.js","tracknamic-smb/routes/reports/km-day.js","tracknamic-smb/routes/reports/obu-tickets.js","tracknamic-smb/routes/reports/performance.js","tracknamic-smb/routes/reports/poi.js","tracknamic-smb/routes/reports/route.js","tracknamic-smb/routes/reports/stationary.js","tracknamic-smb/routes/reports/tacho-files.js","tracknamic-smb/routes/reports/tacho-timesheet.js","tracknamic-smb/routes/reports/taxi.js","tracknamic-smb/routes/reports/temperature-range.js","tracknamic-smb/routes/reports/temperature.js","tracknamic-smb/routes/reports/timesheet.js","tracknamic-smb/routes/reports/transits.js","tracknamic-smb/routes/rer/index.js","tracknamic-smb/routes/rer/map.js","tracknamic-smb/routes/rer/pickups.js","tracknamic-smb/routes/rer/subscribers.js","tracknamic-smb/routes/settings.js","tracknamic-smb/routes/settings/account.js","tracknamic-smb/routes/settings/cabotage.js","tracknamic-smb/routes/settings/costs.js","tracknamic-smb/routes/settings/daily-target.js","tracknamic-smb/routes/settings/dispatch.js","tracknamic-smb/routes/settings/driver-behaviour.js","tracknamic-smb/routes/settings/e-transport.js","tracknamic-smb/routes/settings/index.js","tracknamic-smb/routes/settings/notifications.js","tracknamic-smb/routes/settings/orders.js","tracknamic-smb/routes/settings/speed-limit.js","tracknamic-smb/routes/settings/tms.js","tracknamic-smb/routes/signup.js","tracknamic-smb/routes/tms.js","tracknamic-smb/routes/tms/index.js","tracknamic-smb/routes/widgets.js","tracknamic-smb/routes/widgets/alerts.js","tracknamic-smb/routes/widgets/heatmap.js","tracknamic-smb/routes/widgets/notifications.js","tracknamic-smb/routes/widgets/status-feed.js","tracknamic-smb/serializers/device.js","tracknamic-smb/serializers/document.js","tracknamic-smb/serializers/geofence.js","tracknamic-smb/serializers/group.js","tracknamic-smb/serializers/maintenance-rule.js","tracknamic-smb/serializers/message-thread.js","tracknamic-smb/serializers/message.js","tracknamic-smb/serializers/order-freight.js","tracknamic-smb/serializers/order-status.js","tracknamic-smb/serializers/order-transport.js","tracknamic-smb/serializers/planned-route-waypoint.js","tracknamic-smb/serializers/planned-route.js","tracknamic-smb/serializers/role.js","tracknamic-smb/serializers/route.js","tracknamic-smb/serializers/timetable.js","tracknamic-smb/serializers/user.js","tracknamic-smb/serializers/vehicle-group.js","tracknamic-smb/serializers/vehicle.js","tracknamic-smb/services/address-service.js","tracknamic-smb/services/api.js","tracknamic-smb/services/cookies.js","tracknamic-smb/services/current-user.js","tracknamic-smb/services/errors.js","tracknamic-smb/services/form-validate.js","tracknamic-smb/services/google-maps-api.js","tracknamic-smb/services/google.js","tracknamic-smb/services/live-update.js","tracknamic-smb/services/main-menu.js","tracknamic-smb/services/map.js","tracknamic-smb/services/messages.js","tracknamic-smb/services/modal-dialog.js","tracknamic-smb/services/moment.js","tracknamic-smb/services/notifications.js","tracknamic-smb/services/parse-divisions.js","tracknamic-smb/services/realtime-data.js","tracknamic-smb/services/reports/filters.js","tracknamic-smb/services/resolution.js","tracknamic-smb/services/reverse-geocode.js","tracknamic-smb/services/session.js","tracknamic-smb/services/speed-limit-validtion-schema.js","tracknamic-smb/services/user-validation-schema.js","tracknamic-smb/services/vehicle-validation-schema.js","tracknamic-smb/session-stores/application.js","tracknamic-smb/templates/account-disabled.js","tracknamic-smb/templates/application.js","tracknamic-smb/templates/components/power-select/power-select-group.js","tracknamic-smb/templates/dispatch.js","tracknamic-smb/templates/dispatch/clients.js","tracknamic-smb/templates/dispatch/index.js","tracknamic-smb/templates/dispatch/map.js","tracknamic-smb/templates/dispatch/map2.js","tracknamic-smb/templates/dispatch/orders.js","tracknamic-smb/templates/dispatch/routes/edit.js","tracknamic-smb/templates/dispatch/routes/index.js","tracknamic-smb/templates/dispatch/test.js","tracknamic-smb/templates/dispatch/vehicle-groups.js","tracknamic-smb/templates/driving.js","tracknamic-smb/templates/driving/engine-load-rpm.js","tracknamic-smb/templates/driving/fcz.js","tracknamic-smb/templates/driving/index.js","tracknamic-smb/templates/e-transport.js","tracknamic-smb/templates/e-transport/partners.js","tracknamic-smb/templates/e-transport/uits.js","tracknamic-smb/templates/index.js","tracknamic-smb/templates/invitation.js","tracknamic-smb/templates/loading.js","tracknamic-smb/templates/login.js","tracknamic-smb/templates/maintenance.js","tracknamic-smb/templates/management.js","tracknamic-smb/templates/management/geofences.js","tracknamic-smb/templates/management/geofences/edit.js","tracknamic-smb/templates/management/geofences/import.js","tracknamic-smb/templates/management/geofences/index.js","tracknamic-smb/templates/management/geofences/new.js","tracknamic-smb/templates/management/geofences/view.js","tracknamic-smb/templates/management/groups.js","tracknamic-smb/templates/management/groups/edit.js","tracknamic-smb/templates/management/groups/index.js","tracknamic-smb/templates/management/index.js","tracknamic-smb/templates/management/integrations.js","tracknamic-smb/templates/management/maintenance/list.js","tracknamic-smb/templates/management/maintenance/rules.js","tracknamic-smb/templates/management/roles.js","tracknamic-smb/templates/management/temporary-links.js","tracknamic-smb/templates/management/timetables.js","tracknamic-smb/templates/management/timetables/import.js","tracknamic-smb/templates/management/timetables/index.js","tracknamic-smb/templates/management/users.js","tracknamic-smb/templates/management/users/index.js","tracknamic-smb/templates/management/vehicles.js","tracknamic-smb/templates/management/vehicles/index.js","tracknamic-smb/templates/map-shared.js","tracknamic-smb/templates/map.js","tracknamic-smb/templates/map/eta-ptv.js","tracknamic-smb/templates/map/index.js","tracknamic-smb/templates/map/route-eta.js","tracknamic-smb/templates/map/routes.js","tracknamic-smb/templates/oops.js","tracknamic-smb/templates/reports.js","tracknamic-smb/templates/reports/23.js","tracknamic-smb/templates/reports/afterhours.js","tracknamic-smb/templates/reports/cabotage.js","tracknamic-smb/templates/reports/construction.js","tracknamic-smb/templates/reports/consumption.js","tracknamic-smb/templates/reports/cost.js","tracknamic-smb/templates/reports/country.js","tracknamic-smb/templates/reports/driver-routes.js","tracknamic-smb/templates/reports/engine.js","tracknamic-smb/templates/reports/faz.js","tracknamic-smb/templates/reports/fleet-summary-extended.js","tracknamic-smb/templates/reports/fleet-summary.js","tracknamic-smb/templates/reports/fuel-level.js","tracknamic-smb/templates/reports/index.js","tracknamic-smb/templates/reports/km-day.js","tracknamic-smb/templates/reports/obu-tickets.js","tracknamic-smb/templates/reports/performance.js","tracknamic-smb/templates/reports/poi.js","tracknamic-smb/templates/reports/route.js","tracknamic-smb/templates/reports/stationary.js","tracknamic-smb/templates/reports/tacho-files.js","tracknamic-smb/templates/reports/tacho-timesheet.js","tracknamic-smb/templates/reports/taxi.js","tracknamic-smb/templates/reports/temperature-range.js","tracknamic-smb/templates/reports/temperature.js","tracknamic-smb/templates/reports/timesheet.js","tracknamic-smb/templates/reports/transits.js","tracknamic-smb/templates/rer.js","tracknamic-smb/templates/rer/map.js","tracknamic-smb/templates/rer/pickups.js","tracknamic-smb/templates/rer/subscribers.js","tracknamic-smb/templates/settings.js","tracknamic-smb/templates/settings/account.js","tracknamic-smb/templates/settings/cabotage.js","tracknamic-smb/templates/settings/costs.js","tracknamic-smb/templates/settings/daily-target.js","tracknamic-smb/templates/settings/data-storage.js","tracknamic-smb/templates/settings/dispatch.js","tracknamic-smb/templates/settings/driver-behaviour.js","tracknamic-smb/templates/settings/e-transport.js","tracknamic-smb/templates/settings/index.js","tracknamic-smb/templates/settings/notifications.js","tracknamic-smb/templates/settings/orders.js","tracknamic-smb/templates/settings/speed-limit.js","tracknamic-smb/templates/settings/tms.js","tracknamic-smb/templates/signup.js","tracknamic-smb/templates/tms.js","tracknamic-smb/templates/tms/clients.js","tracknamic-smb/templates/tms/map.js","tracknamic-smb/templates/tms/orders/index.js","tracknamic-smb/templates/tms/orders/order-details.js","tracknamic-smb/templates/tms/routes.js","tracknamic-smb/templates/tms/vehicle-groups.js","tracknamic-smb/templates/widgets.js","tracknamic-smb/templates/widgets/alerts.js","tracknamic-smb/templates/widgets/heatmap.js","tracknamic-smb/templates/widgets/notifications.js","tracknamic-smb/templates/widgets/status-feed.js","tracknamic-smb/templates/widgets/users-tachograph.js","tracknamic-smb/transforms/array.js","tracknamic-smb/transforms/coordinate.js","tracknamic-smb/transforms/file.js","tracknamic-smb/transforms/fragment-array.js","tracknamic-smb/transforms/fragment.js","tracknamic-smb/utils/compare.js","tracknamic-smb/utils/computed-diff.js","tracknamic-smb/utils/copy-clipboard.js","tracknamic-smb/utils/i18n/missing-message.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"names":["DS","RESTAdapter","extend","DataAdapterMixin","host","ENV","api","namespace","session","Ember","inject","service","authorize","xhr","idToken","this","get","isPresent","setRequestHeader","concat","normalizeErrorResponse","status","headers","payload","_typeof","errors","title","detail","message","ApplicationAdapter","pathForType","updateRecord","store","type","snapshot","changedAttributes","Object","keys","forEach","attributeName","_attributes","attributes","entityIDs","id","url","buildURL","modelName","ajax","data","rule","underAttr","String","underscore","notification","acl","userRole","urlForQueryRecord","query","me","_super","apply","arguments","urlForCreateRecord","App","config","react","wdyr","enabled","whyDidYouRender","React","trackAllPureComponents","$","fn","form","settings","rules","gte","value","min","isNone","minValue","Number","lte","max","maxValue","isNumberWithoutComa","indexOf","number","hasScrollBar","scrollHeight","clientHeight","sentryConfig","dsn","sentry","debug","environment","release","APP","version","integrations","Integrations","undefined","Debug","Sentry","init","window","global","Application","modulePrefix","podModulePrefix","Resolver","loadInitializers","_exports","default","Promise","Base","authenticate","options","_this","lock","getAuth0LockInstance","RSVP","resolve","reject","on","authenticatedData","isEmpty","Error","createSessionDataObject","idTokenPayload","show","then","sessionData","role","includes","onAuth","restore","_this2","restoredData","onRestore","_this3","setRavenUser","apiHost","userData","invitationToken","request","Authorization","dataType","user","profile","details","error","catch","isNotFoundError","post","configureScope","scope","setUser","authID","user_id","groupID","companyID","email","refreshProfile","_this4","accessToken","getUserInfo","Component","currentUser","router","menuService","notificationsService","messagesService","classNames","Logger","set","actions","toggleNotifications","toggleMessages","logout","invalidate","toggleMenu","toggleFilters","back","routeName","getOwner","lookup","currentRouteName","previousRoute","filteredRoutes","split","filter","name","length","transitionTo","ind","markAsRead","moment","toDate","save","goTo","HTMLBars","template","block","meta","moduleName","allowedResultsPerPage","lastPage","computed","Math","ceil","prevAvailable","nextAvailable","selectOnFocus","event","target","select","setResultsPerPage","results","showAll","turnPage","toPage","pageNumber","curPage","isNaN","i18n","chart","tagName","selectedX","selectedY","selectedLabes","xData","yData","maxY","maxX","didInsertElement","series","mapBy","yaxis","selectedItem","find","d","x","y","annotations","points","marker","size","fillColor","strokeColor","radius","cssClass","chartOptions","selectedLocale","defaultLocale","locales","months","t","string","shortMonths","days","shortDays","toolbar","exportToSVG","exportToPNG","exportToCSV","selection","selectionZoom","zoomIn","zoomOut","pan","reset","menu","ApexCharts","render","didReceiveAttrs","updateSeries","willDestroyElement","destroy","height","colors","stroke","width","xaxis","tooltip","labels","formatter","toFixed","style","color","fontSize","selectedColumn","findBy","yValues","_toConsumableArray","push","datesMixin","isCng","can","sensor1","sensor2","item","canFuelLevel","convertDateToBrowserTZ","timestamp","fuelLevels","format","val","liters","toInteger","kg","maxCapacity","percent","datetimeUTC","datetimeFormatter","year","month","day","hour","msoffset","utcOffset","intermediatePoints","start","end","activity","duration","translatedName","serie","offsetX","offsetY","tools","download","zoom","zoomin","zoomout","customIcons","autoSelected","animations","_ref","seriesIndex","w","fill","dataLabels","legend","custom","sd","ed","interval","grid","borderColor","tickAmount","align","minWidth","fontWeight","text","contextMenu","selected","hours","minutes","step","getMinutes","i","monthDays","minute","weekDay","monthDay","weekDaysCorespondency","values","allowMultiple","sendFormula","sort","a","b","join","map","formula","makeFormulla","cron","replace","frequency","base","tempArray","baseFrequency","minuteValues","parseInt","hourValues","dayOfMonthValues","monthValues","dayValues","getWeekDaysCorespondency","weekDays","weekdays","obj","idx","getValues","setValue","setHour","setMinute","setWeekDay","setMonthDay","getWeekDays","mondayFirst","sunday","shift","limit","filteredAlerts","alert","check","run","later","removeObject","changeHoverProperty","toggleProperty","_regeneratorRuntime","e","r","prototype","n","hasOwnProperty","o","defineProperty","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","unfiltredColumns","key","translationKey","fullScreenOnly","reqModule","Formatter","address","modal","modules","readOnly","selectedColumns","alias","loading","empty","sortBy","classNameBindings","columns","fullScreen","availableSensors","sensor","isAny","isArray","column","isSelected","col","header","sensors","some","fuelSensorPosition","splice","perform","filtredData","filters","group","search","veh","icon","licensePlate","display","toLowerCase","sortedData","orderedData","final","getData","task","_callee","_context","contentType","res","formatData","drop","pollData","_callee2","_context2","timeout","rows","row","processed","groupName","removeWhiteSpaces","seal","getSeal","country","location","getAddress","coords","poi","geolocation","geofences","poiTitleCompact","lastGeofences","formatDateToCompanyTZ","lastGeofencesTimestamp","nextGeofence","nextGeofenceTimestamp","lastPOI","nextPlannedPOI","timeleft","timetable","remaining","availability","availabilityTooltip","popup","speed","processSensors","fuelType","fuelLevel","parseFuelLevel","fuel","fuelCapacity","processStatus","updatedAt","engineState","sealID","findRecord","reload","backgroundReload","updateHeaders","updateLiveStatusHeaders","sortByHeader","headerKey","sealClic","tittle","content","sealNumber","open","storeSeal","peekRecord","updateColumn","hideColumnsMenu","filterBy","previosColumns","updateValue","ondragstart","movingColumn","dataset","ondragover","preventDefault","ondrop","destinationColumn","fromIdx","toIdx","timetables","vehicles","shownDefaultNr","mHourStep","endHour","startHour","updatedTimetables","updateTimetables","vehiclesHeatmapData","toArray","mHStep","heatVehicles","timetablesExists","vehicleID","vehicle","add","nextInterval","clone","isInSchedule","nextIsInSchedule","tt","startTime","rangeOverlaps","valueOf","nextRangeOverlaps","driverName","distances","fixedValue","distancesArr","lastElement","unit","round","dis","index","arr","prevItem","nextItem","first","startFirst","startNow","weekChange","startOf","isSame","recurrent","ttStart","diff","newStart","toISOString","filtredHeatmapData","typesFilter","groupsFilter","searchValue","defaultNr","toggleDriverNames","dataArr","openModal","selectedVehicleTypes","vehicleTypes","uniq","total","isFuel","selectedVehiclesIDs","pick","_calcTotal","parseFloat","sortKey","sortAscending","drivers","driver","trim","card","time","timeFormatted","distance","distanceFormatted","computedDriveTimeLeft","computedDriveTimeLeftFormatted","computedDriveTimeLeftDay","computedDriveTimeLeftDayFormatted","computedDriveTimeLeftWeek","computedDriveTimeLeftWeekFormatted","remainAmplitudeFormatted","totalRecoveryFormatted","isBusy","promise","previousTask","getJSON","reloadDataTask","taskInstance","_taskInstance","doubleClick","attr","containerid","document","range","body","createTextRange","moveToElementText","getElementById","getSelection","createRange","selectNode","removeAllRanges","addRange","execCommand","Overlay","_initialDraw","element","google","maps","OverlayView","preventMapHitsFrom","draw","overlayProjection","mapComponent","getProjection","position","TextField","searchbox","googleMapsApi","initSearchBox","input","places","console","warn","SearchBox","addListener","sendAction","getPlaces","onfullscreenchange","getElementsByClassName","pacContainer","parentElement","getElementsByTagName","appendChild","clear","aGroups","inserVehiclesOnGroups","groups","arrangedGroup","idSplited","parentID","level","childrens","arrSubGroups","grp","groupLevel","splitedGroupID","parentiID","getChilds","companyGroups","companyVehicles","arrangedGroupsVehicles","dropdown","useLabels","action","itemType","itemValue","desParents","parID","removeClass","partId","selParents","allActive","each","hasClass","addClass","toggleClass","aGroupsObj","aVehiclesObj","aVehicles","parentChecked","gtext","vtext","allCheckedToInput","didRender","aclGroups","aclVehicles","$element","trigger","isReadonly","readonly","selectedRole","insertVehiclesOnGroups","findedGroup","levels","parentGrp","oldRoleID","didUpdateAttrs","pages","route","roleTypeRestriction","defaultAdmin","defaultManager","defaultDriver","defaultPartner","makePages","selectSubCategoriesPages","addResult","count","maxSelections","noResults","obsReadonlyChange","observer","obsTypeChange","setTimeout","customSelect","selectedPages","availablePages","categories","pag","cat","childs","roleType","page","valid","restriction","onCatSelection","child","notifyPropertyChange","unselectedChilds","onChildSelection","childIsSelected","category","substring","catIsSelected","parentChilds","datepicker","appLanguage","dateFormat","iconType","iconPosition","autoClose","pickerType","inline","timeFormat","_internalUpdate","_startDate","_minDate","_maxDate","_selectedDate","validateDateProperty","property","datepickerInstance","timepicker","classes","minDate","maxDate","startDate","date","language","view","minView","toggleSelected","onShow","dp","animationCompleted","onHide","isd","onSelect","formattedDate","dateObject","getTime","formatDate","selectDate","selectedDateObserver","maxDateObserver","update","minDateObserver","clearButton","returnValue","selectedDate","inst","el","focus","reportsFilters","activeAll","activeNone","activeDrivers","rejectBy","driversIDs","updateFilter","updateSelections","selections","activeAllOrNone","sel","scrollTop","edit","routeID","extraItem","disableEdit","enableEdit","purposes","append","extraItemValue","cancel","grpObject","selectedVehicles","selectedGroups","allVehSelected","allGrpSelected","selElements","filtredVeh","filtredGrp","vehs","filtredVehicles","grps","allSubVehiclesCount","parent","keyup","fixSelections","targetNode","querySelector","$dd","MutationObserver","observe","characterData","childList","subtree","selectGrp","selectVeh","makeRequest","validHex","curString","completeHexString","str","str2","hexString","Array","isHex","test","keyPressed","toUpperCase","debounceInterval","autocompleteService","initGoogleAutocomplete","attrib","PlacesService","isCoordinate","lat","lng","latNumber","lngNumber","countDecimals","toString","coordinates","debouncedSearchLocation","term","debounce","searchLocation","getWithDefault","placesLibrary","findPlaceFromQuery","fields","predictions","PlacesServiceStatus","OK","locations","filteredGeofences","fuzzy","extract","geofence","filtered","original","filteredVehicles","formattedLocations","geometry","unshift","shape","_toggleToMonth","_toggleDatePicker","toggle","toggleToMonth","selectedDates","toggleDatePickerObserver","monthDiff","abs","invalidEmail","addEmail","validator","isEmail","pushObject","setEmails","hasCommas","match","isEnterKey","keyCode","substr","addEmailToList","removeEmail","click","trunc","as","_value","_min","_max","selectValue","getHours","selDuration","focused","changeTime","validAction","newValue","subtract","isValid","newVal","increment","decrement","focusHours","focusMinutes","keyUp","isInteger","isValidInput","vehicleGroup","tractorUnit","semitrailer","_step","_iterator","_createForOfIteratorHelper","option","err","_step2","_iterator2","onChange","deleteRecord","createRecord","attributeBindings","hasCustomClass","rdonly","hasFile","inputClicked","parentNode","firstElementChild","delete","doc","isSmall","fileName","rollbackAttributes","unloadRecord","destroyRecord","loadedFile","file","files","req","XMLHttpRequest","responseType","onload","blob","response","link","createElement","href","URL","createObjectURL","send","maintenancesTypes","maintenancesUserTypes","hasError","or","isUserMaintenance","equal","types","usedMaintenancesTypes","m","invalidType","invalidTarget","maintenance","customOkText","entityID","data-id","disableReadonly","downloadFile","deleteDocument","romLatLng","allowedRadiusValues","mapMixin","drawingType","MarkerLabel","geofenceIcons","defaultIcon","selectedVehicle","settedVehDD","geofenceMarkers","draggable","ddVehicles","selectDDVehicles","event_type","enter","exit","stationary","setDrawingManager","drawingManager","drawing","DrawingManager","drawingControl","drawingControlOptions","ControlPosition","TOP_CENTER","drawingModes","markerOptions","editable","polygonOptions","setDrawingMode","dm","getDrawingMode","gf","removeShape","setMap","ovr","overlay","path","edge","vertex","secondaryChanges","image","scaledSize","Size","anchor","Point","setOptions","fitBounds","latlng","geoShape","getCenter","getPath","getArray","it","toJSON","setPosition","Marker","getPosition","setCenter","circle","Circle","center","validate","regexAlertStationaryTime","RegExp","alertStationaryTimeValue","clearAttachedVechicles","getSelectedVehicles","isInVehicleList","$vehicle","vehicleList","attachSelectedVehilces","foundVehicle","filterVehiclesByLicensePlate","bounds","LatLngBounds","markers","getVisible","setVisible","makeMarker","LatLng","labelContent","htmlSafe","labelClass","labelAnchor","completeGeofence","getBounds","getPaths","onLoad","PublicAPI","all","emberAutoImportDynamic","_slicedToArray","newMarker","Polygon","paths","mrk","selectColor","selectGeofenceRadio","setRadius","selectVehicleDropdown","openVehDD","closeVehDD","locationPicked","pickedLocation","addObject","waypoint","onClickMap","googleEvent","latLng","finishPolygon","resetMap","changeType","_this5","code","resetErrors","updateGeofenceIcon","selectedIcon","partners","A","partnersVisible","addPartnerOnLayout","removePartnerFromLayout","partner","showGenericError","toast","getGeneric","addGroup","editGroup","removeGroup","togglePartners","addPartner","raw","jqXHR","info","list","removePartner","colapse","slideToggle","speedLimitValidatonSchemma","onInvalid","tz","names","newDate","Date","selectStartTime","success","selectVehicle","company","MarkerClusterer","disableGeofencesOnZoomLevel","geofencesZoomLevelChanged","oldDz","dz","allOrNone","geoMarkers","geoIcons","selectedTooltip","selectedVeh","makeGeofence","zIndex","getMap","getDiv","setAttribute","removeAttribute","makeGeofenceIcon","pos","iconUrl","getIconImageUrl","geoIcon","addRemoveVehicle","vehPos","updateMapFilter","clickedIcon","saveBounds","onZoomChanged","nz","getZoom","oz","allOrNoneOrLimit","TrafficLayer","geo","geoMarker","mapService","movingRoutes","stationaryRoutes","trafficLayer","showTraffic","hoveredRoute","strokeOpacity","lastHoveredRouteID","getPurpose","$where[vehicle_id]","$where[timestamp]","purpose","stoppingPurpose","openInfoGeofence","infoWindow","setContent","makeSelectedRoutePolyline","poly","Polyline","strokeWeight","routeClick","makeRoute","routeHover","routeHoverOut","updateSelectedRoute","selectedRoute","setPath","point","updatePolylines","rt","routes","rte","InfoWindow","selectedRoutePolyline","openStationaryInfo","onStationaryClick","contextMenuHandler","_stationary$points","_stationary$points2","copyToClipboard","addFueling","addStoppingPurpose","toggleTraffic","layer","resolution","fullscreen","showSettings","showMenuAnyway","hideVehiclesList","expandedVehicles","expandedLimit","showMenu","notFullScreen","not","hasMapRoutesAccess","dateFrom","dateTo","selectedFilters","vehicleFilters","vehicleType","vehiclesWithLocation","passedSearch","passedFreezer","passedDoors","passedStatus","freezer","doors","statusIndicator","hasSensors","hasSensor","freezerSensor","freezerStatus","sensorDoor","doorsSensors","doorsStatus","any","state","filtersDetails","freezerOn","freezerOff","statusIndicatorUnreachable","statusIndicatorEngineOn","statusIndicatorEngineOff","doorsOpen","doorsClosed","onVehiclesChanged","computedDiff","computedFunc","onlyOnChanges","off","makeVisible","findIndex","onFullShow","isEnabled","onFullHide","hideList","vehiclesFiltersHide","vehiclesFiltersShow","searchKeyUp","mouseEnter","vehicleId","mouseLeave","propName","toggleFullscreen","mainMenuElements","isAdmin","isContractedMenu","reports","management","driving","dispatch","tms","rer","eTransport","toggleMessagesView","toggleVisibility","viewIsOpen","isEditingMessageThread","isAddingUsers","users","selectedUsers","searchUserText","selectedGroupID","selectedUsersCount","searchThreadsText","messageThreadForDeletion","selectedMessagePriority","enlargedImage","messageThreads","messageThread1","messageThread2","showBackButton","showMessageInput","userResults","log","foundText","searchData","firstName","lastName","selectedThreadUsers","currentUserId","selectedThreadUserIds","selectedUser","selectedGroupUsers","userId","showSelectedThreadUsers","messageThreadsSearchResults","searchText","messageThread","groupsSearchResults","foundGroup","groupUsers","expanded","_selectUser","deselectAllUsers","existingThread","findExistingUserThread","setSelectedMessageThread","socketMessageCallback","selectUserExternally","bind","registerExternalCallback","peekAll","phoneNumber","reduce","selectedMessageThread","$messagesContainer","unread","isAfter","prop","setAllRead","startEditingMessageThread","editingMessageThread","incrementProperty","toggleView","createMessageThread","cancelMessageThread","resetNewMessageThread","toggleUser","decrementProperty","saveNewMessageThread","saveNewThread","messasgeThread","openMessageThread","mesasgeThread","$messageContainer","scroll","loadOlderThreadMessages","sendMessage","_this6","which","shiftKey","ctrlKey","selectedGroup","newMessageThread","subject","priority","offset","top","deleteMessageThread","confirmDeleteMessageThread","_this7","cancelDeleteMessageThread","editMessageThread","_this8","updateMessageThread","_this9","goBack","selectUser","toggleExpandGroup","findExistingGroupThread","_ref2","removeUserFromThread","threadUserId","updatedMessageThread","manageThreadUsers","selectedThread","threadUsers","contact","enlargeImage","closeDocumentImageView","stopPropagation","toggleDetailsPopup","_this10","seenBy","ModalComponent","client","alertType","headerTranslation","ok","triggerType","remainingVehicles","selectedAlert","selectedTrigger","promises","hasHeaderIcon","yes","documentID","docs","selectedDoc","isUser","$where","finally","vehicle_id","alldocs","saveDocuments","rejected","modifiedDocs","newDocs","filesPromises","saveFile","docID","fd","FormData","processData","dirty","createDocument","endDate","setDate","getDate","from","until","price","currency","hash","alertInterval","refuel","amount","invoice","createdAt","identifier","prompt","companyTS","convertDateToCompanyTZ","saveFuel","uploadProgress","completedRequest","provider","disabledImportButton","created","parsed","notCreated","vehiclesToRefresh","upload","onprogress","pe","lengthComputable","percentComplete","loaded","onloadend","JSON","parse","responseText","selectFile","srcElement","close","scrollingPaddingMixin","showConfirmationButton","ImportWasClicked","newFileSelected","deleteOldGeofences","progress","updated","deleted","hasErrors","fixScrollPaddingBySelector","simulation","simulate","importGeofence","acceptText","completedOnce","parser","newGeofence","externalIDs","validNewGeofence","invalidExternalID","externalID","externalIDS","hasUser","QRCode","toDataURL","margin","scale","dark","light","generate","lp","node","cloneNode","classList","qr","lastElementChild","removeChild","htmlToImage","toBlob","className","remove","print","imgHtml","webkitURL","WindowObject","strHtml","writeln","relayState","put","timeOut","extendedTimeOut","disableAclGroupsVehicles","aclGroupsVehiclesError","removeSubCategoriesPages","changeRole","aclPagesWithoutSubPages","validDate","validEmail","supportedPurposesOptions","stationaryPurpose","saveStoppingPurpose","changePurpose","selectedDriver","vehicleObj","vehicleFound","cardSlot","errorCode","allowRequest","nothingSelected","disableSaveButton","selectDriver","resetValues","timezone","failed","userValidationSchema","formValidate","disabledRoleEditing","addingMaintenanceInProgress","maintenances","standardMaintenances","main","customMaintenances","customTypes","countryCodes","availableGroups","allowedGroups","allowedGroupID","availableVehicles","allowedVehicles","allowedGropus","allowedVehicleID","loggedUser","allMaintenances","findAll","roles","filteredUsers","filteredGroups","filteredRoles","allDocs","schema","animate","outerHeight","checkVehicleDriver","userID","_saveVehicle","assignVehicle","oldVehicle","attachedVehicle","hasMaintenanceAccess","savedUser","maintenancesOrDocumentsSaved","saveMaintenances","modified","news","newFromStandard","toggleExpand","selectGroup","selectRole","roleID","loadAvatar","loadedAvatar","selectCountry","createMaintenance","defaultMaintenance","threshold","saveVehicle","stringify","patch","vehicleValidationSchema","disableDettachDevice","maintenanceLabelInterval","maintenanceLabelRemainder","vehicleScope","showVirtualOdometer","showVirtualWorkTime","devices","allDevices","dev","device","checkAsignedUser","selUserID","virtualOdometerValue","virtualWorkTime","savedVehicle","odometerChanged","workTimeChanged","_objectSpread","odometer","workTime","detachedUser","detachSelectedUserFromPreviousVehicle","deviceSaved","saveDevice","sameDevice","prevDevice","vehicleToDetachUser","checkAsignedUsers","openApplyModal","selectDevice","deviceID","isDefaultDevice","object","editingVehicle","vehicleWithDriverAttached","savePurposeForRoute","relayHasChanged","minSpeed","maxSpeed","toggleRelayState","disabled","freightOrderID","uploadFile","pickFile","onFilePicked","transportOrder","clients","vehicleGroups","validateFields","source","validatedFields","waypoints","freightOrder","freightID","statusID","statusText","extra","tractorUnits","semitrailers","WithEmberSupport","_react","Suspense","fallback","_reactI18next","I18nextProvider","ReactI18nService","_easyPeasy","StoreProvider","ReactStore","_Tacho","props","_FuelImport","_Chat","_reactHotToast","Toaster","reverseOrder","containerStyle","left","bottom","right","toastOptions","background","borderRadius","padding","maxWidth","border","iconTheme","primary","secondary","_map","_eTransport","_integrations","class","_list","_rules","_temporaryLinks","_mapPtv","_mapShared","_partners","_dailyTarget","_dispatch","_storage","_tms","_clients","_orderDetails","_orders","_routes","_vehicleGroups","_tachoWidget","pageIndex","resultsPerPage","selectedRowsCount","_this$get$filterBy$le","_this$get","recordsCount","showPagination","visibleRecords","obsFixPadding","fixScrollPadding","selectRow","toggleRowsSelection","_arrayLikeToArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","allowedFormats","filenameSeparator","noOptions","getFileName","report","fs","filenameParts","normalize","downloadReport","isMonthlyReport","isDayReport","isUtcReport","locale","poiAddress","cngUnit","grouping","showFluctuations","consumptionFormat","button","startMonthDate","endMonthDate","endOf","getRealEndDate","$filter","formatDateToUTC","specialFilters","stationaryDuration","dailyBreak","borderCrossing","density","usersO","entities","import","changeDuration","setOptionPath","updatePath","setOption","Accordion","schedule","accordion","sortableGroup","sortableItem","Controller","tHeaders","sorting","mapped","assign","filteredClients","sortedClients","rollback","toggleColumn","insertAt","googleMapsAPI","showVehicles","reads","rootURL","legs","label","markerClass","rowClass","alternatives","gt","dragContext","cost","toll","secondaryRoute","stash","canStash","canSave","transportTypes","totalDistance","totalDuration","profitability","primaryDistance","secondaryDistance","lossPaidRatio","driverCost","vehicleCost","totalCost","routeFast","summary","travelTime","setObjects","parts","array","pathIndex","getDistance","mappedPosition","latitude","longitude","shapeIndex","leg","restartable","routeOptimized","tasks","cheapest","fastest","shortest","mode","tollCost","copy","acc","removeAt","routePro","_callee3","_context3","mapMatchRadius","tollVehicleType","rollups","routeAttributes","driver_cost","vehicle_cost","trailersCount","trailerType","vehicleNumberAxles","trailerNumberAxles","emissionType","restTimes","merge","enqueue","maxConcurrency","onClick","lastWaypointIndex","onPrimaryRouteMarkerClick","onVehicleMarkerClick","onMarkerRightClick","entity","primaryMarkers","secondaryMarkers","onRouteDragStart","nextWaypointIndex","setProperties","onRouteDragMove","onRouteDragEnd","updatePrimaryRoute","updateSecondaryRoute","optimize","elem","stashed","toggleTransportType","onPlacesChanged","component","place","onLocationChanged","toggleShowVehicles","_n","F","obsCompanyChange","transportOrderSearch","transportOrderStatus","transportOrderSorting","transportOrderHeader","getOrdersByFilterPeriod","params","_res$transportOrder","tempFreightOrdersArray","_transport$freightOrd","transport","freightOrders","unloadAll","pushPayload","filteredTransportOrders","orders","order","sortedTransportOrders","updateStatus","comment","clientID","vehicleGroupID","uploadAttachment","downloadAttachment","attachment","routeWaypoints","routeManeuvers","isSaving","isRouting","isOptimizing","optimizedRoute","optimizedWaypoints","optimizedRouteVisible","waypointTypes","materialTypes","hasMaterial","notEmpty","validWaypoints","waypointsLatLng","waipoints","fitMapBounds","distinctWaypoints","uniqBy","canRoute","hasRoute","routePolyline","routeLatLngs","itm","routeTotalDuration","previousValue","hasOptimizedRoute","optimizedLocations","optimizedRouteTotalDuration","latlngs","publicAPI","q","addressdetails","display_name","lon","result","changeVehicle","weight","material","strict","maneuver","previewRoute","polyline","addWaypoint","removeWaypoint","reorderWaypoints","itemModels","maneuverMove","throttle","maneuverMoveStart","maneuverMoveEnd","originalWaypoints","destination","roundtrip","overview","trips","waypoint_index","objectAt","toggleOptimizeLayer","checked","setSchedule","setChosenRoute","newRoute","coordinate","transitionToRoute","willChangeStep","to","didChangeStep","filteredVehicleGroups","sortedVehicleGroups","serialized","serialize","getProperties","recordsLength","formattedData","getReportData","makeProfile","emptyDefault","minEl","maxEl","minRpm","maxRpm","engineLoad","rpm","durationDisplay","elExists","rpms","elElement","rpmElement","tables","fTables","table","formatted","grouped","driverID","totals","green","red","yellow","rpmLow1200","engineLoadBig70","rpmBig1200","matrix","durationPercent","accelerationAvg","opacity","onH","dateHasChanged","selectPeriod","period","setPeriod","incrementRecords","HeadersMixin","triggerFormat","readyData","parseCngValues","cng","getCngValues","fuelUnit","score","distanceTotal","averageAxleLoad","averageSpeed","breakingDistance","harshBreakingDistance","harshAccelerationDistance","durationIdle","percentCruiseControl","percentInertia","percentMoving","percentIdle","fuelConsumptionTotal","fuelConsumptionMovingDistance","fuelConsumptionIdle","fuelConsumptionTotalDistance","onHEnd","reformatData","alerts","nonUtilityVehicles","distanceHeatmapFilter","ids","utilityVehicles","workHeatmapFilter","parentRoute","addPartners","newShareEmail","emailsList","selectedType","companyGeofences","sharedGeofences","getPartners","del","toggleGeofences","downloadGeofence","queryParams","geofenceCoords","searchGroup","partnersCount","filtredRoles","allUsers","used","showRole","newRole","deleteRole","since","companyGroup","companies","loggedCompanyID","groupedTimetables","groupTimetables","companyTT","filteredTimetables","passed","groupedTT","ArrayProxy","isCompanyGroup","ObjectProxy","isCompanyTimetable","ttVeh","downloading","groupFilter","roleFilter","canDeleteAdmin","passedGroupFilter","passedRoleFilter","reinvite","reactivate","deleteUser","showUser","viewDocuments","newUser","assignedVehicle","avatar","drivingLicense","iButtonID","typeFilter","vehiclesWithDevice","passedTypeFilter","deleteVehicle","showVehicle","qrCode","vehID","editVehicleAlert","newVehicle","make","model","vin","seats","hasRelay","registrationDate","tireSize","capacity","consumption","auxiliaryHeatingTime","distanceWise","timeWise","weightWise","engine","power","speedLimit","doorOpenOutsidePOI","fuel-level-drop-stationary","fuel-consumption-excessive","ddOpened","disableSave","selectedText","destinationMarker","vehicleLocation","filtredGeofences","customStartDate","startDateText","endDateText","endTime","calendar","routing","taskGroup","origin","route2","ignoreWaypointVehicleRestriction","trafficTime","overview_path","endLatLng","end_location","getAddressByLocation","start_address","dropdownSelection","savePlan","geofenceID","geofenceName","vehicleLicensePlate","plannedPOI","boundary","event_trigger","boolean","selectGeofence","getPlacePredictions","sessionToken","getAutocompleteSessionToken","description","place_id","getPlaceDetails","placeId","RoutesMixin","FormatterMixin","hasReportsRouteAccess","selectedView","currentlyLoading","hoveredRouteID","hoveredLocation","hoveredCourse","openAtMonthStartDP","openAtMonthEndDP","datePickerSelected","toggleStartDatePicker","toggleEndDatePicker","finishedDateSelection","showCharts","routeStartDate","routeEndDate","stopLimit","sortedRoutes","sortCriteria","dcRoutes","makeRoutes","mergedRoutes","maxStop","stationariesLowerThanDuration","stationaryIndex","mbsd","mergeByStopDuration","routesDuration","mr","idxToMerge","thisRoute","startIndex","endIndex","prevRoute","nextRoute","translatedRouteTypeDuration","formattedDuration","durationAsDHMSShort","totalKms","acumulator","allSelectedAreExpanded","selectedMovingRoutes","concatRoutes","startIdx","endIdx","uuid","v4","allPoints","selectedPoints","distanceGps","fuelMovingCan","fuelMovingSensor","fuelMovingComputed","fuelStationaryCan","fuelStationarySensor","fuelStationaryComputed","durationStationary","durationStationaryEngineOn","fuelCan","fuelSensor","fuelComputed","fuelConsumptionMoving","fuelConsumptionMovingAverage","fuelValuePopup","fuelValuePopupPerDistance","fuelConsumptionStationaryEngineOnAverage","fuelConsumptionStationaryAverage","groupedByDateRoutes","groupedRoutes","posInArray","getChartData","entry","record","modularizedValue","ts","course","bearing","altitude","fuelCanLevel","acceleration","taxiState","auxHeatingState","auxCoolingState","powerExternal","temperature","adblueLevel","tacho","_getDriverNameForTachoCard","cardID","fullName","getTooltip","_routesDuration$filte","dataTypes","startsWith","totalRouteDuration","availableText","occupiedText","offText","undefinedText","numberVal","auxHeatingVal","auxCoolingVal","translatedValue","capitalize","slot","cells","body1","splitAt","body2","makeChart","chartData","measureUnit","stacked","export","csv","filename","dateFormatter","plotOptions","line","curve","shared","dataPointIndex","speedChart","altitudeChart","adblueLevelChart","accelerationChart","rpmChart","engineStateChart","taxiStateChart","auxACChart","onText","copyed","fieldName","powerExternalChart","doorsChart","translated","temperatureChart","temp","fuelLevelChart","fuelCanLevelChart","tachoChart","activities","cardIDs","tachoData","cardData","forceNiceScale","showGraph","hasGraph","fixDates","resetSelections","hideChart","resetParameters","selectRoutes","stationariesInterval","_stationariesInterval","_arr","_arr2","_stationariesInterval2","_arr3","_stationariesInterval3","isInArray","firstInterval","lastInterval","sortedArr","areAllRoutesSelected","selectMovingRoute","prevStationaryRoute","nextStationaryRoute","allElementsSelected","_document$getElementB","scrollIntoView","expandOrCollapseSelected","expand","selectStationaries","onMapStationaryClick","_document$getElementB2","selectStationary","toggleStationaryExpand","toggleMovingExpand","movingRoute","removeVehicle","selectView","showChart","chartNumber","notShow","stopLimitChange","toggleCharts","vehicleChanged","dateChanged","prevClicked","nextClicked","routeReport","disableHoverMarker","showAllVehicles","groupedData","groupByUser","canDistance","canDistancePaid","canFuelConsumption","canRefuelAmount","distancePaid","fuelConsumption","sensorFuelConsumption","sensorRefuelAmount","refuelAmount","distanceLoss","fuelConsumptionDistance","fuelConsumptionDistanceAdjusted","fuelDifference","noPagination","groupByDriver","scrolledRecords","distanceCAN","distanceGPS","distanceComposed","fuelConsumptionSensor","fuelConsumptionCAN","consumptionComposed","firstVehicle","hasAnotherFuelType","distanceValuePopupWithoutVehicle","tableData","tableCaption","tableHeader","tableHeaderRow","tableBody","dataRow","PHE","printHtmlElement","printHtml","html","styles","pageTitle","groupBy","licensePlates","transitCount","transit","dataTransits","cabotageCost","transitCost","startLocation","endLocation","startTimeFormatted","endTimeFormatted","cabotageDuration","transitDuration","tachoUser","availableDuration","dayTimeWorkingDuration","driverFullName","drivingDuration","nightTimeWorking","restingDuration","workingDuration","tachoCardID","transits","durationMoving","buildDetails","detailsTable","detailsHeader","detailsSubHeader","detailsHeaderRow","detailsBody","detailsRow","detailsCell","fuelComposed","fuelConsumptionDistanceComposed","rowClicked","isExpanded","subRowClicked","subRowIsExpanded","filtredUsers","groupByVehicle","groupedObjs","startOfDay","dateRowSpan","durationWork","fuelConsumptionWorkSensor","fuelConsumptionWorkCAN","driverNames","auxHeatingConsumption","canConsumption","sensorConsumption","normalizedConsumption","accountingConsumption","canF2fConsumption","sensorF2fConsumption","canConsumptionDistance","sensorConsumptionDistance","normalizedConsumptionDistance","accountingConsumptionDistance","accountingConsumptionDistanceUncalculated","canF2fConsumptionDistance","canF2fConsumptionDistanceUncalculated","sensorF2fConsumptionDistance","sensorF2fConsumptionDistanceUncalculated","consumptionFormatIsTotal","selectedCanConsumption","canConsumptionPerDistance","selectedSensorConsumption","sensorConsumptionPerDistance","selectedNormalizedConsumption","normalizedConsumptionPerDistance","selectedAccountingConsumption","accountingConsumptionPerDistance","selectedCanF2fConsumption","canF2fConsumptionPerDistance","selectedSensorF2fConsumption","sensorF2fConsumptionPerDistance","selDistance","auxHeatingConsumptionCNG","canConsumptionCNG","normalizedConsumptionCNG","accountingConsumptionCNG","canF2fConsumptionCNG","accountingPopup","canF2fPopup","sensorF2fPopup","accountingPopupCNG","canF2fPopupCNG","div","tableRow","colObj","headerLicensePlates","vt","loc","countryCost","fuelConsumptionPerDistance","driverFullNames","transitDriversFullNames","fuelConsumptionTransit","mapLink","driverRow","mapCol","mapColIndex","groupByDriverID","usedIDs","coDriverID","routeType","_row$tachoSlot","_row$tachoSlot2","tachoSlot1","unusedUsers","tachoSlot2","filteredData","consumptionComposedValue","fuelTypes","allFuelUnit","unmerged","_item$tachoSlot","_item$tachoSlot2","strings","filteredTachoSlot","formattedTime","insertedTranslation","removedTranslation","el1","el2","hasCan","odometerComposed","odometerCompose","canOdometer","virtualOdometer","odometerStartComposed","canOdometerStart","virtualOdometerStart","getLocation","startGeofenceNames","endGeofenceNames","rowMaxSpeed","rowColor","rowPopup","dif","rowState","totalsVehicle","slot1","slot2","totalVehicleSlot","contains","mergeRoutes","canString","sensorString","calculatedString","totalsPerVehicle","totalVehicles","_route$slot","_prevRoute$slot","routesAreDifferent","isStationary","expandRow","fuelConsumptionSensorStationary","fuelConsumptionSensorTotal","fuelConsumptionCANStationary","fuelConsumptionCANTotal","fuelConsumptionStationary","daysWithAverageSpeed","refuelValue","sensorFuelConsumptionStationary","sensorFuelConsumptionTotal","canFuelConsumptionStationary","canFuelConsumptionTotal","fuelValuePopupWithStationary","fuelLevelComposed","fuelLevelCompose","sensorFuelLevelEndOfDay","canFuelLevelEndOfDay","canOdometerEnd","virtualOdometerEnd","parseRefuelLevel","fuelConsumptionDurationComposed","fuelValuePopupPerDuration","setStartDate","selectedDays","asDays","dailyTarget","denominator","subrow","_row$content$","activated","_processed$distanceCo","targetDailyDistance","isCrew","dailyDistance","translationPath","crew","adblueLevelComposed","adblueLevelCompose","canAdblueLevelEnd","showFuelImportModal","unusedVehicles","selVehicles","usedVehicles","diffFuelLevel","diffFuelLevelCAN","diffFuelLevelManual","volume","fuelSource","hasSensorModule","hasCanModule","refuelType","manualRefuelID","processItem","_item$price","skipTotals","volumeManual","fluctuationByUser","fuelVal","fuelPopup","manualFueling","isManualFueling","onlyManual","refuelID","cngPopup","cngDisplay","cngManual","cngManualPopup","cngManualDisplay","fluctuation","isProcessing","isDrop","isFluctuation","isFull","fullTank","fetchFuelLevelsByVehicle","refreshVehicleGraph","hasData","graphValues","hideModalImport","importFueling","totalObj","deleteFueling","setFull","setFluctuation","toggleGraph","sectionID","driverIDs","_processed$distance","_processed$score","_processed$distance2","stationEngineOn","auxHeating","isNumber","avgScore","filtredByDriverData","engineOnDuration","plannedDuration","plannedStartTime","plannedEndTime","geofenceModel","selectGeofences","importPlans","_item$pairVehicleLice","groupedWith","pairVehicleLicensePlate","stationaryTypeBefore","stationaryTypeAfter","_item$childs","driversNames","drvID","setQP","qp","rf","backup","selectedPeriod","removeQP","showDetailedReportModal","splitInterval","geofenceNames","groupByType","_this$get$filterBy$le2","_this$get2","vins","cards","summarize","getDriverNameForTachoCard","downloadedAt","multipleDownload","_this$get$filterBy","_this$get3","_this$get$filterBy2","_this$get4","selectedDrivers","selectedRows","fileNames","openDownloadModal","multiFilesDownload","archive","groupByCardID","othersDuration","availabilityDuration","activityDuration","restDuration","nightDuration","fakeID","activityList","utc","_this$get$find","qpUserId","willDownload","specificHeader","distanceAvailable","distanceOccupied","canDistanceAvailable","canDistanceOccupied","durationOccupied","durationAvailable","durationOff","startCoordinates","endCoordinates","cupolaColor","distanceComposedAvailable","distanceComposedOccupied","groupByVehicleAndSensor","sensorType","found","sensorText","temperatureRange1","temperature1","temperatureRange2","temperature2","temperatureRange3","temperature3","temperatureRange4","temperature4","tHeadersPresent","generateChart","theme","_loop","opposite","searchUsers","_entry$drivers","canEngineOnDuration","ignitionOnDuration","processDuration","engineOnFirstTime","engineTime","engineOnLastTime","ignitionDuration","firstEngineOn","lastEngineOn","refuelsCAN","refuelsSensor","stopsLoad","stopsUnload","_item$enterLocation","_item$exitLocation","enterTime","exitTime","enterLocation","exitLocation","refuels","stops","scans","scan","cancelOn","zone","pickups","subscriber","container","subscribers","containers","landingPage","languages","selectedLandingCategory","setLocale","changeLanguage","selectedLanguage","changeLandingPage","showSuccess","clearErrors","countryCosts","countryCostsWithValidation","general","at","be","bg","cy","cz","de","dk","ee","es","fl","fr","gb","gr","hr","hu","ie","lt","lu","lv","mt","nl","pl","pt","ro","se","sk","sl","hasInvalidCosts","setCost","isValidCabotageCost","isValidTransitCost","saveGroup","hideDuration","setNightInterval","cabotage","_defineProperty","countryCostsJson","isNumeric","no_symbols","isFloat","applyTo","companyName","notShowTable","selectedProfile","profiles","companyProfile","prof","defaultTypeProfile","defaultProfile","exists","typeProfile","vehdProfile","profVal","engineLoadRPM","profileValues","engine_load","getProfiles","behaviourProfile","toApiFormat","elements","changeColor","removeProfile","apiFormat","geofencesKeys","showAlertTaxiCosting","emailList","phoneList","fromEntries","entries","filterEmailList","statuses","populateFromSettings","setting","groupedStatuses","addFragment","status_id","removeFragment","changeLabel","vehTypes","getVehicleTypes","typeName","expiredLocaleTranslation","da","en","localeLang","invitationExpired","decoded","jwt_decode","exp","now","selectedTypes","sortOrder","sortValue","sortedAlerts","notificationTypes","headerClick","sortString","filterValue","typeChanged","divisionChanged","notifications","sortedRecords","filteredNotifications","notif","filterType","filterGroup","filterStatus","showExportLiveStatus","vehiclesIDs","passedFilters","filterText","forExport","Helper","helper","andHelper","makeBoundHelper","appVersion","_","versionOnly","hideSha","shaOnly","hideVersion","showExtended","versionExtendedRegExp","versionRegExp","shaRegExp","compute","getName","decreaseIndex","enabledDay","equalHelper","durationAsDHMS","formatFloat","decimals","dec_point","thousands_sep","prec","toFixedFix","k","pow","isFinite","sep","dec","decPos","gtHelper","gteHelper","htmlSafeHelper","isArrayHelper","ltHelper","lteHelper","markerIcon","momentDurationAs","nl2br","noDots","notEqualHelper","notHelper","orHelper","pluralize","singularize","stringContains","s1","s2","xorHelper","initialize","initializerFactory","app","register","ContainerDebugAdapter","before","setupContainer","initializer","registry","baseURL","Configuration","load","setupSession","setupSessionService","setupSessionRestoration","application","exportApplicationGlobal","theGlobal","self","globalName","classify","reopen","willDestroy","singleton","instantiate","after","_config$metricsAdapte","metricsAdapters","_config$environment","FragmentTransform","FragmentArrayTransform","ArrayTransform","Model","oldBelongsTo","oldHasMany","resetOldRelationships","eachRelationship","descriptor","kind","belongsTo","hasMany","hasChangedRelationships","changedRelationships","getChangedRelationships","ready","didCreate","didLoad","didUpdate","Modal","fullname","dasherize","resizeServiceDefaults","injectionFactories","ResizeService","factory","Resolution","toastrOptions","closeButton","newestOnTop","progressBar","positionClass","preventDuplicates","onclick","showDuration","showEasing","hideEasing","showMethod","hideMethod","injectAs","registerHelper","initializeStoreService","document-expiry","document-expired","poi-enter","poi-exit","poi-stationary","geofence-enter","geofence-exit","geofence-stationary","door-open-outside-poi","seal-broken","speeding","fuel-level-drop-stationary-confirmed","fuel-level-drop-stationary-fluctuation","taxi-coasting","maintenance-upcoming","aux-cooling-while-moving","aux-heating-while-moving","low-battery","fast-battery-discharge","border-crossing","confirmed-refuel","temp-poi-enter","engine-off","tacho-break","tacho-rest","panic-button","loadAddress","unloadAddress","enterQuery","typeToSearch","budget","statName","otherStat","vehicleDimensions","unload","materials","explosive","gas","flammable","combustible","organic","poison","radioActive","corrosive","poisonousInhalation","harmfulToWater","other","generating","optimized","use","drive","rest","standard","adr","secure","costDetailed","profitabilities","unknown","low","medium","high","statusDate","attachments","sources","tracknamic","samsung","unloading","attachmentUpload","codriver","picker","driverBehaviour","fcz","performance","engine-load-rpm","revRecommended","revMarginal","revForbidden","revOver","revOverLoaded","revUnder","specific","priorityCAN","priorityGPS","headerFields","accBrake100kmAvg","accBrakeTimeAvg","angle","axleLoadAvg","ascendPercentage","brakingCount100kmAvg","companyScore","companyScoreAccBr","companyScoreAccBrTime","companyScoreBrk","companyScoreDeltaAcc","companyScoreCruise","companyScoreInertia","companyScoreRetarder","deltaAccKmAvg","descendPercentage","difficultyScore","distanceCruiseControlKmAvg","distanceInertiaKmAvg","overSpeedKm","panicBraking","retarderOnKmAvg","scoreAccBr","scoreAccBrTime","scoreBrk","scoreDeltaAcc","scoreCruise","scoreInertia","scoreRetarder","accRedZone","accYellowZone","dccRedZone","dccYellowZone","cornerHandling","crashes","harshAccAvg","harshAccWarning","harshAccWarningAvg","harshAccWarningCount","harshDccAvg","harshDccWarning","harshDccWarningCount","canEngineHighRpmDuration","canEngineHighRpmWarningDuration","canEngineHighRpmWarningDurationOnStationary","canEngineLowRpmDurationOnStationary","canEngineOnDurationCount","canEngineOnDurationStationary","canEngineOnDurationWarningCount","engineOnDurationStationary","gpsScore","canScore","mobileyeFwdColWarn","mobileyeHeadwayWarn","mobileyeLaneDepartLeftWarn","mobileyeLaneDepartRightWarn","mobileyePedDangerWarn","mobileyePedFwdColWarn","mobileyeScore","totalScore","speedingAvg","speedingCount","speedingDistance","userName","emptyName","missingCoordinates","fuelCapacityNotSet","invalidAlertStationaryTimeRange","invalidAlertStationaryTimeMultiple","insufficientPolygonPoints","errorsExists","pleaseTryAgainLater","checkFileAndTryAgain","numberWithoutComma","errorsExistsCheckData","validation","invalidPoiShape","poiRequiresPoint","poiOrGeofenceExpected","invalidPolygon","boundaryTooSmall","invalidCoordinates","invalidDuration","invalidStartTime","invalidRecurringDuration","invalidEndTime","invalidVehicle","overlapping","uits","etransport","deleteTitle","deleteContent","requiredIntervalOrRemainderInfo","intervalDistance","intervalWorkingHours","intervalTime","remainderDistance","remainderWorkingHours","remainderTime","custom-1","custom-2","custom-3","custom-4","custom-5","vehicleLicense","transportCertification","medicalNotification","registrationCertificate","mandatoryInsurance","vignette","periodicalTechnicalInspection","oilChange","tireChange","documents","moreDetails","docStartDate","docEndDate","accountInformation","deleteTittle","sureToDelete","defaultText","week","car","division","new","deleteUsed","needName","requiredAtLeastOneGroupOrOneVehicle","withoutTimetable","browse","addCsv","fullDay","sureToDeleteTimetable","buttonText","importedNumber","notImportedNumber","allImported","noneImported","affectedVehicles","timetablesForRemoval","mondayStart","mondayStop","tuesdayStart","tuesdayStop","wednesdayStart","wednesdayStop","thursdayStart","thursdayStop","fridayStart","fridayStop","saturdayStart","saturdayStop","sundayStart","sundayStop","successful","downloadTemplate","downloadExample","driverIsAttached","vehicleHasNoDoorSensor","isAssignedToVehicle","willBeAssigned","sureToDeleteVehicle","vehicleHasDeviceAssigned","selectDispatcher","relayContact","confirm","ibutton","maxTooltip","minTooltip","offsetTooltip","errorMessage","doorAlert","noAlert","alertOpenDoor","doorOpenOutsidePOIInTimetable","removeDevice","cannotChangeDeviceUntilRelayContactDisabled","cannotChangeRelayContactUntilDeviceIsSaved","deviceChange","noDevices","vehicleDetails","autoPark","externalRefuelID","adblueCapacity","typeText","petrol","hybridPetrol","diesel","hybridDiesel","lpg","electric","sirocol","fluctuationFilter","utility","minibus","bus","truck","tractor","harvester","construction","trailer","semi-trailer","dimensions","selectDivision","removeDriver","fabricationYear","obuID","payloadCapacity","userDetails","vehicleHasDriver","userHasVehicle","ifDeleteDetatch","haveDriver","wichWillBeReplaced","sureToDeleteThisUser","reactivateUser","sureToReactivateThisUser","sureToResendInvitation","theInvitationWillBeSent","resendInvitation","iButton","photoUpload","drivingLicenseList","categoryAM","categoryA1","categoryA2","categoryA","categoryB","categoryBE","categoryC","categoryCE","categoryD","detachVehicle","admin","manager","salesAgent","electrician","docPrice","headerText","deleteGroup","addSubGroup","editSubGroup","deleteSubGroup","share","radio","sureToDeleteGeofence","alertStationaryTimeHoverText","icons","selectIcon","noIcon","downloadCsv","importedGeofencesNumber","updatedGeofencesNumber","deletedGeofencesNumber","notImportedGeofencesNumber","allGeofencesImported","pleaseWait","processingGeofences","downloadExamples","validateFile","emails","insertEmailsSeparatedByComma","insertPhonesSeparatedByComma","phone","countries","activ","inactive","serviceWillBe","serviceIs","afterSave","enable","disable","lastStationary","hall","grayMarker","blueMarker","greenMarker","orangeMarker","redMarker","yellowMarker","green1Marker","turquoiseMarker","purpleMarker","pinkMarker","lastUpdate","gpsPosition","gpsSpeed","canSpeed","canAcceleration","canRPM","canFuelAvailable","canFuelUsed","probeFuelAvailable","agregation","operationWithSuccess","operationMayTake5min","languageChangedWithSuccess","priorityChangedWithSuccess","operationWithError","deletedWithSuccess","temperatureForPeriod","noRecords","generatingReportPleaseWait","invalidIntervalMax3Days","generatingRoteDetailedReport","generateDetailedReport","willReceiveReportThroughEmail","areYouSureToDeleteFueling","fluctuationFuel","areYouSureToConfirmFluctuation","routingFailed","fullFuel","fullFueled","cannotDeleteVehicleWithDeviceAttached","areYouSureToConfirmFullFuel","coordsCopiedToClipboard","routesWithStationaryLowerThanSelectedWillBeMerged","crossedBorderFrom","crossedBorderTo","validValues","processing","dropStationary","diffDetectedRefuelBiggerThan5","afterhours","fleet-summary","faz","fuel-level","poi-temperature","taxi","temperature-range","timesheet","costs","driver-behaviour","driver-routes","fleet-summary-extended","km-day","obu-tickets","tacho-activity","tacho-files","tacho-timesheet","23","downloads","weeklyBreak","weeklyBreakStart","weeklyBreakEnd","dailyBreakStart","dailyBreakEnd","loadStart","loadEnd","unloadStart","unloadEnd","noschedule","infoCAN","infoGPS","engineOnTimeCAN","engineOnTimeGPS","CAN","ENGINE","shipping","groupByVehicles","groupByDrivers","subscribe","placeholder","dayOfWeek","everyDay","everyWeek","everyMonth","notifyDate","tachoSlot","utcTimezonePopup","breakRedZone","breakYellowZone","canEngineOnFirstTime","canEngineOnLastTime","canFuelConsumptionMoving","canFuelConsumptionDistance","consume","costPopup","consumptionComposedInfo","cupolaState","desacc","durationWorking","engineFirstTime","engineLastTime","engineOnTime","engineLoadTime","entryLocation","entryTime","transitDistance","cabotageDistance","freezerOnDuration","fuelConsumptionMovingInfo","fuelConsumptionPer100KMInfo","fuelConsumptionPerHourInfo","fuelConsumptionNormlized","fuelConsumptionAccounting","fuelConsumptionFullToFull","fuelConsumptionFullToFullCan","fuelConsumptionFullToFullSensor","fuelEvent","fuelLevelDiff","fuelLevelDiffManual","fuelLevelDiffLiters","gps","generatedAt","gpsDistance","gpsEngineOnDuration","idlingTime","invoiceNumber","ignitionOnTime","persistent","poiCount","poiStationaryDoorsOpenedDuration","poiStationaryDuration","priceEur","printDetails","roadSection","sealEnd","sealStart","sensorFuelConsumptionMoving","sensorFuelLevel","speedingMax","speedingTime","stationaries","totalFuelConsumption","transitNumber","virage","volumeCan","volumeTank","canStationary","canMoving","computedStationary","computedMoving","sensorStationary","sensorMoving","popups","normlizedDistanceConsumption","normlizedDistanceConsumptionPerDistance","normlizedDistanceUncalculated","selectPurpose","cardInserted","cardRemoved","totalConsumptionNotCalculatedBecauseDiffFuelsType","station","startTimePlanned","endTimePlanned","durationPlanned","tachoActivity","cycleWeek","cycleDay","tachoFiles","buttonLabel","downloadRequest","vehicleLimitReached","downloadLimitReached","1","2","3","warning","tachoTimesheet","dayDuration","eventType","imported","notImported","hit","miss","unplanned","no-visit","importPlan","distanceThreshold","collapse","temperatureTable","dataStorage","insertNumber","moving","ry","yg","gy","yr","ry_allowed","yg_allowed","gy_allowed","yr_allowed","avg","avgTime","minLabel","secLabel","secTooltip","gyr","gyrTime","gyLabel","gyToolTip","yrLabel","yrToolTip","harshAcc","gyTooltip","yrTooltip","gy_allowedTooltip","yr_allowedTooltip","harshDcc","evtCount","evtCountTooltip","avgTooltip","movingTooltip","Gul","selectCarType","carType","selectVehicleCopy","bibtrack","shippeo","nightWorkInterval","startInterval","endInterval","messages","searchThreads","threadName","lowPriority","mediumPriority","highPriority","selectPriority","searchUser","allGroups","deleteConfirmButton","deleteCancelButton","messageInputPlaceholder","unreadMessages","noMessages","addUser","participants","TMS","Dispatch","Driving","Management","Etransport","Markers","Messages","Reports","Settings","threads","Threads","tachoRestInfo","Alerts","savingVehicle","savingUser","relay","userExist","emailUsed","5010","5020","Errors","accountDisabled","no","expandSelected","collapseSelected","totalKmSelected","selectCustomer","selectStatus","hideVehicles","required","always","never","hideGeofences","settingsGeofences","orderNumber","simple","manual","dynamic","big","engineLoadShort","noModuleEmailSms","sameVehicleType","allVehiclesFromGroup","vehicleNotFound","userNotFound","allAnothers","showExternalID","hideFluctuations","pagination","last","previous","of","goToPage","pageOfTotal","historic","changeDate","stationaryDurationTotal","stationaryDurationEngineOn","stationaryDurationEngineOff","durationEngineOn","durationFormat","durationFormatDDHHmm","durationFormatHHmm","durationFormatCharDay","durationFormatCharHour","granularity","totalFuelConsumptionMoving","averageFuelConsumptionMoving","totalDurationStationary","totalDurationStationaryEngineOn","averageFuelConsumptionStationary","min3kmDistanceForFuelConsumptionCalculation","min5kmDistanceForFuelConsumptionCalculation","consumptionCannotBeComputed","showGraphic","clusterMarkers","activeSince","processingFileData","alertsAndNotifications","openDoorsStatus","closed","doorFrontLeft","doorFrontRight","doorBackLeft","doorBackRight","doorTrunk","openDoor","front-left","front-right","back-left","back-right","trunk","door-front-left","door-front-right","door-back-left","door-back-right","door-trunk","allClosed","na","generic","engineOn","engineOff","unreachable","vehiclesStatus","vehicleStatus","unreachableSince","noLocation","taxiStates","available","occupied","auxAC","auxCooling","fromDate","temperatureIntervals","anotherValue","speedPerHour","altitudeMeters","fuelLevelLitres","fuelCanLevelLitres","fuelLevelForPeriod","calculateRoute","noDetails","event_enter","event_exit","event_stationary","alert_in","alert_out","alert_transit","averageValue","m_settings","statusFeed","oneVehicle","vehicless","pois","divisions","account","poiMultiple","dayHours","theMinutes","theWeekDays","every","ALL","saveSuccess","invite","aclGroup","aclVehicle","allVehicles","celsiusTemperature","temperature-1","temperature-2","temperature-3","temperature-4","temperature-5","temperature-6","temperature-7","temperature-8","accelerationG","recurrentEachWeekDay","driverss","noDriver","allDrivers","unselectAllDrivers","selectAllDrivers","selectVehicles","selectFilters","unknownLocation","insertEmailAddress","today","currentWeek","currentMonth","yesterday","lastWeek","lastMonth","monday","tuesday","wednesday","thursday","friday","saturday","january","february","march","april","may","june","july","august","september","october","november","december","exportSvg","exportPng","exportCsv","dashboard","heatmap","work","units","km","showMore","showLess","dailyKm","dailyConsumption","monthlyKm","monthlyConsumption","cars","showAlerts","showNotifications","stopped","contactLink","contactTitle","contactSendBtn","contactMsgHint","errorOnSendingMessage","emptyMessage","pleaseInputMessage","noAlertData","noNotificationData","comingSoon","noData","showDriver","showLicensePlate","liveStatus","cupola","none","deactivateSealModal","driveTimeLeft","driveTimeLeftDay","driveTimeLeftWeek","driveTimeNextWeek","drivingCycle","drivingDaily","drivingWeekly","amplitudeDaily","totalRecovery","RCA","CASCO","Rovinieta","ITADR","Altele","permis_conducere","atestat","aviz_medical","noPurpose","customers","suppliers","prospectingMarket","training","customs","bank","taxAuthorities","personalInterest","routesEta","-1","0","4","5","activities2","working","break","obu","balance","section","signup","invitation","expired","fuelCapacityNotSetted","plaseTryAgainLater","vehicle-licence","transport-certification","medical-notification","registration-certificate","mandatory-insurance","periodical-technical-inspection","oil-change","tire-change","Semi-trailer","willReceiveReportThroughtEmail","Sattelauflieger","maintenance_1","maintenance_2","oops","stoped","uit-sync","maintenance-notification","refuelCAN","refuelSensor","29","loads","unloads","UIT","hideTraffic","temporary-links","trash-can","dumpster","RER","selectData","Mixin","AuthenticatedRouteMixin","beforeModel","categoryCapitalized","getLinesLabels","removeConsecutiveSameValues","asHours","asMinutes","dayChar","hourChar","durationAsHM","onlyHoursAndTooltipFull","lastMsOfDay","p1","p2","pts","twicearea","nPts","j","latlng1","latlng2","lat1","lng1","lat2","lng2","pi","cos","asin","sqrt","ModelValidator","ObjectValidator","showPercentCNG","sensorVal","canVal","calculatedVal","alwaysShowCalculatedValue","isTotal","hasProbe","finalVal","addCalculatedPopup","setCalculatedAsValueAndDisplay","canFail","sensorFail","cngCalculated","addSpaces","showPercent","litersVal","kgVal","percentVal","calculatedMoving","calculatedStationary","calculated","sensorStationaryString","canStationaryString","calculatedStationaryString","sensorMovingString","canMovingString","calculatedMovingString","cngMovingDisplay","cngStationaryDisplay","cngCalculatedMovingDisplay","cngCalculatedStationaryDisplay","coolPopupArr","maxLength","headersIdxs","repeat","_vehicle$fuel","_vehicle$fuel2","canAdblueLevel","refuelLevel","_vehicle$fuel3","_vehicle$fuel4","refuelVal","gpsString","virtual","allowEmpty","showPoi","geofencesCount","txt","getSequenceUntil","missingSignal","unsyncTime","humanized","humanize","missingSignalValue","_can$fuel","aSensors","taxiSensors","fuelSensors","camelType","camelize","translation","_translation","defaultTranslation","outputUnit","valunit","_translation2","digitalTranslationValue","translationValue","translatedVal","sensorNumber","repColumns","selColumns","allRoutes","lastAltitude","locationDetails","_getLocationGeneralDetails","nrOfPoints","startGeofencesIDs","startText","startPopupText","geofencesStartCount","geofID","endGeofencesIDs","endText","endPopupText","geofencesEndCount","engineOffDuration","isUnknown","popupText","isMoving","unknownIsMovingRoute","mergeRoute","mrl","r1","r2","nrOfRoutes","hasMerged","prevMvRt","nextMvRt","lon1","lon2","_getCanFuelLevel","_getCanAdblueLevel","hasTaxiSensor","doorSensors","tempSensors","elementName","$scrollerElement","hasScroll","MF","Fragment","sn","fragment","defaultValue","centerLatLng","night_end_time","night_start_time","fragmentArray","16","orderLoadTimespan","maintenance-reminder","received_at","opened_at","arrival_actual","arrival_expected","departure_actual","departure_expected","geofence_id","operation_duration_actual","operation_duration_expected","displayAddress","simplified","mapMatched","engine_state","fuel_level","imu","taxi_state","countryCode","widgets","markerType","markerTop","markerText","manualVehicles","historyInterval","showClusters","statesFilter","vehiclesFilter","dispatchersFilter","markerSize","markerBigSelectable","markerBigTopText","geofenceShapeVisibility","toggledMarkerVehicles","columnOrder","reportsTimetable","readingInterval","optionHeatmap","windowDuration","report1","report2","report3","report5","report6","report7","report8","report11","report12","report13","report14","report16","report17","report18","report19","report21","report24","report26","report27","report28","report29","report34","report25","report30","report31","report33","report40","localizedText","fuelLevelFluctuation","fuelLevelCompensation","fuelLevelValueType","fuelUsedParameter","fuelLevelDropStationary","fuelConsumptionExcessive","lowBattery","fastBatteryDischarge","tachoRest","alertTriggers","lowBatteryThreshold","dailyBatteryDischargeThreshold","fuelLevelFluctuationThreshold","panicButton","fuelConsumptionSource","allowNull","locationLatLng","usedLiters","driver1","driver2","present","activityName","remainAmplitude","lastDailyDuration","amplitudeStartTime","extendedDriveTimeNextWeek","driveTimeLeftFormatted","driveTimeLeftDayFormatted","driveTimeLeftWeekFormatted","lastDailyDurationFormatted","amplitudeStartTimeFormatted","driveTimeLeftDayFormattedHoursAndTooltip","driveTimeLeftWeekFormattedHoursAndTooltip","iconURL","urlHelper","inverse","logoUrl","homepage","comments","isStandard","localizedType","truncate","translatedType","channelID","token","receivers","openedBy","detailsOpened","document_id","seal_id","rule_id","deadline","voltage","drop_rate_per_hour","allowed_drop_rate_per_hour","from_country","to_country","days_cycle","hours_rest","driver_name","formatedAmount","speedDiff","deletedAt","isAlert","isDocumentExpiry","isPoi","isDoorOpen","isGeofence","isSealBroken","isSpeeding","isFuelDrop","isFuelDropConfirmed","isFuelDropFluctuation","isFuelExcessive","isSeen","statusHistory","pendingUpdate","possibleStatuses","customName","isSingle","distanceInKM","vehicleLicensePlates","decodedPolyline","encoded","decode","deviceSN","events","humanizedDuration","isBroken","DatesMixin","currentUserIsAdmin","chatID","canBeEdited","isActivated","needReactivation","machineriesTypes","hasMapEtaAccess","conversions","dispatcher","isCompanyVehicle","sensorsStatus","hasAuxHeatingSensor","hasAuxCoolingSensor","hasAuxACSensor","hasPowerExternalSensor","hasDoorSensor","hasFreezerSensor","hasTemperatureSensors","hasiButton","openDoors","doorHoverText","carName","currentLocation","promiseAddress","canFuel","hasTacho","isMachinery","hasValidCan","hasCapacitySet","taxiAvailable","taxiOccupied","iButtonEnabled","statusHumanized","iconTextTop","selectedTop","tachograph","iconText","manualBig","isMediumMarker","makeInfo","sensorsColumns","CallModalAudio","onReject","src","propTypes","PropTypes","func","CallModal","currentCall","showCallingModal","stopCall","_useState2","useState","videoLayout","setVideoLayout","_useState4","isMuted","setIsMuted","isVideo","muted","unmute","mute","bool","Calls","useTranslation","_InfoMessage","InputMessage","scrollToBottom","sendIsTypingStatus","useStoreActions","chat","sendIsStopTypingStatus","sendFile","refFile","useRef","expandedInput","setExpandedInput","full","_useState6","setFile","_useState8","typingValue","setTypingValue","_useState10","lastSentValue","setLastSentValue","useReactive","lastStatusWasIsTyping","toggleExpandedInput","useKeyPress","sendTypedValue","useEffect","removeSelectedFile","current","domSidebar","domBody","sidebarSize","useSize","bodySize","useMemo","_bodySize$width","_sidebarSize$width","expandDirection","_semanticUiReact","TextArea","transparent","autoFocus","_el$target","Icon","fitted","Input","fluid","_el$target2","onKeyPress","ref","selectedFile","_event$target","Message","opponentID","author","expandImage","attachmentID","msgText","isMine","fileIsImage","isImage","fileIsAudio","isAudio","getFile","_id","theFile","controls","date_sent","_message$read_ids","_message$delivered_id","read_ids","delivered_ids","getStatus","dialog","onClose","updateDialog","setSearchText","setName","setSelectedUsers","sortedUsers","occupants_ids","availableUsers","full_name","lowerCase","toUpdateParams","changedName","selectedIDs","occupantsIDs","changedOpponents","arraysAreEquals","toAdd","toRemove","push_all","pull_all","imgLink","Dialog","trkUser","useStoreState","loadingDialogMessages","typingDialogs","getChatMessages","makeCall","setShowSettings","firstMessageIDBeforeLoadOldMessages","setFirstMessageIDBeforeLoadOldMessages","isGroup","_dialog$opponentsIDs","opponentsIDs","dialogUsers","hasSettingsAccess","isTyping","_typingDialog$occupan","_typingDialog$occupan2","typingDialog","joinText","uID","_users$find$full_name","_users$find","sentDate","dayString","offsetTop","expandedImageDiv","_Settings","onScroll","firstMessageFromListID","Dimmer","active","inverted","Loader","senderID","_dialogUsers$find","sender_id","_Message","_InputMessage","unreadCount","Label","circular","NewDialog","createDialog","saveButtonPressed","setSaveButtonPressed","makeDialog","usersIDs","ChatWindow","dialogs","selectDialog","adding","setAdding","setIsGroup","showAddMenu","setShowAddMenu","showAddButton","setShowAddButton","isConversationsList","filteredDialogs","_i$name","closeMessages","cancelCreateDialog","newChat","panes","menuItem","List","_NewDialog","usedUsers","_d$occupants_ids","_Dialog","Item","photo","unread_messages_count","floating","dialogID","getTypingUsers","last_message","formatTimeHumanized","last_message_date_sent","_Calls","Tab","pointing","ccUser","showChat","unreadMessagesCount","handleShowChat","incomingCalls","showRejectedModal","acceptCall","rejectCall","_Icon","incomingCall","Button","_CallModalAudio","_CallModalVideo","_Window","CustomToastContent","myToast","_ref$closable","closable","toastContent","closeToast","dismiss","DropdownMultiple","defaultSelected","_ref$placeholder","otherProps","_objectWithoutProperties","_excluded","refInstantiated","_useSelections","useSelections","setSelected","unSelectAll","Dropdown","_extends","clearable","multiple","Menu","Field","tKey","noLabel","_useFormContext","useFormContext","formState","reg","InfoMessage","Title","EditableCard","_integration$raw6","_integration$raw7","_integration$raw8","_integration$raw9","_integration$raw10","_integration$raw11","_integration$raw12","_integration$raw13","integration","sharedIntegrations","selectIntegration","hasVehicle","setHasVehicle","hasToken","setHasToken","_integration$raw2","_integration$raw3","_integration$raw4","_integration$raw5","sharedIntegration","_sharedIntegration$ra","_integration$raw","integrationID","tokenExpireDate","Card","Content","Header","rel","ModalWindow","_sharedIntegration$ra2","_sharedIntegration$ra3","_sharedIntegration$ra4","_sharedIntegration$ra5","_sharedIntegration$ra6","_integration$options","closeModal","onSubmit","_useForm","useForm","defaultValues","sharedGroupID","handleSubmit","watch","spv","sharedIntegrationID","integrationEnabled","diffObj","displayRemainingTime","Checkbox","defaultChecked","isClientID","_client$raw","_client$raw2","_client$raw3","has","_division$raw","_division$raw2","newWindow","redirect_uri","openLinkInNewTab","expires_in","Actions","LocationPicker","mapsAPI","clearOnSelect","isLoading","geocoder","_placesAPI","_autocompleteService","_placesService","useCallback","searches","isCoord","geocode","_ref3","plus_code","placesAPI","AutocompleteService","attrib2","placesService","Geocoder","Search","onResultSelect","_ref5","getDetails","onSearchChange","_ref4","callOnResultSelectWhenNoInputValue","GeofenceIcon","_ref$name","generateUrlByColor","assetsPath","onLeftClick","onRightClick","onContextMenu","generateUrlByFillColor","MarkerBig","topText","topTooltip","middleText","middleTooltip","bottomText","bottomTooltip","transform","MarkerMedium","_ref$truncateLenght","truncateLenght","isStopped","truncateAndUpperCase","oneOf","MenuLocation","hasDislocation","hasSplit","hideSplit","addViaPoint","copyGeolocation","Popup","placement","overlayClassName","_objectDestructuringEmpty","Window","markerSizeDefault","markerTextDefault","markerBigTopTextDefault","marketBigBottomTextDefault","mapHistoryIntervalDefault","mapTypeDefault","mapShowTrafficDefault","mapShowLabelsDefault","mapShowTerrainDefault","hasTachoModule","geofenceShapeVisibilityDefault","hasFreezerModule","defaultVehicleTabName","setDefaultVehicleTabName","setMarkerSize","setMarkerText","setMarkerBigTopText","markerBigBottomText","setMarkerBigBottomText","_useState12","mapHistoryInterval","setMapHistoryInterval","_useState14","mapType","setMapType","_useState16","mapShowTraffic","setMapShowTraffic","_useState18","mapShowLabels","setMapShowLabels","_useState20","mapShowTerrain","setMapShowTerrain","_useState22","setGeofenceShapeVisibility","geofenceVisibilityOptions","frigoSensorsOptions","tabsOptions","tabName","getItemLS","Radio","setItemLS","Group","basic","widths","upward","VehiclePopup","closePopup","refCoordinates","coordinateCopiedIsOpen","setCoordinateCopiedIsOpen","postalCodeCopiedIsOpen","setPostalCodeCopiedIsOpen","locationCopiedIsOpen","setLocationCopiedIsOpen","setAddress","postalCode","setPostalCode","formattedCoordinates","setFormattedCoordinates","GeoService","reverseGeocode","_lat","_lng","formatCoordinate","vehicleMakeModelYear","_ri","RiDashboard2Fill","cp","innerText","copyPostalCodeToClipboard","copyLocationToClipboard","getStatusColor","getIconMiddleText","getUser","toUpper","UserMarker","handleRightClick","textTop","getIconTopText","textMid","textBottom","_vehicle$raw$status","_vehicle$raw$status2","getIconBottomText","_MarkerBig","_MarkerMedium","_Marker","AlertDisposable","urlGoogleMapKeys","createTemporaryAlerts","temporaryAlerts","removeTemporaryAlerts","setOpenModal","_vehicle$raw","vehicleFuelSource","borderCrossingAlert","_a$raw","refuelAlert","_a$raw2","poiAlert","_a$raw3","engineAlert","_a$raw4","tachoAlert","_a$raw5","openCreatePOIModal","_ModalPOI","newAlert","getItem","Info","vehSensors","vehStatus","context","fuelValue","cngLiterToKg","workingTime","durationAsHMin","adblue","adblueValue","retarder","cruiseControl","engineTemperature","grossWeight","IntegrationsPopup","_filteredIntegrations","filteredIntegrations","control","_useFieldArray","useFieldArray","availableIntegrations","field","_availableIntegration","TabIntegrations","addSharedIntegration","updateSharedIntegration","deleteSharedIntegration","integrationsModalIsOpen","setIntegrationsModalIsOpen","activeSharedIntegrations","sharedForVehicle","entityType","sharedForGroup","_vehicle$raw2","allSharedIntegrations","_element$raw","_element$raw2","allowEditing","_sharedIntegration$in","paddingTop","_IntegrationsPopup","_oldItem$raw","_oldItem$raw2","_vehicle$raw3","oldItem","newItem","ModalPOI","setCoordinates","setGeoShape","gMaps","setGMaps","_poiAlert$raw","_poiAlert$raw2","_poiAlert$raw3","_googleMapReact","bootstrapURLKeys","defaultCenter","defaultZoom","draggableCursor","streetViewControl","fullscreenControl","setZoom","yesIWantToUseGoogleMapApiInternals","onGoogleApiLoaded","_UserMarker","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","toPrimitive","_toPrimitive","_toPropertyKey","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","PROPS","lowerWithoutSpaces","toLower","ModalUitMap","_record$scheduledModi","hide","methods","shouldUnregister","changeResources","rawVehicles","items","vehiclesLPs","_v$raw","_v$raw2","isNew","setExpanded","errUit","setErrUit","headerTxt","updateUit","_find","_find2","_vehicle","_vehicle2","_vehicle3","licensePlateSMR1","licensePlateSMR2","observations","fieldDate","dateVal","_i$raw","_i$raw2","validateUIT","first14","lastTwo","asciiSum","sum","char","charCodeAt","padStart","handleInputChange","_e$target","validTxt","_reactHookForm","FormProvider","_ref6","_ref7","vehicleColor","_ref8","_ref9","_Field","_ref10","_reactDatepicker","timeInputLabel","placeholderText","showTimeInput","scheduledModifications","paddingBottom","TachoDriver","_ref$nr","nr","phoneNumberCopiedIsOpen","setPhoneNumberCopiedIsOpen","TabTacho","userTimezone","driverNamePhone","_TachoDriver","getTachoDriver","Uit","hasTokenETransport","getVehicleUits","isOpen","setIsOpen","changing","setChanging","setItems","handleRemove","_x","handleHide","makeRefresh","_x2","_i$scheduledModificat","_moment","otherActiveUITS","trailers","toggleActivate","marginTop","_ModalUITMap","generateMenuItem","MenuItem","getPostalCode","cpPromise","useAddress","addressPromise","popupDirection","hasMapEtaPTVAccess","popupActiveTabIndex","setPopupActiveTabIndex","refVehicle","hasTabUit","hasIntegrationsETransport","noDevice","hasTabTacho","hasTabIntegrations","TabPane","_Info","_Uit","_Integrations","_AlertDisposable","getVehicleMakeModelYear","_ai","AiFillDashboard","activeIndex","onTabChange","ModalTemporaryLink","isSubmitted","temporaryLinks","vehicleIDs","vehiclesOptions","_i$raw3","_fields$vehicleIDs","expiredAt","_DropdownMultiple","isReq","validateFormat","extension","ModalImport","headerRow","setheaderRow","textAlign","gridGap","placeItems","accept","marginBottom","Req","TIMESTAMP","ContentOptions","validated","setValidated","setLicensePlate","setAmount","setPrice","setOdometer","setTimestamp","gridTemplateColumns","selectOnBlur","vehicleIndex","amountIndex","timestampIndex","timestampFormat","priceIndex","odometerIndex","ContentResponse","setNotImported","setHasError","Trans","i18nKey","setStep","setTitle","setHeaderRow","setResults","setResponse","setLoading","fileToParse","headerRowToParse","handleResponse","_ContentFile","_ContentOptions","_ContentResponse","_Spinner","regexPrefix","regexBase","regexEmail","_selectedRoute$segmen","_state$order$properti2","_state$order$properti3","mappedVehicleGroups","onSave","allProperties","addressCache","selectedVehicleGroup","setSelectedVehicleGroup","handleVehicleDimensions","clearSaveOrderTimestamp","properties","dateState","startDateForLoading","endDateForLoading","startDateForArrival","endDateForArrival","selectedProperty","setSelectedProperty","locationName","setLocationName","vehicleGroupWarning","setVehicleGroupWarning","maintainRoute","setMaintainRoute","showVehicleGroupForm","setShowVehicleGroupForm","propertiesArray","_property$raw","_property$raw2","_property$raw3","_property$raw4","_property$raw5","_property$raw6","translateLabel","orderType","visible","fetches","arrayOfAddress","orderProperties","onChangeStartDateArrival","onChangeEndDateArrival","onChangeInputValue","indexOfProperty","onChangeCheckbox","onLocationPicked","onChangePhoneInput","_state$order$properti","checkboxClassName","showInputByDataType","orderProperty","_orderProperty$dataTy","choice","choiceWhitoutWhiteSpaces","Grid","Column","showTimeSelect","_LocationPicker","onOpen","segments","Form","_e","Select","semiTrailerUnit","matchSorter","rankings","CONTAINS","_vehicleGroupForm","_user$raw","Row","DateUtils","formatDurationByDuration","isClearable","onChangeStartDate","selectsStart","timeIntervals","onChangeEndDate","selectsEnd","minTime","setHours","setMinutes","maxTime","disableSaveBtn","_vehicleGroupBody$veh3","vehicleGroupBody","addVehicleGroup","useErrorHandler","_vehicleGroupBody$veh","_vehicleGroupBody$veh2","_tractorUnit$raw","_tractorUnit$raw2","_tractorUnit$raw3","_semitrailer$raw","_semitrailer$raw2","_semitrailer$raw3","_driver$raw","_driver$raw2","_driver$raw3","_driver$raw4","_driver$raw5","_driver$raw6","_driver$raw7","_driver$raw8","DebouncedInput","initialValue","_ref$debounce","clearTimeout","Filter","_DebouncedInput","setFilterValue","RTable","searchTxt","refTableContainer","useReactTable","getCoreRowModel","getSortedRowModel","getFilteredRowModel","globalFilterFn","getRowModel","rowVirtualizer","useVirtualizer","estimateSize","getScrollElement","_refTableContainer$cu","measureElement","navigator","userAgent","getBoundingClientRect","overscan","getHeaderGroups","headerGroup","_headerGroup$headers","_header$column","_asc$desc$header$colu","_header$column2","_header$column3","colSpan","getSize","isPlaceholder","gridTemplateColumn","cursor","getToggleSortingHandler","getCanSort","flexRender","columnDef","getContext","asc","desc","getIsSorted","getCanFilter","_Filter","getTotalSize","getVirtualItems","virtualRow","_row$original","_row$getVisibleCells","statusColor","getVisibleCells","cell","getValue","expandedCountryArray","setExpandedCountryArray","tollByCountries","_selectedRoute$toll","tolls","sections","currentValue","_currentValue$cost","_currentValue$cost2","countryIndex","tempExpendedCountryArray","float","Description","horizontal","divided","sumBy","boat","_expandedCountryArray","_expandedCountryArray2","countryTag","_tempExpandedCountryA","tempExpandedCountryArray","elementIndex","expandCountry","road_type","paymentMethods","replaceAll","customTheme","primary25","neutral0","neutral50","neutral80","SelectDC","forceValue","selectedOption","_reactSelect","isSearchable","Spinner","_ref$style","_style","ActionsCell","onRemove","_ref$makeArrayOfInput","makeArrayOfInputs","_ref$isDeletable","isDeletable","finishEditing","setState","isEditing","edited","_cell$row","isRequired","ActionsCellForContactPersons","_cell$row3","_cell$row2","_cell$row4","ActionsCellForTmsClients","setEditable","clientProperties","validRow","validObject","_cell$row$original$ra","_cell$row$state$edite","propertiesInitialValues","objectOfValidations","_ret","_clientProperties$fin","propertyDetail","clientProperty","existsInObjectOfValidations","_cell$row$original","ActionsCellForTmsCombinedTransportCosts","ActionsCellForTmsOrderStatus","validObj","indexInput","purposeInput","ActionsCellForTmsOrders","_cell$row7","_cell$row8","onRemoveFreight","_ref$setEditable","notMap","_ref$typeOfOrder","typeOfOrder","_cell$row$state$edite2","_cell$row$state$edite3","_orderProperties$find","_propertyDetail$dataT","locked","_cell$row5","transportOrderID","actionTime","_cell$row6","ActionsCellForVehicleGroups","_original$raw","_original$raw2","_original$raw3","_original$raw4","displayValue","setDisplayValue","_ref$format","browserValue","setBrowserValue","_DayPickerInput","parseDate","overlayWrapper","dayPickerProps","disabledDays","onDayChange","_ref$disabled","_ref$propertyID","propertyID","setValidObject","_row$state$edited","propertyName","_ref$driverInput","driverInput","_vehicleGroups$row$id","_vehicleGroups$row$id2","_vehicleGroups$row$id3","_vehicleGroups$row$id4","_row$state","validationForDriverInput","_ref$property","customStatuses","onChangeInput","validInput","setValidInput","changeValidOject","validateInput","_status$raw","_objectWithoutPropertiesLoose","propertyIsEnumerable","long","_ref$setValidObject","_ref$nameValidation","regexValidation","nameValidation","showRedBorder","setShowRedBorder","hasLoadPurpose","hasUnloadPurpose","_status$raw2","selectedTransportOrder","_selectedTransportOrd","_vehicleGroups$find","_selectedTransportOrd3","_selectedTransportOrd4","_vehicles$find","isField","_clients$find","selectedClient","_selectedClient$prope","_selectedClient$prope2","selectedOrderProperty","valueForInput","_selectedVehicleGroup","_selectedTransportOrd2","selectedVehicleID","_selectedVehicleGroup2","_selectedVehicleGroup3","regex","valueTranslated","needTranslation","emailValidation","numberValidation","orderStatus","ordersTmsFreightFromTransport","freight","_statusOrder$raw","_statusOrder$raw2","statusOrder","showStatusLabel","arrayOfInputs","requiredInput","raw.required","raw.visible","prefix","baseNumber","setPhoneNumber","verifyWithRegex","toDays","_ref$defaultCount","defaultCount","_ref$defaultPeriod","defaultPeriod","setCount","years","weeks","converted","models","refModel","setRefModel","modelOptions","setModelOptions","_arrayOfInputs$row$in","_arrayOfInputs$row$in2","clientOptions","clientsSchemaProperties","_step3","vehicleOptions","_iterator3","_step4","_iterator4","vehiclesSchemaProperties","_step5","semitrailerOptions","_iterator5","_step6","_iterator6","semitrailerSchemaProperties","_step7","usersOption","_iterator7","_step8","_iterator8","usersSchemaProperties","showModelValue","onChangeList","showPropertyValue","_step9","arrayOfKeys","_iterator9","showRef","dropdownType","getTextLabel","selectAll","isEqual","visibleInput","isDisabled","_row$state2","ClientsTable","_ref$isLoading","renderRowSubComponent","_clientProperty$raw","_EditableListOptionsCell","_EditableInputCellForTmsClients","_EditableDateTimePicker","_EditableInputNumberWithDecimales","_EditableInputForEmailAddress","_EditableTelephoneNumberCell","_EditableInputCellForBooleanCheckbox","tempColumn","accessor","Cell","_EditableInputCell","_props$row","contactPersons","_client$raw$propertie","_ActionsCellForTmsClients","rowClassName","tableInstance","useTable","initialRowStateAccessor","useRowState","useFilters","useExpanded","getTableProps","getTableBodyProps","headerGroups","visibleColumns","prepareRow","Table","getHeaderGroupProps","HeaderCell","getHeaderProps","wide","Body","_row$original2","getRowProps","toggleRowExpanded","getCellProps","CombinedTransportCostTable","reloadFirstPageOfCombinedTransportCost","pageNumberState","setPageNumberState","pageSizeState","setPageSizeState","_ActionsCellForTmsCombinedTransportCosts","initialState","pageSize","_row$raw","isVisible","usePagination","gotoPage","nextPage","previousPage","setPageSize","_tableInstance$state","cellIndex","onCancel","ContactPersonsTable","reloadClients","updateClient","creationTimestamp","setCreationTimestamp","setData","tempData","first_name","last_name","indexOfContactPerson","editedContactPersons","editedClient","indexOfEditedContactPerson","_editedClient","_x3","_x4","_ActionsCellForContactPersons","TmsStatusOrderTable","_ref$transportOrders","transportOrders","reloadOrdersTmsFreight","_orderProperty$raw","_orderProperty$raw$da","_orderProperty$raw5","_orderProperty$raw6","_orderProperty$raw7","_orderProperty$raw8","_orderProperty$raw9","_orderProperty$raw10","_orderProperty$raw11","_orderProperty$raw12","_orderProperty$raw13","_orderProperty$raw2","_orderProperty$raw3","_orderProperty$raw4","_EditableInputCellForReff","_EditableInputCellForLocationPicker","backgroundColor","_ActionsCellForTmsOrders","_row$raw$statusHistor","_row$raw$statusHistor2","_orderStatus$filter","_props$row2","_props$row$original$r","_EditableOrderStatusCell","_props$row3","_props$row4","_props$row5","_props$row6","_props$row7","_EditableInputCellForLoadAndUnloadLocationPicker","_props$row8","_props$row9","_props$row10","_props$row11","_props$row12","_props$row13","_props$row14","_props$row15","_props$row16","_props$row17","_props$row18","_props$row19","MaintenanceEntitiesTable","getToggleRowExpandedProps","autoResetExpanded","hooks","_ref$scope","defaultColumn","EditableInputCell","_EditableTypeCell","_EditableVehiclesCell","_EditableUsersCell","_ActionsCell","_ref$users","onAdd","_EditableRuleTypeCell","_EditableDateCell","_EditableUserCell","compact","OrdersTable","ordersTmsFreight","tmsTransportOrder","setTmsTransportOrder","updateUser","setMovingColumn","sourceDropdown","externalIDInput","_EditableVehicleGroup","transportID","orderedColumns","tempColumns","difference","onDrop","cols","_EditatableListSource","_EditableExternalIDCell","data-key","onDragStart","onDragOver","RoutesTable","TmsPropertyTable","clientsTms","reloadUsers","reloadVehicles","setArrayOfInputs","setModels","optionsRequired","optionsVisible","arrayOfPropertyType","arrayOfInputsTemp","tempModels","translateColumn","_props$cell","_props$cell2","_EditableInputCellForTranslationLabel","_EditableVisiblePropertyCell","_EditableRequiredPropertyCell","_EditableTypeOfPropertyCell","refProperty","_props$data$props$row","_props$data$props$row2","_props$data$props$row3","_props$data$props$row4","_EditableInputCellForIndex","_props$data$props$row5","_props$data$props$row6","_EditableInputCellForPupsoseDropdown","_props$data$props$row7","_props$data$props$row8","_colors$find","_EditableColorInputCell","_ActionsCellForTmsOrderStatus","SettingsTool","defaultValueHours","tachoWidgetType","onChangeHours","onChangeTachoType","direction","Divider","ShowColumnTool","renderLabel","selectedOptionsValues","children","VehicleGroupsTable","trucks","_EditableTractorOrSemitrailer","_EditableDriverOrCoDriver","_ActionsCellForVehicleGroups","perentageOfContainer","indexOfActivity","numberOfHours","firstDuration","percentage","numberOfSeconds","numberOfMs","startMargin","Chart","_ref$countHours","countHours","timeZone","selectedActivity","setSelectedActivity","reverseGeocodeLocation","setReverseGeocodeLocation","activityType","legendArray","formatDateInTimeZone","convertTimezoneTimeStamp","_activity$partialActi","_activity$partialActi2","_legendArray$activity","_activity$partialActi3","_activity$partialActi4","_legendArray$activity2","_activity$partialActi5","partialActivities","flowing","hoverable","formatDurationInHours","partialActivity","STATE_HOURS","updateLoggedUser","localStorage","countHoursForTachoWidget","setCountHoursForTachoWidget","selectedHourState","setSelectedHourState","allColumns","setAllColumns","setTachoTableType","_loggedUser$settings","_loggedUser$settings2","_loggedUser$settings3","_loggedUser$settings4","tachoGraphColumns","onChangeHourCount","objectOfValues","stateHoursValue","coefficient","tempCounterHours","changeCountHours","setItem","_ShowColumnTool","_columns$filter","_SettingsTool","reloadTime","hoursTacho","Timeline","Optimalroute","saveRoute","cancelRoute","googleAPIKey","reloadGeofences","coor1","setCoor1","coor2","setCoor2","originalRoute","setOriginalRoute","optimalRoute","setOptimalRoute","originalPolyline","setOriginalPolyline","optimalPolyline","setOptimalPolyline","setGoogleMapsAPI","polylines","setPolylines","setWaypoints","_useState24","_useState26","showPopupInfo","setShowPopupInfo","_useState28","showModal","setShowModal","_useState30","saveOriginalOnly","setSaveOriginalOnly","formatDuration","getTotalCost","ptvRouteCost","_ptvRouteCost$total","_ptvRouteCost$total2","_ptvRouteCost$total3","_ptvRouteCost$total4","displayNameForWaypoint","useRequest","Geo","fetchKey","cacheKey","staleTime","cacheTime","_route$waypoints","_route$originalRoute","firstPoint","lastPoint","saveEditingRoute","getOptimalRoute","getOriginalRoute","usePolyline","editedPolyline","dragLat","dragLng","API","disableOverwrite","routeOptions","tollOptions","useDetailedToll","returnZeroCosts","emissionOptions","valueScenarios","$type","scenarios","resultFields","emissions","tourReport","nodes","eventTypes","tollSummary","systems","monetaryCostsReport","arrPoints","_originalRoute$points","geodesic","_optimalRoute$points","onFirstLocationSearch","onSecondLocationSearch","resultID","foundIndex","closeOnEscape","closeOnDimmerClick","libraries","onDragWaypointClick","OptimalRoutesTable","optimalRoutes","editRoute","removeRoute","_record$optimalRoute","_record$optimalRoute2","_record$optimalRoute3","diffDistance","diffDuration","diffCost","Index","editingOptimalRoute","_OptimalRoute","_OptimalRoutesTable","DispatchersFilter","dispatchers","GroupFilter","noGroupOption","_ref$indentSize","indentSize","groupsOptions","paddingLeft","noneSelected","StatusFilter","showFreezerFilter","showDoorFilter","showTaxiFilter","_header","TypeFilter","vehiclesTypes","VehicleList","userType","statusFiltersDefault","vehiclesTypeFilterDefault","groupsFilterDefault","dispatchersFilterDefault","onFilterChange","saveMapFilter","hasSensorDoorModule","hasTaxiModule","mapMarkerText","_ref$itemHeight","itemHeight","setSearch","statusFilters","setStatusFilters","vehiclesTypeFilter","setVehiclesTypeFilter","setGroupsFilter","setDispatchersFilter","showList","setShowList","isMobile","useResponsive","lg","vehiclesIDsWithoutGroup","groupsIDs","vehiclesGroupsIDs","showGroupFilter","showVehiclesTypesFilter","showDriverName","vehiclesWithDriverName","getUserName","showText","vehGroupID","grpID","_useVirtualList","useVirtualList","containerProps","wrapperProps","scrollTo","managers","_data","previousVehicles","currentVehicles","_StatusFilter","_TypeFilter","vehiclesType","_GroupFilter","selectedGroupsIDs","isSelection","childIndexInSelection","selectGroups","onGroupsFilterChange","_DispatchersFilter","dispatchersIDs","overflow","_item$location","_item$location2","_item$location3","_item$location4","_item$ptvDetails","_item$ptvDetails2","isLastWp","removeWpIdx","itemTypeLabel","_WAYPOINTS_TYPES","WAYPOINTS_TYPES","routeColor","getRouteColor","isDislocation","iconClassName","_fa","FaFlag","getWaypointTimestampByPriority","_bs","BsFuelPumpFill","getFuelLevel","onMouseEnter","textContent","onMouseLeave","DURATION_FORMAT_HHMM","ptvDetails","ONLY","_antd","Waypoints","disabledDragDrop","showOdometers","showCustomID","_uniqBy","_waypoints$map","flat","_reactDragListview","nodeSelector","onDragEnd","fromIndex","toIndex","firstWaypoint","lastWaypoint","lineClassName","_Item","isFirstWp","refShowDisabled","columnsState","showDisabled","setColumnsState","setSearchTxt","setShowDisabled","searchVal","setSearchVal","getColumns","COLUMNS_E_TRANSPORT","DropdownMenu","handleClickItem","data-value","getOptions","opCode","OPTIONS_OPERATIONS_TYPE","getSELTypeOptions","OPTIONS_PTF","OPTIONS_COUNTY","getCCByOpCode","OPTIONS_UM","OPTIONS_TARIFF_CODE","OPTIONS_DOCUMENTS_TYPE","isDateTime","onOperationChange","regExp","isRegExp","minLength","isLength","isValidate","isDate","isSelect","_Select","isPropReq","ModalGood","extraKeys","operationCode","optionsOperationPurpose","getOptionsOperationPurpose","extraReqKeys","productName","TableDocuments","_errors$documents","setDocuments","editing","setEditing","COLUMNS_DOCUMENTS","alignItems","justifyContent","renderBodyRow","getColumnDisplayPopup","selectable","celled","_ModalDocument","TableGoods","_errors$goods","goods","setGoods","COLUMNS_GOODS","handleEdit","_ModalGood","GEN_PROPS","ModalUit","setError","getOnly","setRecord","startLocationType","endLocationType","uit","_TableGoods","_TableDocuments","ModalUitChange","ModalUitExisting","columnFilters","setColumnFilters","isRemoving","setIsRemoving","accessorKey","cn","accessorFn","_r$original","short","dateTransportation","activatedAt","disabledAt","_r$lastModifications","lastModifications","_row$original3","_r$scheduledModificat","_row$original4","filteredCols","cs","enableColumnFilter","enableSorting","filteredBySearch","_i$lastModifications","valueFilter","_find3","valueItem","filterFns","onColumnFiltersChange","_row$original5","computedClassName","multiplier","half","MarkerWaypoint","_waypoint$location","_waypoint$location2","_purpose","hideDetails","MarkerRoadShield","onMouseMove","COLUMNS_PARTNERS","validateBoolean","OPTIONS","ModalPartners","editTruck","editSMRS","editLocations","editTransporter","editAllUits","subcontractor","customer","useAsync","geofenceIDs","asyncIntervals","runAsyncInterval","cb","intervalIndex","setAsyncInterval","clearAsyncInterval","callback","delay","savedCallback","_tick","handler","clearAllErrors","showGeofenceShape","shapes","setShapes","GoogleMap","controlPosition","dependencies","dragMarkerOptions","onPolylineEditEnd","onChangeSegmentType","dragMarker","potentialSegment","indexOfSegment","_index","polylineOptions","pageRef","_useFullscreen2","useFullscreen","isFullscreen","toggleFull","setMapsAPI","uiWaypoints","setUiWaypoints","dragWaypoints","setDragWaypoints","setSelectedRoute","selectedVehicleDimensions","setSelectedVehicleDimensions","selectedSegments","setSelectedSegments","setClearSaveOrderTimestamp","uiWaypoint","_vehicleDimensions","_vehicleDimensions2","_selectedGroup$raw","_selectedGroup$raw2","_vehicleGroup$raw","_truckFromVehicleGrou","_truckFromVehicleGrou2","_truckFromVehicleGrou3","truckFromVehicleGroup","router1a","router2","router3","requestProfile","featureLayerProfile","themes","vehicleProfile","totalPermittedWeight","formatResult","parseRoute","calculationCriteria","waypointSegments","chunkArray","useInterval","immediate","segment","_router1a$fetches","_router2$fetches","_router3$fetches","segmentIndex","categorizeSegment","newSegmentsArray","foundByDistance","minBy","foundByPrice","_object$cost","fountByDuration","proposedRoutes","routesBySegment","_i","_entries","tempSelectedSegmentsArray","_tempSelectedSegments","typeOfSegment","showTypeOfRoute","_route$path","_route$toll$sections","_segment$toll","_segment$cost","_segment$cost2","_segment$cost3","_segment$cost4","_segment$cost5","_route$events","verifyTheSegment","clickable","reloadVehicleGroups","reloadOrderProperties","reloadAll","addTransportOrder","ordersTmsTransport","addFreightOrder","addPlannedRoute","plannedTmsRoutes","_prop$raw$dataType","vg","_vg$raw","_vg$raw3","_vehicles$find2","_vg$raw2","_vehicle$raw4","_vg$raw4","onPolylineEdited","onVehicleClick","updateSegmentArrivalAndDepartureDates","dates","calculateTotalDuration","onOrderSave","_order$properties","plannedRoute","freightProperties","transportProperties","t0","t1","plannedRouteID","_selectedRoute$segmen2","expected_duration","departure_planned","arrival_planned","useMapControl","Dimmable","dimmed","Segment","_Timeline","itHasEmptyInput","relaxed","_RouteCard","_SaveOrder","mapTypeControl","findLastIndex","hasLocation","_tempSelectedSegments2","onWaypointClick","_waypoint","chunkSize","begin","_response$cost","_response$cost2","_response$cost3","_response$cost4","_response$toll","_event$location","_event$location2","integrationTokenExpiration","sync","existing","setExisting","lastSyncDate","setLastSyncDate","isSyncDisabled","setIsSyncDisabled","handleSync","setInterval","clearInterval","_Filters","_Table","_ModalUit","_ModalUitChange","_ModalUitExisting","getIntegrations","updateIntegration","getSharedIntegrations","getClients","reloadSession","getGroups","setIntegration","sidebar","setSidebar","setDivisions","ResizeObserver","updateIntegrationsPageWidth","sidebarWidth","offsetWidth","appWidth","integrationsPage","_group$raw","_group$raw2","_reactSplide","Splide","gap","perMove","autoWidth","SplideSlide","_EditableCard","_ModalWindow","getSharedIntegration","_data$options","typesOptions","vehicleStatusOptions","setSelectedTypes","selectedStatus","setSelectedStatus","maintenanceRules","vehiclesAndUsers","theVehicles","asset","assetType","theUsers","chain","maintenanceRule","groupedMaintenances","groupedMaintenanceRules","upcomingMaintenances","hasSpecificRule","filteredRules","targetTime","alertTarget","alertDeadline","isSameOrBefore","isBefore","upcomingMaintenance","deadlineText","displayText","importance","orderBy","upcomingMaintenancesCount","countBy","reloadDevices","reloadMaintenances","reloadMaintenanceRules","addItem","updateMaintenance","removeMaintenance","addMaintenance","saveMaintenance","old","companyData","forIn","deleteMaintenance","_MaintenanceEntitiesTable","Meta","_MaintenancesTable","companySettings","setScope","reloadGroups","createMaintenanceRule","updateMaintenanceRule","removeMaintenanceRule","saveRule","deleteRule","onAddButtonClick","defaultEmail","_MaintenanceRulesTable","globalFilter","setGlobalFilter","_window","validUntil","minSize","gridTemplateRows","gridColumn","_RTable","onGlobalFilterChange","_ModalTemporaryLink","hardcodedStyle","getTotals","emptyQuote","loadedQuote","includeTolls","_leg$cost","tollSections","totalQuote","_totalQuote","totalQuoteArr","_Object$entries","_leg$cost2","_Object$entries$_i","Details","_totals$distance","_totals$cost","_totals$emptyQuote","_totals$loadedQuote","_totals$totalQuote","_useStoreState","fastQuote","distanceTooltip","getDistanceTooltip","parsedLegs","splittedLegs","shouldSplitRoutes","_r$details","_r$details2","waypointID","totalRoutesDetails","legDiff","DURATION_FORMAT_DDHHMM","totalQuoteTooltip","_leg$distance","_leg$cost3","_leg$cost4","_leg$cost5","_leg$cost6","Map","mapLocationPicker","handleLocationSelectFromMap","refPolylines","refWeight","userLocale","waypointsWithDurations","addWp","setRoutes","setPtvProfile","createTemporaryLocation","createTemporaryFromPTV","getPTVLocation","ptv","mapGoogle","setMapGoogle","menuLocation","setMenuLocation","roadMarkers","setRoadMarkers","violatedMarkers","setViolatedMarkers","region","togglePolylinesWeight","_refPolylines$current","_refPolylines$current2","createPolyline","isViolation","_route$details","plain","mapPolylines","violated","getViolated","_reduce","_reduce$r","_reduce$m","violatedPolylines","filteredWaypoints","_i$latlng","_i$latlng2","_e$latLng","handleClick","ptvLocation","handleAddViaPoint","_result$properties","turf","lineString","_i$latlng3","_i$latlng4","nearestPointOnLine","_SettingsPTV","routesRoadNumbers","getRoadNumbers","roadShields","ac","handleShowRoadNumbers","BsShieldSlash","BsShield","_SettingsFastQuote","onDrag","reroute","ptvProfile","showPTVProfile","_MarkerWaypoint","_MarkerStationary","reasons","_i$latlng5","_i$latlng6","_RoadShield","_MenuLocation","SearchBar","refInput","getPTVLocations","loadingSuggestions","setLoadingSuggestions","setParams","setPrefix","useDebounce","wait","_location","handleParamChange","_obj$text","handleClear","handleSelect","_item$address","_item$address2","getType","labelPosition","onKeyDown","_refInput$current","_refInput$current2","updateSetting","_useToggle2","useToggle","AiFillEuroCircle","AiOutlineEuroCircle","updatePtvProfile","handleSave","_Vehicle","FaBan","Vehicle","EMISSION_STANDARDS","NUMBER_OF_AXLES","EMISSION_TECHNOLOGIES","STORED_PROFILES","SettingsPTV","usePTVTruckAttributes","FaCaretUp","FaCaretDown","_Details","FastQuote","updateWp","pathname","handleAddWp","_Search","_Waypoints","allowRemoveAll","disabledRemove","skipUpdateApiFL","_Map","styleHack","MapShared","_window2","isExpired","getVehicles","setUrlGoogleMapKeys","setID","setSelectedVehicleID","useAsyncInterval","alt","_SharedVehiclePopup","_useLocalStore2","useLocalStore","mapStatusFilters","mapVehiclesTypeFilter","mapGroupsFilter","mapDispatchersFilter","mapMarkerSize","mapMarkerBigTopText","mapMarkerBigBottomText","mapGeofenceShapeVisibility","mapToggledMarkerVehicles","reloadTemporaryAlerts","saveSession","setMapStatusFilters","setMapVehiclesTypeFilter","setMapGroupsFilter","setMapDispatchersFilter","setMapMarkerSize","setMapMarkerText","setMapMarkerBigTopText","setMapMarkerBigBottomText","setMapGeofenceShapeVisibility","onVehicleListChange","setFilteredVehicles","onVehicleListFilterChange","setSelectedVehicle","onVehicleListClick","onClickMarker","dragging","arrDirections","xLng","east","west","yLat","north","south","setPopupDirection","onRightClickMarker","getRoute","hoursBack","_useBoolean2","useBoolean","isSettingsOpen","toggleSettingsOpen","_Control","setShowTraffic","typeId","setMapTypeId","mapZoom","toggleShowGeofenceShape","visiblility","isValidGeofenceVisibility","useGeofence","setVehicles","updateSelectedVehicle","setGeofences","setCurrentUser","setUsers","initialBounds","firstLoadVehicles","setFirstLoadVehicles","_VehicleList","layerTypes","layers","onBoundsChange","marginBounds","setBounds","setMapZoom","setDragging","stationaryPoints","markerStationary","visibleVehicles","_VehiclePopup","updatedVeh","setRoute","stationaryRoute","geodesicPolyline","thunk","$where[>=][start_time]","$where[<=][start_time]","_ModalPartners","reloadCompany","updateCompany","dailyTargetDistance","setDailyTargetDistance","dailyTargetDis","oneDayInMs","updateGroup","_currentGroup$raw","currentGroup","savePeriodFilter","getCompany","setV","cloneDeep","hasChanges","_MyCheckbox","groupsV2","setSelectedGroup","sortedGroups","isCompany","hashG","hashV","getOptionValue","getOptionLabel","tab","alignContent","MyCheckbox","fistKey","OPTIONS_DISABLE_DATE","chk","_Automatize","_AutoSync","removeData","setRemoveData","maxDataAge","setMaxDataAge","_company","_setCompany","age","dataRemovalScope","dataMaxAge","_replaceableGird","gutter","Col","span","spanMap","6","7","8","9","10","11","12","marginHorizontal","paddingHorizontal","_Checkbox","tabindex","GeneralSettingsPage","disabledAddButton","setDisabledAddButton","isLoadingClientProperties","reloadClientProperties","createClientProperties","updateClientProperties","removeClientProperties","isLoadingOrderProperties","createOrderProperties","updateOrderProperties","removeOrderProperties","orderStatusTms","isLoadingOrderStatus","reloadOrderStatus","createOrderStatus","updateOrderStatus","removeOrderStatus","combinedTransportCost","isLoadingCombinedTransportCost","reloadWithPageAndCountOfResults","updateCombinedTransportCost","isLoadingOptimalRoutes","reloadOptimalRoutes","createOptimalRoutes","updateOptimalRoutes","removeOptimalRoutes","setEditingOptimalRoute","addingNewOptimalRoute","setAddingNewOptimalRoute","newOptimalRoute","searchTransportCost","setSearchTransportCost","searchStatus","setSearchStatus","combinedStatuses","combinedTransportCostData","editOptimalRoute","saveOptimalRoute","removeOptimalRoute","_TmsPropertyTable","_TmsStatusOrderTable","_CombinedTransportCostTable","_TmsOptimalRoutes","_generalSettings","createClient","removeClient","isLoadingClients","_newItem$raw","_newItem$raw2","newProperties","propertyIndex","isLoadingMemo","renderExpand","_ContactPersonsTable","rowIndex","_ClientsTable","_selectedTransport$tr5","_selectedTransport$tr6","_selectedTransport$tr7","_selectedTransport$tr8","_ordersTmsFreight$","_ordersTmsFreight$2","_lastFreight$waypoint4","orderStatuses","reloadOrderStatuses","plannedRoutes","reloadPlannedRoutes","reloadEventsWithPeriod","selectedTransport","setSelectedTransport","selectedTransportVehicleGroup","setSelectedTransportVehicleGroup","attachmentsArray","setAttachmentsArray","statusTimelineArray","setStatusTimelineArray","historyHours","setHistoryHours","setVehiclesIDs","historicRoute0","setHistoricRoute0","historicStationaries0","setHistoricStationaries0","historicRoute1","setHistoricRoute1","historicStationaries1","setHistoricStationaries1","createdBy","timelineFilters","setTimelineFilters","orderID","transport_order_id","_ordersTmsFreight","_selectedTransport$tr","_lastFreight$waypoint","_lastFreight$waypoint2","_lastFreight$waypoint3","lastFreight","transportCreatedAt","lastFreightArrivalTimestamp","filteredEvents","_event$raw","_selectedTransport$tr2","_selectedTransport$tr3","_selectedTransportVeh","attachmentsArrayTemp","_freight$raw","_freight$raw2","_freight$raw3","_freight$raw4","filteredByAuthor","_event$raw2","_event$raw3","triggeredBy","filteredByType","_event$raw4","_event$raw5","_event$raw6","_event$raw7","intersectionBy","generateRandomColor","getDriverFullName","defaultTo","findFreightDeparture","_freight$waypoints","findFreightArrival","getHistory","_statusesTransportSou","statusesTransportSource","_selectedTransport$tr4","_order$raw","_timelineHeader","_timeline","_selectedTransport$tr9","_selectedTransport$tr10","_selectedTransport$tr11","_selectedTransport$tr12","_freight$raw5","_freight$raw6","_freight$raw7","_freight$raw8","_freight$raw9","_freight$raw10","_freight$raw11","_freight$raw12","_freight$raw13","_freight$raw14","_freight$raw15","_freight$raw16","_freight$raw17","_freight$raw18","_freight$raw19","_freight$raw20","_freight$raw21","_freight$raw22","_event$raw11","_event$raw12","_event$raw13","_event$raw14","_event$raw15","_event$raw16","_event$raw17","_user$raw2","status_name","_event$raw8","_event$raw9","_event$raw10","showStatusType","onFocus","blur","reloadCombinedTransports","reloadCombinedTransportsWithPeriod","createOrderTransport","updateOrderTransport","removeOrderTransport","updateOrderTmsFreight","isLoadingVehicleGroups","isLoadingGroups","isLoadingUsers","isLoadingVehicles","setOrdersTmsFreight","periodState","setPeriodState","showedPeriodState","setShowedPeriodState","selectedSource","setSelectedSource","setSelectedUser","onAddFreight","setOnAddFreight","setOnRemoveFreight","_transport$raw","newFreight","_selectedTransportOrd5","_transport$raw2","_userGroup$raw","userGroup","_order$raw$freightOrd","assignedTo","_ordersTmsTransport$f","_transport$raw3","_old$raw","saveFreightRule","_callee4","_newItem$raw3","_newItem$raw4","_context4","Status","_x5","_x6","orderTransport","_orderTransport$raw","usersOptions","_user$raw3","_user$raw4","freightOrderByTransportOrderID","_selectedTransportOrd6","freightOrdersArray","_loop2","_freightOrderByTransp","_data$row$id$raw2","_data$row$id$raw3","_data$row$id$raw","_FreightOrdersTable","googleAPI","_OrdersTable","setGoogleAPI","_reactWrapper","Wrapper","apiKey","loader","SUCCESS","removePlannedRoute","_RoutesTable","createVehicleGroup","updateVehicleGroup","removeVehicleGroup","isLoadingVehiclesGroups","getVehicleGroups","formattedVehicleGroups","_VehicleGroupsTable","TachoWidget","_ref$dashboard","_userTachograph","_vehiclesTachograph","fiveMinutesInMs","oneHourInMs","UserTachograph","_ref$limit","userTachoGraph","reloadUserTachoGraph","isLoadingUserTachoGraph","backupData","setBackupData","actionOnColumns","setActionOnColumns","setCoutHours","stateHours","_driverReport$activit","driverReport","showVehicleLicensePlate","driverFullname","showDriverFullName","parseDriverActivities","driverLastName","driverReports","driverFirstName","findCssClass","recoveriesWeeks","recoveries","_recoveries$key","_recoveries$key$reduc","_recoveries$key$recov","_recoveries$key$reduc2","_recoveries$key$recov2","_recoveries$key$reduc3","_recoveries$key$recov3","_recoveries$key$recov4","_recoveries$key$reduc4","completeWeeklyRest","reducedWeeklyRest","recoveredWeeklyRest","case","reducedWeeklyRestElements","reducedWeeklyRestArray","_recoveries$week","_recoveries$week$redu","showDate","weekDetails","_weekDetails$complete","reducedStart","_weekDetails$complete2","reducedDuration","showRecoveryState","showRecoveryDate","recoveryStart","showRests","lastRests","lastRestsArray","complementaryStart","complementaryEnd","complementaryDuration","ShowRestType","startTimestamp","numberOfDays","_vehicles$find3","showVehicleOdometer","_Chart","driveLeftDay","driveLeftWeek","_props$data$props$row9","_props$data$props$row10","_props$data$props$row11","amplitude","remainTime","_props$data$props$row12","_props$data$props$row13","dayCycleCount","_props$data$props$row14","ShowIconForOverDrive","overDrive","_props$data$props$row15","ShowIconForAmpliture","_recoveriesWeeks$","_reducedWeeklyRestEle","_reducedWeeklyRestEle2","_recoveriesWeeks$2","recovery","durationRemains","_allColumns$index","LSValue","VehiclesTachograph","vehicleTachoGraph","ShowRecoveries","arrayOfDrivers","overDriveObject","arrayOfBullets","_overDriveObject$key","_overDriveObject$key2","ShowOverDrivePerCrew","restsObject","arrayOfRests","rests","ShowRestsPerCrew","_Object$keys","_Object$keys2","_defineProperties","_classCallCheck","_config","_get","_req","_put","_post","_x7","_x8","_patch","_x9","_x10","_x11","_upload2","_callee5","fileParam","progressCallback","responseIsBlob","apiVersion","_context5","_upload","_x12","_x13","_x14","_x15","_x16","_x17","_x18","_this$_config$host","hostArr","hostWithoutVer","onreadystatechange","oEvent","readyState","_uploadFile","_callee6","formData","_context6","fetch","json","_x19","_x20","_downloadFile","_callee7","_context7","_x21","_delete2","_callee8","_context8","_x22","_x23","_req2","_callee9","queryString","_result$","_context9","serializeQueryParams","Accept","Content-Type","_x24","_x25","_x26","_x27","_cache","_reverseGeocode","out","house_number","road","city","village","town","i18next","Backend","initReactI18next","backend","loadPath","ns","defaultNS","fallbackLng","fallbackNS","interpolation","escapeValue","thunks","onStart","actionOn","_actions$t","startType","onSuccess","_actions$t2","successType","onFail","_actions$t3","failType","endpoint","updateItem","uniqueId","removeItem","refresh","Class","responseKey","newItems","ep","onThunkAction","upperFirst","arrayOfModels","createStore","_arrayOfModels","_state$model","_i2","_arrayOfModels2","_state$model2","_state$model3","_i3","_arrayOfModels3","_state$model4","ConnectyCube","CONFIG","streamManagement","playSound","audio","pause","currentTime","loop","play","typingResponsable","allMessagesLoaded","setShowChat","setEnvironment","setUnreadMessages","setCCUser","addDialog","setDialogs","setTypingDialogs","setDialog","_value$opponentsIDs","setLoadingDialogMessages","setAllMessagesLoaded","setMessages","setPage","onLogin","thunkOn","refreshDialogs","getAllUsers","onSessionConnectionStateChangedListener","connectionState","onMessageListener","onMessageTypingListener","onSentMessageCallback","messageLost","messageSent","onSentMessageListener","onDeliveredStatusListener","mID","dID","onReadStatusListener","videochat","onCallListener","onAcceptCallListener","onRejectCallListener","onStopCallListener","onUserNotAnswerListener","onRemoteStreamListener","remoteStream","resetDialog","getState","dialogUnreadMessages","newDialog","updatedDialog","dialogPos","_response$items","conversation","messagesIDs","newConversationMessages","chat_dialog_id","sort_desc","skip","_item$read_ids","sendReadStatus","messageId","dialogId","getUnreadMessages","getStoreState","allTrkUsers","ccIDs","promisesRes","ccUsers","chunk","per_page","param","_ref11","addLocalMessage","_ref12","_ref13","_message$extension","_message$extension2","_message$extension3","dialog_id","last_message_id","_ref14","_ref15","openedDialog","incrementUnread","_message$extension4","_ref16","_ref17","_ref18","_ref19","_getState$dialog","_ref20","_ref21","_getState$dialog2","_ref22","_ref23","_dialogs$find","idxOccupant","_ref24","_ref25","SessionConnectionState","DISCONNECTED","_ref27","_ref26","_ref29","_ref28","_ref32","_callee10","_ref30","_ref31","_ref30$attachmentID","_context10","save_to_history","markable","_ref34","_callee11","_ref33","_resAttachment$attach","resAttachment","attID","att","_context11","setCurrentCall","setIncomingCalls","setShowRejectedModal","setShowCallingModal","_ref35","_callee12","_ref36","calleesIds","sessionType","additionalOptions","mediaparams","localStream","_currentCall","_args12","_context12","CallType","VIDEO","AUDIO","createNewSession","video","getUserMedia","attachMediaStream","ID","sendNotification","userIDs","messageBody","_x28","_ref38","_callee13","_ref37","_context13","_x29","_x30","_x31","_ref40","_callee14","_ref39","anotherCalls","_context14","_x32","_x33","_x34","_ref42","_callee15","_ref41","_context15","_x35","_x36","_x37","_ref45","_callee16","_ref43","_ref44","_currentCall$session","_extension$user","_getState","alreadyCalling","inCalling","_context16","currentUserID","initiatorID","mediaParams","callType","_x38","_x39","_x40","_ref47","_callee17","_ref46","_context17","_x41","_x42","_ref50","_callee18","_ref48","_ref49","_currentCall$session2","_context18","_x43","_x44","_x45","_ref53","_callee19","_ref51","_ref52","_context19","_x46","_x47","_x48","_ref56","_callee20","_ref54","_ref55","_context20","_x49","_x50","_x51","_ref58","_callee21","_ref57","_context21","_x52","_x53","_ref61","_callee22","_ref59","_ref60","_getState2","pushParameters","_context22","notification_type","pushnotifications","base64Encode","ios_badge","_x54","_x55","_x56","_ref63","_callee23","_ref62","credentials","tokenID","logedChatUser","_context23","createSession","login","password","connect","_x57","_x58","ClientProperties","_createClass","ListModel","Client","ENDPOINT","_getStoreState$sessio","setCompany","_args","Events","getWpHash","nWp","_getStoreActions$vehi","_vehicle$status","getStoreActions","fq","_fq$includeTolls","arrCoordinates","locationPTV","defaultPtvProfile","setEmptyQuote","setLoadedQuote","setIncludeTolls","getLanLngFromArray","processStuff","isNr","computeStuffOnWpsChange","effectOn","change","_change$current","wpsHashes","rts","pair","_i$custom","setWaypointsWithDurations","setLegs","getPTVRoute","wps","tempWpsWithDuration","firstLoadWpIdx","lastLoadedWpIdx","toastID","requests","isReqIdx","wpsWithDurations","_r$custom","calculateWaypointsDurations","getFirstLoadedWpIdx","getLastLoadedWpIdx","_waypoint$custom","isSplit","isRouteTemplate","isNotManned","manned","_start$custom","existingRoute","getItemStoreOrAPI","latlngPath","_r$custom2","_r$route","_r$route2","omit","getRouteTypeByWaypointPurpose","_i$waypoints","computeLegDetails","_moment$tz$zonesForCo","province","district","subdistrict","street","houseNumber","formattedAddress","county","gmt","zonesForCountry","_i$toLowerCase","_i$toLowerCase2","streetNumber","_first","_location$geometry","wp","_wps","isStart","prevWp","nextWp","ts1","locationID","plannedArrivalAt","customerRequestedArrival","_wp$location","_oldWp$latlng","_oldWp$latlng2","_newWp$latlng","_newWp$latlng2","_getState3","wpIdx","newWp","oldWp","oldWpCoordsHash","newWpCoordsHash","_getState4","_item$custom","filteredWPS","_i$custom2","FerryCost","Event","Geofence","coordsToLatLngs","setSpv","setGoogleAPIKey","setAssetsPath","Integration","MaintenanceRule","Maintenance","Route","_this$originalRoute","_this$optimalRoute","_this$originalRoute2","_this$optimalRoute2","_this$originalRoute3","_this$optimalRoute3","oldItemIdx","OrderProperties","$where[order_type]","OrderStatus","OrdersTmsFreight","OrdersTmsTransport","sourceQuery","assignedToQuery","listModel","PlannedRoute","PlannedTmsRoute","_params$doNotShowMess","doNotShowMessage","distanceOnly","customProfile","userPtvProfile","overwriteResultFields","mapLanguage","routingProfile","tollPenalty","violations","timeConsideration","effectiveFuelConsumption","actualFuelConsumptionForThisRoute","_get2","_i$location","_i$location2","_response$results","searchOptions","outputCountryType","allowedCountries","parsePTVLocation","_response$results2","_state","storeState","hasModule","hasPage","hasChatAccess","_state$user","_state$user2","hasRequiredUserType","hasChatModule","setToken","setTokenID","SharedIntegration","TemporaryAlert","setIsExpired","getVehicleStatus","TransportOrder","goodsTotal","netWeight","valueRonWithoutTVA","getModifVeh","modifVeh","setDays","_getStoreActions$inte","integrationETransport","expirationDate","setIntegrationTokenExpiration","nowDate","vID","arrayOfParams","User","VehicleGroup","manualState","vehiclesWithDevices","a1","a2","array1Sorted","array2Sorted","pairs","_columnsState","columnValue","displayPopup","isObject","showUnits","timeUnit","withFormat","withoutFormat","monthString","purposesIDs","OPTIONS_LOCATION_TYPE","getRowStatus","isPartner","onlyEu","onlyNonEu","euCountries","CCs","OPTIONS_GOODS_PURPOSE","OPTIONS_STARE","hdrTKey","_moment2","lastModif","storedProfile","electronicTollCollectionSubscriptions","axle","numberOfAxles","legalCondition","isDelivery","emissionStandardEU","emissionTechnology","_location$address","_location$address2","_location$address3","_location$address4","_location$referenceCo","_location$referenceCo2","referenceCoordinate","coor","arrLatLngs","userLanguage","ignoreFuelsSensors","camelCase","translationRef","_distance","parsedDistance","activityDistance","activityTime","colorRoads","HOUR_IN_SECONDS","getWpTimestamp","_w$customerRequestedA","_w$customerRequestedA2","getDislocationTimeBeforeFirstLoad","_dislocation$customer","_dislocation$customer2","_firstValidWp$custome","_firstValidWp$custome2","dislocation","dislocationTSValue","estimatedArrivalAt","firstValidWpIdx","firstValidWp","firstValidWpTS","getPTVDetails","_ptv$toll","_tollSummary$costs","_tollSummary$costs2","tollCostValue","tollCostDisplay","tollCostPopup","_i$convertedCost","_i$convertedCost2","convertedCost","fuelLvlFromFirstWp","_ref$fuelLevel","_fuelLevelStart","_ref$fuelCapacity","fuelLevelStart","copyRoutes","hasRoutes","_waypoints","startTrip","newTS","dislocationTS","_prevWp$customerReque","_prevRoute$details","_w$customerRequestedA3","_w$customerRequestedA4","_route$details2","isEndDislocation","startRequested","prevRouteTravelTime","customerRequestedArrivalValue","considerCustomerArrival","_w$customerRequestedA5","_prevWp$customerReque2","customerReq","prevDiff","plannedFuelLevel","overwriteFuelLevel","fuelLevelLeave","_routes$","_leg$from","_leg$to","_leg$from2","_leg$to2","splitWpIdx","lastUnloadingWpIdx","templateWpIdx","colorIdx","_routeTypes$find","_w$customerRequestedA6","_w$customerRequestedA7","routeDistance","distanceFromStart","_route$details3","_route$details4","numberEvents","_i$roadAhead","roadAhead","roadNumber","numbers","_i$coordinate","_i$coordinate2","roadName","halfDistance","along","lineSlice","middlePoint","_route$details5","_route$details6","violationsStart","accessType","_from$violatedFeature","_poly$geometry","relatedEventIndex","filteredReasons","violatedFeature","isMaxWeight","_isMaxWeight$","letter","omission","seed","floor","sin","arrFileName","audioExtension","imagesExtension","Router","locationType","metrics","didTransition","_trackPage","scheduleOnce","trackPage","ApplicationRouteMixin","tokens","makeArray","newLanguage","persist","setTimeZone","isInitialized","_loadCurrentUser","afterModel","sessionAuthenticated","_arguments","_setupReact","getActions","ReactAPIService","reconfigure","connectyCubeCredentials","supportedLngs","activate","willTransition","transition","targetName","appLocale","appNewLocale","aclMixin","setupController","pollServerForChanges","cleanup","modelFor","controllerFor","_model$vehicles","_model$users","vehiclesLength","usersLength","selectAllVehicles","setContractedMenu","UnauthenticatedRouteMixin","decodeURI","lockOptions","autoclose","allowSignup","rememberLastLogin","auth","redirect","configurationBaseUrl","showLock","maintenancesRules","viewGeofence","editGeofence","deleteGeofence","resetController","controller","isExiting","_mainThis","allowNew","allowEdit","getChildrens","refreshModel","getPeriods","periods","newTimetable","isVehicle","newGlobal","companyUsers","refreshRoute","history","replaceState","transitionAborted","contexts","intent","vehicleIdChanged","dayDiff","calcMonthDifference","abort",">=","start_time","<=","titleToken","startOfFrom","startOfTo","paramsFor","onActivate","allowLogin","allowSignUp","initialScreen","RESTSerializer","primaryKey","keyForRelationship","relationship","normalizeArrayResponse","primaryModelClass","_addDefaultSettings","normalizeSingleResponse","_json$settings","countryCostsNew","payloadKeyFromModelName","modelNameFromPayloadKey","JSONSerializer","auxHeatingTime","Service","geoService","cacheAddresses","cache","AjaxService","onerror","CookiesService","triggerHack","aModules","aPages","mapFullScreen","exportLiveStatus","showReportImportParser","showDetailedRouteReport","module","hasMapAccess","mapRoutes","mapEta","createGeofence","triggerColumns","reportsColumns","rc","report23","reps","liveStatusColumns","ordersColumns","clientsColumns","rep","exceptionalErrors","searchFor","_checkForExceptions","exception","do","jForm","GoogleMapsAPIService","buildGoogleMapsUrl","_autocompleteToken","travelMode","DirectionsService","autoCompleteService","locationBias","formatted_address","getGeocode","placeID","forceRefresh","AutocompleteSessionToken","eventInterval","schedulePollEvent","onPollEvent","managementObjects","reportsObjects","infoTranslationKey","reqPage","valuePath","checkboxValuePath","dropdownValuePath","translationUnitKey","allowImport","downloadDisabled","downloadCsvExcelOnly","printDisabled","drivingObjects","downloadPdfOnly","settingsObjects","dispatchObjects","tmsObjects","rerObjects","eTransportObjects","contracted","showFilters","numberOfModules","counter","messaging","makeReports","makeDriving","makeDispatch","makeTMS","makeETransport","makeRer","makeManagement","makeSettings","hasMap","hasETransport","hasReports","hasDriving","hasDispatch","hasTms","hasRer","hasManagement","hasSettings","opt","allReports","allDriving","eTransportPagesAccess","allRer","allManagement","allSettings","newMessage","websocket","selectedDay","messageReceivedCallback","viewIsVisible","pendingMessages","messageToken","sortedMessages","message1","message2","opts","resetNewMessage","fetchThreads","initWebsockets","_processPendingMessages","getThreadMessages","message_thread_id","created_at","showView","hideView","onSocketOpen","socket","_processReceivedMessage","messageData","messageThreadID","messageProcessor","userOnline","userOffline","receivedMessage","updatedMessage","addedNewMessageThread","closeWebsockets","startedTyping","uid","stoppedTyping","userAdded","userRemoved","deletedMessageThread","selectedMessageThreadId","messageThreadId","onSocketMessage","onSocketClose","WebSocket","websockets","onopen","onmessage","onclose","userIds","userIdsCopy","threadUserIs","arrayDiff1","arrayDiff2","callbackName","callbackMethod","triggerEvent","args","eventHandler","destinationElementId","MomentService","defaultFormat","visibility","oldNotifications","newNotifications","newLength","showNewNumber","lastTT","union","_fetchNew","addObjects","newNotifs","aranged","maxLevel","currentLevel","toArange","setCurrentLevel","localLevel","checkCurrentLevel","arange","updateVehicleStatus","last_geofences_timestamp","relay_state","fuel_used","fuel_level_percent","next_geofence","next_geofence_timestamp","updated_at","initWebsocket","subVehicles","isInstantiated","startDay","endDay","selectedGeofences","vehiclesO","filtredVehiclesIDs","largeDesktopBreakpoint","desktopBreakpoint","computerBreakpoint","tabletBreakpoint","isTablet","isComputer","isDesktop","isLargeDesktop","isPortrait","isMobileChange","resolutionChanged","environmentCheck","resize","determineChangeSize","mobiles","isMobileResolutions","largeDesktopSize","desktopSize","computerSize","tabletSize","matchMedia","matches","onResize","releaseResizeHandlers","SessionService","car_min","car_offset","car_max","minibus_min","minibus_offset","minibus_max","bus_min","bus_offset","bus_max","truck_min","truck_offset","truck_max","tractor_min","tractor_offset","tractor_max","harvester_min","harvester_offset","harvester_max","construction_min","construction_offset","construction_max","trailer_min","trailer_offset","trailer_max","semi-trailer_min","semi-trailer_offset","semi-trailer_max","utility_min","utility_offset","utility_max","fuel_consumption_distanceWise","fuel_consumption_timeWise","fuelDropLimit","fuelLevelExcessiveLimit","Adaptive","Transform","deserialized","deserialize","compare","type1","typeOf","type2","spaceship","TYPE_ORDER","localeCompare","vLen","wLen","len","null","instance","function","hook","cachedValue","oldValuesMap","WeakMap","isEqualFunc","parseOptions","oldValues","changedAttrs","isFirstCall","_unused","rangeCount","getRangeAt","env","defaults","Locale","getCompiledTemplate","metaName","rawConfig","getAttribute","exports","decodeURIComponent","runningTests","require","validatorDefaultLocale"],"mappings":"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5wD,CAAAA,MAAO,WAAY4wD,MAAO,+IAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4wD,MAAO,8BAC1B5wD,CAAAA,MAAO,WAAY4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","file":"tracknamic-smb.js","sourcesContent":["'use strict';\n\n\n","import DS from 'ember-data';\nimport ENV from '../config/environment';\nimport DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';\nimport { inject as service } from '@ember/service';\nimport { isPresent } from '@ember/utils';\n\nexport default DS.RESTAdapter.extend(DataAdapterMixin, {\n\thost: ENV.api.host,\n\tnamespace: ENV.api.namespace,\n\n\tsession: service(), \n\tauthorize(xhr) {\n\t\tlet { idToken } = this.get('session.data.authenticated');\n\t\tif (isPresent(idToken)) {\n\t\t\txhr.setRequestHeader('Authorization', `Bearer ${idToken}`);\n\t\t}\n\t},\n\n\tnormalizeErrorResponse(status, headers, payload) {\n\t\tif (payload && typeof payload === 'object' && payload.errors) {\n\t\t\treturn payload.errors;\n\t\t} else {\n\t\t\treturn [{\n\t\t\t\tstatus: '' + status,\n\t\t\t\ttitle: \"The backend responded with an error\",\n\t\t\t\tdetail: '' + payload.message\n\t\t\t}];\n\t\t}\n\t}\n});\n","import ApplicationAdapter from './application'\n\nexport default ApplicationAdapter.extend({\n\tpathForType () {\n\t\treturn 'maintenance/rules'\n\t},\n\tupdateRecord (store, type, snapshot) {\n\t\tconst payload = {}\n\t\tconst changedAttributes = snapshot.changedAttributes()\n\n\t\tObject.keys(changedAttributes).forEach(attributeName => {\n\t\t\tif (attributeName === 'target' || attributeName === 'threshold') {\n\t\t\t\tpayload[attributeName] = snapshot._attributes[attributeName].attributes()\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpayload[attributeName] = changedAttributes[attributeName][1]\n\t\t\t}\n\t\t})\n\t\tpayload.entityIDs = snapshot._attributes.entityIDs\n\n\t\tconst id = snapshot.id\n\t\tconst url = this.buildURL(type.modelName, id, snapshot, 'updateRecord')\n\n\t\treturn this.ajax(url, 'PATCH', { data: { rule: payload } })\n\t},\n})","import ApplicationAdapter from './application';\nimport Ember from 'ember'\n\nexport default ApplicationAdapter.extend({\n    updateRecord: function (store, type, snapshot) {\n        var payload = {};\n        const changedAttributes = snapshot.changedAttributes();\n\n        Object.keys(changedAttributes).forEach((attributeName) => {\n            let underAttr = Ember.String.underscore(attributeName)\n            payload[underAttr] = changedAttributes[attributeName][1]\n        });\n\n        var id = snapshot.id;\n        var url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        return this.ajax(url, \"PATCH\", { data: { notification: payload } });\n    }\n});\n","import ApplicationAdapter from './application'\n\nexport default ApplicationAdapter.extend({\n\tpathForType () {\n\t\treturn 'orders/freight'\n\t}\n})\n","import ApplicationAdapter from './application'\n\nexport default ApplicationAdapter.extend({\n\tpathForType () {\n\t\treturn 'orders/status'\n\t}\n})\n","import ApplicationAdapter from './application'\n\nexport default ApplicationAdapter.extend({\n\tpathForType () {\n\t\treturn 'orders/transport'\n\t}\n})\n","import ApplicationAdapter from './application'\n\nexport default ApplicationAdapter.extend({\n\tpathForType () {\n\t\treturn 'routes/planned'\n\t}\n})\n","import ApplicationAdapter from './application'\n\nexport default ApplicationAdapter.extend({\n\tpathForType() {\n\t\treturn 'users/roles'\n\t},\n\tupdateRecord(store, type, snapshot) {\n\t\tconst payload = {}\n\t\tconst changedAttributes = snapshot.changedAttributes()\n\n\t\tObject.keys(changedAttributes).forEach(attributeName => {\n\t\t\tif (attributeName === 'acl') {\n\t\t\t\tpayload.acl = snapshot._attributes.acl.attributes()\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpayload[attributeName] = changedAttributes[attributeName][1]\n\t\t\t}\n\t\t})\n\n\t\tconst id = snapshot.id\n\t\tconst url = this.buildURL(type.modelName, id, snapshot, 'updateRecord')\n\n\t\treturn this.ajax(url, 'PATCH', { data: { userRole: payload } })\n\t},\n})\n","import ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    urlForQueryRecord(query) {\n        if (query.me) {\n            delete query.me;\n            return `${this._super(...arguments)}/me`;\n        }\n\n        return this._super(...arguments);\n    },\n    urlForCreateRecord() {\n        return `${this._super(...arguments)}/invite`;\n    }\n})","import ApplicationAdapter from './application'\n\nexport default ApplicationAdapter.extend({\n\tpathForType () {\n\t\treturn 'vehicle-groups'\n\t}\n})\n","import Ember from 'ember';\nimport Resolver from './resolver';\nimport loadInitializers from 'ember-load-initializers';\nimport config from './config/environment';\nimport * as Sentry from '@sentry/browser'\nimport * as Integrations from '@sentry/integrations'\n\n// whyDidYouRender setup\nimport React from 'react'\nimport whyDidYouRender from '@welldone-software/why-did-you-render'\nif (config.react.wdyr.enabled) {\n\twhyDidYouRender(React, {\n\t\ttrackAllPureComponents: true,\n\t})\n}\n\nlet App;\n\nEmber.$.fn.form.settings.rules.gte = function (value, min) {\n\tif (Ember.isNone(value)) { return true }\n\tlet minValue = Number(min)\n\tlet val = Number(value)\n\treturn (val >= minValue)\n}\n\nEmber.$.fn.form.settings.rules.lte = function (value, max) {\n\tif (Ember.isNone(value)) { return true }\n\tlet maxValue = Number(max)\n\tlet val = Number(value)\n\treturn (val <= maxValue)\n}\n\nEmber.$.fn.form.settings.rules.isNumberWithoutComa = function (value) {\n\tif (Ember.isNone(value)) { return true }\n\treturn (value.indexOf(',') === -1) && Ember.$.fn.form.settings.rules.number(value)\n}\nEmber.$.fn.hasScrollBar = function () {\n\treturn this.get(0).scrollHeight > this.get(0).clientHeight\n}\n\nlet sentryConfig = {\n\tdsn: config.sentry.dsn,\n\tdebug: config.sentry.debug,\n\tenvironment: config.sentry.environment,\n\trelease: config.APP.version,\n\tintegrations: [new Integrations.Ember()]\n}\nif (config.sentry.debug) {\n\tsentryConfig.dsn = undefined\n\tsentryConfig.integrations = [new Integrations.Debug()]\n}\nSentry.init(sentryConfig);\n\n// Auth0 'missing global' fix\nwindow.global = window\n\nApp = Ember.Application.extend({\n\tmodulePrefix: config.modulePrefix,\n\tpodModulePrefix: config.podModulePrefix,\n\tResolver\n});\n\nloadInitializers(App, config.modulePrefix);\n\nexport default App;\n","import Ember from 'ember'\nimport Base from 'ember-simple-auth-auth0/authenticators/auth0-lock'\nimport createSessionDataObject from 'ember-simple-auth-auth0/utils/create-session-data-object'\nimport ENV from '../config/environment'\nimport {/*isAjaxError,*/ isNotFoundError} from 'ember-ajax/errors'\nimport * as Sentry from '@sentry/browser';\n\nconst Promise = window.Promise\n\nexport default Base.extend({\n    session: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n\n    authenticate (options) {\n        var _this = this;\n        // The Auth0 service is available because this is a child class of Auth0Lock, in which it is available ... so we can do the workaround for the 2nd attempt issue\n        var auth0 = this.get(\"auth0\");\n\n        const lock = auth0.getAuth0LockInstance(options);\n        return new Ember.RSVP.Promise( function (resolve, reject) {\n            lock.on('unrecoverable_error', reject);\n            lock.on('authenticated', (authenticatedData) => {\n                if (Ember.isEmpty(authenticatedData)) {\n                    return reject(new Error('The authenticated data did not come back from the request'));\n                }\n\n                resolve(createSessionDataObject(authenticatedData.idTokenPayload, authenticatedData));\n            });\n\n            lock.show();\n        }).then(sessionData => {\n            const role = Ember.get(sessionData, 'profile.role')\n            if (['electrician', 'driver', 'vehicle'].includes(role)) {\n                throw new Error('You are not authorized to perform this action')\n            } else {\n                return _this.onAuth(sessionData, options)\n            }\n        });\n    },\n    restore (/*data*/) {\n        return this._super(...arguments)\n        .then(restoredData => {\n            return this.onRestore(restoredData)\n        })\n    },\n\n    onAuth (sessionData/*, options*/) {\n        this.setRavenUser(sessionData.idTokenPayload);\n\n        let apiHost = ENV.api.host + \"/\"+ ENV.api.namespace\n        let userData = {\n            invitationToken: this.get(\"session.invitationToken\")\n        }\n\n        return this.get(\"ajax\")\n        .request(`${apiHost}/users/me`, {\n            headers: {\n                Authorization: `Bearer ${sessionData.idToken}`\n            },\n            dataType: \"json\",\n        })\n        .then(data => {\n            if (data.user.enabled) {\n                sessionData.profile.details = data.user.details;\n                sessionData.profile.settings = data.user.settings;\n                return Promise.resolve(sessionData)\n            } else {\n                // Reject if the company account is disabled and pass the user data instead of the session so that the failure on the login route could be redirected to the account-disabled route\n                const error = new Error('Account disabled')\n                error.user = data;\n                return Promise.reject(error);\n            }\n        })\n        .catch(error => {\n            if (!isNotFoundError(error)) {\n                return Promise.reject(error);\n            }\n\n            return this.get(\"ajax\")\n            .post(`${apiHost}/users`, {\n                headers: {\n                    Authorization: `Bearer ${sessionData.idToken}`\n                },\n                data: userData,\n                dataType: \"json\",\n            })\n            .then(() => {\n                return Promise.resolve(sessionData)\n            })\n        })\n    },\n    onRestore (restoredData) {\n        this.setRavenUser(restoredData.idTokenPayload)\n\n        return Promise.resolve(restoredData)\n    },\n\n    setRavenUser (profile) {\n        Sentry.configureScope((scope) => {\n            scope.setUser({\n                authID: profile.user_id,\n                groupID: profile.groupID,\n                companyID: profile.companyID,\n                email: profile.email,\n            })\n        })\n    },\n    refreshProfile (authenticatedData, options) {\n        return new Promise((resolve, reject) => {\n            if (authenticatedData.accessToken == null) {\n                return reject(new Error('Missing access token'))\n            }\n\n            const lock = this.get('auth0').getAuth0LockInstance(options)\n\n            lock.getUserInfo(authenticatedData.accessToken, (error, profile) => {\n                if (error) {\n                    return reject(error)\n                }\n\n                resolve(createSessionDataObject(profile, authenticatedData))\n            })\n        })\n    }\n});\n","import Ember from 'ember'\n\nconst { inject: { service } } = Ember\n\nexport default Ember.Component.extend({\n    currentUser: service('current-user'),\n    session: service('session'),\n    router: service(),\n    menuService: service('main-menu'),\n    notificationsService: service('notifications'),\n    messagesService: service('messages'),\n\n    classNames: ['app-header'],\n\n    init: function () {\n        this._super(...arguments);\n        Ember.Logger.debug('currentUser', this.get('currentUser.user'));\n        this.get('notificationsService').set('showNotifications', false)\n    },\n\n    actions: {\n        toggleNotifications() {\n            this.get('notificationsService').toggleNotifications()\n        },\n\n        toggleMessages() {\n            this.get('messagesService').toggleMessages()\n        },\n\n        logout() {\n            this.get('session').invalidate();\n        },\n\n        toggleMenu() {\n            this.get('menuService').toggleMenu()\n        },\n\n        toggleFilters() {\n            this.get('menuService').toggleFilters()\n        },\n\n        back() { // TODO refactor this\n            var routeName = Ember.getOwner(this).lookup('controller:application').currentRouteName;\n            if (Ember.isEmpty(routeName)) {\n                return;\n            }\n            var previousRoute = \"\";\n            var splittedRouteNames = routeName.split('.');\n            var filteredRoutes = splittedRouteNames.filter(function (name) {\n                return name !== 'index';\n            });\n            if (filteredRoutes.length == 1) {\n                //hack: from mapdetails should redirect to map\n                if (filteredRoutes[0] == \"mapdetails\") {\n                    this.get(\"router\").transitionTo(\"map\");\n                    return;\n                }\n                this.get(\"router\").transitionTo(\"index\");\n                return;\n            }\n            filteredRoutes.forEach(function (routeName, ind) {\n                var isLastPart = ind == filteredRoutes.length - 1;\n                if (isLastPart) {\n                    return;\n                }\n                previousRoute += ((ind == 0) ? \"\" : \".\") + routeName;\n            });\n            this.get(\"router\").transitionTo(previousRoute);\n        },\n        \n        markAsRead(notification) {\n            notification.set('deletedAt', moment().toDate())\n            notification.save()\n                .then(() => {                    \n                    this.get('notificationsService').goTo(notification)\n                })\n        }\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"yK6IddZr\",\"block\":\"{\\\"symbols\\\":[\\\"notification\\\",\\\"index\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"application-header\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"user\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"back\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[9,\\\"class\\\",\\\"icon item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"back\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"back-icon icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"backToHome\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"index\\\"],[[\\\"class\\\"],[\\\"back-icon\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"back-icon icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"side\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[9,\\\"class\\\",\\\"icon item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleMenu\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"content icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"filters\\\"]],[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],[25,\\\"and\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"filtersOnTablet\\\"]]],null]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[9,\\\"class\\\",\\\"icon item filterIcon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleFilters\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"filter icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"index\\\"],[[\\\"class\\\"],[\\\"headerLogo\\\"]],{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"user\\\",[25,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"hasChatAccess\\\"]],\\\" hasChat\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"message-threads\\\"],false],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\"],[\\\"inline pointing top right\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"userEmail\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"currentUser\\\",\\\"user\\\",\\\"email\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"caret down icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"userImage\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"logout\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dashboard.logout\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notifications\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notification\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notificationsIcon pointerCursor\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleNotifications\\\"]],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"notificationsService\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"hasNotification pointerCursor\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleNotifications\\\"]],[7],[1,[25,\\\"if\\\",[[20,[\\\"notificationsService\\\",\\\"newLength\\\"]],[20,[\\\"notificationsService\\\",\\\"newLength\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"notificationsService\\\",\\\"showNotifications\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notificationsList notSelect ui middle aligned selection inverted list arrow_box\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"notificationsService\\\",\\\"sortedRecords\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"lt\\\",[[19,2,[]],[20,[\\\"notificationsService\\\",\\\"limit\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"markAsRead\\\",[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"description\\\",[25,\\\"if\\\",[[19,1,[\\\"deletedAt\\\"]],\\\" seen\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[19,1,[\\\"isPoi\\\"]],[19,1,[\\\"isGeofence\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"geofenceName\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,1,[\\\"details\\\",\\\"geofence\\\",\\\"fullName\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"isDocumentExpiry\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[25,\\\"if\\\",[[25,\\\"is-after\\\",[[19,1,[\\\"details\\\",\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],[25,\\\"moment\\\",null,null]],null],\\\"document-expiry\\\",\\\"document-expired\\\"],null]],null]],[[\\\"type\\\",\\\"driver\\\",\\\"vehicle\\\",\\\"until\\\"],[[19,1,[\\\"details\\\",\\\"document\\\",\\\"type\\\"]],[19,1,[\\\"details\\\",\\\"document\\\",\\\"user\\\",\\\"fullName\\\"]],[19,1,[\\\"details\\\",\\\"document\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[25,\\\"moment-format\\\",[[19,1,[\\\"details\\\",\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],\\\"DD/MM/YYYY\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"maintenance-upcoming\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"type\\\",\\\"unit\\\",\\\"licensePlate\\\"],[[19,1,[\\\"details\\\",\\\"rule\\\",\\\"localizedType\\\"]],[19,1,[\\\"details\\\",\\\"rule\\\",\\\"unit\\\"]],[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"uit-sync\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"created\\\",\\\"updated\\\",\\\"failed\\\"],[[19,1,[\\\"details\\\",\\\"uits\\\",\\\"created\\\"]],[19,1,[\\\"details\\\",\\\"uits\\\",\\\"updated\\\"]],[19,1,[\\\"details\\\",\\\"uits\\\",\\\"failed\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"date-time\\\",[25,\\\"if\\\",[[19,1,[\\\"deletedAt\\\"]],\\\" seen\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"hour\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[19,1,[\\\"createdAt\\\"]],\\\"HH:mm\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"day\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[19,1,[\\\"createdAt\\\"]],\\\"DD MMM\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1,2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"link-to\\\",[\\\"widgets.notifications\\\"],[[\\\"class\\\"],[\\\"expand\\\"]],{\\\"statements\\\":[[1,[25,\\\"t\\\",[\\\"expand\\\"],null],false]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"notificationsService\\\",\\\"showNotifications\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notificationsList arrow_box noNotifications\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dashboard.noNotificationData\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"chatIconBG\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"headerLogo\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/application-header/template.hbs\"}});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    /**\n     *  -> PROPERTIES\n     * {number}  recordsCount: number of records to paginate\n     * {boolean} showAll: removePagination buttons andShow all records\n     * {number}  pageIndex: selected page\n     * {number}  resultsPerPage: number of results per page\n     * \n     *  -> ACTIONS\n     * updateResultsPerPage\n     * toggleShowAll\n     * updatePage\n     */\n    classNames: ['tableFooter'],\n    allowedResultsPerPage: [5, 10, 25, 50],\n\n    lastPage: Ember.computed(\"recordsCount\", \"resultsPerPage\", function () {\n        return Math.ceil(this.get(\"recordsCount\") / this.get(\"resultsPerPage\"));\n    }),\n    prevAvailable: Ember.computed(\"pageIndex\", function () {\n        return this.get(\"pageIndex\") > 1\n    }),\n    nextAvailable: Ember.computed(\"pageIndex\", \"lastPage\", function () {\n        return this.get(\"pageIndex\") < this.get(\"lastPage\")\n    }),\n\n    actions: {\n        selectOnFocus(event) {\n            event.target.select()\n        },\n        setResultsPerPage(results) {\n            if (!results) { return false }\n            this.get(\"updateResultsPerPage\")(results)\n        },\n        showAll() {\n            this.get(\"toggleShowAll\")()\n        },\n        turnPage(toPage) {\n            let pageNumber = 0\n            let curPage = Number(this.get(\"pageIndex\"))\n            if (isNaN(toPage)) {\n                if (toPage === \"prev\") {\n                    pageNumber = curPage - 1\n                } else if (toPage === \"next\") {\n                    pageNumber = curPage + 1\n                }\n            } else {\n                if (toPage >= 1 && toPage <= this.get(\"lastPage\")) {\n                    pageNumber = toPage\n                }\n                else {\n                    if (toPage > this.get('lastPage')) {\n                        pageNumber = this.get('lastPage');\n                    } else {\n                        pageNumber = 1\n                    }\n                }\n            }\n            this.get(\"updatePage\")(pageNumber)\n        },\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"uMvv6NZ2\",\"block\":\"{\\\"symbols\\\":[\\\"numberResults\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pagesNumber\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"showAll\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"pagination.resultsPerPage\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"allowedResultsPerPage\\\"]]],null,{\\\"statements\\\":[[0,\\\"                \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",[26,[\\\"ui textAsIcon button \\\",[25,\\\"if\\\",[[25,\\\"gte\\\",[1,[25,\\\"div\\\",[[20,[\\\"recordsCount\\\"]],[19,1,[]]],null]],null],\\\"disabled\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"resultsPerPage\\\"]],[19,1,[]]],null],\\\"active\\\",\\\"dc-inverted\\\"],null]]]],[10,\\\"value\\\",[19,1,[]],null],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"setResultsPerPage\\\",[19,1,[]]],null],null],[7],[0,\\\"\\\\n                    \\\"],[6,\\\"span\\\"],[7],[1,[19,1,[]],false],[8],[0,\\\"\\\\n                \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"        \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"showAllRows\\\"],[7],[0,\\\"\\\\n    \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui dc-inverted button\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"showAll\\\"],null],null],[7],[0,\\\"\\\\n        \\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[20,[\\\"showAll\\\"]],\\\"reports.table.collapse\\\",\\\"reports.table.expand\\\"],null]],null],false],[0,\\\"\\\\n        \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[20,[\\\"showAll\\\"]],\\\"angle up\\\",\\\"angle down\\\"],null],\\\" bold icon\\\"]]],[7],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"navigation\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"showAll\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"\\\"],[7],[0,\\\"\\\\n            \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",[26,[\\\"ui dc-inverted button \\\",[25,\\\"unless\\\",[[20,[\\\"prevAvailable\\\"]],\\\"disabled\\\"],null]]]],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"pagination.first\\\"],null]]]],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"turnPage\\\",1],null],null],[7],[0,\\\"\\\\n                \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"angle double left bold icon\\\"],[7],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",[26,[\\\"ui dc-inverted button \\\",[25,\\\"unless\\\",[[20,[\\\"prevAvailable\\\"]],\\\"disabled\\\"],null]]]],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"pagination.previous\\\"],null]]]],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"turnPage\\\",\\\"prev\\\"],null],null],[7],[0,\\\"\\\\n                \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"angle left bold icon\\\"],[7],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui textAsIcon button counter dc-inverted\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"pagination.pageOfTotal\\\"],[[\\\"page\\\",\\\"total\\\"],[[20,[\\\"pageIndex\\\"]],[20,[\\\"lastPage\\\"]]]]]]]],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"input\\\",[[25,\\\"-input-type\\\",[[20,[\\\"number\\\"]]],null]],[[\\\"class\\\",\\\"type\\\",\\\"value\\\",\\\"keyUp\\\",\\\"focusIn\\\",\\\"maxlength\\\",\\\"title\\\"],[\\\"bold\\\",[20,[\\\"number\\\"]],[20,[\\\"pageIndex\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"turnPage\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]],[25,\\\"action\\\",[[19,0,[]],\\\"selectOnFocus\\\"],null],3,[25,\\\"t\\\",[\\\"pagination.goToPage\\\"],null]]]],false],[0,\\\"\\\\n                \\\"],[6,\\\"span\\\"],[7],[1,[25,\\\"t\\\",[\\\"pagination.of\\\"],null],false],[0,\\\" \\\"],[1,[18,\\\"lastPage\\\"],false],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",[26,[\\\"ui dc-inverted button \\\",[25,\\\"unless\\\",[[20,[\\\"nextAvailable\\\"]],\\\"disabled\\\"],null]]]],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"pagination.next\\\"],null]]]],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"turnPage\\\",\\\"next\\\"],null],null],[7],[0,\\\"\\\\n                \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"angle right bold icon\\\"],[7],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",[26,[\\\"ui dc-inverted button \\\",[25,\\\"unless\\\",[[20,[\\\"nextAvailable\\\"]],\\\"disabled\\\"],null]]]],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"pagination.last\\\"],null]]]],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"turnPage\\\",[20,[\\\"lastPage\\\"]]],null],null],[7],[0,\\\"\\\\n                \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"angle double right bold icon\\\"],[7],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/basic-pagination/template.hbs\"}});","import Ember from 'ember'\nimport Component from '@ember/component'\nimport ApexCharts from 'apexcharts'\n\nconst { service } = Ember.inject\n\nexport default Component.extend({\n\ti18n: service(),\n\n\tchart: null,\n\toptions: null,\n\ttagName: 'div',\n\tclassNames: ['apexchart'],\n\n\tselectedX: null,\n\tselectedY: null,\n\tselectedLabes: null,\n\n\txData: null,\n\tyData: null,\n\tmaxY: Ember.computed.max('yData'),\n\tmaxX: Ember.computed.max('xData'),\n\n\tdidInsertElement () {\n\t\tthis._super(...arguments)\n\n\t\tif (!this.get('notCalculateMaxValues')) {\n\t\t\tthis.set('xData', this.get('options').series[0].data.mapBy('x'))\n\t\t\tthis.set('yData', this.get('options').series[0].data.mapBy('y'))\n\n\t\t\tif (this.get('maxY')) {\n\t\t\t\tthis.get('options').yaxis.max = this.get('maxY') + 1\n\t\t\t}\n\t\t}\n\t\tif (this.get('selectedX') && this.get('selectedY')) {\n\t\t\tlet selectedItem = this.get('options').series[0].data.find(d => d.x === this.get('selectedX') && Number(d.y) === Number(this.get('selectedY').value))\n\n\t\t\tif (selectedItem) {\n\t\t\t\tthis.get('options').annotations = {\n\t\t\t\t\tpoints: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tx: selectedItem.x,\n\t\t\t\t\t\t\ty: selectedItem.y,\n\t\t\t\t\t\t\tmarker: {\n\t\t\t\t\t\t\t\tsize: 6,\n\t\t\t\t\t\t\t\tfillColor: \"#FFDC36\",\n\t\t\t\t\t\t\t\tstrokeColor: \"#FFDC36\",\n\t\t\t\t\t\t\t\tradius: 2,\n\t\t\t\t\t\t\t\tcssClass: 'apexcharts-point-annotation-label',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet i18n = this.get('i18n')\n\t\tlet chartOptions = this.get('options')\n\t\tconst selectedLocale = this.get('i18n.locale') || 'en'\n\t\tchartOptions.chart.defaultLocale = selectedLocale\n\t\tchartOptions.chart.locales = [{\n\t\t\tname: selectedLocale,\n\t\t\toptions: {\n\t\t\t\tmonths: [i18n.t('months.january').string, i18n.t('months.february').string, i18n.t('months.march').string, i18n.t('months.april').string, i18n.t('months.may').string, i18n.t('months.june').string, i18n.t('months.july').string, i18n.t('months.august').string, i18n.t('months.september').string, i18n.t('months.october').string, i18n.t('months.november').string, i18n.t('months.december').string],\n\t\t\t\tshortMonths: [i18n.t('shortMonths.january').string, i18n.t('shortMonths.february').string, i18n.t('shortMonths.march').string, i18n.t('shortMonths.april').string, i18n.t('shortMonths.may').string, i18n.t('shortMonths.june').string, i18n.t('shortMonths.july').string, i18n.t('shortMonths.august').string, i18n.t('shortMonths.september').string, i18n.t('shortMonths.october').string, i18n.t('shortMonths.november').string, i18n.t('shortMonths.december').string],\n\t\t\t\tdays: [i18n.t('weekDays.sunday').string, i18n.t('weekDays.monday').string, i18n.t('weekDays.tuesday').string, i18n.t('weekDays.wednesday').string, i18n.t('weekDays.thursday').string, i18n.t('weekDays.friday').string, i18n.t('weekDays.saturday').string],\n\t\t\t\tshortDays: [i18n.t('shortDays.sunday').string, i18n.t('shortDays.monday').string, i18n.t('shortDays.tuesday').string, i18n.t('shortDays.wednesday').string, i18n.t('shortDays.thursday').string, i18n.t('shortDays.friday').string, i18n.t('shortDays.saturday').string],\n\t\t\t\ttoolbar: {\n\t\t\t\t\texportToSVG: i18n.t('exportSvg').string,\n\t\t\t\t\texportToPNG: i18n.t('exportPng').string,\n\t\t\t\t\texportToCSV: i18n.t('exportCsv').string,\n\t\t\t\t\tselection: i18n.t('selection').string,\n\t\t\t\t\tselectionZoom: i18n.t('selectionZoom').string,\n\t\t\t\t\tzoomIn: i18n.t('zoomIn').string,\n\t\t\t\t\tzoomOut: i18n.t('zoomOut').string,\n\t\t\t\t\tpan: i18n.t('pan').string,\n\t\t\t\t\treset: i18n.t('reset').string,\n\t\t\t\t\tmenu: i18n.t('menu').string,\n\t\t\t\t},\n\t\t\t}\n\t\t}]\n\n\t\tconst chart = new ApexCharts(this.get('element'), chartOptions)\n\t\tthis.set('chart', chart)\n\t\tchart.render()\n\t},\n\tdidReceiveAttrs () {\n\t\tthis._super(...arguments)\n\n\t\tconst chart = this.get('chart')\n\t\tif (!Ember.isEmpty(chart)) {\n\t\t\tchart.updateSeries(this.get('options.series'))\n\t\t}\n\t},\n\twillDestroyElement () {\n\t\tthis._super(...arguments)\n\n\t\tthis.get('chart').destroy()\n\t\tthis.set('chart', null)\n\t},\n});","export default Ember.HTMLBars.template({\"id\":\"S9i1wm9e\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/charts/apex-chart/template.hbs\"}});","// fast copy of charts/apex-chart component with minor changes to make it work on driving reports\nimport Ember from 'ember'\nimport Component from '@ember/component'\nimport ApexCharts from 'apexcharts'\n\nconst { service } = Ember.inject\n\nexport default Component.extend({\n    i18n: service(),\n\n    chart: null,\n    options: null,\n    tagName: 'div',\n    classNames: ['apexchart'],\n\n    selectedX: null,\n\n    init() {\n        this._super(...arguments)\n\t\tlet i18n = this.get('i18n')\n\t\tconst selectedLocale = this.get('i18n.locale') || 'en'\n\n        let options = {\n            chart: {\n                height: 250,\n                type: 'line',\n                toolbar: {\n                    show: false\n                },\n                defaultLocale: selectedLocale,\n                locales: [{\n                        name: selectedLocale,\n                        options: {\n                            months: [i18n.t('months.january').string, i18n.t('months.february').string, i18n.t('months.march').string, i18n.t('months.april').string, i18n.t('months.may').string, i18n.t('months.june').string, i18n.t('months.july').string, i18n.t('months.august').string, i18n.t('months.september').string, i18n.t('months.october').string, i18n.t('months.november').string, i18n.t('months.december').string],\n                            shortMonths: [i18n.t('shortMonths.january').string, i18n.t('shortMonths.february').string, i18n.t('shortMonths.march').string, i18n.t('shortMonths.april').string, i18n.t('shortMonths.may').string, i18n.t('shortMonths.june').string, i18n.t('shortMonths.july').string, i18n.t('shortMonths.august').string, i18n.t('shortMonths.september').string, i18n.t('shortMonths.october').string, i18n.t('shortMonths.november').string, i18n.t('shortMonths.december').string],\n                            days: [i18n.t('weekDays.sunday').string, i18n.t('weekDays.monday').string, i18n.t('weekDays.tuesday').string, i18n.t('weekDays.wednesday').string, i18n.t('weekDays.thursday').string, i18n.t('weekDays.friday').string, i18n.t('weekDays.saturday').string],\n                            shortDays: [i18n.t('shortDays.sunday').string, i18n.t('shortDays.monday').string, i18n.t('shortDays.tuesday').string, i18n.t('shortDays.wednesday').string, i18n.t('shortDays.thursday').string, i18n.t('shortDays.friday').string, i18n.t('shortDays.saturday').string],\n                            toolbar: {\n                                exportToSVG: i18n.t('exportSvg').string,\n                                exportToPNG: i18n.t('exportPng').string,\n\t\t\t\t\t\t\t\texportToCSV: i18n.t('exportCsv').string,\n                                selection: i18n.t('selection').string,\n                                selectionZoom: i18n.t('selectionZoom').string,\n                                zoomIn: i18n.t('zoomIn').string,\n                                zoomOut: i18n.t('zoomOut').string,\n                                pan: i18n.t('pan').string,\n                                reset: i18n.t('reset').string,\n                                menu: i18n.t('menu').string,\n                            },\n                        }\n                    }],\n            },\n            colors: ['#FFDC36'],\n            series: [],\n            stroke: {\n                width: 2,\n            },\n            xaxis: {\n                type: 'datetime',\n                tooltip: false,\n            },\n            yaxis: {\n                labels: {\n                    formatter: (value) => {\n                        return (isNaN(value) ? value : Number(value).toFixed(2))\n                    },\n                    style: {\n                        color: '#FFDC36',\n                        fontSize: '10px',\n                        cssClass: 'apexcharts-yaxis-label',\n                    },\n                },\n            }\n        }\n        this.set('options', options)\n    },\n\n    didInsertElement() {\n        this._super(...arguments)\n\n        if (!this.get('selectedKey')) { return }\n\n        let options = this.get('options')\n        let series = this.get('series')\n        let selectedColumn = series.findBy('name', this.get('selectedKey'))\n        if (!selectedColumn) { return }\n\n        let yValues = selectedColumn.data.mapBy('y')\n\n        if (yValues && yValues.length) {\n            let maxY = Math.max(...yValues)\n            options.yaxis.max = maxY + 1\n        }\n\n        if (this.get('selectedX')) {\n            let selectedItem = selectedColumn.data.find(d => d.x === this.get('selectedX'))\n\n            if (selectedItem) {\n                options.annotations = {\n                    points: [\n                        {\n                            x: selectedItem.x,\n                            y: selectedItem.y,\n                            marker: {\n                                size: 6,\n                                fillColor: '#FFDC36',\n                                strokeColor: '#FFDC36',\n                                radius: 2,\n                                cssClass: 'apexcharts-point-annotation-label',\n                            }\n                        }\n                    ]\n                }\n            }\n        }\n\n        options.series.push(selectedColumn)\n        const chart = new ApexCharts(this.get('element'), options)\n        this.set('chart', chart)\n        chart.render()\n    },\n    didReceiveAttrs() {\n        this._super(...arguments)\n\n        const chart = this.get('chart')\n        if (!Ember.isEmpty(chart)) {\n            chart.updateSeries(this.get('series'))\n        }\n    },\n    willDestroyElement() {\n        this._super(...arguments)\n\n        this.get('chart').destroy()\n        this.set('chart', null)\n    },\n});","export default Ember.HTMLBars.template({\"id\":\"WLMDbkJv\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/charts/driving-chart/template.hbs\"}});","import Component from '@ember/component'\nimport { inject as service } from '@ember/service'\nimport ApexCharts from 'apexcharts'\nimport { toInteger } from 'lodash'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\nconst cngLiterToKg = 0.14\n\nexport default Component.extend(datesMixin, {\n\ti18n: service(),\n\tclassNames: ['dc-chart'],\n\n\tdidInsertElement () {\n\t\tthis._super(...arguments)\n\t\tlet i18n = this.get('i18n')\n\n\t\tlet options = this.get('options')\n\t\tlet data = this.get('data')\n\t\tlet isCng = this.get('isCng')\n\n\t\tif (!data) { return null }\n\t\tlet can = {\n\t\t\tname: `${i18n.t('fuelLevel')} ${isCng ? 'CNG' : i18n.t('fuelSource.can')}`,\n\t\t\tdata: [],\n\t\t}\n\t\tlet sensor1 = {\n\t\t\tname: `${i18n.t('fuelLevel')} ${i18n.t('fuelSource.sensor')} 1`,\n\t\t\tdata: [],\n\t\t}\n\t\tlet sensor2 = {\n\t\t\tname: `${i18n.t('fuelLevel')} ${i18n.t('fuelSource.sensor')} 2`,\n\t\t\tdata: [],\n\t\t}\n\n\t\tdata.forEach(item => {\n\t\t\tif (item.canFuelLevel || item.canFuelLevel === 0) {\n\t\t\t\tcan.data.push([this.convertDateToBrowserTZ(item.timestamp), item.canFuelLevel])\n\t\t\t}\n\t\t\tif (item.fuelLevels && item.fuelLevels.length) {\n\t\t\t\tif (item.fuelLevels[0] || item.fuelLevels[0] === 0) {\n\t\t\t\t\tsensor1.data.push([this.convertDateToBrowserTZ(item.timestamp), item.fuelLevels[0]])\n\t\t\t\t}\n\t\t\t\tif (item.fuelLevels.length > 1) {\n\t\t\t\t\tif (item.fuelLevels[1] || item.fuelLevels[1] === 0) {\n\t\t\t\t\t\tsensor2.data.push([this.convertDateToBrowserTZ(item.timestamp), item.fuelLevels[1]])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tif (can.data.length) {\n\t\t\toptions.series.push(can)\n\t\t}\n\t\tif (sensor1.data.length) {\n\t\t\toptions.series.push(sensor1)\n\t\t}\n\t\tif (sensor2.data.length) {\n\t\t\toptions.series.push(sensor2)\n\t\t}\n\n\t\tif (!options.series.length) {\n\t\t\tthis.set('noData', true)\n\t\t\treturn\n\t\t}\n\t\tif (options.series.length > 1) {\n\t\t\toptions.tooltip.marker.show = true\n\t\t}\n\t\tconst chart = new ApexCharts(this.get('element'), options)\n\t\tthis.set('chart', chart)\n\t\tchart.render()\n\t},\n\n\tinit () {\n\t\tthis._super(...arguments)\n\t\tlet i18n = this.get('i18n')\n\t\tconst selectedLocale = this.get('i18n.locale') || 'en'\n\n\t\tlet options = {\n\t\t\tchart: {\n\t\t\t\theight: 250,\n\t\t\t\twidth: \"100%\",\n\t\t\t\ttype: 'line',\n\t\t\t\tdefaultLocale: selectedLocale,\n\t\t\t\tlocales: [{\n\t\t\t\t\tname: selectedLocale,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmonths: [i18n.t('months.january').string, i18n.t('months.february').string, i18n.t('months.march').string, i18n.t('months.april').string, i18n.t('months.may').string, i18n.t('months.june').string, i18n.t('months.july').string, i18n.t('months.august').string, i18n.t('months.september').string, i18n.t('months.october').string, i18n.t('months.november').string, i18n.t('months.december').string],\n\t\t\t\t\t\tshortMonths: [i18n.t('shortMonths.january').string, i18n.t('shortMonths.february').string, i18n.t('shortMonths.march').string, i18n.t('shortMonths.april').string, i18n.t('shortMonths.may').string, i18n.t('shortMonths.june').string, i18n.t('shortMonths.july').string, i18n.t('shortMonths.august').string, i18n.t('shortMonths.september').string, i18n.t('shortMonths.october').string, i18n.t('shortMonths.november').string, i18n.t('shortMonths.december').string],\n\t\t\t\t\t\tdays: [i18n.t('weekDays.sunday').string, i18n.t('weekDays.monday').string, i18n.t('weekDays.tuesday').string, i18n.t('weekDays.wednesday').string, i18n.t('weekDays.thursday').string, i18n.t('weekDays.friday').string, i18n.t('weekDays.saturday').string],\n\t\t\t\t\t\tshortDays: [i18n.t('shortDays.sunday').string, i18n.t('shortDays.monday').string, i18n.t('shortDays.tuesday').string, i18n.t('shortDays.wednesday').string, i18n.t('shortDays.thursday').string, i18n.t('shortDays.friday').string, i18n.t('shortDays.saturday').string],\n\t\t\t\t\t\ttoolbar: {\n\t\t\t\t\t\t\texportToSVG: i18n.t('exportSvg').string,\n\t\t\t\t\t\t\texportToPNG: i18n.t('exportPng').string,\n\t\t\t\t\t\t\texportToCSV: i18n.t('exportCsv').string,\n\t\t\t\t\t\t\tselection: i18n.t('selection').string,\n\t\t\t\t\t\t\tselectionZoom: i18n.t('selectionZoom').string,\n\t\t\t\t\t\t\tzoomIn: i18n.t('zoomIn').string,\n\t\t\t\t\t\t\tzoomOut: i18n.t('zoomOut').string,\n\t\t\t\t\t\t\tpan: i18n.t('pan').string,\n\t\t\t\t\t\t\treset: i18n.t('reset').string,\n\t\t\t\t\t\t\tmenu: i18n.t('menu').string,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}],\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tx: {\n\t\t\t\t\tformat: 'yyyy-MM-dd HH:mm',\n\t\t\t\t},\n\t\t\t\ty: {\n\t\t\t\t\tformatter: val => {\n\t\t\t\t\t\tif (this.get('isCng')) {\n\t\t\t\t\t\t\tconst liters = toInteger(val) + 'L'\n\t\t\t\t\t\t\tconst kg = (Number(val) * cngLiterToKg).toFixed(2) + 'Kg'\n\t\t\t\t\t\t\tconst maxCapacity = Number(this.get('fuelCapacity'))\n\t\t\t\t\t\t\tconst percent = (maxCapacity ? toInteger(val * 100 / maxCapacity) : '--') + '%'\n\t\t\t\t\t\t\treturn `${liters}  |  ${kg}  |  ${percent}`\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn val\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmarker: {\n\t\t\t\t\tshow: false,\n\t\t\t\t},\n\t\t\t},\n\t\t\tcolors: ['#FFDC36', '#34B082', '#C76563'],\n\t\t\tseries: [],\n\t\t\tstroke: {\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t\txaxis: {\n\t\t\t\ttype: 'datetime',\n\t\t\t\tformat: 'HH:mm',\n\t\t\t\ttooltip: false,\n\t\t\t\tlabels: {\n\t\t\t\t\tdatetimeUTC: false,\n\t\t\t\t\tdatetimeFormatter: {\n\t\t\t\t\t\tyear: 'yyyy',\n\t\t\t\t\t\tmonth: 'MMM yyyy',\n\t\t\t\t\t\tday: 'dd MMM',\n\t\t\t\t\t\thour: 'HH:mm',\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolors: '#fff',\n\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\tcssClass: 'apexcharts-xaxis-label',\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tyaxis: {\n\t\t\t\tlabels: {\n\t\t\t\t\tformatter: (value) => {\n\t\t\t\t\t\treturn (isNaN(value) ? value : Number(value).toFixed(2))\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolors: '#fff',\n\t\t\t\t\t\tfontSize: '10px',\n\t\t\t\t\t\tcssClass: 'apexcharts-yaxis-label',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t\tthis.set('options', options)\n\t},\n})\n","export default Ember.HTMLBars.template({\"id\":\"FFeiDBEd\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"noData\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"messages/dc-info\\\",null,[[\\\"class\\\",\\\"msg\\\"],[\\\"small\\\",[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/charts/fuel-level/template.hbs\"}});","import Ember from 'ember'\nimport Component from '@ember/component'\nimport ApexCharts from 'apexcharts'\n\nconst { service } = Ember.inject\n\nconst msoffset = moment().utcOffset() * 60000\n\nexport default Component.extend({\n\ti18n: service(),\n\n\tchart: null,\n\toptions: null,\n\ttagName: 'div',\n\tclassNames: ['apexchart'],\n\n\tintermediatePoints (data) {\n\t\tif (!data || !data.start || !data.end) return\n\n\t\tlet i18n = this.get('i18n')\n\t\tlet activity = data.activity === 'rest' && data.duration < 15 ? 'break' : data.activity\n\t\tlet value = 0 // 0 unknown\n\t\tswitch (activity) {\n\t\t\tcase 'availability': // 5 available\n\t\t\t\tvalue = 5\n\t\t\t\tbreak;\n\t\t\tcase 'driving': // 4 driving\n\t\t\t\tvalue = 4\n\t\t\t\tbreak;\n\t\t\tcase 'work': // 3 work\n\t\t\t\tvalue = 3\n\t\t\t\tbreak;\n\t\t\tcase 'break': // 2 short break\n\t\t\t\tvalue = 2\n\t\t\t\tbreak;\n\t\t\tcase 'rest': // 1 break/rest\n\t\t\t\tvalue = 1\n\t\t\t\tbreak;\n\t\t\tcase 'unknown': // 0 unknown\n\t\t\t\tvalue = 0\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tlet series = [[data.start - msoffset, value], [data.end - msoffset - 1, value]]\n\n\t\tlet translatedName = ''\n\t\tswitch (value) {\n\t\t\tcase 5: // 10 available\n\t\t\t\ttranslatedName = i18n.t('tacho.activities2.available').string\n\t\t\t\tbreak;\n\t\t\tcase 4: // 8 driving\n\t\t\t\ttranslatedName = i18n.t('tacho.activities2.driving').string\n\t\t\t\tbreak;\n\t\t\tcase 3: // 6 working\n\t\t\t\ttranslatedName = i18n.t('tacho.activities2.working').string\n\t\t\t\tbreak;\n\t\t\tcase 2: // 4 short break\n\t\t\t\ttranslatedName = i18n.t('tacho.activities2.break').string\n\t\t\t\tbreak;\n\t\t\tcase 1: // 2 break/rest\n\t\t\t\ttranslatedName = i18n.t('tacho.activities2.rest').string\n\t\t\t\tbreak;\n\t\t\tcase 0: // 0 unknown\n\t\t\t\ttranslatedName = i18n.t('tacho.activities2.unknown').string\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn {\n\t\t\tactivity,\n\t\t\tduration: moment.duration(data.duration, 'm').format(i18n.t('durationFormatDDHHmm').string),\n\t\t\tname: translatedName,\n\t\t\tdata: series,\n\t\t}\n\t},\n\n\tdidInsertElement () {\n\t\tthis._super(...arguments)\n\n\t\tlet i18n = this.get('i18n')\n\t\tlet data = this.get('activityList')\n\t\tif (!data && !data.length) return\n\t\tlet series = []\n\t\tdata.forEach(status => {\n\t\t\tlet serie = this.intermediatePoints(status)\n\t\t\tif (serie) {\n\t\t\t\tseries.push(serie)\n\t\t\t}\n\t\t})\n\n\t\tlet options = {\n\t\t\tchart: {\n\t\t\t\theight: 270,\n\t\t\t\twidth: \"100%\",\n\t\t\t\ttype: \"area\",\n\t\t\t\ttoolbar: {\n\t\t\t\t\tshow: true,\n\t\t\t\t\toffsetX: 0,\n\t\t\t\t\toffsetY: 0,\n\t\t\t\t\ttools: {\n\t\t\t\t\t\tdownload: false,\n\t\t\t\t\t\tselection: true,\n\t\t\t\t\t\tzoom: true,\n\t\t\t\t\t\tzoomin: true,\n\t\t\t\t\t\tzoomout: true,\n\t\t\t\t\t\tpan: true,\n\t\t\t\t\t\treset: true,\n\t\t\t\t\t\tcustomIcons: []\n\t\t\t\t\t},\n\t\t\t\t\tautoSelected: 'zoom'\n\t\t\t\t},\n\t\t\t\tanimations: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t}\n\t\t\t},\n\t\t\tcolors: [\n\t\t\t\tfunction ({ value, seriesIndex, w }) {\n\t\t\t\t\tlet activity = w.config.series[seriesIndex].activity\n\t\t\t\t\tlet color = '#9c27b0'\n\t\t\t\t\tswitch (activity) {\n\t\t\t\t\t\tcase 'availability':\n\t\t\t\t\t\t\tcolor = '#000000'\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'driving':\n\t\t\t\t\t\t\tcolor = '#4CAF50'\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'work':\n\t\t\t\t\t\t\tcolor = '#FFEB3B'\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'break': // short break\n\t\t\t\t\t\t\tcolor = '#ff9800'\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'rest': // break/rest\n\t\t\t\t\t\t\tcolor = '#F44336'\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'unknown':\n\t\t\t\t\t\t\tcolor = '#9c27b0'\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn color\n\t\t\t\t}\n\t\t\t],\n\t\t\tfill: {\n\t\t\t\ttype: 'solid',\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\tenabled: false\n\t\t\t},\n\t\t\tseries,\n\t\t\tlegend: {\n\t\t\t\tshow: false,\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: true,\n\t\t\t\tx: {\n\t\t\t\t\tshow: false,\n\t\t\t\t},\n\t\t\t\ty: {\n\t\t\t\t\tshow: false,\n\t\t\t\t},\n\t\t\t\tcustom: (data) => {\n\t\t\t\t\tlet item = data.w.config.series[data.seriesIndex]\n\t\t\t\t\tif (!item || !item.data || !item.data.length) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t\tlet sd = item.data[0][0]\n\t\t\t\t\tlet ed = item.data[1][0]\n\t\t\t\t\tlet interval = `${moment(sd).format('HH:mm')} - ${moment(ed).format('HH:mm')}`\n\t\t\t\t\treturn `${item.name}<br>${interval} (${item.duration})`\n\t\t\t\t},\n\t\t\t\tmarker: {\n\t\t\t\t\tshow: false,\n\t\t\t\t},\n\t\t\t},\n\t\t\tgrid: {\n\t\t\t\tshow: true,\n\t\t\t\tborderColor: '#444',\n\t\t\t},\n\t\t\tyaxis: {\n\t\t\t\ttooltip: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t},\n\t\t\t\ttickAmount: 5,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 5,\n\t\t\t\tlabels: {\n\t\t\t\t\tshow: true,\n\t\t\t\t\talign: 'right',\n\t\t\t\t\tminWidth: 100,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolors: '#fff',\n\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\tcssClass: 'apexcharts-yaxis-label',\n\t\t\t\t\t},\n\t\t\t\t\tformatter: (value) => {\n\t\t\t\t\t\tlet text = ''\n\t\t\t\t\t\tswitch (value) {\n\t\t\t\t\t\t\tcase 5: // 5 available\n\t\t\t\t\t\t\t\ttext = i18n.t('tacho.activities2.available').string\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 4: // 4 driving\n\t\t\t\t\t\t\t\ttext = i18n.t('tacho.activities2.driving').string\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 3: // 3 working\n\t\t\t\t\t\t\t\ttext = i18n.t('tacho.activities2.working').string\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 2: // 2 short break\n\t\t\t\t\t\t\t\ttext = i18n.t('tacho.activities2.break').string\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 1: // 1 break/rest\n\t\t\t\t\t\t\t\ttext = i18n.t('tacho.activities2.rest').string\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 0: // 0 unknown\n\t\t\t\t\t\t\t\ttext = i18n.t('tacho.activities2.unknown').string\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn text\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\txaxis: {\n\t\t\t\ttype: 'datetime',\n\t\t\t\ttooltip: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolors: '#fff',\n\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\tcssClass: 'apexcharts-xaxis-label',\n\t\t\t\t\t},\n\t\t\t\t\tdatetimeUTC: false,\n\t\t\t\t\tdatetimeFormatter: {\n\t\t\t\t\t\tyear: '',\n\t\t\t\t\t\tmonth: '',\n\t\t\t\t\t\tday: '0',\n\t\t\t\t\t\thour: 'H'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst selectedLocale = this.get('i18n.locale') || 'en'\n\t\toptions.chart.defaultLocale = selectedLocale\n\t\toptions.chart.locales = [{\n\t\t\tname: selectedLocale,\n\t\t\toptions: {\n\t\t\t\tmonths: [i18n.t('months.january').string, i18n.t('months.february').string, i18n.t('months.march').string, i18n.t('months.april').string, i18n.t('months.may').string, i18n.t('months.june').string, i18n.t('months.july').string, i18n.t('months.august').string, i18n.t('months.september').string, i18n.t('months.october').string, i18n.t('months.november').string, i18n.t('months.december').string],\n\t\t\t\tshortMonths: [i18n.t('shortMonths.january').string, i18n.t('shortMonths.february').string, i18n.t('shortMonths.march').string, i18n.t('shortMonths.april').string, i18n.t('shortMonths.may').string, i18n.t('shortMonths.june').string, i18n.t('shortMonths.july').string, i18n.t('shortMonths.august').string, i18n.t('shortMonths.september').string, i18n.t('shortMonths.october').string, i18n.t('shortMonths.november').string, i18n.t('shortMonths.december').string],\n\t\t\t\tdays: [i18n.t('weekDays.sunday').string, i18n.t('weekDays.monday').string, i18n.t('weekDays.tuesday').string, i18n.t('weekDays.wednesday').string, i18n.t('weekDays.thursday').string, i18n.t('weekDays.friday').string, i18n.t('weekDays.saturday').string],\n\t\t\t\tshortDays: [i18n.t('shortDays.sunday').string, i18n.t('shortDays.monday').string, i18n.t('shortDays.tuesday').string, i18n.t('shortDays.wednesday').string, i18n.t('shortDays.thursday').string, i18n.t('shortDays.friday').string, i18n.t('shortDays.saturday').string],\n\t\t\t\ttoolbar: {\n\t\t\t\t\texportToSVG: i18n.t('exportSvg').string,\n\t\t\t\t\texportToPNG: i18n.t('exportPng').string,\n\t\t\t\t\texportToCSV: i18n.t('exportCsv').string,\n\t\t\t\t\tselection: i18n.t('selection').string,\n\t\t\t\t\tselectionZoom: i18n.t('selectionZoom').string,\n\t\t\t\t\tzoomIn: i18n.t('zoomIn').string,\n\t\t\t\t\tzoomOut: i18n.t('zoomOut').string,\n\t\t\t\t\tpan: i18n.t('pan').string,\n\t\t\t\t\treset: i18n.t('reset').string,\n\t\t\t\t\tmenu: i18n.t('menu').string,\n\t\t\t\t},\n\t\t\t}\n\t\t}]\n\n\t\tconst chart = new ApexCharts(this.get('element'), options)\n\t\tthis.set('chart', chart)\n\t\tchart.render()\n\t},\n\n\twillDestroyElement () {\n\t\tthis._super(...arguments)\n\n\t\tthis.get('chart').destroy()\n\t\tthis.set('chart', null)\n\t},\n})","export default Ember.HTMLBars.template({\"id\":\"RFdv0nxI\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/charts/tacho-chart/template.hbs\"}});","import Component from '@ember/component'\n\nexport default Component.extend({\n})\n","export default Ember.HTMLBars.template({\"id\":\"Kt1NhH6q\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"center aligned\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle icon\\\"],[9,\\\"style\\\",\\\"color: #000000\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"tacho.activities2.available\\\"],null],false],[0,\\\" \\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle icon\\\"],[9,\\\"style\\\",\\\"color: #4CAF50\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"tacho.activities2.driving\\\"],null],false],[0,\\\" \\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle icon\\\"],[9,\\\"style\\\",\\\"color: #FFEB3B\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"tacho.activities2.working\\\"],null],false],[0,\\\" \\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle icon\\\"],[9,\\\"style\\\",\\\"color: #ff9800\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"tacho.activities2.break\\\"],null],false],[0,\\\" \\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle icon\\\"],[9,\\\"style\\\",\\\"color: #F44336\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"tacho.activities2.rest\\\"],null],false],[0,\\\" \\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle icon\\\"],[9,\\\"style\\\",\\\"color: #9c27b0\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"tacho.activities2.unknown\\\"],null],false],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/charts/tacho-legend/template.hbs\"}});","import Component from '@ember/component'\n\nexport default Component.extend({\n\tcontextMenu() {\n\t\tthis.get('action')()\n\t}\n})\n","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n\ti18n: service(),\n\n\tselected: null,\n\thours: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]\n})\n","export default Ember.HTMLBars.template({\"id\":\"6M484ipf\",\"block\":\"{\\\"symbols\\\":[\\\"hour\\\"],\\\"statements\\\":[[4,\\\"power-select-multiple\\\",null,[[\\\"selected\\\",\\\"options\\\",\\\"onchange\\\",\\\"placeholder\\\"],[[20,[\\\"selected\\\"]],[20,[\\\"hours\\\"]],[25,\\\"action\\\",[[19,0,[]],[20,[\\\"onchange\\\"]]],null],[25,\\\"t\\\",[\\\"dayHours\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[19,1,[]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/cron/day-hours/template.hbs\"}});","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n\ti18n: service(),\n\n\tminutes: null,\n\tselected: null,\n\tstep: 1,\n\n\tgetMinutes(step = 1) {\n\t\tlet minutes = []\n\t\tfor (let i = 0; i < 60; i = i + step) {\n\t\t\tminutes.push(i)\n\t\t}\n\t\treturn minutes\n\t},\n\n\tinit() {\n\t\tthis._super(...arguments)\n\t\tthis.set('minutes', this.getMinutes(this.get('step')))\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"rpF3DJ/7\",\"block\":\"{\\\"symbols\\\":[\\\"minute\\\"],\\\"statements\\\":[[4,\\\"power-select-multiple\\\",null,[[\\\"selected\\\",\\\"options\\\",\\\"onchange\\\",\\\"placeholder\\\"],[[20,[\\\"selected\\\"]],[20,[\\\"minutes\\\"]],[25,\\\"action\\\",[[19,0,[]],[20,[\\\"onchange\\\"]]],null],[25,\\\"t\\\",[\\\"theMinutes\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[19,1,[]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/cron/hour-minutes/template.hbs\"}});","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n\ti18n: service(),\n\n\tselected: null,\n\tmonthDays: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]\n})\n","export default Ember.HTMLBars.template({\"id\":\"X2SeTPmN\",\"block\":\"{\\\"symbols\\\":[\\\"monthDay\\\"],\\\"statements\\\":[[1,[25,\\\"log\\\",[\\\"selected\\\",[20,[\\\"selected\\\"]]],null],false],[0,\\\"\\\\n\\\"],[4,\\\"power-select-multiple\\\",null,[[\\\"selected\\\",\\\"options\\\",\\\"onchange\\\",\\\"placeholder\\\"],[[20,[\\\"selected\\\"]],[20,[\\\"monthDays\\\"]],[25,\\\"action\\\",[[19,0,[]],[20,[\\\"onchange\\\"]]],null],[25,\\\"t\\\",[\\\"monthDays\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[19,1,[]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/cron/month-days/template.hbs\"}});","import Ember from 'ember'\nimport moment from 'moment'\n\nexport default Ember.Component.extend({\n\n\tminute: [0],\n\thour: [0],\n\tweekDay: null,\n\tmonthDay: null,\n\n\tweekDaysCorespondency: null,\n\n\tvalue: null,\n\tvalues: null,\n\n\tallowMultiple: true,\n\n\tsendFormula() {\n\t\tlet minute = !Ember.isEmpty(this.get('minute')) ? this.get('minute').sort((a, b) => a - b).join(',') : ['*']\n\t\tlet hour = !Ember.isEmpty(this.get('hour')) ? this.get('hour').sort((a, b) => a - b).join(',') : ['*']\n\t\tlet weekDay = !Ember.isEmpty(this.get('weekDay')) ? this.get('weekDay').map(day => this.get('weekDaysCorespondency')[day]).sort((a, b) => a - b).join(',') : ['*']\n\t\tlet monthDay = !Ember.isEmpty(this.get('monthDay')) ? this.get('monthDay').sort((a, b) => a - b).join(',') : ['*']\n\t\tlet formula = this.makeFormulla(minute + ' ' + hour + ' ' + monthDay + ' * ' + weekDay)\n\t\tif (this.get('manageFormula')) {\n\t\t\tthis.get('manageFormula')(formula)\n\t\t}\n\t\treturn formula\n\t},\n\n\tmakeFormulla(value) {\n\t\tlet cron = value.replace(/\\s+/g, \" \").split(\" \")\n\t\tlet frequency = { base: \"1\" } // default: every minute\n\t\tlet tempArray = []\n\t\tlet baseFrequency = {\n\t\t\tminute: 1,\n\t\t\thour: 2,\n\t\t\tday: 3,\n\t\t\tweek: 4,\n\t\t\tmonth: 5,\n\t\t\tyear: 6\n\t\t}\n\t\tlet allowMultiple = this.get('allowMultiple')\n\n\t\tif (cron[0] === \"*\" && cron[1] === \"*\" && cron[2] === \"*\" && cron[3] === \"*\" && cron[4] === \"*\") {\n\t\t\tfrequency.base = baseFrequency.minute // every minute\n\t\t} else if (cron[1] === \"*\" && cron[2] === \"*\" && cron[3] === \"*\" && cron[4] === \"*\") {\n\t\t\tfrequency.base = baseFrequency.hour // every hour\n\t\t} else if (cron[2] === \"*\" && cron[3] === \"*\" && cron[4] === \"*\") {\n\t\t\tfrequency.base = baseFrequency.day // every day\n\t\t} else if (cron[2] === \"*\" && cron[3] === \"*\") {\n\t\t\tfrequency.base = baseFrequency.week // every week\n\t\t} else if (cron[3] === \"*\" && cron[4] === \"*\") {\n\t\t\tfrequency.base = baseFrequency.month // every month\n\t\t} else if (cron[4] === \"*\") {\n\t\t\tfrequency.base = baseFrequency.year // every year\n\t\t}\n\n\t\tif (cron[0] !== \"*\") {\n\t\t\t//preparing to handle multiple minutes\n\t\t\tif (allowMultiple) {\n\t\t\t\ttempArray = cron[0].split(',')\n\t\t\t\tfor (let i = 0; i < tempArray.length; i++) { tempArray[i] = +tempArray[i] }\n\t\t\t\tfrequency.minuteValues = tempArray\n\t\t\t} else {\n\t\t\t\tfrequency.minuteValues = parseInt(cron[0])\n\t\t\t}\n\t\t}\n\t\tif (cron[1] !== \"*\") {\n\t\t\t//preparing to handle multiple hours\n\t\t\tif (allowMultiple) {\n\t\t\t\ttempArray = cron[1].split(\",\")\n\t\t\t\tfor (let i = 0; i < tempArray.length; i++) { tempArray[i] = +tempArray[i] }\n\t\t\t\tfrequency.hourValues = tempArray\n\t\t\t} else {\n\t\t\t\tfrequency.hourValues = parseInt(cron[1])\n\t\t\t}\n\t\t}\n\t\tif (cron[2] !== \"*\") {\n\t\t\t//preparing to handle multiple days of the month\n\t\t\tif (allowMultiple) {\n\t\t\t\ttempArray = cron[2].split(\",\")\n\t\t\t\tfor (let i = 0; i < tempArray.length; i++) { tempArray[i] = +tempArray[i] }\n\t\t\t\tfrequency.dayOfMonthValues = tempArray\n\t\t\t} else {\n\t\t\t\tfrequency.dayOfMonthValues = parseInt(cron[2])\n\t\t\t}\n\t\t}\n\t\tif (cron[3] !== \"*\") {\n\t\t\t//preparing to handle multiple months\n\t\t\tif (allowMultiple) {\n\t\t\t\ttempArray = cron[3].split(\",\")\n\t\t\t\tfor (let i = 0; i < tempArray.length; i++) { tempArray[i] = +tempArray[i] }\n\t\t\t\tfrequency.monthValues = tempArray\n\t\t\t} else {\n\t\t\t\tfrequency.monthValues = parseInt(cron[3])\n\t\t\t}\n\t\t}\n\t\tif (cron[4] !== \"*\") {\n\t\t\t//preparing to handle multiple days of the week\n\t\t\tif (allowMultiple) {\n\t\t\t\ttempArray = cron[4].split(\",\")\n\t\t\t\tfor (let i = 0; i < tempArray.length; i++) { tempArray[i] = +tempArray[i] }\n\t\t\t\tfrequency.dayValues = tempArray\n\t\t\t} else {\n\t\t\t\tfrequency.dayValues = parseInt(cron[4])\n\t\t\t}\n\t\t}\n\n\t\tlet formula = \"\"\n\t\tformula += (frequency.minuteValues ? frequency.minuteValues.join(',') : '*') + ' '\n\t\t\t+ (frequency.hourValues ? frequency.hourValues.join(',') : '*') + ' '\n\t\t\t+ (frequency.dayOfMonthValues ? frequency.dayOfMonthValues.join(',') : '*') + ' '\n\t\t\t+ '* '\n\t\t\t+ (frequency.dayValues ? frequency.dayValues.join(',') : '*')\n\n\t\treturn formula\n\t},\n\n\tgetWeekDaysCorespondency() {\n\t\tlet weekDays = moment.weekdays()\n\t\tlet obj = {}\n\t\tweekDays.forEach((item, idx) => {\n\t\t\tobj[item] = idx\n\t\t})\n\t\treturn obj\n\t},\n\n\tgetValues() {\n\t\treturn ['day', 'week', 'month']\n\t},\n\n\tinit() {\n\t\tthis._super(...arguments)\n\t\tthis.set('weekDaysCorespondency', this.getWeekDaysCorespondency())\n\t\tthis.set('values', this.getValues())\n\t},\n\n\tactions: {\n\t\tsetValue(value) {\n\t\t\tthis.set('value', value)\n\n\t\t\tif (value === 'day') {\n\t\t\t\tthis.set('weekDay', null)\n\t\t\t\tthis.set('monthDay', null)\n\t\t\t} else if (value === 'week') {\n\t\t\t\tthis.set('weekDay', ['luni'])\n\t\t\t\tthis.set('monthDay', null)\n\t\t\t} else if (value === 'month') {\n\t\t\t\tthis.set('weekDay', null)\n\t\t\t\tthis.set('monthDay', [1])\n\t\t\t}\n\t\t\tthis.sendFormula()\n\t\t},\n\t\tsetHour(hour) {\n\t\t\tthis.set('hour', hour)\n\t\t\tthis.sendFormula()\n\t\t},\n\t\tsetMinute(minute) {\n\t\t\tthis.set('minute', minute)\n\t\t\tthis.sendFormula()\n\t\t},\n\t\tsetWeekDay(weekDay) {\n\t\t\tthis.set('weekDay', weekDay)\n\t\t\tthis.sendFormula()\n\t\t},\n\t\tsetMonthDay(monthDay) {\n\t\t\tthis.set('monthDay', monthDay)\n\t\t\tthis.sendFormula()\n\t\t}\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"atjnrSTk\",\"block\":\"{\\\"symbols\\\":[\\\"value\\\",\\\"&default\\\"],\\\"statements\\\":[[1,[25,\\\"t\\\",[\\\"every\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"selected\\\",\\\"options\\\",\\\"onchange\\\"],[[20,[\\\"value\\\"]],[20,[\\\"values\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setValue\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"t\\\",[[19,1,[]]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[4,\\\"if\\\",[[22,2]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[11,2,[[25,\\\"hash\\\",null,[[\\\"hours\\\",\\\"minutes\\\",\\\"week-days\\\",\\\"month-days\\\",\\\"value\\\"],[[25,\\\"component\\\",[\\\"cron/day-hours\\\"],[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"hour\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setHour\\\"],null]]]],[25,\\\"component\\\",[\\\"cron/hour-minutes\\\"],[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"minute\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setMinute\\\"],null]]]],[25,\\\"component\\\",[\\\"cron/week-days\\\"],[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"weekDay\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setWeekDay\\\"],null]]]],[25,\\\"component\\\",[\\\"cron/month-days\\\"],[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"monthDay\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setMonthDay\\\"],null]]]],[20,[\\\"value\\\"]]]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"value\\\"]],\\\"day\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"cron/day-hours\\\",null,[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"hour\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setHour\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"cron/hour-minutes\\\",null,[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"minute\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setMinute\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"value\\\"]],\\\"week\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"cron/week-days\\\",null,[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"weekDay\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setWeekDay\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"cron/day-hours\\\",null,[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"hour\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setHour\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"cron/hour-minutes\\\",null,[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"minute\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setMinute\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"value\\\"]],\\\"month\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"cron/month-days\\\",null,[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"monthDay\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setMonthDay\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"cron/day-hours\\\",null,[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"hour\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setHour\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"cron/hour-minutes\\\",null,[[\\\"selected\\\",\\\"onchange\\\"],[[20,[\\\"minute\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setMinute\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/cron/recurrent-scheduler/template.hbs\"}});","import Ember from 'ember'\nimport moment from 'moment'\n\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n\ti18n: service(),\n\n\tselected: null,\n\tweekDays: null,\n\n\tgetWeekDays(mondayFirst = true) {\n\t\tlet weekDays = moment.weekdays()\n\t\tif (mondayFirst) {\n\t\t\tlet sunday = weekDays.shift()\n\t\t\tweekDays.push(sunday)\n\t\t}\n\t\treturn weekDays\n\t},\n\n\tinit() {\n\t\tthis._super(...arguments)\n\t\tthis.set('weekDays', this.getWeekDays())\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"amZw83h/\",\"block\":\"{\\\"symbols\\\":[\\\"weekDay\\\"],\\\"statements\\\":[[4,\\\"power-select-multiple\\\",null,[[\\\"selected\\\",\\\"options\\\",\\\"onchange\\\",\\\"placeholder\\\"],[[20,[\\\"selected\\\"]],[20,[\\\"weekDays\\\"]],[25,\\\"action\\\",[[19,0,[]],[20,[\\\"onchange\\\"]]],null],[25,\\\"t\\\",[\\\"theWeekDays\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[19,1,[]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/cron/week-days/template.hbs\"}});","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n\tcurrentUser: service('current-user'),\n\tclassNames: ['rfAlertsContainer'],\n\tlimit: 6,\n\n\tfilteredAlerts: Ember.computed.filter('alerts', function (alert) {\n\t\treturn  alert.get('isPoi') || alert.get('isGeofence') || alert.get('isDocumentExpiry') || alert.get('isFuelDrop') ||\n\t\t\t\talert.get('isDoorOpen') || alert.get('isSealBroken') || alert.get('isSpeeding') ||\n\t\t\t\talert.get('isFuelExcessive') || alert.get('isFuelDropConfirmed') || alert.get('isFuelDropFluctuation') ||\n\t\t\t\talert.get('type') === 'maintenance-upcoming' ||\n\t\t\t\talert.get('type') === 'aux-cooling-while-moving' || alert.get('type') === 'aux-heating-while-moving' ||\n\t\t\t\talert.get('type') === 'temp-poi-enter' || alert.get('type') === 'confirmed-refuel' || alert.get('type') === 'border-crossing' ||\n\t\t\t\talert.get('type') === 'engine-off' || alert.get('type') === 'tacho-break' ||\n\t\t\t\talert.get('type') === 'low-battery' || alert.get('type') === 'fast-battery-discharge' || alert.get('type') === 'tacho-rest' ||\n\t\t\t\talert.get('type') === 'panic-button'\n\t}),\n\n\tactions: {\n\t\tcheck(alert) {\n\t\t\tif (alert.get('checked')){\n\t\t\t\treturn true\n\t\t\t}\n\t\t\talert.set('checked', true)\n\n\t\t\tEmber.run.later(this, () => {\n\t\t\t\tif (alert.id) {\n\t\t\t\t\tthis.get('delete')(alert.id)\n\t\t\t\t}\n\t\t\t\tthis.get(\"filteredAlerts\").removeObject(alert)\n\t\t\t}, 3000);\n\t\t},\n\n\t\tchangeHoverProperty(alert) {\n\t\t\talert.toggleProperty('isHover')\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"18OSPg2p\",\"block\":\"{\\\"symbols\\\":[\\\"alert\\\",\\\"index\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"filteredAlerts\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui middle aligned selection list\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"createdAt:desc\\\",[20,[\\\"filteredAlerts\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"lt\\\",[[19,2,[]],[20,[\\\"limit\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"dashboard/alert-wrapper\\\",null,[[\\\"alert\\\"],[[19,1,[]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"date\\\",[25,\\\"if\\\",[[19,1,[\\\"checked\\\"]],\\\" isChecked\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"day\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"moment-format-company-tz\\\",[[19,1,[\\\"createdAt\\\"]],\\\"DD\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"month\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"uppercase\\\",[[25,\\\"no-dots\\\",[[25,\\\"moment-format-company-tz\\\",[[19,1,[\\\"createdAt\\\"]],\\\"MMM\\\"],null]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"time\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"moment-format-company-tz\\\",[[19,1,[\\\"createdAt\\\"]],\\\"HH:mm\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"isDocumentExpiry\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[25,\\\"if\\\",[[25,\\\"is-after\\\",[[19,1,[\\\"details\\\",\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],[25,\\\"moment\\\",null,null]],null],\\\"document-expiry\\\",\\\"document-expired\\\"],null]],null]],[[\\\"type\\\",\\\"driver\\\",\\\"vehicle\\\",\\\"until\\\"],[[19,1,[\\\"details\\\",\\\"document\\\",\\\"type\\\"]],[19,1,[\\\"details\\\",\\\"document\\\",\\\"user\\\",\\\"fullName\\\"]],[19,1,[\\\"details\\\",\\\"document\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[25,\\\"moment-format-company-tz\\\",[[19,1,[\\\"details\\\",\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],\\\"DD/MM/YYYY\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[19,1,[\\\"isPoi\\\"]],[19,1,[\\\"isGeofence\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"geofenceName\\\",\\\"licensePlate\\\"],[[19,1,[\\\"details\\\",\\\"geofence\\\",\\\"fullName\\\"]],[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"isSealBroken\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"sealNumber\\\",\\\"licensePlate\\\"],[[19,1,[\\\"details\\\",\\\"seal\\\",\\\"number\\\"]],[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"isSpeeding\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"diff\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,1,[\\\"details\\\",\\\"speedDiff\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"isFuelDropConfirmed\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"amount\\\",\\\"licensePlate\\\"],[[19,1,[\\\"details\\\",\\\"formatedAmount\\\"]],[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"low-battery\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"threshold\\\",\\\"voltage\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,1,[\\\"details\\\",\\\"threshold\\\"]],[19,1,[\\\"details\\\",\\\"voltage\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"fast-battery-discharge\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"dropRatePerHour\\\",\\\"allowedDropRatePerHour\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,1,[\\\"details\\\",\\\"drop_rate_per_hour\\\"]],[19,1,[\\\"details\\\",\\\"allowed_drop_rate_per_hour\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"tacho-rest\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"driverName\\\",\\\"hoursRest\\\",\\\"daysCycle\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,1,[\\\"details\\\",\\\"driverName\\\"]],[19,1,[\\\"details\\\",\\\"hoursRest\\\"]],[19,1,[\\\"details\\\",\\\"days_cycle\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"panic-button\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"timestamp\\\",\\\"coordinates\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[25,\\\"moment-format\\\",[[19,1,[\\\"timestamp\\\"]],\\\"DD/MM/YYYY - HH:mm\\\"],null],[25,\\\"concat\\\",[[25,\\\"get\\\",[[19,1,[\\\"details\\\",\\\"coordinates\\\"]],\\\"1\\\"],null],\\\", \\\",[25,\\\"get\\\",[[19,1,[\\\"details\\\",\\\"coordinates\\\"]],\\\"0\\\"],null]],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"maintenance-upcoming\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"limit\\\",\\\"deadline\\\",\\\"type\\\",\\\"unit\\\",\\\"licensePlate\\\"],[[25,\\\"or\\\",[[19,1,[\\\"details\\\",\\\"limit\\\"]],\\\"-\\\"],null],[25,\\\"if\\\",[[19,1,[\\\"details\\\",\\\"deadline\\\"]],[25,\\\"moment-format-company-tz\\\",[[19,1,[\\\"details\\\",\\\"deadline\\\"]],\\\"DD/MM/YYYY\\\"],null],\\\"-\\\"],null],[19,1,[\\\"details\\\",\\\"rule\\\",\\\"localizedType\\\"]],[19,1,[\\\"details\\\",\\\"rule\\\",\\\"unit\\\"]],[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"border-crossing\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"from\\\",\\\"to\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[25,\\\"country-name\\\",[[19,1,[\\\"details\\\",\\\"from_country\\\"]]],null],[25,\\\"country-name\\\",[[19,1,[\\\"details\\\",\\\"to_country\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"confirmed-refuel\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"amount\\\",\\\"source\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,1,[\\\"details\\\",\\\"amount\\\"]],[19,1,[\\\"details\\\",\\\"source\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,1,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\"],[[19,1,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"check\\\",[25,\\\"if\\\",[[19,1,[\\\"checked\\\"]],\\\" isChecked\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"isAdmin\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"or\\\",[[19,1,[\\\"isHover\\\"]],[19,1,[\\\"checked\\\"]]],null],\\\"checkmark\\\",\\\"circle outline thin\\\"],null],\\\" icon\\\"]]],[10,\\\"onmouseenter\\\",[25,\\\"action\\\",[[19,0,[]],\\\"changeHoverProperty\\\",[19,1,[]]],null],null],[10,\\\"onmouseleave\\\",[25,\\\"action\\\",[[19,0,[]],\\\"changeHoverProperty\\\",[19,1,[]]],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"check\\\",[19,1,[]]],[[\\\"bubbles\\\"],[false]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle thin icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1,2]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui middle aligned grid fullHeight\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"src\\\",\\\"assets/images/alerts_grey.png\\\"],[9,\\\"class\\\",\\\"ui centered image notification-icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notification-box-title centered bigSizeFont\\\"],[7],[1,[18,\\\"title\\\"],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notification-box-no-data centered regularSizeFont\\\"],[7],[1,[25,\\\"t\\\",[\\\"dashboard.noAlertData\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/alert-list/template.hbs\"}});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    tagName: '',\n});\n","export default Ember.HTMLBars.template({\"id\":\"HGf9YR8s\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"alert\\\",\\\"isDocumentExpiry\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"management.vehicles.index\\\",[25,\\\"query-params\\\",null,[[\\\"documentID\\\",\\\"vehicleID\\\"],[[20,[\\\"alert\\\",\\\"details\\\",\\\"document\\\",\\\"id\\\"]],[20,[\\\"alert\\\",\\\"details\\\",\\\"document\\\",\\\"vehicle\\\",\\\"id\\\"]]]]]],[[\\\"class\\\"],[\\\"item\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[11,1,[[20,[\\\"alert\\\"]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"alert\\\",\\\"isPoi\\\"]],[20,[\\\"alert\\\",\\\"isGeofence\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"map.routes\\\",[20,[\\\"alert\\\",\\\"details\\\",\\\"vehicle_id\\\"]],[25,\\\"query-params\\\",null,[[\\\"start\\\",\\\"end\\\"],[[20,[\\\"alert\\\",\\\"start\\\"]],[20,[\\\"alert\\\",\\\"end\\\"]]]]]],[[\\\"class\\\",\\\"target\\\"],[\\\"item\\\",\\\"_blank\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[11,1,[[20,[\\\"alert\\\"]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[11,1,[[20,[\\\"alert\\\"]]]],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/alert-wrapper/template.hbs\"}});","import Component from '@ember/component'\nimport { computed, set } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport { task, timeout } from 'ember-concurrency'\nimport { isArray } from '@ember/array';\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\n\nlet unfiltredColumns = [\n\t{ key: 'group', translationKey: 'management.vehicles.division', align: 'left', selected: true, fullScreenOnly: true },\n\t{ key: 'licensePlate', translationKey: 'dashboard.liveStatus.vehicle', align: 'left', selected: true },\n\t{ key: 'country', translationKey: 'country', align: 'center', selected: true, fullScreenOnly: true },\n\t{ key: 'location', translationKey: 'dashboard.liveStatus.address', align: 'left', selected: true },\n\t{ key: 'lastPOI', translationKey: 'dashboard.liveStatus.lastPOI', align: 'left', selected: true, fullScreenOnly: true },\n\t{ key: 'nextPlannedPOI', translationKey: 'dashboard.liveStatus.nextPlannedPOI', align: 'left', selected: true, fullScreenOnly: true },\n\t{ key: 'availability', translationKey: 'dashboard.liveStatus.availability', align: 'left', selected: true, fullScreenOnly: true },\n\t{ key: 'status', translationKey: 'dashboard.liveStatus.status', align: 'center', selected: true },\n\t{ key: 'speed', translationKey: 'dashboard.liveStatus.speed', align: 'right', selected: true },\n\t{ key: 'fuelLevel', translationKey: 'dashboard.liveStatus.fuelLevel', align: 'right', selected: true },\n\t{ key: 'seal', translationKey: 'dashboard.liveStatus.seal', align: 'left', selected: true, reqModule: 'seal' }\n]\n\nexport default Component.extend(Formatter, {\n\tclassNames: ['dc-live'],\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\taddress: service('address-service'),\n\tstore: service(),\n\tmodal: service(),\n\ti18n: service(),\n\tapi: service(),\n\n\tmodules: computed.readOnly('currentUser.modules'),\n\tselectedColumns: computed.alias('currentUser.liveStatusColumns'),\n\n\tloading: true,\n\tempty: false,\n\tsortBy: 'licensePlate',\n\treverse: false,\n\n\tclassNameBindings: ['fullScreen:fullScreen'],\n\n\tcolumns: computed('selectedColumns', 'availableSensors', 'modules', 'fullScreen', function () {\n\t\tlet selectedColumns = this.get('selectedColumns')\n\t\tlet modules = this.get('modules')\n\t\tlet fullScreen = this.get('fullScreen')\n\t\tlet availableSensors = this.get('availableSensors')\n\n\t\tif (!selectedColumns) { return [] }\n\t\t// add columns of sensors from request\n\t\tavailableSensors.forEach(sensor => {\n\t\t\tlet key = sensor.key\n\t\t\tlet align = 'center'\n\t\t\tif (~key.indexOf('temperature')) {\n\t\t\t\talign = 'right'\n\t\t\t} else if (~key.indexOf('doors')) {\n\t\t\t\tset(sensor, 'reqModule', 'sensorDoor')\n\t\t\t} else if (~key.indexOf('freezer') || ~key.indexOf('temperature')) {\n\t\t\t\tset(sensor, 'reqModule', 'freezer')\n\t\t\t} else if (~key.indexOf('tachoD8')) {\n\t\t\t\tset(sensor, 'text', 'Tacho D8')\n\t\t\t} else if (~key.indexOf('powerExternal')) {\n\t\t\t\talign = 'right'\n\t\t\t\tset(sensor, 'translationKey', 'powerExternal.label')\n\t\t\t} else if (~key.indexOf('auxCooling')) {\n\t\t\t\tset(sensor, 'translationKey', 'auxAC.auxCooling')\n\t\t\t} else if (~key.indexOf('auxHeating')) {\n\t\t\t\tset(sensor, 'translationKey', 'auxAC.auxHeating')\n\t\t\t}\n\t\t\tset(sensor, 'align', align)\n\t\t\tif (!unfiltredColumns.isAny('key', key)) {\n\t\t\t\tunfiltredColumns.push(sensor)\n\t\t\t}\n\t\t})\n\n\t\t// update selected columns according to currentUser\n\t\tif (selectedColumns && isArray(selectedColumns)) {\n\t\t\tunfiltredColumns.forEach(column => {\n\t\t\t\tlet isSelected = ~selectedColumns.indexOf(column.key)\n\t\t\t\tif (isSelected != column.selected) {\n\t\t\t\t\tset(column, 'selected', isSelected)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\t// filter columns by required modules and fullScreenOnly\n\t\treturn unfiltredColumns.filter(col => {\n\t\t\tif (col.reqModule && !modules[col.reqModule]) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (!fullScreen && col.fullScreenOnly) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t})\n\t}),\n\n\theaders: computed('selectedColumns', 'columns', function () {\n\t\tlet selectedColumns = this.get('selectedColumns')\n\t\tlet columns = this.get('columns')\n\n\t\tlet headers = []\n\t\tselectedColumns.forEach(col => {\n\t\t\tlet header = columns.findBy('key', col)\n\t\t\tif (header) {\n\t\t\t\theaders.push(header)\n\t\t\t}\n\t\t})\n\t\treturn headers\n\t}),\n\n\tavailableSensors: computed('getData.lastSuccessful.value', function () { // sensors from api\n\t\tlet data = this.get('getData.lastSuccessful.value')\n\t\tif (!data) { return [] }\n\t\tlet sensors = []\n\t\tdata.forEach(item => {\n\t\t\tif (item.sensors && isArray(item.sensors) && item.sensors.length) {\n\t\t\t\titem.sensors.forEach(header => {\n\t\t\t\t\tif (!sensors.some(sensor => {\n\t\t\t\t\t\treturn sensor.key === header.key\n\t\t\t\t\t})) {\n\t\t\t\t\t\tsensors.push(header)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t\tlet fuelSensorPosition = sensors.mapBy('key').indexOf('fuel')\n\t\tif (~fuelSensorPosition) { // exclude the fuel sensor because it is used on another column\n\t\t\tsensors.splice(fuelSensorPosition, 1)\n\t\t}\n\t\treturn sensors\n\t}),\n\n\tinit () {\n\t\tthis._super(...arguments)\n\n\t\tthis.get('pollData').perform()\n\t},\n\n\tfiltredData: computed('getData.lastSuccessful.value', 'filters', function () {\n\t\tlet data = this.get('getData.lastSuccessful.value')\n\t\tlet filters = this.get('filters')\n\t\tif (!data) { return [] }\n\t\tif (!filters || (!filters.type && !filters.group && !filters.status && !filters.search)) { return data }\n\n\t\tlet filtred = data.filter(veh => {\n\t\t\tif (filters.group && veh.group.value != filters.group) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (filters.status && veh.status.icon && veh.status.icon.indexOf(filters.status) === -1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (filters.type && veh.type != filters.type) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (filters.search && veh.licensePlate.display.toLowerCase().indexOf(filters.search.toLowerCase().replace(/\\s/g, '')) === -1) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t})\n\t\treturn filtred\n\t}),\n\n\tsortedData: computed('filtredData', 'sortBy', 'reverse', function () {\n\t\tlet filtredData = this.get('filtredData')\n\t\tlet sortBy = this.get('sortBy')\n\t\tlet reverse = this.get('reverse')\n\t\tif (!filtredData || !filtredData.length) {\n\t\t\treturn filtredData\n\t\t}\n\t\tlet filter = `${sortBy}.display`\n\t\tif (sortBy === 'location') {\n\t\t\tfilter = 'location._result.text'\n\t\t}\n\t\telse if (sortBy === 'speed' || sortBy === 'fuelLevel') {\n\t\t\tfilter = `${sortBy}.value`\n\t\t}\n\t\telse if (sortBy === 'seal') {\n\t\t\tfilter = `${sortBy}.number`\n\t\t}\n\t\telse if (sortBy === 'status' || sortBy === 'taxi') {\n\t\t\tfilter = `${sortBy}.icon`\n\t\t}\n\t\tlet orderedData = filtredData.sortBy(filter)\n\t\tlet final = reverse ? orderedData.reverse() : orderedData\n\n\t\tif (!this.get('fullScreen')) {\n\t\t\treturn final.slice(0, 8)\n\t\t}\n\n\t\treturn final\n\t}),\n\n\tgetData: task(function* () {\n\t\tlet api = this.get('api')\n\n\t\treturn yield api.request('/dashboard/home/vehicle-status', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t}).then(res => {\n\t\t\tthis.set('loading', false)\n\t\t\tif (res.data) {\n\t\t\t\treturn this.formatData(res.data)\n\t\t\t}\n\t\t})\n\t}).drop(),\n\n\tpollData: task(function* () {\n\t\twhile (true) {\n\t\t\tyield this.get('getData').perform()\n\t\t\tyield timeout(10000)\n\t\t}\n\t}).drop(),\n\n\tformatData (rows) {\n\t\tlet i18n = this.get('i18n')\n\t\treturn rows.filter(row=>row.licensePlate).map((item) => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.group = {\n\t\t\t\tvalue: item.groupID,\n\t\t\t\tdisplay: item.groupName,\n\t\t\t}\n\n\t\t\tprocessed.licensePlate = {\n\t\t\t\tdisplay: this.removeWhiteSpaces(item.licensePlate),\n\t\t\t}\n\n\t\t\t// used on filter\n\t\t\tprocessed.type = item.type\n\n\t\t\tprocessed.seal = this.getSeal(item.status.seal)\n\n\t\t\tprocessed.country = {\n\t\t\t\tdisplay: item.status.country,\n\t\t\t}\n\n\t\t\tprocessed.location = this.getAddress({\n\t\t\t\tid: item.id,\n\t\t\t\tcoords: item.status.location,\n\t\t\t\tpoi: item.geolocation ? item.geolocation.geofences : [],\n\t\t\t})\n\t\t\tprocessed.poiTitleCompact = (item.status.lastGeofences ? `\\n${i18n.t('dashboard.liveStatus.lastPOI')}: ${item.status.lastGeofences} - ${this.formatDateToCompanyTZ(item.status.lastGeofencesTimestamp, 'DD.MM.YYYY HH:mm:ss')}` : '') + (item.status.nextGeofence && item.status.nextGeofenceTimestamp ? `\\n${i18n.t('dashboard.liveStatus.nextPlannedPOI')}: ${item.status.nextGeofence} - ${this.formatDateToCompanyTZ(item.status.nextGeofenceTimestamp, 'DD.MM.YYYY HH:mm:ss')}` : '')\n\n\t\t\tprocessed.lastPOI = {\n\t\t\t\tdisplay: item.status.lastGeofences,\n\t\t\t}\n\n\t\t\tprocessed.nextPlannedPOI = {\n\t\t\t\tdisplay: item.status.nextGeofence,\n\t\t\t}\n\n\t\t\tlet timeleft = item.timetable && item.timetable.remaining ? item.timetable.remaining : null\n\t\t\tlet availability = timeleft ? timeleft < 3600 ? `00:${moment.duration(timeleft, 's').format('HH:mm')}` : moment.duration(timeleft, 's').format('HH:mm') : null\n\t\t\tlet availabilityTooltip = timeleft ? timeleft < 3600 ? `00:${moment.duration(timeleft, 's').format('HH:mm:ss')}` : moment.duration(timeleft, 's').format('HH:mm:ss') : null\n\t\t\tprocessed.availability = {\n\t\t\t\tdisplay: availability,\n\t\t\t\tpopup: availabilityTooltip,\n\t\t\t}\n\n\t\t\tlet speed = item.status.can.speed ? item.status.can.speed : item.status.speed || 0\n\t\t\tprocessed.speed = {\n\t\t\t\tvalue: speed,\n\t\t\t\tdisplay: `${speed} km/h`,\n\t\t\t}\n\n\t\t\tlet sensors = this.processSensors(item.sensors, item.status.sensors, item.fuelType)\n\t\t\tif (sensors.length) {\n\t\t\t\tsensors.forEach(sensor => {\n\t\t\t\t\tprocessed[sensor.key] = sensor\n\t\t\t\t})\n\t\t\t\tprocessed.sensors = sensors.mapBy('header')\n\t\t\t}\n\n\t\t\tprocessed.fuelLevel = this.parseFuelLevel(processed.fuel, item.status.can, item.fuelCapacity, item.fuelType)\n\t\t\tprocessed.status = this.processStatus(item.status.updatedAt, item.status.engineState)\n\n\t\t\treturn processed\n\t\t})\n\t},\n\n\tgetAddress (veh) {\n\t\treturn this.get('address').getAddress(veh).then(res => {\n\t\t\tif (isArray(res)) {\n\t\t\t\treturn {\n\t\t\t\t\ttext: res[0],\n\t\t\t\t\tpopup: res.join('\\n')\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttext: res,\n\t\t\t\tpopup: res\n\t\t\t}\n\t\t})\n\t},\n\n\tgetSeal (sealID) {\n\t\tif (!sealID) { return }\n\t\treturn this.get('store').findRecord('seal', sealID, { reload: false, backgroundReload: false })\n\t},\n\n\tupdateHeaders (columns) {\n\t\tthis.get('currentUser').updateLiveStatusHeaders(columns)\n\t},\n\n\tactions: {\n\t\tsortByHeader (headerKey) {\n\t\t\tlet sortBy = this.get('sortBy')\n\t\t\tif (sortBy === headerKey) {\n\t\t\t\tthis.toggleProperty('reverse')\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.set('sortBy', headerKey)\n\t\t\tthis.set('reverse', false)\n\t\t},\n\t\tsealClic (seal) {\n\t\t\tif (!seal || !seal.get('number')) { return false }\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tlet options = {\n\t\t\t\ttittle: i18n.t('dashboard.liveStatus.deactivateSealModal.header'),\n\t\t\t\tcontent: i18n.t('dashboard.liveStatus.deactivateSealModal.content', { sealNumber: seal.get('number') }),\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tlet storeSeal = this.get('store').peekRecord('seal', seal.get('id'))\n\t\t\t\tif (!storeSeal) { return false }\n\t\t\t\tstoreSeal.set('status', 'disabled')\n\t\t\t\tstoreSeal.save()\n\t\t\t})\n\t\t},\n\t\tupdateColumn (column) {\n\t\t\tset(column, 'selected', !column.selected)\n\t\t},\n\t\thideColumnsMenu () {\n\t\t\t// update the selected columns\n\t\t\t// this.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t\tlet selectedColumns = this.get('columns').filterBy('selected').mapBy('key')\n\n\t\t\tlet previosColumns = this.get('selectedColumns')\n\t\t\tlet columns = []\n\t\t\tlet updateValue = false\n\t\t\tpreviosColumns.forEach(item => {\n\t\t\t\tif (~selectedColumns.indexOf(item)) { // is selected\n\t\t\t\t\tcolumns.push(item)\n\t\t\t\t\tselectedColumns.splice(selectedColumns.indexOf(item), 1) // remove from selected\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tupdateValue = true\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (selectedColumns.length) { // add new seleted columns\n\t\t\t\tupdateValue = true\n\t\t\t\tcolumns = columns.concat(selectedColumns)\n\t\t\t}\n\n\t\t\tif (updateValue) {\n\t\t\t\tthis.updateHeaders(columns)\n\t\t\t}\n\t\t},\n\t\tondragstart (e) {\n\t\t\tlet movingColumn = e.target.dataset.value\n\t\t\tthis.set('movingColumn', movingColumn)\n\t\t},\n\t\tondragover (e) {\n\t\t\te.preventDefault()\n\t\t},\n\t\tondrop (e) {\n\t\t\tlet destinationColumn = e.target.dataset.value\n\t\t\tlet movingColumn = this.get('movingColumn')\n\t\t\tlet columns = this.get('selectedColumns')\n\t\t\tlet fromIdx = columns.indexOf(movingColumn)\n\t\t\tlet toIdx = columns.indexOf(destinationColumn)\n\t\t\tif (!movingColumn || !destinationColumn || fromIdx == -1 || toIdx == -1) { return false }\n\t\t\tcolumns.splice(fromIdx, 1)\n\t\t\tcolumns.splice(toIdx, 0, movingColumn)\n\t\t\tthis.updateHeaders(columns)\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"TuelCqIw\",\"block\":\"{\\\"symbols\\\":[\\\"row\\\",\\\"header\\\",\\\"header\\\",\\\"col\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"live-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"right floated\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onHide\\\",\\\"action\\\"],[[25,\\\"concat\\\",[[25,\\\"if\\\",[[20,[\\\"columns\\\"]],\\\"\\\",\\\"disabled \\\"],null],\\\"dc-button icon top right pointing item dc-inverted-dd\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"hideColumnsMenu\\\"],null],\\\"nothing\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"green eye icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"columns\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item\\\",[25,\\\"if\\\",[[19,4,[\\\"selected\\\"]],\\\"\\\",\\\" not-selected\\\"],null]]]],[10,\\\"data-value\\\",[19,4,[\\\"key\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"updateColumn\\\",[19,4,[]]]],[7],[1,[25,\\\"if\\\",[[19,4,[\\\"translationKey\\\"]],[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],[19,4,[\\\"text\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"live-content\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"sortedData\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"ui unstackable table static\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"headers\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,3,[\\\"selected\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[\\\"column \\\",[19,3,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"data-value\\\",[19,3,[\\\"key\\\"]],null],[9,\\\"draggable\\\",\\\"true\\\"],[9,\\\"style\\\",\\\"cursor: pointer\\\"],[10,\\\"ondragover\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondragover\\\"],null],null],[10,\\\"ondrop\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondrop\\\"],null],null],[10,\\\"ondragstart\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondragstart\\\"],null],null],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"sortByHeader\\\",[19,3,[\\\"key\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,3,[\\\"translationKey\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"text\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"sortedData\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"headers\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"selected\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[\\\"seal\\\",[19,2,[\\\"key\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,2,[\\\"align\\\"]],\\\" aligned sensors\\\"]]],[3,\\\"action\\\",[[19,0,[]],\\\"sealClic\\\",[19,1,[\\\"seal\\\"]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"seal\\\",\\\"number\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"seal\\\",\\\"number\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[\\\"location\\\",[19,2,[\\\"key\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,2,[\\\"align\\\"]],\\\" aligned sensors\\\"]]],[10,\\\"title\\\",[26,[[25,\\\"get\\\",[[25,\\\"await\\\",[[19,1,[\\\"location\\\"]]],null],\\\"popup\\\"],null],[25,\\\"if\\\",[[19,1,[\\\"poiTitleCompact\\\"]],[19,1,[\\\"poiTitleCompact\\\"]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map marker alternate icon\\\"],[7],[8],[1,[25,\\\"get\\\",[[25,\\\"await\\\",[[19,1,[\\\"location\\\"]]],null],\\\"text\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,2,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,1,[]],[19,2,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"get\\\",[[25,\\\"get\\\",[[19,1,[]],[19,2,[\\\"key\\\"]]],null],\\\"icon\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"get\\\",[[25,\\\"get\\\",[[19,1,[]],[19,2,[\\\"key\\\"]]],null],\\\"icon\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,1,[]],[19,2,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/dc-live/template.hbs\"}});","import Ember from 'ember'\nimport moment from 'moment'\n\nconst minutes59 = 3540000\n\nexport default Ember.Component.extend({\n    classNames: ['distances-heatmap'],\n\n    timetables: Ember.computed.alias('model.timetables.timetable'),\n    // users: Ember.computed.alias('model.users'),\n    // groups: Ember.computed.alias('model.groups'),\n    vehicles: Ember.computed.alias('model.vehicles'),\n    shownDefaultNr: 10,\n\n    mHourStep: Ember.computed('Resolution.isMobile', 'Resolution.isTablet', function () {\n        if (this.get('Resolution.isMobile')) {\n            return 3\n        } else if (this.get('Resolution.isTablet')) {\n            return 2\n        }\n        return 1\n    }),\n\n    endHour: Ember.computed('modelDashboard', function () {\n        let data = this.get('modelDashboard')\n        if (Ember.isEmpty(data)) { return 0 }\n        return Number(Object.keys(data)[23]) + minutes59\n    }),\n    startHour: Ember.computed('modelDashboard', function () {\n        let data = this.get('modelDashboard')\n        if (Ember.isEmpty(data)) { return 0 }\n        return Number(Object.keys(data)[0])\n    }),\n\n    updatedTimetables: Ember.computed('timetables', 'startHour', function () {\n        let timetables = this.get('timetables')\n        let startHour = this.get('startHour')\n        if (!timetables || !startHour) { return [] }\n        return this.updateTimetables(timetables, startHour)\n    }),\n\n    vehiclesHeatmapData: Ember.computed('modelDashboard', 'mHourStep', function () {\n        let data = this.get('modelDashboard')\n        let vehicles = this.get('vehicles').toArray()\n        let timetables = this.get('updatedTimetables').toArray()\n        let mHStep = this.get('mHourStep') || 1\n        if (Ember.isEmpty(data) || !vehicles.length) { return [] }\n        let heatVehicles = []\n        let keys = Object.keys(data)\n        let colors = [1, 2, 3, 4, 5, 6, 7, 8, 9]\n        let max = 0\n        let timetablesExists = timetables.length > 0 ? true : false\n        keys.forEach((key, idx) => {\n            Object.keys(data[key]).forEach(vehicleID => {\n                let vehicle = vehicles.findBy('id', vehicleID)\n                if (!vehicle) { return false }\n                if (Number(data[key][vehicleID]) > max) { max = Number(data[key][vehicleID]) }\n                let interval = { start: moment(Number(key)), end: moment(Number(key)).add(mHStep, 'h') }\n                let nextInterval = { start: interval.end, end: interval.end.clone().add(mHStep, 'h') }\n                let isInSchedule = false\n                let nextIsInSchedule = false\n                if (timetablesExists) {\n                    // check if is on timetable\n                    timetables.forEach(tt => {\n                        let start = moment(tt.startTime)\n                        let end = moment(tt.startTime).add(tt.duration, 's')\n                        // https://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap\n                        let rangeOverlaps = Math.max(interval.start.valueOf(), start.valueOf()) < Math.min(interval.end.valueOf(), end.valueOf())\n                        let nextRangeOverlaps = Math.max(nextInterval.start.valueOf(), start.valueOf()) < Math.min(nextInterval.end.valueOf(), end.valueOf())\n                        if ((tt.vehicleID === vehicleID || (!tt.vehicleID && vehicle.get('group.id') == tt.groupID)) && rangeOverlaps) {\n                            isInSchedule = true\n                            if (nextRangeOverlaps) {\n                                nextIsInSchedule = true\n                            }\n                        }\n                    })\n                }\n                if (idx == 0) {\n                    heatVehicles.push({\n                        id: vehicleID,\n                        licensePlate: vehicle.get('licensePlate'),\n                        groupID: vehicle.get('group.id'),\n                        groupName: vehicle.get('group.name'),\n                        driverName: vehicle.get('user.fullName') ? vehicle.get('user.fullName') : vehicle.get('licensePlate'),\n                        type: vehicle.get('type'),\n                        distances: [{\n                            timestamp: Number(key),\n                            value: data[key][vehicleID],\n                            isInSchedule: isInSchedule,\n                            nextIsInSchedule: nextIsInSchedule,\n                            fixedValue: Number(data[key][vehicleID] / 1000).toFixed(1)\n                        }]\n                    })\n                }\n                else {\n                    if (idx % mHStep != 0) { // make sum of values\n                        let distancesArr = heatVehicles.findBy('id', vehicleID).distances\n                        let lastElement = distancesArr[distancesArr.length - 1]\n\n                        lastElement.timestamp = lastElement.timestamp\n                        lastElement.value = lastElement.value + data[key][vehicleID]\n                        lastElement.isInSchedule = isInSchedule\n                        lastElement.nextIsInSchedule = nextIsInSchedule\n                        lastElement.fixedValue = Number(lastElement.value / 1000).toFixed(1)\n                    }\n                    else {\n                        heatVehicles.findBy('id', vehicleID).distances.push({\n                            timestamp: Number(key),\n                            value: data[key][vehicleID],\n                            isInSchedule: isInSchedule,\n                            nextIsInSchedule: nextIsInSchedule,\n                            fixedValue: Number(data[key][vehicleID] / 1000).toFixed(1)\n                        })\n                    }\n                }\n            })\n        })\n        let unit = Math.round(max / (colors.length - 1))\n        heatVehicles.forEach(veh => {\n            veh.distances.forEach((dis, index, arr) => {\n                // color\n                let idx = dis.value ? Math.round(dis.value / unit) : 0\n                if (dis.value && idx == 0 && dis.value > 100) {\n                    idx = 1\n                }\n                if (dis.value > max) { idx = colors.length - 1 } // dis > max when cols are merged\n                dis.color = colors[idx]\n\n                // isOnSchedule\n                let type = 0\n                if (dis.isInSchedule) {\n                    let prevItem = arr[index - 1] ? arr[index - 1].isInSchedule : false\n                    let nextItem = arr[index + 1] ? arr[index + 1].isInSchedule : false\n                    if (dis.nextIsInSchedule) {\n                        nextItem = true\n                    }\n                    if (prevItem && nextItem) { type = 2 }          // * 2:   _____\n                    else if (!prevItem && nextItem) { type = 1 }    // * 1:  |_____\n                    else if (prevItem && !nextItem) { type = 3 }    // * 3:   _____|\n                    else type = 4                                   // * 4:  |_____|\n                }\n                dis.type = type\n            })\n        })\n        return heatVehicles\n    }),\n\n    updateTimetables(timetables, first) {\n        let startFirst = moment(first)\n        let startNow = moment()\n        if (!Ember.isArray(timetables)) { return [] }\n        let weekChange = !startFirst.startOf('isoWeek').isSame(startNow.startOf('isoWeek'))\n\n        timetables.forEach(timetable => {\n            if (!timetable.recurrent) { return }\n            let ttStart = moment(timetable.startTime)\n            let diff = ttStart.diff(ttStart.clone().startOf('isoWeek'), 's')\n            // if the week has changed and tt starts on monday update the date to current week\n            if (weekChange && ttStart.day() == 1) { startFirst = startNow }\n            let newStart = startFirst.clone().startOf('isoWeek').add(diff, 's')\n            timetable.startTime = newStart.toISOString()\n        })\n        return timetables\n    },\n\n    filtredHeatmapData: Ember.computed('vehiclesHeatmapData', 'fullscreenPage', 'typesFilter', 'groupsFilter', 'searchValue', function () {\n        let data = this.get('vehiclesHeatmapData')\n        let typesFilter = this.get('typesFilter')\n        let groupsFilter = this.get('groupsFilter')\n        let searchValue = this.get('searchValue')\n        let fullScreen = this.get('fullscreenPage')\n\n        if (!fullScreen) {\n            let defaultNr = this.get('shownDefaultNr')\n            return data.slice(0, defaultNr)\n        }\n\n        let filter = typesFilter || groupsFilter || searchValue\n\n        if (!filter) { return data }\n\n        return data.filter(veh => {\n            if (groupsFilter) {\n                if (veh.groupID.indexOf(groupsFilter) == -1) {\n                    return false\n                }\n            }\n            if (searchValue) {\n                if (veh.licensePlate.toLowerCase().indexOf(searchValue.toLowerCase()) == -1) {\n                    return false\n                }\n            }\n            if (typesFilter && veh.type != typesFilter) { return false }\n            return true\n        })\n\n    }),\n\n    actions: {\n        toggleDriverNames() {\n            this.toggleProperty('showDriverNames')\n        },\n    }\n})\n","export default Ember.HTMLBars.template({\"id\":\"tzaeay2L\",\"block\":\"{\\\"symbols\\\":[\\\"veh\\\",\\\"idx\\\",\\\"dis\\\",\\\"xxx\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"noData\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"filtredHeatmapData\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"grid-container\\\",[25,\\\"if\\\",[[20,[\\\"fullscreenPage\\\"]],\\\" fullScreen\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"licensePlate\\\",[20,[\\\"filtredHeatmapData\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"legend\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"bold pointerCursor\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleDriverNames\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[20,[\\\"showDriverNames\\\"]],\\\"dashboard.showLicensePlate\\\",\\\"dashboard.showDriver\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"distances\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[19,4,[\\\"timestamp\\\"]],\\\"H\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"legend\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"href\\\",[26,[\\\"/map/routes/\\\",[19,1,[\\\"id\\\"]],\\\"?end=\\\",[18,\\\"endHour\\\"],\\\"&start=\\\",[18,\\\"startHour\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"showDriverNames\\\"]],[19,1,[\\\"driverName\\\"]],[19,1,[\\\"licensePlate\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"distances\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"heatContainer\\\",[25,\\\"if\\\",[[19,3,[\\\"type\\\"]],[25,\\\"concat\\\",[\\\" type\\\",[19,3,[\\\"type\\\"]]],null]],null],[25,\\\"if\\\",[[19,3,[\\\"color\\\"]],[25,\\\"concat\\\",[\\\" clr\\\",[19,3,[\\\"color\\\"]]],null]],null]]]],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"dashboard.distance\\\"],null],\\\" \\\",[19,3,[\\\"fixedValue\\\"]],\\\" km\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[1,2]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/distances-heatmap/template.hbs\"}});","import Ember from 'ember'\nimport moment from 'moment'\n\nconst minutes59 = 3540000\n\nexport default Ember.Component.extend({\n\tshownDefaultNr: 10,\n\n    mHourStep: Ember.computed('Resolution.isMobile', 'Resolution.isTablet', function () {\n        if (this.get('Resolution.isMobile')) {\n            return 3\n        } else if (this.get('Resolution.isTablet')) {\n            return 2\n        }\n        return 1\n    }),\n\n    endHour: Ember.computed('data', function () {\n        let data = this.get('data')\n        if (Ember.isEmpty(data)) { return 0 }\n        return Number(Object.keys(data)[23]) + minutes59\n    }),\n    startHour: Ember.computed('data', function () {\n        let data = this.get('data')\n        if (Ember.isEmpty(data)) { return 0 }\n        return Number(Object.keys(data)[0])\n    }),\n\n    updatedTimetables: Ember.computed('timetables', 'startHour', function () {\n        let timetables = this.get('timetables')\n        let startHour = this.get('startHour')\n        if (!timetables || !startHour) { return [] }\n        return this.updateTimetables(timetables, startHour)\n    }),\n\n    vehiclesHeatmapData: Ember.computed('data', 'mHourStep', function () {\n        let data = this.get('data')\n        let vehicles = (this.get('vehicles') || []).toArray()\n        let timetables = this.get('updatedTimetables').toArray()\n\t\tlet mHStep = this.get('mHourStep') || 1\n        if (Ember.isEmpty(data) || !vehicles.length) { return [] }\n        let heatVehicles = []\n        let keys = Object.keys(data)\n        let colors = [1, 2, 3, 4, 5, 6, 7, 8, 9]\n        let max = 0\n        let timetablesExists = timetables.length > 0 ? true : false\n        keys.forEach((key, idx) => {\n            Object.keys(data[key]).forEach(vehicleID => {\n                let vehicle = vehicles.findBy('id', vehicleID)\n                if (!vehicle || !vehicle.get('licensePlate')) { return false }\n                if (Number(data[key][vehicleID]) > max) { max = Number(data[key][vehicleID]) }\n                let interval = { start: moment(Number(key)), end: moment(Number(key)).add(mHStep, 'h') }\n                let nextInterval = { start: interval.end, end: interval.end.clone().add(mHStep, 'h') }\n                let isInSchedule = false\n                let nextIsInSchedule = false\n                if (timetablesExists) {\n                    // check if is on timetable\n                    timetables.forEach(tt => {\n                        let start = moment(tt.startTime)\n                        let end = moment(tt.startTime).add(tt.duration, 's')\n                        // https://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap\n                        let rangeOverlaps = Math.max(interval.start.valueOf(), start.valueOf()) < Math.min(interval.end.valueOf(), end.valueOf())\n                        let nextRangeOverlaps = Math.max(nextInterval.start.valueOf(), start.valueOf()) < Math.min(nextInterval.end.valueOf(), end.valueOf())\n                        if ((tt.vehicleID === vehicleID || (!tt.vehicleID && vehicle.get('group.id') == tt.groupID)) && rangeOverlaps) {\n                            isInSchedule = true\n                            if (nextRangeOverlaps) {\n                                nextIsInSchedule = true\n                            }\n                        }\n                    })\n                }\n                if (idx == 0) {\n                    heatVehicles.push({\n                        id: vehicleID,\n                        licensePlate: vehicle.get('licensePlate'),\n                        groupID: vehicle.get('group.id'),\n                        groupName: vehicle.get('group.name'),\n                        driverName: vehicle.get('user.fullName') ? vehicle.get('user.fullName') : vehicle.get('licensePlate'),\n                        type: vehicle.get('type'),\n                        data: [{\n                            timestamp: Number(key),\n                            value: data[key][vehicleID],\n                            isInSchedule: isInSchedule,\n                            nextIsInSchedule: nextIsInSchedule,\n                            fixedValue: Number(data[key][vehicleID] / 1000).toFixed(1)\n                        }]\n                    })\n                }\n                else {\n                    if (idx % mHStep != 0) { // make sum of values\n                        let dataArr = heatVehicles.findBy('id', vehicleID).data\n                        let lastElement = dataArr[dataArr.length - 1]\n\n                        lastElement.timestamp = lastElement.timestamp\n                        lastElement.value = lastElement.value + data[key][vehicleID]\n                        lastElement.isInSchedule = isInSchedule\n                        lastElement.nextIsInSchedule = nextIsInSchedule\n                        lastElement.fixedValue = Number(lastElement.value / 1000).toFixed(1)\n                    }\n                    else {\n                        heatVehicles.findBy('id', vehicleID).data.push({\n                            timestamp: Number(key),\n                            value: data[key][vehicleID],\n                            isInSchedule: isInSchedule,\n                            nextIsInSchedule: nextIsInSchedule,\n                            fixedValue: Number(data[key][vehicleID] / 1000).toFixed(1)\n                        })\n                    }\n                }\n            })\n        })\n        let unit = Math.round(max / (colors.length - 1))\n        heatVehicles.forEach(veh => {\n            veh.data.forEach((dis, index, arr) => {\n                // color\n                let idx = dis.value ? Math.round(dis.value / unit) : 0\n                if (dis.value && idx == 0 && dis.value > 100) {\n                    idx = 1\n                }\n                if (dis.value > max) { idx = colors.length - 1 } // dis > max when cols are merged\n                dis.color = colors[idx]\n\n                // isOnSchedule\n                let type = 0\n                if (dis.isInSchedule) {\n                    let prevItem = arr[index - 1] ? arr[index - 1].isInSchedule : false\n                    let nextItem = arr[index + 1] ? arr[index + 1].isInSchedule : false\n                    if (dis.nextIsInSchedule) {\n                        nextItem = true\n                    }\n                    if (prevItem && nextItem) { type = 2 }          // * 2:   _____\n                    else if (!prevItem && nextItem) { type = 1 }    // * 1:  |_____\n                    else if (prevItem && !nextItem) { type = 3 }    // * 3:   _____|\n                    else type = 4                                   // * 4:  |_____|\n                }\n                dis.type = type\n            })\n        })\n        return heatVehicles\n    }),\n\n    updateTimetables(timetables, first) {\n        let startFirst = moment(first)\n        let startNow = moment()\n        if (!Ember.isArray(timetables)) { return [] }\n        let weekChange = !startFirst.startOf('isoWeek').isSame(startNow.startOf('isoWeek'))\n\n        timetables.forEach(timetable => {\n            if (!timetable.recurrent) { return }\n            let ttStart = moment(timetable.startTime)\n            let diff = ttStart.diff(ttStart.clone().startOf('isoWeek'), 's')\n            // if the week has changed and tt starts on monday update the date to current week\n            if (weekChange && ttStart.day() == 1) { startFirst = startNow }\n            let newStart = startFirst.clone().startOf('isoWeek').add(diff, 's')\n            timetable.startTime = newStart.toISOString()\n        })\n        return timetables\n    },\n\n    filtredHeatmapData: Ember.computed('vehiclesHeatmapData', 'fullscreenPage', 'typesFilter', 'groupsFilter', 'searchValue', function () {\n        let data = this.get('vehiclesHeatmapData')\n        let typesFilter = this.get('typesFilter')\n        let groupsFilter = this.get('groupsFilter')\n        let searchValue = this.get('searchValue')\n        let fullScreen = this.get('fullscreenPage')\n\n        if (!fullScreen) {\n            let defaultNr = this.get('shownDefaultNr')\n            return data.slice(0, defaultNr)\n        }\n\n        let filter = typesFilter || groupsFilter || searchValue\n\n        if (!filter) { return data }\n\n        return data.filter(veh => {\n            if (groupsFilter) {\n                if (veh.groupID.indexOf(groupsFilter) == -1) {\n                    return false\n                }\n            }\n            if (searchValue) {\n                if (veh.licensePlate.toLowerCase().indexOf(searchValue.toLowerCase()) == -1) {\n                    return false\n                }\n            }\n            if (typesFilter && veh.type != typesFilter) { return false }\n            return true\n        })\n\n    }),\n\n    actions: {\n        toggleDriverNames() {\n            this.toggleProperty('showDriverNames')\n        },\n    }\n})\n","export default Ember.HTMLBars.template({\"id\":\"BOQZmIrg\",\"block\":\"{\\\"symbols\\\":[\\\"veh\\\",\\\"idx\\\",\\\"data\\\",\\\"xxx\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"filtredHeatmapData\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"grid-container \\\",[25,\\\"if\\\",[[20,[\\\"fullscreenPage\\\"]],\\\"fullScreen\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"licensePlate\\\",[20,[\\\"filtredHeatmapData\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"legend\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"bold pointerCursor\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleDriverNames\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[20,[\\\"showDriverNames\\\"]],\\\"dashboard.showLicensePlate\\\",\\\"dashboard.showDriver\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"data\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[19,4,[\\\"timestamp\\\"]],\\\"H\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"legend\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"href\\\",[26,[\\\"/map/routes/\\\",[19,1,[\\\"id\\\"]],\\\"?end=\\\",[18,\\\"endHour\\\"],\\\"&start=\\\",[18,\\\"startHour\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"showDriverNames\\\"]],[19,1,[\\\"driverName\\\"]],[19,1,[\\\"licensePlate\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"data\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"heatContainer \\\",[25,\\\"if\\\",[[19,3,[\\\"type\\\"]],[25,\\\"concat\\\",[\\\"type\\\",[19,3,[\\\"type\\\"]]],null]],null],\\\" \\\",[25,\\\"if\\\",[[19,3,[\\\"color\\\"]],[25,\\\"concat\\\",[\\\"clr\\\",[19,3,[\\\"color\\\"]]],null]],null]]]],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dashboard.heatmap.types.\\\",[20,[\\\"type\\\"]]],null]],null],\\\" \\\",[19,3,[\\\"fixedValue\\\"]],\\\" \\\",[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dashboard.heatmap.units.\\\",[20,[\\\"unit\\\"]]],null]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[1,2]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/heatmap-widget/template.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"lrx1RVII\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"notification\\\",\\\"isDocumentExpiry\\\"]]],null,{\\\"statements\\\":[[1,[20,[\\\"notification\\\",\\\"details\\\",\\\"document\\\",\\\"vehicle\\\",\\\"id\\\"]],false],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"management.vehicles.view\\\",[20,[\\\"notification\\\",\\\"details\\\",\\\"document\\\",\\\"vehicle\\\",\\\"id\\\"]],[25,\\\"query-params\\\",null,[[\\\"document\\\"],[[20,[\\\"notification\\\",\\\"details\\\",\\\"document\\\",\\\"id\\\"]]]]]],[[\\\"target\\\"],[\\\"_blank\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[11,1,[[20,[\\\"notification\\\"]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"notification\\\",\\\"isPoi\\\"]],[20,[\\\"notification\\\",\\\"isGeofence\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"map.routes\\\",[20,[\\\"notification\\\",\\\"details\\\",\\\"vehicle_id\\\"]],[25,\\\"query-params\\\",null,[[\\\"start\\\",\\\"end\\\"],[[20,[\\\"notification\\\",\\\"start\\\"]],[20,[\\\"notification\\\",\\\"end\\\"]]]]]],[[\\\"target\\\"],[\\\"_blank\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[11,1,[[20,[\\\"notification\\\"]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[11,1,[[20,[\\\"notification\\\"]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/notification-wrapper/template.hbs\"}});","import Component from '@ember/component'\nimport { inject as service } from '@ember/service'\n\nexport default Component.extend({\n\tmodal: service(),\n\tclassNames: ['item', 'dashInfoCard'],\n\n\tactions: {\n\t\topenModal() {\n\t\t\tthis.get('modal').open('dc-contact')\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"aB+XUeGn\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"p\\\"],[7],[1,[18,\\\"descr\\\"],false],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"bold\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"openModal\\\"]],[7],[1,[25,\\\"t\\\",[\\\"dashboard.contactLink\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/stats-contact/template.hbs\"}});","import Ember from 'ember'\nimport { filter, pick, uniq } from 'lodash'\nimport { get } from '@ember/object'\n\n\nexport default Ember.Component.extend({\n    classNames: ['item','dashInfoCard'],\n\n\tselectedVehicleTypes: '',\n\n    vehicleTypes: Ember.computed('vehicles', 'unit', function () {\n\t\tlet vehicles = this.get('vehicles')\n\t\tif (this.get('unit') !== 'KM') return null\n\t\tif (!vehicles?.get('length')) return null\n\t\treturn filter(uniq(vehicles.mapBy('type')))\n\t}),\n\n    total: Ember.computed('data', 'isFuel', 'vehicles', 'selectedVehicleTypes', function () {\n        let data = this.get('data')\n        let isFuel = this.get('isFuel')\n\t\tlet selectedVehicleTypes = this.get('selectedVehicleTypes')\n\t\tif (!isFuel && selectedVehicleTypes){ // filter data by selected vehicle types\n\t\t\tlet vehicles = this.get('vehicles')\n\t\t\tif (!vehicles?.get('length')) return null\n\t\t\tconst selectedVehiclesIDs = vehicles.filter(v => selectedVehicleTypes.includes(get(v, 'type'))).mapBy('id')\n\t\t\tconst filteredData = pick(data, selectedVehiclesIDs)\n\t\t\tdata = filteredData\n\t\t}\n\t\treturn this._calcTotal(data, isFuel)\n    }),\n\n    _calcTotal(data, isFuel) {\n        var total = 0\n        if (Ember.isEmpty(data)) { return total }\n        Object.keys(data).forEach(function (vehicleID) {\n            if (data[vehicleID] !== null) {\n                total += parseFloat(data[vehicleID])\n            }\n        })\n\n        return isFuel ? parseFloat(total).toFixed(1) : parseFloat(total / 1000).toFixed(1)\n    },\n});\n","export default Ember.HTMLBars.template({\"id\":\"QyBjhn9a\",\"block\":\"{\\\"symbols\\\":[\\\"vehType\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"total\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[1,[18,\\\"descr\\\"],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"bold\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"total\\\"],false],[0,\\\" \\\"],[1,[18,\\\"unit\\\"],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"vehicleTypes\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\"],[\\\"settings-dd icon ui top right pointing dropdown\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selectedVehicleTypes\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"white setting icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui vertical left menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"vehicleTypes\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,1,[]],null],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.vehicles.type.\\\",[19,1,[]]],null]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui middle aligned grid fullHeight\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui huge label\\\"],[7],[1,[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/stats-item/template.hbs\"}});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nexport default Component.extend({\n\tsortKey: 'vehicle',\n\tsortAscending: false,\n\n\tsortedData: Ember.computed('drivers', 'sortKey', 'sortAscending', function () {\n\t\tconst data = this.get('drivers')\n\t\tconst sortKey = this.get('sortKey')\n\t\tconst sortAscending = this.get('sortAscending')\n\t\tif (Ember.isEmpty(data)) {\n\t\t\treturn data\n\t\t}\n\n\t\tlet sortedData = data.sortBy(sortKey)\n\t\tif (sortAscending) {\n\t\t\tsortedData.reverse()\n\t\t}\n\n\t\treturn sortedData\n\t}),\n\n\tdrivers: Ember.computed('vehicles', function () {\n\t\tlet drivers = []\n\t\tconst vehicles = this.get('vehicles') || []\n\t\tvehicles.forEach(vehicle => {\n\t\t\tif (!vehicle.get('hasTacho')) { return }\n\n\t\t\t[vehicle.get('status.tacho.driver1'), vehicle.get('status.tacho.driver2')].forEach(driver => {\n\t\t\t\tif (Ember.isEmpty(driver) || Ember.isEmpty(driver.get('card')) || driver.get('card').trim().length < 2) { return }\n\t\t\t\t\n\t\t\t\tdrivers.push({\n\t\t\t\t\tvehicle: vehicle.get('licensePlate'),\n\t\t\t\t\tname: driver.get('fullName'),\n\t\t\t\t\tcard: driver.get('card'),\n\t\t\t\t\tactivity: driver.get('activityName'),\n\t\t\t\t\ttime: driver.get('time'),\n\t\t\t\t\ttimeFormatted: driver.get('timeFormatted'),\n\t\t\t\t\tdistance: driver.get('distance'),\n\t\t\t\t\tdistanceFormatted: driver.get('distanceFormatted'),\n\t\t\t\t\tcomputedDriveTimeLeft: driver.get('computed.driveTimeLeft'),\n\t\t\t\t\tcomputedDriveTimeLeftFormatted: driver.get('computed.driveTimeLeftFormatted'),\n\t\t\t\t\tcomputedDriveTimeLeftDay: driver.get('computed.driveTimeLeftDay'),\n\t\t\t\t\tcomputedDriveTimeLeftDayFormatted: driver.get('computed.driveTimeLeftDayFormatted'),\n\t\t\t\t\tcomputedDriveTimeLeftWeek: driver.get('computed.driveTimeLeftWeek'),\n\t\t\t\t\tcomputedDriveTimeLeftWeekFormatted: driver.get('computed.driveTimeLeftWeekFormatted'),\n\t\t\t\t\tremainAmplitudeFormatted: driver.get('computed.remainAmplitudeFormatted'),\n\t\t\t\t\ttotalRecoveryFormatted: driver.get('computed.totalRecoveryFormatted'),\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\treturn drivers\n\t}),\n\n\tactions: {\n\t\tsortBy(key) {\n\t\t\tthis.toggleProperty('sortAscending')\n\t\t\tthis.set('sortKey', key)\n\t\t},\n\t}\n});\n","export default Ember.HTMLBars.template({\"id\":\"wy/27csd\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/tacho-widget/template.hbs\"}});","import Ember from 'ember';\nimport { task, timeout, race } from 'ember-concurrency';\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n    api: service(),\n    isBusy: false,\n    promise: null,\n\ttagName: null,\n    previousTask: Ember.computed('getJSON.lastSuccessful', function () {\n        return this.get('getJSON.lastSuccessful')\n    }),\n\n    getJSON: task(function* (url, filter, interval) {\n        let xhr\n        try {\n            xhr = this.get(\"api\").request(url, {\n                data: filter ? filter : {},\n                dataType: \"json\",\n                timeout: interval ? interval * 2 : 20000,\n\t\t\t})\n            return yield xhr\n        } finally {\n        }\n    }),\n\n    reloadDataTask: task(function* () {\n\t\tlet interval = this.get('interval')\n        if (interval >= 1000) {\n            // reload periodically\n            while (true) {\n                let taskInstance = this.get('getJSON').perform(this.get('url'), this.get('filter'), interval)\n                this.set('promise', taskInstance)\n\n                yield timeout(interval) // Wait interval\n            }\n        } else {\n            // load just once\n            let taskInstance = this.get('getJSON').perform(this.get('url'), this.get('filter'), interval)\n            this.set('promise', taskInstance)\n        }\n    }).on('init')\n})\n","export default Ember.HTMLBars.template({\"id\":\"b5OcAbcD\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"promise\\\",\\\"isRunning\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"previousTask\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[11,1,[[25,\\\"if\\\",[[20,[\\\"previousTask\\\",\\\"value\\\"]],[20,[\\\"previousTask\\\",\\\"value\\\",\\\"data\\\"]],null],null]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        \\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[11,1,[[25,\\\"if\\\",[[20,[\\\"promise\\\",\\\"value\\\"]],[20,[\\\"promise\\\",\\\"value\\\",\\\"data\\\"]],null],null]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/dashboard/widget-async/template.hbs\"}});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    doubleClick() {\n        this.$().attr('contenteditable', true);\n\n        let containerid = this.$().attr('id');\n\n        // Here's the hack for selecting text within the div\n        // https://stackoverflow.com/questions/1173194/select-all-div-text-with-single-mouse-click#answer-1173319\n\n        if (document.selection) { // IE\n            let range = document.body.createTextRange();\n            range.moveToElementText(document.getElementById(containerid));\n            range.select();\n        } else if (window.getSelection) {\n            let range = document.createRange();\n            range.selectNode(document.getElementById(containerid));\n            window.getSelection().removeAllRanges();\n            window.getSelection().addRange(range);\n        }\n\n        document.execCommand(\"copy\");\n        this.$().attr('contenteditable', false);\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"cWAimree\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"content\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/double-clickable/template.hbs\"}});","import { default as Overlay } from 'ember-google-maps/components/g-map/overlay'\nimport { isEmpty } from '@ember/utils'\nimport { get } from '@ember/object'\n\nexport default Overlay.extend({\n\t/** Prevent clicks on overlay from propagating to the map */\n\t_initialDraw() {\n\t\tthis._super(...arguments)\n\n\t\tconst element = this.get('content')\n\t\tif (isEmpty(element)) { return }\n\n\t\twindow.google.maps.OverlayView.preventMapHitsFrom(element)\n\t},\n\n\t/** Prevent errors (because of missing data: projection, position) when overlays are rendered  */\n\tdraw() {\n\t\tconst overlayProjection = this.mapComponent.getProjection()\n\t\tconst position = get(this, 'position')\n\t\tconst content = get(this, 'content')\n\n\t\tif (isEmpty(overlayProjection) || isEmpty(position) || isEmpty(content)) { return }\n\n\t\treturn this._super(...arguments)\n\t},\n})\n","import TextField from '@ember/component/text-field';\nimport { get, set } from '@ember/object';\nimport { isEmpty } from '@ember/utils';\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency';\n\nexport default TextField.extend({\n\tsearchbox: null,\n\n\tgoogleMapsApi: service(),\n\tinitSearchBox: task(function * () {\n\t\tconst input = this.$()[0];\n\t\tconst google = yield get(this, 'googleMapsApi.google');\n\t\tconst places = get(google, 'maps.places');\n\n\t\tif (isEmpty(places)) {\n\t\t\tconsole.warn('Cannot initialize autocomplete ! Google Maps Places not loaded ?');\n\t\t\treturn;\n\t\t}\n\t\tconst searchbox = new places.SearchBox(input);\n\t\tset(this, 'searchbox', searchbox);\n\t\tsearchbox.addListener('places_changed', () => {\n\t\t\tthis.sendAction('onPlacesChanged', searchbox.getPlaces(), this)\n\t\t})\n\n\t\t/**\n\t\t * Fix for autocomplete dropdown not being visible when the map is in fullscreen mode\n\t\t * Source: https://stackoverflow.com/questions/44850642/google-maps-autocomplete-dropdown-hidden-when-google-maps-full-screen-is-true\n\t\t*/\n\t\tdocument.onfullscreenchange = function (event) {\n\t\t\tconst target = event.target;\n\t\t\tconst pacContainerElements = document.getElementsByClassName(\"pac-container\");\n\t\t\tif (pacContainerElements.length > 0) {\n\t\t\t\tconst pacContainer = document.getElementsByClassName(\"pac-container\")[0];\n\t\t\t\tif (pacContainer.parentElement === target) {\n\t\t\t\t\tdocument.getElementsByTagName(\"body\")[0].appendChild(pacContainer);\n\t\t\t\t} else {\n\t\t\t\t\ttarget.appendChild(pacContainer);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}),\n\n\tdidInsertElement() {\n\t\tthis._super(...arguments)\n\n\t\tget(this, 'initSearchBox').perform()\n\t},\n\twillDestroyElement() {\n\t\tdocument.onfullscreenchange = undefined;\n\t\tthis._super.apply(this, arguments);\n\t},\n\t\n\tclear: function () {\n\t\tthis.set('value', null)\n\t},\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    tagName: '',\n    aGroups: [],\n    i18n: Ember.inject.service(),\n    currentUser: Ember.inject.service('current-user'),\n    companyID: Ember.computed.alias('currentUser.user.companyID'),\n\n    inserVehiclesOnGroups(groups, vehicles) {\n        /*\n            0. order by groupID length to get the level\n            1. get parent\n            2. insert in parent the parent Vehicles\n            3. insert in parent childrens the groupID\n        */\n\n        var arrangedGroup = [];\n\n        //new structure of array\n        // DONE\n        groups.toArray().forEach(function (item) {\n            var idSplited = item.id.split('-');\n            idSplited.pop();\n            var parentID = idSplited.join('-');\n            arrangedGroup.push({\n                \"groupID\": item.get('id'),\n                \"level\": item.get('id').split(\"-\").length,\n                \"parentID\": parentID,\n                \"groupName\": item.get('name'),\n                \"childrens\": [],\n                \"vehicles\": []\n            });\n        });\n\n        //insert Vehicles on each Group\n        vehicles.toArray().forEach(function (veh) {\n            arrangedGroup.findBy('groupID', veh.get('groupID')).vehicles.push(veh);\n        });\n\n        // sortArray ASC\n        arrangedGroup.sort(function (a, b) {\n            return a.groupID.length - b.groupID.length;\n        });\n\n        var arrSubGroups = [];\n\n        arrangedGroup.toArray().forEach(function (grp) {\n            var groupLevel = grp.level;\n\n            //get all childs of parent\n            function getChilds(group) {\n                var childrens = [];\n\n                arrangedGroup.forEach(function (n) {\n                    var idSplited = n.groupID.split('-');\n                    idSplited.pop();\n                    var partId = idSplited.join('-');\n                    if (partId === group.groupID) {\n                        n.childrens = getChilds(n);\n                        childrens.push(n);\n                    }\n                });\n                return childrens;\n            }\n\n            //groupLevel == 2: main childrens of companyID\n            if (groupLevel === 2) {// get the parents and push on them\n                var splitedGroupID = grp.groupID.split(\"-\");\n                splitedGroupID.pop();\n                var parentiID = splitedGroupID.join('-');\n                //get all childrens for this parent\n                //find parentID and push in him\n                arrSubGroups.findBy('groupID', parentiID).childrens.push({\n                    //this will insert parent on each level\n                    \"groupID\": grp.groupID,\n                    \"parentID\": grp.parentID,\n                    \"level\": grp.level,\n                    \"groupName\": grp.groupName,\n                    \"childrens\": getChilds(grp),\n                    \"vehicles\": grp.vehicles\n                });\n\n            } else if (groupLevel === 1) {\n                // this must be executed first because the arrangedGroup Array is sorted ASC.\n                // we have not parent. this is the companyID grp\n                arrSubGroups.push({\n                    \"groupID\": grp.groupID,\n                    \"groupName\": grp.groupName,\n                    \"level\": grp.level,\n                    \"parentID\": \"\",\n                    \"childrens\": [],\n                    \"vehicles\": grp.vehicles\n                });\n            }\n        });\n\n        return arrSubGroups;\n\n    },\n\n    didInsertElement() {\n        var _this = this;\n        var groups = this.get(\"groups\").toArray();\n        var vehicles = this.get(\"vehicles\").toArray();\n        var companyID = this.get(\"companyID\")\n        var companyGroups = groups.filterBy(\"companyID\", companyID)\n        var companyVehicles = vehicles.filterBy(\"companyID\", companyID)\n\n        var arrangedGroupsVehicles = this.inserVehiclesOnGroups(companyGroups, companyVehicles);\n        this.set(\"aGroups\", arrangedGroupsVehicles);\n\n        Ember.$('.aclDropDown')\n            .dropdown({\n                useLabels: false,\n                action: 'nothing'\n            })\n            .on('click', '.item', function (e) {\n                e.preventDefault();\n                var item = Ember.$(e.target);\n                var itemType = item.attr(\"data-type\");\n                var itemValue = item.attr(\"data-value\");\n                var parentID = item.attr(\"data-parent\");\n                //if parentID is clear this is a CompanyID\n                if (parentID === \"\") {\n                    parentID = itemValue;\n                }\n\n                item.toggleClass('active');\n\n                function desParents(parID) {\n                    Ember.$(\"#\" + parID).removeClass(\"active\");\n                    var idSplited = parID.split('-');\n                    idSplited.pop();\n                    var partId = idSplited.join('-');\n\n                    if (idSplited.length > 0 && idSplited[0] !== \"\") {\n                        desParents(partId);\n                    }\n                }\n\n                function selParents(parID) {\n                    // get all childs count if all of them are active\n                    var allActive = true;\n                    Ember.$(\".aclDropDown .item[data-parent='\" + parID + \"']\").each(function (index, element) {\n                        if (!Ember.$(element).hasClass(\"active\")) {\n                            allActive = false;\n                        }\n                    });\n                    //if all childrens active. We will remove each one from its inputHidden and add only the parentGroup\n                    if (allActive) {\n                        Ember.$(\"#\" + parID).addClass(\"active\");\n                    }\n\n                    var idSplited = parID.split('-');\n                    idSplited.pop();\n                    var partId = idSplited.join('-');\n\n                    if (idSplited.length > 0 && idSplited[0] !== \"\") {\n                        selParents(partId);\n                    }\n                }\n\n                // addAll Active to input,\n                function allCheckedToInput() {\n\n                    var aGroupsObj = [];\n                    var aVehiclesObj = [];\n                    var aVehicles = [];\n                    var aGroups = [];\n                    //select all active items ant push it to array.\n                    Ember.$(\".aclDropDown .item\").each(function (index, element) {\n                        if (Ember.$(element).hasClass(\"active\")) {\n                            if (Ember.$(element).attr(\"data-type\") === \"vehicle\") {\n                                aVehiclesObj.push({\n                                    \"vehicleID\": Ember.$(element).attr(\"data-value\"),\n                                    \"parentID\": Ember.$(element).attr(\"data-parent\")\n                                });\n                                aVehicles.push(Ember.$(element).attr(\"data-value\"));\n                            }\n                            else if (Ember.$(element).attr(\"data-type\") === \"group\") {\n                                aGroupsObj.push({\n                                    \"groupID\": Ember.$(element).attr(\"data-value\"),\n                                    \"parentID\": Ember.$(element).attr(\"data-parent\")\n                                });\n                                aGroups.push(Ember.$(element).attr(\"data-value\"));\n                            }\n                        }\n                    });\n\n                    aGroupsObj.forEach(function (element) {\n                        // check if parentGroup is on Groups Array\n                        var parentChecked = false;\n                        aGroups.forEach(function (item) {\n                            if (element.parentID.indexOf(item) > -1) {\n                                parentChecked = true;\n                            }\n                        });\n                        // if parentGroup is on Groups, we will not need this group, so we delete it\n                        if (parentChecked) {\n                            aGroups.splice(aGroups.indexOf(element.groupID), 1);\n                        }\n                    });\n\n                    aVehiclesObj.forEach(function (element) {\n                        // check if parentGroup is on Groups Array\n                        var parentChecked = false;\n                        aGroups.forEach(function (item) {\n                            if (element.parentID.indexOf(item) > -1) {\n                                parentChecked = true;\n                            }\n                        });\n                        // if parentGroup is on Groups, we will not need this vehicle, so we delete it\n                        if (parentChecked) {\n                            aVehicles.splice(aVehicles.indexOf(element.vehicleID), 1);\n                        }\n                    });\n\n                    if (aGroups.length > 1) {\n                        Ember.$('#aclGroups').val(aGroups.join(\",\"));\n                    }\n                    else {\n                        Ember.$('#aclGroups').val(aGroups[0]);\n                    }\n\n                    if (aVehicles.length > 1) {\n                        Ember.$('#aclVehicles').val(aVehicles.join(\",\"));\n                    }\n                    else {\n                        Ember.$('#aclVehicles').val(aVehicles[0]);\n                    }\n\n                    // set dropdown selected Text\n                    var text = \"\", gtext = \"\",\n                        vtext = \"\";\n                    if (aGroups.length === 1) {\n                        gtext = aGroups.length + \" \" + _this.get('i18n').t('aclGroup');\n                    }\n                    else if (aGroups.length > 1) {\n                        gtext = aGroups.length + \" \" + _this.get('i18n').t('aclGroups');\n                    }\n                    if (aVehicles.length === 1) {\n                        vtext = aVehicles.length + \" \" + _this.get('i18n').t('aclVehicle');\n                    }\n                    else if (aVehicles.length > 1) {\n                        vtext = aVehicles.length + \" \" + _this.get('i18n').t('aclVehicles');\n                    }\n\n                    if (aGroups.length !== 0 && aVehicles.length !== 0) {\n                        text = gtext + \", \" + vtext;\n                        Ember.$(\".aclDropDown\").dropdown(\"set text\", text);\n                    }\n                    else if (aGroups.length !== 0 || aVehicles.length !== 0) {\n                        text = gtext + vtext;\n                        Ember.$(\".aclDropDown\").dropdown(\"set text\", text);\n                    }\n                    else {\n                        Ember.$(\".aclDropDown\").dropdown(\"restore placeholder text\");\n                    }\n                }\n\n                if (item.hasClass(\"active\") && itemType === \"group\") {          //selecting group\n                    //add active class to all children\n                    Ember.$(\".aclDropDown .item[data-parent^='\" + itemValue + \"']\").each(function (index, element) {\n                        Ember.$(element).addClass(\"active\");\n                    });\n                    selParents(parentID);\n                }\n\n                else if (item.hasClass(\"active\") && itemType === \"vehicle\") {   //selecting vehicle\n                    selParents(parentID);\n                }\n\n                else if (!item.hasClass(\"active\") && itemType === \"group\") {    //deselecting group\n                    //remove active class from all children\n                    Ember.$(\".aclDropDown .item[data-parent^='\" + itemValue + \"']\").each(function (index, element) {\n                        Ember.$(element).removeClass(\"active\");\n                    });\n                    desParents(parentID);\n                }\n\n                else if (!item.hasClass(\"active\") && itemType === \"vehicle\") {  //deselecting vehicle\n                    desParents(parentID);\n                }\n\n                allCheckedToInput();\n            });\n\n\n    },\n    didRender() {\n        var _this = this;\n        if (_this.get(\"preselected\")) {\n            var user = _this.get(\"user\");\n            var aclGroups = user.get(\"acl.groups\");\n            var aclVehicles = user.get(\"acl.vehicles\");\n            if (aclGroups && aclGroups.length > 0) {\n                aclGroups.forEach(function (element) {\n                    let $element = Ember.$(`.aclDropDown .item[data-value=\"${element}\"]`)\n                    if (!$element.hasClass('active')) {\n                        $element.trigger(\"click\")\n                    }\n                });\n            }\n            if (aclVehicles && aclVehicles.length > 0) {\n                aclVehicles.forEach(function (element) {\n                    let $element = Ember.$(`.aclDropDown .item[data-value=\"${element}\"]`)\n                    if (!$element.hasClass('active')) {\n                        $element.trigger(\"click\")\n                    }\n                });\n            }\n        }\n\n        if (this.get('selectedVehicles')) {\n            if (this.get('isGlobalGeofence')) {\n                Ember.$('.aclDropDown').dropdown(\"restore defaults\")\n            }\n            else {\n                this.get('selectedVehicles').forEach(vehicleID => {\n                    Ember.$('.aclDropDown .item[data-value=\"' + vehicleID + '\"]').trigger(\"click\");\n                });\n            }\n        }\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"wvKAAaR6\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui fluid multiple selection icons dropdown aclDropDown\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"hidden\\\"],[9,\\\"id\\\",\\\"aclGroups\\\"],[9,\\\"value\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"hidden\\\"],[9,\\\"id\\\",\\\"aclVehicles\\\"],[9,\\\"value\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"text\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"text\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"acl\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/acl-items\\\",null,[[\\\"aGroups\\\"],[[20,[\\\"aGroups\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/acl-dropdown/template.hbs\"}});","// a bastard copy of inputs/acl-dropdown to make it work for role. no time to develop a decent component.\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n    tagName: '',\n    aGroups: [],\n    i18n: Ember.inject.service(),\n    currentUser: Ember.inject.service('current-user'),\n    companyID: Ember.computed.alias('currentUser.user.companyID'),\n\n    isReadonly: Ember.computed('selectedRole', 'readonly', function () {\n        let readonly = this.get('readonly')\n        if (!this.get('roleFiltering'))\n            return readonly ? true : false\n        let selectedRole = this.get('selectedRole')\n        if (readonly || (!selectedRole || !selectedRole.get('id')))\n            return true\n        if (selectedRole.get('type') === 'admin')\n            return true\n        return false\n    }),\n\n    insertVehiclesOnGroups(groups, vehicles) {\n        /*\n            0. order by groupID length to get the level\n            1. get parent\n            2. insert in parent the parent Vehicles\n            3. insert in parent childrens the groupID\n        */\n\n        // first object is the orphans father\n        var arrangedGroup = [{\n            groupID: 'orphans',\n            level: 0,\n            parentID: '',\n            groupName: 'orphans',\n            childrens: [],\n            vehicles: []\n        }];\n\n        //new structure of array\n        // DONE\n        groups.toArray().forEach(function (item) {\n            var idSplited = item.id.split('-');\n            idSplited.pop();\n            var parentID = idSplited.join('-');\n            arrangedGroup.push({\n                \"groupID\": item.get('id'),\n                \"level\": item.get('id').split(\"-\").length,\n                \"parentID\": parentID,\n                \"groupName\": item.get('name'),\n                \"childrens\": [],\n                \"vehicles\": []\n            });\n        });\n\n        //insert Vehicles on each Group\n        vehicles.toArray().forEach(function (veh) {\n            let findedGroup = arrangedGroup.findBy('groupID', veh.get('groupID'))\n            if (!findedGroup) // is an orphan\n                findedGroup = arrangedGroup.findBy('groupID', 'orphans')\n            findedGroup.vehicles.push(veh);\n        });\n\n        // sortArray ASC\n        arrangedGroup.sort(function (a, b) {\n            return a.groupID.length - b.groupID.length;\n        });\n\n        var arrSubGroups = [];\n\n        let levels = arrangedGroup.mapBy('level')\n        let firstLevel = 0\n        if (levels.length > 1) { // first item will be the orphans father\n            if (levels[0] > 1) { // 1 will be the lower level. the company\n                firstLevel = levels[0]\n            }\n        }\n\n        arrangedGroup.forEach(function (grp) {\n            var groupLevel = grp.level;\n\n            //get all childs of parent\n            function getChilds(group) {\n                var childrens = [];\n\n                arrangedGroup.forEach(function (n) {\n                    var idSplited = n.groupID.split('-');\n                    idSplited.pop();\n                    var partId = idSplited.join('-');\n                    if (partId === group.groupID) {\n                        n.childrens = getChilds(n);\n                        childrens.push(n);\n                    }\n                });\n                return childrens;\n            }\n\n            //groupLevel == 2: main childrens of companyID\n            if (groupLevel === 2) {// get the parents and push on them\n                var splitedGroupID = grp.groupID.split(\"-\");\n                splitedGroupID.pop();\n                var parentiID = splitedGroupID.join('-');\n                //get all childrens for this parent\n                //find parentID and push in him\n                let parentGrp = arrSubGroups.findBy('groupID', parentiID)\n                if (!parentGrp) // is an orphan group\n                    parentGrp = arrSubGroups.findBy('groupID', 'orphans')\n                parentGrp.childrens.push({\n                    //this will insert parent on each level\n                    \"groupID\": grp.groupID,\n                    \"parentID\": grp.parentID,\n                    \"level\": grp.level,\n                    \"groupName\": grp.groupName,\n                    \"childrens\": getChilds(grp),\n                    \"vehicles\": grp.vehicles\n                });\n\n            } else if (groupLevel === 1) {\n                // this must be executed first because the arrangedGroup Array is sorted ASC.\n                // we have not parent. this is the companyID grp\n                arrSubGroups.push({\n                    \"groupID\": grp.groupID,\n                    \"groupName\": grp.groupName,\n                    \"level\": grp.level,\n                    \"parentID\": \"\",\n                    \"childrens\": [],\n                    \"vehicles\": grp.vehicles\n                });\n            } else if (groupLevel === 0) { // orphans\n                // we have not parent. this is the orphans grp\n                arrSubGroups.push({\n                    \"groupID\": grp.groupID,\n                    \"groupName\": grp.groupName,\n                    \"level\": grp.level,\n                    \"parentID\": \"\",\n                    \"childrens\": [],\n                    \"vehicles\": grp.vehicles\n                });\n            }\n        });\n\n        return arrSubGroups;\n    },\n\n    init() {\n        this._super(...arguments)\n        let selectedRole = this.get('selectedRole')\n        let oldRoleID = selectedRole ? selectedRole.get('id') : null\n        this.set('oldRoleID', oldRoleID)\n    },\n\n    didInsertElement() {\n        var _this = this;\n        var groups = this.get(\"groups\").toArray();\n        var vehicles = this.get(\"vehicles\").toArray();\n        var companyID = this.get(\"companyID\")\n        var companyGroups = groups.filterBy(\"companyID\", companyID)\n        var companyVehicles = vehicles.filterBy(\"companyID\", companyID)\n\n        var arrangedGroupsVehicles = this.insertVehiclesOnGroups(companyGroups, companyVehicles);\n        this.set(\"aGroups\", arrangedGroupsVehicles);\n\n        Ember.$('.acl-groups-vehicles')\n            .dropdown({\n                useLabels: false,\n                action: 'nothing'\n            })\n            .on('click', '.item', function (e) {\n                e.preventDefault();\n                var item = Ember.$(e.target);\n                var itemType = item.attr(\"data-type\");\n                var itemValue = item.attr(\"data-value\");\n                var parentID = item.attr(\"data-parent\");\n                //if parentID is clear this is a CompanyID\n                if (parentID === \"\") {\n                    parentID = itemValue;\n                }\n\n                item.toggleClass('active');\n\n                function desParents(parID) {\n                    Ember.$(\"#\" + parID).removeClass(\"active\");\n                    var idSplited = parID.split('-');\n                    idSplited.pop();\n                    var partId = idSplited.join('-');\n\n                    if (idSplited.length > 0 && idSplited[0] !== \"\") {\n                        desParents(partId);\n                    }\n                }\n\n                function selParents(parID) {\n                    // get all childs count if all of them are active\n                    var allActive = true;\n                    Ember.$(\".acl-groups-vehicles .item[data-parent='\" + parID + \"']\").each(function (index, element) {\n                        if (!Ember.$(element).hasClass(\"active\")) {\n                            allActive = false;\n                        }\n                    });\n                    //if all childrens active. We will remove each one from its inputHidden and add only the parentGroup\n                    if (allActive) {\n                        Ember.$(\"#\" + parID).addClass(\"active\");\n                    }\n\n                    var idSplited = parID.split('-');\n                    idSplited.pop();\n                    var partId = idSplited.join('-');\n\n                    if (idSplited.length > 0 && idSplited[0] !== \"\") {\n                        selParents(partId);\n                    }\n                }\n\n                // addAll Active to input,\n                function allCheckedToInput() {\n\n                    var aGroupsObj = [];\n                    var aVehiclesObj = [];\n                    var aVehicles = [];\n                    var aGroups = [];\n                    //select all active items ant push it to array.\n                    Ember.$(\".acl-groups-vehicles .item\").each(function (index, element) {\n                        if (Ember.$(element).hasClass(\"active\")) {\n                            if (Ember.$(element).attr(\"data-type\") === \"vehicle\") {\n                                aVehiclesObj.push({\n                                    \"vehicleID\": Ember.$(element).attr(\"data-value\"),\n                                    \"parentID\": Ember.$(element).attr(\"data-parent\")\n                                });\n                                aVehicles.push(Ember.$(element).attr(\"data-value\"));\n                            }\n                            else if (Ember.$(element).attr(\"data-type\") === \"group\") {\n                                aGroupsObj.push({\n                                    \"groupID\": Ember.$(element).attr(\"data-value\"),\n                                    \"parentID\": Ember.$(element).attr(\"data-parent\")\n                                });\n                                aGroups.push(Ember.$(element).attr(\"data-value\"));\n                            }\n                        }\n                    });\n\n                    aGroupsObj.forEach(function (element) {\n                        // check if parentGroup is on Groups Array\n                        var parentChecked = false;\n                        aGroups.forEach(function (item) {\n                            if (element.parentID.indexOf(item) > -1) {\n                                parentChecked = true;\n                            }\n                        });\n                        // if parentGroup is on Groups, we will not need this group, so we delete it\n                        if (parentChecked) {\n                            aGroups.splice(aGroups.indexOf(element.groupID), 1);\n                        }\n                    });\n\n                    aVehiclesObj.forEach(function (element) {\n                        // check if parentGroup is on Groups Array\n                        var parentChecked = false;\n                        aGroups.forEach(function (item) {\n                            if (element.parentID.indexOf(item) > -1) {\n                                parentChecked = true;\n                            }\n                        });\n                        // if parentGroup is on Groups, we will not need this vehicle, so we delete it\n                        if (parentChecked) {\n                            aVehicles.splice(aVehicles.indexOf(element.vehicleID), 1);\n                        }\n                    });\n\n                    if (aGroups.length > 1) {\n                        Ember.$('#aclGroups').val(aGroups.join(\",\"));\n                    }\n                    else {\n                        Ember.$('#aclGroups').val(aGroups[0]);\n                    }\n\n                    if (aVehicles.length > 1) {\n                        Ember.$('#aclVehicles').val(aVehicles.join(\",\"));\n                    }\n                    else {\n                        Ember.$('#aclVehicles').val(aVehicles[0]);\n                    }\n\n                    let acl = _this.get('acl')\n                    acl.set('groups', aGroups)\n                    acl.set('vehicles', aVehicles)\n\n                    // set dropdown selected Text\n                    var text = \"\", gtext = \"\",\n                        vtext = \"\";\n                    if (aGroups.length === 1) {\n                        gtext = aGroups.length + \" \" + _this.get('i18n').t('aclGroup');\n                    }\n                    else if (aGroups.length > 1) {\n                        gtext = aGroups.length + \" \" + _this.get('i18n').t('aclGroups');\n                    }\n                    if (aVehicles.length === 1) {\n                        vtext = aVehicles.length + \" \" + _this.get('i18n').t('aclVehicle');\n                    }\n                    else if (aVehicles.length > 1) {\n                        vtext = aVehicles.length + \" \" + _this.get('i18n').t('aclVehicles');\n                    }\n\n                    if (aGroups.length !== 0 && aVehicles.length !== 0) {\n                        text = gtext + \", \" + vtext;\n                        Ember.$(\".acl-groups-vehicles\").dropdown(\"set text\", text);\n                    }\n                    else if (aGroups.length !== 0 || aVehicles.length !== 0) {\n                        text = gtext + vtext;\n                        Ember.$(\".acl-groups-vehicles\").dropdown(\"set text\", text);\n                    }\n                    else {\n                        Ember.$(\".acl-groups-vehicles\").dropdown(\"restore placeholder text\");\n                    }\n                }\n\n                if (item.hasClass(\"active\") && itemType === \"group\") {          //selecting group\n                    //add active class to all children\n                    Ember.$(\".acl-groups-vehicles .item[data-parent^='\" + itemValue + \"']\").each(function (index, element) {\n                        Ember.$(element).addClass(\"active\");\n                    });\n                    selParents(parentID);\n                }\n\n                else if (item.hasClass(\"active\") && itemType === \"vehicle\") {   //selecting vehicle\n                    selParents(parentID);\n                }\n\n                else if (!item.hasClass(\"active\") && itemType === \"group\") {    //deselecting group\n                    //remove active class from all children\n                    Ember.$(\".acl-groups-vehicles .item[data-parent^='\" + itemValue + \"']\").each(function (index, element) {\n                        Ember.$(element).removeClass(\"active\");\n                    });\n                    desParents(parentID);\n                }\n\n                else if (!item.hasClass(\"active\") && itemType === \"vehicle\") {  //deselecting vehicle\n                    desParents(parentID);\n                }\n\n                allCheckedToInput();\n            });\n    },\n\n    didUpdateAttrs() {\n        this._super(...arguments)\n        if (!this.get('roleFiltering')) return // only update if roleFiltering is active\n\n        let selectedRole = this.get('selectedRole')\n        if (!selectedRole) return\n\n        let roleHasChanges = this.get('oldRoleID') != selectedRole.get('id')\n        if (!roleHasChanges) return\n\n        var groups = this.get(\"groups\").toArray()\n        var vehicles = this.get(\"vehicles\").toArray()\n        var companyID = this.get(\"companyID\")\n        var companyGroups = groups.filterBy(\"companyID\", companyID)\n        var companyVehicles = vehicles.filterBy(\"companyID\", companyID)\n\n        // on role change set defaults\n        var aclGroups = selectedRole.get(\"acl.groups\").toArray()\n        var aclVehicles = selectedRole.get(\"acl.vehicles\").toArray()\n        let acl = this.get('acl')\n        acl.set('groups', aclGroups)\n        acl.set('vehicles', aclVehicles)\n\n        var arrangedGroupsVehicles = this.insertVehiclesOnGroups(companyGroups, companyVehicles)\n        this.set(\"aGroups\", arrangedGroupsVehicles)\n    },\n\n    didRender() {\n        var acl = this.get(\"acl\");\n        var aclGroups = acl.get(\"groups\") ? acl.get(\"groups\").toArray() : []\n        var aclVehicles = acl.get(\"vehicles\") ? acl.get(\"vehicles\").toArray() : []\n        if (aclGroups && aclGroups.length > 0) {\n            aclGroups.forEach(function (element) {\n                let $element = Ember.$(`.acl-groups-vehicles .item[data-value=\"${element}\"]`)\n                if (!$element.hasClass('active')) {\n                    $element.trigger(\"click\")\n                }\n            });\n        }\n        if (aclVehicles && aclVehicles.length > 0) {\n            aclVehicles.forEach(function (element) {\n                let $element = Ember.$(`.acl-groups-vehicles .item[data-value=\"${element}\"]`)\n                if (!$element.hasClass('active')) {\n                    $element.trigger(\"click\")\n                }\n            });\n        }\n\n        if (this.get('selectedVehicles')) {\n            if (this.get('isGlobalGeofence')) {\n                Ember.$('.acl-groups-vehicles').dropdown(\"restore defaults\")\n            }\n            else {\n                this.get('selectedVehicles').forEach((vehicle) => {\n                    Ember.$('.acl-groups-vehicles .item[data-value=\"' + vehicle.get('id') + '\"]').trigger(\"click\");\n                });\n            }\n        }\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"jf2Gb8eY\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui fluid multiple selection icons dropdown acl-groups-vehicles groups-vehicles\\\",[25,\\\"if\\\",[[20,[\\\"isReadonly\\\"]],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"hidden\\\"],[9,\\\"id\\\",\\\"aclGroups\\\"],[9,\\\"value\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"hidden\\\"],[9,\\\"id\\\",\\\"aclVehicles\\\"],[9,\\\"value\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"text\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"text\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"acl\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu max200h\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/acl-items\\\",null,[[\\\"aGroups\\\"],[[20,[\\\"aGroups\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/acl-grp-veh/template.hbs\"}});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    tagName: ''\n});","export default Ember.HTMLBars.template({\"id\":\"GfRXVGQe\",\"block\":\"{\\\"symbols\\\":[\\\"group\\\",\\\"vehicle\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"aGroups\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"level\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item level\\\",[19,1,[\\\"level\\\"]],[25,\\\"if\\\",[[19,1,[\\\"disabled\\\"]],\\\" disabled\\\"],null]]]],[9,\\\"data-type\\\",\\\"group\\\"],[10,\\\"id\\\",[26,[[19,1,[\\\"groupID\\\"]]]]],[10,\\\"data-value\\\",[26,[[19,1,[\\\"groupID\\\"]]]]],[10,\\\"data-parent\\\",[26,[[19,1,[\\\"parentID\\\"]]]]],[7],[0,\\\"\\\\n            \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[19,1,[\\\"groupName\\\"]],false],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[19,1,[\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item level\\\",[25,\\\"add\\\",[1,[19,1,[\\\"level\\\"]]],null],[25,\\\"if\\\",[[19,2,[\\\"disabled\\\"]],\\\" disabled\\\"],null]]]],[10,\\\"id\\\",[26,[[19,2,[\\\"id\\\"]]]]],[9,\\\"data-type\\\",\\\"vehicle\\\"],[10,\\\"data-value\\\",[26,[[19,2,[\\\"id\\\"]]]]],[10,\\\"data-parent\\\",[26,[[19,2,[\\\"groupID\\\"]]]]],[7],[0,\\\"\\\\n            \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[19,2,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[4,\\\"if\\\",[[19,1,[\\\"childrens\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[25,\\\"inputs/acl-items\\\",null,[[\\\"aGroups\\\"],[[19,1,[\\\"childrens\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/acl-items/template.hbs\"}});","import Component from '@ember/component'\nimport { computed, set, observer } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nconst pages = [\n\t{\n\t\troute: 'map',\n\t\tlevel: 1,\n\t\ttranslationKey: 'map',\n\t\tmoduleName: 'map',\n\t},\n\t{\n\t\troute: 'map.index',\n\t\ttranslationKey: 'vehiclesStatus',\n\t\tmoduleName: 'map',\n\t},\n\t{\n\t\troute: 'map.routes',\n\t\ttranslationKey: 'routes',\n\t\tmoduleName: 'mapRoutes',\n\t},\n\t{\n\t\troute: 'map.route-eta',\n\t\ttranslationKey: 'routesEta',\n\t\tmoduleName: 'mapEta',\n\t},\n\n\t{\n\t\troute: 'e-transport',\n\t\tlevel: 1,\n\t\ttranslationKey: 'etransport.etransport',\n\t\tmoduleName: 'eTransportPro',\n\t},\n\t{\n\t\troute: 'e-transport.uits',\n\t\ttranslationKey: 'etransport.uits',\n\t\tmoduleName: 'eTransportPro',\n\t},\n\t{\n\t\troute: 'e-transport.partners',\n\t\ttranslationKey: 'etransport.partners',\n\t\tmoduleName: 'eTransportPro',\n\t},\n\n\t{\n\t\troute: 'reports',\n\t\tlevel: 1,\n\t\ttranslationKey: 'reports.reports',\n\t\tmoduleName: '',\n\t},\n\t{\n\t\troute: 'reports.faz',\n\t\ttranslationKey: 'reports.menu.faz',\n\t\tmoduleName: 'report1',\n\t},\n\t{\n\t\troute: 'reports.km-day',\n\t\ttranslationKey: 'reports.menu.km-day',\n\t\tmoduleName: 'report25',\n\t},\n\t{\n\t\troute: 'reports.fleet-summary',\n\t\ttranslationKey: 'reports.menu.fleet-summary',\n\t\tmoduleName: 'report17',\n\t},\n\t{\n\t\troute: 'reports.fleet-summary-extended',\n\t\ttranslationKey: 'reports.menu.fleet-summary-extended',\n\t\tmoduleName: 'report34',\n\t},\n\t{\n\t\troute: 'reports.route',\n\t\ttranslationKey: 'reports.menu.route',\n\t\tmoduleName: 'report2',\n\t},\n\t{\n\t\troute: 'reports.driver-routes',\n\t\ttranslationKey: 'reports.menu.driver-routes',\n\t\tmoduleName: 'report33',\n\t},\n\t{\n\t\troute: 'reports.stationary',\n\t\ttranslationKey: 'reports.menu.stationary',\n\t\tmoduleName: 'report3',\n\t},\n\t{\n\t\troute: 'reports.fuel-level',\n\t\ttranslationKey: 'reports.menu.fuel-level',\n\t\tmoduleName: 'report11',\n\t},\n\t{\n\t\troute: 'reports.consumption',\n\t\ttranslationKey: 'reports.menu.consumption',\n\t\tmoduleName: 'report24',\n\t},\n\t{\n\t\troute: 'reports.engine',\n\t\ttranslationKey: 'reports.menu.engine',\n\t\tmoduleName: 'report12',\n\t},\n\t{\n\t\troute: 'reports.afterhours',\n\t\ttranslationKey: 'reports.menu.afterhours',\n\t\tmoduleName: 'report5',\n\t},\n\t{\n\t\troute: 'reports.poi',\n\t\ttranslationKey: 'reports.menu.poi',\n\t\tmoduleName: 'report6',\n\t},\n\t{\n\t\troute: 'reports.temperature',\n\t\ttranslationKey: 'reports.menu.temperature',\n\t\tmoduleName: 'report27',\n\t},\n\t{\n\t\troute: 'reports.temperature-range',\n\t\ttranslationKey: 'reports.menu.temperature-range',\n\t\tmoduleName: 'report8',\n\t},\n\t{\n\t\troute: 'reports.taxi',\n\t\ttranslationKey: 'reports.menu.taxi',\n\t\tmoduleName: 'report13',\n\t},\n\t{\n\t\troute: 'reports.country',\n\t\ttranslationKey: 'reports.menu.countries',\n\t\tmoduleName: 'report14',\n\t},\n\t{\n\t\troute: 'reports.cost',\n\t\ttranslationKey: 'reports.menu.costs',\n\t\tmoduleName: 'report16',\n\t},\n\t{\n\t\troute: 'reports.cabotage',\n\t\ttranslationKey: 'reports.menu.cabotage',\n\t\tmoduleName: 'report28',\n\t},\n\t{\n\t\troute: 'reports.timesheet',\n\t\ttranslationKey: 'reports.menu.timesheet',\n\t\tmoduleName: 'report18',\n\t},\n\t{\n\t\troute: 'reports.construction',\n\t\ttranslationKey: 'reports.menu.construction',\n\t\tmoduleName: 'report19',\n\t},\n\t{\n\t\troute: 'reports.tacho-files',\n\t\ttranslationKey: 'reports.menu.tacho-files',\n\t\tmoduleName: 'report22',\n\t},\n\t{\n\t\troute: 'reports.tacho-timesheet',\n\t\ttranslationKey: 'reports.menu.tacho-timesheet',\n\t\tmoduleName: 'report26',\n\t},\n\t{\n\t\troute: 'reports.obu-tickets',\n\t\ttranslationKey: 'reports.menu.obu-tickets',\n\t\tmoduleName: 'report21',\n\t},\n\t{\n\t\troute: 'reports.transits',\n\t\ttranslationKey: 'reports.menu.transits',\n\t\tmoduleName: 'report29',\n\t},\n\n\t{\n\t\troute: 'driving',\n\t\tlevel: 1,\n\t\ttranslationKey: 'driving.driverBehaviour',\n\t\tmoduleName: '',\n\t\troleTypeRestriction: ['partner'],\n\t},\n\t{\n\t\troute: 'driving.fcz',\n\t\ttranslationKey: 'driving.menu.fcz',\n\t\tmoduleName: 'report30',\n\t\troleTypeRestriction: ['partner'],\n\t},\n\t{\n\t\troute: 'driving.performance',\n\t\ttranslationKey: 'driving.menu.performance',\n\t\tmoduleName: 'driverPerformance',\n\t\troleTypeRestriction: ['partner'],\n\t},\n\t{\n\t\troute: 'driving.engine-load-rpm',\n\t\ttranslationKey: 'driving.menu.engine-load-rpm',\n\t\tmoduleName: 'report31',\n\t\troleTypeRestriction: ['partner'],\n\t},\n\n\t{\n\t\troute: 'dispatch',\n\t\tlevel: 1,\n\t\ttranslationKey: 'dispatch.dispatch',\n\t\tmoduleName: 'dispatch',\n\t\troleTypeRestriction: ['partner'],\n\t},\n\n\t{\n\t\troute: 'management',\n\t\tlevel: 1,\n\t\ttranslationKey: 'management.management',\n\t\tmoduleName: 'management',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.vehicles',\n\t\ttranslationKey: 'vehicles',\n\t\tmoduleName: 'vehicles',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.users',\n\t\ttranslationKey: 'users',\n\t\tmoduleName: 'users',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.roles',\n\t\ttranslationKey: 'roles',\n\t\tmoduleName: 'management',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.groups',\n\t\ttranslationKey: 'divisions',\n\t\tmoduleName: 'subgroups',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.geofences',\n\t\ttranslationKey: 'poi',\n\t\tmoduleName: 'geofences',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.timetables',\n\t\ttranslationKey: 'timetables',\n\t\tmoduleName: 'timetables',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.integrations',\n\t\ttranslationKey: 'integrations',\n\t\tmoduleName: 'integrations',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.maintenance.list',\n\t\ttranslationKey: 'maintenance.list',\n\t\tmoduleName: 'maintenance',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.maintenance.rules',\n\t\ttranslationKey: 'maintenance.rules',\n\t\tmoduleName: 'maintenance',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\t{\n\t\troute: 'management.temporary-links',\n\t\ttranslationKey: 'temporary-links',\n\t\tmoduleName: 'temporaryLink',\n\t\troleTypeRestriction: ['driver', 'partner'],\n\t},\n\n\t{\n\t\troute: 'settings',\n\t\tlevel: 1,\n\t\ttranslationKey: 'settings.settings',\n\t\tmoduleName: '',\n\t\troleTypeRestriction: ['manager', 'driver', 'partner'],\n\t},\n\t{\n\t\troute: 'settings.notifications',\n\t\ttranslationKey: 'settings.menu.notifications',\n\t\tmoduleName: 'settingsNotifications',\n\t\troleTypeRestriction: ['manager', 'driver', 'partner'],\n\t},\n\t{\n\t\troute: 'settings.speedLimit',\n\t\ttranslationKey: 'settings.menu.speedLimit',\n\t\tmoduleName: '',\n\t\troleTypeRestriction: ['manager', 'driver', 'partner'],\n\t},\n\t{\n\t\troute: 'settings.costs',\n\t\ttranslationKey: 'settings.menu.costs',\n\t\tmoduleName: 'report16',\n\t\troleTypeRestriction: ['manager', 'driver', 'partner'],\n\t},\n\t{\n\t\troute: 'settings.cabotage',\n\t\ttranslationKey: 'settings.menu.cabotage',\n\t\tmoduleName: 'report28',\n\t\troleTypeRestriction: ['manager', 'driver', 'partner'],\n\t},\n\t{\n\t\troute: 'settings.orders',\n\t\ttranslationKey: 'settings.menu.orders',\n\t\tmoduleName: 'orders',\n\t\troleTypeRestriction: ['manager', 'driver', 'partner'],\n\t},\n\t{\n\t\troute: 'settings.driverBehaviour',\n\t\ttranslationKey: 'settings.menu.driverBehaviour',\n\t\tmoduleName: 'driverBehaviour',\n\t\troleTypeRestriction: ['manager', 'driver', 'partner'],\n\t},\n\t{\n\t\troute: 'tms',\n\t\tlevel: 1,\n\t\ttranslationKey: 'tms.title',\n\t\tmoduleName: 'tms',\n\t},\n]\n\nconst defaultAdmin = ['map', 'reports', 'driving', 'dispatch', 'management', 'settings', 'tms', 'e-transport']\n// default manager will not have selected integrations\nconst defaultManager = [\n\t'map',\n\t'reports',\n\t'driving',\n\t'dispatch',\n\t'management.vehicles',\n\t'management.users',\n\t'management.roles',\n\t'management.groups',\n\t'management.geofences',\n\t'management.timetables',\n\t'management.maintenance.list',\n\t'management.maintenance.rules',\n\n]\nconst defaultDriver = ['map', 'reports', 'driving', 'dispatch']\nconst defaultPartner = ['map']\n\nexport default Component.extend({\n\tcurrentUser: service('current-user'),\n\tmodules: computed.readOnly('currentUser.modules'),\n\ti18n: service(),\n\n\ttagName: '',\n\n\tinit() {\n\t\tthis._super(...arguments)\n\t\tthis.set('availablePages', this.makePages())\n\t\tthis.set('selectedPages', this.selectSubCategoriesPages())\n\n\t\tthis.set('message', {\n\t\t\taddResult: 'Add <b>{term}</b>',\n\t\t\tcount: `{count} ${this.get('i18n').t('pages').string.toLowerCase()}`,\n\t\t\tmaxSelections: 'Max {maxCount} selections',\n\t\t\tnoResults: `${this.get('i18n').t('noResults')}.`\n\t\t})\n\t},\n\n\tobsReadonlyChange: observer('readonly', function () { // eslint-disable-line ember-best-practices/no-observers\n\t\tthis.set('selectedPages', this.selectSubCategoriesPages())\n\t}),\n\n\tobsTypeChange: observer('type', function () { // eslint-disable-line ember-best-practices/no-observers\n\t\tlet type = this.get('type')\n\t\tset(this, 'availablePages', this.makePages())\n\n\t\tsetTimeout(() => {\n\t\t\tswitch (type) {\n\t\t\t\tcase 'admin': set(this, 'selectedPages', this.selectSubCategoriesPages(defaultAdmin)); break\n\t\t\t\tcase 'partner': set(this, 'selectedPages', this.selectSubCategoriesPages(defaultPartner)); break\n\t\t\t\tcase 'manager': set(this, 'selectedPages', this.selectSubCategoriesPages(defaultManager)); break\n\t\t\t\tcase 'driver': set(this, 'selectedPages', this.selectSubCategoriesPages(defaultDriver)); break\n\t\t\t}\n\t\t}, 50)\n\t}),\n\n\tselectSubCategoriesPages(customSelect) { // addapt from api to fron-end\n\t\t// 1 if category is selected. select all childs\n\t\tlet selectedPages = this.get('selectedPages').toArray()\n\t\tif (customSelect)\n\t\t\tselectedPages = customSelect\n\n\t\tlet availablePages = this.get('availablePages')\n\t\tlet categories = selectedPages.filter(pag => {\n\t\t\tif (pag.indexOf('.') != -1)\n\t\t\t\treturn false\n\t\t\treturn true\n\t\t})\n\t\tif (categories.length) { // select childs for each category\n\t\t\tcategories.forEach(cat => {\n\t\t\t\tlet childs = availablePages.filter(pag => {\n\t\t\t\t\tif (pag.route.indexOf(`${cat}.`) === 0)\n\t\t\t\t\t\treturn true\n\t\t\t\t\treturn false\n\t\t\t\t}).mapBy('route')\n\t\t\t\tselectedPages = selectedPages.concat(childs)\n\t\t\t})\n\t\t\treturn selectedPages\n\t\t}\n\t\treturn selectedPages\n\t},\n\n\tmakePages() {\n\t\tlet roleType = this.get('type')\n\t\tlet modules = this.get('modules')\n\n\t\treturn pages.filter(page => {\n\t\t\tlet valid = true\n\t\t\tif (page.roleTypeRestriction && page.roleTypeRestriction.length) {\n\t\t\t\tpage.roleTypeRestriction.forEach(restriction => {\n\t\t\t\t\tif (restriction === roleType)\n\t\t\t\t\t\tvalid = false\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (page.moduleName)\n\t\t\t\tif (!modules[page.moduleName])\n\t\t\t\t\tvalid = false\n\n\t\t\treturn valid\n\t\t})\n\t},\n\n\tactions: {\n\t\tonCatSelection(cat) {\n\t\t\tlet selectedPages = this.get('selectedPages')\n\t\t\tlet availablePages = this.get('availablePages')\n\t\t\tlet catIsSelected = selectedPages.indexOf(cat) != -1\n\t\t\tif (catIsSelected) {\n\t\t\t\tselectedPages.splice(selectedPages.indexOf(cat), 1)\n\t\t\t\tlet childs = availablePages.filter(pag => {\n\t\t\t\t\tif (pag.route.indexOf(`${cat}.`) === 0)\n\t\t\t\t\t\treturn true\n\t\t\t\t\treturn false\n\t\t\t\t}).mapBy('route')\n\t\t\t\tif (childs.length)\n\t\t\t\t\tchilds.forEach(child => {\n\t\t\t\t\t\tif (selectedPages.indexOf(child) != -1)\n\t\t\t\t\t\t\tselectedPages.splice(selectedPages.indexOf(child), 1)\n\t\t\t\t\t})\n\t\t\t\tthis.notifyPropertyChange('selectedPages')\n\t\t\t}\n\t\t\telse {\n\t\t\t\tselectedPages.push(cat)\n\t\t\t\tlet unselectedChilds = availablePages.filter(pag => {\n\t\t\t\t\tif (pag.route.indexOf(`${cat}.`) === 0 && selectedPages.indexOf(pag.route) == -1)\n\t\t\t\t\t\treturn true\n\t\t\t\t\treturn false\n\t\t\t\t}).mapBy('route')\n\t\t\t\tif (unselectedChilds.length) {\n\t\t\t\t\tselectedPages = selectedPages.concat(unselectedChilds)\n\t\t\t\t\tset(this, 'selectedPages', selectedPages)\n\t\t\t\t}\n\t\t\t\tthis.notifyPropertyChange('selectedPages')\n\t\t\t}\n\t\t},\n\t\tonChildSelection(child) {\n\t\t\tlet selectedPages = this.get('selectedPages')\n\t\t\tlet childIsSelected = selectedPages.indexOf(child) != -1\n\t\t\tlet category = child.indexOf('.') != -1 ? child.substring(0, child.indexOf('.')) : child\n\t\t\tlet catIsSelected = selectedPages.indexOf(category) != -1\n\t\t\tlet parentChilds = this.get('availablePages').filter(pag => {\n\t\t\t\tif (pag.route.indexOf(`${category}.`) === 0)\n\t\t\t\t\treturn true\n\t\t\t\treturn false\n\t\t\t}).mapBy('route')\n\t\t\tif (childIsSelected) {\n\t\t\t\t// remove child\n\t\t\t\tselectedPages.splice(selectedPages.indexOf(child), 1)\n\t\t\t\t// if parent is selected remove parent and select all childs except the child we are removing\n\t\t\t\tif (catIsSelected)\n\t\t\t\t\tselectedPages.splice(selectedPages.indexOf(category), 1) // remove parent\n\t\t\t}\n\t\t\telse { // add child and check if all other childs are selected and select the parent if all childs are selected\n\t\t\t\t// 1- select child\n\t\t\t\t// 2- check if all brothers are selected. if all are selected. check parent\n\t\t\t\tlet selectedBrothers = selectedPages.filter(pag => {\n\t\t\t\t\tif (pag.indexOf(`${category}.`) === 0)\n\t\t\t\t\t\treturn true\n\t\t\t\t\treturn false\n\t\t\t\t})\n\t\t\t\tif (selectedBrothers.length === parentChilds.length - 1) { // all brothers are selected\n\t\t\t\t\tselectedPages.push(category)\n\t\t\t\t}\n\t\t\t\tselectedPages.push(child)\n\t\t\t}\n\t\t\tthis.notifyPropertyChange('selectedPages')\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"SnnoAKBv\",\"block\":\"{\\\"symbols\\\":[\\\"page\\\"],\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"useLabels\\\",\\\"message\\\",\\\"selected\\\",\\\"action\\\"],[[25,\\\"concat\\\",[\\\"fluid multiple selection icons groups-vehicles\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],false,[20,[\\\"message\\\"]],[20,[\\\"selectedPages\\\"]],\\\"nothing\\\"]],{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"pages\\\"],null],false],[8],[0,\\\"\\\\n    \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu max200h\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"availablePages\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"level\\\"]]],null,{\\\"statements\\\":[[0,\\\"                \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item level1\\\"],[10,\\\"data-value\\\",[19,1,[\\\"route\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"onCatSelection\\\",[19,1,[\\\"route\\\"]]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"                \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item level2\\\"],[10,\\\"data-value\\\",[19,1,[\\\"route\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"onChildSelection\\\",[19,1,[\\\"route\\\"]]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[1]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/acl-pages/template.hbs\"}});","/**\n * http://t1m0n.name/air-datepicker/docs/\n */\nimport Ember from 'ember';\nimport moment from 'moment';\n/**\n * dateFormat moment.js supported format See: https://momentjs.com/docs/#/displaying/\n */\nexport default Ember.Component.extend({\n    datepicker:     null,\n    currentUser: Ember.inject.service('current-user'),\n    appLanguage: Ember.computed.alias(\"currentUser.locale\"),\n\n    dateFormat: \"DD/MM/YYYY HH:mm\",\n    iconType: \"calendar alternate outline\",\n    iconPosition: \"left\",\n    position: \"bottom left\",\n    autoClose: true,\n    pickerType: \"datetime\",\n    inline: false,\n    timeFormat: \"HH:mm\",\n    \n    // To distinguish between user interactions and controller callbacks\n    _internalUpdate: false,\n    _startDate: null,\n    _minDate: null,\n    _maxDate: null,\n    _selectedDate: null,\n\n    init: function () {\n        this._super(... arguments);\n        this.validateDateProperty(\"maxDate\");\n        this.validateDateProperty(\"minDate\");\n        this.validateDateProperty(\"startDate\");\n        this.validateDateProperty(\"selectedDate\");\n    },\n\n    validateDateProperty: function (property) {\n        var value = this.get(property);\n        if (value) {\n            if (typeof value != \"object\") {\n                value = moment(value).toDate();\n            }\n            if (value != this.get(\"_\" + property)) {\n                this.set(\"_\" + property, value);\n            }\n        }\n    },\n    \n    didInsertElement() {\n        var\n            _this = this,\n            datepickerInstance = null,\n            timepicker  = false,\n            classes     = null;\n\n        switch (this.get(\"pickerType\")) {\n            case \"datetime\":\n                timepicker = true;\n            break;\n            case \"time\":\n                timepicker = true;\n                classes = \"only-timepicker\";\n            break;\n        }\n\n        datepickerInstance = this.$('input').datepicker({\n            classes:    classes,\n            timepicker: timepicker,\n            autoClose:  _this.get('autoClose'),\n            minDate:    _this.get('_minDate'),\n            maxDate:    _this.get(\"_maxDate\"),\n            startDate:  _this.get('_startDate'),\n            date:       _this.get(\"_selectedDate\"),\n            inline:     _this.get(\"inline\"),\n            language:   _this.get(\"appLanguage\"),\n            view:       _this.get(\"view\"),\n            position:   _this.get(\"position\"),\n            minView:    _this.get(\"view\"),\n            timeFormat: _this.get(\"timeFormat\"),\n\n\n            toggleSelected: false,\n\n            onShow:     function (dp, animationCompleted) {\n                            if (animationCompleted) {\n                                _this.set('initialSelectedDate', _this.get('selectedDate'))\n                            }\n                            _this.sendAction('onShow', dp, animationCompleted);\n                        },\n            onHide:     function (dp, animationCompleted) {\n                            if(animationCompleted){\n                                let isd = _this.get('initialSelectedDate')\n                                let sd = _this.get('selectedDate')\n                                _this.sendAction('onHide', dp, animationCompleted, isd != sd);\n                            }\n                        },\n            onSelect:   function (formattedDate, dateObject, datepickerInstance) {\n                            if (! _this.get(\"_internalUpdate\")) {\n                                let publicValue = _this.get(\"selectedDate\");\n                                if (typeof publicValue == \"number\") {\n                                    _this.set(\"selectedDate\", dateObject.getTime());\n                                } else {\n                                    _this.set(\"selectedDate\", dateObject);\n                                }\n                                \n                                _this.sendAction('onSelect', formattedDate, _this.get(\"selectedDate\"), datepickerInstance);\n                            } \n                            _this.set(\"_internalUpdate\", false);\n                        },\n        }).data('datepicker');\n        \n        datepickerInstance.formatDate = function (string, date) {\n            return moment(date).format(_this.get(\"dateFormat\"));\n        };\n        this.set(\"_internalUpdate\", true);\n        datepickerInstance.selectDate(this.get('_selectedDate'));\n\n        this.set('datepicker', datepickerInstance);\n    },\n\n    // Setting up observers and private properties in order to prevent infinite loops\n    selectedDateObserver: Ember.observer(\"selectedDate\", function () {\n        this.validateDateProperty(\"selectedDate\");\n        if (this.get(\"datepicker\")) {\n            // Only execute this once when the selectedDate was modified by a controller action\n            this.set(\"_internalUpdate\", true);\n            this.get(\"datepicker\").selectDate(this.get(\"_selectedDate\"));\n        }\n    }),\n\n    maxDateObserver: Ember.observer(\"maxDate\", function() {\n        this.validateDateProperty(\"maxDate\");\n        this.get(\"datepicker\").update(\"maxDate\", this.get(\"_maxDate\"));\n    }),\n    minDateObserver: Ember.observer(\"minDate\", function() {\n        this.validateDateProperty(\"minDate\");\n        this.get(\"datepicker\").update(\"minDate\", this.get(\"_minDate\"));\n    })\n});\n","export default Ember.HTMLBars.template({\"id\":\"wLW1DDOJ\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[18,\\\"iconPosition\\\"],\\\" \\\",[25,\\\"unless\\\",[[20,[\\\"inline\\\"]],\\\"datepicker-container\\\"],null]]]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"text\\\"],[10,\\\"class\\\",[26,[\\\"datepicker-input \\\",[25,\\\"if\\\",[[20,[\\\"inline\\\"]],\\\"hidden\\\"],null]]]],[10,\\\"placeholder\\\",[26,[[18,\\\"placeholder\\\"]]]],[10,\\\"disabled\\\",[18,\\\"disabled\\\"],null],[10,\\\"name\\\",[18,\\\"name\\\"],null],[9,\\\"readonly\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"inline\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[18,\\\"iconType\\\"],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/air-datepicker/template.hbs\"}});","/**\n * http://t1m0n.name/air-datepicker/docs/\n */\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n    datepicker: null,\n    currentUser: Ember.inject.service('current-user'),\n    appLanguage: Ember.computed.alias(\"currentUser.locale\"),\n\n    classNames: ['datepicker-container'],\n    dateFormat: \"DD/MM/YYYY HH:mm\",\n    iconType: \"calendar alternate outline\",\n    iconPosition: \"left\",\n    position: \"bottom left\",\n    autoClose: true,\n    clearButton: false,\n    pickerType: \"datetime\",\n    inline: false,\n    returnValue: null, // implemented: timestamp\n\n\tformattedDate: Ember.computed('selectedDate', 'dateFormat', function(){\n\t\tconst selectedDate = this.get('selectedDate')\n\t\tconst dateFormat = this.get('dateFormat')\n\t\tif (!selectedDate || !dateFormat) return ''\n\t\treturn moment(selectedDate).format(dateFormat)\n\t}),\n\n    didInsertElement() {\n        var\n            timepicker = false,\n            classes = null;\n\n        switch (this.get(\"pickerType\")) {\n            case \"datetime\":\n                timepicker = true;\n                break;\n            case \"time\":\n                timepicker = true;\n                classes = \"only-timepicker\";\n                break;\n        }\n        this.$('input').datepicker({\n            classes: classes,\n            timepicker: timepicker,\n            autoClose: this.get('autoClose'),\n            clearButton: this.get('clearButton'),\n            minDate: this.get('minDate') ? moment(this.get('minDate')).toDate() : '',\n            maxDate: this.get('maxDate') ? moment(this.get('maxDate')).toDate() : '',\n            startDate: this.get('startDate') ? moment(this.get('startDate')).toDate() : '',\n            date: this.get('selectedDate') ? moment(this.get('selectedDate')).toDate() : moment().toDate(),\n            inline: this.get(\"inline\"),\n            language: this.get(\"appLanguage\"),\n            view: this.get(\"view\"),\n            position: this.get(\"position\"),\n            minView: this.get(\"view\"),\n            onSelect: (formattedDate, dateObject, inst) => {\n                inst.el.value = moment(dateObject).format(this.get('dateFormat'))\n                if (this.get('returnValue')) {\n                    if (this.get('returnValue') == 'timestamp') {\n                        this.set(\"selectedDate\", moment(dateObject).valueOf());\n                    }\n                }\n                else {\n                    this.set(\"selectedDate\", dateObject);\n                }\n            },\n            onHide: () => {\n                if (this.get('closeAction')) {\n                    this.get('closeAction')()\n                }\n            }\n        }).data('datepicker');\n\n        if (this.get('selectedDate')) {\n            this.$('input').data('datepicker').selectDate(moment(this.get('selectedDate')).toDate())\n        }\n\n    },\n\n    didUpdateAttrs() {\n        let $datepicker = this.$('input').datepicker().data('datepicker')\n        $datepicker.el['value'] = moment(this.get('selectedDate')).format(this.get('dateFormat'))\n    },\n    didRender() {\n        if (this.get('autofocus')) {\n            this.$('input').focus()\n        }\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"GIjX2OgC\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"input\\\"],[9,\\\"type\\\",\\\"text\\\"],[10,\\\"class\\\",[26,[\\\"datepicker-input \\\",[18,\\\"inputClass\\\"],\\\" \\\",[25,\\\"if\\\",[[20,[\\\"inline\\\"]],\\\" hidden\\\"],null]]]],[10,\\\"placeholder\\\",[26,[[18,\\\"placeholder\\\"]]]],[10,\\\"disabled\\\",[18,\\\"disabled\\\"],null],[10,\\\"name\\\",[18,\\\"name\\\"],null],[10,\\\"value\\\",[18,\\\"formattedDate\\\"],null],[9,\\\"readonly\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"inline\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"iconType\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[18,\\\"iconType\\\"],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/basic-datepicker/template.hbs\"}});","import Component from '@ember/component'\nimport { inject as service } from '@ember/service'\n\nexport default Component.extend({\n\treportsFilters: service('reports/filters'),\n\ti18n: service(),\n\tactiveAll: false,\n\tactiveNone: false,\n\n\tinit () {\n\t\tthis._super(...arguments)\n\t\tthis.set('message', {\n\t\t\tcount: '{count} ' + this.get(\"i18n\").t(\"driverss\")\n\t\t})\n\n\t\tif (!this.get('drivers')) {\n\t\t\tthis.set('selected', [])\n\t\t}\n\t\telse {\n\t\t\tlet activeDrivers = this.get('drivers').rejectBy('deletedAt').filterBy('type', 'driver')\n\t\t\tthis.set('activeDrivers', activeDrivers)\n\t\t\tif (this.get('reportsFilters.isInstantiated')) {\n\t\t\t\tthis.set('selected', this.get('reportsFilters.users'))\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet driversIDs = this.get('activeDrivers').mapBy('id')\n\t\t\t\tthis.get('reportsFilters').updateFilter('users', driversIDs)\n\t\t\t\tthis.set('selected', driversIDs)\n\t\t\t}\n\t\t}\n\t},\n\n\tactions: {\n\t\tupdateSelections (selections) {\n\t\t\tif (this.get('activeAll') || this.get('activeNone')) {\n\t\t\t\tthis.set('activeAll', false)\n\t\t\t\tthis.set('activeNone', false)\n\t\t\t}\n\t\t\tthis.get('reportsFilters').updateFilter('users', selections)\n\t\t\tthis.set('selected', selections)\n\t\t},\n\t\tactiveAllOrNone (sel) {\n\t\t\tif (sel === 'all') {\n\t\t\t\tthis.set('activeAll', true)\n\t\t\t\tthis.set('activeNone', false)\n\t\t\t\tlet driversIDs = this.get('activeDrivers').mapBy('id')\n\t\t\t\tthis.get('reportsFilters').updateFilter('users', driversIDs)\n\t\t\t\tthis.set('selected', driversIDs)\n\t\t\t}\n\t\t\telse if (sel === 'none') {\n\t\t\t\tthis.set('activeNone', true)\n\t\t\t\tthis.set('activeAll', false)\n\t\t\t\tthis.get('reportsFilters').updateFilter('users', [])\n\t\t\t\tthis.set('selected', [])\n\t\t\t}\n\t\t},\n\t\tonShow () {\n\t\t\tthis.set('oldDrivers', this.get('selected').join())\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.$('.driversDropdown .menu').scrollTop(0)\n\t\t\t}, 50)\n\t\t},\n\t\tonHide () {\n\t\t\tlet oldDrivers = this.get('oldDrivers')\n\t\t\tlet newDrivers = this.get('reportsFilters.users').join()\n\t\t\tif (oldDrivers === newDrivers) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.get('reformatData')()\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"su57Wr70\",\"block\":\"{\\\"symbols\\\":[\\\"driver\\\"],\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"useLabels\\\",\\\"selected\\\",\\\"message\\\",\\\"onChange\\\",\\\"onHide\\\",\\\"onShow\\\"],[\\\"fluid multiple search selection icons driversDropdown\\\",false,[20,[\\\"selected\\\"]],[20,[\\\"message\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateSelections\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onHide\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onShow\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"drivers\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"header fake-item\\\",[25,\\\"if\\\",[[20,[\\\"activeAll\\\"]],\\\" active\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"activeAllOrNone\\\",\\\"all\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"selectAllDrivers\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"header fake-item\\\",[25,\\\"if\\\",[[20,[\\\"activeNone\\\"]],\\\" active\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"activeAllOrNone\\\",\\\"none\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"unselectAllDrivers\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"divider\\\"],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"firstName\\\",\\\"lastName\\\",[20,[\\\"activeDrivers\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item group\\\"],[10,\\\"data-value\\\",[26,[[19,1,[\\\"id\\\"]]]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[19,1,[\\\"fullName\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/drivers-dropdown/template.hbs\"}});","import Ember from 'ember';\n\nconst { service } = Ember.inject\nconst custom = 'custom'\n\nexport default Ember.Component.extend({\n\ti18n: service(),\n\n\ttagName: '',\n\tedit: false,\n\trouteID: null,\n\tselected: null,\n\n\textraItem: null,\n\n\tdisableEdit() {\n\t\tEmber.run.later(this, function () {\n\t\t\tthis.set('edit', false)\n\t\t}, 100)\n\t},\n\n\tenableEdit() {\n\t\tEmber.run.later(this, function () {\n\t\t\tthis.set('edit', true)\n\t\t}, 100)\n\t},\n\n\t// click(e) {\n\t// \te.stopPropagation()\n\t// },\n\n\tinit() {\n\t\tthis._super(...arguments)\n\t\tlet i18n = this.get('i18n')\n\t\tlet purposes = [\n\t\t\ti18n.t('purposes.customers'),\n\t\t\ti18n.t('purposes.suppliers'),\n\t\t\ti18n.t('purposes.prospectingMarket'),\n\t\t\ti18n.t('purposes.service'),\n\t\t\ti18n.t('purposes.work'),\n\t\t\ti18n.t('purposes.training'),\n\t\t\ti18n.t('purposes.customs'),\n\t\t\ti18n.t('purposes.bank'),\n\t\t\ti18n.t('purposes.taxAuthorities'),\n\t\t\ti18n.t('purposes.personalInterest'),\n\t\t]\n\t\tthis.set('listItems', purposes)\n\t\tif (this.get('selected') && this.get('listItems').indexOf(this.get('selected')) === -1) {\n\t\t\tthis.set('extraItem', this.get('selected'))\n\t\t}\n\t},\n\n\tactions: {\n\t\tappend() {\n\t\t\tlet extraItemValue = this.get('extraItemValue')\n\t\t\tthis.set('extraItem', extraItemValue)\n\t\t\tthis.disableEdit()\n\t\t\tthis.get('extraAction')(extraItemValue)\n\t\t},\n\n\t\tcancel() {\n\t\t\tthis.disableEdit()\n\t\t},\n\n\t\tselect(value) {\n\t\t\tif (value === custom) {\n\t\t\t\tthis.enableEdit()\n\t\t\t} else {\n\t\t\t\tthis.disableEdit()\n\t\t\t\tthis.get('extraAction')(value)\n\t\t\t}\n\t\t}\n\t}\n\n});\n","export default Ember.HTMLBars.template({\"id\":\"Ppt3Z543\",\"block\":\"{\\\"symbols\\\":[\\\"execute\\\",\\\"mapper\\\",\\\"item\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"edit\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"escape-press\\\",\\\"value\\\",\\\"insert-newline\\\",\\\"class\\\",\\\"autofocus\\\"],[\\\"cancel\\\",[20,[\\\"extraItemValue\\\"]],\\\"append\\\",\\\"purpose-editor\\\",[20,[\\\"edit\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui small basic icon buttons purpose-actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"append\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"undo icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[[25,\\\"if\\\",[[20,[\\\"class\\\"]],[20,[\\\"class\\\"]],\\\"selection\\\"],null],[20,[\\\"selected\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"select\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.route.selectPurpose\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"purposes.noPurpose\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"listItems\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,2,[]],[19,3,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[4,\\\"if\\\",[[20,[\\\"extraItem\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[18,\\\"extraItem\\\"]]]],[7],[1,[18,\\\"extraItem\\\"],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"custom\\\"],[7],[1,[25,\\\"t\\\",[\\\"anotherValue\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]},null]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/dropdown-editable/template.hbs\"}});","import Component from '@ember/component'\nimport EmberObject from '@ember/object'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nconst grpObject = EmberObject.extend({\n\tselectedVehicles: computed('vehicles.@each.isSelected', function () {\n\t\treturn this.get('vehicles') && this.get('vehicles').length ? this.get('vehicles').filterBy('isSelected').length : 0\n\t}),\n\tselectedGroups: computed('groups.@each.isSelected', function () {\n\t\treturn this.get('groups') && this.get('groups').length ? this.get('groups').filterBy('isSelected').length : 0\n\t}),\n\tisSelected: computed('vehicles', 'selectedVehicles', 'selectedGroups', function () {\n\t\tlet allVehSelected = this.get('vehicles').length === this.get('selectedVehicles')\n\t\tlet allGrpSelected = this.get('groups').length === this.get('selectedGroups')\n\t\treturn allVehSelected && allGrpSelected\n\t}),\n\n\tselect() { // should select or deselect al vehicles isSelected property\n\t\tlet value = !this.get('isSelected')\n\t\tthis.get('vehicles').forEach(veh => {\n\t\t\tveh.set('isSelected', value)\n\t\t})\n\t\tthis.get('groups').forEach(grp => {\n\t\t\tif (grp.get('isSelected') !== value) {\n\t\t\t\tgrp.select()\n\t\t\t}\n\t\t})\n\t}\n})\n\nexport default Component.extend({\n\treportsFilters: service('reports/filters'),\n\ti18n: service(''),\n\n\tselElements: computed('vehs.@each.isSelected', 'grps.@each.isSelected', function () {\n\t\tif (!this.get('vehs') || !this.get('grps')) {\n\t\t\treturn []\n\t\t}\n\t\tlet filtredVeh = this.get('vehs').filterBy('isSelected').mapBy('id')\n\t\tthis.get('reportsFilters').updateFilter('vehicles', filtredVeh)\n\t\tlet filtredGrp = this.get('grps').filterBy('isSelected').mapBy('id')\n\t\treturn filtredVeh.concat(filtredGrp)\n\t}),\n\n\tvehs: computed('vehicles', function () {\n\t\tlet filtredVehicles = this.get('reportsFilters.vehicles')\n\t\tlet vehicles = (this.get('vehicles') || []).map(veh => {\n\t\t\tlet isSelected = filtredVehicles.includes(veh.get('id'))\n\t\t\treturn EmberObject.create({\n\t\t\t\tid: veh.get('id'),\n\t\t\t\tlicensePlate: veh.get('licensePlate'),\n\t\t\t\tparentID: veh.get('group.id'),\n\t\t\t\tlevel: veh.get('group.id').split(\"-\").length + 1,\n\t\t\t\tisSelected,\n\t\t\t})\n\t\t})\n\t\treturn vehicles.sortBy('level')\n\t}),\n\n\tgrps: computed('groups', 'vehs', function () {\n\t\tlet vehicles = this.get('vehs')\n\t\tlet groups = (this.get('groups') || []).map(grp => {\n\t\t\tlet vehs = vehicles.filterBy('parentID', grp.get('id'))\n\t\t\tlet allSubVehiclesCount = vehicles.filter(vehicle => {\n\t\t\t\treturn vehicle.get('parentID').indexOf(grp.get('id')) != -1\n\t\t\t}).length\n\t\t\tlet level = grp.get('id').split(\"-\").length\n\t\t\treturn grpObject.create({\n\t\t\t\tid: grp.get('id'),\n\t\t\t\tname: grp.get('name'),\n\t\t\t\tparentID: level > 1 ? grp.get('id').split('-').slice(0, -1).join('-') : null,\n\t\t\t\tlevel,\n\t\t\t\tallSubVehiclesCount,\n\t\t\t\tgroups: [],\n\t\t\t\tvehicles: vehs\n\t\t\t})\n\t\t})\n\t\tgroups.forEach(grp => {\n\t\t\tif (grp.level > 1) {\n\t\t\t\tlet parent = groups.findBy('id', grp.parentID)\n\t\t\t\tif (parent) {\n\t\t\t\t\tparent.groups.push(grp)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn groups.sortBy('id')\n\t}),\n\n\tinit() {\n\t\tthis._super(...arguments)\n\n\t\tthis.set('message', {\n\t\t\taddResult: 'Add <b>{term}</b>',\n\t\t\tcount: `({count}) ${this.get('i18n').t('vehicless')}`,\n\t\t\tmaxSelections: 'Max {maxCount} selections',\n\t\t\tnoResults: `${this.get('i18n').t('noResults')}.`\n\t\t})\n\t},\n\n\tdidInsertElement() {\n\t\tthis._super(...arguments)\n\n\t\tthis.$('input.search').keyup(a => {\n\t\t\tthis.set('searchText', a.target.value)\n\t\t})\n\n\t\tthis.fixSelections()\n\t},\n\n\t// function for fix selections (we have not to count the groups items as selected. if use labels the styling not works correcty)\n\tfixSelections() {\n\t\tconst targetNode = document.querySelector('.multiple.search.selection.groups-vehicles>div.text')\n\n\t\tlet $dd = this.$('.multiple.search.selection.groups-vehicles')\n\t\tif ($dd.dropdown('is hidden')) {\n\t\t\tlet length = $('.multiple.search.selection.groups-vehicles .menu .veh-item.active').length\n\t\t\tif (length) {\n\t\t\t\tif ($dd.dropdown('get text') != `(${length}) ${this.get('i18n').t('vehicless')}`) {\n\t\t\t\t\t$dd.dropdown('set text', `(${length}) ${this.get('i18n').t('vehicless')}`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst callback = () => {\n\t\t\tlet $dd = this.$('.multiple.search.selection.groups-vehicles')\n\t\t\tif ($dd.dropdown('is visible')) {\n\t\t\t\tlet length = $('.multiple.search.selection.groups-vehicles .menu .veh-item.active').length\n\t\t\t\tif (length) {\n\t\t\t\t\tif ($dd.dropdown('get text') != `(${length}) ${this.get('i18n').t('vehicless')}`) {\n\t\t\t\t\t\t$dd.dropdown('set text', `(${length}) ${this.get('i18n').t('vehicless')}`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Create an observer instance linked to the callback function\n\t\tconst observer = new MutationObserver(callback)\n\t\t// Options for the observer (which mutations to observe)\n\t\tlet config = { characterData: false, attributes: false, childList: true, subtree: false }\n\t\t// Start observing the target node for configured mutations\n\t\tobserver.observe(targetNode, config)\n\t},\n\n\tactions: {\n\t\tselectGrp(item) {\n\t\t\tif (this.get('searchText')) { // fix for search and select of group text\n\t\t\t\tthis.set('searchText', '')\n\t\t\t\tthis.$('.groups-vehicles input.search').val('')\n\t\t\t}\n\t\t\titem.select()\n\t\t},\n\t\tselectVeh(item) {\n\t\t\titem.toggleProperty('isSelected')\n\t\t},\n\t\tonShow() {\n\t\t\tthis.set('oldVehicles', this.get('reportsFilters').vehicles.join())\n\t\t},\n\t\tonHide() {\n\t\t\tlet oldVehicles = this.get('oldVehicles')\n\t\t\tlet newVehicles = this.get('reportsFilters').vehicles.join()\n\t\t\tif (oldVehicles === newVehicles) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.makeRequest(true)\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"0d1ar0Kx\",\"block\":\"{\\\"symbols\\\":[\\\"group\\\",\\\"veh\\\"],\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"useLabels\\\",\\\"selected\\\",\\\"fullTextSearch\\\",\\\"match\\\",\\\"message\\\",\\\"action\\\",\\\"onHide\\\",\\\"onShow\\\"],[\\\"fluid multiple search selection icons groups-vehicles\\\",false,[20,[\\\"selElements\\\"]],\\\"exact\\\",\\\"text\\\",[20,[\\\"message\\\"]],\\\"nothing\\\",[25,\\\"action\\\",[[19,0,[]],\\\"onHide\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onShow\\\"],null]]],{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"selectVehicles\\\"],null],false],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"grps\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"allSubVehiclesCount\\\"]]],null,{\\\"statements\\\":[[0,\\\"                \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item level\\\",[19,1,[\\\"level\\\"]]]]],[10,\\\"data-value\\\",[26,[[19,1,[\\\"id\\\"]]]]],[3,\\\"action\\\",[[19,0,[]],\\\"selectGrp\\\",[19,1,[]]]],[7],[0,\\\"\\\\n                    \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[19,1,[\\\"name\\\"]],false],[0,\\\" (\\\"],[1,[19,1,[\\\"vehicles\\\",\\\"length\\\"]],false],[0,\\\")\\\\n                \\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"licensePlate\\\",[19,1,[\\\"vehicles\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"                    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item veh-item level\\\",[19,2,[\\\"level\\\"]]]]],[10,\\\"data-value\\\",[26,[[19,2,[\\\"id\\\"]]]]],[3,\\\"action\\\",[[19,0,[]],\\\"selectVeh\\\",[19,2,[]]]],[7],[0,\\\"\\\\n                        \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[19,2,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n                    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/groups-vehicles/template.hbs\"}});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    validHex: null,\n    curString: null,\n    tagName: '',\n\n    completeHexString(str) {\n        let hexString = str\n        if (!str || str.length === 0) {\n            return null\n        }\n\n        let str2\n        if (str.length < 16) {\n            str2 = new Array(17 - str.length).join(\"0\");\n            hexString = str.concat(str2)\n        }\n        return hexString\n    },\n\n    init() {\n        this._super(...arguments);\n        if (this.get(\"butID\")) {\n            this.set(\"validHex\", this.get(\"butID\"))\n        }\n    },\n\n    isHex(str) {\n        let str2\n        if (str.length < 16) {\n            str2 = new Array(17 - str.length).join(\"0\");\n        }\n        let hexString = str.concat(str2)\n        if (hexString === \"0000000000000000\" && str.length === 16) {\n            return false\n        }\n\n        var pattern = /[0-9A-Fa-f]{16}/i;\n        return (pattern.test(hexString))\n    },\n    actions: {\n        keyPressed(value, /*evt*/) {\n            if (value.length === 0) {\n                this.set(\"curString\", null)\n                this.set(\"validHex\", null)\n                return false\n            }\n\n            let curString\n            if (this.get(\"curString\")) {\n                curString = this.get(\"curString\")\n            }\n            else {\n                curString = \"\"\n            }\n            // let keyPressed = String.fromCharCode(evt.keyCode)\n            if (this.isHex(value) && value.length <= 16 && value != \"0000000000000000\") {\n                this.set(\"curString\", value.toUpperCase())\n                this.set(\"validHex\", value.toUpperCase())\n                this.set(\"butID\", this.completeHexString(value.toUpperCase()))\n            }\n            else {\n                this.set(\"validHex\", curString)\n            }\n        }\n    }\n});","export default Ember.HTMLBars.template({\"id\":\"N/ve8aeT\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"input\\\",null,[[\\\"id\\\",\\\"disabled\\\",\\\"name\\\",\\\"placeholder\\\",\\\"value\\\",\\\"key-up\\\"],[\\\"hexInputID\\\",[20,[\\\"disabled\\\"]],[20,[\\\"name\\\"]],[20,[\\\"placeholder\\\"]],[20,[\\\"validHex\\\"]],\\\"keyPressed\\\"]]],false],[0,\\\" \\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/hex-input/template.hbs\"}});","import Component from '@ember/component'\nimport RSVP from 'rsvp'\nimport { debounce } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { get, getWithDefault, set } from '@ember/object'\nimport { isEmpty } from '@ember/utils'\nimport { task } from 'ember-concurrency'\nimport fuzzy from 'fuzzy'\n\nexport default Component.extend({\n\tdebounceInterval: 600, // in ms\n\n\tgoogle: service(),\n\tgoogleMapsApi: service(),\n\tplaces: null,\n\tautocompleteService: null,\n\n\tdidInsertElement() {\n\t\tthis._super(...arguments)\n\n\t\tget(this, 'initGoogleAutocomplete').perform()\n\t},\n\tinitGoogleAutocomplete: task(function * () {\n\t\tconst google = yield get(this, 'googleMapsApi.google')\n\t\t\n\t\tconst places = get(google, 'maps.places')\n\t\tif (isEmpty(places)) {\n\t\t\tconsole.warn('Cannot initialize autocomplete ! Google Maps Places not loaded ?');\n\t\t\treturn;\n\t\t}\n\t\tset(this, 'places', places)\n\t\t\n\t\tconst attrib = this.$('.attributions')[0]\n\t\tconst autocompleteService = new places.PlacesService(attrib)\n\t\tset(this, 'autocompleteService', autocompleteService)\n\t}),\n\n\tisCoordinate(text) {\n\t\tlet arr = text.split(',')\n\t\tif (arr.length === 2) {\n\t\t\tlet lat = arr[0]\n\t\t\tlet lng = arr[1]\n\t\t\tif (lat && lng)\n\t\t\t\tif (isNaN(lat) || isNaN(lng)) // if a coordinate is not number return invalid\n\t\t\t\t\treturn false\n\t\t\t\telse {\n\t\t\t\t\tlet latNumber = Number(lat)\n\t\t\t\t\tlet lngNumber = Number(lng)\n\t\t\t\t\t// coordinates should be between -90 and 90\n\t\t\t\t\tif (latNumber > 90 || latNumber < -90 || lngNumber > 90 || lngNumber < -90)\n\t\t\t\t\t\treturn false\n\n\t\t\t\t\tlet countDecimals = value => { return value % 1 ? value.toString().split(\".\")[1].length : 0; }\n\t\t\t\t\tif (countDecimals(latNumber) < 4) {\n\t\t\t\t\t\tlat = latNumber.toFixed(4)\n\t\t\t\t\t}\n\t\t\t\t\tif (countDecimals(lngNumber) < 4) {\n\t\t\t\t\t\tlng = lngNumber.toFixed(4)\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: `${lat}, ${lng}`,\n\t\t\t\t\t\tcoordinates: [latNumber, lngNumber]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t}\n\n\t\treturn false\n\t},\n\n\tactions: {\n\t\tdebouncedSearchLocation(term) {\n\t\t\treturn new RSVP.Promise((resolve, reject) => {\n\t\t\t\tdebounce(this, get(this, 'actions.searchLocation'), term, resolve, reject, get(this, 'debounceInterval'))\n\t\t\t})\n\t\t},\n\t\tsearchLocation(term, resolve, reject) {\n\t\t\tconst geofences = getWithDefault(this, 'geofences', [])\n\t\t\tconst vehicles = getWithDefault(this, 'vehicles', [])\n\t\t\tconst placesLibrary = get(this, 'places')\n\t\t\tconst autocompleteService = get(this, 'autocompleteService')\n\n\t\t\tlet isCoordinate = this.isCoordinate(term)\n\n\t\t\treturn new RSVP.Promise(resolve => {\n\t\t\t\tif (isEmpty(autocompleteService)) { return resolve([]) }\n\n\t\t\t\tautocompleteService.findPlaceFromQuery({\n\t\t\t\t\tquery: term,\n\t\t\t\t\tfields: ['name', 'geometry.location'],\n\t\t\t\t}, (predictions, status) => {\n\t\t\t\t\tif (status != placesLibrary.PlacesServiceStatus.OK) {\n\t\t\t\t\t\tconsole.warn('findPlaceFromQuery failed:', status)\n\t\t\t\t\t\treturn resolve([])\n\t\t\t\t\t}\n\t\n\t\t\t\t\tresolve(predictions)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.then(locations => {\t\n\t\t\t\tconst filteredGeofences = fuzzy.filter(term, geofences, {\n\t\t\t\t\textract: geofence => geofence.get('name')\n\t\t\t\t})\n\t\t\t\t.slice(0, 5)\n\t\t\t\t.map(filtered => filtered.original)\n\t\n\t\t\t\tconst filteredVehicles = fuzzy.filter(term, vehicles, {\n\t\t\t\t\textract: vehicle => vehicle.get('licensePlate')\n\t\t\t\t})\n\t\t\t\t.slice(0, 5)\n\t\t\t\t.map(filtered => filtered.original)\n\n\t\t\t\tlet formattedLocations = locations.map(function (location) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: location.name,\n\t\t\t\t\t\tcoordinates: [location.geometry.location.lat(), location.geometry.location.lng()],\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tif (isCoordinate)\n\t\t\t\t\tformattedLocations.unshift(isCoordinate)\n\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tgroupName: \"Vehicles\", options: filteredVehicles.map(function (vehicle) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tname: vehicle.get('licensePlate'),\n\t\t\t\t\t\t\t\tcoordinates: [vehicle.get('status.location.1'), vehicle.get('status.location.0')]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tgroupName: \"Geofences\", options: filteredGeofences.map(function (geofence) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tname: geofence.get('name'),\n\t\t\t\t\t\t\t\tshape: geofence.get('shape'),\n\t\t\t\t\t\t\t\tcoordinates: [geofence.get('shape.centerLatLng.lat'), geofence.get('shape.centerLatLng.lng')]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tgroupName: \"Locations\", options: formattedLocations\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t})\n\t\t\t.then(resolve, reject)\n\t\t},\n\t},\n})\n","export default Ember.HTMLBars.template({\"id\":\"9udyQvpf\",\"block\":\"{\\\"symbols\\\":[\\\"location\\\"],\\\"statements\\\":[[4,\\\"power-select\\\",null,[[\\\"searchMessage\\\",\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"search\\\",\\\"onchange\\\",\\\"selected\\\"],[[25,\\\"t\\\",[\\\"dispatch.typeToSearch\\\"],null],[20,[\\\"placeholder\\\"]],[20,[\\\"triggerClass\\\"]],[20,[\\\"dropdownClass\\\"]],[20,[\\\"locations\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"debouncedSearchLocation\\\"],null],[20,[\\\"onChange\\\"]],[20,[\\\"selected\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[19,1,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"attributions\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/location-picker/template.hbs\"}});","/**\n * http://t1m0n.name/air-datepicker/docs/\n */\nimport Ember from 'ember';\nimport moment from 'moment';\n/**\n * dateFormat moment.js supported format See: https://momentjs.com/docs/#/displaying/\n */\nexport default Ember.Component.extend({\n    datepicker: null,\n    currentUser: Ember.inject.service('current-user'),\n    appLanguage: Ember.computed.alias(\"currentUser.locale\"),\n\n    classNames: ['datepicker-container'],\n    dateFormat: \"DD/MM/YYYY HH:mm\",\n    iconType: \"calendar alternate outline\",\n    iconPosition: \"left\",\n    position: \"bottom left\",\n    autoClose: true,\n    pickerType: \"datetime\",\n    inline: false,\n    returnValue: null, // implemented: timestamp\n\n    // To distinguish between user interactions and controller callbacks\n    _internalUpdate: false,\n    _startDate: null,\n    _minDate: null,\n    _maxDate: null,\n    _selectedDate: null,\n    _toggleToMonth: null,\n    _toggleDatePicker: false,\n\n    init: function () {\n        this._super(...arguments);\n        this.validateDateProperty(\"maxDate\");\n        this.validateDateProperty(\"minDate\");\n        this.validateDateProperty(\"startDate\");\n        this.validateDateProperty(\"selectedDate\");\n    },\n\n    validateDateProperty: function (property) {\n        var value = this.get(property);\n        if (value) {\n            if (typeof value != \"object\") {\n                value = moment(value).toDate();\n            }\n            if (value != this.get(\"_\" + property)) {\n                this.set(\"_\" + property, value);\n            }\n        }\n    },\n\n    didInsertElement() {\n        var\n            _this = this,\n            datepickerInstance = null,\n            timepicker = false,\n            classes = null;\n\n        switch (this.get(\"pickerType\")) {\n            case \"datetime\":\n                timepicker = true;\n                break;\n            case \"time\":\n                timepicker = true;\n                classes = \"only-timepicker\";\n                break;\n        }\n\n        datepickerInstance = this.$('input').datepicker({\n            classes: classes,\n            timepicker: timepicker,\n            autoClose: _this.get('autoClose'),\n            minDate: _this.get('_minDate'),\n            maxDate: _this.get(\"_maxDate\"),\n            startDate: _this.get('_startDate'),\n            date: _this.get(\"_selectedDate\"),\n            inline: _this.get(\"inline\"),\n            language: _this.get(\"appLanguage\"),\n            view: _this.get(\"view\"),\n            position: _this.get(\"position\"),\n            minView: _this.get(\"view\"),\n\n            toggle: _this.get('_toggleDatePicker'),\n            toggleToMonth: _this.get('_toggleToMonth'),\n            toggleSelected: false,\n\n            onShow: function (dp, animationCompleted) {\n                _this.set(\"_toggleDatePicker\", true)\n                _this.sendAction('onShow', dp, animationCompleted);\n            },\n            onHide: function (dp, animationCompleted) {\n                if (!_this.get(\"_internalUpdate\")) {\n                    let dateObject = dp.selectedDates[0]\n                    let publicValue = _this.get(\"selectedDate\");\n\n                    if (typeof publicValue == \"number\") {\n                        _this.set(\"selectedDate\", dateObject.getTime());\n                    } else {\n                        _this.set(\"selectedDate\", dateObject);\n                    }\n\n                    _this.set(\"_toggleDatePicker\", false)\n                    _this.set(\"_toggleToMonth\", null)\n                    _this.sendAction('onSelect', moment(_this.get(\"selectedDate\")).valueOf());\n                    _this.sendAction('onHide', dp, animationCompleted);\n                }\n                _this.set(\"_internalUpdate\", false);\n            }\n        }).data('datepicker');\n\n        datepickerInstance.formatDate = function (string, date) {\n            return moment(date).format(_this.get(\"dateFormat\"));\n        };\n        this.set(\"_internalUpdate\", true);\n        datepickerInstance.selectDate(this.get('_selectedDate'));\n\n        this.set('datepicker', datepickerInstance);\n    },\n\n    // Setting up observers and private properties in order to prevent infinite loops\n    selectedDateObserver: Ember.observer(\"selectedDate\", function () {\n        this.validateDateProperty(\"selectedDate\")\n        if (this.get(\"datepicker\")) {\n            // Only execute this once when the selectedDate was modified by a controller action\n            this.set(\"_internalUpdate\", true);\n            this.get(\"datepicker\").selectDate(this.get(\"_selectedDate\"))\n        }\n    }),\n\n    maxDateObserver: Ember.observer(\"maxDate\", function () {\n        this.validateDateProperty(\"maxDate\");\n        this.get(\"datepicker\").update(\"maxDate\", this.get(\"_maxDate\"))\n    }),\n    minDateObserver: Ember.observer(\"minDate\", function () {\n        this.validateDateProperty(\"minDate\");\n        this.get(\"datepicker\").update(\"minDate\", this.get(\"_minDate\"))\n    }),\n\n    toggleDatePickerObserver: Ember.observer(\"toggle\", \"toggleToMonth\", function () {\n        // open datepicker\n        if (this.get(\"toggle\")) {\n            this.get(\"datepicker\").show()\n\n            // open at month\n            let monthDiff = this.get('toggleToMonth')\n            if (monthDiff !== 0) {\n                // simulate prev/next button click to open datepicker at specific month  \n                for (let i = 0; i < Math.abs(monthDiff); i++) {\n                    if (monthDiff < 0 ) {\n                        this.get(\"datepicker\").prev()\n                    } else {\n                        this.get(\"datepicker\").next()\n                    }\n                }\n                this.set('toggleToMonth', 0)\n            }\n        }\n    })\n});\n","export default Ember.HTMLBars.template({\"id\":\"aFZ0Rn9h\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"input\\\"],[9,\\\"type\\\",\\\"text\\\"],[10,\\\"class\\\",[26,[\\\"datepicker-input darkGray \\\",[25,\\\"if\\\",[[20,[\\\"inline\\\"]],\\\"hidden\\\"],null]]]],[10,\\\"placeholder\\\",[26,[[18,\\\"placeholder\\\"]]]],[10,\\\"disabled\\\",[18,\\\"disabled\\\"],null],[9,\\\"readonly\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"inline\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"iconType\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[18,\\\"iconType\\\"],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/map-datepicker/template.hbs\"}});","import Ember from 'ember';\n/* global validator */\n\nexport default Ember.Component.extend({\n    email: null,\n    invalidEmail: false,\n    tagName: '',\n\n    addEmail(email) {\n        if (!Ember.isArray(this.get('selectedEmails'))) {\n            this.set('selectedEmails', [])\n        }\n        if (!email) { return false }\n        let validEmail = this.get('isPhone') ? !isNaN(email) : (validator.isEmail(email) && !this.get('selectedEmails').includes(email))\n        if (validEmail) {\n            this.get('selectedEmails').pushObject(email)\n            this.get('saveEmails')()\n            return true\n        }\n        return false\n    },\n    actions: {\n        setEmails(email, event) {\n            let hasCommas = (email.match(/,/g) || []).length\n            let isEnterKey = event.keyCode == 13\n\n            if (hasCommas !== 1 && !isEnterKey) { return false; }\n            email = isEnterKey ? email : email.substr(0, email.indexOf(','));\n\n            this.set('invalidEmail', false)\n            if (this.addEmail(email)) {\n                this.set('email', null)\n            } else {\n                this.set('invalidEmail', true)\n            }\n        },\n        addEmailToList() {\n            let email = this.get('email')\n\n            this.set('invalidEmail', false)\n            if (this.addEmail(email)) {\n                this.set('email', null)\n            } else {\n                this.set('invalidEmail', true)\n            }\n        },\n        removeEmail(email) {\n            if (!email) { return false }\n            this.get('selectedEmails').removeObject(email);\n            this.get('saveEmails')();\n        },\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"eysVtj2N\",\"block\":\"{\\\"symbols\\\":[\\\"mail\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-grid multiple-inline-emails\\\"],[7],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[20,[\\\"invalidEmail\\\"]],\\\"error\\\"],null]]]],[7],[0,\\\"\\\\n        \\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"title\\\",\\\"placeholder\\\",\\\"key-up\\\",\\\"value\\\"],[\\\"emails\\\",[20,[\\\"title\\\"]],[20,[\\\"placeHolder\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setEmails\\\"],null],[20,[\\\"email\\\"]]]]],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addEmailToList\\\"]],[7],[0,\\\"\\\\n        \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"emails-selected\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"selectedEmails\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui label\\\"],[10,\\\"data-email\\\",[26,[[19,1,[]]]]],[7],[0,\\\"\\\\n                \\\"],[6,\\\"span\\\"],[7],[1,[19,1,[]],false],[8],[0,\\\"\\\\n                \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"delete icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"removeEmail\\\",[19,1,[]]]],[7],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/multiple-inline-emails/template.hbs\"}});","import Ember from 'ember'\n\nexport default Ember.Component.extend({\n\tclick() {\n\t\treturn false\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"Z97ohYbB\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/no-bubble-click/template.hbs\"}});","import Ember from 'ember';\nimport moment from 'moment'\n\nexport default Ember.Component.extend({\n    classNames: ['rangePicker'],\n    text: Ember.computed('value', function () {\n        let unit = this.get('unit') || 'minutes'\n        let value = Number(this.get('value'))\n        let hours = Math.trunc(moment.duration(value, unit).as('hours'))\n        let minutes = Math.trunc(moment.duration(value, unit).minutes())\n        return `${hours}:${minutes.toString().length != 2 ? '0' + minutes : minutes}`\n    }),\n});\n","export default Ember.HTMLBars.template({\"id\":\"cNWnLQF1\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"min\\\",\\\"max\\\",\\\"step\\\",\\\"value\\\"],[\\\"range\\\",[20,[\\\"min\\\"]],[20,[\\\"max\\\"]],[20,[\\\"step\\\"]],[20,[\\\"value\\\"]]]]],false],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[18,\\\"text\\\"],false],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/range-picker/template.hbs\"}});","import Ember from 'ember';\nimport moment from 'moment'\n\nexport default Ember.Component.extend({\n    unit: 'milliseconds', // DEFAULT milliseconds\n\n    init() {\n        this._super(...arguments);\n        let value = this.get('value')\n        let min = this.get('min')\n        let max = this.get('max')\n        let unit = this.get('unit')\n\n        let _value = moment.duration(value, unit).as('ms')\n        let _min = moment.duration(min, unit).as('ms')\n        let _max = moment.duration(max, unit).as('ms')\n\n        let baseDateMS = 946677600000 // 1/1/2000 00:00:00\n        let date = moment(baseDateMS + _value).toDate();\n        let minDate = moment(baseDateMS + _min).toDate();\n        let maxDate = moment(baseDateMS + _max).toDate();\n\n        this.set('date', date)\n        this.set('minDate', minDate)\n        this.set('maxDate', maxDate)\n    },\n    \n    actions: {\n        selectValue(formattedDate, date) {\n            let hours = date.getHours()\n            let minutes = date.getMinutes()\n            let selHours = moment.duration(hours, 'h').as('ms')\n            let selMinutes = moment.duration(minutes, 'm').as('ms')\n            let selDuration = selHours + selMinutes\n            let unit = this.get('unit')\n            let duration = moment.duration(selDuration).as(unit)\n            this.set('_value', selDuration)\n            this.set('value', duration)\n        },\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"ISUfzHfM\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"disabled\\\",\\\"selectedDate\\\",\\\"onSelect\\\",\\\"minDate\\\",\\\"maxDate\\\",\\\"pickerType\\\",\\\"dateFormat\\\",\\\"timeFormat\\\",\\\"iconType\\\"],[[20,[\\\"readonly\\\"]],[20,[\\\"date\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectValue\\\"],null],[20,[\\\"minDate\\\"]],[20,[\\\"maxDate\\\"]],\\\"time\\\",\\\"HH:mm\\\",\\\"hh:ii\\\",null]]],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/time-picker/template.hbs\"}});","import Ember from 'ember';\nimport moment from 'moment'\n// https://www.jqueryscript.net/demo/User-friendly-Duration-Picker-Plugin-With-jQuery-timesetter/\nexport default Ember.Component.extend({\n    classNames: ['timeSetter'],\n    focused: 'h',\n    changeTime(action) {\n        let validAction = action == 'increment' || action == 'decrement'\n        let focused = this.get('focused')\n        let validFocused = focused && (focused == 'h' || focused == 'm')\n        if (!validAction || !validFocused) { return false }\n        let unit = this.get('unit') || 'minutes'\n        let value = Number(this.get('value'))\n        let min = Number(this.get('min'))\n        let max = Number(this.get('max'))\n        let newValue\n        if (action == 'increment') {\n            newValue = Math.trunc(moment.duration(value, unit).add(1, focused).as(unit))\n        }\n        else if (action == 'decrement') {\n            newValue = Math.trunc(moment.duration(value, unit).subtract(1, focused).as(unit))\n        }\n\n        if (newValue >= min && newValue <= max) {\n            this.set('value', newValue)\n        }\n    },\n    isValid(val, type) {\n        let value = Number(this.get('value'))\n        let unit = this.get('unit') || 'minutes'\n        let hours = moment.duration(value, unit).get('h')\n        let minutes = moment.duration(value, unit).get('m')\n        let min = Number(this.get('min'))\n        let max = Number(this.get('max'))\n        let newVal = moment.duration(val, type)\n        if (type == 'h') { // get the minutes of value\n            newVal = newVal.add(minutes, 'm').as(unit)\n        }\n        else if (type == 'm') { // get the hours of value\n            newVal = newVal.add(hours, 'h').as(unit)\n        }\n        let isValid = min <= newVal && newVal <= max\n        return isValid ? newVal : false\n    },\n    actions: {\n        increment() {\n            this.changeTime('increment')\n        },\n        decrement() {\n            this.changeTime('decrement')\n        },\n        focusHours() {\n            this.set('focused', 'h')\n        },\n        focusMinutes() {\n            this.set('focused', 'm')\n        },\n        keyUp(x) {\n            let focused = this.get('focused')\n            let validFocused = focused && (focused == 'h' || focused == 'm')\n            if (!validFocused) { return false }\n            if (!Number(x) || !Number.isInteger(Number(x))) {\n                this.notifyPropertyChange('value')\n            }\n            let isValidInput = this.isValid(Number(x), focused)\n            isValidInput ? this.set('value', isValidInput) : this.notifyPropertyChange('value')\n        },\n        keyPressed(val, event) {\n            if (!event || !event.keyCode) { return false }\n            if (!(event.keyCode == 38 || event.keyCode == 40)) { return false }\n            if (event.keyCode == 38) { // keyUp\n                this.changeTime('increment')\n            }\n            else if (event.keyCode == 40) { // keyDown\n                this.changeTime('decrement')\n            }\n        }\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"JilSfOE6\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\",\\\"autocomplete\\\",\\\"maxlength\\\",\\\"focus-in\\\",\\\"key-down\\\",\\\"key-up\\\"],[\\\"text\\\",\\\"timePart hours\\\",[25,\\\"moment-duration-get\\\",[[20,[\\\"value\\\"]],[20,[\\\"unit\\\"]],\\\"h\\\",\\\"as\\\"],null],\\\"off\\\",2,[25,\\\"action\\\",[[19,0,[]],\\\"focusHours\\\"],null],\\\"keyPressed\\\",\\\"keyUp\\\"]]],false],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"hourSymbol\\\"],[7],[0,\\\"h\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"timeDelimiter\\\"],[7],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\",\\\"autocomplete\\\",\\\"maxlength\\\",\\\"focus-in\\\",\\\"key-down\\\",\\\"key-up\\\"],[\\\"text\\\",\\\"timePart minutes\\\",[25,\\\"moment-duration-get\\\",[[20,[\\\"value\\\"]],[20,[\\\"unit\\\"]],\\\"m\\\"],null],\\\"off\\\",2,[25,\\\"action\\\",[[19,0,[]],\\\"focusMinutes\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"keyPressed\\\"],null],\\\"keyUp\\\"]]],false],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"minuteSymbol\\\"],[7],[0,\\\"m\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"timeControl\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"increment\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"caret up icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"decrement\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"caret down icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/time-setter/template.hbs\"}});","import Component from '@ember/component'\nimport { computed } from '@ember/object'\nimport { isEmpty } from '@ember/utils'\nimport { inject as service } from '@ember/service'\n\nexport default Component.extend({\n\tstore: service(),\n\ti18n: service(),\n\n\toptions: computed('vehicleGroups.[]', 'vehicles.[]', function () {\n\t\tconst options = [\n\t\t\t{ groupName: this.get('i18n').t('dispatch.vehicleGroups.picker.semitrailers'), options: [] },\n\t\t\t{ groupName: this.get('i18n').t('dispatch.vehicleGroups.picker.tractorUnits'), options: [] },\n\t\t\t{ groupName: this.get('i18n').t('dispatch.vehicleGroups.picker.vehicleGroups'), options: [] },\n\t\t]\n\n\t\tconst vehicleGroups = this.get('vehicleGroups') || []\n\t\tvehicleGroups.forEach(vehicleGroup => {\n\t\t\tif (vehicleGroup.get('type') === 'dynamic') { return }\n\n\t\t\toptions[2].options.push({\n\t\t\t\tname: vehicleGroup.get('name'),\n\t\t\t\tvalue: vehicleGroup,\n\t\t\t\ttype: 'vehicle-group',\n\t\t\t})\n\t\t})\n\n\t\tconst vehicles = this.get('vehicles') || []\n\t\tvehicles.forEach(vehicle => {\n\t\t\tconst type = vehicle.get('type')\n\t\t\tswitch (type) {\n\t\t\t\tcase 'semi-trailer':\n\t\t\t\t\toptions[0].options.push({\n\t\t\t\t\t\tname: vehicle.get('licensePlate'),\n\t\t\t\t\t\tvalue: vehicle,\n\t\t\t\t\t\ttype: 'semitrailer',\n\t\t\t\t\t})\n\t\t\t\t\tbreak\n\t\t\t\tcase 'truck':\n\t\t\t\t\toptions[1].options.push({\n\t\t\t\t\t\tname: vehicle.get('licensePlate'),\n\t\t\t\t\t\tvalue: vehicle,\n\t\t\t\t\t\ttype: 'tractor-unit',\n\t\t\t\t\t})\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t})\n\n\t\treturn options\n\t}),\n\tselected: computed('value', 'options.[]', function () {\n\t\tconst options = this.get('options')\n\t\tconst value = this.get('value')\n\n\t\tif (isEmpty(value)) { return }\n\n\t\tconst tractorUnit = value.get('tractorUnit.content')\n\t\tconst semitrailer = value.get('semitrailer.content')\n\n\t\tif (!isEmpty(tractorUnit) && !isEmpty(semitrailer)) {\n\t\t\treturn options[2].options.findBy('value.id', value.get('id'))\n\t\t}\n\t\t\n\t\tif (!isEmpty(semitrailer)) {\n\t\t\tfor (const option of options[0].options) {\n\t\t\t\tif (option.value.get('id') === semitrailer.get('id')) { return option }\n\t\t\t}\n\t\t}\n\t\tif (!isEmpty(tractorUnit)) {\n\t\t\tfor (const option of options[1].options) {\n\t\t\t\tif (option.value.get('id') === tractorUnit.get('id')) { return option }\n\t\t\t}\n\t\t}\n\t}),\n\n\tactions: {\n\t\tonChange (option) {\n\t\t\tconst value = this.get('value')\n\n\t\t\tif (!isEmpty(value) && value.get('isNew')) {\n\t\t\t\tvalue.content.deleteRecord()\n\t\t\t}\n\n\t\t\tif (option.type === 'vehicle-group') {\n\t\t\t\tthis.set('value', option.value)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst vehicleGroup = this.get('store').createRecord('vehicle-group', {\n\t\t\t\tname: option.value.get('licensePlate'),\n\t\t\t\ttype: 'dynamic',\n\t\t\t})\n\t\t\tswitch (option.type) {\n\t\t\t\tcase 'semitrailer':\n\t\t\t\t\tvehicleGroup.set('semitrailer', option.value)\n\t\t\t\t\tbreak\n\t\t\t\tcase 'tractor-unit':\n\t\t\t\t\tvehicleGroup.set('tractorUnit', option.value)\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tthis.set('value', vehicleGroup)\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"BjughOqZ\",\"block\":\"{\\\"symbols\\\":[\\\"option\\\"],\\\"statements\\\":[[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[20,[\\\"placeholder\\\"]],[20,[\\\"triggerClass\\\"]],[20,[\\\"dropdownClass\\\"]],[20,[\\\"options\\\"]],[20,[\\\"selected\\\"]],\\\"name\\\",[25,\\\"action\\\",[[19,0,[]],\\\"onChange\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[19,1,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/vehicle-group-picker/template.hbs\"}});","import Component from '@ember/component'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nexport default Component.extend({\n\ti18n: service(),\n\tattributeBindings: ['title'],\n\n\tinit() {\n\t\tthis._super(...arguments)\n\t\tthis.set('title', this.get('i18n').t('management.vehicles.category'))\n\t},\n\n\thasCustomClass: computed('customClass', 'disabled', function () {\n\t\tlet text = ''\n\t\tif (this.get('customClass'))\n\t\t\ttext += ` ${this.get('customClass')}`\n\t\tif (this.get('disabled'))\n\t\t\ttext += ' disabled'\n\t\treturn text\n\t}),\n\tactions: {\n\t\tonHide() {\n\t\t\tif (this.get('onHide'))\n\t\t\t\tthis.get('onHide')(this.get('selected'))\n\t\t},\n\t\tonShow() {\n\t\t\tif (this.get('onShow'))\n\t\t\t\tthis.get('onShow')(this.get('selected'))\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"5vh1zgDx\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\",\\\"onHide\\\",\\\"onShow\\\"],[[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"hasCustomClass\\\"]],[20,[\\\"hasCustomClass\\\"]]],null]],null],[20,[\\\"selected\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selected\\\"]]],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"onHide\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onShow\\\"],null]]],{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\"],[\\\"hidden\\\",\\\"type\\\"]]],false],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.category\\\"],null],false],[8],[0,\\\"\\\\n    \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"dropdown-name\\\",\\\"type\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"showAllOption\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"utility\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.utility\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"car\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.car\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"minibus\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.minibus\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"bus\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.bus\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"truck\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.truck\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"tractor\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.tractor\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"harvester\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.harvester\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"construction\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.construction\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"trailer\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.trailer\\\"],null],false],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"semi-trailer\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.semi-trailer\\\"],null],false],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/inputs/vehicle-type-dropdown/template.hbs\"}});","import Component from '@ember/component'\nimport { computed } from '@ember/object'\nimport config from 'tracknamic-smb/config/environment'\nimport { inject as service } from '@ember/service'\n\nexport default Component.extend({\n\tsession: service(),\n\tstore: service(),\n\tmodal: service(),\n\ti18n: service(),\n\n\tclassNames: ['dc-doc'],\n\tclassNameBindings: ['isSelected:selectedDoc'],\n\tisSelected: computed.readOnly('doc.selected'),\n\n\trdonly: computed.alias('readonly'),\n\n\thasFile: computed('doc.isNew', 'doc.file.hash', function () {\n\t\tif (this.get('doc.isNew') || !this.get('doc.file.hash')) {\n\t\t\treturn false\n\t\t}\n\t\treturn true\n\t}),\n\n\tactions: {\n\t\tinputClicked(element) {\n\t\t\telement.parentNode.firstElementChild.click()\n\t\t},\n\t\tdelete(doc) {\n\t\t\tif (!doc || !doc.get) { return false }\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tlet options = {\n\t\t\t\tisSmall: true,\n\t\t\t\ttittle: i18n.t('management.document.deleteTittle'),\n\t\t\t\tcontent: i18n.t('management.document.sureToDelete', { type: doc.get('type'), fileName: (doc.get('file') ? doc.get('file.name') : '') }),\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tif (doc.get('isNew')) {\n\t\t\t\t\tdoc.rollbackAttributes()\n\t\t\t\t\tthis.get('store').unloadRecord(doc)\n\t\t\t\t} else {\n\t\t\t\t\tdoc.destroyRecord()\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tthis.get('store').unloadRecord(doc)\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\tloadedFile(element) {\n\t\t\tlet file = element.files[0]\n\t\t\tlet doc = this.get('doc')\n\t\t\tif (file) {\n\t\t\t\tdoc.set('file.name', file.name)\n\t\t\t\tdoc.set('document', file)\n\t\t\t}\n\t\t},\n\t\tdownload(doc) {\n\t\t\tif (!this.get('hasFile') || !doc || doc.get('downloading')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tlet url = `${config.api.host}/${config.api.namespace}/documents/${doc.get('id')}/download`\n\t\t\tconst idToken = this.get('session.data.authenticated.idToken')\n\n\t\t\tif (doc.get('id') && doc.get('downloading') === false) {\n\t\t\t\tdoc.set('downloading', true) // download started\n\t\t\t\tlet req = new XMLHttpRequest()\n\t\t\t\treq.open('GET', url, true)\n\t\t\t\treq.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\t\t\treq.responseType = 'blob'\n\n\t\t\t\treq.onload = (/*event*/) => {\n\t\t\t\t\tdoc.set('downloading', false) // download finished\n\t\t\t\t\tlet blob = req.response\n\t\t\t\t\tlet link = document.createElement('a')\n\t\t\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\t\t\tlink.download = doc.get('file.name')\n\t\t\t\t\tlink.click()\n\t\t\t\t}\n\t\t\t\treq.error = () => {\n\t\t\t\t\tdoc.set('downloading', false); // download finished\n\t\t\t\t}\n\t\t\t\treq.send()\n\t\t\t}\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"7rhlDO95\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"allowAdditions\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"fluid selection search\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null],\\\" disabled\\\"],null]],null],true,[20,[\\\"doc\\\",\\\"type\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"hidden\\\",[20,[\\\"doc\\\",\\\"type\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"disabled\\\"],[\\\"search\\\",[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"dropdown-name\\\",\\\"docType\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"isUser\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"permis_conducere\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.user.permis_conducere\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"atestat\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.user.atestat\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"aviz_medical\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.user.aviz_medical\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Altele\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.user.Altele\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"RCA\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.RCA\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"CASCO\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.CASCO\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Rovinieta\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.Rovinieta\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"ITADR\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.ITADR\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Altele\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.Altele\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"inputs/basic-datepicker\\\",null,[[\\\"disabled\\\",\\\"selectedDate\\\",\\\"dateFormat\\\",\\\"iconPosition\\\",\\\"pickerType\\\",\\\"placeholder\\\",\\\"class\\\"],[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null],[20,[\\\"doc\\\",\\\"valid\\\",\\\"from\\\"]],\\\"DD/MM/YYYY\\\",\\\"right ui icon input\\\",\\\"date\\\",[25,\\\"t\\\",[\\\"management.docStartDate\\\"],null],[25,\\\"concat\\\",[\\\"ui right icon input calendar alternate outline\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null],\\\" disabled\\\",\\\"\\\"],null]],null]]]],false],[0,\\\"\\\\n\\\"],[1,[25,\\\"inputs/basic-datepicker\\\",null,[[\\\"disabled\\\",\\\"minDate\\\",\\\"selectedDate\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\",\\\"placeholder\\\",\\\"class\\\"],[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null],[20,[\\\"doc\\\",\\\"valid\\\",\\\"from\\\"]],[20,[\\\"doc\\\",\\\"valid\\\",\\\"until\\\"]],\\\"right ui icon input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\",[25,\\\"t\\\",[\\\"management.docEndDate\\\"],null],[25,\\\"concat\\\",[\\\"ui right icon input calendar alternate outline\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null],\\\" disabled\\\",\\\"\\\"],null]],null]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null],\\\" disabled\\\"],null]],null],[20,[\\\"doc\\\",\\\"details\\\",\\\"alertInterval\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"hidden\\\",[20,[\\\"doc\\\",\\\"details\\\",\\\"alertInterval\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.document.notifications.defaultText\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"1\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.document.notifications.day\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"7\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.document.notifications.week\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"30\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.document.notifications.month\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"disabled\\\",\\\"name\\\",\\\"value\\\",\\\"placeholder\\\",\\\"title\\\"],[[25,\\\"concat\\\",[\\\"dc-input\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null],\\\" disabled\\\",\\\"\\\"],null]],null],[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null]],null],\\\"price\\\",[20,[\\\"doc\\\",\\\"price\\\",\\\"value\\\"]],[25,\\\"t\\\",[\\\"management.price\\\"],null],[25,\\\"t\\\",[\\\"management.price\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui icon input\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"and\\\",[[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null],[20,[\\\"hasFile\\\"]]],null]],null],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"file\\\"],[10,\\\"disabled\\\",[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"and\\\",[[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null],[20,[\\\"hasFile\\\"]]],null]],null],null],[9,\\\"class\\\",\\\"hidden\\\"],[10,\\\"onchange\\\",[25,\\\"action\\\",[[19,0,[]],\\\"loadedFile\\\"],[[\\\"value\\\"],[\\\"target\\\"]]],null],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"text\\\"],[10,\\\"disabled\\\",[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"and\\\",[[25,\\\"not\\\",[[20,[\\\"doc\\\",\\\"isNew\\\"]]],null],[20,[\\\"hasFile\\\"]]],null]],null],null],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"inputClicked\\\"],[[\\\"value\\\"],[\\\"target\\\"]]],null],[10,\\\"value\\\",[20,[\\\"doc\\\",\\\"file\\\",\\\"name\\\"]],null],[10,\\\"placeholder\\\",[25,\\\"t\\\",[\\\"management.load\\\"],null],null],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"upload icon\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button icon \\\",[25,\\\"unless\\\",[[20,[\\\"hasFile\\\"]],\\\"disabled\\\"],null],\\\" \\\",[25,\\\"if\\\",[[20,[\\\"doc\\\",\\\"downloading\\\"]],\\\"disabled loading\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",[20,[\\\"doc\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"yellow download icon\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button icon \\\",[25,\\\"if\\\",[[20,[\\\"rdonly\\\"]],\\\"disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"delete\\\",[20,[\\\"doc\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"red trash icon\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/dc-doc/template.hbs\"}});","import Component from '@ember/component'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nconst maintenancesTypes = [\n\t{ value: 'registration-certificate', translationKey: 'management.maintenances.types.registration-certificate' },\n\t{ value: 'mandatory-insurance', translationKey: 'management.maintenances.types.mandatory-insurance' },\n\t{ value: 'vignette', translationKey: 'management.maintenances.types.vignette' },\n\t{ value: 'periodical-technical-inspection', translationKey: 'management.maintenances.types.periodical-technical-inspection' },\n\t{ value: 'service', translationKey: 'management.maintenances.types.service' },\n\t{ value: 'oil-change', translationKey: 'management.maintenances.types.oil-change' },\n\t{ value: 'tire-change', translationKey: 'management.maintenances.types.tire-change' },\n\t{ value: 'custom-1', translationKey: 'management.maintenances.types.custom-1' },\n\t{ value: 'custom-2', translationKey: 'management.maintenances.types.custom-2' },\n\t{ value: 'custom-3', translationKey: 'management.maintenances.types.custom-3' },\n\t{ value: 'custom-4', translationKey: 'management.maintenances.types.custom-4' },\n\t{ value: 'custom-5', translationKey: 'management.maintenances.types.custom-5' },\n]\n\nconst maintenancesUserTypes = [\n\t{ value: 'vehicle-licence', translationKey: 'management.maintenances.types.vehicle-licence' },\n\t{ value: 'transport-certification', translationKey: 'management.maintenances.types.transport-certification' },\n\t{ value: 'medical-notification', translationKey: 'management.maintenances.types.medical-notification' },\n\t{ value: 'custom-1', translationKey: 'management.maintenances.types.custom-1' },\n\t{ value: 'custom-2', translationKey: 'management.maintenances.types.custom-2' },\n\t{ value: 'custom-3', translationKey: 'management.maintenances.types.custom-3' },\n\t{ value: 'custom-4', translationKey: 'management.maintenances.types.custom-4' },\n\t{ value: 'custom-5', translationKey: 'management.maintenances.types.custom-5' },\n]\n\nexport default Component.extend({\n\tmodal: service(),\n\tstore: service(),\n\ti18n: service(),\n\n\tclassNames: ['dc-maintenance'],\n\tclassNameBindings: ['hasError:error', 'invalidType:invalidType', 'isUserMaintenance:five-columns'],\n\n\thasError: computed.or('invalidType', 'invalidTarget'),\n\n\tisUserMaintenance: computed.equal('maintenance.scope', 'user'),\n\n\ttypes: computed('usedMaintenancesTypes', 'isUserMaintenance', function () {\n\t\tconst usedMaintenancesTypes = this.get('usedMaintenancesTypes')\n\t\tconst scopedMaintenancesTypes = this.get('isUserMaintenance') ? maintenancesUserTypes : maintenancesTypes\n\n\t\tconst available = scopedMaintenancesTypes.filter(m => {\n\t\t\tif (m.value === this.get('maintenance.type')) { return true }\n\t\t\treturn usedMaintenancesTypes.indexOf(m.value) === -1\n\t\t})\n\t\treturn available\n\t}),\n\n\tinvalidType: computed('triedToSave', 'maintenance.type', function () {\n\t\tif (!this.get('triedToSave')) return false\n\t\treturn !this.get('maintenance.type')\n\t}),\n\n\tinvalidTarget: computed('triedToSave', 'maintenance.target.value', 'maintenance.target.time', 'isUserMaintenance', function () {\n\t\tif (!this.get('triedToSave')) return false\n\t\tif (this.get('isUserMaintenance')) !this.get('maintenance.target.time')\n\t\treturn !this.get('maintenance.target.value') && !this.get('maintenance.target.time')\n\t}),\n\n\tactions: {\n\t\tdelete (maintenance) {\n\t\t\tif (!maintenance || !maintenance.get || maintenance.get('isStandard') || this.get('readonly')) { return false }\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tlet options = {\n\t\t\t\tisSmall: true,\n\t\t\t\ttittle: i18n.t('management.maintenances.deleteTitle'),\n\t\t\t\tcontent: i18n.t('management.maintenances.deleteContent'),\n\t\t\t\tcustomOkText: i18n.t('delete'),\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tif (maintenance.get('isNew')) {\n\t\t\t\t\tmaintenance.rollbackAttributes()\n\t\t\t\t\tthis.get('store').unloadRecord(maintenance)\n\t\t\t\t} else {\n\t\t\t\t\t// if the maintenance is specific only for one vehicle/user, delete the maintenance\n\t\t\t\t\tif (maintenance.get('entityIDs').length === 1) {\n\t\t\t\t\t\tmaintenance.destroyRecord()\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\tthis.get('store').unloadRecord(maintenance)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t} else { // if the maintenance is specific for more vehicles/users, disassociate the editing vehicle/user from maintenance\n\t\t\t\t\t\tconst entityID = this.get('entityID')\n\t\t\t\t\t\tlet entityIDs = maintenance.get('entityIDs')\n\t\t\t\t\t\tif (entityIDs.indexOf(entityID) !== -1) {\n\t\t\t\t\t\t\tentityIDs.splice(entityIDs.indexOf(entityID), 1) // remove editing vehicle/user\n\t\t\t\t\t\t\tmaintenance.save().then(() => {\n\t\t\t\t\t\t\t\tthis.get('store').unloadRecord(maintenance)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"7tgrqBeq\",\"block\":\"{\\\"symbols\\\":[\\\"type\\\"],\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"fluid selection dd-error-hack\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"readonly\\\"]],[25,\\\"not\\\",[[20,[\\\"maintenance\\\",\\\"isNew\\\"]]],null]],null],\\\" disabled\\\"],null]],null],[20,[\\\"maintenance\\\",\\\"type\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"hidden\\\",[20,[\\\"maintenance\\\",\\\"type\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"types\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,1,[\\\"value\\\"]],null],[7],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"disabled\\\",\\\"name\\\",\\\"value\\\"],[[25,\\\"concat\\\",[\\\"dc-input\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"readonly\\\"]],\\\"comments\\\",[20,[\\\"maintenance\\\",\\\"comments\\\"]]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"isUserMaintenance\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"disabled\\\",\\\"name\\\",\\\"value\\\"],[[25,\\\"concat\\\",[\\\"dc-input\\\",[25,\\\"or\\\",[[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null],[25,\\\"if\\\",[[20,[\\\"invalidTarget\\\"]],\\\" line-error\\\"],null]],null]],null],[20,[\\\"readonly\\\"]],\\\"interval\\\",[20,[\\\"maintenance\\\",\\\"target\\\",\\\"value\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"disabled\\\",\\\"name\\\",\\\"value\\\"],[[25,\\\"concat\\\",[\\\"dc-input\\\",[25,\\\"or\\\",[[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null],[25,\\\"if\\\",[[20,[\\\"invalidTarget\\\"]],\\\" line-error\\\"],null]],null]],null],[20,[\\\"readonly\\\"]],\\\"period\\\",[20,[\\\"maintenance\\\",\\\"target\\\",\\\"time\\\"]]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"isUserMaintenance\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"disabled\\\",\\\"name\\\",\\\"value\\\"],[[25,\\\"concat\\\",[\\\"dc-input\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"readonly\\\"]],\\\"notification_interval\\\",[20,[\\\"maintenance\\\",\\\"threshold\\\",\\\"value\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"disabled\\\",\\\"name\\\",\\\"value\\\"],[[25,\\\"concat\\\",[\\\"dc-input\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"readonly\\\"]],\\\"notification_period \\\",[20,[\\\"maintenance\\\",\\\"threshold\\\",\\\"time\\\"]]]]],false],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button icon \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"maintenance\\\",\\\"isStandard\\\"]],[20,[\\\"readonly\\\"]]],null],\\\"disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"delete\\\",[20,[\\\"maintenance\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"red trash icon\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"hasError\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"invalidType\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"error-message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"required\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"error-message\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"invalidTarget\\\"]]],null,{\\\"statements\\\":[[4,\\\"unless\\\",[[20,[\\\"isUserMaintenance\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"data-tooltip\\\",[25,\\\"t\\\",[\\\"management.maintenances.requiredIntervalOrRemainderInfo\\\"],[[\\\"field1\\\",\\\"field2\\\"],[[20,[\\\"maintenanceLabelInterval\\\"]],[20,[\\\"maintenanceLabelRemainder\\\"]]]]],null],[9,\\\"data-position\\\",\\\"right center\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"required\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"info circle icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-position\\\",\\\"right center\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"required\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"error-message\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"isUserMaintenance\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"invalidTarget\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"data-tooltip\\\",[25,\\\"t\\\",[\\\"management.maintenances.requiredIntervalOrRemainderInfo\\\"],[[\\\"field1\\\",\\\"field2\\\"],[[20,[\\\"maintenanceLabelInterval\\\"]],[20,[\\\"maintenanceLabelRemainder\\\"]]]]],null],[9,\\\"data-position\\\",\\\"right center\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"required\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"info circle icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/dc-maintenance/template.hbs\"}});","import Ember from 'ember'\n\nexport default Ember.Component.extend({\n    attributeBindings: ['data-id'],\n    'data-id': null,\n\n    classNames: [\"seven\", \"fields\"],\n\n    rdonly: Ember.computed(\"readonly\", function () {\n        if (this.get(\"readonly\")) {\n            return true\n        }\n        return false\n    }),\n\n    hasFile: Ember.computed(\"document.isNew\", \"document.file.hash\", function () {\n        if (this.get(\"document.isNew\") || !this.get(\"document.file.hash\")) {\n            return false\n        }\n        return true\n    }),\n\n    init() {\n        this._super(...arguments)\n        this.set('data-id', this.get('document').get('id'))\n    },\n\n    actions: {\n        disableReadonly() {\n\t\t\tthis.set(\"rdonly\", false);\n\t\t},\n        inputClicked(element) {\n            element.parentNode.parentNode.firstElementChild.click()\n        },\n        downloadFile(doc) {\n            if (!this.get('hasFile')) {\n                return false\n            }\n            this.sendAction('downloadFile', doc)\n        },\n        deleteDocument(doc) {\n            this.get(\"deleteDocument\")(doc)\n        },\n        loadedFile(element) {\n            // let textInput = element.parentNode.lastElementChild.firstElementChild\n            let file = element.files[0]\n            let document = this.get(\"document\")\n            if (file) {\n                document.set(\"file.name\", file.name)\n                document.set(\"document\", file)\n            }\n            // textInput.setAttribute(\"value\", file.name)\n        },\n    }\n})\n","export default Ember.HTMLBars.template({\"id\":\"dOEereZj\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[25,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\"size03\\\"],null],\\\" field\\\"]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"allowAdditions\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"fluid search selection\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"document\\\",\\\"isNew\\\"]]],null]],null],\\\" disabled\\\"],null]],null],true,[20,[\\\"document\\\",\\\"type\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"hidden\\\",[20,[\\\"document\\\",\\\"type\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"disabled\\\"],[\\\"search\\\",[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"document\\\",\\\"isNew\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"dropdown-name\\\",\\\"docType\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"userDocuments\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"permis_conducere\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.user.permis_conducere\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"atestat\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.user.atestat\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"aviz_medical\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.user.aviz_medical\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Altele\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.user.Altele\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"RCA\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.RCA\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"CASCO\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.CASCO\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Rovinieta\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.Rovinieta\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"ITADR\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.ITADR\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Altele\\\"],[7],[1,[25,\\\"t\\\",[\\\"document.type.vehicle.Altele\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[25,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\"size02\\\"],null],\\\" field\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"disabled\\\",\\\"selectedDate\\\",\\\"dateFormat\\\",\\\"iconPosition\\\",\\\"pickerType\\\",\\\"placeholder\\\"],[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"document\\\",\\\"isNew\\\"]]],null]],null],[20,[\\\"document\\\",\\\"valid\\\",\\\"from\\\"]],\\\"DD/MM/YYYY\\\",\\\"right ui icon input\\\",\\\"date\\\",[25,\\\"t\\\",[\\\"management.docStartDate\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[25,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\"size02\\\"],null],\\\" field\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"disabled\\\",\\\"minDate\\\",\\\"selectedDate\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\",\\\"placeholder\\\"],[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"document\\\",\\\"isNew\\\"]]],null]],null],[20,[\\\"document\\\",\\\"valid\\\",\\\"from\\\"]],[20,[\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],\\\"right ui icon input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\",[25,\\\"t\\\",[\\\"management.docEndDate\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[25,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\"size03\\\"],null],\\\" field\\\"]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"document\\\",\\\"isNew\\\"]]],null]],null],\\\" disabled\\\"],null]],null],[20,[\\\"document\\\",\\\"details\\\",\\\"alertInterval\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"hidden\\\",[20,[\\\"document\\\",\\\"details\\\",\\\"alertInterval\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.document.notifications.defaultText\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"1\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.document.notifications.day\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"7\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.document.notifications.week\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"30\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.document.notifications.month\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[25,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\"size01\\\"],null],\\\" field\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"price\\\",[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"not\\\",[[20,[\\\"document\\\",\\\"isNew\\\"]]],null]],null],[20,[\\\"document\\\",\\\"price\\\",\\\"value\\\"]],[25,\\\"t\\\",[\\\"management.price\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[25,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\"size03\\\"],null],\\\" field\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"file\\\"],[10,\\\"disabled\\\",[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"and\\\",[[25,\\\"not\\\",[[20,[\\\"document\\\",\\\"isNew\\\"]]],null],[20,[\\\"hasFile\\\"]]],null]],null],null],[9,\\\"class\\\",\\\"hidden\\\"],[10,\\\"onchange\\\",[25,\\\"action\\\",[[19,0,[]],\\\"loadedFile\\\"],[[\\\"value\\\"],[\\\"target\\\"]]],null],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"type\\\",\\\"text\\\"],[10,\\\"disabled\\\",[25,\\\"or\\\",[[20,[\\\"rdonly\\\"]],[25,\\\"and\\\",[[25,\\\"not\\\",[[20,[\\\"document\\\",\\\"isNew\\\"]]],null],[20,[\\\"hasFile\\\"]]],null]],null],null],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"inputClicked\\\"],[[\\\"value\\\"],[\\\"target\\\"]]],null],[10,\\\"value\\\",[20,[\\\"document\\\",\\\"file\\\",\\\"name\\\"]],null],[10,\\\"placeholder\\\",[25,\\\"t\\\",[\\\"management.load\\\"],null],null],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"upload icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[25,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\"size03\\\"],null],\\\" two fields actions\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"dc-button fullHeight icon \\\",[25,\\\"unless\\\",[[20,[\\\"hasFile\\\"]],\\\"disabled\\\"],null],\\\" \\\",[25,\\\"if\\\",[[20,[\\\"document\\\",\\\"downloading\\\"]],\\\"disabled loading\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"downloadFile\\\",[20,[\\\"document\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"yellow download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"dc-button fullHeight icon \\\",[25,\\\"if\\\",[[20,[\\\"rdonly\\\"]],\\\"disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"deleteDocument\\\",[20,[\\\"document\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"red trash icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/document-options/template.hbs\"}});","import Ember from 'ember'\nimport mapMixin from 'tracknamic-smb/mixins/map'\n\n//romania latlng and bounds\nlet romLatLng = {\n    lat: 45.9432,\n    lng: 24.9668\n}\nconst { service } = Ember.inject\nconst allowedRadiusValues = [50, 100, 300, 500, 1000]\n\n/**\n * shape separated from model\n * \n * onload, if model, add shape\n * onsave, if shape, add data to model\n * \n * SHAPE\n * - update if model type change\n * - update colors if model has changed\n * \n * MODEL\n * if is polygon \n *  on init remove last coordinate\n *  on save, duplicate first coordinate\n * \n * VEHICLES\n * add markers to map\n * update vehicles bounds on search\n * \n * CENTER ICON\n * - for geofence\n * - for icon\n * \n * DRAWING MANAGER\n * - only if model.isNew\n */\n\nexport default Ember.Component.extend(mapMixin, {\n    errors: service(),\n    i18n: service(),\n    currentUser: service('current-user'),\n    classNames: ['pageContent withoutFilters formGeofence'],\n    drawingType: null,\n    MarkerLabel: null,\n\n    companyID: Ember.computed.alias('currentUser.companyID'),\n    geofenceIcons: Ember.computed.alias('currentUser.geofenceIcons'),\n    defaultIcon: Ember.computed.alias('currentUser.defaultIcon'),\n\tlocations: [Ember.Object.create()],\n\n    search: '',\n    selectedVehicle: '',\n    settedVehDD: false,\n\tcoordinates: [],\n\tgeofenceMarkers: [],\n\n    draggable: Ember.computed('readOnly', function () {\n        return (this.get('readonly') ? false : true)\n    }),\n\n    ddVehicles: Ember.computed('search', function () {\n        return this.selectDDVehicles()\n    }),\n\n    init() {\n        this._super(...arguments)\n\n        let geofence = this.get('geofence')\n        if (geofence.get('companyID') === this.get('companyID')) {\n            this.set('isCompanyGeofence', true)\n        }\n        else {\n            this.set('isCompanyGeofence', false)\n            this.set('readonly', true)\n        }\n\n        // default center of the map and zoom\n        if (this.get('geofenceCoords')) {\n            this.set('default', this.get('geofenceCoords'))\n            this.set('zoom', 15)\n            this.set('geofence.shape.coordinates', [this.get('geofenceCoords')]) // for geofences comming from map link. set the coordinates as defaul\n        }\n        else {\n            this.set('default', romLatLng)\n            this.set('zoom', 7)\n        }\n        //check if poi radius exists in our dropdown. If not = set to first allowed radius value\n        if (this.get('geofence') && !allowedRadiusValues.includes(parseInt(this.get('geofence.boundary')))) {\n            geofence.set('boundary', allowedRadiusValues[0])\n        }\n\n        // set settings if they not exists, after refactoring\n        if (this.get('geofence') && !this.get('geofence.settings')) {\n            let settings = {\n                event_type: {\n                    enter: 'notification',\n                    exit: 'notification',\n                    stationary: 'notification'\n                }\n            }\n            this.set('geofence.settings', settings)\n        }\n\n\t\tthis.set('locations', [{}])\n\t\tthis.set('coordinates', [])\n    },\n\n    setDrawingManager(geofence) {\n        let drawingManager = new window.google.maps.drawing.DrawingManager({\n            drawingControl: true,\n            drawingControlOptions: {\n                position: window.google.maps.ControlPosition.TOP_CENTER,\n                drawingModes: ['marker', 'polygon']\n            },\n            markerOptions: {\n                editable: true,\n                // icon: {\n                //     anchor: new window.google.maps.Point(20, 20),\n                //     url: '../../assets/images/icoane_gray.png',\n                //     scaledSize: {\n                //         width: 40,\n                //         height: 40\n                //     },\n                // },\n            },\n            polygonOptions: {\n                strokeColor: geofence.get('color'),\n                fillColor: geofence.get('color'),\n                editable: true,\n            },\n        })\n        drawingManager.setDrawingMode('marker')\n\n        window.google.maps.event.addListener(drawingManager, 'drawingmode_changed', () => {\n            let dm = drawingManager.getDrawingMode()\n            let currentOverlay = this.get('drawingType')\n            if (dm === currentOverlay) { return null }\n\n            let gf = this.get('geofence')\n            if (dm === 'polygon') {\n                if (gf.get('shape.type') === 'Point') {\n                    gf.set('shape.type', 'Polygon')\n                }\n            }\n            else if (dm === 'marker') {\n                if (gf.get('shape.type') === 'Polygon') {\n                    gf.set('shape.type', 'Point')\n                }\n            }\n\n            if (this.get('geoShape')) { // remove the overlay\n                this.removeShape()\n            }\n\n\t\t\tthis.set('locations', [{}])\n\t\t\tthis.geofenceMarkers.forEach(marker => marker.setMap(null))\n\t\t\tthis.geofenceMarkers.clear()\n        })\n\n        window.google.maps.event.addListener(drawingManager, 'overlaycomplete', (event) => {\n            drawingManager.setDrawingMode(null) // select the hand\n            let ovr = event.overlay\n            let gf = this.get('geofence')\n\n            if (event.type === 'polygon') { // get the center of polygon and set the icon\n                ovr.addListener('mouseup', (event) => { // polygon\n                    if (event.path !== undefined || event.edge !== undefined || event.vertex !== undefined) {\n                        this.secondaryChanges()\n                    }\n                })\n            }\n            else {\n                let image = {\n                    url: gf.get('iconURL'),\n                    scaledSize: new window.google.maps.Size(40, 40),\n                    anchor: new google.maps.Point(20, 20),\n                }\n                ovr.setOptions({\n                    icon: image,\n                    draggable: true\n                })\n\n                ovr.addListener('dragend', () => {\n                    this.secondaryChanges()\n                })\n            }\n\n            ovr.setOptions({\n                fillColor: this.get('geofence.color'),\n                strokeColor: this.get('geofence.color')\n            })\n\n            this.set('geoShape', ovr)\n            this.secondaryChanges()\n            // add icon when we have overlay\n            this.set('selectedOverlay', event.type)\n        })\n\n        drawingManager.setMap(this.get('map'))\n        this.set('drawingManager', drawingManager)\n    },\n\n    secondaryChanges(fitBounds = true) {\n        let latlng = null\n        let geofence = this.get('geofence')\n        let geoShape = this.get('geoShape')\n        if (!geoShape) { return }\n\n        let image = {\n            url: geofence.get('iconURL'),\n            scaledSize: new window.google.maps.Size(40, 40),\n            anchor: new google.maps.Point(20, 20),\n        }\n\n        if (geofence.get('shape.type') === 'Polygon') { // the center marker\n            latlng = this.getCenter(geoShape.getPath().getArray().map(it => { return it.toJSON() }))\n            if (this.get('marker')) { // update position\n                this.get('marker').setPosition(latlng)\n            }\n            else { // create\n                let marker = new window.google.maps.Marker({\n                    position: latlng,\n                    icon: image,\n                })\n                marker.setMap(this.get('map'))\n                this.set('marker', marker)\n            }\n        }\n        else { // the circle\n            latlng = geoShape.getPosition().toJSON()\n            if (this.get('circle')) { // update\n                this.get('circle').setCenter(latlng)\n            }\n            else { // create\n                let circle = new window.google.maps.Circle({\n                    center: latlng,\n                    strokeColor: this.get('geofence.color'),\n                    fillColor: this.get('geofence.color'),\n                    radius: Number(this.get('geofence.boundary')),\n                })\n                circle.setMap(this.get('map'))\n                this.set('circle', circle)\n            }\n        }\n        if (fitBounds) {\n            this.fitBounds()\n        }\n    },\n\n    willDestroyElement() {\n        this._super(...arguments)\n        let geofence = this.get('geofence')\n        if (this.get('edit')) {\n            geofence.rollbackAttributes()\n        } else if (this.get('geofence.isNew')) {\n            geofence.rollbackAttributes()\n            if (geofence.get('shape.type') === 'Polygon') {\n                geofence.deleteRecord()\n            }\n        }\n        this.get('errors').clear()\n    },\n\n    /**\n     * Validates fields on save and populate errors array if errors found.\n     * @param {geofence} geofence\n     * @return {boolean} true if no errors false otherwise\n     */\n    validate(geofence) {\n        this.get('errors').clear()\n\n        if (!geofence.get('name')) {\n            this.get('errors').add({ t: 'errors.messages.emptyName' })\n        }\n\n        let regexAlertStationaryTime = new RegExp('^([5-9]|[1-5][0-9]|60)$')\n        let alertStationaryTimeValue = geofence.get('settings.event_trigger.stationary')\n        let isAlertStationary = geofence.get('settings.event_type.stationary') === 'alert'\n        if (isAlertStationary) {\n            if (!regexAlertStationaryTime.test(alertStationaryTimeValue)) {\n                this.get('errors').add({ t: 'errors.messages.invalidAlertStationaryTimeRange' })\n            }\n            if (alertStationaryTimeValue % 5 !== 0) {\n                this.get('errors').add({ t: 'errors.messages.invalidAlertStationaryTimeMultiple' })\n            }\n        }\n\n        if (!geofence.get('shape.coordinates') || !geofence.get('shape.coordinates').length) {\n            this.get('errors').add({ t: 'errors.messages.missingCoordinates' })\n        }\n\n        if (geofence.get('shape.type') === 'Polygon' && geofence.get('shape.coordinates').length < 3) {\n            this.get('errors').add({ t: 'errors.messages.insufficientPolygonPoints' })\n        }\n\n        return !this.get('errors').length()\n    },\n\n    clearAttachedVechicles() {\n        this.set('geofence.vehicles', [])\n    },\n\n    getSelectedVehicles() {\n        let $selectedVehicles = this.$('.aclDropDown').find('[data-type=\"vehicle\"].active')\n        return $selectedVehicles\n    },\n\n    /**\n     * Check to see if given vehicle is in the list of vehicles passed to component and used in vehicles dropdown.\n     * Normally this should never return undefined as the selected vehicle can be only from the list we pass to component, but just to be sure.\n     * @param {*} vehicle\n     * @param {array of vehicles} vehiclesList\n     * @return {vehicle} if found undefined otherwise\n     */\n    isInVehicleList($vehicle, vehicleList) {\n        return vehicleList.findBy('id', $vehicle.attr('id'))\n    },\n\n    attachSelectedVehilces() {\n        let vehicleList = this.get('vehicles')\n        this.getSelectedVehicles().toArray().forEach((vehicle) => {\n            let $vehicle = Ember.$(vehicle)\n            let foundVehicle = this.isInVehicleList($vehicle, vehicleList)\n            if (foundVehicle) {\n                this.get('geofence.vehicles').pushObject(foundVehicle.get('id'))\n            }\n        })\n    },\n\n    filterVehiclesByLicensePlate(vehicles, string) {\n        if (!vehicles) { return false }\n        let filter = string.toLowerCase()\n        let filtredVeh = []\n\n        let map = this.get('map')\n        if (!map) { return }\n        let bounds = new window.google.maps.LatLngBounds()\n        let markers = this.get('markers')\n        vehicles.forEach(function (veh) {\n            let marker = markers.findBy('id', veh.get('id'))\n            if (veh.get('licensePlate').toLowerCase().indexOf(filter) > -1 && veh.get('status.locationLatLng')) {\n                if (marker && !marker.getVisible()) {\n                    marker.setVisible(true)\n                }\n                bounds.extend(veh.get('status.locationLatLng'))\n                filtredVeh.push(veh)\n            } else {\n                if (marker && marker.getVisible()) {\n                    marker.setVisible(false)\n                }\n            }\n        })\n\n        if (filtredVeh.length) {\n            map.fitBounds(bounds, '20px')\n        }\n        else {\n            map.fitBounds(this.get('romBounds'), '20px')\n        }\n\n        return filtredVeh\n    },\n\n    selectDDVehicles() {\n        let search = this.get('search') ? this.get('search').toLowerCase() : ''\n        let selectedVehicle = this.get('selectedVehicle') ? this.get('selectedVehicle').toLowerCase() : ''\n        let settedVehDD = this.get('settedVehDD')\n        let vehicles = this.get('vehicles')\n\n        if (search === '' && settedVehDD) {     // to solve the behaviour that restarts search field value\n            search = selectedVehicle\n        }\n\n        return this.filterVehiclesByLicensePlate(vehicles, search)\n    },\n\n    makeMarker(veh) {\n        const map = this.get('map')\n        const MarkerLabel = this.get('MarkerLabel')\n        if (!map || !MarkerLabel) { return }\n\n        if (!veh.get('status.locationLatLng')) {\n            return null\n        }\n        let marker = new MarkerLabel({\n            position: new window.google.maps.LatLng(veh.get('status.locationLatLng').lat, veh.get('status.locationLatLng').lng),\n            icon: {\n                url: '../../assets/images/info-marker-neutral.png',\n                scaledSize: {\n                    width: 148,\n                    height: 50\n                }\n            },\n            labelContent: Ember.String.htmlSafe(veh.get('licensePlate')),\n            labelClass: 'markerLabel',\n            labelAnchor: new window.google.maps.Point(69, 45),\n            status: veh.get('statusIndicator'),\n            id: veh.get('id'),\n        })\n\n        return marker\n    },\n\n    /**\n     * addapt google-shape to geofence model:\n     * 1- set coordinates\n     */\n    completeGeofence() {\n        let geofence = this.get('geofence')\n        let shape = this.get('geoShape')\n\n        if (!shape) { return }\n\n        let coordinates = []\n\n        if (geofence.get('shape.type') === 'Point') {\n            let center = shape.getPosition().toJSON()\n            coordinates = [center]\n        }\n        else if (geofence.get('shape.type') === 'Polygon') {\n            coordinates = shape.getPath().getArray().map(item => {\n                return item.toJSON()\n            })\n        }\n\n        geofence.set('shape.coordinates', coordinates)\n    },\n\n    fitBounds() {\n        let map = this.get('map')\n        let geoShape = this.get('geoShape')\n        if (!map || !geoShape) { return }\n        let bounds = new window.google.maps.LatLngBounds()\n        if (this.get('geofence.shape.type') === 'Point') {\n            if (this.get('circle')) {\n                bounds = this.get('circle').getBounds()\n            }\n            bounds.extend(geoShape.getPosition().toJSON())\n        }\n        else if (this.get('geofence.shape.type') === 'Polygon') {\n            geoShape.getPaths().forEach(path => {\n                path.getArray().forEach(latlng => {\n                    bounds.extend(latlng)\n                })\n            })\n        }\n        map.fitBounds(bounds, '20px')\n    },\n\n    removeShape() {\n        if (this.get('geoShape')) { // remove the overlay\n            this.get('geoShape').setMap(null)\n            this.set('geoShape', null)\n            if (this.get('circle')) {\n                this.get('circle').setMap(null)\n                this.set('circle', null)\n            }\n            if (this.get('marker')) {\n                this.get('marker').setMap(null)\n                this.set('marker', null)\n            }\n        }\n    },\n\n    actions: {\n        onLoad(PublicAPI) {\n            let map = PublicAPI.map\n            this.set('map', map)\n            let geofence = this.get('geofence')\n\n            Ember.RSVP.Promise.all([\n                import('@google/markerwithlabel')\n            ])\n                .then(([MarkerLabel]) => {\n                    this.set('MarkerLabel', MarkerLabel.default)\n                    if (geofence && geofence.get('isNew')) {\n                        this.setDrawingManager(geofence)\n                        let markers = []\n                        this.get('vehicles').forEach(veh => {\n                            if (veh.get('status') && veh.get('status.location')) {\n                                let newMarker = this.makeMarker(veh)\n                                if (newMarker) {\n                                    markers.push(newMarker)\n                                }\n                            }\n                        })\n                        this.set('markers', markers)\n                        if (!this.get('geofenceCoords')) // if geofence is new and has coordinates (link from map routes) draw the shape\n                            return\n                        this.get('drawingManager').setDrawingMode(null) // select the hand\n                    }\n\n                    // set shape for existing geofence\n                    let geoShape = null\n                    let readonly = this.get('readonly')\n\n                    let image = {\n                        url: geofence.get('iconURL'),\n                        scaledSize: new window.google.maps.Size(40, 40),\n                        anchor: new google.maps.Point(20, 20),\n                    }\n\n                    if (geofence.get('shape.type') === 'Point') {\n                        geoShape = new window.google.maps.Marker({\n                            position: geofence.get('shape.coordinates')[0],\n                            icon: image,\n                            draggable: !readonly\n                        })\n                        geoShape.addListener('dragend', () => {\n                            this.secondaryChanges()\n                        })\n                    }\n                    else if (geofence.get('shape.type') === 'Polygon') {\n                        geoShape = new window.google.maps.Polygon({\n                            paths: geofence.get('shape.coordinates'),\n                            strokeColor: geofence.get('color'),\n                            fillColor: geofence.get('color'),\n                            editable: !readonly\n                        })\n\n                        geoShape.addListener('mouseup', event => { // polygon\n                            if (event.path !== undefined || event.edge !== undefined || event.vertex !== undefined) {\n                                this.secondaryChanges()\n                            }\n                        })\n                    }\n\n                    this.set('geoShape', geoShape)\n\n                    this.set('romBounds', map.getBounds())\n                    if (this.get('geofence.isNew')) {\n                        let drawingManager = this.get('drawingManager')\n                        drawingManager.setMap(map)\n                        this.get('markers').forEach(mrk => {\n                            mrk.setMap(map)\n                        })\n                    }\n\n                    if (!geoShape) { return }\n                    this.secondaryChanges()\n                    geoShape.setMap(map)\n                })\n        },\n        selectColor(color) {\n            if (this.get('drawingManager')) {\n                this.get('drawingManager').setOptions({\n                    markerOptions: {\n                        strokeColor: color,\n                        fillColor: color,\n                    },\n                    polygonOptions: {\n                        strokeColor: color,\n                        fillColor: color,\n                        editable: true,\n                    },\n                })\n            }\n\n            if (this.get('geoShape')) {\n                this.get('geoShape').setOptions({\n                    fillColor: color,\n                    strokeColor: color\n                })\n            }\n            if (this.get('circle')) {\n                this.get('circle').setOptions({\n                    fillColor: color,\n                    strokeColor: color\n                })\n            }\n        },\n        selectGeofenceRadio(val) {\n            let number = Number(val)\n            if (number) {\n                this.set('geofence.boundary', number)\n                if (this.get('circle')) {\n                    this.get('circle').setRadius(number)\n                    this.fitBounds()\n                }\n            }\n        },\n        selectVehicleDropdown(selectedVehicle) {\n            this.set('selectedVehicle', selectedVehicle)\n            this.set('search', selectedVehicle)\n            if (!selectedVehicle) {\n                this.selectDDVehicles()\n            }\n        },\n        openVehDD() {\n            this.set('settedVehDD', false)\n        },\n        closeVehDD() {\n            this.set('settedVehDD', true)\n        },\n        locationPicked(location, pickedLocation) {\n\t\t\tconst type = this.get('geofence.shape.type')\n\t\t\tconst locations = this.get('locations')\n\t\t\tconst coordinates = this.get('coordinates')\n\t\t\tlet geofence = this.get('geofence')\n\t\t\tlet readonly = this.get('readonly')\n\n\t\t\tlet image = {\n\t\t\t\turl: geofence.get('iconURL'),\n\t\t\t\tscaledSize: new window.google.maps.Size(40, 40),\n\t\t\t\tanchor: new google.maps.Point(20, 20),\n\t\t\t}\n\n\t\t\tif(this.get('geoShape')) {\n\t\t\t\tthis.removeShape()\n\t\t\t\tthis.geofenceMarkers.forEach(marker => marker.setMap(null))\n\t\t\t\tthis.geofenceMarkers.clear()\n\t\t\t}\n\n\t\t\tif(type === 'Polygon') {\n\t\t\t\tcoordinates.addObject({\n\t\t\t\t\tlat: pickedLocation.coordinates[0],\n\t\t\t\t\tlng: pickedLocation.coordinates[1]\n\t\t\t\t})\n\t\t\t\tconst waypoint = new window.google.maps.Marker({\n\t\t\t\t\tposition: {\n\t\t\t\t\t\tlat: pickedLocation.coordinates[0],\n\t\t\t\t\t\tlng: pickedLocation.coordinates[1]\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\twaypoint.setMap(this.get('map'))\n\t\t\t\tthis.geofenceMarkers.addObject(waypoint)\n\t\t\t\tlocations.addObject({})\n\t\t\t\tif(this.coordinates.get('length') === 1) {\n\t\t\t\t\tthis.set('default', {\n\t\t\t\t\t\tlat: pickedLocation.coordinates[0],\n\t\t\t\t\t\tlng: pickedLocation.coordinates[1]\n\t\t\t\t\t})\n\t\t\t\t\tthis.set('zoom', 14)\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst marker = new window.google.maps.Marker({\n\t\t\t\tposition: {\n\t\t\t\t\tlat: pickedLocation.coordinates[0],\n\t\t\t\t\tlng: pickedLocation.coordinates[1]\n\t\t\t\t},\n\t\t\t\ticon: image,\n\t\t\t\tdraggable: !readonly\n\t\t\t})\n\t\t\t\tmarker.addListener('dragend', () => {\n\t\t\t\t\tthis.secondaryChanges()\n\t\t\t\t})\n\t\t\t\tthis.set('geoShape', marker)\n\t\t\t\tthis.secondaryChanges()\n\t\t\t\tmarker.setMap(this.get('map'))\n\t\t\t}\n\n\t\t\tif(geofence.get('isNew')) {\n\t\t\t\tthis.get('drawingManager').setDrawingMode(null)\n\t\t\t}\n\t\t\tEmber.set(location, 'name', pickedLocation.name)\n\t\t\tEmber.set(location, 'location', pickedLocation.coordinates)\n        },\n\t\tonClickMap(event) {\n\t\t\tconst type = this.get('geofence.shape.type')\n\t\t\tconst location = event.googleEvent.latLng\n\t\t\tif (type === 'Polygon') {\n\t\t\t\tif(this.get('geoShape')) {\n\t\t\t\t\tthis.removeShape()\n\t\t\t\t\tthis.geofenceMarkers.forEach(marker => marker.setMap(null))\n\t\t\t\t\tthis.geofenceMarkers.clear()\n\t\t\t\t\tthis.set('coordinates', [])\n\t\t\t\t}\n\t\t\t\tthis.coordinates.addObject({\n\t\t\t\t\tlat: location.lat(),\n\t\t\t\t\tlng: location.lng()\n\t\t\t\t})\n\t\t\t\tconst waypoint = new window.google.maps.Marker({\n\t\t\t\t\tposition: {\n\t\t\t\t\t\tlat: location.lat(),\n\t\t\t\t\t\tlng: location.lng()\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\twaypoint.setMap(this.get('map'))\n\t\t\t\tthis.geofenceMarkers.addObject(waypoint)\n\t\t\t\tif(this.coordinates.get('length') === 1) {\n\t\t\t\t\tthis.set('default', {\n\t\t\t\t\t\tlat: location.lat(),\n\t\t\t\t\t\tlng: location.lng()\n\t\t\t\t\t})\n\t\t\t\t\tthis.set('zoom', 15)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfinishPolygon(coordinates, geofence, readonly) {\n\t\t\tconst marker = new window.google.maps.Polygon({\n\t\t\t\tpaths: coordinates,\n\t\t\t\tstrokeColor: geofence.get('color'),\n\t\t\t\tfillColor: geofence.get('color'),\n\t\t\t\teditable: !readonly\n\t\t\t})\n\t\t\tthis.set('geoShape', marker)\n\t\t\tthis.secondaryChanges()\n\t\t\tmarker.setMap(this.get('map'))\n\t\t\tthis.set('locations', [{}])\n\t\t\tthis.set('coordinates', [])\n\t\t},\n\t\tresetMap() {\n\t\t\tthis.removeShape()\n\t\t\tthis.geofenceMarkers.forEach(marker => marker.setMap(null))\n\t\t\tthis.geofenceMarkers.clear()\n\t\t\tthis.set('coordinates', [])\n\t\t\tthis.set('locations', [{}])\n\t\t},\n        changeType(selected) {\n            // this.get('geofence.shape.type')\n            let geofence = this.get('geofence')\n            if (geofence.get('shape.type') === selected) { return }\n\n            if (geofence.get('isNew')) {\n                this.get('drawingManager').setDrawingMode(geofence.get('shape.type') === 'Point' ? 'polygon' : 'marker')\n            }\n            else {\n\t\t\t\tgeofence.set('shape.type', selected)\n                geofence.set('type', geofence.get('shape.type') === 'Point' ? 'poi' : 'geofence')\n\n                this.removeShape()\n            }\n\t\t\tthis.set('locations', [{}])\n\t\t\tthis.geofenceMarkers.forEach(marker => marker.setMap(null))\n        },\n\n        /**\n         * Saves POI / GEOFENCE. In the case of polygon we need to close it by adding at the end\n         * of the array a new point with the same coordinates as the first one.\n         */\n        save() {\n            this.completeGeofence() // duplicate first object at last position\n            if (!this.validate(this.get('geofence'))) { return false }\n\t\t\tthis.set('locations', [{}])\n\t\t\tthis.set('coordinates', [])\n\n            this.clearAttachedVechicles()\n            this.attachSelectedVehilces()\n            this.get('save')()\n                .then(() => this.get('success')())\n                .catch(err => {\n                    if (!err) {\n                        this.get('errors').add()\n                    } else {\n                        if (!err.code) {\n                            this.get('errors').add({ t: 'errors.messages.errorsExistsCheckData' })\n                        } else {\n                            this.get('errors').add({ message: err.errors[0].detail })\n                        }\n                    }\n                })\n        },\n        cancel() {\n            this.cancel()\n        },\n        resetErrors() {\n            this.get('errors').clear()\n        },\n        updateGeofenceIcon(selectedIcon) {\n            let geofence = this.get('geofence')\n            geofence.set('icon', selectedIcon)\n            let image = {\n                url: geofence.get('iconURL'),\n                scaledSize: new window.google.maps.Size(40, 40),\n                anchor: new google.maps.Point(20, 20),\n            }\n\n            if (this.get('geoShape')) {\n                this.get('geoShape').setOptions({\n                    icon: image,\n                })\n            }\n\n            if (this.get('marker')) {\n                this.get('marker').setOptions({\n                    icon: image,\n                })\n            }\n        },\n    }\n})\n","export default Ember.HTMLBars.template({\"id\":\"0sLtq9o9\",\"block\":\"{\\\"symbols\\\":[\\\"icon\\\",\\\"loc\\\",\\\"vehicle\\\"],\\\"statements\\\":[[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form error\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"geofenceContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"geofenceFields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"value\\\",\\\"placeholder\\\"],[[20,[\\\"readonly\\\"]],[20,[\\\"geofence\\\",\\\"name\\\"]],[25,\\\"t\\\",[\\\"management.geofences.name\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"geofence\\\",\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"ddVehicles\\\"]],\\\"\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"forceSelection\\\",\\\"class\\\",\\\"onHide\\\",\\\"onShow\\\",\\\"onChange\\\",\\\"fullTextSearch\\\"],[\\\"ddVehicles\\\",false,[25,\\\"concat\\\",[\\\"search selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"closeVehDD\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"openVehDD\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectVehicleDropdown\\\"],null],\\\"exact\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"value\\\",\\\"autocomplete\\\",\\\"tabindex\\\"],[\\\"search\\\",[20,[\\\"search\\\"]],\\\"off\\\",\\\"0\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"vehicles\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"allVehicles\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,3,[\\\"status\\\",\\\"location\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,3,[\\\"licensePlate\\\"]],null],[7],[1,[19,3,[\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[[25,\\\"concat\\\",[\\\"selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"geofence\\\",\\\"shape\\\",\\\"type\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"changeType\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Polygon\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.type.geofence\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Point\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.type.poi\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field poiLocationSearch\\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"geofence\\\",\\\"shape\\\",\\\"type\\\"]],\\\"Polygon\\\"],null],\\\" locationSearchContainer\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"locationSearch\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"locations\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/location-picker\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"onChange\\\",\\\"selected\\\",\\\"options\\\"],[[25,\\\"t\\\",[\\\"dispatch.enterQuery\\\"],null],\\\"dark location\\\",\\\"dark\\\",[25,\\\"action\\\",[[19,0,[]],\\\"locationPicked\\\",[19,2,[]]],null],[25,\\\"if\\\",[[19,2,[\\\"location\\\"]],[19,2,[]],null],null],[20,[\\\"locations\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"finishPolygon\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"geofence\\\",\\\"shape\\\",\\\"type\\\"]],\\\"Polygon\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"geoShape\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"resetMap\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"x icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[10,\\\"disabled\\\",[25,\\\"eq\\\",[[20,[\\\"geofenceMarkers\\\",\\\"length\\\"]],0],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"finishPolygon\\\",[20,[\\\"coordinates\\\"]],[20,[\\\"geofence\\\"]],[20,[\\\"readonly\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"geofence\\\",\\\"shape\\\",\\\"type\\\"]],\\\"Point\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectGeofenceRadio\\\"],null],[20,[\\\"geofence\\\",\\\"boundary\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"radius\\\",[20,[\\\"geofence\\\",\\\"boundary\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.radio\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"50\\\"],[7],[0,\\\"50 m\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"100\\\"],[7],[0,\\\"100 m\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"300\\\"],[7],[0,\\\"300 m\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"500\\\"],[7],[0,\\\"500 m\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"1000\\\"],[7],[0,\\\"1000 m\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-checkbox\\\",null,[[\\\"label\\\",\\\"checked\\\",\\\"onChange\\\"],[\\\"Global\\\",[20,[\\\"geofence\\\",\\\"global\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"geofence\\\",\\\"global\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline fields specialInlineFields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"five wide field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"event_enter\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"eleven wide field \\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"eventEnter\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"geofence\\\",\\\"settings\\\",\\\"event_type\\\",\\\"enter\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"eventEnter\\\",[20,[\\\"geofence\\\",\\\"settings\\\",\\\"event_type\\\",\\\"enter\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"event_enter\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"notification\\\"],[7],[1,[25,\\\"t\\\",[\\\"notification\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline fields specialInlineFields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"five wide field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"event_exit\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"eleven wide field \\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"eventExit\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"geofence\\\",\\\"settings\\\",\\\"event_type\\\",\\\"exit\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"eventExit\\\",[20,[\\\"geofence\\\",\\\"settings\\\",\\\"event_type\\\",\\\"exit\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"event_exit\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"notification\\\"],[7],[1,[25,\\\"t\\\",[\\\"notification\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline fields specialInlineFields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"five wide field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"event_stationary\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"seven wide field \\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"eventStationary\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"geofence\\\",\\\"settings\\\",\\\"event_type\\\",\\\"stationary\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"eventStationary\\\",[20,[\\\"geofence\\\",\\\"settings\\\",\\\"event_type\\\",\\\"stationary\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"event_stationary\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"notification\\\"],[7],[1,[25,\\\"t\\\",[\\\"notification\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"four wide field \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"readonly\\\"]],[25,\\\"not-eq\\\",[[20,[\\\"geofence\\\",\\\"settings\\\",\\\"event_type\\\",\\\"stationary\\\"]],\\\"alert\\\"],null]],null],\\\"disabled\\\"],null]]]],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.geofences.alertStationaryTimeHoverText\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"pattern\\\",\\\"value\\\",\\\"min\\\",\\\"max\\\",\\\"maxlength\\\",\\\"size\\\",\\\"step\\\"],[\\\"number\\\",\\\"eventStationaryTime\\\",\\\"^([5]|[1-6][0]|[1-5][5])$\\\",[20,[\\\"geofence\\\",\\\"settings\\\",\\\"event_trigger\\\",\\\"stationary\\\"]],\\\"5\\\",\\\"60\\\",\\\"2\\\",\\\"2\\\",\\\"5\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"readonly\\\"]],[20,[\\\"geofence\\\",\\\"global\\\"]]],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/acl-dropdown\\\",null,[[\\\"text\\\",\\\"disabled\\\",\\\"groups\\\",\\\"vehicles\\\",\\\"isGlobalGeofence\\\",\\\"selectedVehicles\\\"],[[25,\\\"t\\\",[\\\"selectVehicles\\\"],null],[20,[\\\"readonly\\\"]],[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[20,[\\\"geofence\\\",\\\"global\\\"]],[20,[\\\"geofence\\\",\\\"vehicles\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"two fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"disabled\\\",\\\"value\\\",\\\"change\\\"],[\\\"color\\\",\\\"colorPicker\\\",[20,[\\\"readonly\\\"]],[20,[\\\"geofence\\\",\\\"color\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectColor\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"readonly\\\",\\\"value\\\"],[\\\"text\\\",true,[20,[\\\"geofence\\\",\\\"color\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"value\\\",\\\"placeholder\\\"],[[20,[\\\"readonly\\\"]],[20,[\\\"geofence\\\",\\\"externalID\\\"]],[25,\\\"t\\\",[\\\"management.geofences.externalID\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"updateGeofenceIcon\\\"],null],[20,[\\\"geofence\\\",\\\"icon\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.icons.selectIcon\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"geofenceIcons\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,1,[\\\"value\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[19,1,[\\\"value\\\"]],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"messages/error-message\\\",null,[[\\\"errors\\\",\\\"resetErrors\\\"],[[20,[\\\"errors\\\",\\\"list\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"resetErrors\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"geofenceMapContainer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"g-map\\\",null,[[\\\"lat\\\",\\\"lng\\\",\\\"classNames\\\",\\\"zoom\\\",\\\"onLoad\\\",\\\"onClick\\\"],[[20,[\\\"default\\\",\\\"lat\\\"]],[20,[\\\"default\\\",\\\"lng\\\"]],\\\"ember-google-map-cover\\\",[20,[\\\"zoom\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onLoad\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onClickMap\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"formActions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui darkGray fluid button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"back\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"readonly\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"management.geofences.edit\\\",[20,[\\\"geofence\\\",\\\"id\\\"]]],[[\\\"tagName\\\",\\\"class\\\"],[\\\"div\\\",[25,\\\"unless\\\",[[20,[\\\"isCompanyGeofence\\\"]],\\\"ui approve fluid button disabled\\\",\\\"ui approve fluid button\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"edit\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui yellow fluid button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/form-geofence/template.hbs\"}});","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n\tapi: service(),\n\terrors: service(),\n\temail: null,\n\tpartners: new Ember.A(),\n\tpartnersVisible: false,\n\ttagName: '',\n\n\t/**\n\t * Self explanatory\n\t * @param {string} email\n\t */\n\taddPartnerOnLayout(email) {\n\t\tif (!email) { return false }\n\t\tthis.get(\"partners\").pushObject({\n\t\t\temail\n\t\t})\n\t},\n\n\tremovePartnerFromLayout(partner) {\n\t\tif (!partner || !partner.email) { return false }\n\t\tthis.get(\"partners\").removeObject(partner)\n\t},\n\n\tshowGenericError() {\n\t\tif (!this) { return false }\n\t\tthis.toast.error(this.get('errors').getGeneric().message)\n\t},\n\n\tactions: {\n\t\taddGroup() {\n\t\t\tthis.sendAction(\"addGroup\", this.get(\"group.groupID\"))\n\t\t},\n\t\teditGroup() {\n\t\t\tthis.sendAction(\"editGroup\", this.get(\"group.groupID\"))\n\t\t},\n\t\tremoveGroup() {\n\t\t\tthis.sendAction(\"removeGroup\", this.get(\"group.groupID\"))\n\t\t},\n\n\t\ttogglePartners(groupID) {\n\t\t\tthis.set(\"partnersVisible\", !this.get(\"partnersVisible\"))\n\t\t\tif (this.get(\"partnersVisible\") && !this.get(\"partners.length\")) {\n\t\t\t\tthis.get(\"getPartners\")(groupID)\n\t\t\t\t\t.then(data => {\n\t\t\t\t\t\tif (!this) { return false }\n\t\t\t\t\t\tthis.set(\"partners\", data)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.showGenericError()\n\t\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send request to api to add a partner. If api request is ok we show the new partner.\n\t\t * If request fails a generic error is displayed.\n\t\t */\n\t\taddPartner() {\n\t\t\tlet email = this.get('email')\n\t\t\tlet group = this.get('group')\n\t\t\tlet api = this.get('api')\n\t\t\tif (!email || !group || !group.groupID) { return false }\n\t\t\tapi\n\t\t\t\t.raw('groups/' + group.groupID + '/shared/' + email, { dataType: \"json\", method: 'POST' })\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (!this) { return false }\n\t\t\t\t\tthis.addPartnerOnLayout(email)\n\t\t\t\t\tthis.set(\"email\", null)\n\t\t\t\t})\n\t\t\t\t.catch((response/*, jqXHR, payload*/) => {\n\t\t\t\t\tif (!this) { return false }\n\t\t\t\t\tif (response.jqXHR.status === 409) {\n\t\t\t\t\t\tthis.get('errors').clear()\n\t\t\t\t\t\tthis.get('errors').add({ message: response.payload.message, code: response.jqXHR.status || null })\n\t\t\t\t\t\tthis.toast.info(this.get('errors').list[0].message)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.showGenericError()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * It makes a api request to delete a partner. If request is succesfull then we remove the partner from display.\n\t\t * If request fails we show a generic error.\n\t\t * @param {object} partner\n\t\t */\n\t\tremovePartner(partner) {\n\t\t\tif (!partner || !partner.email) {\n\t\t\t\tthis.showGenericError()\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tlet email = partner.email\n\t\t\tlet group = this.get('group')\n\t\t\tlet api = this.get('api')\n\n\t\t\tapi\n\t\t\t\t.request('groups/' + group.groupID + '/shared/' + email, { dataType: \"json\", method: 'DELETE' })\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (!this) { return false }\n\t\t\t\t\tthis.removePartnerFromLayout(partner)\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.showGenericError()\n\t\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"r0Ez8k2o\",\"block\":\"{\\\"symbols\\\":[\\\"partner\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"group-item\\\"],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[10,\\\"grpName\\\",[26,[[20,[\\\"group\\\",\\\"groupName\\\"]]]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"caret down icon\\\"],[7],[8],[1,[20,[\\\"group\\\",\\\"groupName\\\"]],false],[8],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"group-options\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"group\\\",\\\"allowNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[9,\\\"class\\\",\\\"new\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addGroup\\\",[20,[\\\"group\\\",\\\"groupID\\\"]]],[[\\\"bubbles\\\"],[false]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.groups.addSubGroup\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"            \\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"togglePartners\\\",[20,[\\\"group\\\",\\\"groupID\\\"]]],[[\\\"bubbles\\\"],[false]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"share alternate square icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.groups.share\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"group\\\",\\\"allowEdit\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[9,\\\"class\\\",\\\"edit\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"editGroup\\\",[20,[\\\"group\\\",\\\"groupID\\\"]]],[[\\\"bubbles\\\"],[false]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.groups.editSubGroup\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"group\\\",\\\"isEmpty\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[9,\\\"class\\\",\\\"delete red\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"removeGroup\\\",[20,[\\\"group\\\",\\\"groupID\\\"]]],[[\\\"bubbles\\\"],[false]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"remove icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.groups.deleteSubGroup\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"partnersVisible\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"group-partners\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"current-partners\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"partners\\\"]]],null,{\\\"statements\\\":[[0,\\\"                \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui label\\\"],[7],[1,[19,1,[\\\"email\\\"]],false],[0,\\\" \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"clear-partner\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"removePartner\\\",[19,1,[]]],[[\\\"bubbles\\\"],[false]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"delete icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"        \\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],[20,[\\\"Resolution\\\",\\\"isTablet\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui right action mini input\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"inputs/no-bubble-click\\\",null,[[\\\"class\\\"],[\\\"no-bubble mini ui input focus\\\"]],{\\\"statements\\\":[[0,\\\"                    \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"click\\\"],[\\\"email\\\",[20,[\\\"email\\\"]],\\\"inputClick\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"                \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui mini teal labeled icon button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addPartner\\\"],[[\\\"bubbles\\\"],[false]]],[7],[0,\\\"\\\\n                    \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"mail outline icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.groups.add\\\"],null],false],[0,\\\"\\\\n                \\\"],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"inputs/no-bubble-click\\\",null,[[\\\"class\\\"],[\\\"no-bubble mini ui input focus\\\"]],{\\\"statements\\\":[[0,\\\"                \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"click\\\"],[\\\"email\\\",[20,[\\\"email\\\"]],\\\"inputClick\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"            \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui mini teal labeled icon button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addPartner\\\"],[[\\\"bubbles\\\"],[false]]],[7],[0,\\\"\\\\n                \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"mail outline icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.groups.add\\\"],null],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/item-group-options/template.hbs\"}});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    init() {\n        // orderBy groupID array\n        this._super(...arguments);\n        this.set( \"aGroups\", this.get( \"aGroups\" ).sortBy( \"groupID\" ) );\n    },\n    \n    actions: {\n        colapse(groupID) {\n            var item = Ember.$(\"div#\" + groupID);\n            item.next('ul').slideToggle('fast', function () {\n                var i = item.find('i');\n                if (i.hasClass('down')) {\n                    i.removeClass('down').addClass('right');\n                } else {\n                    i.removeClass('right').addClass('down');\n                }\n            });\n        },\n        addGroup(groupID) {\n            this.sendAction(\"addGroup\", groupID);\n        },\n        editGroup(groupID) {\n            this.sendAction(\"editGroup\", groupID);\n        },\n        removeGroup(groupID) {\n            this.sendAction(\"removeGroup\", groupID);\n        },\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"mIrIuOs4\",\"block\":\"{\\\"symbols\\\":[\\\"group\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"aGroups\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"li\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui segment\\\"],[10,\\\"id\\\",[26,[[19,1,[\\\"groupID\\\"]]]]],[10,\\\"data-parent\\\",[26,[[19,1,[\\\"parentID\\\"]]]]],[3,\\\"action\\\",[[19,0,[]],\\\"colapse\\\",[19,1,[\\\"groupID\\\"]]]],[7],[0,\\\"\\\\n            \\\"],[1,[25,\\\"management/item-group-options\\\",null,[[\\\"group\\\",\\\"removeGroup\\\",\\\"editGroup\\\",\\\"addGroup\\\",\\\"getPartners\\\"],[[19,1,[]],\\\"removeGroup\\\",\\\"editGroup\\\",\\\"addGroup\\\",[20,[\\\"getPartners\\\"]]]]],false],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"childrens\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"ul\\\"],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"management/item-group\\\",null,[[\\\"aGroups\\\",\\\"addGroup\\\",\\\"editGroup\\\",\\\"removeGroup\\\",\\\"getPartners\\\"],[[19,1,[\\\"childrens\\\"]],\\\"addGroup\\\",\\\"editGroup\\\",\\\"removeGroup\\\",[20,[\\\"getPartners\\\"]]]]],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/item-group/template.hbs\"}});","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n\tspeedLimitValidatonSchemma: service('speed-limit-validtion-schema'),\n\n\tdidRender() {\n\t\tEmber.$('.form.settings.formSettings')\n\t\t\t.form({\n\t\t\t\tfields: this.get('speedLimitValidatonSchemma.schema.fields'),\n\t\t\t\tonInvalid() {\n\t\t\t\t\t// let $firstFieldWithError = Ember.$('.field.error').first()\n\t\t\t\t\t// let scrollContainer = Ember.$('#trk-content')\n\n\t\t\t\t\t// scrollContainer.animate({\n\t\t\t\t\t// \tscrollTop: $firstFieldWithError.position().top - 30\n\t\t\t\t\t// }, 200)\n\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"IgHnRhIh\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1,[[20,[\\\"types\\\"]]]],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/settings/speedlimit-settings/template.hbs\"}});","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    i18n: Ember.inject.service(),\n\n    tagName: 'tr',\n    classNames: [\"ui form\"],\n    edit: false,\n\n    init() {\n        this._super(...arguments);\n        this.set(\"timezones\", moment.tz.names());\n\n        let newDate = new Date()\n        this.set('newDate', newDate)\n    },\n\n    actions: {\n        selectStartTime(formattedDate, date) {\n            this.set('tt.startTime', moment(date).format())\n        },\n        delete(tt) {\n            this.get('askToDelete')(tt)\n        },\n        edit() {\n            this.set('edit', true)\n        },\n        save() {\n            //save tt\n            this.set('edit', false)\n            this.get('tt').save()\n                .then(() => {\n                    this.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n                })\n                .catch(() => {\n                    this.toast.error(this.get('i18n').t('messages.operationWithError'))\n                })\n        },\n        cancel() {\n            //rollBack tt\n            this.set('edit', false)\n            this.get('tt').rollbackAttributes()\n        },\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"Fe1IHn0y\",\"block\":\"{\\\"symbols\\\":[\\\"tz\\\"],\\\"statements\\\":[[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]],\\\"dd\\\"],null],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"edit\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"minDate\\\",\\\"onSelect\\\",\\\"dateFormat\\\",\\\"placeholder\\\",\\\"iconPosition\\\",\\\"class\\\",\\\"name\\\",\\\"pickerType\\\"],[[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]]],null],[20,[\\\"newDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectStartTime\\\"],null],\\\"DD/MM/YYYY\\\",[25,\\\"t\\\",[\\\"date\\\"],null],\\\" ui left icon input fluid\\\",\\\"ui calendar alternate outline\\\",\\\"timestamp\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]],\\\"DD/MM/YYYY\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"edit\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"minDate\\\",\\\"onSelect\\\",\\\"dateFormat\\\",\\\"placeholder\\\",\\\"iconPosition\\\",\\\"iconType\\\",\\\"class\\\",\\\"pickerType\\\"],[[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]]],null],[20,[\\\"newDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectStartTime\\\"],null],\\\"HH:mm\\\",[25,\\\"t\\\",[\\\"hour\\\"],null],\\\" ui left icon input fluid\\\",\\\"wait\\\",\\\"ui calendar alternate outline\\\",\\\"time\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]],\\\"HH:mm\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"edit\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field ui middle aligned padded grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/time-setter\\\",null,[[\\\"unit\\\",\\\"min\\\",\\\"max\\\",\\\"step\\\",\\\"value\\\"],[\\\"s\\\",1800,86400,300,[20,[\\\"tt\\\",\\\"duration\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[20,[\\\"tt\\\",\\\"humanizedDuration\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"and\\\",[[20,[\\\"edit\\\"]],[20,[\\\"tt\\\",\\\"isNew\\\"]]],null],[20,[\\\"tt\\\",\\\"recurrent\\\"]]],null],[25,\\\"t\\\",[\\\"recurrentEachWeekDay\\\"],[[\\\"day\\\"],[[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]],\\\"dddd\\\"],null]]]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"edit\\\"]],[20,[\\\"tt\\\",\\\"isNew\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"ui-checkbox\\\",null,[[\\\"label\\\",\\\"checked\\\",\\\"onChange\\\"],[[25,\\\"concat\\\",[[25,\\\"t\\\",[\\\"recurrent\\\"],null],\\\" - \\\",[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]],\\\"dddd\\\"],null]],null],[20,[\\\"tt\\\",\\\"recurrent\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"tt\\\",\\\"recurrent\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"tt\\\",\\\"recurrent\\\"]],[25,\\\"concat\\\",[[25,\\\"t\\\",[\\\"recurrent\\\"],null],\\\" - \\\",[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]],\\\"dddd\\\"],null]],null]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"edit\\\"]],[20,[\\\"tt\\\",\\\"isNew\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"name\\\",\\\"class\\\",\\\"fullTextSearch\\\",\\\"selected\\\"],[\\\"ddTimezone\\\",[25,\\\"concat\\\",[\\\"ui dropdown fluid search pointing selection top right\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],\\\"exact\\\",[20,[\\\"tt\\\",\\\"timezone\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"timezone\\\",[20,[\\\"tt\\\",\\\"timezone\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"class\\\"],[[20,[\\\"readonly\\\"]],\\\"search\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"timezone\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"timezones\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,1,[]]]]],[7],[1,[19,1,[]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[20,[\\\"tt\\\",\\\"timezone\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned\\\"],[9,\\\"class\\\",\\\"operations\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"edit\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"two fields noBottomMargin\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-button icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"green checkmark biggerIcon icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-button icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"red trash biggerIcon icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"unless\\\",[[20,[\\\"tt\\\",\\\"expired\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"delete\\\",[20,[\\\"tt\\\"]]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"tt\\\",\\\"recurrent\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"edit\\\",[20,[\\\"tt\\\",\\\"id\\\"]]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"noPointer notSelect\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon deleteID\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/sub/timetable-row/template.hbs\"}});","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    i18n: Ember.inject.service(),\n\n    classNames: [\"newTimetableGrid\"],\n    edit: false,\n\n    init() {\n        this._super(...arguments);\n        this.set(\"timezones\", moment.tz.names());\n\n        let newDate = new Date()\n        this.set('newDate', newDate)\n    },\n\n    actions: {\n        selectStartTime(formattedDate, date) {\n            this.set('tt.startTime', moment(date).format())\n        },\n        selectVehicle(value) {\n            let vehicle = this.get('vehicles').findBy('id', value)\n            if (!vehicle.get('id')) { return false }\n            this.get('tt').set('vehicle', vehicle)\n            this.get('tt').set('group', vehicle.get('group'))\n            this.get('tt').set('companyID', vehicle.get('companyID'))\n        },\n        delete() {\n            this.get('tt').deleteRecord()\n            this.get('tt').save()\n                .then(() => {\n                    this.toast.success(this.get('i18n').t('messages.deletedWithSuccess'))\n                })\n                .catch(() => {\n                    this.toast.error(this.get('i18n').t('messages.operationWithError'))\n                })\n        },\n        edit() {\n            this.set('edit', true)\n        },\n        save() {\n            //save tt\n            this.set('edit', false)\n            let tt = this.get('tt')\n            let company = this.get('company')\n            if (!tt.get('group.id')) {\n                tt.set('group', company)\n            }\n            tt.save()\n                .then(() => {\n                    this.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n                })\n                .catch(() => {\n                    this.toast.error(this.get('i18n').t('messages.operationWithError'))\n                })\n        },\n        cancel() {\n            //rollBack tt\n            this.set('edit', false)\n            this.get('tt').rollbackAttributes()\n        },\n    }\n});","export default Ember.HTMLBars.template({\"id\":\"D3fuD5Pg\",\"block\":\"{\\\"symbols\\\":[\\\"tz\\\",\\\"vehicle\\\"],\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\"],[[25,\\\"concat\\\",[\\\"selection\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectVehicle\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"selectVehicle\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"licensePlate\\\",[20,[\\\"vehicles\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,2,[\\\"id\\\"]],null],[7],[1,[19,2,[\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"minDate\\\",\\\"onSelect\\\",\\\"dateFormat\\\",\\\"placeholder\\\",\\\"iconPosition\\\",\\\"class\\\",\\\"name\\\",\\\"pickerType\\\"],[[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]]],null],[20,[\\\"newDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectStartTime\\\"],null],\\\"DD/MM/YYYY HH:mm\\\",[25,\\\"t\\\",[\\\"date\\\"],null],\\\" ui left icon fluid input\\\",\\\"ui calendar alternate outline\\\",\\\"timestamp\\\",\\\"datetime\\\"]]],false],[0,\\\"\\\\n\\\"],[1,[25,\\\"inputs/time-setter\\\",null,[[\\\"unit\\\",\\\"min\\\",\\\"max\\\",\\\"step\\\",\\\"value\\\"],[\\\"s\\\",1800,86400,300,[20,[\\\"tt\\\",\\\"duration\\\"]]]]],false],[0,\\\"\\\\n\\\"],[1,[25,\\\"ui-checkbox\\\",null,[[\\\"title\\\",\\\"label\\\",\\\"checked\\\",\\\"onChange\\\"],[[25,\\\"t\\\",[\\\"recurrentEachWeekDay\\\"],[[\\\"day\\\"],[[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]],\\\"dddd\\\"],null]]]],[25,\\\"concat\\\",[[25,\\\"t\\\",[\\\"recurrent\\\"],null],\\\" - \\\",[25,\\\"moment-format\\\",[[20,[\\\"tt\\\",\\\"startTime\\\"]],\\\"dddd\\\"],null]],null],[20,[\\\"tt\\\",\\\"recurrent\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"tt\\\",\\\"recurrent\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"name\\\",\\\"class\\\",\\\"fullTextSearch\\\",\\\"selected\\\"],[\\\"ddTimezone\\\",[25,\\\"concat\\\",[\\\"ui dropdown fluid search pointing selection top right\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],\\\"exact\\\",[20,[\\\"tt\\\",\\\"timezone\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"timezone\\\",[20,[\\\"tt\\\",\\\"timezone\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"class\\\"],[[20,[\\\"readonly\\\"]],\\\"search\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"timezone\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"timezones\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,1,[]]]]],[7],[1,[19,1,[]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actionButtons\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-button icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"green checkmark biggerIcon icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-button icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"red trash biggerIcon icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/management/sub/timetable-segment/template.hbs\"}});","import Component from '@ember/component'\nimport { computed, observer } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\n/** * TODO: \n * 1 - CLUSTER \n *  1a - cluster markers ####### DONE #######\n *  1b - disable cluster if checked on map settings ####### DONE #######\n * \n * 2 - TYPE OF MARKER ####### DONE ####### [TEST-CUPOLA]\n *  2a - observe changes for type of marker ####### DONE #######\n *  2b - observe changes for speed (if speed is selected) ####### DONE #######\n *  2c - observe changes for cupola ####### DONE ####### NOT TESTED\n * \n * 3 - UPDATE Marker if vehicle status has changed\n *  3a - update marker position if has changed ####### DONE #######\n *  3b - update marker label if status has changed ####### DONE #######\n *  3c - update marker color if status has changed ####### DONE #######\n *  3d - Tail\n * \n * 4 - Tooltip\n *  3a - make tooltip ####### DONE #######\n *  3b - open tooltip ####### DONE #######\n *  3b - update tooltip ####### DONE #######\n *  3c - style tooltip\n * \n * BUGS:\n * Markers labels: if no cluster markers LABELS overlaps. (Z-INDEX problem)\n */\n\nexport default Component.extend({\n    i18n: service(),\n    currentUser: service('current-user'),\n\n    MarkerClusterer: null,\n    MarkerLabel: null,\n\n    modules: computed.readOnly('currentUser.modules'),\n    disableGeofencesOnZoomLevel: computed.readOnly('currentUser.disableGeofencesOnZoomLevel'),\n\n    geofencesZoomLevelChanged() {\n        let oldDz = this.get('oldDisableGeofencesOnZoomLevel')\n        let dz = this.get('disableGeofencesOnZoomLevel')\n        let zoom = this.get('zoom') // old zoom\n\n        let allOrNone = dz == 30 || dz == 31 // 30 - never show, 31 - always show\n        if ((oldDz === dz) ||\n            (!allOrNone && zoom > dz && zoom > oldDz) ||\n            (!allOrNone && zoom < dz && zoom < oldDz)\n        )\n            return\n\n        let map = this.get('map')\n        let geoMarkers = this.get('geoMarkers')\n        let geoIcons = this.get('geoIcons')\n        this.set('oldDisableGeofencesOnZoomLevel', dz)\n\n        let notShowIcons = (dz === 30 || (dz != 31 && zoom < dz))\n        if (notShowIcons) { // 30 - never show, 31 - always show\n            geoMarkers.forEach(mrk => {\n                mrk.setMap(null)\n            })\n            geoIcons.forEach(mrk => {\n                mrk.setMap(null)\n            })\n        }\n        else {\n            if (zoom < 16) { // remove the geofences, add the icons\n                geoMarkers.forEach(mrk => {\n                    mrk.setMap(null)\n                })\n                geoIcons.forEach(mrk => {\n                    mrk.setMap(map)\n                })\n            }\n            else { // remove the icons, add the geofences\n                geoIcons.forEach(mrk => {\n                    mrk.setMap(null)\n                })\n                geoMarkers.forEach(mrk => {\n                    mrk.setMap(map)\n                })\n            }\n        }\n    },\n\n    didUpdateAttrs() {\n        this._super(...arguments)\n\n        let vehicles = this.get('vehicles')\n        this.geofencesZoomLevelChanged()\n        let selectedTooltip = this.get('selectedTooltip') // update popup localization and information\n        if (selectedTooltip) {\n            let selectedVeh = vehicles.findBy('id', selectedTooltip.id)\n            if (selectedVeh) {\n                let selectedIcon = {\n                    id: selectedTooltip.id,\n                    lat: selectedVeh.get('status.locationLatLng.lat'),\n                    lng: selectedVeh.get('status.locationLatLng.lng'),\n                    content: selectedVeh.get('tooltip'),\n                }\n                this.set('selectedTooltip', selectedIcon)\n            }\n        }\n        return true\n    },\n\n    init() {\n        this._super(...arguments)\n        this.set('oldDisableGeofencesOnZoomLevel', this.get('disableGeofencesOnZoomLevel'))\n    },\n\n    makeGeofence(geofence, zIndex) {\n        let geoShape = null\n        // let _this = this\n\n        if (geofence.get('shape.type') === 'Point') {\n            geoShape = new window.google.maps.Circle({\n                center: geofence.get('shape.coordinates')[0],\n                radius: geofence.get('boundary'),\n                strokeColor: geofence.get('color'),\n                fillColor: geofence.get('color'),\n                title: geofence.get('fullName'),\n                id: geofence.get('id'),\n                zIndex: zIndex,\n            })\n        }\n        else if (geofence.get('shape.type') === 'Polygon') {\n            geoShape = new window.google.maps.Polygon({\n                paths: geofence.get('shape.coordinates'),\n                strokeColor: geofence.get('color'),\n                fillColor: geofence.get('color'),\n                title: geofence.get('fullName'),\n                id: geofence.get('id'),\n                center: geofence.get('shape.centerLatLng'),\n                zIndex: zIndex,\n            })\n        }\n\n        // title tooltip\n        window.google.maps.event.addListener(geoShape, 'mouseover', function () {\n            this.getMap().getDiv().setAttribute('title', this.get('title'))\n        })\n\n        window.google.maps.event.addListener(geoShape, 'mouseout', function () {\n            this.getMap().getDiv().removeAttribute('title')\n        })\n\n        return geoShape\n    },\n\n    makeGeofenceIcon(geofence, zIndex) {\n        const map = this.get('map')\n        if (!map) { return }\n\n        let pos = geofence.get('shape.centerLatLng')\n        let iconUrl = this.getIconImageUrl(geofence.get('icon'))\n        let marker = new window.google.maps.Marker({\n            title: geofence.get('fullName'),\n            id: geofence.get('id'),\n            zIndex: zIndex,\n            icon: {\n                url: iconUrl,\n                scaledSize: new window.google.maps.Size(20, 20),\n            },\n            position: new window.google.maps.LatLng(pos),\n        })\n\n        return marker\n    },\n\n    getIconImageUrl(geoIcon) {\n        let defaultIcon = this.get('currentUser.defaultIcon')\n        let icon = geoIcon ? geoIcon : defaultIcon\n        let url = ''\n\n        switch (icon) {\n            case 'mega-image megaImage':\n                url = 'assets/images/mi-mi.png'\n                break\n            case 'mega-image hall':\n                url = 'assets/images/mi-hall.png'\n                break\n            case 'mega-image shopGo':\n                url = 'assets/images/mi-go.png'\n                break\n\n            case 'home-marker gray':\n                url = 'assets/images/icoane_gray.png'\n                break\n            case 'home-marker blue':\n                url = 'assets/images/icoane_blue.png'\n                break\n            case 'home-marker green':\n                url = 'assets/images/icoane_green.png'\n                break\n            case 'home-marker orange':\n                url = 'assets/images/icoane_orange.png'\n                break\n            case 'home-marker red':\n                url = 'assets/images/icoane_red.png'\n                break\n            case 'home-marker yellow':\n                url = 'assets/images/icoane_galben.png'\n                break\n            case 'home-marker green1':\n                url = 'assets/images/icoane_verde.png'\n                break\n            case 'home-marker turquoise':\n                url = 'assets/images/icoane_turcoaz.png'\n                break\n            case 'home-marker purple':\n                url = 'assets/images/icoane_mov.png'\n                break\n            case 'home-marker pink':\n                url = 'assets/images/icoane_roz.png'\n                break\n            default:\n                url = 'assets/images/icoane_gray.png' // home-marker gray\n        }\n\n        return url\n    },\n\n    actions: {\n        addRemoveVehicle(veh) {\n            let id = veh.get('id')\n            if (this.get('currentUser.markerType') !== 'manual') return\n            let vehicles = this.get('currentUser.manualVehicles')\n            if (!vehicles) return\n            let vehPos = vehicles.indexOf(id)\n            if (vehPos != -1) {\n                let vehPos = vehicles.indexOf(id)\n                if (vehPos != -1)\n                    vehicles.splice(vehPos, 1)\n            }\n            else {\n                this.get('currentUser.manualVehicles').push(id)\n            }\n            this.get('currentUser').updateMapFilter('manualVehicles', this.get('currentUser.manualVehicles'))\n            this.toggleProperty('currentUser.triggerHack')\n            this.notifyPropertyChange('currentUser.triggerHack')\n        },\n        clickedIcon(veh) {\n            let selectedIcon = {\n                id: veh.get('id'),\n                lat: veh.get('status.locationLatLng.lat'),\n                lng: veh.get('status.locationLatLng.lng'),\n                content: veh.get('tooltip'),\n            }\n            let selectedTooltip = this.get('selectedTooltip')\n            if (selectedTooltip && selectedTooltip.id === selectedIcon.id) {\n                this.set('selectedTooltip', null)\n            }\n            else {\n                this.set('selectedTooltip', selectedIcon)\n            }\n        },\n        saveBounds(e) {\n            this.set('mapBounds', e.map.getBounds())\n        },\n        onZoomChanged(e) {\n            let nz = e.map.getZoom() // new zoom\n            let oz = this.get('zoom') // old zoom\n            let dz = this.get('disableGeofencesOnZoomLevel') // disable on zoom\n            this.set('zoom', nz)\n\n            let allOrNoneOrLimit = dz == 30 || dz == 31 || nz == 16 || oz == 16 // 30 - never show, 31 - always show\n            if (nz === oz || (!allOrNoneOrLimit && oz < dz && nz < dz) || (!allOrNoneOrLimit && oz > dz && nz > dz)) {\n                return\n            }\n\n            let map = this.get('map')\n            let geoMarkers = this.getWithDefault('geoMarkers', [])\n            let geoIcons = this.getWithDefault('geoIcons', [])\n\n            let notShowIcons = (dz === 30 || (dz != 31 && nz < dz))\n            if (notShowIcons) { // 30 - never show, 31 - always show\n                geoMarkers.forEach(mrk => {\n                    mrk.setMap(null)\n                })\n                geoIcons.forEach(mrk => {\n                    mrk.setMap(null)\n                })\n                return\n            }\n            else {\n                let changeIcons = (oz < 16 && nz >= 16) || (oz >= 16 && nz < 16 || nz >= dz)\n\n                if (changeIcons) {\n                    if (nz < 16) { // remove the geofences, add the icons\n                        geoMarkers.forEach(mrk => {\n                            mrk.setMap(null)\n                        })\n                        geoIcons.forEach(mrk => {\n                            mrk.setMap(map)\n                        })\n                    }\n                    else { // remove the icons, add the geofences\n                        geoIcons.forEach(mrk => {\n                            mrk.setMap(null)\n                        })\n                        geoMarkers.forEach(mrk => {\n                            mrk.setMap(map)\n                        })\n                    }\n                }\n            }\n        },\n        onLoad(PublicAPI) {\n            let map = PublicAPI.map\n\n            let trafficLayer = new window.google.maps.TrafficLayer()\n            trafficLayer.setMap(map)\n\n            this.set('map', map)\n            let zoom = map.getZoom()\n            let dz = this.get('disableGeofencesOnZoomLevel') // disable on zoom\n            this.set('zoom', zoom)\n\n            // return true\n            // make geofences and icons shapes\n            let geofences = this.get('geofences')\n            let geoMarkers = []\n            let geoIcons = []\n            geofences.forEach(geo => {\n                let geoMarker = this.makeGeofence(geo, 1)\n                let geoIcon = this.makeGeofenceIcon(geo, 1)\n                if (dz === 30 || (dz != 31 && zoom < dz)) { // 30 - never show, 31 - always show\n                    // not show the geofences\n                }\n                else if (zoom >= 16) {\n                    geoMarker.setMap(map)\n                }\n                else {\n                    geoIcon.setMap(map)\n                }\n                geoIcons.push(geoIcon)\n                geoMarkers.push(geoMarker)\n            })\n            this.set('geoMarkers', geoMarkers)\n            this.set('geoIcons', geoIcons)\n\n            this.sendAction('onMapLoaded', map)\n        }\n    }\n})\n","export default Ember.HTMLBars.template({\"id\":\"XpQVXaLO\",\"block\":\"{\\\"symbols\\\":[\\\"g\\\",\\\"vehicle\\\",\\\"info\\\"],\\\"statements\\\":[[1,[25,\\\"if\\\",[[20,[\\\"hasSpeedLabel\\\"]],[25,\\\"log\\\",[\\\"\\\"],null]],null],false],[0,\\\"\\\\n\\\"],[4,\\\"g-map\\\",null,[[\\\"classNames\\\",\\\"zoom\\\",\\\"maxZoom\\\",\\\"onBoundsChanged\\\",\\\"onZoomChanged\\\",\\\"onLoad\\\"],[\\\"ember-google-map-cover\\\",13,19,[25,\\\"action\\\",[[19,0,[]],\\\"saveBounds\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onZoomChanged\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onLoad\\\"],null]]],{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"selectedTooltip\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"infoWindow\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"isOpen\\\"],[[20,[\\\"selectedTooltip\\\",\\\"lat\\\"]],[20,[\\\"selectedTooltip\\\",\\\"lng\\\"]],[20,[\\\"selectedTooltip\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"selectedTooltip\\\",\\\"content\\\"]],true],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[20,[\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"status\\\",\\\"locationLatLng\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"optimized\\\",\\\"zIndex\\\",\\\"onClick\\\"],[[19,2,[\\\"status\\\",\\\"locationLatLng\\\",\\\"lat\\\"]],[19,2,[\\\"status\\\",\\\"locationLatLng\\\",\\\"lng\\\"]],false,10,[25,\\\"action\\\",[[19,0,[]],\\\"clickedIcon\\\",[19,2,[]]],null]]],{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"markerType\\\"]],\\\"big\\\"],null],[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"markerType\\\"]],\\\"manual\\\"],null],[19,2,[\\\"manualBig\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"big-icon\\\"],[10,\\\"title\\\",[19,2,[\\\"title\\\"]],null],[10,\\\"oncontextmenu\\\",[25,\\\"action\\\",[[19,0,[]],\\\"addRemoveVehicle\\\",[19,2,[]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"statusIndicator\\\"]],\\\"engineOn\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-status-green\\\"],[9,\\\"src\\\",\\\"assets/images/green-new-border.png\\\"],[10,\\\"style\\\",[25,\\\"html-safe\\\",[[25,\\\"concat\\\",[\\\"transform: rotate(\\\",[25,\\\"sub\\\",[[19,2,[\\\"status\\\",\\\"bearing\\\"]],90],null],\\\"deg);\\\"],null]],null],null],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"status-circle-color \\\",[19,2,[\\\"statusIndicator\\\"]]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[19,2,[\\\"hasTaxiSensor\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"taxiState\\\"]],\\\"engineOn\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-lolipoop\\\"],[9,\\\"src\\\",\\\"assets/images/loli-green.png\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"taxiState\\\"]],\\\"engineOff\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-lolipoop\\\"],[9,\\\"src\\\",\\\"assets/images/loli-red.png\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-lolipoop\\\"],[9,\\\"src\\\",\\\"assets/images/lolipop90.png\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-lolipoop\\\"],[9,\\\"src\\\",\\\"assets/images/lolipop90.png\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"status-circle-text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"circle-top\\\"],[10,\\\"title\\\",[19,2,[\\\"iconTextTop\\\",\\\"tooltip\\\"]],null],[7],[1,[19,2,[\\\"iconTextTop\\\",\\\"value\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"circle-mid bold\\\"],[10,\\\"title\\\",[19,2,[\\\"iconText\\\"]],null],[7],[1,[19,2,[\\\"iconText\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"circle-down\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[19,2,[\\\"hasTaxiSensor\\\"]],[19,2,[\\\"taxiState\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dashboard.liveStatus.cupolaState.\\\",[19,2,[\\\"taxiState\\\"]]],null]],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"uppercase\\\",[[25,\\\"truncate\\\",[[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dashboard.liveStatus.cupolaState.\\\",[19,2,[\\\"taxiState\\\"]]],null]],null],3,false],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t---\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"markerType\\\"]],\\\"medium\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-medium\\\"],[10,\\\"src\\\",[19,2,[\\\"iconUrl\\\"]],null],[10,\\\"oncontextmenu\\\",[25,\\\"action\\\",[[19,0,[]],\\\"addRemoveVehicle\\\",[19,2,[]]],null],null],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text-medium\\\"],[10,\\\"title\\\",[19,2,[\\\"iconText\\\"]],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"uppercase\\\",[[25,\\\"truncate\\\",[[19,2,[\\\"iconText\\\"]],11,false],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-simple\\\"],[10,\\\"src\\\",[19,2,[\\\"iconUrl\\\"]],null],[10,\\\"oncontextmenu\\\",[25,\\\"action\\\",[[19,0,[]],\\\"addRemoveVehicle\\\",[19,2,[]]],null],null],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/map/google-maps-index/template.hbs\"}});","import Component from '@ember/component'\nimport config from 'tracknamic-smb/config/environment'\nimport { inject as service } from '@ember/service'\nimport { filterBy } from '@ember/object/computed'\nimport { set, observer } from '@ember/object'\nimport copyToClipboard from 'tracknamic-smb/utils/copy-clipboard'\nimport { task } from 'ember-concurrency'\n\nconst romLatLng = {\n    lat: 45.9432,\n    lng: 24.9668\n}\n\nconst hoveredRouteOpacity = 0.75\n// const hoveredRouteWeight = 12\nconst routeOpacity = 1\nconst routeWeight = 10\nconst routeColor = \"#606062\"\nconst selectedRouteColor = \"#FFFFFF\"\nconst selectedRouteWeight = 6\n\n\n/** * TODO: \n * 1 - POIs\n *  1a - Draw POIs ####### DONE #######\n *  1b - Draw Geofences ####### DONE #######\n *  1c - POI title ####### DONE ####### IMPROVE THIS\n * \n * 2 - ROUTES\n *  2a - Draw routes\n *  2b - Direction markers\n *  2c - Stop Markers\n *  2d - Select Route\n *  2e - Select stopMarker\n *  2f - Hover style\n * \n * 3 - VEHICLE updated information\n *  3a - Show vehicle marker\n * \n * 4 - Tooltip\n * \n */\n\nexport default Component.extend({\n    mapService: service('map'),\n    i18n: service(),\n    toast: service(),\n    modal: service(),\n    api: service(),\n\tcurrentUser: service('current-user'),\n\n    config,\n    romLatLng,\n\n\tmovingRoutes: filterBy('mergedRoutes', 'stationary', false),\n    stationaryRoutes: filterBy('mergedRoutes', 'stationary', true),\n\n    trafficLayer: null,\n    showTraffic: false,\n\n    // polygons: Ember.computed.filterBy(\"geofences\", \"type\", \"geofence\"),\n    // pois: Ember.computed.filterBy(\"geofences\", \"type\", \"poi\"),\n\n    didUpdateAttrs() {\n        this._super(...arguments)\n\n        // hovered route polyline\n        if (this.get('lastHoveredRouteID') !== this.get('hoveredRouteID')) {\n            if (this.get('hoveredRouteID')) {\n                let hoveredRoute = this.get('routes') ? this.get('routes').findBy('id', this.get('hoveredRouteID')) : false\n                if (hoveredRoute) {\n                    hoveredRoute.setOptions({ strokeOpacity: hoveredRouteOpacity })\n                }\n            }\n            if (this.get('lastHoveredRouteID')) {\n                let lastHoveredRouteID = this.get('routes') ? this.get('routes').findBy('id', this.get('lastHoveredRouteID')) : false\n                if (lastHoveredRouteID) {\n                    lastHoveredRouteID.setOptions({ strokeOpacity: routeOpacity })\n                }\n            }\n            this.set('lastHoveredRouteID', this.get('hoveredRouteID'))\n        }\n    },\n\n\tgetPurpose: task(function* (timestamp) {\n\t\tif (!this.get('currentUser.modules.report28')) return\n\t\tconst filter = {\n\t\t\t'$where[vehicle_id]': this.get('selectedVehicle.id'),\n\t\t\t'$where[timestamp]': timestamp,\n\t\t}\n\n\t\tthis.set('gettingPurpose', true)\n\t\tyield this.get('api').request('stationaryPurposes', { data: filter })\n\t\t\t.then(res => {\n\t\t\t\tconst purpose = res.purposes.length ? res.purposes[0].stoppingPurpose : null\n\t\t\t\tthis.set('gettingPurpose', false)\n\t\t\t\tthis.set('stoppingPurpose', purpose)\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.set('gettingPurpose', false)\n\t\t\t\tthis.set('stoppingPurpose', null)\n\t\t\t})\n\t}),\n\n    openInfoGeofence(marker) {\n        let infoWindow = this.get('infoWindowGeofence')\n        let map = this.get('map')\n        if (!marker || !infoWindow || !map) { return false }\n\n        infoWindow.setContent(marker.title)\n        infoWindow.setPosition(marker.center)\n        infoWindow.open(map, marker)\n    },\n\n    makeMarker(geofence, zIndex) {\n        let geoShape = null\n        // let _this = this\n\n        if (geofence.get('shape.type') === 'Point') {\n            geoShape = new window.google.maps.Circle({\n                center: geofence.get('shape.coordinates')[0],\n                radius: geofence.get('boundary'),\n                strokeColor: geofence.get('color'),\n                fillColor: geofence.get('color'),\n                title: geofence.get('fullName'),\n                id: geofence.get('id'),\n                zIndex: zIndex,\n            })\n        }\n        else if (geofence.get('shape.type') === 'Polygon') {\n            geoShape = new window.google.maps.Polygon({\n                paths: geofence.get('shape.coordinates'),\n                strokeColor: geofence.get('color'),\n                fillColor: geofence.get('color'),\n                title: geofence.get('fullName'),\n                id: geofence.get('id'),\n                center: geofence.get('shape.centerLatLng'),\n                zIndex: zIndex,\n            })\n        }\n\t\telse {\n\t\t\treturn null\n\t\t}\n\n        // title tooltip\n        window.google.maps.event.addListener(geoShape, 'mouseover', function () {\n            this.getMap().getDiv().setAttribute('title', this.get('title'))\n        })\n\n        window.google.maps.event.addListener(geoShape, 'mouseout', function () {\n            this.getMap().getDiv().removeAttribute('title')\n        })\n\n        return geoShape\n    },\n\n    makeSelectedRoutePolyline() {\n        let _this = this\n        let poly = new window.google.maps.Polyline({\n            path: [],\n            strokeColor: selectedRouteColor,\n            strokeOpacity: routeOpacity,\n            strokeWeight: selectedRouteWeight,\n            zIndex: 2147483641,\n            id: null,\n        });\n\n        poly.addListener('click', function () {\n            if (this.id) {\n                _this.routeClick(this.id)\n            }\n        })\n\n        return poly\n    },\n\n    makeRoute(route, zIndex) {\n        let _this = this\n        let poly = new window.google.maps.Polyline({\n            path: route.points,\n            strokeColor: routeColor,\n            strokeOpacity: routeOpacity,\n            strokeWeight: routeWeight,\n            zIndex: zIndex,\n            id: route.id,\n        });\n\n        poly.addListener('mouseover', function () {\n            if (_this.get('selectedRoute') && _this.get('selectedRoute').id === this.id) { return }\n            _this.routeHover(this.id)\n\n        })\n        poly.addListener('mouseout', function () {\n            if (_this.get('selectedRoute') && _this.get('selectedRoute').id === this.id) { return }\n            _this.routeHoverOut(this.id)\n\n        })\n        poly.addListener('click', function () {\n            _this.routeClick(this.id)\n            this.setOptions({\n                strokeOpacity: routeOpacity,\n            })\n        })\n\n        return poly\n    },\n\n    // eslint-disable-next-line ember-best-practices/no-observers\n    updateSelectedRoute: observer('selectedRoute', 'map', function () {\n        // selected route polyline'\n        let map = this.get('map')\n        if (!map) { return }\n        let selectedRoute = this.get('selectedRoute')\n\n        if (selectedRoute) {\n            this.get('selectedRoutePolyline').setPath(selectedRoute.points)\n            this.get('selectedRoutePolyline').setOptions({ id: selectedRoute.id })\n            this.get('selectedRoutePolyline').setVisible(true)\n            if (this.get('map')) {\n                let bounds = new window.google.maps.LatLngBounds()\n                this.get('selectedRoutePolyline').getPath().getArray().forEach(point => {\n                    bounds.extend(point)\n                })\n                this.get('map').fitBounds(bounds)\n            }\n        } else {\n            this.get('selectedRoutePolyline').setVisible(false)\n            this.get('selectedRoutePolyline').setPath([])\n            this.get('selectedRoutePolyline').setOptions({ id: null })\n            if (this.get('map') && this.get('allBounds')) {\n                this.get('map').fitBounds(this.get('allBounds'))\n            }\n        }\n    }),\n\n    // eslint-disable-next-line ember-best-practices/no-observers\n    updatePolylines: observer('movingRoutes', 'map', function () {\n        let map = this.get('map')\n        let movingRoutes = this.get('movingRoutes')\n\n        if (!map || !movingRoutes) { return [] }\n\n        if (this.get('routes')) {\n            this.get('routes').forEach(rt => {\n                rt.setMap(null)\n            })\n        }\n\n        let routes = []\n        let bounds = new window.google.maps.LatLngBounds();\n        let zindexRoutes = 5000\n        if (movingRoutes && movingRoutes.length) {\n            movingRoutes.forEach((route, idx) => {\n                // ZINDEX moment().format('YYMMHHmmss')\n                let rte = this.makeRoute(route, zindexRoutes + idx)\n                // polyline.setOptions({ 'zIndex ': zindex + idx })\n                rte.setMap(map)\n\n                var pointsOfMovingRoute = rte.getPath().getArray();\n                pointsOfMovingRoute.forEach(point => {\n                    bounds.extend(point)\n                })\n                routes.push(rte)\n            })\n            map.fitBounds(bounds)\n            this.set('allBounds', bounds)\n            this.set('routes', routes)\n        }\n    }),\n\n    actions: {\n        onLoad(PublicAPI) {\n            let map = PublicAPI.map\n\n            this.set('infoWindow', new window.google.maps.InfoWindow())\n            this.set('infoWindowGeofence', new window.google.maps.InfoWindow())\n\n            // let polygons = this.get('polygons')\n            // let pois = this.get('pois')\n            let geofences = this.getWithDefault('geofences', [])\n            // let geoMarkers = []\n            geofences.forEach(geo => {\n                let geoMarker = this.makeMarker(geo, 1)\n\t\t\t\tif (!geoMarker) return\n                geoMarker.setMap(map)\n                // geoMarkers.push(geoMarker)\n            })\n\n            let selectedRoutePolyline = this.makeSelectedRoutePolyline()\n            selectedRoutePolyline.setMap(map)\n            this.set('selectedRoutePolyline', selectedRoutePolyline)\n\n            // map.fitBounds(bounds)\n\n            let trafficLayer = new window.google.maps.TrafficLayer()\n            this.set('trafficLayer', trafficLayer)\n\n            // this.set('routes', routes)\n            this.set('map', map)\n        },\n\t\topenStationaryInfo(stationary){\n\t\t\tif (!stationary) { return null }\n\t\t\tthis.onStationaryClick(stationary)\n\t\t\tif (this.get('selectedStationaryRoute') && this.get('selectedStationaryRoute').id === stationary.id) {\n\t\t\t\tthis.get('getPurpose').perform(this.get('selectedStationaryRoute').start.timestamp)\n\t\t\t\tset(this.get('selectedStationaryRoute'), 'isOpen', !this.get('selectedStationaryRoute.isOpen'))\n\t\t\t} else {\n\t\t\t\tthis.get('getPurpose').perform(stationary.start.timestamp)\n\t\t\t\tset(stationary, 'isOpen', true)\n\t\t\t\tthis.set('selectedStationaryRoute', stationary)\n\t\t\t}\n\t\t},\n\t\tcontextMenuHandler(stationary){\n\t\t\tconst lat = stationary?.points?.[0]?.lat\n\t\t\tconst lng = stationary?.points?.[0]?.lng\n\n\t\t\tif (!lat || !lng) return\n            copyToClipboard(`${stationary.start.text} - ${lat.toFixed(6)}, ${lng.toFixed(6)}`)\n            this.toast.success(this.get('i18n').t('messages.coordsCopiedToClipboard'))\n\t\t},\n        addFueling(timestamp, location) {\n            if (!timestamp || !location) { return false }\n\n            let options = {\n                timestamp,\n                location,\n                vehicleID: this.get('selectedVehicle') ? this.get('selectedVehicle').get('id') : null,\n            }\n\n            this.get('modal').open('dc-fueling-add', options)\n        },\n        addStoppingPurpose(timestamp, location) {\n            if (!timestamp || !location) { return false }\n\n            let options = {\n                timestamp,\n                location,\n                vehicleID: this.get('selectedVehicle') ? this.get('selectedVehicle').get('id') : null,\n            }\n\n            this.get('modal').open('dc-stationary-purpose-add', options)\n        },\n        toggleTraffic() {\n            const layer = this.get('trafficLayer')\n            if (this.get('showTraffic')) {\n                layer.setMap(null)\n                this.set('showTraffic', false)\n            } else {\n                layer.setMap(this.get('map'))\n                this.set('showTraffic', true)\n            }\n        },\n    }\n})\n","export default Ember.HTMLBars.template({\"id\":\"DeLVu5ZI\",\"block\":\"{\\\"symbols\\\":[\\\"g\\\",\\\"stationary\\\",\\\"idx\\\",\\\"stationary\\\",\\\"idx\\\"],\\\"statements\\\":[[4,\\\"g-map\\\",null,[[\\\"lat\\\",\\\"lng\\\",\\\"classNames\\\",\\\"zoom\\\",\\\"onLoad\\\"],[[20,[\\\"romLatLng\\\",\\\"lat\\\"]],[20,[\\\"romLatLng\\\",\\\"lng\\\"]],\\\"ember-google-map-cover\\\",7,[25,\\\"action\\\",[[19,0,[]],\\\"onLoad\\\"],null]]],{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"selectedStationaryRoute\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"infoWindow\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"isOpen\\\"],[[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lng\\\"]],[20,[\\\"selectedStationaryRoute\\\",\\\"isOpen\\\"]]]],{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"type\\\"]],\\\"stationary\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"centered bolded marginBottom5px\\\"],[7],[1,[25,\\\"t\\\",[\\\"markers.stationary\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"markers.from\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"time\\\"]],\\\"DD/MM HH:mm\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"markers.to\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"time\\\"]],\\\"DD/MM HH:mm\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"stationaryDurationTotal\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-duration-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"duration\\\"]],\\\"ms\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"stationaryDurationEngineOn\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-duration-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"engineOnDuration\\\"]],\\\"ms\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"stationaryDurationEngineOff\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-duration-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"engineOffDuration\\\"]],\\\"ms\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"location\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"to-fixed\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],4],null],false],[0,\\\" N, \\\"],[1,[25,\\\"to-fixed\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lng\\\"]],4],null],false],[0,\\\" E\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[10,\\\"href\\\",[26,[[20,[\\\"config\\\",\\\"rootURL\\\"]],\\\"management/geofences/new?lat=\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],\\\"&lng=\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lng\\\"]]]]],[9,\\\"target\\\",\\\"_blank\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.new.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addFueling\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"timestamp\\\"]],[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"location\\\"]]]],[7],[1,[25,\\\"t\\\",[\\\"addFueling\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"modules\\\",\\\"report28\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"gettingPurpose\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t...\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"stoppingPurpose\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dispatch.route.waypoints.types.\\\",[20,[\\\"stoppingPurpose\\\"]]],null]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addStoppingPurpose\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"timestamp\\\"]],[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"location\\\"]]]],[7],[1,[25,\\\"t\\\",[\\\"addStoppingPurpose\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"type\\\"]],\\\"stationary-start\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"centered bolded marginBottom5px\\\"],[7],[1,[25,\\\"t\\\",[\\\"markers.start\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"markers.at\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"time\\\"]],\\\"DD/MM HH:mm\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"location\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"to-fixed\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],4],null],false],[0,\\\" N, \\\"],[1,[25,\\\"to-fixed\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lng\\\"]],4],null],false],[0,\\\" E\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[10,\\\"href\\\",[26,[[20,[\\\"config\\\",\\\"rootURL\\\"]],\\\"management/geofences/new?lat=\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],\\\"&lng=\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lng\\\"]]]]],[9,\\\"target\\\",\\\"_blank\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.new.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addFueling\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"timestamp\\\"]],[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"location\\\"]]]],[7],[1,[25,\\\"t\\\",[\\\"addFueling\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"modules\\\",\\\"report28\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"gettingPurpose\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t...\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"stoppingPurpose\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dispatch.route.waypoints.types.\\\",[20,[\\\"stoppingPurpose\\\"]]],null]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addStoppingPurpose\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"timestamp\\\"]],[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"location\\\"]]]],[7],[1,[25,\\\"t\\\",[\\\"addStoppingPurpose\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"type\\\"]],\\\"stationary-end\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"centered bolded marginBottom5px\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"stationary\\\"]],\\\"markers.lastStationary\\\",\\\"markers.stop\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"markers.from\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"time\\\"]],\\\"DD/MM HH:mm\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"stationary\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"markers.to\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"time\\\"]],\\\"DD/MM HH:mm\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"stationaryDurationTotal\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-duration-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"duration\\\"]],\\\"ms\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"stationaryDurationEngineOn\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-duration-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"engineOnDuration\\\"]],\\\"ms\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"stationaryDurationEngineOff\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-duration-format\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"engineOffDuration\\\"]],\\\"ms\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"location\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"to-fixed\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],4],null],false],[0,\\\" N, \\\"],[1,[25,\\\"to-fixed\\\",[[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lng\\\"]],4],null],false],[0,\\\" E\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[10,\\\"href\\\",[26,[[20,[\\\"config\\\",\\\"rootURL\\\"]],\\\"management/geofences/new?lat=\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],\\\"&lng=\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"points\\\",\\\"0\\\",\\\"lng\\\"]]]]],[9,\\\"target\\\",\\\"_blank\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.new.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addFueling\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"timestamp\\\"]],[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"location\\\"]]]],[7],[1,[25,\\\"t\\\",[\\\"addFueling\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"modules\\\",\\\"report28\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"gettingPurpose\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t...\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"stoppingPurpose\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[18,\\\"stoppingPurpose\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addStoppingPurpose\\\",[20,[\\\"selectedStationaryRoute\\\",\\\"start\\\",\\\"timestamp\\\"]],[20,[\\\"selectedStationaryRoute\\\",\\\"end\\\",\\\"location\\\"]]]],[7],[1,[25,\\\"t\\\",[\\\"addStoppingPurpose\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"selectedVehicle\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"selectedVehicle\\\",\\\"status\\\",\\\"locationLatLng\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\"],[[20,[\\\"selectedVehicle\\\",\\\"status\\\",\\\"locationLatLng\\\",\\\"lat\\\"]],[20,[\\\"selectedVehicle\\\",\\\"status\\\",\\\"locationLatLng\\\",\\\"lng\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"dc-marker default-marker \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedVehicle\\\",\\\"statusIndicator\\\"]],\\\" engineOn\\\"],null],\\\"green\\\",\\\"red\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[20,[\\\"stationaryRoutes\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"onClick\\\"],[[19,4,[\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],[19,4,[\\\"points\\\",\\\"0\\\",\\\"lng\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"openStationaryInfo\\\",[19,4,[]]],null]]],{\\\"statements\\\":[[4,\\\"context-menu\\\",null,[[\\\"action\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"contextMenuHandler\\\",[19,4,[]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"ui stationary-marker circular label\\\"],[7],[1,[19,4,[\\\"stationaryIndex\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[4,5]},null],[4,\\\"each\\\",[[25,\\\"filter-by\\\",[\\\"selected\\\",[20,[\\\"stationaryRoutes\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"onClick\\\"],[[19,2,[\\\"points\\\",\\\"0\\\",\\\"lat\\\"]],[19,2,[\\\"points\\\",\\\"0\\\",\\\"lng\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"openStationaryInfo\\\",[19,2,[]]],null]]],{\\\"statements\\\":[[4,\\\"context-menu\\\",null,[[\\\"action\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"contextMenuHandler\\\",[19,2,[]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"ui stationary-marker selected circular label\\\"],[7],[1,[19,2,[\\\"stationaryIndex\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2,3]},null],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"marker\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"icon\\\",\\\"optimized\\\"],[[20,[\\\"hoveredPoint\\\",\\\"lat\\\"]],[20,[\\\"hoveredPoint\\\",\\\"lng\\\"]],[25,\\\"hash\\\",null,[[\\\"path\\\",\\\"fillColor\\\",\\\"fillOpacity\\\",\\\"strokeWeight\\\",\\\"strokeColor\\\",\\\"rotation\\\",\\\"scale\\\",\\\"anchor\\\"],[\\\"M382.678,226.804L163.73,7.86C158.666,2.792,151.906,0,144.698,0s-13.968,2.792-19.032,7.86l-16.124,16.12\\\\t\\\\t\\\\tc-10.492,10.504-10.492,27.576,0,38.064L293.398,245.9l-184.06,184.06c-5.064,5.068-7.86,11.824-7.86,19.028\\\\t\\\\t\\\\tc0,7.212,2.796,13.968,7.86,19.04l16.124,16.116c5.068,5.068,11.824,7.86,19.032,7.86s13.968-2.792,19.032-7.86L382.678,265\\\\t\\\\t\\\\tc5.076-5.084,7.864-11.872,7.848-19.088C390.542,238.668,387.754,231.884,382.678,226.804z\\\",\\\"red\\\",1,0.8,\\\"red\\\",[25,\\\"sub\\\",[[20,[\\\"hoveredCourse\\\"]],90],null],0.05,[25,\\\"hash\\\",null,[[\\\"x\\\",\\\"y\\\"],[210,210]]]]]],true]]],false],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"control\\\"]]],[[\\\"position\\\"],[\\\"TOP_LEFT\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"map-control\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"role\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"g-map-button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleTraffic\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"showTraffic\\\"]],[25,\\\"t\\\",[\\\"hideTraffic\\\"],null],[25,\\\"t\\\",[\\\"showTraffic\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/map/google-maps-routes/template.hbs\"}});","import Ember from 'ember'\nimport computedDiff from 'tracknamic-smb/utils/computed-diff'\n\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n    i18n: service(),\n    resolution: service(),\n    currentUser: service('current-user'),\n    mapService: service('map'),\n    classNames: [\"vehicles-list\"],\n    fullscreen: service(),\n\n    showSettings: false,\n    showMenuAnyway: false,\n    hideVehiclesList: false,\n    expandedVehicles: [],\n    expandedLimit: 5,\n    searchValue: Ember.computed.alias('mapService.searchValue'),\n    showMenu: Ember.computed(\"resolution.isMobile\", \"showMenuAnyway\", function () {\n        return (this.get(\"resolution.isMobile\") ? false : true) || (this.get(\"showMenuAnyway\"));\n    }),\n    notFullScreen: Ember.computed.not('currentUser.mapFullScreen'),\n    hasMapRoutesAccess: Ember.computed.readOnly('currentUser.hasMapRoutesAccess'),\n    modules: Ember.computed.readOnly('currentUser.modules'),\n\n    dateFrom: Ember.computed.alias('mapService.routeStartDate'),\n    dateTo: Ember.computed.alias('mapService.routeEndDate'),\n    selectedFilters: Ember.computed.alias('mapService.selectedFilters'),\n    vehicleFilters: Ember.computed.alias(\"mapService.vehicleFilters\"),\n    groupID: Ember.computed.alias('currentUser.user.settings.map.groupID'),\n    vehicleType: Ember.computed.alias('currentUser.user.settings.map.vehicleType'),\n\n    // polygons: Ember.computed.filterBy(\"geofences\", \"type\", \"geofence\"),\n    // points: Ember.computed.filterBy(\"geofences\", \"type\", \"poi\"),\n    // hasGeofences: Ember.computed.notEmpty(\"geofences\"),\n\n    filtredVehicles: Ember.computed(\"vehicles.@each.status\", \"vehicleFilters\", \"searchValue\", \"groupID\", \"vehicleType\", function () {\n        let vehicles = this.getWithDefault(\"vehicles\", [])\n        let filters = this.get(\"vehicleFilters\")\n        let modules = this.get(\"modules\")\n        let groupID = this.get(\"groupID\")\n        let vehicleType = this.get(\"vehicleType\")\n        let searchValue = this.get(\"searchValue\").toLowerCase()\n        let vehiclesWithLocation = vehicles.filterBy('status.locationLatLng')\n        if (!filters && !searchValue && !groupID && !vehicleType) { return vehiclesWithLocation }\n\n        return vehiclesWithLocation.filter(vehicle => {\n            let passedSearch = false\n            let passedFreezer = false\n            let passedDoors = false\n            let passedStatus = false\n\n            // type filter\n            if (vehicleType) {\n                if (vehicle.get('type') != vehicleType)\n                    return false\n            }\n\n            // group filter\n            if (groupID) {\n                if (vehicle.get('groupID') != null && vehicle.get('groupID').indexOf(groupID) === -1)\n                    return false\n            }\n\n            // search filter\n            if (!searchValue || vehicle.getWithDefault(\"group.name\", '').toLowerCase().indexOf(searchValue) != -1 ||\n                (vehicle.get(\"user.fullName\") && vehicle.getWithDefault(\"user.fullName\", '').toLowerCase().indexOf(searchValue) != -1) ||\n                vehicle.getWithDefault(\"licensePlate\", '').toLowerCase().indexOf(searchValue) != -1) {\n                passedSearch = true\n            }\n\n            // dropdown Filters\n            if (!filters) {\n                passedFreezer = true\n                passedDoors = true\n                passedStatus = true\n            }\n            else {\n                let freezer = filters.freezer\n                let doors = filters.doors\n                let statusIndicator = filters.statusIndicator\n                let sensors = vehicle.get('sensorsStatus')\n                let hasSensors = sensors.length\n                if (!freezer.length || !modules.freezer) {\n                    passedFreezer = true\n                } else if (hasSensors && vehicle.hasSensor('freezer')) {\n                    let freezerSensor = sensors.findBy('type', 'freezer')\n                    if (freezerSensor) {\n                        freezer.forEach(freezerStatus => {\n                            if (freezerStatus === \"on\" && freezerSensor.value) {\n                                passedFreezer = true\n                            }\n                            else if (freezerStatus === \"off\" && !freezerSensor.value) {\n                                passedFreezer = true\n                            }\n                        })\n                    }\n                }\n                if (!doors.length || !modules.sensorDoor) {\n                    passedDoors = true\n                } else if (hasSensors && vehicle.hasSensor('door')) {\n                    let doorsSensors = sensors.filter(s => {\n                        return s.type ? s.type.indexOf('door') != -1 : false\n                    })\n                    if (doorsSensors.length) {\n                        doors.forEach(doorsStatus => {\n                            if (doorsStatus === \"open\" && doorsSensors.any(s => { return s.value })) {\n                                passedDoors = true\n                            }\n                            else if (doorsStatus === \"closed\" && doorsSensors.any(s => { return !s.value })) {\n                                passedDoors = true\n                            }\n                        })\n                    }\n                }\n                if (!statusIndicator.length) {\n                    passedStatus = true\n                } else if (vehicle.get(\"statusIndicator\")) {\n                    statusIndicator.forEach(state => {\n                        if (vehicle.get(\"statusIndicator\") === state) {\n                            passedStatus = true\n                        }\n                    })\n                }\n            }\n            if (passedSearch && passedFreezer && passedDoors && passedStatus) {\n                return true\n            }\n            else {\n                return false\n            }\n        })\n    }),\n\n    filtersDetails: Ember.computed(\"filtredVehicles\", function () {\n        let modules = this.get(\"modules\")\n        let filtersDetails = {\n            \"freezerOn\": 0,\n            \"freezerOff\": 0,\n            \"statusIndicatorUnreachable\": 0,\n            \"statusIndicatorEngineOn\": 0,\n            \"statusIndicatorEngineOff\": 0,\n            \"doorsOpen\": 0,\n            \"doorsClosed\": 0,\n        }\n        if (this.get(\"filtredVehicles\") && this.get(\"filtredVehicles.length\")) {\n            this.get(\"filtredVehicles\").forEach(vehicle => {\n                let sensors = vehicle.get('sensorsStatus')\n                let hasSensors = sensors.length\n                if (hasSensors) {\n                    if (modules.freezer && vehicle.hasSensor('freezer')) {\n                        let freezerSensor = sensors.findBy('type', 'freezer')\n                        if (freezerSensor) {\n                            if (freezerSensor.value) {\n                                filtersDetails[\"freezerOn\"] += 1\n                            }\n                            else if (freezerSensor.value === false) {\n                                filtersDetails[\"freezerOff\"] += 1\n                            }\n                        }\n                    }\n                    if (modules.sensorDoor && vehicle.hasSensor('door')) {\n                        let doorsSensors = sensors.filter(s => {\n                            return s.type ? s.type.indexOf('door') != -1 : false\n                        })\n                        if (doorsSensors.length) {\n                            if (doorsSensors.any(s => { return s.value })) {\n                                filtersDetails[\"doorsOpen\"] += 1\n                            }\n                            else {\n                                filtersDetails[\"doorsClosed\"] += 1\n                            }\n                        }\n                    }\n                }\n                if (vehicle.get(\"statusIndicator\")) {\n                    switch (vehicle.get(\"statusIndicator\")) {\n                        case \"unreachable\":\n                            filtersDetails[\"statusIndicatorUnreachable\"] += 1\n                            break\n                        case \"engineOn\":\n                            filtersDetails[\"statusIndicatorEngineOn\"] += 1\n                            break\n                        case \"engineOff\":\n                            filtersDetails[\"statusIndicatorEngineOff\"] += 1\n                            break\n                        default:\n                            break\n                    }\n                }\n            })\n        }\n        return filtersDetails\n    }),\n\n    onVehiclesChanged: computedDiff('filtredVehicles.[]', function () {\n        // Clear selection if vehicle list changes (expanded vehicles)\n        const expandedVehicles = this.get('expandedVehicles')\n        if (expandedVehicles.get('length') > 0) {\n            expandedVehicles.forEach(vehicle => {\n                vehicle.toggleProperty('isExpanded', false)\n            })\n            expandedVehicles.clear()\n            this.sendAction('onSelectionChanged', expandedVehicles)\n        }\n    }, { computedFunc: Ember.observer, onlyOnChanges: true }).on('init'),\n\n    init() {\n        this._super(...arguments)\n        Ember.$.fn.dropdown.settings.message = {\n            addResult: 'Add <b>{term}</b>',\n            count: '{count} ' + this.get(\"i18n\").t(\"selectedFilters\"),\n            maxSelections: 'Max {maxCount} selections',\n            noResults: 'No results found.'\n        }\n    },\n\n    didInsertElement() {\n        /**\n         * hack for close the multiple dropdown on click when opened (Semantic UI BUG)\n         * https://github.com/Semantic-Org/Semantic-UI/issues/2982\n         */\n        Ember.$(document).on('click', '.vehiclesFilters', function (e) {\n            let dropdown = Ember.$('.vehiclesFilters')\n\n            if (e.target !== this && !Ember.$(e.target).hasClass(\"excludeThisOnHack\")) { // exclude childrens, allow only \"excludeThisOnHack\" class\n                return false\n            }\n            if (dropdown.hasClass('closeDDHack')) {\n                if (dropdown.dropdown('is active')) {\n                    dropdown.dropdown('hide')\n                }\n            }\n            else {\n                dropdown.addClass(\"closeDDHack\")\n            }\n        })\n\n        if (this.get(\"resolution.isMobile\")) {\n            this.set(\"showMenuAnyway\", false);\n        }\n    },\n\n    willDestroyElement() {\n        Ember.$(document).off('click', \".vehiclesFilters\")\n    },\n\n    actions: {\n        makeVisible(veh) {\n            veh.toggleProperty('isExpanded', true)\n            // Limit expanded vehicles\n            let expandedVehicles = this.get('expandedVehicles')\n            if (veh.get('isExpanded') === true) {\n                expandedVehicles.push(veh)\n\n                // Collapse first expanded vehicle if the number of expanded vehicles exceeds the limit\n                if (expandedVehicles.length > this.get('expandedLimit')) {\n                    expandedVehicles[0].toggleProperty('isExpanded', false)\n                    expandedVehicles.splice(0, 1)\n                }\n            } else {\n                // Remove collapsed vehicle from expanded list\n                let ind = expandedVehicles.findIndex(v => v.id === veh.id)\n                expandedVehicles.splice(ind, 1)\n            }\n\n            this.sendAction('onSelectionChanged', expandedVehicles, veh)\n        },\n        onFullShow() {\n            if (this.get('fullscreen').isEnabled) {\n                if (this.get('resolution.isTablet') || this.get('resolution.isComputer')) {\n                    return true\n                }\n                this.set('hideVehiclesList', false)\n            }\n        },\n        onFullHide() {\n            if (this.get('fullscreen').isEnabled) {\n                if (this.get('resolution.isTablet') || this.get('resolution.isComputer')) {\n                    return true\n                }\n                let hideList = (this.get('searchValue') || (this.get('selectedFilters') !== null && this.get('selectedFilters').length > 0)) ? false : true\n                this.set('hideVehiclesList', hideList)\n            }\n        },\n        vehiclesFiltersHide() { // remove the closeDDHack class on dropdown hide\n            Ember.$('.vehiclesFilters').removeClass(\"closeDDHack\")\n            this.set('expandedDropdownFilters', false)\n\n            if (this.get('fullscreen').isEnabled) {\n                if (this.get('resolution.isTablet') || this.get('resolution.isComputer')) {\n                    return true\n                }\n                let hideList = (this.get('searchValue') || (this.get('selectedFilters') !== null && this.get('selectedFilters').length > 0)) ? false : true\n                this.set('hideVehiclesList', hideList)\n            }\n        },\n        vehiclesFiltersShow() {\n            this.set('expandedDropdownFilters', true)\n\n            if (this.get('fullscreen').isEnabled) {\n                if (this.get('resolution.isTablet') || this.get('resolution.isComputer')) {\n                    return true\n                }\n                // let hideList = ((this.get('selectedFilters') !== null) && (this.get('selectedFilters').length > 0)) ? false : true\n                this.set('hideVehiclesList', false)\n            }\n        },\n        searchKeyUp() {\n            this.set(\"showMenuAnyway\", true)\n\n            if (this.get('fullscreen').isEnabled) {\n                if (this.get('resolution.isTablet') || this.get('resolution.isComputer')) {\n                    return true\n                }\n                if (this.get(\"searchValue\").toLowerCase().length == 0) {\n                    this.set('hideVehiclesList', true)\n                } else {\n                    this.set('hideVehiclesList', false)\n                }\n            }\n        },\n        // showTab(tabNumber) {\n        //     this.get(\"selectTab\")(tabNumber)\n        // },\n        // selectGeofence(geofence) {\n        //     this.get(\"zoomInGeofence\")(geofence)\n        // },\n        mouseEnter(vehicleId) {\n            this.get('vehicleHover')(vehicleId)\n        },\n        mouseLeave(/*vehicleId*/) {\n            this.get('vehicleHover')(null)\n        },\n        toggleProperty(propName) {\n            this.toggleProperty(propName)\n        },\n        updateMapFilter(name, value) {\n            if (name === 'disableGeofencesOnZoomLevel')\n                value = Number(value)\n            if (this.get(\"resolution.isMobile\")) {\n                this.set(\"showSettings\", false)\n            }\n            if (name === 'vehicleType') {\n                if (this.get('fullscreen').isEnabled) {\n                    if (this.get('resolution.isTablet') || this.get('resolution.isComputer')) {\n                        return true\n                    }\n                    let hideList = (this.get('searchValue') || (this.get('selectedFilters') !== null && this.get('selectedFilters').length > 0)) ? false : true\n                    this.set('hideVehiclesList', hideList)\n                }\n            }\n            this.get('currentUser').updateMapFilter(name, value)\n        },\n        toggleFullscreen() {\n            this.get('fullscreen').toggle()\n            if (!this.get('fullscreen').isEnabled) {\n                if (this.get('resolution.isTablet') || this.get('resolution.isComputer')) {\n                    return false\n                }\n                if (this.get('selectedFilters') !== null) {\n                    this.set('hideVehiclesList', false)\n                } else {\n                    this.set('hideVehiclesList', true)\n                }\n            } else {\n                if (this.get('resolution.isTablet') || this.get('resolution.isComputer')) {\n                    return false\n                }\n                this.set('hideVehiclesList', false)\n            }\n        }\n    }\n})\n","export default Ember.HTMLBars.template({\"id\":\"Rbsr/Tmr\",\"block\":\"{\\\"symbols\\\":[\\\"vehicle\\\",\\\"sensor\\\",\\\"group\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"filtersWrapper\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"indexPage\\\"]],[25,\\\"not\\\",[[20,[\\\"showMenu\\\"]]],null]],null],\\\" noMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"vehicleSearchContainer\\\",[25,\\\"if\\\",[[20,[\\\"neverShowListButton\\\"]],\\\" noList\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]],[25,\\\"not\\\",[[20,[\\\"neverShowListButton\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"darkGray dc-button icon showVehiclesListButton pointerCursor\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleProperty\\\",\\\"showMenuAnyway\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"biggerIcon content icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input fluid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"placeholder\\\",\\\"value\\\",\\\"keyUp\\\",\\\"onChange\\\"],[\\\"text\\\",\\\"searchInput darkGray\\\",[25,\\\"t\\\",[\\\"search\\\"],null],[20,[\\\"searchValue\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"searchKeyUp\\\"],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"searchValue\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"inverted search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"darkGray dc-button icon pointerCursor\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleProperty\\\",\\\"showSettings\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"biggerIcon setting icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"settingsContainer \\\",[25,\\\"unless\\\",[[20,[\\\"showSettings\\\"]],\\\"hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"markers-settings\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"bullseye icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"settingsGeofences\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form chks\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"hideGeofences\\\"],null],false],[0,\\\":\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"fluid selection darkGray\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"disableGeofencesOnZoomLevel\\\"],null],[20,[\\\"currentUser\\\",\\\"disableGeofencesOnZoomLevel\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[0,\\\"Zoom\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"31\\\"],[7],[1,[25,\\\"t\\\",[\\\"never\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"22\\\"],[7],[0,\\\"22\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"21\\\"],[7],[0,\\\"21\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"20\\\"],[7],[0,\\\"20\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"19\\\"],[7],[0,\\\"19\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"18\\\"],[7],[0,\\\"18\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"17\\\"],[7],[0,\\\"17\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"16\\\"],[7],[0,\\\"16\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"15\\\"],[7],[0,\\\"15\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"14\\\"],[7],[0,\\\"14\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"13\\\"],[7],[0,\\\"13\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"12\\\"],[7],[0,\\\"12\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"11\\\"],[7],[0,\\\"11\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"10\\\"],[7],[0,\\\"10\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"9\\\"],[7],[0,\\\"9\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"8\\\"],[7],[0,\\\"8\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"7\\\"],[7],[0,\\\"7\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"6\\\"],[7],[0,\\\"6\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"5\\\"],[7],[0,\\\"5\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"4\\\"],[7],[0,\\\"4\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"3\\\"],[7],[0,\\\"3\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"2\\\"],[7],[0,\\\"2\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"1\\\"],[7],[0,\\\"1\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"30\\\"],[7],[1,[25,\\\"t\\\",[\\\"always\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map marker alternate icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"m_settings.markers\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form chks\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"grouped inline fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"type\\\",[25,\\\"t\\\",[\\\"simple\\\"],null],\\\"simple\\\",[20,[\\\"currentUser\\\",\\\"markerType\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerType\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"type\\\",[25,\\\"t\\\",[\\\"manual\\\"],null],\\\"manual\\\",[20,[\\\"currentUser\\\",\\\"markerType\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerType\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"type\\\",[25,\\\"t\\\",[\\\"medium\\\"],null],\\\"medium\\\",[20,[\\\"currentUser\\\",\\\"markerType\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerType\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"type\\\",[25,\\\"t\\\",[\\\"big\\\"],null],\\\"big\\\",[20,[\\\"currentUser\\\",\\\"markerType\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerType\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"hr\\\"],[9,\\\"style\\\",\\\"border-color:#AFABAA\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"show_details\\\",[25,\\\"t\\\",[\\\"dashboard.showDriver\\\"],null],\\\"driverName\\\",[20,[\\\"currentUser\\\",\\\"markerText\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerText\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"show_details\\\",[25,\\\"t\\\",[\\\"dashboard.showLicensePlate\\\"],null],\\\"licensePlate\\\",[20,[\\\"currentUser\\\",\\\"markerText\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerText\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"orders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"show_details\\\",[25,\\\"t\\\",[\\\"orderNumber\\\"],null],\\\"orderNumber\\\",[20,[\\\"currentUser\\\",\\\"markerText\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerText\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"hr\\\"],[9,\\\"style\\\",\\\"border-color:#AFABAA\\\"],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"tachograph\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"markerTop\\\",[25,\\\"t\\\",[\\\"speed\\\"],null],\\\"speed\\\",[20,[\\\"currentUser\\\",\\\"markerTop\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerTop\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"markerTop\\\",[25,\\\"t\\\",[\\\"dashboard.tacho.driveTimeLeftDay\\\"],null],\\\"tachoDay\\\",[20,[\\\"currentUser\\\",\\\"markerTop\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerTop\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"markerTop\\\",[25,\\\"t\\\",[\\\"dashboard.tacho.driveTimeLeftWeek\\\"],null],\\\"tachoWeek\\\",[20,[\\\"currentUser\\\",\\\"markerTop\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"markerTop\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"showMenu\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"vehicleFiltersContainer\\\",[25,\\\"unless\\\",[[25,\\\"or\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]],[20,[\\\"notFullScreen\\\"]]],null],\\\" fullscreen-btn-container\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"useLabels\\\",\\\"direction\\\",\\\"selected\\\",\\\"onChange\\\",\\\"onShow\\\",\\\"onHide\\\"],[\\\"fluid multiple selection vehiclesFilters darkGray\\\",false,\\\"downward\\\",[20,[\\\"selectedFilters\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selectedFilters\\\"]]],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"vehiclesFiltersShow\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"vehiclesFiltersHide\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text excludeThisOnHack\\\"],[7],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"selectFilters\\\"],null],false],[0,\\\" \\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"freezer\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"divider\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"freezerStatus\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"freezer-on\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"filtersDetails\\\",\\\"freezerOn\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[1,[20,[\\\"filtersDetails\\\",\\\"freezerOn\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"filtersDetails\\\",\\\"freezerOn\\\"]],1],null],\\\"aclVehicle\\\",\\\"aclVehicles\\\"],null]],null],false],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"freezer on icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"freezer.on\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"freezer-off\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"filtersDetails\\\",\\\"freezerOff\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[1,[20,[\\\"filtersDetails\\\",\\\"freezerOff\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"filtersDetails\\\",\\\"freezerOff\\\"]],1],null],\\\"aclVehicle\\\",\\\"aclVehicles\\\"],null]],null],false],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"freezer off icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"freezer.off\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"divider\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"vehicleStatus.generic\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"statusIndicator-unreachable\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"filtersDetails\\\",\\\"statusIndicatorUnreachable\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[1,[20,[\\\"filtersDetails\\\",\\\"statusIndicatorUnreachable\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"filtersDetails\\\",\\\"statusIndicatorUnreachable\\\"]],1],null],\\\"aclVehicle\\\",\\\"aclVehicles\\\"],null]],null],false],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle status unreachable icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"vehicleStatus.unreachable\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"statusIndicator-engineOn\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"filtersDetails\\\",\\\"statusIndicatorEngineOn\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[1,[20,[\\\"filtersDetails\\\",\\\"statusIndicatorEngineOn\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"filtersDetails\\\",\\\"statusIndicatorEngineOn\\\"]],1],null],\\\"aclVehicle\\\",\\\"aclVehicles\\\"],null]],null],false],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle status engineOn icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"vehicleStatus.engineOn\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"statusIndicator-engineOff\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"filtersDetails\\\",\\\"statusIndicatorEngineOff\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[1,[20,[\\\"filtersDetails\\\",\\\"statusIndicatorEngineOff\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"filtersDetails\\\",\\\"statusIndicatorEngineOff\\\"]],1],null],\\\"aclVehicle\\\",\\\"aclVehicles\\\"],null]],null],false],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"circle status engineOff icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"vehicleStatus.engineOff\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"sensorDoor\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"divider\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"openDoorsStatus\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"doors-open\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"filtersDetails\\\",\\\"doorsOpen\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[1,[20,[\\\"filtersDetails\\\",\\\"doorsOpen\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"filtersDetails\\\",\\\"doorsOpen\\\"]],1],null],\\\"aclVehicle\\\",\\\"aclVehicles\\\"],null]],null],false],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"vehicleDoor open icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"doorsStatus.open\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"doors-closed\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"filtersDetails\\\",\\\"doorsClosed\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[1,[20,[\\\"filtersDetails\\\",\\\"doorsClosed\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"filtersDetails\\\",\\\"doorsClosed\\\"]],1],null],\\\"aclVehicle\\\",\\\"aclVehicles\\\"],null]],null],false],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"vehicleDoor closed icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"doorsStatus.closed\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"unless\\\",[[25,\\\"or\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]],[20,[\\\"notFullScreen\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"darkGray dc-button icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleFullscreen\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"fullscreen icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/vehicle-type-dropdown\\\",null,[[\\\"customClass\\\",\\\"showAllOption\\\",\\\"selected\\\",\\\"onShow\\\",\\\"onHide\\\"],[\\\"darkGray\\\",true,[20,[\\\"vehicleType\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onFullShow\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"vehicleType\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"fullTextSearch\\\",\\\"match\\\",\\\"onChange\\\",\\\"selected\\\",\\\"onShow\\\",\\\"onHide\\\"],[\\\"fluid selection search darkGray\\\",\\\"exact\\\",\\\"text\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updateMapFilter\\\",\\\"groupID\\\"],null],[20,[\\\"groupID\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onFullShow\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onFullHide\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.selectDivision\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"id\\\",[20,[\\\"groups\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item padding\\\",[19,3,[\\\"level\\\"]]]]],[10,\\\"data-value\\\",[26,[[19,3,[\\\"id\\\"]]]]],[7],[1,[19,3,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"showMenu\\\"]],[20,[\\\"showListOnly\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui selection list\\\",[25,\\\"if\\\",[[20,[\\\"expandedDropdownFilters\\\"]],\\\" expandedDropdownFilters\\\"],null],[25,\\\"if\\\",[[20,[\\\"hideVehiclesList\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"licensePlate\\\",[20,[\\\"filtredVehicles\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[19,1,[\\\"statusIndicator\\\"]],\\\" \\\",[25,\\\"if\\\",[[19,1,[\\\"isExpanded\\\"]],\\\"expanded\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"makeVisible\\\",[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"statusIndicator \\\",[19,1,[\\\"statusIndicator\\\"]]]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"hdr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleName\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"markerText\\\"]],\\\"driverName\\\"],null],[19,1,[\\\"user\\\",\\\"fullName\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"user\\\",\\\"fullName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"speed\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"not\\\",[[25,\\\"eq\\\",[[19,1,[\\\"statusIndicator\\\"]],\\\"unreachable\\\"],null]],null],[19,1,[\\\"status\\\",\\\"speed\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"status\\\",\\\"speed\\\"]],false],[0,\\\" km/h\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"isExpanded\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"description\\\"],[10,\\\"title\\\",[25,\\\"if\\\",[[25,\\\"gt\\\",[[19,1,[\\\"geolocation\\\",\\\"geofencesCount\\\"]],1],null],[19,1,[\\\"geolocation\\\",\\\"popupText\\\"]]],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"location\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"status\\\",\\\"location\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map marker alternate icon\\\"],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"promiseAddress\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"is-fulfilled\\\",[[19,1,[\\\"promiseAddress\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"await\\\",[[19,1,[\\\"promiseAddress\\\"]]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"currentLocation\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"currentLocation\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sensors\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[19,1,[\\\"statusIndicator\\\"]],\\\"unreachable\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[\\\"sensorsStatus\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not\\\",[[25,\\\"eq\\\",[[19,2,[\\\"key\\\"]],\\\"fuel\\\"],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[19,2,[\\\"icon\\\"]]],null,{\\\"statements\\\":[[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[19,2,[\\\"icon\\\"]],\\\" icon\\\"]]],[7],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[1,[19,2,[\\\"popup\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"tachograph\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tacho\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"hasTacho\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"present\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"hr\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"strong\\\"],[7],[1,[25,\\\"t\\\",[\\\"tacho.driver.1\\\"],null],false],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"fullName\\\"]],false],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"tacho.activity\\\"],null],false],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"activityName\\\"]],false],[0,\\\" (\\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"timeFormatted\\\"]],false],[0,\\\", \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"distanceFormatted\\\"]],false],[0,\\\")\\\"],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[1,[25,\\\"t\\\",[\\\"tacho.week\\\"],null],false],[0,\\\" \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"computed\\\",\\\"week\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"tacho.day\\\"],null],false],[0,\\\" \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"computed\\\",\\\"day\\\"]],false],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"vehicleList.tacho.driveTimeLeft\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"tacho.activities.3\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"coffee icon\\\"],[7],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"computed\\\",\\\"driveTimeLeftFormatted\\\"]],false],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"vehicleList.tacho.driveTimeLeftDay\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"tacho.activities.3\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"hotel solid icon\\\"],[7],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"computed\\\",\\\"driveTimeLeftDayFormatted\\\"]],false],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"vehicleList.tacho.driveTimeLeftWeek\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"tacho.activities.3\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"calendar alternate outline icon\\\"],[7],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"computed\\\",\\\"driveTimeLeftWeekFormatted\\\"]],false],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"vehicleList.tacho.driveTimeNextWeek\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"tacho.activities.3\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"calendar plus outline icon\\\"],[7],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver1\\\",\\\"computed\\\",\\\"driveTimeNextWeekExtendedFormatted\\\"]],true],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"present\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"hr\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"strong\\\"],[7],[1,[25,\\\"t\\\",[\\\"tacho.driver.2\\\"],null],false],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"fullName\\\"]],false],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"tacho.activity\\\"],null],false],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"activityName\\\"]],false],[0,\\\" (\\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"timeFormatted\\\"]],false],[0,\\\", \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"distanceFormatted\\\"]],false],[0,\\\")\\\"],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[1,[25,\\\"t\\\",[\\\"tacho.week\\\"],null],false],[0,\\\" \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"computed\\\",\\\"week\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"tacho.day\\\"],null],false],[0,\\\" \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"computed\\\",\\\"day\\\"]],false],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"vehicleList.tacho.driveTimeLeft\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"tacho.activities.3\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"coffee icon\\\"],[7],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"computed\\\",\\\"driveTimeLeftFormatted\\\"]],false],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"vehicleList.tacho.driveTimeLeftDay\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"tacho.activities.3\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"hotel solid icon\\\"],[7],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"computed\\\",\\\"driveTimeLeftDayFormatted\\\"]],false],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"vehicleList.tacho.driveTimeLeftWeek\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"tacho.activities.3\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"calendar alternate outline icon\\\"],[7],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"computed\\\",\\\"driveTimeLeftWeekFormatted\\\"]],false],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"vehicleList.tacho.driveTimeNextWeek\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"tacho.activities.3\\\"],null],false],[0,\\\" \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"calendar plus outline icon\\\"],[7],[8],[0,\\\": \\\"],[1,[19,1,[\\\"status\\\",\\\"tacho\\\",\\\"driver2\\\",\\\"computed\\\",\\\"driveTimeNextWeekExtendedFormatted\\\"]],true],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"mapRoutes\\\"]],[20,[\\\"fullscreen\\\",\\\"isEnabled\\\"]]],null]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"hasMapRoutesAccess\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"map.routes\\\",[19,1,[\\\"id\\\"]],[25,\\\"query-params\\\",null,[[\\\"start\\\",\\\"end\\\"],[[20,[\\\"dateFrom\\\"]],[20,[\\\"dateTo\\\"]]]]]],[[\\\"bubbles\\\"],[false]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"historic\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/map/vehicles-list/template.hbs\"}});","import Component from '@ember/component'\nimport { computed } from '@ember/object';\nimport { inject as service } from '@ember/service'\n\nexport default Component.extend({\n\tclassNames: ['default-menu'],\n\tclassNameBindings: ['isContractedMenu:isContractedMenu', 'openedSubMenu:openedSubMenu'],\n\n\tmenuService: service('main-menu'),\n\tmessagesService: service('messages'),\n\n\tmodules: computed.readOnly('menuService.modules'),\n\tmainMenuElements: computed.readOnly('menuService.mainMenuElements'),\n\tisAdmin: computed.alias('menuService.isAdmin'),\n\tisContractedMenu: computed.alias('menuService.contracted'),\n\treports: computed.alias('menuService.reports'),\n\tmanagement: computed.alias('menuService.management'),\n\tdriving: computed.alias('menuService.driving'),\n\tsettings: computed.alias('menuService.settings'),\n\tdispatch: computed.alias('menuService.dispatch'),\n\ttms: computed.alias('menuService.tms'),\n\trer: computed.alias('menuService.rer'),\n\teTransport: computed.alias('menuService.eTransport'),\n\n\tactions: {\n\t\ttoggleMessagesView() {\n\t\t\tthis.get('messagesService').toggleVisibility()\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"UZ/+swwN\",\"block\":\"{\\\"symbols\\\":[\\\"entry\\\",\\\"entry\\\",\\\"entry\\\",\\\"entry\\\",\\\"entry\\\",\\\"entry\\\",\\\"entry\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"navigationMenu \\\",[18,\\\"mainMenuElements\\\"]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"index\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-dashboard\\\",\\\"Dashboard\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\tDashboard\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasMap\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"map\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-map\\\",[25,\\\"t\\\",[\\\"map\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"map\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasETransport\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"e-transport\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-e-transport\\\",\\\"e-Transport\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\te-Transport\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasReports\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"reports\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-reports\\\",[25,\\\"t\\\",[\\\"reports.reports\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.reports\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasDriving\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"driving\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-driverBehaviour\\\",[25,\\\"t\\\",[\\\"driving.driverBehaviour\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"driving.driverBehaviour\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"messaging\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"threads.messages\\\"],null],null],[9,\\\"href\\\",\\\"\\\"],[9,\\\"id\\\",\\\"message-threads-menu-link\\\"],[10,\\\"class\\\",[26,[\\\"mainItem mmi-messages \\\",[25,\\\"if\\\",[[20,[\\\"messagesService\\\",\\\"viewIsVisible\\\"]],\\\" active\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"toggleMessagesView\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"comments icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.messages\\\"],null],false],[4,\\\"if\\\",[[20,[\\\"messagesService\\\",\\\"unreadMessagesCount\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"total-unread-messages\\\"],[7],[0,\\\"(\\\"],[1,[20,[\\\"messagesService\\\",\\\"unreadMessagesCount\\\"]],false],[0,\\\")\\\"],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasDispatch\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"dispatch\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-dispatch\\\",[25,\\\"t\\\",[\\\"dispatch.dispatch\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.dispatch\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasTms\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"tms\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-tms\\\",[25,\\\"t\\\",[\\\"tms.title\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"tms.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasManagement\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"management\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-management\\\",[25,\\\"t\\\",[\\\"management.management\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.management\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasSettings\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"settings\\\"],[[\\\"class\\\",\\\"title\\\"],[\\\"mainItem mmi-settings\\\",[25,\\\"t\\\",[\\\"settings.settings\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"settings.settings\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"mainItem remainingSpace\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"openedSubMenu\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"subMenuCol\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"openedSubMenu\\\"]],\\\"reports\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"reports\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[19,7,[\\\"route\\\"]]],[[\\\"class\\\",\\\"title\\\"],[\\\"subMenu item\\\",[25,\\\"t\\\",[[19,7,[\\\"translationKey\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"name\\\"]],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,7,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[7]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"openedSubMenu\\\"]],\\\"management\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"management\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[19,6,[\\\"route\\\"]]],[[\\\"class\\\",\\\"title\\\"],[\\\"subMenu item\\\",[25,\\\"t\\\",[[19,6,[\\\"translationKey\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"name\\\"]],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,6,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[6]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"openedSubMenu\\\"]],\\\"driving\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"driving\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[19,5,[\\\"route\\\"]]],[[\\\"class\\\",\\\"title\\\"],[\\\"subMenu item\\\",[25,\\\"t\\\",[[19,5,[\\\"translationKey\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"name\\\"]],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,5,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[5]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"openedSubMenu\\\"]],\\\"settings\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"settings\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[19,4,[\\\"route\\\"]]],[[\\\"class\\\",\\\"title\\\"],[\\\"subMenu item\\\",[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[19,4,[\\\"name\\\"]],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"openedSubMenu\\\"]],\\\"dispatch\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"dispatch\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[19,3,[\\\"route\\\"]]],[[\\\"class\\\",\\\"title\\\"],[\\\"subMenu item\\\",[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[19,3,[\\\"name\\\"]],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"openedSubMenu\\\"]],\\\"tms\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"tms\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[19,2,[\\\"route\\\"]]],[[\\\"class\\\",\\\"title\\\"],[\\\"subMenu item\\\",[25,\\\"t\\\",[[19,2,[\\\"translationKey\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[19,2,[\\\"name\\\"]],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,2,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"openedSubMenu\\\"]],\\\"eTransport\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"eTransport\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[19,1,[\\\"route\\\"]]],[[\\\"class\\\",\\\"title\\\"],[\\\"subMenu item\\\",[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[[19,1,[\\\"name\\\"]],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/menus/default-menu/template.hbs\"}});","import Ember from 'ember';\nimport RSVP from 'rsvp';\nconst { service } = Ember.inject;\n\nexport default Ember.Component.extend({\n    classes: ['messages'],\n    messagesService: service('messages'),\n    currentUser: service('current-user'),\n    store: service(),\n    viewIsOpen: false,\n    isEditingMessageThread: false,\n    isAddingUsers: false,\n    groups: null,\n    users: null,\n    selectedUsers: null,\n    searchUserText: '',\n    selectedGroupID: null,\n    selectedUsersCount: 0,\n    searchThreadsText: null,\n    messageThreadForDeletion: null,\n    selectedMessagePriority: 'priority-low',\n    enlargedImage: null,\n\n    messageThreads: Ember.computed.sort('messagesService.messageThreads.@each', function(messageThread1, messageThread2){\n        return moment(messageThread2.get('updatedAt')).diff(moment(messageThread1.get('updatedAt')));\n    }),\n\n    showBackButton: Ember.computed('messagesService.selectedMessageThread', 'isEditingMessageThread', 'selectedUser', function () {\n        return this.get('messagesService.selectedMessageThread') || this.get('isEditingMessageThread') || this.get('selectedUser');\n    }),\n\n    showMessageInput: Ember.computed('messagesService.selectedMessageThread', 'selectedUser', 'selectedGroup' ,function () {\n        return this.get('messagesService.selectedMessageThread') || this.get('selectedUser') || this.get('selectedGroup');\n    }),\n\n    userResults: Ember.computed(\"users\", \"searchUserText\", \"selectedGroupID\", function () {\n        let selectedGroupID = this.get('selectedGroupID');\n        if (selectedGroupID == 'all') {\n            selectedGroupID = null;\n        }\n        Ember.Logger.log('Selected group ID: ', selectedGroupID)\n        let searchValue = this.get('searchUserText').toLowerCase();\n        let foundText = false;\n\n        if (!(searchValue.length || selectedGroupID)) {\n            return this.get('users');\n        } else {\n            return this.get('users').filter((user) => {\n                if (selectedGroupID && (user.groupID !== selectedGroupID)) {\n                    return false;\n                } else {\n                    let searchData = `${user.firstName} ${user.lastName} ${user.email}`;\n                    foundText = (searchData.toLowerCase().indexOf(searchValue) > -1);\n                }\n                if (foundText && selectedGroupID) {\n                    return user.groupID === selectedGroupID;\n                } else {\n                    return foundText;\n                }\n            });\n        }\n    }),\n\n    selectedThreadUsers: Ember.computed('messagesService.selectedMessageThread.users.[]', 'selectedGroup.users.[]','users', 'selectedUser',function(){\n        let users = this.get('users');\n        let currentUserId = this.get('currentUser.user.id');\n        let selectedThreadUserIds = this.get('messagesService.selectedMessageThread.users');\n        let selectedThreadUsers = [];\n        let selectedUser = this.get('selectedUser');\n        let selectedGroupUsers = this.get('selectedGroup.users');\n\n        if (selectedThreadUserIds && users) {\n            selectedThreadUserIds.forEach(userId => {\n                let user = users.find(user => ((user.id === userId) && (user.id !== currentUserId)));\n                if (user) {\n                    selectedThreadUsers.push(user);\n                }\n            });\n        } else if (selectedUser) {\n            selectedThreadUsers.push(selectedUser);\n        } else if (selectedGroupUsers) {\n            selectedThreadUsers = selectedGroupUsers;\n        }\n\n        return selectedThreadUsers;\n    }),\n\n    showSelectedThreadUsers: Ember.computed('selectedThreadUsers', function() {\n        return this.get('selectedThreadUsers.length') > 0;\n    }),\n\n    messageThreadsSearchResults: Ember.computed('messageThreads.[]','searchThreadsText', function(){\n        let searchText = this.get('searchThreadsText');\n        let messageThreads = this.get('messageThreads')\n\n        if (searchText) {\n            searchText = searchText.toLowerCase();\n            return messageThreads.filter(messageThread => messageThread.get('subject').toLowerCase().includes(searchText));\n        } else {\n            return messageThreads;\n        }\n    }),\n\n    groupsSearchResults: Ember.computed('groups.[]', 'searchThreadsText', function() {\n        let groups = this.get('groups');\n        let results = [];\n        let searchText = this.get('searchThreadsText');\n        if (searchText) {\n            groups.forEach(group => {\n                let foundGroup = null;\n                let groupUsers = [];\n\n                group.users.forEach(user => {\n                    let searchData = `${user.firstName} ${user.lastName} ${user.email}`;\n                    if (searchData.toLowerCase().includes(searchText)) {\n                        groupUsers.push(user);\n                    }\n                });\n\n                if (groupUsers.length) {\n                    foundGroup = {\n                        id: group.id,\n                        expanded: true,\n                        selected: false,\n                        name: group.name,\n                        users: groupUsers\n                    };\n                } else {\n                    if (group.name.toLowerCase().includes(searchText)) {\n                        foundGroup = group;\n                    }\n                }\n                if (foundGroup) {\n                    results.push(foundGroup);\n                }\n            });\n            return results;\n        } else {\n            return groups;\n        }\n    }),\n\n    \n    // users: Ember.computed('store', function(){\n    //     this.get('store').peekAll('user').then(usersEntities =>{\n\n    //     });\n    // }),\n\n    _selectUser(user){\n        this.set('messagesService.selectedMessageThread', null);\n\n        if (this.get('selectedGroup')) {\n            // Collapse the selected group if the selected user is not part of the previousli selected group\n            if (this.get('selectedGroup.users').find(({id}) => user.id === id) === -1) {\n                this.set('selectedGroup.expanded', false);\n                this.set('selectedGroup', null);\n            }\n        }\n\n        this.deselectAllUsers();\n\n        Ember.Logger.log('selectedGroup: ', this.get('selectedGroup'));\n\n        this.set('selectedUser', this.get('store').peekRecord('user', user.id));\n        let messagesService = this.get('messagesService');\n        this.set('isAddingUsers', false);\n        // If there is one selected user a message thread strictly between the current user and the selected user\n        // Select that thread\n        let existingThread = messagesService.findExistingUserThread(user.id);\n        if (existingThread) {\n            messagesService.setSelectedMessageThread(existingThread);\n            // Prepare a flag so that when the user will start typing into that thread, the selected user will automatically be deselected\n            // and scroll to the selected thread\n            this.set('backstageThreadSelected', true);\n        } else {\n            messagesService.set('newMessageThread.users', [ user.id ]);\n            this.set('backstageThreadSelected', false);\n        }\n    },\n\n    deselectAllUsers() {\n        Ember.Logger.log('Deselecting all users');\n        this.get('users').forEach(user => {\n            Ember.set(user, 'selected', false);\n        })\n    },\n\n    didInsertElement() {\n        this._super(...arguments);\n        let messagesService = this.get('messagesService');\n        let _this = this;\n        messagesService.init({\n            socketMessageCallback: function () {\n                // it will trigger a component render, so we'll have to get ready for it by setting the following flag\n                // to check it on render and decide what to do.\n                _this.set('newSocketMessageReceived', true);\n            }\n        });\n\n        // Too much to refactor for a case like this one. The fastest way is to implement events and callbacks within the service\n        // This is used on the map page so a user can start a conversation with another user by clicking on the map\n        let selectUserExternally = this._selectUser.bind(this);\n        messagesService.registerExternalCallback('selectUser', selectUserExternally);\n\n        return RSVP.all([\n            this.get('store').peekAll('group'),\n            this.get('store').peekAll('user')\n        ]).then(results => {\n            let currentUserId = this.get('currentUser.user.id');\n            this.set('groups', results[0].map(group => {\n                let groupUsers = [];\n\n                group.get('users').forEach(user => {\n                    let userId = user.get('id');\n\n                    if (this.get('currentUser.user.id') !== userId) {\n                        groupUsers.push({\n                            id: userId,\n                            firstName: user.get('firstName'),\n                            lastName: user.get('lastName'),\n                            email: user.get('email'),\n                            phoneNumber: user.get('phoneNumber'),\n                            groupID: user.get('groupID'),\n                            selected: false,\n                            role: user.get('role')\n                        });\n                    }\n                });\n\n                return {\n                    id: group.get('id'),\n                    name: group.get('name'),\n                    users: groupUsers,\n                    selected: false,\n                    expanded: false\n                };\n            }));\n\n            this.set('users', results[1].reduce((users, user) => {\n                let userId = user.get('id');\n                let selected = false;\n\n                if (messagesService.selectedMessageThread) {\n                    selected = messagesService.selectedMessageThread.get('users').includes(userId)\n                }\n\n                if (userId === currentUserId) return users;\n\n                users.push({\n                    id: userId,\n                    firstName: user.get('firstName'),\n                    lastName: user.get('lastName'),\n                    email: user.get('email'),\n                    phoneNumber: user.get('phoneNumber'),\n                    groupID: user.get('groupID'),\n                    selected: selected,\n                    role: user.get('role')\n                });\n\n                return users;\n            }, []));\n        }).catch(error => {+\n            Ember.Logger.error(error);\n        });\n    },\n\n    didRender () {\n        let $messagesContainer = this.$(\"#messages-container\");\n        let messagesService = this.get('messagesService');\n        let messageThread = messagesService.get('selectedMessageThread')\n        if (!messageThread) return;\n\n        // Prevent automatic scrolling when the user is typing a message, or after the user intentionally scrolled up\n        let doNotScroll = messagesService.get('newMessage.content') || !this.get('lastMessageIsInFocus');\n        \n        if (doNotScroll) {\n            let gotNewSocketMessage = this.get('newSocketMessageReceived');\n            if (gotNewSocketMessage) {\n                let unread = messagesService.get('selectedMessageThread.unread') + 1;\n                messagesService.set('selectedMessageThread.unread', unread);\n                this.set('newSocketMessageReceived', false);\n            }\n            return;\n        } \n\n        if (moment(messagesService.get('selectedMessageThread.updatedAt')).isAfter(messagesService.get('selectedDay')) && !this.get('lastMessageIsInFocus')) {\n            // Scroll down 5 pixels in order to allow the user to intentionally scroll up again.\n            $messagesContainer.scrollTop(10);\n        } else {\n            // Only scroll to bottom if the selectedDay is before the last message thread update. This means that the user intentionally scrolled up\n            // in order to receive the older messages.\n            $messagesContainer.scrollTop($messagesContainer.prop(\"scrollHeight\"));\n            messagesService.setAllRead();\n        }\n    },\n\n    isSelected(userId){\n        return this.get('selectedUsers')[userId];\n    },\n\n    startEditingMessageThread() {\n        let messageThread = this.get('messagesService.selectedMessageThread');\n        let editingMessageThread = this.get('messagesService.newMessageThread');\n        let selectedUsers = messageThread.get('users');\n\n        Ember.set(editingMessageThread, 'id', messageThread.get('id'));\n        Ember.set(editingMessageThread, 'userID', messageThread.get('userID'));\n        Ember.set(editingMessageThread, 'category', messageThread.get('category'));\n        Ember.set(editingMessageThread, 'subject', messageThread.get('subject'));\n        Ember.set(editingMessageThread, 'users', selectedUsers);\n\n        this.get('users').forEach(user => {\n            if (selectedUsers.includes(user.id)) {\n                Ember.set(user, 'selected', true);\n                this.incrementProperty('selectedUsersCount');\n            }\n        })\n\n        this.set('isEditingMessageThread', true);\n        this.set('isAddingUsers', true);\n    },\n\n    actions: {\n        toggleView() {\n            Ember.Logger.log('Toggling view');\n            this.get('messagesService').toggleVisibility();\n        },\n        createMessageThread() {\n            this.set('isEditingMessageThread', true);\n            this.set('isAddingUsers', true);\n        },\n        cancelMessageThread() {\n            this.set('selectedUsersCount', 0);\n            this.get('users').forEach(user => {\n                if (user) {\n                    Ember.set(user, 'selected', false);\n                }\n            });\n            this.get('messagesService').resetNewMessageThread();\n            this.set('isEditingMessageThread', false);\n            this.set('isAddingUsers', false);\n        },\n\n        toggleUser(user) {\n            if (this.get('selectedGroup')) {\n                this.set('selectedGroup.expanded', false);\n                this.set('selectedGroup', null);\n            }\n\n            Ember.set(user, 'selected', !user.selected);\n\n            if (user.selected) {\n                this.incrementProperty('selectedUsersCount');\n            } else {\n                this.decrementProperty('selectedUsersCount');\n            }\n        },\n\n        saveNewMessageThread() {\n            let messagesService = this.get('messagesService');\n\n            this.get('users').forEach(user => {\n                if (user.selected) {\n                    Ember.Logger.log('Selected user', user.id, user.selected);\n                    if (!messagesService.get('newMessageThread.users').includes(user.id)) {\n                        messagesService.get('newMessageThread.users').push(user.id);\n                    }\n                }\n            });\n\n            if (this.get('selectedGroup')) {\n                messagesService.set('newMessageThread.groupID', this.get('selectedGroup.id'));\n                Ember.Logger.log('Selected group');\n            }\n\n            messagesService.saveNewThread().then(messasgeThread => {\n                this.set('selectedUsersCount', 0);\n                this.get('users').forEach(user => {\n                    if (user) {\n                        Ember.set(user, 'selected', false);\n                    }\n                });\n\n                this.set('isEditingMessageThread', false);\n                this.set('isAddingUsers', false);\n                messagesService.setSelectedMessageThread(messasgeThread);\n            });\n        },\n\n        openMessageThread(mesasgeThread) {\n            let _this = this;\n            let messagesService = this.get('messagesService');\n            let $messageContainer = Ember.$('#messages-container');\n\n            // Remove the scroll event listener for the previously selected message thread\n            if (messagesService.get('selectedMessageThread')) {\n                $messageContainer.off('scroll');\n            }\n            this.set('isAddingUsers', false);\n            messagesService.setSelectedMessageThread(mesasgeThread).then(() => {\n                this.set('lastMessageIsInFocus', true);\n                this.set('selectedUser', null);\n                this.set('selectedGroup', null);\n\n                // Add a scroll event listenre for infinite scroll up in order to load messages for previous days\n                $messageContainer.scroll(function () {\n                    let scrollTop = $messageContainer.scrollTop();\n                    if (scrollTop === 0) {\n                        messagesService.loadOlderThreadMessages();\n                    } else {\n                        if (scrollTop > ($messageContainer.prop(\"scrollHeight\") - $messageContainer.height() - 60)) {\n                            // If the last message is in focus, don't increment the unread on the currently selected message thread and scroll to bottom\n                            _this.set('lastMessageIsInFocus', true);\n                            messagesService.setAllRead();\n                        } else {\n                            // if the user scrolled up, don't bother him by scrolling back to bottom when receviving a new message. Increment the unread messages when on new message.\n                            _this.set('lastMessageIsInFocus', false);\n                        }\n                    }\n                });\n            });\n        },\n\n        sendMessage(event) {\n            let messagesService = this.get('messagesService');\n            messagesService.set('newMessage.category', this.get('selectedMessagePriority'));\n            \n            if((event.which === 13 && !event.shiftKey) || (event.which === 13 && !event.ctrlKey)) {\n                event.preventDefault()\n            }\n\n            if ((event.key === \"Enter\")) {\n                if (event.ctrlKey || event.shiftKey) {\n                    let content = this.get('messagesService.newMessage.content') + \"\\n\";\n                    this.set('messagesService.newMessage.content', content);\n                } else {\n                    this.set('lastMessageIsInFocus', true);\n                    if (messagesService.selectedMessageThread) {\n                        messagesService.sendMessage();   \n                    } else {\n                        // Special cases: When starting a new thread dirrectly with a user or with an entire group. Create the needed thread if no thread was there\n                        let selectedUser = this.get('selectedUser');\n                        let selectedGroup = this.get('selectedGroup');\n                        let newMessageThread = messagesService.get('newMessageThread');\n\n                        if (selectedUser) {\n                            let subject = `${selectedUser.get('firstName')} ${selectedUser.get('lastName')}`;\n                            if (subject === ' ') {\n                                subject = selectedUser.get('email');\n                            }\n                            newMessageThread.subject = subject;\n                            newMessageThread.priority = 'priority-low';\n                            // if there is one selected user, then don't add the whole group to the thread\n                            newMessageThread.users = [selectedUser.get('id')];\n                        }\n\n                        if (selectedUser || selectedGroup) {\n                            messagesService.saveNewThread().then(messasgeThread => {\n                                this.set('selectedUser', null);\n                                messagesService.resetNewMessageThread();\n                                messagesService.setSelectedMessageThread(messasgeThread);\n                                return messagesService.sendMessage().catch(error => {\n                                    Ember.Logger.error('Error while trying to send message: ', error);\n                                });\n                            }).then(() => {\n                                if (selectedGroup) {\n                                    this.set('selectedGroup.expanded', false);\n                                    this.set('selectedGroup', null);\n                                }\n\n                                if (selectedUser) {\n                                    this.set('selectedUser', null);\n                                }\n\n                                let $messageThreadsContainer = this.$(\"#message-threads-container\");\n                                $messageThreadsContainer.scrollTop(this.$(`#message-thread-${messagesService.selectedMessageThread.get('id')}`).offset().top);\n                            }).catch(error => {\n                                Ember.Logger.error('Error: while trying to create a new thread.', error);\n                            });\n                        }\n                    }\n                }\n            } else {\n                if (this.get('backstageThreadSelected')) {\n                    // If typing into a thread automatically selected after a user was selected from the users list of a group\n                    // Scroll to that selected thread and deselect the user from the group users.\n                    let $messageThreadsContainer = this.$(\"#message-threads-container\");\n                    $messageThreadsContainer.scrollTop(this.$(`#message-thread-${messagesService.selectedMessageThread.get('id')}`).offset().top);\n                    // Turn the flag off so that we don't scroll on every key press\n                    this.set('backstageThreadSelected', false);\n                    this.set('selectedUser', null);\n                    this.set('selectedGroup', null);\n                }\n            }\n        },\n\n        deleteMessageThread(messageThread) {\n            this.set('messageThreadForDeletion', messageThread);\n        },\n\n        confirmDeleteMessageThread() {\n            this.get('messagesService').deleteMessageThread(this.get('messageThreadForDeletion')).then(()=>{\n                this.set('messageThreadForDeletion', null);\n            });\n        },\n\n        cancelDeleteMessageThread() {\n            this.set('messageThreadForDeletion', null);\n        },\n\n        editMessageThread (messageThread) {\n            let messagesService = this.get('messagesService');\n            if (messageThread.get('id') !== messagesService.get('selectedMessageThread.id')) {\n                messagesService.setSelectedMessageThread(messageThread).then(() => {\n                    this.startEditingMessageThread();\n                });\n            } else {\n                this.startEditingMessageThread();\n            }\n        },\n\n        updateMessageThread() {\n            let messagesService = this.get('messagesService');\n            \n\n            this.get('users').forEach(user => {\n                if (user.selected) {\n                    messagesService.get('newMessageThread.users').push(user.id);\n                }\n            });\n\n            messagesService.updateMessageThread().then(()=>{\n                this.set('selectedUsersCount', 0);\n                this.deselectAllUsers();\n\n                this.set('isEditingMessageThread', false);\n                this.set('isAddingUsers', false);\n            });\n        },\n\n        goBack () {\n            this.set('selectedUsersCount', 0);\n            this.deselectAllUsers();\n\n            this.get('messagesService').resetNewMessageThread();\n            this.set('isEditingMessageThread', false);\n            this.set('isAddingUsers', false);\n\n            this.set('messagesService.selectedMessageThread', null);\n            this.set('selectedUser', null);\n            this.set('selectedGroup', null);\n        },\n\n        selectUser (user) {\n            this._selectUser(user);\n        },\n\n        toggleExpandGroup(group) {\n            let messagesService = this.get('messagesService');\n            Ember.set(group, 'expanded', !group.expanded);\n\n            messagesService.set('selectedMessageThread', null);\n            this.set('selectedUser', null);\n\n            if (group.expanded) {\n                if (this.get('selectedGroup')) {\n                    // collapse the old selected group before changin it to the new one\n                    this.set('selectedGroup.expanded', false);\n                }\n                let existingThread = messagesService.findExistingGroupThread(group.users.map(({id}) => id));\n                Ember.Logger.log('Existing message thread: ', existingThread);\n                if (existingThread) {\n                    messagesService.setSelectedMessageThread(existingThread);\n                    this.set('backstageThreadSelected', true);\n                } else {\n                    this.set('selectedGroup', group);\n                    messagesService.set('newMessageThread.users', group.users.map(user => user.id));\n                    messagesService.set('newMessageThread.subject', group.name);\n                    this.set('backstageThreadSelected', false);\n                }\n            } else {\n                this.set('selectedGroup', null);\n                messagesService.resetNewMessageThread();\n            }\n            \n            this.set('isAddingUsers', false);\n\n            this.get('users').forEach(user => {\n                // Reset the selected users based on whether the group is expanded or not\n                if (group.users.includes(user.id)) {\n                    Ember.set(user, 'selected', group.expanded);\n                } else {\n                    Ember.set(user, 'selected', group.expanded);\n                }\n            });\n        },\n\n        removeUserFromThread(userId) {\n            let messageThread = this.get('messagesService.selectedMessageThread');\n            let users = messageThread.get('users');\n            let index = users.findIndex(threadUserId => threadUserId === userId);\n\n            if (index > -1) {\n                users.splice(index, 1);\n                messageThread.set('users', users);\n                messageThread.save().then(updatedMessageThread => {\n                    Ember.Logger.log('Message thread updated successfully:', updatedMessageThread.get('users'));\n                });\n            }\n        },\n\n        manageThreadUsers() {\n            let selectedThread = this.get('messagesService.selectedMessageThread');\n            // let newMessageThread = this.get('messagesService.newMessageThread');\n            let threadUsers = this.get('selectedThreadUsers');\n\n            let selectedThreadUserIds = threadUsers.map(user => user.id);\n\n            this.get('users').forEach(user => {\n                // Ember.Logger.log('selectedThread users: ', selectedThread.get('users'));\n                if (selectedThreadUserIds.includes(user.id)) {\n                    Ember.set(user, 'selected', true);\n                } else {\n                    Ember.set(user, 'selected', false);\n                }\n            });\n\n            if (selectedThread && selectedThread.subject)  {\n                this.set('messagesService.newMessageThread.subject', selectedThread.get('subject'));\n            } else if ((threadUsers.get('length') === 1) && !this.get('selectedGroup')) {\n                let user = threadUsers.get('firstObject');\n                let contact = user.get('firstName') + ' ' + user.get('lastName');\n\n                if (contact.length === 1) {\n                    contact = user.get('email');\n                }\n\n                this.set('messagesService.newMessageThread.subject', contact);\n            }\n\n            this.set('isAddingUsers', true);\n        },\n\n        enlargeImage (image) {\n            this.set('enlargedImage', `${image}?t=${this.get('currentUser.idToken')}`);\n        },\n    \n        closeDocumentImageView() {\n            this.set('enlargedImage', null);\n        },\n\n        stopPropagation(event) {\n            event.stopPropagation();\n        },\n\n        toggleDetailsPopup(message) {\n            if(message.get('detailsOpened') == 'true') {\n                message.set('detailsOpened', 'false')\n                message.set('seenBy', null)\n                return\n            }\n            this.get('store').find('message', message.get('id')).then(message => {\n                let seenBy = message.get('openedBy').map((userId, index) => {\n                    let user = this.get('store').peekRecord('user', userId)\n                    return `${user.data.firstName } ${user.data.lastName}${ (index < message.get('openedBy').length - 1) ? ', ' : ''}`\n                });\n\n                message.set('seenBy', seenBy.join(''))\n                message.set('detailsOpened', !message.get('detailsOpened'));\n            });\n        },\n\n    },\n});\n","export default Ember.HTMLBars.template({\"id\":\"U3WBtQ7g\",\"block\":\"{\\\"symbols\\\":[\\\"message\\\",\\\"user\\\",\\\"user\\\",\\\"group\\\",\\\"group\\\",\\\"user\\\",\\\"messageThread\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"messaging-panel \\\",[25,\\\"unless\\\",[[20,[\\\"messagesService\\\",\\\"viewIsVisible\\\"]],\\\"hidden\\\"],null]]]],[9,\\\"id\\\",\\\"messaging-panel\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"messaging-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"title ten wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"showBackButton\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"goBack\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon arrow left\\\"],[7],[8],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.messages\\\"],null],false],[0,\\\" \\\"],[4,\\\"if\\\",[[20,[\\\"messagesService\\\",\\\"unreadMessagesCount\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"total-unread-messages\\\"],[7],[0,\\\"(\\\"],[1,[20,[\\\"messagesService\\\",\\\"unreadMessagesCount\\\"]],false],[0,\\\")\\\"],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"controls six wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui icon button right floated\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleView\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"window minimize outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui stackable grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"sixteen wide mobile seven wide tablet seven wide computer column \\\",[25,\\\"if\\\",[[20,[\\\"showBackButton\\\"]],\\\"hidden-small\\\"],null]]]],[9,\\\"id\\\",\\\"message-threads\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"row\\\"],[9,\\\"id\\\",\\\"message-threads-control\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"seven wide column\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"isEditingMessageThread\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button fluid\\\"],[9,\\\"id\\\",\\\"new-message-thread\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"cancelMessageThread\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button fluid\\\"],[9,\\\"id\\\",\\\"new-message-thread\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"createMessageThread\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.newMessageThread\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"nine wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input\\\"],[9,\\\"id\\\",\\\"message-threads-search\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"class\\\",\\\"placeholder\\\",\\\"disabled\\\"],[\\\"text\\\",[20,[\\\"searchThreadsText\\\"]],\\\"search-input fluid\\\",[25,\\\"t\\\",[\\\"threads.searchThreads\\\"],null],[20,[\\\"isEditingMessageThread\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[9,\\\"id\\\",\\\"message-threads-container\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"isEditingMessageThread\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sixteen wide column ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.threadName\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"required\\\"],[\\\"text\\\",[20,[\\\"messagesService\\\",\\\"newMessageThread\\\",\\\"subject\\\"]],true]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.priority\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"title\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"message-thread-select-priority\\\",\\\"fluid selection\\\",[25,\\\"t\\\",[\\\"threads.selectPriority\\\"],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"messagesService\\\",\\\"newMessageThread\\\",\\\"category\\\"]]],null]],null],[20,[\\\"messagesService\\\",\\\"newMessageThread\\\",\\\"category\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.selectPriority\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"priority-low\\\"],[7],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui green horizontal label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.lowPriority\\\"],null],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"priority-medium\\\"],[7],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui orange horizontal label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.mediumPriority\\\"],null],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"priority-high\\\"],[7],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui red horizontal label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.highPriority\\\"],null],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"selectedUsersCount\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"messagesService\\\",\\\"newMessageThread\\\",\\\"id\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button fluid\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"updateMessageThread\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.updateMessageThread\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button fluid\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"saveNewMessageThread\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.createMessageThread\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"messageThreadsSearchResults\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"sixteen wide column\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"users\\\",\\\"length\\\"]],2],null],\\\"select-user\\\",\\\"select-message-thread\\\"],null],\\\" \\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"id\\\"]],[20,[\\\"messagesService\\\",\\\"selectedMessageThread\\\",\\\"id\\\"]]],null],\\\"selected\\\"],null]]]],[10,\\\"id\\\",[26,[\\\"message-thread-\\\",[19,7,[\\\"id\\\"]]]]],[3,\\\"action\\\",[[19,0,[]],\\\"openMessageThread\\\",[19,7,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ten wide column subject\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"message-thread-name \\\",[25,\\\"if\\\",[[19,7,[\\\"unread\\\"]],\\\"bold\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"users\\\",\\\"length\\\"]],2],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item-image\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"left floated mini ui image\\\"],[9,\\\"src\\\",\\\"../assets/images/user_placeholder_icon.png\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item-image\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"userID\\\"]],[20,[\\\"currentUser\\\",\\\"user\\\",\\\"id\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"cogs icon yellow\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"editMessageThread\\\",[19,7,[]]],null],null],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item-name \\\",[25,\\\"if\\\",[[19,7,[\\\"unread\\\"]],\\\"has-unread-messages\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,7,[\\\"subject\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,7,[\\\"unread\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"unread-messages\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,7,[\\\"unread\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"threads.unreadMessages\\\"],null],false],[0,\\\".\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"six wide column last-updated\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[19,7,[\\\"updatedAt\\\"]],\\\"HH:mm DD.MM.YYYY\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"userID\\\"]],[20,[\\\"currentUser\\\",\\\"user\\\",\\\"id\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate icon\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"deleteMessageThread\\\",[19,7,[]]],null],null],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7]},null],[4,\\\"each\\\",[[20,[\\\"groupsSearchResults\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,5,[\\\"users\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"sixteen wide column select-group \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,5,[\\\"id\\\"]],[20,[\\\"selectedGroup\\\",\\\"id\\\"]]],null],\\\"selected\\\"],null]]]],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"toggleExpandGroup\\\",[19,5,[]]],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"twelve wide column subject\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item-image\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"users icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item-name\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,5,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"four wide column last-updated\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"caret \\\",[25,\\\"if\\\",[[19,5,[\\\"expanded\\\"]],\\\"up\\\",\\\"down\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,5,[\\\"expanded\\\"]]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,5,[\\\"users\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"sixteen wide column group-user select-user \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedUser\\\",\\\"id\\\"]],[19,6,[\\\"id\\\"]]],null],\\\"selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"selectUser\\\",[19,6,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"twelve wide column subject\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item-image\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"left floated mini ui image\\\"],[9,\\\"src\\\",\\\"../assets/images/user_placeholder_icon.png\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item-name\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,6,[\\\"lastName\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,6,[\\\"firstName\\\"]],false],[0,\\\" \\\"],[1,[19,6,[\\\"lastName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,6,[\\\"email\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"four wide column last-updated\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"comments icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[5]},null]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"sixteen wide mobile nine wide tablet nine wide computer column \\\",[25,\\\"unless\\\",[[20,[\\\"showBackButton\\\"]],\\\"hidden-small\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"isAddingUsers\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form user-search-form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui two column grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input\\\"],[9,\\\"id\\\",\\\"message-thread-user-search\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"class\\\",\\\"placeholder\\\"],[\\\"text\\\",[20,[\\\"searchUserText\\\"]],\\\"search-input fluid\\\",[25,\\\"t\\\",[\\\"threads.searchUser\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"column\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"title\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"message-thread-select-group\\\",\\\"fluid selection\\\",[25,\\\"t\\\",[\\\"threads.groups\\\"],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selectedGroupID\\\"]]],null]],null],[20,[\\\"selectedGroupID\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.selectGroup\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"all\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.allGroups\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"groups\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,4,[\\\"id\\\"]],null],[7],[1,[19,4,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui sixteen column grid\\\"],[9,\\\"id\\\",\\\"thread-settings\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"column ten wide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[9,\\\"id\\\",\\\"subject-input-label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.threadName\\\"],null],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"text\\\",[20,[\\\"messagesService\\\",\\\"newMessageThread\\\",\\\"subject\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"column six wide\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"messagesService\\\",\\\"selectedMessageThread\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button fluid\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"updateMessageThread\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.ok\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button fluid\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"saveNewMessageThread\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.ok\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"select-thread-users\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui two column stackable grid\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"userResults\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"column select-user centered\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleUser\\\",[19,3,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"user-image-container \\\",[25,\\\"if\\\",[[19,3,[\\\"selected\\\"]],\\\"selected\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"ui image\\\"],[9,\\\"src\\\",\\\"../assets/images/user_placeholder_icon.png\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"details\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"role\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"role\\\",\\\"name\\\"]],false],[0,\\\":\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"name\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"firstName\\\"]],false],[0,\\\" \\\"],[1,[19,3,[\\\"lastName\\\"]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,3,[\\\"selected\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check circle icon green right floated\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"email\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[7],[1,[19,3,[\\\"email\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,3,[\\\"phoneNumber\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"phone\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.phone\\\"],null],false],[0,\\\": \\\"],[1,[19,3,[\\\"phoneNumber\\\"]],false],[0,\\\" \\\"],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"row\\\"],[9,\\\"id\\\",\\\"selected-thread-users\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"showMessageInput\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui horizontal label participant\\\"],[9,\\\"id\\\",\\\"add-thread-participants\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"manageThreadUsers\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"add-user-icon\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"add user icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"selectedThreadUsers\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedThreadUsers\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"selectedThreadUsers\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui horizontal label participant\\\"],[10,\\\"id\\\",[26,[[19,2,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"lastName\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"firstName\\\"]],false],[0,\\\" \\\"],[1,[19,2,[\\\"lastName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"email\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui horizontal label participant\\\"],[10,\\\"id\\\",[26,[[20,[\\\"user\\\",\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"selectedThreadUsers\\\",\\\"length\\\"]],false],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"threads.participants\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"messagesService\\\",\\\"selectedMessageThread\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"messages-container\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui comments\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"messagesService\\\",\\\"sortedMessages\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"comment \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"user\\\",\\\"id\\\"]],[20,[\\\"currentUser\\\",\\\"user\\\",\\\"id\\\"]]],null],\\\"right floated\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"meta-container\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"author\\\"],[7],[1,[19,1,[\\\"user\\\",\\\"firstName\\\"]],false],[0,\\\" \\\"],[1,[19,1,[\\\"user\\\",\\\"lastName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"metadata\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"date\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,1,[\\\"createdAt\\\"]],\\\"HH:mm DD.MM.YYYY\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"avatar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"src\\\",\\\"../assets/images/user_placeholder_icon.png\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"document\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"document-image\\\"],[10,\\\"src\\\",[26,[[19,1,[\\\"document\\\"]],\\\"?t=\\\",[20,[\\\"currentUser\\\",\\\"idToken\\\"]]]]],[9,\\\"alt\\\",\\\"Document image\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"enlargeImage\\\",[19,1,[\\\"document\\\"]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"nl2br\\\",[[19,1,[\\\"content\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"details\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleDetailsPopup\\\",[19,1,[]]]],[7],[1,[25,\\\"t\\\",[\\\"threads.details\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"detailsOpened\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.seenBy\\\"],null],false],[0,\\\" \\\"],[1,[19,1,[\\\"seenBy\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.noMessages\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"new-message\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"showMessageInput\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sixteen wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\"],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"row\\\"],[9,\\\"id\\\",\\\"priority-selector-row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"eight wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"three wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.priority\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"five wide column\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"title\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"message-select-priority\\\",\\\"fluid selection\\\",[25,\\\"t\\\",[\\\"threads.selectPriority\\\"],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selectedMessagePriority\\\"]]],null]],null],[20,[\\\"selectedMessagePriority\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"priority-low\\\"],[7],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui green horizontal label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.lowPriority\\\"],null],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"priority-medium\\\"],[7],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui orange horizontal label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.mediumPriority\\\"],null],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"priority-high\\\"],[7],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui red horizontal label\\\"],[7],[1,[25,\\\"t\\\",[\\\"threads.highPriority\\\"],null],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"textarea\\\",null,[[\\\"value\\\",\\\"keyDown\\\",\\\"rows\\\",\\\"placeholder\\\",\\\"class\\\"],[[20,[\\\"messagesService\\\",\\\"newMessage\\\",\\\"content\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"sendMessage\\\"],null],\\\"3\\\",[25,\\\"t\\\",[\\\"threads.messageInputPlaceholder\\\"],null],\\\"fluid\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"messageThreadForDeletion\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"delete-message-thread\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"delete-heading\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"threads.deleteMessageThread\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"delete-body\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"messageThreadForDeletion\\\",\\\"subject\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"delete-footer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"eight wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button fluid red\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"confirmDeleteMessageThread\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"threads.deleteConfirmButton\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"eight wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui button fluid\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"cancelDeleteMessageThread\\\"],null],null],[7],[1,[25,\\\"t\\\",[\\\"threads.deleteCancelButton\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"enlargedImage\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"enlarged-document-image-backdrop\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"closeDocumentImageView\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"enlarged-document-image-container\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"id\\\",\\\"document-image-close\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon close\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[10,\\\"src\\\",[18,\\\"enlargedImage\\\"],null],[9,\\\"alt\\\",\\\"Document image\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"stopPropagation\\\"],null],null],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/message-threads/template.hbs\"}});","import Component from '@ember/component'\n\nexport default Component.extend({\n\tclassNames: ['dc-info']\n})\n","export default Ember.HTMLBars.template({\"id\":\"TKCdAm+y\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[0,\\\"\\\\n    \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"info circle icon\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n    \\\"],[1,[18,\\\"msg\\\"],false],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/messages/dc-info/template.hbs\"}});","import Ember from 'ember';\n\nconst { service } = Ember.inject;\n\nexport default Ember.Component.extend({\n    i18n: service(),\n\n    actions: {\n        resetErrors() {\n            this.get('resetErrors')();\n        }\n    }\n});\n","export default Ember.HTMLBars.template({\"id\":\"LodHPrRe\",\"block\":\"{\\\"symbols\\\":[\\\"error\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"errors\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"log\\\",[\\\"messages: \\\",[20,[\\\"errors\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui error message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"close icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"resetErrors\\\"]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.errorsExists\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"ul\\\"],[9,\\\"class\\\",\\\"list\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"errors\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"li\\\"],[7],[1,[19,1,[\\\"message\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/messages/error-message/template.hbs\"}});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    classNames: ['message-info']\n});","export default Ember.HTMLBars.template({\"id\":\"7aZowvh+\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui transparent message\\\"],[7],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"box-header\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"info circle icon\\\"],[7],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"p\\\"],[7],[0,\\\" \\\"],[1,[18,\\\"msg\\\"],false],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/messages/message-info/template.hbs\"}});","import Ember from 'ember'\nconst { service } = Ember.inject\n\nexport default Ember.Component.extend({\n    i18n:       service(),\n    tagName: '',\n    message:    Ember.computed( \"error\", \"namespace\", function ( ) {\n        let namespace   = this.get(\"namespace\")\n        let error       = this.get(\"error\")\n\n        let path = \"errors.messages.validation.\" + ( namespace ? (namespace + \".\") : \"\") + error\n\n        return this.get(\"i18n\").t( path )\n    } )\n});\n","export default Ember.HTMLBars.template({\"id\":\"fI0nps7Z\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"message\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/messages/validation-error/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { inject as service } from '@ember/service'\n\nexport default ModalComponent.extend({\n\tstore: service(),\n\ti18n: service(),\n\n\tclient: null,\n\n\tinit() {\n\t\tthis._super(...arguments)\n\n\t\tconst client = this.get('store').createRecord('client')\n\t\tthis.set('client', client)\n\t},\n\n\tactions: {\n\t\tcancel() {\n\t\t\tif (this.get('loading')) { return }\n\n\t\t\tconst client = this.get('client')\n\t\t\tif (client != null) {\n\t\t\t\tclient.deleteRecord()\n\t\t\t}\n\n\t\t\tthis.reject()\n\t\t},\n\t\tsave() {\n\t\t\tif (this.get('loading')) { return }\n\n\t\t\tconst client = this.get('client')\n\t\t\t\n\t\t\tclient.save()\n\t\t\t.then(() => {\n\t\t\t\tthis.resolve()\n\t\t\t})\n\t\t},\n\t},\n})","export default Ember.HTMLBars.template({\"id\":\"hMAmgny0\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal mini client\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.clients.modal.create.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"name\\\",[25,\\\"t\\\",[\\\"dispatch.clients.modal.create.name\\\"],null],[20,[\\\"client\\\",\\\"name\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button deny\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"loading\\\"]],[20,[\\\"errors\\\"]]],null],\\\" disabled\\\"],null],[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" icon\\\"],null]]]],[10,\\\"title\\\",[18,\\\"errors\\\"],null],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/client-create/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport RSVP from 'rsvp'\n\nexport default ModalComponent.extend({\n\ti18n: service(),\n\n\tvehicle: computed.readOnly('model.options.vehicle'),\n\tvehicles: computed.readOnly('model.options.vehicles'),\n\talertType: computed.readOnly('model.options.alertType'),\n\tselected: 'vehiclesType',\n\tloading: false,\n\theaderTranslation: computed('alertType', function () {\n\t\tconst i18n = this.get('i18n')\n\t\tconst alertType = this.get('alertType')\n\t\tif (alertType === 'fuelLevelDropStationary') return i18n.t('alerts.types.fuel-level-drop-stationary')\n\t\tif (alertType === 'fuelConsumptionExcessive') return i18n.t('alerts.types.fuel-consumption-excessive')\n\t\tif (alertType === 'lowBattery') return i18n.t('alerts.types.low-battery')\n\t\tif (alertType === 'fastBatteryDischarge') return i18n.t('alerts.types.fast-battery-discharge')\n\t\tif (alertType === 'tachoRest') return i18n.t('alerts.types.tacho-rest')\n\t\tif (alertType === 'panicButton') return i18n.t('alerts.types.tacho-rest')\n\t}),\n\n\tactions: {\n\t\tok() {\n\t\t\tlet selected = this.get('selected')\n\t\t\tlet vehicle = this.get('vehicle')\n\t\t\tlet vehicles = this.get('vehicles')\n\t\t\tlet alertType = this.get('alertType') // fuelLevelDropStationary || fuelConsumptionExcessive\n\t\t\tlet triggerType = alertType\n\n\t\t\tif (this.get('loading') || !selected || !alertType || !vehicle || !vehicles) { return }\n\n\t\t\tlet remainingVehicles = vehicles.filter(veh => {\n\t\t\t\tif (veh.get('id') === vehicle.get('id')) { // exclude the editing vehicle\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif (veh.get('hasProbe') || veh.get('hasCan') || alertType === 'lowBattery' || alertType === 'fastBatteryDischarge') { // vehicle must have sensor or can\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t\n\t\t\tif(alertType === 'lowBattery') triggerType = 'lowBatteryThreshold'\n\t\t\tif(alertType === 'fastBatteryDischarge') triggerType = 'dailyBatteryDischargeThreshold'\n\n\t\t\tlet selectedAlert = vehicle.get(`settings.alerts.${alertType}`)\n\t\t\tlet selectedTrigger = vehicle.get(`settings.alertTriggers.${triggerType}`)\n\n\t\t\tlet promises = []\n\t\t\tif (selected === 'vehiclesType') {\n\t\t\t\tlet vehicleType = vehicle.get('type')\n\t\t\t\tif (!vehicleType || !remainingVehicles.get('length')) { return }\n\t\t\t\tremainingVehicles.forEach(veh => {\n\t\t\t\t\tif (veh.get('type') === vehicleType) {\n\t\t\t\t\t\tveh.set(`settings.alertTriggers.${triggerType}`, selectedTrigger)\n\t\t\t\t\t\tveh.set(`settings.alerts.${alertType}`, selectedAlert)\n\t\t\t\t\t\tpromises.push(veh.save())\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\telse if (selected === 'allGroup') {\n\t\t\t\tlet groupID = vehicle.get('group.id')\n\t\t\t\tif (!groupID || !remainingVehicles.get('length')) { return }\n\n\t\t\t\tremainingVehicles.forEach(veh => {\n\t\t\t\t\tif (veh.get('group.id') === groupID) {\n\t\t\t\t\t\tveh.set(`settings.alertTriggers.${triggerType}`, selectedTrigger)\n\t\t\t\t\t\tveh.set(`settings.alerts.${alertType}`, selectedAlert)\n\t\t\t\t\t\tpromises.push(veh.save())\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (!promises.length) { return }\n\t\t\tthis.set('loading', true)\n\t\t\tRSVP.all(promises)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.send('resolve')\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t}\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"bwzTdu/j\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal mini\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"info warning circle icon\\\"],[7],[8],[1,[18,\\\"headerTranslation\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"applyTo\\\"],null],false],[0,\\\":\\\\n\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"applyTo\\\",[25,\\\"t\\\",[\\\"sameVehicleType\\\"],null],\\\"vehiclesType\\\",[20,[\\\"selected\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selected\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-radio\\\",null,[[\\\"name\\\",\\\"label\\\",\\\"value\\\",\\\"current\\\",\\\"onChange\\\"],[\\\"applyTo\\\",[25,\\\"t\\\",[\\\"allVehiclesFromGroup\\\"],null],\\\"allGroup\\\",[20,[\\\"selected\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selected\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled icon\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"ok\\\"]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"ok\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-apply-to/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\n\nexport default ModalComponent.extend({\n\ttittle: computed.readOnly('model.options.tittle'),\n\tcontent: computed.readOnly('model.options.content'),\n\tisSmall: computed.readOnly('model.options.isSmall'),\n\thasHeaderIcon: computed.readOnly('model.options.hasHeaderIcon'),\n\tcustomOkText: computed.readOnly('model.options.customOkText'),\n})\n","export default Ember.HTMLBars.template({\"id\":\"tFJ9P8Md\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"dc-modal\\\",[25,\\\"if\\\",[[20,[\\\"isSmall\\\"]],\\\" small\\\",\\\" mini\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[4,\\\"if\\\",[[20,[\\\"hasHeaderIcon\\\"]]],null,{\\\"statements\\\":[[6,\\\"i\\\"],[9,\\\"class\\\",\\\"info warning circle icon\\\"],[7],[8]],\\\"parameters\\\":[]},null],[1,[18,\\\"tittle\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"content\\\"],true],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[11,1],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"resolve\\\"]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"customOkText\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"customOkText\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"ok\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-confirmation/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { inject as service } from '@ember/service'\n\nexport default ModalComponent.extend({\n\tapi: service(),\n\n\tmessage: '',\n\terr: null,\n\n\tactions: {\n\t\tyes() {\n\t\t\tlet message = this.get('message')\n\t\t\tif (this.get('err')) {\n\t\t\t\tthis.set('err', null)\n\t\t\t}\n\t\t\tif (!message) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.get('api').post('/dashboard/contact', {\n\t\t\t\tdata: { message }\n\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.send('resolve')\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tthis.set('err', err)\n\t\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"26i4cyIv\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal small\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dashboard.contactTitle\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"textarea\\\",null,[[\\\"class\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"darkGray\\\",[20,[\\\"message\\\"]],[25,\\\"t\\\",[\\\"dashboard.contactMsgHint\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"err\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui red message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dashboard.errorOnSendingMessage\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dashboard.plaseTryAgainLater\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"message\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui yellow message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dashboard.emptyMessage\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dashboard.pleaseInputMessage\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"yes\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"send\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-contact/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport RSVP from 'rsvp'\n\nexport default ModalComponent.extend({\n\tstore: service(),\n\tapi: service(),\n\ti18n: service(),\n\n\treadonly: true,\n\n\tvehicle: computed.readOnly('model.options.vehicle'),\n\tdocumentID: computed.readOnly('model.options.documentID'),\n\tuser: computed.readOnly('model.options.user'),\n\n\tdocs: computed('alldocs.[]', 'documentID', function () {\n\t\tlet vehicle = this.get('vehicle')\n\t\tlet user = this.get('user')\n\t\tlet docs = this.get('alldocs')\n\t\tif (!docs.length) {\n\t\t\treturn []\n\t\t}\n\t\tif (this.get('documentID')) {\n\t\t\tlet selectedDoc = docs.findBy('id', this.get('documentID'))\n\t\t\tif (selectedDoc) {\n\t\t\t\tselectedDoc.set('selected', true)\n\t\t\t}\n\t\t}\n\t\tif (vehicle) {\n\t\t\treturn docs.filterBy('vehicle.id', vehicle.get('id')).sortBy('valid.from')\n\t\t}\n\t\telse if (user) {\n\t\t\treturn docs.filterBy('user.id', user.get('id')).sortBy('valid.from')\n\t\t}\n\t\treturn []\n\t}),\n\n\tinit() {\n\t\tthis._super(...arguments)\n\n\t\tlet isUser = this.get('user') ? true : false\n\t\tthis.set('loading', true)\n\t\tif (isUser) {\n\t\t\tthis.get('store').query('document', {\n\t\t\t\t$where: {\n\t\t\t\t\tuser_id: this.get('user').get('id')\n\t\t\t\t}\n\t\t\t}).finally(() => {\n\t\t\t\tthis.set('loading', false)\n\t\t\t})\n\t\t}\n\t\telse {\n\t\t\tthis.get('store').query('document', {\n\t\t\t\t$where: {\n\t\t\t\t\tvehicle_id: this.get('vehicle').get('id')\n\t\t\t\t}\n\t\t\t}).finally(() => {\n\t\t\t\tthis.set('loading', false)\n\t\t\t})\n\t\t}\n\n\t\tthis.set('isUser', isUser)\n\t\tlet alldocs = this.get('store').peekAll('document')\n\t\tthis.set('alldocs', alldocs)\n\t},\n\n\tsaveDocuments() {\n\t\tlet docs = this.get('docs')\n\t\tlet rejected = window.Promise.resolve(null)\n\t\tif (!docs) { return rejected }\n\t\tlet modifiedDocs = docs.rejectBy('isNew').filterBy('hasDirtyAttributes')\n\t\tlet newDocs = docs.filterBy('isNew')\n\t\tif (!modifiedDocs.length && !newDocs.length) { return rejected }\n\t\tlet promises = []\n\n\t\tnewDocs.forEach(doc => {\n\t\t\tpromises.push(doc.save().catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\treturn\n\t\t\t}))\n\t\t})\n\n\t\treturn RSVP.all(promises)\n\t\t\t.then(data => {\n\t\t\t\tlet filesPromises = []\n\t\t\t\tdata.forEach(document => {\n\t\t\t\t\tif (!document) { return }\n\t\t\t\t\tlet file = document.get('document')\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tfilesPromises.push(this.saveFile(file, document.get('id')).catch(() => {\n\t\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tif (modifiedDocs.length) {\n\t\t\t\t\tmodifiedDocs.forEach(doc => {\n\t\t\t\t\t\tif (!doc) { return doc }\n\t\t\t\t\t\tlet file = doc.get('document')\n\t\t\t\t\t\tif (file) {\n\t\t\t\t\t\t\tfilesPromises.push(this.saveFile(file, doc.get('id')).catch(() => {\n\t\t\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn RSVP.all(filesPromises)\n\t\t\t})\n\t},\n\n\tsaveFile(file, docID) {\n\t\tif (!file || !docID) {\n\t\t\treturn window.Promise.resolve(null)\n\t\t}\n\n\t\tlet fd = new FormData()\n\t\tfd.append('document', file)\n\t\treturn this.get('api').request('/documents/' + docID + '/upload', {\n\t\t\tdata: fd,\n\t\t\tprocessData: false,\n\t\t\tcontentType: false,\n\t\t\ttype: 'POST',\n\t\t})\n\t},\n\n\tactions: {\n\t\tcancel() {\n\t\t\tlet docs = this.get('docs')\n\t\t\tif (!docs) {\n\t\t\t\tthis.send('reject')\n\t\t\t}\n\t\t\tlet dirty = docs.filterBy('hasDirtyAttributes')\n\t\t\tif (dirty.length) {\n\t\t\t\tdirty.forEach(doc => {\n\t\t\t\t\tdoc.rollbackAttributes()\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis.send('reject')\n\t\t},\n\t\tedit() {\n\t\t\tthis.toggleProperty('readonly')\n\t\t},\n\t\tsave() {\n\t\t\tthis.toast.clear()\n\t\t\tthis.saveDocuments()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.send('resolve')\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.send('resolve')\n\t\t\t\t})\n\t\t},\n\t\tcreateDocument() {\n\t\t\tif (this.get('readonly')) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet startDate = new Date()\n\t\t\tlet endDate = new Date()\n\t\t\tlet isUser = this.get('isUser')\n\t\t\tlet vehicle = this.get('vehicle')\n\t\t\tlet user = this.get('user')\n\t\t\tendDate.setDate(endDate.getDate() + 1)\n\n\t\t\tthis.get('store').createRecord('document', {\n\t\t\t\tgroupID: null,\n\t\t\t\tcompanyID: null,\n\t\t\t\ttype: isUser ? 'permis_conducere' : 'RCA',\n\t\t\t\tcategory: null,\n\t\t\t\tnumber: null,\n\t\t\t\tuser: user,\n\t\t\t\tvehicle: vehicle,\n\t\t\t\tvalid: {\n\t\t\t\t\tfrom: startDate,\n\t\t\t\t\tuntil: endDate,\n\t\t\t\t},\n\t\t\t\tprice: {\n\t\t\t\t\tvalue: null,\n\t\t\t\t\tcurrency: null\n\t\t\t\t},\n\t\t\t\tfile: {\n\t\t\t\t\tname: null,\n\t\t\t\t\ttype: null,\n\t\t\t\t\tsize: null,\n\t\t\t\t\thash: null\n\t\t\t\t},\n\t\t\t\tdetails: {\n\t\t\t\t\talertInterval: null\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"vZRXCtMc\",\"block\":\"{\\\"symbols\\\":[\\\"doc\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal management\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.documents\\\"],null],false],[0,\\\" - \\\"],[1,[25,\\\"if\\\",[[20,[\\\"isUser\\\"]],[20,[\\\"user\\\",\\\"fullName\\\"]],[20,[\\\"vehicle\\\",\\\"licensePlate\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content dc-form\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"docs\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"docs\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/dc-doc\\\",null,[[\\\"isUser\\\",\\\"doc\\\",\\\"readonly\\\"],[[20,[\\\"isUser\\\"]],[19,1,[]],[20,[\\\"readonly\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"addRow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button green\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"createDocument\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"add\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"isUser\\\"]]],null],[20,[\\\"user\\\",\\\"canBeEdited\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"readonly\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"edit\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"edit\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-documents/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\nexport default ModalComponent.extend(datesMixin, {\n\tvehicleID: computed.readOnly('model.options.vehicleID'),\n\ttimestamp: computed.readOnly('model.options.timestamp'),\n\tlocation: computed.readOnly('model.options.location'),\n\tstore: service(),\n\n\tinit() {\n\t\tthis._super(...arguments)\n\n\t\tlet refuel = this.get('store').createRecord('refuel', {\n\t\t\tvehicleID: this.get('vehicleID') ? this.get('vehicleID') : null,\n\t\t\ttimestamp: this.get('timestamp') ? this.get('timestamp') : moment().valueOf(),\n\t\t\tamount: null,\n\t\t\tlocation: this.get('location') ? this.get('location') : null,\n\t\t\tprice: null,\n\t\t\tgroupID: null,\n\t\t\tinvoice: null,\n\t\t\tcreatedAt: null,\n\t\t\tupdatedAt: null,\n\t\t})\n\n\t\tthis.set('refuel', refuel)\n\t},\n\n\tdidInsertElement() {\n\t\t$('form.addFueling')  // form validation\n\t\t\t.form({\n\t\t\t\ton: 'submit',\n\t\t\t\tfields: {\n\t\t\t\t\ttimestamp: {\n\t\t\t\t\t\tidentifier: 'timestamp',\n\t\t\t\t\t\trules: [{\n\t\t\t\t\t\t\ttype: 'empty',\n\t\t\t\t\t\t\tprompt: '<b>{name}</b> trebuie sa aiba o valoare.'\n\t\t\t\t\t\t}]\n\t\t\t\t\t},\n\t\t\t\t\tamount: {\n\t\t\t\t\t\tidentifier: 'amount',\n\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'empty',\n\t\t\t\t\t\t\t\tprompt: '<b>{name}</b> trebuie sa aiba o valoare.'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tprompt: '<b>{name}</b> trebuie sa fie numar.'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t},\n\n\taddFueling() {\n\t\tlet refuel = this.get(\"refuel\")\n\t\tconst companyTS = this.convertDateToCompanyTZ(refuel.get('timestamp'))\n\t\trefuel.set('timestamp', companyTS)\n\t\trefuel.save()\n\t\t\t.then(() => {\n\t\t\t\tthis.send('resolve')\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthis.set('err', err)\n\t\t\t})\n\t},\n\tactions: {\n\t\tsaveFuel() {\n\t\t\t// validate form\n\t\t\tif (!$('form.addFueling').form(\"validate form\")) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.addFueling()\n\t\t}\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"dYL8W3Ji\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal small\\\"],[7],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n        \\\"],[1,[25,\\\"t\\\",[\\\"addFueling\\\"],null],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form addFueling\\\"],[7],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"if\\\",[[20,[\\\"fuelingValues\\\",\\\"location\\\"]],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\",\\\"placeholder\\\",\\\"disabled\\\"],[\\\"text\\\",\\\"location\\\",[20,[\\\"refuel\\\",\\\"location\\\"]],[25,\\\"t\\\",[\\\"reports.headerFields.location\\\"],null],[25,\\\"if\\\",[[20,[\\\"fuelingValues\\\",\\\"location\\\"]],true,false],null]]]],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"if\\\",[[20,[\\\"fuelingValues\\\",\\\"timestamp\\\"]],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"inputs/basic-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"dateFormat\\\",\\\"placeholder\\\",\\\"class\\\",\\\"name\\\"],[[20,[\\\"refuel\\\",\\\"timestamp\\\"]],\\\"DD/MM/YYYY HH:mm\\\",[25,\\\"t\\\",[\\\"reports.headerFields.date\\\"],null],\\\"ui left icon input\\\",\\\"timestamp\\\"]]],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"text\\\",\\\"amount\\\",[20,[\\\"refuel\\\",\\\"amount\\\"]],[25,\\\"t\\\",[\\\"reports.headerFields.fuelLevelDiffLiters\\\"],null]]]],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"text\\\",\\\"price\\\",[20,[\\\"refuel\\\",\\\"price\\\"]],[25,\\\"t\\\",[\\\"reports.headerFields.priceEur\\\"],null]]]],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"text\\\",\\\"invoice\\\",[20,[\\\"refuel\\\",\\\"invoice\\\"]],[25,\\\"t\\\",[\\\"reports.headerFields.invoiceNumber\\\"],null]]]],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui error message\\\"],[7],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"err\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui red message\\\"],[7],[0,\\\"\\\\n                \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n                    \\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.errorsExists\\\"],null],false],[0,\\\"\\\\n                \\\"],[8],[0,\\\"\\\\n                \\\"],[6,\\\"p\\\"],[7],[0,\\\"\\\\n                    \\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.plaseTryAgainLater\\\"],null],false],[0,\\\"\\\\n                \\\"],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n            \\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"saveFuel\\\"]],[7],[0,\\\"\\\\n            \\\"],[1,[25,\\\"t\\\",[\\\"send\\\"],null],false],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-fueling-add/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n\nimport config from 'tracknamic-smb/config/environment'\n\nexport default ModalComponent.extend({\n\tsession: service(),\n\n\tfilters: computed.readOnly('model.options.filters'),\n\n\tfile: null,\n\tresponse: null,\n\tuploadProgress: null,\n\tcompletedRequest: false,\n\tprovider: null,\n\n\tdisabledImportButton: computed('fileName', 'newFileSelected', 'provider', function () {\n\t\treturn !this.get('fileName') || !this.get('newFileSelected') || !this.get('provider')\n\t}),\n\n\tfileName: computed('file', function () {\n\t\tlet file = this.get('file')\n\t\tif (!file) { return null }\n\t\treturn file.name\n\t}),\n\n\tcreated: computed('response.created', function () {\n\t\treturn this.get('response.created')\n\t}),\n\tparsed: computed('response.parsed', function () {\n\t\treturn this.get('response.parsed')\n\t}),\n\tnotCreated: computed('created', 'parsed', function () {\n\t\treturn this.get('parsed') - this.get('created')\n\t}),\n\n\tvehiclesToRefresh: computed('response.refuels', 'filters', function () {\n\t\tlet filters = this.get('filters')\n\t\tif (!this.get('response') || !this.get('response.refuels') || !filters) { return [] }\n\t\tlet vehiclesToRefresh = this.get('response.refuels').filter(refuel => {\n\t\t\tif ((refuel.timestamp > filters.startDate) &&\n\t\t\t\t(refuel.timestamp < filters.endDate) &&\n\t\t\t\t(filters.vehicles.indexOf(refuel.vehicleID) != -1)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})\n\t\treturn vehiclesToRefresh.mapBy('vehicleID')\n\t}),\n\n\tsaveFile() {\n\t\tlet file = this.get('file')\n\t\tif (file) {\n\t\t\tlet url = config.api.host + '/' + config.api.namespace + '/refuels/import'\n\t\t\tconst idToken = this.get('session.data.authenticated.idToken')\n\n\t\t\tlet provider = this.get('provider')\n\t\t\tlet fd = new FormData()\n\t\t\tfd.append('provider', provider)\n\t\t\tfd.append('refuel_file', file)\n\t\t\tlet xhr = new XMLHttpRequest()\n\t\t\txhr.open('POST', url, true)\n\t\t\txhr.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\t\txhr.upload.onprogress = (pe) => {\n\t\t\t\tif (pe.lengthComputable) {\n\t\t\t\t\tlet percentComplete = parseInt((pe.loaded / pe.total) * 100)\n\t\t\t\t\tthis.set('uploadProgress', percentComplete)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.onloadend = (pe) => {\n\t\t\t\ttry {\n\t\t\t\t\tlet response = JSON.parse(pe.target.responseText)\n\t\t\t\t\tif (response.error) {\n\t\t\t\t\t\tthis.set('err', true)\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.set('completedRequest', true)\n\t\t\t\t\t\tthis.set('response', response)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (e) {\n\t\t\t\t\tthis.set('err', true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.send(fd)\n\t\t}\n\t},\n\n\tactions: {\n\t\tselectFile() {\n\t\t\tthis.set('ImportWasClicked', false)\n\t\t\t//trigger the select file input\n\t\t\t$(`input#fuelFile[type='file']`).click()\n\t\t},\n\t\tloadedFile(event) {\n\t\t\tlet file = event.srcElement.files.length ? event.srcElement.files[0] : null\n\t\t\tif (file) {\n\t\t\t\tthis.set('newFileSelected', true)\n\t\t\t\tthis.set('file', file)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set('newFileSelected', false)\n\t\t\t\tthis.set('file', null)\n\t\t\t}\n\t\t},\n\t\tsave() {\n\t\t\tif(this.get('disabledImportButton')) return\n\n\t\t\tthis.set('ImportWasClicked', true)\n\t\t\tthis.set('completedRequest', false)\n\t\t\tthis.set('newFileSelected', false)\n\n\t\t\tthis.saveFile()\n\t\t},\n\t\tclose() {\n\t\t\tlet vehiclesToRefresh = this.get(\"vehiclesToRefresh\")\n\t\t\tif (vehiclesToRefresh.length > 0) {\n\t\t\t\tthis.send('resolve')\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.send('reject')\n\t\t\t}\n\t\t}\n\t}\n})","export default Ember.HTMLBars.template({\"id\":\"6sSDaw/x\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal small\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.fuelLevel.import.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content minHeight340px\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"formContent\\\"],[9,\\\"class\\\",\\\"fixedHeight250\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"section\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"ImportWasClicked\\\"]],[25,\\\"not\\\",[[20,[\\\"completedRequest\\\"]]],null]],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\"small\\\"],null],\\\" fluid button \\\",[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],\\\"teal\\\",\\\"default\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"selectFile\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],\\\"file\\\",\\\"upload\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\" \\\"],[1,[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],[20,[\\\"fileName\\\"]],[25,\\\"t\\\",[\\\"selectFile\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"id\\\",\\\"fuelFile\\\"],[9,\\\"class\\\",\\\"hidden\\\"],[10,\\\"onchange\\\",[25,\\\"action\\\",[[19,0,[]],\\\"loadedFile\\\"],null],null],[9,\\\"accept\\\",\\\".csv,.xls,.xlsx\\\"],[9,\\\"type\\\",\\\"file\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[0,\\\"Provider\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\"],[\\\"selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"provider\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"provider\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"rompetrol\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Rompetrol\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"omv\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"OMV\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"tracknamic\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Tracknamic\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"oscar\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Oscar Downstream\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"cardoil\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Cardoil Avantaj\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"shell\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Shell\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"artoil\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Artoil\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"uta\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"UTA\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"dkv\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"DKV\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"smartdiesel\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Smart Diesel\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"ImportWasClicked\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-progress\\\",null,[[\\\"percent\\\",\\\"class\\\"],[[20,[\\\"uploadProgress\\\"]],[25,\\\"concat\\\",[[25,\\\"if\\\",[[20,[\\\"ImportWasClicked\\\"]],\\\"active\\\"],null],\\\"teal indicating\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"bar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"progress\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"err\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui red message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.errorsExists\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.plaseTryAgainLater\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"completedRequest\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"notCreated\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui green message\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.fuelLevel.import.imported\\\"],[[\\\"value\\\"],[[20,[\\\"created\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui red message\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.fuelLevel.import.notImported\\\"],[[\\\"value\\\"],[[20,[\\\"notCreated\\\"]]]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui green message\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.fuelLevel.import.allImported\\\"],[[\\\"value\\\"],[[20,[\\\"created\\\"]]]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"uploadProgress\\\"]],100],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"pleaseWait\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[1,[25,\\\"t\\\",[\\\"processingFileData\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"close\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"back\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve \\\",[25,\\\"if\\\",[[20,[\\\"disabledImportButton\\\"]],\\\"disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.fuelLevel.import.buttonText\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-fueling-import/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport config from 'tracknamic-smb/config/environment'\nimport scrollingPaddingMixin from 'tracknamic-smb/mixins/scrolling-padding'\n\nexport default ModalComponent.extend(scrollingPaddingMixin, {\n\tsession: service(),\n\n\tshowConfirmationButton: false,\n\tImportWasClicked: false,\n\tnewFileSelected: false,\n\tdeleteOldGeofences: false,\n\tfile: null,\n\tprogress: null,\n\n\tfileName: computed('file', function () {\n\t\tlet file = this.get('file')\n\t\tif (!file) { return null }\n\t\treturn file.name\n\t}),\n\tcreated: computed.readOnly('response.count.created'),\n\tparsed: computed.readOnly('response.count.parsed'),\n\tupdated: computed.readOnly('response.count.updated'),\n\tdeleted: computed.readOnly('response.count.geoAlExNotUp'),\n\tnotCreated: computed('created', 'parsed', 'updated', function () {\n\t\treturn this.get('parsed') - (this.get('created') + this.get('updated'))\n\t}),\n\thasErrors: computed('response.failed', function () {\n\t\treturn this.get('response.failed.length')\n\t}),\n\n\tdidRender() {\n\t\tthis.fixScrollPaddingBySelector('#formContent')\n\t},\n\n\tsaveFile(simulation) {\n\t\tlet file = this.get('file')\n\t\tif (!file) { return false }\n\t\tthis.set('ImportWasClicked', true)\n\t\tthis.set('completedRequest', false)\n\t\tlet url = `${config.api.host}/${config.api.namespace}/geofences/import`\n\t\tconst idToken = this.get('session.data.authenticated.idToken')\n\n\t\tif (simulation) {\n\t\t\turl = `${config.api.host}/${config.api.namespace}/geofences/simulateImport`\n\t\t}\n\n\t\tlet fd = new FormData()\n\t\tfd.append('geofence', file)\n\t\tif (!simulation && this.get('deleteOldGeofences')) {\n\t\t\tfd.append('deleteOldGeofences', true)\n\t\t}\n\t\tlet xhr = new XMLHttpRequest()\n\t\txhr.open('POST', url, true)\n\t\txhr.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\txhr.upload.onprogress = pe => {\n\t\t\tif (pe.lengthComputable) {\n\t\t\t\tlet percentComplete = parseInt((pe.loaded / pe.total) * 100)\n\t\t\t\tthis.set('progress', percentComplete)\n\t\t\t}\n\t\t}\n\t\txhr.onloadend = pe => {\n\t\t\ttry {\n\t\t\t\tlet response = JSON.parse(pe.target.responseText)\n\t\t\t\tthis.set('completedRequest', true)\n\t\t\t\tthis.set('response', response)\n\t\t\t\tif (simulation && response.count.parsed) {\n\t\t\t\t\tthis.set('showConfirmationButton', true)\n\t\t\t\t} else {\n\t\t\t\t\tthis.set('showConfirmationButton', false)\n\t\t\t\t\tthis.set('newFileSelected', false)\n\t\t\t\t\tthis.set('file', null)\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\tthis.set('completedRequest', true)\n\t\t\t\tthis.set('err', true)\n\t\t\t}\n\t\t}\n\t\txhr.send(fd)\n\t},\n\n\tactions: {\n\t\tsimulate() {\n\t\t\tthis.saveFile(true)\n\t\t},\n\t\timportGeofence() {\n\t\t\tthis.saveFile()\n\t\t\t// this.set('showConfirmationButton', false)\n\t\t},\n\t\tloadedFile(element) {\n\t\t\tlet file = element.target.files[0]\n\t\t\tif (file) {\n\t\t\t\tthis.set('newFileSelected', true)\n\t\t\t\tthis.set('showConfirmationButton', false)\n\t\t\t\tthis.set('file', file)\n\t\t\t} else {\n\t\t\t\tthis.set('newFileSelected', false)\n\t\t\t\tthis.set('file', null)\n\t\t\t}\n\t\t},\n\t\tselectFile() {\n\t\t\tthis.set('ImportWasClicked', false)\n\t\t\t//trigger the select file input\n\t\t\t$(`input[type='file']`).click()\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"yJbs3mBU\",\"block\":\"{\\\"symbols\\\":[\\\"record\\\",\\\"error\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal management\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.import.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"c1\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button \\\",[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],\\\"green\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"ImportWasClicked\\\"]],[25,\\\"not\\\",[[20,[\\\"completedRequest\\\"]]],null]],null],\\\"disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"selectFile\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],\\\"file\\\",\\\"upload\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\" \\\"],[1,[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],[20,[\\\"fileName\\\"]],[25,\\\"t\\\",[\\\"selectFile\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"class\\\",\\\"hidden\\\"],[10,\\\"onchange\\\",[25,\\\"action\\\",[[19,0,[]],\\\"loadedFile\\\"],null],null],[9,\\\"accept\\\",\\\".csv,.gpx,.kml\\\"],[9,\\\"type\\\",\\\"file\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"ImportWasClicked\\\"]],[20,[\\\"showConfirmationButton\\\"]],[20,[\\\"deleted\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"c1\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-checkbox\\\",null,[[\\\"label\\\",\\\"checked\\\",\\\"onChange\\\"],[[25,\\\"t\\\",[\\\"management.geofences.deleteOldGeofences\\\"],null],[20,[\\\"deleteOldGeofences\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"deleteOldGeofences\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"doc-button darkGray\\\"],[9,\\\"href\\\",\\\"/assets/templates/geofence.csv\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.import.downloadTemplate\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"doc-button darkGray\\\"],[9,\\\"href\\\",\\\"/assets/templates/geofence-examples.csv\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.import.downloadExamples\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"ImportWasClicked\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"file\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-progress\\\",null,[[\\\"percent\\\",\\\"class\\\"],[[20,[\\\"progress\\\"]],[25,\\\"concat\\\",[[25,\\\"if\\\",[[20,[\\\"ImportWasClicked\\\"]],\\\"active\\\"],null],\\\" teal indicating noMargin\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"bar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"progress\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"err\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[25,\\\"t\\\",[\\\"errors.messages.errorsExists\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[1,[25,\\\"t\\\",[\\\"errors.messages.plaseTryAgainLater\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"completedRequest\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"showConfirmationButton\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"deleted\\\"]],[20,[\\\"deleteOldGeofences\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"warning circle icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.geofences.simulate.deletedGeofencesNumber\\\"],[[\\\"value\\\"],[[20,[\\\"deleted\\\"]]]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message green\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.simulate.importedGeofencesNumber\\\"],[[\\\"value\\\"],[[20,[\\\"created\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message yellow\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.simulate.updatedGeofencesNumber\\\"],[[\\\"value\\\"],[[20,[\\\"updated\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.simulate.notImportedGeofencesNumber\\\"],[[\\\"value\\\"],[[20,[\\\"notCreated\\\"]]]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"deleted\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.import.deletedGeofencesNumber\\\"],[[\\\"value\\\"],[[20,[\\\"deleted\\\"]]]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message green\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.import.importedGeofencesNumber\\\"],[[\\\"value\\\"],[[20,[\\\"created\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message yellow\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.import.updatedGeofencesNumber\\\"],[[\\\"value\\\"],[[20,[\\\"updated\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.import.notImportedGeofencesNumber\\\"],[[\\\"value\\\"],[[20,[\\\"notCreated\\\"]]]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[20,[\\\"notCreated\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"hasErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"ui text red noMargin\\\"],[7],[1,[25,\\\"t\\\",[\\\"errors.messages.errorsExists\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[20,[\\\"response\\\",\\\"failed\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"ul\\\"],[9,\\\"class\\\",\\\"noMargin\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"errors\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"li\\\"],[7],[1,[25,\\\"messages/validation-error\\\",null,[[\\\"error\\\",\\\"namespace\\\"],[[19,2,[]],\\\"poi\\\"]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"progress\\\"]],100],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.import.pleaseWait\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.import.processingGeofences\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"back\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"showConfirmationButton\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"fileName\\\"]]],null],[25,\\\"not\\\",[[20,[\\\"newFileSelected\\\"]]],null]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"importGeofence\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.import.buttonText\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"fileName\\\"]]],null],[25,\\\"not\\\",[[20,[\\\"newFileSelected\\\"]]],null]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"simulate\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.simulate.validateFile\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-geofences-import/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\n\nexport default ModalComponent.extend({\n\ttittle: computed.readOnly('model.options.tittle'),\n\tacceptText: computed.readOnly('model.options.acceptText'),\n\tgroupName: computed.alias('model.options.groupName'),\n\tactions: {\n\t\tok() {\n\t\t\tif (this.get('groupName')) {\n\t\t\t\tthis.send('resolve', this.get('groupName'))\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set('invalidName', true)\n\t\t\t}\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"bnUiQ6qR\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal nabp\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"tittle\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui fluid field input \\\",[25,\\\"if\\\",[[20,[\\\"invalidName\\\"]],\\\"error\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"type\\\",\\\"placeholder\\\"],[[20,[\\\"groupName\\\"]],\\\"text\\\",[25,\\\"t\\\",[\\\"management.groups.groupName\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"ok\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"acceptText\\\"]],[20,[\\\"acceptText\\\"]],\\\"OK\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-group/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n\nimport config from 'tracknamic-smb/config/environment'\n\nexport default ModalComponent.extend({\n\tsession: service(),\n\tcurrentUser: service('current-user'),\n\n\tfilters: computed.readOnly('model.options.filters'),\n\n\tfile: null,\n\tresponse: null,\n\tuploadProgress: null,\n\tcompletedRequest: false,\n\tcompletedOnce: false,\n\n\tfileName: computed('file', function () {\n\t\tlet file = this.get('file')\n\t\tif (!file) { return null }\n\t\treturn file.name\n\t}),\n\n\tparser: computed('currentUser.showReportImportParser', function () {\n\t\tlet showReportImportParser = this.get('currentUser.showReportImportParser')\n\t\treturn showReportImportParser ? 'mega-image' : 'tracknamic'\n\t}),\n\n\tsaveFile() {\n\t\tlet file = this.get('file')\n\t\tif (file) {\n\t\t\tlet url = config.api.host + '/' + config.api.namespace + '/geofences/import/planned'\n\t\t\tconst idToken = this.get('session.data.authenticated.idToken')\n\t\t\tlet parser = this.get('parser')\n\n\t\t\tlet fd = new FormData()\n\t\t\tfd.append('parser', parser)\n\t\t\tfd.append('plan', file)\n\t\t\tlet xhr = new XMLHttpRequest()\n\t\t\txhr.open('POST', url, true)\n\t\t\txhr.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\t\txhr.upload.onprogress = (pe) => {\n\t\t\t\tif (pe.lengthComputable) {\n\t\t\t\t\tlet percentComplete = parseInt((pe.loaded / pe.total) * 100)\n\t\t\t\t\tthis.set('uploadProgress', percentComplete)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.onloadend = (pe) => {\n\t\t\t\ttry {\n\t\t\t\t\tlet response = JSON.parse(pe.target.responseText)\n\t\t\t\t\tif (response.error || pe.target.status != 200) {\n\t\t\t\t\t\tthis.set('err', true)\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.set('completedRequest', true)\n\t\t\t\t\t\tthis.set('completedOnce', true)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (e) {\n\t\t\t\t\tthis.set('err', true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.send(fd)\n\t\t}\n\t},\n\n\tactions: {\n\t\tselectFile() {\n\t\t\tthis.set('ImportWasClicked', false)\n\t\t\t//trigger the select file input\n\t\t\t$(`input#planFile[type='file']`).click()\n\t\t},\n\t\tloadedFile(event) {\n\t\t\tlet file = event.srcElement.files.length ? event.srcElement.files[0] : null\n\t\t\tif (file) {\n\t\t\t\tthis.set('newFileSelected', true)\n\t\t\t\tthis.set('file', file)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set('newFileSelected', false)\n\t\t\t\tthis.set('file', null)\n\t\t\t}\n\t\t},\n\t\tsave() {\n\t\t\tif (!this.get('fileName') || !this.get('newFileSelected')) { return false }\n\t\t\tthis.set('ImportWasClicked', true)\n\t\t\tthis.set('completedRequest', false)\n\t\t\tthis.set('newFileSelected', false)\n\n\t\t\tthis.saveFile()\n\t\t},\n\t\tclose() {\n\t\t\tif (this.get('completedOnce')) {\n\t\t\t\tthis.send('resolve')\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.send('reject')\n\t\t\t}\n\t\t}\n\t}\n})","export default Ember.HTMLBars.template({\"id\":\"xag2ySSz\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal small\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.poi.importPlan.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"formContent\\\"],[9,\\\"class\\\",\\\"fixedHeight250\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"section\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"ImportWasClicked\\\"]],[25,\\\"not\\\",[[20,[\\\"completedRequest\\\"]]],null]],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\"small\\\"],null],\\\" fluid button \\\",[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],\\\"teal\\\",\\\"default\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"selectFile\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],\\\"file\\\",\\\"upload\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\" \\\"],[1,[25,\\\"if\\\",[[20,[\\\"fileName\\\"]],[20,[\\\"fileName\\\"]],[25,\\\"t\\\",[\\\"selectFile\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"id\\\",\\\"planFile\\\"],[9,\\\"class\\\",\\\"hidden\\\"],[10,\\\"onchange\\\",[25,\\\"action\\\",[[19,0,[]],\\\"loadedFile\\\"],null],null],[9,\\\"accept\\\",\\\".csv,.xls,.xlsx\\\"],[9,\\\"type\\\",\\\"file\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"showReportImportParser\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"selection\\\",[20,[\\\"parser\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"parser\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[0,\\\"Format\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"tracknamic\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Tracknamic\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"mega-image\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"Mega-Image\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"two wide fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"ui fluid \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\"small\\\"],null],\\\" button grey\\\"]]],[10,\\\"href\\\",[26,[\\\"/assets/templates/poi-plan-template-\\\",[18,\\\"parser\\\"],\\\".xlsx\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.import.downloadTemplate\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"ui fluid \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\"small\\\"],null],\\\" button grey\\\"]]],[10,\\\"href\\\",[26,[\\\"/assets/templates/poi-plan-example-\\\",[18,\\\"parser\\\"],\\\".xlsx\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.import.downloadExamples\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"ImportWasClicked\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-progress\\\",null,[[\\\"percent\\\",\\\"class\\\"],[[20,[\\\"uploadProgress\\\"]],[25,\\\"concat\\\",[[25,\\\"if\\\",[[20,[\\\"ImportWasClicked\\\"]],\\\"active\\\"],null],\\\"teal indicating\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"bar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"progress\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"err\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui red message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.errorsExists\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.checkFileAndTryAgain\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"completedRequest\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui green message\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.poi.importPlan.allImported\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"uploadProgress\\\"]],100],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"pleaseWait\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[1,[25,\\\"t\\\",[\\\"processingFileData\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"close\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"back\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"fileName\\\"]]],null],[25,\\\"not\\\",[[20,[\\\"newFileSelected\\\"]]],null]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.fuelLevel.import.buttonText\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-plans-import/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\n\nexport default ModalComponent.extend({\n\tnewGeofence: computed.alias('model.options.newGeofence'),\n\texternalIDs: computed.readOnly('model.options.externalIDs'),\n\n\tvalidNewGeofence: computed('newGeofence', 'newGeofence.name', 'invalidExternalID', function () {\n\t\tlet newGeofence = this.get('newGeofence')\n\t\tlet invalidExternalID = this.get('invalidExternalID')\n\t\tif (!newGeofence || !newGeofence.get('fullName') || invalidExternalID) { return false }\n\t\treturn true\n\t}),\n\n\tinvalidExternalID: computed('newGeofence.externalID', 'externalIDs', function () {\n\t\tlet externalID = this.get('newGeofence.externalID')\n\t\tlet externalIDS = this.get('externalIDs')\n\t\tif (!externalID) { return false }\n\t\tif (externalIDS.length) {\n\t\t\texternalIDS = externalIDS.uniq()\n\t\t\tif (externalIDS.indexOf(externalID) != -1) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}),\n\n\tactions: {\n\t\tok() {\n\t\t\tif (this.get('validNewGeofence')) {\n\t\t\t\tthis.send('resolve')\n\t\t\t}\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"zhNGro/0\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal mini\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.new.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field\\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"newGeofence\\\",\\\"name\\\"]]],null],\\\" error\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.name\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"autocomplete\\\"],[[20,[\\\"newGeofence\\\",\\\"name\\\"]],\\\"off\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field\\\",[25,\\\"if\\\",[[20,[\\\"invalidExternalID\\\"]],\\\" error\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.geofences.externalID\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"autocomplete\\\"],[[20,[\\\"newGeofence\\\",\\\"externalID\\\"]],\\\"off\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"validNewGeofence\\\"]]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"ok\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"ok\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-poi/template.hbs\"}});","import QRCode from 'qrcode'\nimport * as htmlToImage from 'html-to-image'\nimport ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\n\nexport default ModalComponent.extend({\n\tvehicleID: computed.readOnly('model.options.id'),\n\thasUser: computed.readOnly('model.options.hasUser'),\n\tlicensePlate: computed.readOnly('model.options.licensePlate'),\n\n\timage: null,\n\n\tinit () {\n\t\tthis._super(...arguments)\n\t\tconst id = this.get('vehicleID')\n\t\tconst options = {\n\t\t\tmargin: 1,\n\t\t\tversion: 5,\n\t\t\tscale: 10,\n\t\t\tcolor: {\n\t\t\t\tdark: '#000',\n\t\t\t\tlight: '#FFDC36'\n\t\t\t}\n\t\t}\n\n\t\tQRCode.toDataURL(id, options)\n\t\t\t.then(url => {\n\t\t\t\tthis.set('image', url)\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\tconsole.error(err)\n\t\t\t})\n\t},\n\n\tclick() {\n\t\tthis.send('reject')\n\t},\n\n\tactions: {\n\t\tgenerate(){\n\t\t\tthis.send('resolve', this.get('vehicleID'))\n\t\t},\n\t\tsave() {\n\t\t\tconst lp = this.get('licensePlate')\n\t\t\tconst node = document.querySelector('.dc-modal.qr')\n\t\t\tif (!node) return\n\n\t\t\tconst clone = node.parentElement.cloneNode(true)\n\t\t\tclone.id = 'qr-clone'\n\t\t\tclone.setAttribute('data-id', 'qr-clone-data-id')\n\t\t\tclone.classList.add('invisible')\n\n\t\t\tconst qr = clone.lastElementChild\n\t\t\tqr.removeChild(qr.lastElementChild)\n\n\t\t\tnode.parentElement.parentElement.appendChild(clone)\n\n\t\t\thtmlToImage.toBlob(qr)\n\t\t\t\t.then(function (blob) {\n\t\t\t\t\tlet link = document.createElement('a')\n\t\t\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\t\t\tlink.download = `QR-${lp}.png`\n\t\t\t\t\tlink.className = 'hidden'\n\t\t\t\t\tdocument.body.appendChild(link)\n\t\t\t\t\tlink.click()\n\t\t\t\t\tclone.remove()\n\t\t\t\t})\n\t\t},\n\t\tprint () {\n\t\t\tconst node = document.querySelector('.dc-modal.qr')\n\t\t\tif (!node) return\n\n\t\t\tconst clone = node.parentElement.cloneNode(true)\n\t\t\tclone.id = 'qr-clone'\n\t\t\tclone.setAttribute('data-id', 'qr-clone-data-id')\n\t\t\tclone.classList.add('invisible')\n\n\t\t\tconst qr = clone.lastElementChild\n\t\t\tqr.removeChild(qr.lastElementChild)\n\n\t\t\tnode.parentElement.parentElement.appendChild(clone)\n\n\t\t\thtmlToImage.toBlob(qr)\n\t\t\t\t.then(function (blob) {\n\t\t\t\t\tlet urlCreator = window.URL || window.webkitURL\n\t\t\t\t\tlet imageUrl = urlCreator.createObjectURL(blob)\n\n\t\t\t\t\tlet imgHtml=\"<img style='padding:50px 50px;display:block;margin-left:auto;margin-right:auto;width:400px;height:auto;' src=\" + imageUrl + \"></img>\"\n\n\t\t\t\t\tlet WindowObject = window.open('', 'PrintWindow', 'width=1000,height=600,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes')\n\t\t\t\t\tlet strHtml = \"<html>\\n<head>\\n</head><body onload='window.print();window.close()'><div style='display:grid;place-items:center;'>\\n\" + imgHtml + \"\\n</div>\\n</body>\\n</html>\"\n\n\t\t\t\t\tWindowObject.document.writeln(strHtml)\n\t\t\t\t\tWindowObject.document.close()\n\t\t\t\t\tWindowObject.focus()\n\t\t\t\t\tclone.remove()\n\t\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"9a5OXt0d\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal qr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"hasUser\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"qr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"image\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[10,\\\"src\\\",[18,\\\"image\\\"],null],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"licensePlate\\\"],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header noBorder\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"licensePlate\\\"],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"hasUser\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button transparent icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"],[[\\\"bubbles\\\"],[false]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon pointer\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button\\\"],[7],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button transparent icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"print\\\"],[[\\\"bubbles\\\"],[false]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"print icon pointer\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"generate\\\"],[[\\\"bubbles\\\"],[false]]],[7],[1,[25,\\\"t\\\",[\\\"generate\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-qr/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nexport default ModalComponent.extend({\n\ti18n: service(),\n\tapi: service(),\n\n\tloading: false,\n\n\trelayState: computed.readOnly('model.options.relayState'),\n\tvehicleID: computed.readOnly('model.options.vehicleID'),\n\n\ttittle: computed('relayState', function () {\n\t\treturn this.get('i18n').t(`management.vehicles.relayContact.${this.get('relayState')}.title`)\n\t}),\n\tcontent: computed('relayState', function () {\n\t\treturn this.get('i18n').t(`management.vehicles.relayContact.${this.get('relayState')}.confirm`)\n\t}),\n\n\tmakeRequest() {\n\t\tlet vehicleID = this.get('vehicleID')\n\t\tconst relayState = this.get('relayState')\n\t\tlet url = `/vehicles/${vehicleID}/relay`\n\t\tthis.set('loading', true)\n\t\tthis.get('api').put(\n\t\t\turl, {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { state: relayState }\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.set('loading', false)\n\t\t\t\tthis.toast.clear()\n\t\t\t\tthis.send('resolve')\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.set('loading', false)\n\t\t\t\tthis.toast.error(this.get('i18n').t('errors.relay'), '', { timeOut: 0, extendedTimeOut: 0 })\n\t\t\t})\n\t},\n\n\tactions: {\n\t\tsave() {\n\t\t\tif (this.get('loading')) { return false }\n\t\t\tthis.makeRequest()\n\t\t},\n\t\tcancel() {\n\t\t\tif (this.get('loading')) { return false }\n\t\t\tthis.toast.clear()\n\t\t\tthis.send('reject')\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"BRLIJYcu\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal mini\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"info warning circle icon\\\"],[7],[8],[1,[18,\\\"tittle\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"description\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"content\\\"],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"(\\\"],[1,[25,\\\"t\\\",[\\\"messages.operationMayTake5min\\\"],null],false],[0,\\\")\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button deny\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled icon\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"ok\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-relay/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nexport default ModalComponent.extend({\n\tstore: service(),\n\ti18n: service(),\n\tcurrentUser: service('current-user'),\n\n\treadonly: computed.alias('model.options.readonly'),\n\trole: computed.alias('model.options.role'),\n\n\tdisableAclGroupsVehicles: computed('role.type', function () {\n\t\treturn this.get('role.type') === 'admin'\n\t}),\n\taclGroupsVehiclesError: computed('role.acl.groups.@each', 'role.acl.vehicles.@each', function () {\n\t\tif ((this.get('role.acl.groups') && this.get('role.acl.groups.length')) || (this.get('role.acl.vehicles') && this.get('role.acl.vehicles.length')))\n\t\t\treturn false\n\t\treturn true\n\t}),\n\terrors: computed('aclGroupsVehiclesError', 'role.name', function () {\n\t\tlet message = ''\n\t\tif (!this.get('role.name'))\n\t\t\tmessage += '- ' + this.get('i18n').t('management.roles.needName')\n\t\tif (this.get('aclGroupsVehiclesError'))\n\t\t\tmessage += '\\n- ' + this.get('i18n').t('management.roles.requiredAtLeastOneGroupOrOneVehicle')\n\t\treturn message\n\t}),\n\n\tinit() {\n\t\tthis._super(...arguments)\n\n\t\tthis.set('vehicles', this.get('store').peekAll('vehicle'))\n\t\tthis.set('groups', this.get('store').peekAll('group'))\n\n\t\t// if role is admin and currentUser is manager, disable edit\n\t\tif (!this.get('role.isNew') && this.get('role.type') === 'admin' && !this.get('currentUser.isAdmin'))\n\t\t\tthis.set('disableEdit', true)\n\t},\n\n\tremoveSubCategoriesPages() { // adapt from fron-end to api\n\t\t// 1 if category is selected. remove all childs\n\t\tlet selectedPages = this.get('role.acl.pages').toArray()\n\t\tlet categories = selectedPages.filter(pag => {\n\t\t\tif (pag.indexOf('.') != -1)\n\t\t\t\treturn false\n\t\t\treturn true\n\t\t})\n\t\tif (categories.length) { // remove childs for each category\n\t\t\tcategories.forEach(cat => {\n\t\t\t\tlet childs = selectedPages.filter(pag => {\n\t\t\t\t\tif (pag.indexOf(`${cat}.`) === 0)\n\t\t\t\t\t\treturn true\n\t\t\t\t\treturn false\n\t\t\t\t})\n\t\t\t\tchilds.forEach(child => {\n\t\t\t\t\tselectedPages.splice(selectedPages.indexOf(child), 1)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t\treturn selectedPages\n\t},\n\n\tactions: {\n\t\tchangeRole(type) {\n\t\t\tlet companyID = this.get('currentUser.companyID')\n\t\t\tthis.get('role').set('type', type)\n\t\t\tthis.get('role.acl').set('groups', [companyID])\n\t\t\tthis.get('role.acl').set('vehicles', [])\n\t\t},\n\t\tcancel() {\n\t\t\tif (this.get('loading')) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet role = this.get('role')\n\t\t\tif (role.get('hasDirtyAttributes'))\n\t\t\t\trole.rollbackAttributes()\n\t\t\tthis.send('reject')\n\t\t},\n\t\tedit() {\n\t\t\tthis.toggleProperty('readonly')\n\t\t},\n\t\tsave() {\n\t\t\tif (this.get('loading') || this.get('errors')) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet role = this.get('role')\n\t\t\tthis.set('loading', true)\n\t\t\tlet aclPagesWithoutSubPages = this.removeSubCategoriesPages()\n\t\t\trole.set('acl.pages', aclPagesWithoutSubPages)\n\t\t\tthis.toast.remove()\n\t\t\trole.save()\n\t\t\t\t.then(() => {\n\t\t\t\t\t// if the role is the currentUser role. then wait to seconds and reload the user.\n\t\t\t\t\tif (role.get('id') && this.get('currentUser.user.roleID') === role.get('id')) {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tthis.get('currentUser.user').reload().then(() => {\n\t\t\t\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\t\t\t\tthis.send('resolve')\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}, 2000)\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\t\tthis.send('resolve')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"KcuCA8+E\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal h330\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[20,[\\\"role\\\",\\\"isNew\\\"]],\\\"management.roles.new\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"management.roles.view\\\",\\\"management.roles.edit\\\"],null]],null]],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field\\\",[25,\\\"unless\\\",[[20,[\\\"role\\\",\\\"name\\\"]],\\\" error\\\"],null]]]],[10,\\\"title\\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"role\\\",\\\"name\\\"]]],null],[25,\\\"t\\\",[\\\"management.roles.needName\\\"],null]],null],null],[7],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"name\\\"],null],[20,[\\\"role\\\",\\\"name\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"role\\\",\\\"type\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"changeRole\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.role\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"isAdmin\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"admin\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.admin\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"role\\\",\\\"isNew\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item disabled\\\"],[9,\\\"data-value\\\",\\\"admin\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.admin\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"manager\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.manager\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"driver\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.driver\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"partner\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.partner\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[10,\\\"title\\\",[25,\\\"if\\\",[[20,[\\\"aclGroupsVehiclesError\\\"]],[25,\\\"t\\\",[\\\"management.roles.requiredAtLeastOneGroupOrOneVehicle\\\"],null]],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/acl-grp-veh\\\",null,[[\\\"acl\\\",\\\"groups\\\",\\\"vehicles\\\",\\\"readonly\\\"],[[20,[\\\"role\\\",\\\"acl\\\"]],[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"or\\\",[[20,[\\\"disableAclGroupsVehicles\\\"]],[20,[\\\"readonly\\\"]]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/acl-pages\\\",null,[[\\\"type\\\",\\\"selectedPages\\\",\\\"readonly\\\"],[[20,[\\\"role\\\",\\\"type\\\"]],[20,[\\\"role\\\",\\\"acl\\\",\\\"pages\\\"]],[20,[\\\"readonly\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button deny\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[25,\\\"or\\\",[[20,[\\\"role\\\",\\\"isUserRole\\\"]],[20,[\\\"disableEdit\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"readonly\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"edit\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"edit\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"loading\\\"]],[20,[\\\"errors\\\"]]],null],\\\" disabled\\\"],null],[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" icon\\\"],null]]]],[10,\\\"title\\\",[18,\\\"errors\\\"],null],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-role/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\n/* global validator */\n\nexport default ModalComponent.extend({\n\temail: null,\n\tinterval: 5,\n\tvalidDate: computed.readOnly('model.options.validDate'),\n\tvalidEmail: computed('email', function () {\n\t\treturn this.get('email') ? validator.isEmail(this.get('email')) : false\n\t}),\n\tactions: {\n\t\tsave() {\n\t\t\tif (!this.get('validDate') || !this.get('validEmail')) { return }\n\t\t\tthis.send('resolve', { email: this.get('email'), interval: this.get('interval') })\n\t\t}\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"qy7qF29w\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal mini\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"messages.generatingRoteDetailedReport\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"validDate\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"unless\\\",[[20,[\\\"validEmail\\\"]],\\\"error\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"email\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"insertEmailAddress\\\"],null],[20,[\\\"email\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"granularity\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"selection\\\",[20,[\\\"interval\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"interval\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"granularity\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"1\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"1 min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"5\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"5 min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"15\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"15 min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"30\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"30 min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"data-value\\\",\\\"60\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"60 min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"messages.invalidIntervalMax3Days\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"validDate\\\"]]],null],[25,\\\"not\\\",[[20,[\\\"validEmail\\\"]]],null]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"ok\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-route-detailed/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\nexport default ModalComponent.extend(datesMixin, {\n\tapi: service(),\n\n\tvehicleID: computed.readOnly('model.options.vehicleID'),\n\ttimestamp: computed.readOnly('model.options.timestamp'),\n\tlocation: computed.readOnly('model.options.location'),\n\n\tsupportedPurposesOptions: null,\n\tstationaryPurpose: null,\n\n\tinit () {\n\t\tthis._super(...arguments)\n\n\t\tthis.set('supportedPurposesOptions', [\n\t\t\t{ value: 'load', text: this.get('i18n').t('dispatch.route.waypoints.types.load') },\n\t\t\t{ value: 'unload', text: this.get('i18n').t('dispatch.route.waypoints.types.unload') },\n\t\t])\n\t},\n\n\taddStoppingPurpose () {\n\t\tconst purpose = {\n\t\t\tvehicleID: this.get('vehicleID'),\n\t\t\ttimestamp: this.convertDateToCompanyTZ(this.get('timestamp')),\n\t\t\tstationaryPurpose: this.get('stationaryPurpose'),\n\t\t}\n\t\tthis.get('api').post('stationaryPurposes', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { stationaryPurpose: purpose },\n\t\t})\n\t\t\t.then(res => {\n\t\t\t\tthis.set('data', res)\n\t\t\t\tthis.send('resolve')\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthis.set('err', err)\n\t\t\t})\n\t},\n\tactions: {\n\t\tsaveStoppingPurpose () {\n\t\t\tif (!this.get('stationaryPurpose')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.addStoppingPurpose()\n\t\t},\n\t\tchangePurpose (purpose) {\n\t\t\tthis.set('stationaryPurpose', purpose?.value)\n\t\t}\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"+7BFcr7D\",\"block\":\"{\\\"symbols\\\":[\\\"purpose\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal small\\\"],[7],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n        \\\"],[1,[25,\\\"t\\\",[\\\"addStoppingPurpose\\\"],null],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form addStoppingPurpose\\\"],[7],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field disabled\\\"],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"text\\\",\\\"location\\\",[20,[\\\"location\\\"]],[25,\\\"t\\\",[\\\"reports.headerFields.location\\\"],null]]]],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field disabled\\\"],[7],[0,\\\"\\\\n                \\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"text\\\",\\\"timestamp\\\",[25,\\\"moment-format\\\",[[20,[\\\"timestamp\\\"]],\\\"DD/MM/YYYY HH:mm:ss\\\"],null]]]],false],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"onchange\\\"],[\\\"dark\\\",\\\"padded dark wide\\\",[20,[\\\"supportedPurposesOptions\\\"]],[25,\\\"find-by\\\",[\\\"value\\\",[20,[\\\"stationaryPurpose\\\"]],[20,[\\\"supportedPurposesOptions\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],\\\"changePurpose\\\"],null]]],{\\\"statements\\\":[[0,\\\"                    \\\"],[1,[19,1,[\\\"text\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"            \\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"err\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui red message\\\"],[7],[0,\\\"\\\\n                \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n                    \\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.errorsExists\\\"],null],false],[0,\\\"\\\\n                \\\"],[8],[0,\\\"\\\\n                \\\"],[6,\\\"p\\\"],[7],[0,\\\"\\\\n                    \\\"],[1,[25,\\\"t\\\",[\\\"errors.messages.plaseTryAgainLater\\\"],null],false],[0,\\\"\\\\n                \\\"],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n            \\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"saveStoppingPurpose\\\"]],[7],[0,\\\"\\\\n            \\\"],[1,[25,\\\"t\\\",[\\\"send\\\"],null],false],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-stationary-purpose-add/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { equal } from '@ember/object/computed'\nimport { inject as service } from '@ember/service'\n\nexport default ModalComponent.extend({\n\tsession: service(),\n\tmodal: service(),\n\tstore: service(),\n\tapi: service(),\n\ti18n: service(),\n\n\tvehicles: computed.alias('model.options.vehicles'),\n\tgroups: computed.alias('model.options.groups'),\n\tusers: computed.alias('model.options.users'),\n\n\tresponse: null,\n\tselectedVehicle: null,\n\tselectedDriver: null,\n\ttype: null,\n\n\tvehicleObj: computed('selectedVehicle', 'selectedDriver', function () {\n\t\tconst selectedVehicle = this.get('selectedVehicle')\n\t\tconst selectedDriver = this.get('selectedDriver')\n\t\tif (!selectedDriver && !selectedVehicle) return null\n\t\tconst vehicles = this.get('vehicles')\n\n\t\tconst vehicleFound = vehicles.find(vehicle =>\n\t\t\t(selectedVehicle && vehicle.get('id') === selectedVehicle.get('id')) || \n\t\t\t(selectedDriver && vehicle.get('data.status.tacho.driver1.card') === selectedDriver.get('data.details.tachoCardID')) || \n\t\t\t(selectedDriver && vehicle.get('data.status.tacho.driver2.card') === selectedDriver.get('data.details.tachoCardID'))\n\t\t)\n\t\t\n\t\tif(vehicleFound && selectedDriver) {\n\t\t\tif(vehicleFound.get('status.tacho.driver1.card') === selectedDriver.get('data.details.tachoCardID')) {\n\t\t\t\tvehicleFound.cardSlot = 1\n\t\t\t} else if(vehicleFound.get('status.tacho.driver2.card') === selectedDriver.get('data.details.tachoCardID')) {\n\t\t\t\tvehicleFound.cardSlot = 2\n\t\t\t}\n\t\t}\n\n\t\treturn vehicleFound\n\t}),\n\n\terrorCode: computed('selectedVehicle', 'selectedDriver', function () {\n\t\tconst vehicle = this.get('vehicleObj')\n\n\t\t// Must have vehicle with ignition on\n\t\tif (!vehicle || !vehicle.get('data.status.engineState')) { return 1 }\n\t\t\n\t\t// Must have vehicle with tacho installed\n\t\tif (vehicle.get('data.status.tacho.odometer') <= 0) { return 2 }\n\n\t\t// The selected vehicle should have VIN set\n\t\tif (this.get('selectedVehicle') && !vehicle.get('vin')) { return 3 }\n\n\t\treturn 0\n\t}),\n\terror: computed('errorCode', function () {\n\t\tswitch (this.get('errorCode')) {\n\t\t\tcase 1:\n\t\t\t\treturn this.get('i18n').t('reports.headerFields.specific.tachoFiles.downloadRequest.errors.1')\n\t\t\tcase 2:\n\t\t\t\treturn this.get('i18n').t('reports.headerFields.specific.tachoFiles.downloadRequest.errors.2')\n\t\t\tcase 3:\n\t\t\t\treturn this.get('i18n').t('reports.headerFields.specific.tachoFiles.downloadRequest.errors.3')\n\t\t\tcase 4:\n\t\t\t\treturn this.get('i18n').t('reports.headerFields.specific.tachoFiles.downloadRequest.errors.4')\n\t\t}\n\t}),\n\tallowRequest: equal('errorCode', 0),\n\n\tnothingSelected: computed('selectedVehicle', 'selectedDriver', function () {\n\t\tif (!this.get('selectedVehicle') && !this.get('selectedDriver')) return true\n\t}),\n\n\tdisableSaveButton: computed('allowRequest', 'nothingSelected', function () {\n\t\tif (!this.get('allowRequest') || this.get('nothingSelected')) return true\n\t}),\n\n\tactions: {\n\t\tselectVehicle (option) {\n\t\t\tthis.set('selectedVehicle', option)\n\t\t\tthis.set('type', 'vehicle')\n\t\t},\n\t\tselectDriver (option) {\n\t\t\tthis.set('selectedDriver', option)\n\t\t\tthis.set('type', 'driver')\n\t\t},\n\t\tsave () {\n\t\t\tif (this.get('nothingSelected')) return\n\t\t\tconst api = this.get('api')\n\t\t\tconst vehicleId = this.get('vehicleObj.id')\n\t\t\tconst idToken = api.get('session.data.authenticated.idToken')\n\t\t\tif (!idToken || !vehicleId) { return false }\n\n\t\t\tapi.post(`vehicles/${vehicleId}/tacho`, {\n\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: { \n\t\t\t\t\ttype: this.get('type'),\n\t\t\t\t\tcardSlot: this.get('vehicleObj.cardSlot')\n\t\t\t\t},\n\t\t\t}).then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('reports.headerFields.specific.tachoFiles.downloadRequest.success'))\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif(error.status=== 429) {\n\t\t\t\t\t\tif(error.payload.message === 'Vehicle limit reached') { this.toast.error(this.get('i18n').t('reports.headerFields.specific.tachoFiles.downloadRequest.errors.vehicleLimitReached')) }\n\t\t\t\t\t\telse if(error.payload.message === 'Download limit reached') {this.toast.error(this.get('i18n').t('reports.headerFields.specific.tachoFiles.downloadRequest.errors.downloadLimitReached'))}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t\tclose() {\n\t\t\tthis.send('resolve')\n\t\t}\n\t}\n})","export default Ember.HTMLBars.template({\"id\":\"Kh+32UG8\",\"block\":\"{\\\"symbols\\\":[\\\"driver\\\",\\\"vehicle\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal small w500\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoFiles.downloadRequest.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content minHeight340px\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"formContent\\\"],[9,\\\"class\\\",\\\"fixedHeight250\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"warning-div\\\"],[7],[6,\\\"img\\\"],[9,\\\"src\\\",\\\"/assets/images/icon-warning-yellow.svg\\\"],[7],[8],[6,\\\"p\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoFiles.downloadRequest.warning\\\"],null],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"modal-dropdown-container\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"disabled\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"allowClear\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"selectVehicle\\\"],null],[25,\\\"not-eq\\\",[[20,[\\\"selectedDriver\\\"]],null],null],\\\"semantic\\\",\\\"padded sticky dark wide\\\",[20,[\\\"vehicles\\\"]],[20,[\\\"selectedVehicle\\\"]],\\\"true\\\",\\\"licensePlate\\\",[25,\\\"action\\\",[[19,0,[]],\\\"selectVehicle\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"modal-dropdown-container\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"disabled\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"allowClear\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"management.vehicles.selectDriver\\\"],null],[25,\\\"not-eq\\\",[[20,[\\\"selectedVehicle\\\"]],null],null],\\\"semantic\\\",\\\"padded sticky dark wide\\\",[20,[\\\"users\\\"]],[20,[\\\"selectedDriver\\\"]],\\\"true\\\",\\\"fullName\\\",[25,\\\"action\\\",[[19,0,[]],\\\"selectDriver\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"fullName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"errorCode\\\"]],[25,\\\"not\\\",[[20,[\\\"nothingSelected\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message yellow\\\"],[7],[1,[18,\\\"error\\\"],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"close\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"back\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve \\\",[25,\\\"if\\\",[[20,[\\\"disableSaveButton\\\"]],\\\"disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoFiles.downloadRequest.buttonText\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-tacho-download/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport config from 'tracknamic-smb/config/environment'\nimport scrollingPaddingMixin from 'tracknamic-smb/mixins/scrolling-padding'\n\nexport default ModalComponent.extend(scrollingPaddingMixin, {\n\tsession: service(),\n\n\tshowConfirmationButton: false,\n\tImportWasClicked: false,\n\tnewFileSelected: false,\n\tdeleteOldGeofences: false,\n\tfile: null,\n\tprogress: null,\n\n\tfileName: computed('file', function () {\n\t\tlet file = this.get('file')\n\t\tif (!file) { return null }\n\t\treturn file.name\n\t}),\n\n\tinit() {\n\t\tthis._super(...arguments)\n\t\tthis.set('timezones', moment.tz.names())\n\t\tthis.set('timezone', 'Europe/Bucharest')\n\t},\n\n\tresetValues() {\n\t\tthis.set('completedRequest', false)\n\t\tthis.set('allSuccessful', null)\n\t\tthis.set('allFailed', null)\n\t\tthis.set('created', null)\n\t\tthis.set('failed', null)\n\t\tthis.set('errors', null)\n\t},\n\n\tsaveFile() {\n\t\tlet file = this.get('file')\n\t\tlet timezone = this.get('timezone')\n\t\tif (!file || !timezone) { return false }\n\n\t\tlet url = `${config.api.host}/${config.api.namespace}/timetables/import`\n\t\tconst idToken = this.get('session.data.authenticated.idToken')\n\n\t\tlet fd = new FormData()\n\t\tfd.append('timetables_file', file)\n\t\tfd.append('timezone', timezone)\n\n\t\tlet xhr = new XMLHttpRequest()\n\t\txhr.open('POST', url, true)\n\t\txhr.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\txhr.upload.onprogress = pe => {\n\t\t\tif (pe.lengthComputable) {\n\t\t\t\tlet percentComplete = parseInt((pe.loaded / pe.total) * 100)\n\t\t\t\tthis.set('progress', percentComplete)\n\t\t\t}\n\t\t}\n\n\t\txhr.onloadend = (pe) => {\n\t\t\ttry {\n\t\t\t\tthis.set('completedRequest', true)\n\t\t\t\tvar response = JSON.parse(pe.target.responseText)\n\t\t\t\tif (response.parsed && !response.failed) { // case 1 - all corrects\n\t\t\t\t\tthis.set('allSuccessful', response.parsed)\n\t\t\t\t}\n\t\t\t\telse if (!response.parsed) { // case 2 - all failed\n\t\t\t\t\tthis.set('allFailed', true)\n\t\t\t\t}\n\t\t\t\telse if (response.parsed && response.failed) { // case 3 - some corects some failed\n\t\t\t\t\tthis.set('created', response.created)\n\t\t\t\t\tthis.set('failed', response.failed.length)\n\t\t\t\t}\n\t\t\t\tif (response.error) {\n\t\t\t\t\tthis.set('errors', response.error)\n\t\t\t\t} else {\n\t\t\t\t\tthis.set('file', null)\n\t\t\t\t\tif (response.failed) {\n\t\t\t\t\t\tthis.set('errors', response.failed)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\tthis.set('allFailed', true)\n\t\t\t\tthis.set('completedRequest', true)\n\t\t\t\tthis.set('err', true)\n\t\t\t}\n\t\t}\n\t\tthis.resetValues()\n\t\txhr.send(fd)\n\t},\n\n\tactions: {\n\t\tsave() {\n\t\t\tthis.saveFile()\n\t\t},\n\t\tselectFile(event) {\n\t\t\tthis.resetValues()\n\t\t\tlet file = event.target.files[0]\n\t\t\tif (file) {\n\t\t\t\tthis.set('file', file)\n\t\t\t} else {\n\t\t\t\tthis.set('file', null)\n\t\t\t}\n\t\t},\n\t}\n})","export default Ember.HTMLBars.template({\"id\":\"JxPfsZkg\",\"block\":\"{\\\"symbols\\\":[\\\"error\\\",\\\"message\\\",\\\"tz\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal management\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"timezone\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"name\\\",\\\"class\\\",\\\"fullTextSearch\\\",\\\"selected\\\"],[\\\"ddTimezone\\\",\\\"ddTimezone\\\",[25,\\\"concat\\\",[\\\"ui dropdown fluid search selection \\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"disabled\\\"],null]],null],\\\"exact\\\",[20,[\\\"timezone\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"timezone\\\",[20,[\\\"timezone\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"class\\\"],[[20,[\\\"readonly\\\"]],\\\"search\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"timezone\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"timezones\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,3,[]]]]],[7],[1,[19,3,[]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.addCsv\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[9,\\\"class\\\",\\\"ui fluid button deny bordered noMargin\\\"],[9,\\\"tabindex\\\",\\\"0\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"fileName\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"fileName\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.browse\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"class\\\",\\\"hidden\\\"],[10,\\\"onchange\\\",[25,\\\"action\\\",[[19,0,[]],\\\"selectFile\\\"],null],null],[9,\\\"accept\\\",\\\".csv\\\"],[9,\\\"type\\\",\\\"file\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"ui fluid button darkGray\\\"],[9,\\\"href\\\",\\\"/assets/templates/timetable.csv\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.downloadTemplate\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"ui fluid button darkGray\\\"],[9,\\\"href\\\",\\\"/assets/templates/timetable-example.csv\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.downloadExample\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"completedRequest\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"allSuccessful\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message green\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.allImported\\\"],[[\\\"value\\\"],[[20,[\\\"allSuccessful\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"allFailed\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.noneImported\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message green\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.importedNumber\\\"],[[\\\"value\\\"],[[20,[\\\"created\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.notImportedNumber\\\"],[[\\\"value\\\"],[[20,[\\\"failed\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[20,[\\\"errors\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.errors.message\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"errors\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-message red\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,1,[\\\"licensePlate\\\"]],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"messages\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"messages/validation-error\\\",null,[[\\\"error\\\",\\\"namespace\\\"],[[19,2,[]],\\\"timetable\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve \\\",[25,\\\"unless\\\",[[20,[\\\"fileName\\\"]],\\\"disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-timetables-import/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\nimport RSVP from 'rsvp'\n\nexport default ModalComponent.extend({\n\tuserValidationSchema: service('user-validation-schema'),\n\tformValidate: service('form-validate'),\n\tcurrentUser: service('current-user'),\n\tmodal: service(),\n\tstore: service(),\n\tapi: service(),\n\ti18n: service(),\n\tdisabledRoleEditing: false, // currentUser can't edit his role or acl.\n\n\tusedMaintenancesTypes: computed('maintenances.[]', function () {\n\t\treturn this.get('maintenances').rejectBy('isStandard').mapBy('type')\n\t}),\n\n\taddingMaintenanceInProgress: computed('allMaintenances.[]', function () {\n\t\treturn this.get('allMaintenances').isAny('isNew', true)\n\t}),\n\n\tmaintenances: computed('allMaintenances.@each.type', function () {\n\t\tif (!this.get('allMaintenances') || !this.get('allMaintenances').length) return []\n\t\tlet standardMaintenances = this.get('allMaintenances').filter(main => { // standard maintenances\n\t\t\tif (main.get('scope') === 'user' && (main.get('isStandard') || main.get('isNew'))) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})\n\t\tlet user = this.get('user')\n\t\tif (!user.get('isNew')) {\n\t\t\tconst customMaintenances = this.get('allMaintenances').filter(main => { // custom maintenances\n\t\t\t\tif (main.get('scope') !== 'user' || main.get('isStandard')) {\n\t\t\t\t\treturn false\n\t\t\t\t} else {\n\t\t\t\t\tconst entityIDs = main.get('entityIDs')\n\t\t\t\t\treturn entityIDs.indexOf(user.get('id')) !== -1\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * 1 - remove the standard maintenance of \n\t\t\t */\n\t\t\tif (customMaintenances.length) {\n\t\t\t\tconst customTypes = customMaintenances.mapBy('type')\n\t\t\t\tconst maintenances = standardMaintenances.filter(m => customTypes.indexOf(m.get('type')) === -1)\n\t\t\t\treturn maintenances.concat(customMaintenances).sortBy('createdAt')\n\t\t\t} else {\n\t\t\t\treturn standardMaintenances.sortBy('createdAt')\n\t\t\t}\n\t\t} else { // new users will only have standard maintenances\n\t\t\treturn standardMaintenances.sortBy('createdAt')\n\t\t}\n\t}),\n\n\tcountryCodes: ['at', 'be', 'bg', 'hr', 'cy', 'cz', 'dk', 'ee', 'fl', 'fr', 'de', 'gr', 'hu', 'ie', 'it', 'lv', 'lt', 'lu', 'mt', 'nl', 'pl', 'pt', 'ro', 'sk', 'sl', 'es', 'se', 'gb'],\n\n\tcompanyID: computed.readOnly('currentUser.user.companyID'),\n\n\tuser: computed.alias('model.options.user'),\n\treadonly: computed.alias('model.options.readonly'),\n\tavailableGroups: computed('groups', 'user.role', function () {\n\t\tlet groups = this.get('groups')\n\t\tlet role = this.get('user.role')\n\t\tif (!role || !role.get('acl') || !role.get('acl.groups')) return []\n\n\t\tlet allowedGroups = role.get('acl.groups').toArray()\n\t\treturn groups.filter(group => {\n\t\t\tlet valid = false\n\t\t\tallowedGroups.forEach(allowedGroupID => {\n\t\t\t\tif (group.get('id').indexOf(allowedGroupID) != -1)\n\t\t\t\t\tvalid = true\n\t\t\t})\n\t\t\treturn valid\n\t\t})\n\t}),\n\tavailableVehicles: computed('groups', 'vehicles', 'roles', 'user.role', function () {\n\t\tlet vehicles = this.get('vehicles')\n\t\tlet role = this.get('user.role')\n\t\tif (!role || !role.get('acl') || !role.get('acl.vehicles') || !role.get('acl.groups')) return []\n\n\t\tlet allowedVehicles = role.get('acl.vehicles').toArray()\n\t\tlet allowedGropus = role.get('acl.groups').toArray()\n\t\treturn vehicles.filter(vehicle => {\n\t\t\tlet valid = false\n\t\t\tallowedVehicles.forEach(allowedVehicleID => {\n\t\t\t\tif (vehicle.get('id').indexOf(allowedVehicleID) != -1)\n\t\t\t\t\tvalid = true\n\t\t\t})\n\t\t\tallowedGropus.forEach(allowedGroupID => {\n\t\t\t\tif (vehicle.get('groupID').indexOf(allowedGroupID) != -1)\n\t\t\t\t\tvalid = true\n\t\t\t})\n\t\t\treturn valid\n\t\t})\n\t}),\n\n\tdocs: computed('allDocs.[]', function () {\n\t\tlet user = this.get('user')\n\t\tlet docs = this.get('allDocs')\n\t\tif (!docs || !docs.length) {\n\t\t\treturn []\n\t\t}\n\t\tif (!user.get('isNew')) {\n\t\t\treturn docs.filterBy('user.id', user.get('id'))\n\t\t}\n\t\treturn docs.filterBy('isNew', true)\n\t}),\n\n\tinit () {\n\t\tthis._super(...arguments)\n\n\t\tlet loggedUser = this.get('currentUser.user')\n\t\tlet companyID = this.get('companyID')\n\n\t\tlet allMaintenances = this.get('currentUser.hasMaintenanceAccess') ? this.get('store').findAll('maintenance-rule') : []\n\t\tlet users = this.get('store').peekAll('user')\n\t\tlet vehicles = this.get('store').peekAll('vehicle')\n\t\tlet groups = this.get('store').peekAll('group')\n\t\tlet roles = this.get('store').peekAll('role')\n\t\tlet filteredUsers = users.filterBy('companyID', companyID).sortBy('firstName', 'lastName')\n\t\tlet filteredVehicles = vehicles.filterBy('companyID', companyID).sortBy('licensePlate')\n\t\tlet filteredGroups = groups.filterBy('companyID', companyID).sortBy('id')\n\t\tlet filteredRoles = roles.filter(role => {\n\t\t\tif (role.get('type') === 'admin' && loggedUser.get('type') != 'admin')\n\t\t\t\treturn false\n\t\t\treturn true\n\t\t})\n\t\tthis.set('allMaintenances', allMaintenances)\n\t\tthis.set('vehicles', filteredVehicles)\n\t\tthis.set('users', filteredUsers)\n\t\tthis.set('groups', filteredGroups)\n\t\tthis.set('roles', filteredRoles)\n\n\t\tlet user = this.get('user')\n\n\t\tif (!user.get('isNew')) {\n\t\t\tif (loggedUser.get('id') === user.get('id')) // logged user\n\t\t\t\tthis.set('disabledRoleEditing', true) // currentUser can't edit his role or acl\n\n\t\t\tuser.set('vehicle', this.get('vehicles').findBy('user.id', user.get('id')))\n\t\t\tif (!this.get('currentUser.hasMaintenanceAccess')) {\n\t\t\t\tthis.get('store').query('document', {\n\t\t\t\t\t$where: {\n\t\t\t\t\t\tuser_id: user.get('id')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\t// not recognized as dirtyAttributes.\n\t\t\tif (user.get('role') && user.get('role.id')) {\n\t\t\t\tthis.set('oldRoleID', user.get('role.id'))\n\t\t\t}\n\t\t\tif (user.get('group') && user.get('group.id')) {\n\t\t\t\tthis.set('oldGroupID', user.get('group.id'))\n\t\t\t}\n\t\t}\n\n\t\tif (!this.get('currentUser.hasMaintenanceAccess')) {\n\t\t\tlet allDocs = this.get('store').peekAll('document')\n\t\t\tthis.set('allDocs', allDocs)\n\t\t}\n\t},\n\n\tdidRender () {\n\t\t$('form.dc-form')\n\t\t\t.form({\n\t\t\t\ton: 'blur',\n\t\t\t\tfields: this.get('userValidationSchema').schema.fields,\n\t\t\t\tonInvalid () {\n\t\t\t\t\tlet $ele = this\n\t\t\t\t\t$('.dc-modal > .content').animate({\n\t\t\t\t\t\tscrollTop: $ele.offset().top - $ele.outerHeight(true) / 2\n\t\t\t\t\t}, 200)\n\t\t\t\t\treturn false\n\t\t\t\t},\n\t\t\t})\n\t\t// this.fixScrollPaddingBySelector('#formContent')\n\t},\n\n\tcheckVehicleDriver (vehicleID, userID) {\n\t\tlet vehicles = this.get('vehicles')\n\n\t\tif (!vehicleID) { return null }\n\n\t\tif (userID) {\n\t\t\t//exclude current user vehicle\n\t\t\tvehicles = vehicles.filter(item => {\n\t\t\t\treturn item.get('userID') !== userID\n\t\t\t})\n\t\t}\n\n\t\treturn vehicles.findBy('id', vehicleID)\n\t},\n\t_saveVehicle (vehicle) {\n\t\tvehicle\n\t\t\t.save()\n\t\t\t.then(() => {\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('errors.savingVehicle')) //error on saving vehicle\n\t\t\t})\n\t},\n\t/** \n\t* oldVehicle = vehicle to which the user will be removed (set user to null)\n\t* selectedVehicle = vehicle to which the user will be assigned (set user to current userID)\n\t*/\n\tassignVehicle (user) {\n\t\tlet vehicles = this.get('vehicles')\n\t\tlet selectedVehicle = user.get('vehicle') ? vehicles.findBy('id', user.get('vehicle.id')) : null\n\n\t\tif (selectedVehicle) {\n\t\t\tselectedVehicle.set('user', user)\n\n\t\t\tvehicles = vehicles.filter(item => {    // exclude selectedVehicle, to find the vehicle with user\n\t\t\t\treturn item.get('id') !== user.get('vehicle.id')\n\t\t\t})\n\t\t\t// oldVehicle, set user null\n\t\t\tlet oldVehicle = vehicles.findBy('userID', user.get('id'))\n\t\t\tif (oldVehicle) {\n\t\t\t\toldVehicle.set('user', null) //detach user\n\t\t\t\toldVehicle\n\t\t\t\t\t.save()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t// after detach user from old Vehicle, attach to selectedVehicle\n\t\t\t\t\t\tthis._saveVehicle(selectedVehicle)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('errors.savingVehicle'))\n\t\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._saveVehicle(selectedVehicle)\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tlet attachedVehicle = vehicles.findBy('user.id', user.get('id'))\n\t\t\tif (attachedVehicle) {\n\t\t\t\tattachedVehicle.set('user', null)\n\t\t\t\tthis._saveVehicle(attachedVehicle)\n\t\t\t}\n\t\t}\n\t},\n\tsave () {\n\t\tthis.set('loading', true)\n\t\tthis.toast.remove()\n\t\tlet user = this.get('user')\n\t\tif (!user) { throw { error: 'User not exist' } }\n\n\t\tconst hasMaintenanceAccess = this.get('currentUser.hasMaintenanceAccess')\n\t\treturn user\n\t\t\t.save()\n\t\t\t.then(savedUser => {\n\t\t\t\tlet promises = {\n\t\t\t\t\tmaintenancesOrDocumentsSaved: hasMaintenanceAccess ? this.saveMaintenances(savedUser) : this.saveDocuments(),\n\t\t\t\t\tassignVehicle: this.assignVehicle(savedUser),\n\t\t\t\t}\n\n\t\t\t\treturn RSVP.hash(promises)\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\tif (err && err.errors && err.errors.length && err.errors[0].status) {\n\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\tif (err.errors[0].status === '409') {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('errors.userExist'))\n\t\t\t\t\t}\n\t\t\t\t\tif (err.errors[0].status === '410') {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('errors.emailUsed'))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow { error: err }\n\t\t\t})\n\t},\n\tsaveMaintenances (user) {\n\t\tlet maintenances = this.get('maintenances')\n\t\tlet rejected = window.Promise.resolve(null)\n\t\tif (!maintenances) { return rejected }\n\t\tlet modified = maintenances.rejectBy('isNew').filterBy('hasDirtyAttributes')\n\t\tlet news = maintenances.filterBy('isNew')\n\t\tif (!modified.length && !news.length) { return rejected }\n\t\tlet promises = []\n\n\t\tnews.forEach(main => {\n\t\t\tmain.set('entityIDs', [user.get('id')])\n\t\t\tpromises.push(main.save().catch(() => {\n\t\t\t\tmain.rollbackAttributes()\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\treturn\n\t\t\t}))\n\t\t})\n\n\t\tmodified.forEach(main => {\n\t\t\tif (main.get('isStandard')) {\n\t\t\t\t// create new specific\n\t\t\t\tconst newFromStandard = this.get('store').createRecord('maintenance-rule', main.toJSON())\n\t\t\t\tnewFromStandard.set('entityIDs', [user.get('id')])\n\t\t\t\tpromises.push(newFromStandard.save().catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\treturn\n\t\t\t\t}))\n\t\t\t\tmain.rollbackAttributes()\n\t\t\t} else { // patch modifications\n\t\t\t\tpromises.push(main.save().catch(() => {\n\t\t\t\t\tmain.rollbackAttributes()\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\treturn\n\t\t\t\t}))\n\t\t\t}\n\t\t})\n\n\t\treturn RSVP.all(promises)\n\t},\n\tsaveDocuments () {\n\t\tlet docs = this.get('docs')\n\t\tlet rejected = window.Promise.resolve(null)\n\t\tif (!docs) { return rejected }\n\t\tlet modifiedDocs = docs.rejectBy('isNew').filterBy('hasDirtyAttributes')\n\t\tlet newDocs = docs.filterBy('isNew')\n\t\tif (!modifiedDocs.length && !newDocs.length) { return rejected }\n\t\tlet promises = []\n\n\t\tnewDocs.forEach(doc => {\n\t\t\tpromises.push(doc.save().catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\treturn\n\t\t\t}))\n\t\t})\n\n\t\treturn RSVP.all(promises)\n\t\t\t.then(data => {\n\t\t\t\tlet filesPromises = []\n\t\t\t\tdata.forEach(document => {\n\t\t\t\t\tif (!document) { return }\n\t\t\t\t\tlet file = document.get('document')\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tfilesPromises.push(this.saveFile(file, document.get('id')).catch(() => {\n\t\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tif (modifiedDocs.length) {\n\t\t\t\t\tmodifiedDocs.forEach(doc => {\n\t\t\t\t\t\tif (!doc) { return doc }\n\t\t\t\t\t\tlet file = doc.get('document')\n\t\t\t\t\t\tif (file) {\n\t\t\t\t\t\t\tfilesPromises.push(this.saveFile(file, doc.get('id')).catch(() => {\n\t\t\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn RSVP.all(filesPromises)\n\t\t\t})\n\t},\n\tsaveFile (file, docID) {\n\t\tif (!file || !docID) {\n\t\t\treturn window.Promise.resolve(null)\n\t\t}\n\n\t\tlet fd = new FormData()\n\t\tfd.append('document', file)\n\t\treturn this.get('api').request('/documents/' + docID + '/upload', {\n\t\t\tdata: fd,\n\t\t\tprocessData: false,\n\t\t\tcontentType: false,\n\t\t\ttype: 'POST',\n\t\t})\n\t},\n\n\tactions: {\n\t\ttoggleExpand () {\n\t\t\tthis.toggleProperty('expanded')\n\t\t},\n\t\tedit () {\n\t\t\tthis.toggleProperty('readonly')\n\t\t},\n\t\tselectGroup (groupID) {\n\t\t\tlet user = this.get('user')\n\t\t\tuser.set('group', this.get('groups').findBy('id', groupID))\n\t\t},\n\t\tselectRole (roleID) {\n\t\t\tlet user = this.get('user')\n\t\t\tuser.set('role', this.get('roles').findBy('id', roleID))\n\t\t},\n\t\tloadAvatar () {\n\t\t\t// let fileLoader = $(event.target).closest('div.field').find('input.invisibleLoadPhoto')\n\t\t\t// fileLoader.trigger('click')\n\t\t},\n\t\tloadedAvatar (element) {\n\t\t\t// let fileName = $(element).val()\n\t\t\t// let profilePic = $(element).parent().find('input[name=profilePic]')\n\n\t\t\t// $(profilePic).val(fileName)\n\t\t},\n\t\tselectVehicle (vehicleID) {\n\t\t\tlet user = this.get('user')\n\t\t\tlet oldVehicle = user.get('vehicle')\n\t\t\tif (!vehicleID) {\n\t\t\t\tuser.set('vehicle', null)\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\tlet vehicle = null\n\t\t\tif (user.get('isNew')) {\n\t\t\t\tvehicle = this.checkVehicleDriver(vehicleID, null)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvehicle = this.checkVehicleDriver(vehicleID, user.get('id'))\n\t\t\t}\n\n\t\t\tif (vehicle && vehicle.get('user') && vehicle.get('user.id')) {\n\t\t\t\tlet i18n = this.get('i18n')\n\t\t\t\tlet content = `${vehicle.get('licensePlate')}' ${i18n.t('management.users.haveDriver')} '${vehicle.get('user.fullName')}', ${i18n.t('management.users.wichWillBeReplaced')} '${user.get('fullName')}`\n\n\t\t\t\tlet options = {\n\t\t\t\t\ttittle: i18n.t('management.users.vehicleHasDriver'),\n\t\t\t\t\tisSmall: true,\n\t\t\t\t\tcontent,\n\t\t\t\t}\n\n\t\t\t\tthis.get('modal').open('dc-confirmation', options)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tuser.set('vehicle', vehicle)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tif (oldVehicle) {\n\t\t\t\t\t\t\tuser.set('vehicle', oldVehicle)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tuser.set('vehicle', this.get('vehicles').findBy('id', vehicleID))\n\t\t\t}\n\t\t},\n\t\tselectCountry (country) {\n\t\t\tlet user = this.get('user')\n\t\t\tuser.set('details.countryCode', country)\n\t\t},\n\t\tcreateMaintenance () {\n\t\t\tif (this.get('readonly') || this.get('addingMaintenanceInProgress')) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet user = this.get('user')\n\t\t\tconst defaultMaintenance = {\n\t\t\t\tscope: 'user',\n\t\t\t\tentityIDs: user.get('id') ? [user.get('id')] : null,\n\t\t\t\tgroupID: user.get('groupID'),\n\t\t\t\tcompanyID: user.get('companyID'),\n\t\t\t\ttype: null,\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: null,\n\t\t\t\t\ttime: null\n\t\t\t\t},\n\t\t\t\tthreshold: {\n\t\t\t\t\tvalue: null,\n\t\t\t\t\ttime: null\n\t\t\t\t},\n\t\t\t\tcreatedAt: moment().format(),\n\t\t\t}\n\n\t\t\tthis.get('store').createRecord('maintenance-rule', defaultMaintenance)\n\t\t},\n\t\tcreateDocument () {\n\t\t\tif (this.get('readonly')) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet startDate = new Date()\n\t\t\tlet endDate = new Date()\n\t\t\tlet user = this.get('user')\n\t\t\tendDate.setDate(endDate.getDate() + 1)\n\n\t\t\tthis.get('store').createRecord('document', {\n\t\t\t\tgroupID: null,\n\t\t\t\tcompanyID: null,\n\t\t\t\ttype: 'permis_conducere',\n\t\t\t\tcategory: null,\n\t\t\t\tnumber: null,\n\t\t\t\tuser: user,\n\t\t\t\tvehicle: null,\n\t\t\t\tvalid: {\n\t\t\t\t\tfrom: startDate,\n\t\t\t\t\tuntil: endDate,\n\t\t\t\t},\n\t\t\t\tprice: {\n\t\t\t\t\tvalue: null,\n\t\t\t\t\tcurrency: null\n\t\t\t\t},\n\t\t\t\tfile: {\n\t\t\t\t\tname: null,\n\t\t\t\t\ttype: null,\n\t\t\t\t\tsize: null,\n\t\t\t\t\thash: null\n\t\t\t\t},\n\t\t\t\tdetails: {\n\t\t\t\t\talertInterval: null\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\tcancel () {\n\t\t\tlet user = this.get('user')\n\t\t\t// rollBack role and group. not detected by hasDirtyAttributes\n\t\t\tif (this.get('oldRoleID') && user.get('role') && this.get('oldRoleID') != user.get('role.id'))\n\t\t\t\tuser.set('role', this.get('roles').findBy('id', this.get('oldRoleID')))\n\t\t\telse if (!this.get('oldRoleID') && user.get('role'))\n\t\t\t\tuser.set('role', null)\n\t\t\tif (this.get('oldGroupID') && user.get('group') && this.get('oldGroupID') != user.get('group.id'))\n\t\t\t\tuser.set('group', this.get('groups').findBy('id', this.get('oldGroupID')))\n\t\t\telse if (!this.get('oldGroupID') && user.get('group'))\n\t\t\t\tuser.set('group', null)\n\n\t\t\tif (user.get('hasDirtyAttributes')) {\n\t\t\t\tuser.rollbackAttributes()\n\t\t\t}\n\t\t\tlet maintenances = this.get('maintenances')\n\t\t\tif (maintenances) {\n\t\t\t\tlet dirty = maintenances.filterBy('hasDirtyAttributes')\n\t\t\t\tif (dirty.length) {\n\t\t\t\t\tdirty.forEach(doc => {\n\t\t\t\t\t\tdoc.rollbackAttributes()\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet docs = this.get('docs')\n\t\t\tif (docs) {\n\t\t\t\tlet dirty = docs.filterBy('hasDirtyAttributes')\n\t\t\t\tif (dirty.length) {\n\t\t\t\t\tdirty.forEach(doc => {\n\t\t\t\t\t\tdoc.rollbackAttributes()\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.send('reject')\n\t\t},\n\n\t\tsave () {\n\t\t\tif (!$('form.dc-form').form('validate form')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.get('maintenances').isAny('isValid', false)) {\n\t\t\t\tthis.set('triedToSave', true)\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.save()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\tthis.send('resolve')\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('errors.savingUser'))\n\t\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"BR5W1y+v\",\"block\":\"{\\\"symbols\\\":[\\\"doc\\\",\\\"maintenance\\\",\\\"code\\\",\\\"role\\\",\\\"vehicle\\\",\\\"group\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal management\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[20,[\\\"user\\\",\\\"isNew\\\"]],\\\"management.users.new.title\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"management.users.view.title\\\",\\\"management.users.edit.title\\\"],null]],null]],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"content\\\",[25,\\\"if\\\",[[20,[\\\"expanded\\\"]],\\\" hasScrollBar\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[9,\\\"class\\\",\\\"ui dividing formHeader\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.userDetails\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"name\\\",\\\"placeholder\\\",\\\"value\\\"],[[20,[\\\"readonly\\\"]],\\\"firstName\\\",[25,\\\"t\\\",[\\\"management.users.firstName\\\"],null],[20,[\\\"user\\\",\\\"firstName\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"name\\\",\\\"placeholder\\\",\\\"value\\\"],[[20,[\\\"readonly\\\"]],\\\"lastName\\\",[25,\\\"t\\\",[\\\"management.users.lastName\\\"],null],[20,[\\\"user\\\",\\\"lastName\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"type\\\",\\\"name\\\",\\\"placeholder\\\",\\\"value\\\",\\\"autocomplete\\\"],[[25,\\\"or\\\",[[20,[\\\"readonly\\\"]],[25,\\\"and\\\",[[20,[\\\"user\\\",\\\"isActivated\\\"]],[25,\\\"not\\\",[[20,[\\\"user\\\",\\\"isNew\\\"]]],null]],null]],null],\\\"email\\\",\\\"email\\\",[25,\\\"t\\\",[\\\"management.users.email\\\"],null],[20,[\\\"user\\\",\\\"email\\\"]],\\\"off\\\"]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"name\\\",\\\"placeholder\\\",\\\"value\\\",\\\"focus-in\\\"],[[20,[\\\"readonly\\\"]],\\\"profilePic\\\",[25,\\\"t\\\",[\\\"management.users.photoUpload\\\"],null],[20,[\\\"user\\\",\\\"avatar\\\"]],\\\"loadAvatar\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"photo icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"name\\\",\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"ddGroupID\\\",\\\"ddGroupID\\\",[25,\\\"concat\\\",[\\\"fluid selection \\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectGroup\\\"],[[\\\"value\\\"],[[20,[\\\"selected\\\"]]]]],[20,[\\\"user\\\",\\\"group\\\",\\\"id\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\"],[\\\"hidden\\\",\\\"groupID\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.division\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"groups\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item padding\\\",[19,6,[\\\"level\\\"]]]]],[10,\\\"data-value\\\",[26,[[19,6,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,6,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"type\\\",\\\"name\\\",\\\"placeholder\\\",\\\"value\\\"],[[20,[\\\"readonly\\\"]],\\\"phoneNumber\\\",\\\"phoneNumber\\\",[25,\\\"t\\\",[\\\"management.users.phoneNumber\\\"],null],[20,[\\\"user\\\",\\\"phoneNumber\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"onChange\\\",\\\"useLabels\\\",\\\"class\\\",\\\"selected\\\"],[[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"user\\\",\\\"details\\\",\\\"drivingLicense\\\",\\\"categories\\\"]]],null]],null],false,[25,\\\"concat\\\",[\\\"field fluid multiple icons selection icons catPermis\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"user\\\",\\\"details\\\",\\\"drivingLicense\\\",\\\"categories\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\"],[\\\"hidden\\\",\\\"drivingLicense\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicense\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria AM\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryAM\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria A1\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryA1\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria A2\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryA2\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria A\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryA\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria B\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryB\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria BE\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryBE\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria C\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryC\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria CE\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryCE\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"Categoria D\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"management.users.drivingLicenseList.categoryD\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"ddVehicleID\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectVehicle\\\"],[[\\\"value\\\"],[[20,[\\\"selected\\\"]]]]],[20,[\\\"user\\\",\\\"vehicle\\\",\\\"id\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\"],[\\\"hidden\\\",\\\"assignedVehicle\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.assignedVehicle\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[9,\\\"data-user\\\",\\\"\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.users.detachVehicle\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,5,[\\\"id\\\"]]]]],[10,\\\"data-user\\\",[26,[[19,5,[\\\"userID\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,5,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"tabindex\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"roleID\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"readonly\\\"]],[20,[\\\"disabledRoleEditing\\\"]]],null],\\\" disabled\\\"],null]],null],\\\"-1\\\",[25,\\\"action\\\",[[19,0,[]],\\\"selectRole\\\"],[[\\\"value\\\"],[[20,[\\\"selected\\\"]]]]],[20,[\\\"user\\\",\\\"role\\\",\\\"id\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\"],[\\\"hidden\\\",\\\"roleID\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.role\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"roles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,4,[\\\"id\\\"]],null],[7],[1,[19,4,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/acl-grp-veh\\\",null,[[\\\"acl\\\",\\\"groups\\\",\\\"vehicles\\\",\\\"roleFiltering\\\",\\\"selectedRole\\\",\\\"readonly\\\"],[[20,[\\\"user\\\",\\\"acl\\\"]],[20,[\\\"availableGroups\\\"]],[20,[\\\"availableVehicles\\\"]],true,[20,[\\\"user\\\",\\\"role\\\"]],[25,\\\"or\\\",[[20,[\\\"readonly\\\"]],[20,[\\\"disabledRoleEditing\\\"]]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"ddCountry\\\",[25,\\\"concat\\\",[\\\"fluid selection \\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectCountry\\\"],[[\\\"value\\\"],[[20,[\\\"selected\\\"]]]]],[20,[\\\"user\\\",\\\"details\\\",\\\"countryCode\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\"],[\\\"hidden\\\",\\\"countryCode\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.country\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"countryCodes\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,3,[]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.settings.countries.\\\",[19,3,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/hex-input\\\",null,[[\\\"disabled\\\",\\\"name\\\",\\\"placeholder\\\",\\\"butID\\\"],[[20,[\\\"readonly\\\"]],\\\"iButton\\\",[25,\\\"t\\\",[\\\"management.users.iButton\\\"],null],[20,[\\\"user\\\",\\\"details\\\",\\\"iButtonID\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"more linkStyle\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleExpand\\\"]],[7],[1,[25,\\\"t\\\",[\\\"management.moreDetails\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"modules\\\",\\\"tachograph\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"disabled\\\",\\\"type\\\",\\\"name\\\",\\\"placeholder\\\",\\\"value\\\"],[[20,[\\\"readonly\\\"]],\\\"text\\\",\\\"tachoCardID\\\",[25,\\\"t\\\",[\\\"management.users.tachoCardID\\\"],null],[20,[\\\"user\\\",\\\"details\\\",\\\"tachoCardID\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"expanded\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"hasMaintenanceAccess\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.label\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-maintenance five-columns\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.name\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.comment\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.intervalTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.remainderTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sub-label\\\"],[7],[0,\\\"(Optional)\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"maintenances\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"maintenances\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/dc-maintenance\\\",null,[[\\\"maintenance\\\",\\\"entityID\\\",\\\"triedToSave\\\",\\\"readonly\\\",\\\"usedMaintenancesTypes\\\"],[[19,2,[]],[20,[\\\"user\\\",\\\"id\\\"]],[20,[\\\"triedToSave\\\"]],[20,[\\\"readonly\\\"]],[20,[\\\"usedMaintenancesTypes\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"addRow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button green\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"addingMaintenanceInProgress\\\"]],[20,[\\\"readonly\\\"]]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"createMaintenance\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"add\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.documents\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"docs\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/dc-doc\\\",null,[[\\\"isUser\\\",\\\"doc\\\",\\\"readonly\\\"],[true,[19,1,[]],[20,[\\\"readonly\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"addRow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button green\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"createDocument\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"add\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"user\\\",\\\"canBeEdited\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"readonly\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"edit\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"edit\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled loading\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-user/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nexport default ModalComponent.extend({\n\tapi: service(),\n\ti18n: service(),\n\n\tloading: false,\n\n\tvehicle: computed.alias('model.options'),\n\n\tsaveVehicle() {\n\t\tthis.set('loading', true)\n\t\tlet vehicle = this.get('vehicle')\n\t\tif (!vehicle) { return }\n\t\tlet settings = JSON.parse(JSON.stringify(vehicle.get('settings')))\n\t\treturn this.get('api').patch(`/vehicles/${vehicle.get('id')}`, {\n\t\t\tdata: {\n\t\t\t\tvehicle: {\n\t\t\t\t\tsettings: settings\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t},\n\n\tactions: {\n\t\tsave() {\n\t\t\tthis.saveVehicle()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.get('vehicle').reload()\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\tthis.send('resolve')\n\t\t\t\t}).catch(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t},\n\t\tcancel() {\n\t\t\tif (this.get('vehicle').get('hasDirtyAttributes')) {\n\t\t\t\tthis.get('vehicle').rollbackAttributes()\n\t\t\t}\n\t\t\tthis.toast.clear()\n\t\t\tthis.send('reject')\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"DFlYK5P4\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal small mh230\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[20,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.alertOpenDoor\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\"],[\\\"fluid selection\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"doorOpenOutsidePOI\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"ddDoorAlertPOI\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"doorOpenOutsidePOI\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.alertOpenDoor\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.noAlert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"enabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.doorOpenOutsidePOI\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"timetable\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.doorOpenOutsidePOIInTimetable\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui deny button\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui approve button\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled loading\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"ok\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-vehicle-alert/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport { get } from 'lodash'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\nimport RSVP from 'rsvp'\n\nexport default ModalComponent.extend({\n\tvehicleValidationSchema: service('vehicle-validation-schema'),\n\tformValidate: service('form-validate'),\n\tcurrentUser: service('current-user'),\n\tmodal: service(),\n\tstore: service(),\n\tapi: service(),\n\ti18n: service(),\n\n\tdisableDettachDevice: false,\n\n\tmaintenanceLabelInterval: computed('vehicleScope', function () {\n\t\tconst i18n = this.get('i18n')\n\t\tif (this.get('vehicleScope') === 'machinery') {\n\t\t\treturn i18n.t('management.maintenances.intervalWorkingHours')\n\t\t}\n\t\treturn i18n.t('management.maintenances.intervalDistance')\n\t}),\n\tmaintenanceLabelRemainder: computed('vehicleScope', function () {\n\t\tconst i18n = this.get('i18n')\n\t\tif (this.get('vehicleScope') === 'machinery') {\n\t\t\treturn i18n.t('management.maintenances.remainderWorkingHours')\n\t\t}\n\t\treturn i18n.t('management.maintenances.remainderDistance')\n\t}),\n\n\tusedMaintenancesTypes: computed('maintenances.[]', function () {\n\t\treturn this.get('maintenances').rejectBy('isStandard').mapBy('type')\n\t}),\n\n\tcompanyID: computed.readOnly('currentUser.user.companyID'),\n\n\tvehicle: computed.alias('model.options.vehicle'),\n\treadonly: computed.alias('model.options.readonly'),\n\tdisableEdit: computed.alias('model.options.disableEdit'),\n\n\tvehicleScope: computed('vehicle.type', function () {\n\t\treturn ['harvester', 'tractor'].indexOf(this.get('vehicle.type')) !== -1 ? 'machinery' : 'vehicle'\n\t}),\n\n\tshowVirtualOdometer: computed('vehicle.isMachinery', 'vehicle.hasCan', function () {\n\t\treturn !this.get('vehicle.isMachinery') && (!this.get('vehicle.hasCan') || !this.get('vehicle.status.can.distance'))\n\t}),\n\n\tshowVirtualWorkTime: computed('vehicle.isMachinery', 'vehicle.hasCan', function () {\n\t\treturn this.get('vehicle.isMachinery') && !this.get('vehicle.status.can.workTime')\n\t}),\n\n\taddingMaintenanceInProgress: computed('allMaintenances.[]', 'vehicleScope', function () {\n\t\treturn this.get('allMaintenances').isAny('isNew', true)\n\t}),\n\n\tmaintenances: computed('allMaintenances.@each.type', 'vehicleScope', function () {\n\t\tconst vehicleScope = this.get('vehicleScope')\n\t\tlet standardMaintenances = this.get('allMaintenances').filter(main => { // standard maintenances\n\t\t\tif (main.get('scope') === vehicleScope && (main.get('isStandard') || main.get('isNew'))) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})\n\t\tlet vehicle = this.get('vehicle')\n\t\tif (!vehicle.get('isNew')) {\n\t\t\tconst customMaintenances = this.get('allMaintenances').filter(main => { // custom maintenances\n\t\t\t\tif (main.get('scope') !== vehicleScope || main.get('isStandard')) {\n\t\t\t\t\treturn false\n\t\t\t\t} else {\n\t\t\t\t\tconst entityIDs = main.get('entityIDs')\n\t\t\t\t\treturn entityIDs.indexOf(vehicle.get('id')) !== -1\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * 1 - remove the standard maintenance of \n\t\t\t */\n\t\t\tif (customMaintenances.length) {\n\t\t\t\tconst customTypes = customMaintenances.mapBy('type')\n\t\t\t\tconst maintenances = standardMaintenances.filter(m => customTypes.indexOf(m.get('type')) === -1)\n\t\t\t\treturn maintenances.concat(customMaintenances).sortBy('createdAt')\n\t\t\t} else {\n\t\t\t\treturn standardMaintenances.sortBy('createdAt')\n\t\t\t}\n\t\t} else { // new vehicles will only have standard maintenances\n\t\t\treturn standardMaintenances.sortBy('createdAt')\n\t\t}\n\t}),\n\n\tdocs: computed('allDocs.[]', function () {\n\t\tlet vehicle = this.get('vehicle')\n\t\tlet docs = this.get('allDocs')\n\t\tif (!docs || !docs.length) {\n\t\t\treturn []\n\t\t}\n\t\tif (!vehicle.get('isNew')) {\n\t\t\treturn docs.filterBy('vehicle.id', vehicle.get('id'))\n\t\t}\n\t\treturn docs.filterBy('isNew', true)\n\t}),\n\n\tdevices: computed('allDevices.[]', function () { // valid devices\n\t\tlet allDevices = this.get('allDevices')\n\t\tlet vehicleID = this.get('vehicle.id')\n\t\tif (!allDevices || !allDevices.length) { return [] }\n\t\treturn allDevices.filter(dev => {\n\t\t\tif (!dev.get('vehicleID') || dev.get('vehicleID') === vehicleID) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t})\n\t}),\n\n\tinit () {\n\t\tthis._super(...arguments)\n\n\t\tlet companyID = this.get('companyID')\n\n\t\tlet groups = this.get('store').peekAll('group')\n\t\tlet users = this.get('store').peekAll('user')\n\t\tlet allMaintenances = this.get('currentUser.hasMaintenanceAccess') ? this.get('store').findAll('maintenance-rule') : []\n\t\tlet filteredGroups = groups.filterBy('companyID', companyID).sortBy('id')\n\t\tlet filteredUsers = users.filterBy('companyID', companyID).sortBy('firstName', 'lastName')\n\t\tthis.set('vehicles', this.get('store').peekAll('vehicle'))\n\t\tthis.set('allDevices', this.get('store').peekAll('device'))\n\t\tthis.set('users', filteredUsers)\n\t\tthis.set('groups', filteredGroups)\n\t\tthis.set('dispatchers', filteredUsers.filterBy('type', 'manager'))\n\t\tthis.set('allMaintenances', allMaintenances)\n\n\t\tlet vehicle = this.get('vehicle')\n\n\t\tif (!vehicle.get('isNew')) {\n\t\t\tif (vehicle.get('hasCan') || vehicle.get('hasProbe')) {\n\t\t\t\tif (!vehicle.get('settings.alerts.fuelConsumptionExcessive')) {\n\t\t\t\t\tvehicle.set('settings.alerts.fuelConsumptionExcessive', 'disabled')\n\t\t\t\t}\n\t\t\t\tif (!vehicle.get('settings.alerts.fuelLevelDropStationary')) {\n\t\t\t\t\tvehicle.set('settings.alerts.fuelLevelDropStationary', 'disabled')\n\t\t\t\t}\n\t\t\t\tif (!vehicle.get('settings.alerts.lowBattery')) {\n\t\t\t\t\tvehicle.set('settings.alerts.lowBattery', 'disabled')\n\t\t\t\t}\n\t\t\t\tif (!vehicle.get('settings.alerts.fastBatteryDischarge')) {\n\t\t\t\t\tvehicle.set('settings.alerts.fastBatteryDischarge', 'disabled')\n\t\t\t\t}\n\t\t\t\tif (!vehicle.get('settings.alerts.tachoRest')) {\n\t\t\t\t\tvehicle.set('settings.alerts.tachoRest', 'disabled')\n\t\t\t\t}\n\t\t\t\tif (!vehicle.get('settings.alerts.panicButton')) {\n\t\t\t\t\tvehicle.set('settings.alerts.panicButton', 'disabled')\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!this.get('currentUser.hasMaintenanceAccess')) {\n\t\t\t\tthis.get('store').query('document', {\n\t\t\t\t\t$where: {\n\t\t\t\t\t\tvehicle_id: vehicle.get('id')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tlet device = this.get('devices').findBy('vehicleID', vehicle.get('id'))\n\t\t\tif (device) {\n\t\t\t\tif (vehicle.get('statusIndicator') !== 'unreachable') this.set('disableDettachDevice', true)\n\t\t\t\tthis.set('defaultDeviceID', device.get('id'))\n\t\t\t\tvehicle.set('device', device)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set('deviceHasChanged', true)\n\t\t\t}\n\t\t}\n\t\tif (!this.get('currentUser.hasMaintenanceAccess')) {\n\t\t\tlet allDocs = this.get('store').peekAll('document')\n\t\t\tthis.set('allDocs', allDocs)\n\t\t}\n\t},\n\n\tdidInsertElement () {\n\t\tthis._super(...arguments)\n\t\t$('#dduserID').dropdown('save defaults')\n\t},\n\n\tdidRender () {\n\t\tlet _this = this\n\t\t$('form.dc-form')\n\t\t\t.form({\n\t\t\t\ton: 'blur',\n\t\t\t\tfields: _this.get('vehicleValidationSchema').schema.fields,\n\t\t\t\tonInvalid () {\n\t\t\t\t\tlet $ele = this\n\t\t\t\t\t$('.dc-modal > .content').animate({\n\t\t\t\t\t\tscrollTop: $ele.offset().top - $ele.outerHeight(true) / 2\n\t\t\t\t\t}, 200)\n\t\t\t\t\treturn false\n\t\t\t\t},\n\t\t\t})\n\t\t// this.fixScrollPaddingBySelector('#formContent')\n\t},\n\n\tcheckAsignedUser (selUserID, vehicleID) {\n\t\tlet vehicles = this.get('vehicles').filter(item => {\n\t\t\treturn item.get('id') !== vehicleID\n\t\t})\n\t\tif (selUserID) {\n\t\t\treturn vehicles.findBy('user.id', selUserID)\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t},\n\n\tsave () {\n\t\tthis.set('loading', true)\n\t\tthis.toast.remove()\n\t\tlet vehicle = this.get('vehicle')\n\t\tif (!vehicle) { throw { error: 'Vehicle not exist' } }\n\n\t\tlet virtualOdometerValue = vehicle.get('status.odometer')\n\t\tlet virtualWorkTime = vehicle.get('status.workTime')\n\n\t\treturn vehicle\n\t\t\t.save()\n\t\t\t.then(savedVehicle => {\n\t\t\t\tvirtualOdometerValue = (virtualOdometerValue === '' || virtualOdometerValue === null) ? null : Number(virtualOdometerValue)\n\t\t\t\tvirtualWorkTime = (virtualWorkTime === '' || virtualWorkTime === null) ? null : Number(virtualWorkTime)\n\t\t\t\tconst odometerChanged = virtualOdometerValue != savedVehicle.get('status.odometer')\n\t\t\t\tconst workTimeChanged = virtualWorkTime != savedVehicle.get('status.workTime')\n\n\t\t\t\tif (odometerChanged || workTimeChanged) {\n\t\t\t\t\tthis.get('api').patch('vehicles/' + savedVehicle.get('id'), {\n\t\t\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\t\t\tdataType: 'json',\n\t\t\t\t\t\tdata: { vehicle: { status: {\n\t\t\t\t\t\t\t...(odometerChanged && { odometer: virtualOdometerValue }),\n\t\t\t\t\t\t\t...(workTimeChanged && { workTime: virtualWorkTime }),\n\t\t\t\t\t\t} } }\n\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\tthis.get('store').findRecord('vehicle', savedVehicle.get('id')) // get the updated vehicle with virtual odometer\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tlet device = this.get('devices').findBy('id', vehicle.get('device.id'))\n\t\t\t\tconst hasMaintenanceAccess = this.get('currentUser.hasMaintenanceAccess')\n\t\t\t\tlet promises = {\n\t\t\t\t\tdetachedUser: this.detachSelectedUserFromPreviousVehicle(savedVehicle),\n\t\t\t\t\tmaintenancesOrDocumentsSaved: hasMaintenanceAccess ? this.saveMaintenances(savedVehicle) : this.saveDocuments(savedVehicle),\n\t\t\t\t\tdeviceSaved: this.saveDevice(device, savedVehicle),\n\t\t\t\t\tvehicle: savedVehicle\n\t\t\t\t}\n\n\t\t\t\treturn RSVP.hash(promises)\n\t\t\t})\n\t},\n\tsaveFile (file, docID) {\n\t\tif (!file || !docID) {\n\t\t\treturn window.Promise.resolve(null)\n\t\t}\n\n\t\tlet fd = new FormData()\n\t\tfd.append('document', file)\n\t\treturn this.get('api').request('/documents/' + docID + '/upload', {\n\t\t\tdata: fd,\n\t\t\tprocessData: false,\n\t\t\tcontentType: false,\n\t\t\ttype: 'POST',\n\t\t})\n\t},\n\tsaveDocuments () {\n\t\tlet docs = this.get('docs')\n\t\tlet rejected = window.Promise.resolve(null)\n\t\tif (!docs) { return rejected }\n\t\tlet modifiedDocs = docs.rejectBy('isNew').filterBy('hasDirtyAttributes')\n\t\tlet newDocs = docs.filterBy('isNew')\n\t\tif (!modifiedDocs.length && !newDocs.length) { return rejected }\n\t\tlet promises = []\n\n\t\tnewDocs.forEach(doc => {\n\t\t\tpromises.push(doc.save().catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\treturn\n\t\t\t}))\n\t\t})\n\t\treturn RSVP.all(promises)\n\t\t\t.then(data => {\n\t\t\t\tlet filesPromises = []\n\t\t\t\tdata.forEach(document => {\n\t\t\t\t\tif (!document) { return }\n\t\t\t\t\tlet file = document.get('document')\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tfilesPromises.push(this.saveFile(file, document.get('id')).catch(() => {\n\t\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tif (modifiedDocs.length) {\n\t\t\t\t\tmodifiedDocs.forEach(doc => {\n\t\t\t\t\t\tif (!doc) { return doc }\n\t\t\t\t\t\tlet file = doc.get('document')\n\t\t\t\t\t\tif (file) {\n\t\t\t\t\t\t\tfilesPromises.push(this.saveFile(file, doc.get('id')).catch(() => {\n\t\t\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn RSVP.all(filesPromises)\n\t\t\t})\n\t},\n\n\tsaveMaintenances (veh) {\n\t\tlet maintenances = this.get('maintenances')\n\t\tlet rejected = window.Promise.resolve(null)\n\t\tif (!maintenances) { return rejected }\n\t\tlet modified = maintenances.rejectBy('isNew').filterBy('hasDirtyAttributes')\n\t\tlet news = maintenances.filterBy('isNew')\n\t\tif (!modified.length && !news.length) { return rejected }\n\t\tlet promises = []\n\n\t\tconst scope = this.get('vehicleScope')\n\n\t\tnews.forEach(main => {\n\t\t\tmain.set('entityIDs', [veh.get('id')])\n\t\t\tmain.set('scope', scope)\n\t\t\tpromises.push(main.save().catch(() => {\n\t\t\t\tmain.rollbackAttributes()\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\treturn\n\t\t\t}))\n\t\t})\n\n\t\tmodified.forEach(main => {\n\t\t\tif (main.get('isStandard')) {\n\t\t\t\t// create new specific\n\t\t\t\tconst newFromStandard = this.get('store').createRecord('maintenance-rule', main.toJSON())\n\t\t\t\tnewFromStandard.set('entityIDs', [veh.get('id')])\n\t\t\t\tpromises.push(newFromStandard.save().catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\treturn\n\t\t\t\t}))\n\t\t\t\tmain.rollbackAttributes()\n\t\t\t} else { // patch modifications\n\t\t\t\tpromises.push(main.save().catch(() => {\n\t\t\t\t\tmain.rollbackAttributes()\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\treturn\n\t\t\t\t}))\n\t\t\t}\n\t\t})\n\n\t\treturn RSVP.all(promises)\n\t},\n\tsaveDevice (device, vehicle) {\n\t\t/**\n\t\t * if vehicle & not device\n\t\t * set device to null\n\t\t * 1 - delete device (vehicleID, !deviceID) set device vehicleID to null\n\t\t *\n\t\t * 2 - set vehicle to device.\n\t\t *  2a - vehicle has not previous device\n\t\t *  2b - vehicle has previous device\n\t\t */\n\t\tlet vehicleID = vehicle.get('id')\n\t\tconst sameDevice = device?.get('vehicleID') === vehicleID \n\n\t\tif (!vehicle || sameDevice) { return false }\n\n\t\tlet devices = this.get('devices')\n\n\t\tif (!device && vehicleID) { // delete vehicle from device\n\t\t\tlet prevDevice = devices.findBy('vehicleID', vehicleID)\n\t\t\tif (prevDevice) {\n\t\t\t\tprevDevice.set('vehicleID', null)\n\t\t\t\treturn prevDevice.save()\n\t\t\t}\n\t\t}\n\t\telse if (device && vehicleID) { // set device vehicle\n\t\t\tdevices = devices.filter(item => {\n\t\t\t\treturn item.get('id') !== device.get('id') // exclude selectedDevice from devices\n\t\t\t})\n\n\t\t\tdevice.set('vehicleID', vehicleID)\n\t\t\tlet prevDevice = devices.findBy('vehicleID', vehicleID)\n\t\t\tif (prevDevice) { // 2b - vehicle has previous device\n\t\t\t\tprevDevice.set('vehicleID', null)\n\t\t\t\treturn prevDevice\n\t\t\t\t\t.save() // delete vehicle from prevDevice\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdevice.save() // save vehicle to device\n\t\t\t\t\t})\n\t\t\t}\n\t\t\telse { // 2a - vehicle has not previous device\n\t\t\t\treturn device.save()\n\t\t\t}\n\t\t}\n\t},\n\t// wip\n\tdetachSelectedUserFromPreviousVehicle (vehicle) {\n\t\tlet vehicleToDetachUser = this.checkAsignedUsers(vehicle.get('user.id'), vehicle.get('id'))\n\t\tif (vehicleToDetachUser) {\n\t\t\tvehicleToDetachUser.set('user', null)\n\t\t\treturn vehicleToDetachUser.save()\n\t\t}\n\t\treturn window.Promise.resolve(null)\n\t},\n\tcheckAsignedUsers (selUserID, vehicleID) {\n\t\tlet vehicles = this.get('vehicles').filter(item => {\n\t\t\treturn item.get('id') !== vehicleID\n\t\t})\n\t\tif (selUserID) {\n\t\t\treturn vehicles.findBy('user.id', selUserID)\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t},\n\n\tactions: {\n\t\topenApplyModal (alertType) {\n\t\t\tlet vehicle = this.get('vehicle')\n\t\t\tlet vehicles = this.get('vehicles')\n\t\t\tthis.get('modal').open('dc-apply-to', { vehicle, vehicles, alertType })\n\t\t},\n\t\tselectDevice (deviceID) {\n\t\t\tlet isDefaultDevice = (this.get('defaultDeviceID') === deviceID && deviceID)\n\t\t\tthis.set('deviceHasChanged', !isDefaultDevice)\n\t\t\tlet vehicle = this.get('vehicle')\n\t\t\tthis.set('previousDeviceID', deviceID)\n\t\t\tvehicle.set('device', this.get('devices').findBy('id', deviceID))\n\t\t},\n\t\tselectGroup (groupID) {\n\t\t\tlet editingVehicle = this.get('vehicle')\n\t\t\teditingVehicle.set('group', this.get('groups').findBy('id', groupID))\n\t\t},\n\t\tselectDriver (object) {\n\t\t\tlet selUserID = $('#' + object.id).dropdown('get value')\n\t\t\tlet editingVehicle = this.get('vehicle')\n\t\t\tif (!selUserID) {\n\t\t\t\teditingVehicle.set('user', null)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tlet vehicleWithDriverAttached = null\n\t\t\tif (editingVehicle.get('isNew')) {\n\t\t\t\tvehicleWithDriverAttached = this.checkAsignedUser(selUserID, null)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvehicleWithDriverAttached = this.checkAsignedUser(selUserID, editingVehicle.get('id'))\n\t\t\t}\n\n\t\t\tif (vehicleWithDriverAttached) {\n\t\t\t\tlet i18n = this.get('i18n')\n\t\t\t\tlet selectedDriver = $('#dduserID').dropdown('get text')\n\t\t\t\tlet content = `\n\t\t\t\t\t'${selectedDriver}' ${i18n.t('management.vehicles.isAssignedToVehicle')} '${vehicleWithDriverAttached.get('carName')}' (${vehicleWithDriverAttached.get('licensePlate')})\n\t\t\t\t\t<br>'${selectedDriver}' ${i18n.t('management.vehicles.willBeAssigned')} '${editingVehicle.get('carName')}' (${editingVehicle.get('licensePlate')})`\n\n\t\t\t\tlet options = {\n\t\t\t\t\ttittle: i18n.t('management.vehicles.driverIsAttached'),\n\t\t\t\t\tisSmall: true,\n\t\t\t\t\tcontent,\n\t\t\t\t}\n\n\t\t\t\tthis.get('modal').open('dc-confirmation', options)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\teditingVehicle.set('user', this.get('users').findBy('id', selUserID))\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t$('#dduserID').dropdown('restore defaults')\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\teditingVehicle.set('user', this.get('users').findBy('id', selUserID))\n\t\t\t}\n\t\t},\n\t\tsavePurposeForRoute (value) {\n\t\t\tthis.set('vehicle.settings.route.purpose', value)\n\t\t},\n\t\ttoggleExpand () {\n\t\t\tthis.toggleProperty('expanded')\n\t\t},\n\t\tcreateDocument () {\n\t\t\tif (this.get('readonly')) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet startDate = new Date()\n\t\t\tlet endDate = new Date()\n\t\t\tlet vehicle = this.get('vehicle')\n\t\t\tendDate.setDate(endDate.getDate() + 1)\n\n\t\t\tthis.get('store').createRecord('document', {\n\t\t\t\tgroupID: null,\n\t\t\t\tcompanyID: null,\n\t\t\t\ttype: 'RCA',\n\t\t\t\tcategory: null,\n\t\t\t\tnumber: null,\n\t\t\t\tuser: null,\n\t\t\t\tvehicle: vehicle,\n\t\t\t\tvalid: {\n\t\t\t\t\tfrom: startDate,\n\t\t\t\t\tuntil: endDate,\n\t\t\t\t},\n\t\t\t\tprice: {\n\t\t\t\t\tvalue: null,\n\t\t\t\t\tcurrency: null\n\t\t\t\t},\n\t\t\t\tfile: {\n\t\t\t\t\tname: null,\n\t\t\t\t\ttype: null,\n\t\t\t\t\tsize: null,\n\t\t\t\t\thash: null\n\t\t\t\t},\n\t\t\t\tdetails: {\n\t\t\t\t\talertInterval: null\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\tcreateMaintenance () {\n\t\t\tif (this.get('readonly') || this.get('addingMaintenanceInProgress')) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet vehicle = this.get('vehicle')\n\t\t\tconst scope = this.get('vehicleScope')\n\n\t\t\tconst defaultMaintenance = {\n\t\t\t\tscope,\n\t\t\t\tentityIDs: vehicle.get('id') ? [vehicle.get('id')] : null,\n\t\t\t\tgroupID: vehicle.get('groupID'),\n\t\t\t\tcompanyID: vehicle.get('companyID'),\n\t\t\t\ttype: null,\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: null,\n\t\t\t\t\ttime: null\n\t\t\t\t},\n\t\t\t\tthreshold: {\n\t\t\t\t\tvalue: null,\n\t\t\t\t\ttime: null\n\t\t\t\t},\n\t\t\t\tcreatedAt: moment().format(),\n\t\t\t}\n\n\t\t\tthis.get('store').createRecord('maintenance-rule', defaultMaintenance)\n\t\t},\n\t\tcancel () {\n\t\t\tlet vehicle = this.get('vehicle')\n\t\t\tlet relayHasChanged = false\n\t\t\tif (vehicle.get('status').get('hasDirtyAttributes')) {\n\t\t\t\trelayHasChanged = get(vehicle.get('status').changedAttributes(),'relayState') ? true : false\n\t\t\t}\n\t\t\tvehicle.rollbackAttributes()\n\t\t\tif (relayHasChanged) {\n\t\t\t\tvehicle.toggleProperty('status.relayState')\n\t\t\t}\n\t\t\tif (this.get('currentUser.hasMaintenanceAccess')) {\n\t\t\t\tlet maintenances = this.get('maintenances')\n\t\t\t\tif (maintenances) {\n\t\t\t\t\tlet dirty = maintenances.filterBy('hasDirtyAttributes')\n\t\t\t\t\tif (dirty.length) {\n\t\t\t\t\t\tdirty.forEach(doc => {\n\t\t\t\t\t\t\tdoc.rollbackAttributes()\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet docs = this.get('docs')\n\t\t\t\tif (docs) {\n\t\t\t\t\tlet dirty = docs.filterBy('hasDirtyAttributes')\n\t\t\t\t\tif (dirty.length) {\n\t\t\t\t\t\tdirty.forEach(doc => {\n\t\t\t\t\t\t\tdoc.rollbackAttributes()\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.send('reject')\n\t\t},\n\t\tedit () {\n\t\t\tif (this.get(\"vehicle.isCompanyVehicle\")) {\n\t\t\t\tthis.toggleProperty('readonly')\n\t\t\t}\n\t\t},\n\t\tsave () {\n\t\t\tif (!$('form.dc-form').form('validate form')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tlet minSpeed = $('form.dc-form').form('get value', 'minSpeed')\n\t\t\tlet offset = $('form.dc-form').form('get value', 'offset')\n\t\t\tlet maxSpeed = $('form.dc-form').form('get value', 'maxSpeed')\n\t\t\tminSpeed = isNaN(minSpeed) ? 0 : Number(minSpeed)\n\t\t\toffset = isNaN(offset) ? 0 : Number(offset)\n\t\t\tmaxSpeed = isNaN(maxSpeed) ? 0 : Number(maxSpeed)\n\t\t\tif (((minSpeed + offset) > maxSpeed) && maxSpeed != 0) {\n\t\t\t\t$('form.dc-form').form('add prompt', 'minSpeed', 'maxSpeed should be greather than minSpeed')\n\t\t\t\t$('form.dc-form .field [name=minSpeed]').prop('title', 'ERROR: min > max')\n\t\t\t\t$('form.dc-form').form('add prompt', 'maxSpeed', 'maxSpeed should be greather than minSpeed')\n\t\t\t\t$('form.dc-form .field [name=maxSpeed]').prop('title', 'ERROR: max < min')\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.get('maintenances').isAny('isValid', false)) {\n\t\t\t\tthis.set('triedToSave', true)\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.save()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\tthis.send('resolve')\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('errors.savingVehicle'))\n\t\t\t\t})\n\t\t},\n\t\ttoggleRelayState (state) {\n\t\t\tconst vehicle = this.get('vehicle')\n\t\t\tthis.get('modal').open('dc-relay', { relayState: state, vehicleID: vehicle.get('id') })\n\t\t\t.catch(() => {\n\t\t\t\tthis.get('toast').remove()\n\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"N82+puCl\",\"block\":\"{\\\"symbols\\\":[\\\"doc\\\",\\\"maintenance\\\",\\\"user\\\",\\\"user\\\",\\\"group\\\",\\\"device\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal management\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[20,[\\\"vehicle\\\",\\\"isNew\\\"]],\\\"management.vehicles.new.title\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\"management.vehicles.view.title\\\",\\\"management.vehicles.edit.title\\\"],null]],null]],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"content\\\",[25,\\\"if\\\",[[20,[\\\"expanded\\\"]],\\\" hasScrollBar\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[9,\\\"class\\\",\\\"ui dividing formHeader\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.vehicleDetails\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"licensePlate\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.licensePlate\\\"],null],[20,[\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"vin\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.vin\\\"],null],[20,[\\\"vehicle\\\",\\\"vin\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"make\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.make\\\"],null],[20,[\\\"vehicle\\\",\\\"make\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"model\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.model\\\"],null],[20,[\\\"vehicle\\\",\\\"model\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"vehicle\\\",\\\"hasRelay\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"title\\\",\\\"selected\\\",\\\"onChange\\\"],[[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"deviceHasChanged\\\"]],[20,[\\\"readonly\\\"]]],null],\\\" disabled\\\"],null]],null],[25,\\\"if\\\",[[20,[\\\"deviceHasChanged\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.cannotChangeRelayContactUntilDeviceIsSaved\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"relayState\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"toggleRelayState\\\"],[[\\\"value\\\"],[[20,[\\\"selected\\\"]]]]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.relay\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"off\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.relayContact.off.state\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"on\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.relayContact.on.state\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"ibutton\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.relayContact.ibutton.state\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"ddFuelType\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"type\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"fuel_type\\\",[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"type\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.fuel.typeText\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"petrol\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.fuel.type.petrol\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"hybrid-petrol\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.fuel.type.hybridPetrol\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"diesel\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.fuel.type.diesel\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"hybrid-diesel\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.fuel.type.hybridDiesel\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"lpg\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.fuel.type.lpg\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"electric\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.fuel.type.electric\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"cng\\\"],[7],[0,\\\"CNG\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"seats\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.seats\\\"],null],[20,[\\\"vehicle\\\",\\\"seats\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/vehicle-type-dropdown\\\",null,[[\\\"disabled\\\",\\\"id\\\",\\\"selected\\\"],[[20,[\\\"readonly\\\"]],\\\"ddVehicleType\\\",[20,[\\\"vehicle\\\",\\\"type\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"ddDeviceID\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectDevice\\\"],[[\\\"value\\\"],[[20,[\\\"selected\\\"]]]]],[20,[\\\"vehicle\\\",\\\"device\\\",\\\"id\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.selectDevice\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"vehicle\\\",\\\"status\\\",\\\"relayState\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui red message\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.deviceChange\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.cannotChangeDeviceUntilRelayContactDisabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"devices\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item\\\",[25,\\\"if\\\",[[20,[\\\"disableDettachDevice\\\"]],\\\" disabled\\\"],null]]]],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.removeDevice\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"devices\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,6,[\\\"id\\\"]]]]],[7],[1,[19,6,[\\\"sn\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"disabled item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.noDevices\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"ddGroupID\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectGroup\\\"],[[\\\"value\\\"],[[20,[\\\"selected\\\"]]]]],[20,[\\\"vehicle\\\",\\\"group\\\",\\\"id\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\"],[\\\"hidden\\\",\\\"groupID\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.selectDivision\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"groups\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item padding\\\",[19,5,[\\\"level\\\"]]]]],[10,\\\"data-text\\\",[26,[[19,5,[\\\"name\\\"]]]]],[10,\\\"data-value\\\",[26,[[19,5,[\\\"id\\\"]]]]],[7],[1,[19,5,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onHide\\\",\\\"selected\\\"],[\\\"dduserID\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"selectDriver\\\"],null],[20,[\\\"vehicle\\\",\\\"user\\\",\\\"id\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.selectDriver\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[9,\\\"data-user\\\",\\\"\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.vehicles.removeDriver\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"reject-by\\\",[\\\"deletedAt\\\",[20,[\\\"users\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,4,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,4,[\\\"firstName\\\"]],false],[0,\\\" \\\"],[1,[19,4,[\\\"lastName\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"externalRefuelID\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.externalRefuelID\\\"],null],[20,[\\\"vehicle\\\",\\\"externalRefuelID\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/dropdown-editable\\\",null,[[\\\"class\\\",\\\"extraAction\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"savePurposeForRoute\\\"],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"route\\\",\\\"purpose\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"showVirtualOdometer\\\"]],[20,[\\\"showVirtualWorkTime\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"showVirtualOdometer\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"disabled\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"virtualOdometer\\\"],null],[20,[\\\"readonly\\\"]],[20,[\\\"vehicle\\\",\\\"status\\\",\\\"odometer\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"showVirtualWorkTime\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"disabled\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"virtualWorkTime\\\"],null],[20,[\\\"readonly\\\"]],[20,[\\\"vehicle\\\",\\\"status\\\",\\\"workTime\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"disabled\\\",\\\"allowClear\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"management.vehicles.selectDispatcher\\\"],null],\\\"semantic\\\",\\\"semantic\\\",[20,[\\\"dispatchers\\\"]],[20,[\\\"vehicle\\\",\\\"dispatcher\\\"]],\\\"fullName\\\",[20,[\\\"readonly\\\"]],true,[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"vehicle\\\",\\\"dispatcher\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"fullName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"vehicle\\\",\\\"hasDoorSensor\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"ddDoorAlertPOI\\\",[25,\\\"concat\\\",[\\\"fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"doorOpenOutsidePOI\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"ddDoorAlertPOI\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"doorOpenOutsidePOI\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.alertOpenDoor\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.noAlert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"enabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.doorOpenOutsidePOI\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"timetable\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.doorAlert.doorOpenOutsidePOIInTimetable\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"more linkStyle\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleExpand\\\"]],[7],[1,[25,\\\"t\\\",[\\\"management.moreDetails\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"expanded\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.autoPark\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"year\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.fabricationYear\\\"],null],[20,[\\\"vehicle\\\",\\\"year\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/basic-datepicker\\\",null,[[\\\"name\\\",\\\"placeholder\\\",\\\"selectedDate\\\",\\\"startDate\\\",\\\"dateFormat\\\",\\\"pickerType\\\",\\\"clearButton\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"registrationDate\\\",[25,\\\"t\\\",[\\\"management.vehicles.registrationDate\\\"],null],[20,[\\\"vehicle\\\",\\\"registrationDate\\\"]],[20,[\\\"vehicle\\\",\\\"registrationDate\\\"]],\\\"DD/MM/YYYY\\\",\\\"date\\\",true,[20,[\\\"readonly\\\"]],\\\"ui left icon input calendar alternate outline\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"engine_power\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.engine.power\\\"],null],[20,[\\\"vehicle\\\",\\\"engine\\\",\\\"power\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"engine_capacity\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.engine.capacity\\\"],null],[20,[\\\"vehicle\\\",\\\"engine\\\",\\\"capacity\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"payloadCapacity\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.payloadCapacity\\\"],null],[20,[\\\"vehicle\\\",\\\"payloadCapacity\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"tireSize\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.tireSize\\\"],null],[20,[\\\"vehicle\\\",\\\"tireSize\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"fuel_consumption_distanceWise\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.fuel.consumption.distanceWise\\\"],[[\\\"unit\\\"],[[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"unit\\\"]]]]],[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"consumption\\\",\\\"distanceWise\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"fuel_consumption_timeWise\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.fuel.consumption.timeWise\\\"],[[\\\"unit\\\"],[[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"unit\\\"]]]]],[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"consumption\\\",\\\"timeWise\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"fuel_consumption_auxiliaryHeatingTime\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.fuel.consumption.sirocol\\\"],null],[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"consumption\\\",\\\"auxiliaryHeatingTime\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"adblue_capacity\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.adblueCapacity\\\"],null],[20,[\\\"vehicle\\\",\\\"adblueCapacity\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"color\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.color\\\"],null],[20,[\\\"vehicle\\\",\\\"color\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"fuel_capacity\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.fuel.capacity\\\"],null],[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"capacity\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"length\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.dimensions.length\\\"],null],[20,[\\\"vehicle\\\",\\\"dimensions\\\",\\\"length\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"width\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.dimensions.width\\\"],null],[20,[\\\"vehicle\\\",\\\"dimensions\\\",\\\"width\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"height\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.dimensions.height\\\"],null],[20,[\\\"vehicle\\\",\\\"dimensions\\\",\\\"height\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"weight\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.dimensions.weight\\\"],null],[20,[\\\"vehicle\\\",\\\"dimensions\\\",\\\"weight\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"fluctuationFilter\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.fuel.fluctuationFilter\\\"],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"fuelLevelFluctuationThreshold\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"obu_id\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.obuID\\\"],null],[20,[\\\"vehicle\\\",\\\"obuID\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"t\\\",[\\\"alertsAndNotifications\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"vehicle\\\",\\\"hasCan\\\"]],[20,[\\\"vehicle\\\",\\\"hasProbe\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg a3a\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"nowrap bold\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.fuel-level-drop-stationary\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"fuel-level-drop-stationary\\\",[25,\\\"concat\\\",[\\\"fullWidth fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelLevelDropStationary\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"fuelLevelDrop\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelLevelDropStationary\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.fuel-level-drop-stationary\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"notification\\\"],[7],[1,[25,\\\"t\\\",[\\\"notification\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"limit\\\"],null]]]],[10,\\\"class\\\",[26,[\\\"ui right labeled input \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelLevelDropStationary\\\"]],\\\" disabled\\\"],null],[20,[\\\"readonly\\\"]]],null],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"min\\\",\\\"name\\\",\\\"value\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"title\\\"],[\\\"number\\\",\\\"1\\\",\\\"fuelLevelDropLimit\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alertTriggers\\\",\\\"fuelLevelDropStationary\\\"]],[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelLevelDropStationary\\\"]],\\\"disabled\\\"],null],[25,\\\"t\\\",[\\\"limit\\\"],null],[25,\\\"t\\\",[\\\"limit\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui basic label nowrap \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelLevelDropStationary\\\"]],\\\"disabled\\\"],null],[20,[\\\"readonly\\\"]]],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"unit\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button green\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"openApplyModal\\\",\\\"fuelLevelDropStationary\\\"]],[7],[1,[25,\\\"t\\\",[\\\"applyTo\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg a3a\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"nowrap bold\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.fuel-consumption-excessive\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"fuel-consumption-excessive\\\",[25,\\\"concat\\\",[\\\"field fullWidth fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelConsumptionExcessive\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"fuelLevelExcessive\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelConsumptionExcessive\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.fuel-consumption-excessive\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"notification\\\"],[7],[1,[25,\\\"t\\\",[\\\"notification\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"limit\\\"],null]]]],[10,\\\"class\\\",[26,[\\\"ui right labeled input\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelConsumptionExcessive\\\"]],\\\" disabled\\\"],null],[20,[\\\"readonly\\\"]]],null],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"min\\\",\\\"name\\\",\\\"value\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"title\\\"],[\\\"number\\\",\\\"1\\\",\\\"fuelLevelExcessiveLimit\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alertTriggers\\\",\\\"fuelConsumptionExcessive\\\"]],[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelConsumptionExcessive\\\"]],\\\"disabled\\\"],null],[25,\\\"t\\\",[\\\"limit\\\"],null],[25,\\\"t\\\",[\\\"limit\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui basic label nowrap \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fuelConsumptionExcessive\\\"]],\\\"disabled\\\"],null],[20,[\\\"readonly\\\"]]],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"vehicle\\\",\\\"fuel\\\",\\\"unit\\\"]],false],[0,\\\"/100km\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button green\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"openApplyModal\\\",\\\"fuelConsumptionExcessive\\\"]],[7],[1,[25,\\\"t\\\",[\\\"applyTo\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"type\\\"]],\\\"truck\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg a3a\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"nowrap bold\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.low-battery\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"low-battery\\\",[25,\\\"concat\\\",[\\\"fullWidth fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"lowBattery\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"lowBattery\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"lowBattery\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.low-battery\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"notification\\\"],[7],[1,[25,\\\"t\\\",[\\\"notification\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"limit\\\"],null]]]],[10,\\\"class\\\",[26,[\\\"ui right labeled input \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"lowBattery\\\"]],\\\" disabled\\\"],null],[20,[\\\"readonly\\\"]]],null],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"min\\\",\\\"name\\\",\\\"value\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"title\\\"],[\\\"number\\\",\\\"1\\\",\\\"lowBattery\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alertTriggers\\\",\\\"lowBatteryThreshold\\\"]],[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"lowBattery\\\"]],\\\"disabled\\\"],null],[25,\\\"t\\\",[\\\"limit\\\"],null],[25,\\\"t\\\",[\\\"limit\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui basic label nowrap \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"lowBattery\\\"]],\\\"disabled\\\"],null],[20,[\\\"readonly\\\"]]],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tV\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button green\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"openApplyModal\\\",\\\"lowBattery\\\"]],[7],[1,[25,\\\"t\\\",[\\\"applyTo\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg a3a\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"nowrap bold\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.fast-battery-discharge\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"fast-battery-discharge\\\",[25,\\\"concat\\\",[\\\"fullWidth fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fastBatteryDischarge\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"batteryDischarge\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fastBatteryDischarge\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.fast-battery-discharge\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"notification\\\"],[7],[1,[25,\\\"t\\\",[\\\"notification\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"limit\\\"],null]]]],[10,\\\"class\\\",[26,[\\\"ui right labeled input \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fastBatteryDischarge\\\"]],\\\" disabled\\\"],null],[20,[\\\"readonly\\\"]]],null],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"min\\\",\\\"name\\\",\\\"value\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"title\\\"],[\\\"number\\\",\\\"0\\\",\\\"batteryDischargeThreshold\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alertTriggers\\\",\\\"dailyBatteryDischargeThreshold\\\"]],[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fastBatteryDischarge\\\"]],\\\"disabled\\\"],null],[25,\\\"t\\\",[\\\"limit\\\"],null],[25,\\\"t\\\",[\\\"limit\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui basic label nowrap \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"eq\\\",[[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"fastBatteryDischarge\\\"]],\\\"disabled\\\"],null],[20,[\\\"readonly\\\"]]],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tV/24h\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button green\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"openApplyModal\\\",\\\"fastBatteryDischarge\\\"]],[7],[1,[25,\\\"t\\\",[\\\"applyTo\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg a3a\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"nowrap bold\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.tacho-rest\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"tacho-rest\\\",[25,\\\"concat\\\",[\\\"fullWidth fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"tachoRest\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"tachoRest\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"tachoRest\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.tacho-rest\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"notification\\\"],[7],[1,[25,\\\"t\\\",[\\\"notification\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"p\\\"],[9,\\\"style\\\",\\\"padding-top: 10px; padding-bottom: 10px;\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.tachoRestInfo\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg a3a\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"nowrap bold\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.panic-button\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"selected\\\"],[\\\"panic-button\\\",[25,\\\"concat\\\",[\\\"fullWidth fluid selection\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]],null],[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"panicButton\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"panicButton\\\",[20,[\\\"vehicle\\\",\\\"settings\\\",\\\"alerts\\\",\\\"panicButton\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"alerts.types.panic-button\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"alert\\\"],[7],[1,[25,\\\"t\\\",[\\\"alert\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"disabled\\\"],[7],[1,[25,\\\"t\\\",[\\\"disabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg a4\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"nowrap bold\\\"],[7],[1,[25,\\\"t\\\",[\\\"speedLimit\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui right labeled input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\",\\\"title\\\"],[\\\"minSpeed\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.speedLimit.min\\\"],null],[20,[\\\"vehicle\\\",\\\"speedLimit\\\",\\\"min\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.speedLimit.minTooltip\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui basic label nowrap\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tkm/h\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui right labeled input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\",\\\"title\\\"],[\\\"offset\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.speedLimit.offset\\\"],null],[20,[\\\"vehicle\\\",\\\"speedLimit\\\",\\\"offset\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.speedLimit.offsetTooltip\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui basic label nowrap\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tkm/h\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui right labeled input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"disabled\\\",\\\"placeholder\\\",\\\"value\\\",\\\"title\\\"],[\\\"maxSpeed\\\",[20,[\\\"readonly\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.speedLimit.max\\\"],null],[20,[\\\"vehicle\\\",\\\"speedLimit\\\",\\\"max\\\"]],[25,\\\"t\\\",[\\\"management.vehicles.speedLimit.maxTooltip\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui basic label nowrap\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tkm/h\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"hasMaintenanceAccess\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.label\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-maintenance\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.name\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.comment\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[18,\\\"maintenanceLabelInterval\\\"],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.intervalTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[18,\\\"maintenanceLabelRemainder\\\"],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.maintenances.remainderTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sub-label\\\"],[7],[0,\\\"(Optional)\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sub-label\\\"],[7],[0,\\\"(Optional)\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sub-label\\\"],[7],[0,\\\"(Optional)\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"maintenances\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"maintenances\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/dc-maintenance\\\",null,[[\\\"maintenance\\\",\\\"entityID\\\",\\\"triedToSave\\\",\\\"readonly\\\",\\\"maintenanceLabelInterval\\\",\\\"maintenanceLabelRemainder\\\",\\\"usedMaintenancesTypes\\\"],[[19,2,[]],[20,[\\\"vehicle\\\",\\\"id\\\"]],[20,[\\\"triedToSave\\\"]],[20,[\\\"readonly\\\"]],[20,[\\\"maintenanceLabelInterval\\\"]],[20,[\\\"maintenanceLabelRemainder\\\"]],[20,[\\\"usedMaintenancesTypes\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"addRow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button green\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"addingMaintenanceInProgress\\\"]],[20,[\\\"readonly\\\"]]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"createMaintenance\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"add\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.documents\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"docs\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/dc-doc\\\",null,[[\\\"isUser\\\",\\\"doc\\\",\\\"readonly\\\"],[false,[19,1,[]],[20,[\\\"readonly\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"addRow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button green\\\",[25,\\\"if\\\",[[20,[\\\"readonly\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"createDocument\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"add\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"readonly\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"vehicle\\\",\\\"isCompanyVehicle\\\"]]],null],[20,[\\\"disableEdit\\\"]]],null],\\\" disabled\\\"],null]]]],[10,\\\"disabled\\\",[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"vehicle\\\",\\\"isCompanyVehicle\\\"]]],null],[20,[\\\"disableEdit\\\"]]],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"edit\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"edit\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled loading\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/dc-vehicle/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { inject as service } from '@ember/service'\nimport { computed } from '@ember/object'\nimport $ from 'jquery'\n\nexport default ModalComponent.extend({\n\tapi: service(),\n\tstore: service(),\n\ti18n: service(),\n\n\tdisabled: true,\n\tfreightOrderID: computed.alias('model.options.freightOrder.id'),\n\n\tactions: {\n\t\tcancel() {\n\t\t\tif (this.get('loading')) { return }\n\n\t\t\tthis.reject()\n\t\t},\n\t\tsave() {\n\t\t\tif (this.get('disabled') || this.get('loading')) { return }\n\n\t\t\tthis.set('errors', false)\n\t\t\tthis.set('loading', true)\n\n\t\t\tthis.get('api').uploadFile(`/orders/freight/${this.get('freightOrderID')}/attachments`, 'attachment', this.get('file'))\n\t\t\t.then(response => {\n\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\tthis.send('resolve')\n\t\t\t}, error => {\n\t\t\t\tthis.set('errors', true)\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis.set('loading', false)\n\t\t\t})\n\t\t},\n\n\t\tpickFile() {\n\t\t\t// eslint-disable-next-line ember-best-practices/no-global-jquery\n\t\t\t$('#attachment').click()\n\t\t},\n\t\tonFilePicked(event) {\n\t\t\tconst file = event.srcElement.files.length ? event.srcElement.files[0] : null\n\t\t\tthis.set('file', file)\n\n\t\t\tthis.set('disabled', file == null)\n\t\t},\n\t},\n})","export default Ember.HTMLBars.template({\"id\":\"m8ChhgNK\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal small order\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.orders.modal.attachmentUpload.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\"small\\\"],null],\\\" fluid button \\\",[25,\\\"if\\\",[[20,[\\\"file\\\"]],\\\"teal\\\",\\\"default\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"pickFile\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[20,[\\\"file\\\"]],\\\"file\\\",\\\"upload\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\" \\\"],[1,[25,\\\"if\\\",[[20,[\\\"file\\\"]],[20,[\\\"file\\\",\\\"name\\\"]],[25,\\\"t\\\",[\\\"selectFile\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"input\\\"],[9,\\\"id\\\",\\\"attachment\\\"],[9,\\\"class\\\",\\\"hidden\\\"],[10,\\\"onchange\\\",[25,\\\"action\\\",[[19,0,[]],\\\"onFilePicked\\\"],null],null],[9,\\\"type\\\",\\\"file\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button deny\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"loading\\\"]],[20,[\\\"errors\\\"]],[20,[\\\"disabled\\\"]]],null],\\\" disabled\\\"],null],[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" icon\\\"],null]]]],[10,\\\"title\\\",[18,\\\"errors\\\"],null],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/order-attachment-upload/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { inject as service } from '@ember/service'\nimport { Promise } from 'rsvp'\n\nexport default ModalComponent.extend({\n\tstore: service(),\n\ti18n: service(),\n\n\ttransportOrder: null,\n\tclients: null,\n\tvehicleGroups: null,\n\n\tvalidateFields: function () {\n\t\tconst transportOrder = this.get('transportOrder').toJSON()\n\t\tif (!transportOrder.name) return false\n\t\tif (!transportOrder.source) return false\n\t\tif (transportOrder.source === 'samsung' && !transportOrder.externalID) return false\n\t\tif (!transportOrder.vehicleGroup) return false\n\t\treturn true\n\t},\n\n\tvalidatedFields: false,\n\n\tinit () {\n\t\tthis._super(...arguments)\n\n\t\tconst route = this.get('model.options.route')\n\n\t\t// Clients\n\t\tconst clients = this.get('store').peekAll('client')\n\t\tthis.set('clients', clients)\n\n\t\t// Vehicle groups\n\t\tconst vehicleGroups = this.get('store').peekAll('vehicle-group')\n\t\tthis.set('vehicleGroups', vehicleGroups)\n\n\t\t// Transport order\n\t\tconst transportOrder = this.get('store').createRecord('order-transport')\n\t\tthis.set('transportOrder', transportOrder)\n\n\t\t// Freight orders\n\t\tfor (let i = 1; i < route.markers.length; i++) {\n\t\t\tconst start = route.markers[0]\n\t\t\tconst end = route.markers[i]\n\n\t\t\ttransportOrder.get('freightOrders').createRecord({\n\t\t\t\twaypoints: [\n\t\t\t\t\t{ coordinates: [start.lng, start.lat], type: 'loading' },\n\t\t\t\t\t{ coordinates: [end.lng, end.lat], type: 'unloading' },\n\t\t\t\t]\n\t\t\t})\n\t\t}\n\t},\n\n\tactions: {\n\t\tcancel () {\n\t\t\tif (this.get('loading')) { return }\n\n\t\t\t// Remove created orders on cancel\n\t\t\tconst transportOrder = this.get('transportOrder')\n\t\t\tif (transportOrder != null) {\n\t\t\t\ttransportOrder.get('freightOrders').invoke('deleteRecord')\n\t\t\t\ttransportOrder.deleteRecord()\n\t\t\t}\n\n\t\t\tthis.reject()\n\t\t},\n\t\tsave () {\n\t\t\tif (!this.validateFields()) {\n\t\t\t\tthis.set('validatedFields', true)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.set('validatedFields', false)\n\t\t\tif (this.get('loading')) { return }\n\n\t\t\tconst date = new Date()\n\t\t\tconst transportOrder = this.get('transportOrder')\n\n\t\t\ttransportOrder.save()\n\t\t\t\t.then(() => {\n\t\t\t\t\treturn Promise.all(\n\t\t\t\t\t\ttransportOrder.get('freightOrders').map(freightOrder => {\n\t\t\t\t\t\t\tfreightOrder.set('transportOrder', transportOrder)\n\t\t\t\t\t\t\tfreightOrder.set('source', transportOrder.get('source'))\n\t\t\t\t\t\t\tfreightOrder.set('date', date)\n\t\t\t\t\t\t\tfreightOrder.save()\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.resolve()\n\t\t\t\t})\n\t\t},\n\t},\n})","export default Ember.HTMLBars.template({\"id\":\"WFG2ky93\",\"block\":\"{\\\"symbols\\\":[\\\"order\\\",\\\"waypoint\\\",\\\"client\\\",\\\"vehicleGroup\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal h330 small order\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"validatedFields\\\"]],[25,\\\"not\\\",[[20,[\\\"transportOrder\\\",\\\"name\\\"]]],null]],null],\\\" error\\\"],null]]]],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"name\\\",[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.name\\\"],null],[20,[\\\"transportOrder\\\",\\\"name\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"validatedFields\\\"]],[25,\\\"not\\\",[[20,[\\\"transportOrder\\\",\\\"source\\\"]]],null]],null],\\\" error\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\"],[\\\"fluid selection\\\",[20,[\\\"transportOrder\\\",\\\"source\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\"],[\\\"hidden\\\",\\\"source\\\",[20,[\\\"transportOrder\\\",\\\"source\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.source\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"tracknamic\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.sources.tracknamic\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"samsung\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.sources.samsung\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"validatedFields\\\"]],[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"transportOrder\\\",\\\"source\\\"]],\\\"samsung\\\"],null],[25,\\\"not\\\",[[20,[\\\"transportOrder\\\",\\\"externalID\\\"]]],null]],null]],null],\\\" error\\\"],null]]]],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"externalID\\\",[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.externalID\\\"],null],[20,[\\\"transportOrder\\\",\\\"externalID\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"validatedFields\\\"]],[25,\\\"not\\\",[[20,[\\\"transportOrder\\\",\\\"vehicleGroup\\\"]]],null]],null],\\\" error\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.vehicleGroup\\\"],null],\\\"semantic\\\",\\\"semantic\\\",[20,[\\\"vehicleGroups\\\"]],[20,[\\\"transportOrder\\\",\\\"vehicleGroup\\\"]],\\\"name\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"transportOrder\\\",\\\"vehicleGroup\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,4,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.client\\\"],null],\\\"semantic\\\",\\\"semantic\\\",[20,[\\\"clients\\\"]],[20,[\\\"transportOrder\\\",\\\"client\\\"]],\\\"name\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"transportOrder\\\",\\\"client\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui list\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"transportOrder\\\",\\\"freightOrders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui inverted segment\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui inverted form\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"waypoints\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h4\\\"],[9,\\\"class\\\",\\\"ui dividing header\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dispatch.orders.modal.create.waypoint.types.\\\",[19,2,[\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.orders.modal.create.waypoint.address\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"text\\\",\\\"address\\\",[19,2,[\\\"address\\\"]],[19,2,[\\\"displayAddress\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button deny\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"loading\\\"]],[20,[\\\"errors\\\"]]],null],\\\" disabled\\\"],null],[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" icon\\\"],null]]]],[10,\\\"title\\\",[18,\\\"errors\\\"],null],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/order-create/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nexport default ModalComponent.extend({\n\tapi: service(),\n\ti18n: service(),\n\n\tfreightID: computed.alias('model.options.freightID'),\n\tstatusID: computed.alias('model.options.statusID'),\n\tminDate: computed.alias('model.options.minDate'),\n\tstatusText: computed.alias('model.options.text'),\n\n\textra: {},\n\n\tinit() {\n\t\tthis._super(...arguments)\n\n\t\tthis.set('selectedDate', moment().toDate())\n\t},\n\n\tactions: {\n\t\tsave() {\n\t\t\tlet freightID = this.get('freightID')\n\t\t\tlet statusID = this.get('statusID')\n\t\t\tlet selectedDate = this.get('selectedDate')\n\t\t\tlet extra = this.get('extra')\n\t\t\tif (!freightID || !statusID || !selectedDate || this.get('loading')) return\n\n\t\t\tlet status = {\n\t\t\t\tid: statusID,\n\t\t\t\ttimestamp: selectedDate,\n\t\t\t}\n\t\t\tthis.set('loading', true)\n\t\t\tthis.get('api').post(`orders/freight/${freightID}/status`, {\n\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: { status, extra }\n\t\t\t}).then(() => {\n\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\tthis.send('resolve', selectedDate)\n\t\t\t}).catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t}).finally(() => {\n\t\t\t\tthis.set('loading', false)\n\t\t\t})\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"+ru1nMDN\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal order-status\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\tActualizare stare - \\\"],[1,[18,\\\"statusText\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"middle aligned six wide column\\\"],[7],[0,\\\"Dată modificare\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ten wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"selectedDate\\\"]],[20,[\\\"minDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"statusID\\\"]],\\\"bibtrack-56-20\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"middle aligned six wide column\\\"],[7],[0,\\\"ETA\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ten wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"extra\\\",\\\"eta\\\"]],[20,[\\\"minDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button deny\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reject\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled icon\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"ok\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/order-status-create/template.hbs\"}});","import ModalComponent from 'ember-modal-service/components/modal'\nimport { inject as service } from '@ember/service'\nimport { filterBy } from '@ember/object/computed'\n\nexport default ModalComponent.extend({\n\tstore: service(),\n\ti18n: service(),\n\n\tvehicleGroup: null,\n\tvehicles: null,\n\ttractorUnits: filterBy('vehicles', 'type', 'truck'),\n\tsemitrailers: filterBy('vehicles', 'type', 'semi-trailer'),\n\tdrivers: null,\n\n\tinit() {\n\t\tthis._super(...arguments)\n\n\t\tconst vehicleGroup = this.get('store').createRecord('vehicle-group', {\n\t\t\ttype: 'manual'\n\t\t})\n\t\tthis.set('vehicleGroup', vehicleGroup)\n\n\t\tconst vehicles = this.get('store').peekAll('vehicle')\n\t\tthis.set('vehicles', vehicles)\n\n\t\tconst users = this.get('store').peekAll('user')\n\t\tthis.set('drivers', users)\n\t},\n\n\tactions: {\n\t\tcancel() {\n\t\t\tif (this.get('loading')) { return }\n\n\t\t\tconst vehicleGroup = this.get('vehicleGroup')\n\t\t\tif (vehicleGroup != null) {\n\t\t\t\tvehicleGroup.deleteRecord()\n\t\t\t}\n\n\t\t\tthis.reject()\n\t\t},\n\t\tsave() {\n\t\t\tif (this.get('loading')) { return }\n\n\t\t\tconst vehicleGroup = this.get('vehicleGroup')\n\t\t\t\n\t\t\tvehicleGroup.save()\n\t\t\t.then(() => {\n\t\t\t\tthis.resolve()\n\t\t\t})\n\t\t},\n\t},\n})","export default Ember.HTMLBars.template({\"id\":\"LJurT9rF\",\"block\":\"{\\\"symbols\\\":[\\\"user\\\",\\\"user\\\",\\\"vehicle\\\",\\\"vehicle\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-modal mini client\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.vehicleGroups.modal.create.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"dc-form ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"name\\\",[25,\\\"t\\\",[\\\"dispatch.vehicleGroups.modal.create.name\\\"],null],[20,[\\\"vehicleGroup\\\",\\\"name\\\"]]]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.vehicleGroups.modal.create.tractorUnit\\\"],null],\\\"semantic\\\",\\\"semantic\\\",[20,[\\\"tractorUnits\\\"]],[20,[\\\"vehicleGroup\\\",\\\"tractorUnit\\\"]],\\\"licensePlate\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"vehicleGroup\\\",\\\"tractorUnit\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,4,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.vehicleGroups.modal.create.semitrailer\\\"],null],\\\"semantic\\\",\\\"semantic\\\",[20,[\\\"semitrailers\\\"]],[20,[\\\"vehicleGroup\\\",\\\"semitrailer\\\"]],\\\"licensePlate\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"vehicleGroup\\\",\\\"semitrailer\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dcg c2\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.vehicleGroups.modal.create.driver\\\"],null],\\\"semantic\\\",\\\"semantic\\\",[20,[\\\"drivers\\\"]],[20,[\\\"vehicleGroup\\\",\\\"driver\\\"]],\\\"fullName\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"vehicleGroup\\\",\\\"driver\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"fullName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.vehicleGroups.modal.create.codriver\\\"],null],\\\"semantic\\\",\\\"semantic\\\",[20,[\\\"drivers\\\"]],[20,[\\\"vehicleGroup\\\",\\\"codriver\\\"]],\\\"fullName\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"vehicleGroup\\\",\\\"codriver\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"fullName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button deny\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"cancel\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"loading\\\"]],[20,[\\\"errors\\\"]],[25,\\\"not\\\",[[20,[\\\"vehicleGroup\\\",\\\"isValid\\\"]]],null]],null],\\\" disabled\\\"],null],[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" icon\\\"],null]]]],[10,\\\"title\\\",[18,\\\"errors\\\"],null],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"notched circle loading icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/modals/vehicle-group-create/template.hbs\"}});","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport Tacho from 'tracknamic-smb/react/components/Tacho'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport((data) => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<Tacho data={data?.data} />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nimport FuelImport from 'tracknamic-smb/react/components/Modals/FuelImport'\n\nexport default WithEmberSupport(props => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<FuelImport {...props} />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport Chat from 'tracknamic-smb/react/components/Chat'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<Chat />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport { Toaster } from 'react-hot-toast'\nimport WithEmberSupport from 'ember-react-components'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<Toaster\n\t\t\t\t\tposition='bottom-right'\n\t\t\t\t\treverseOrder={true}\n\t\t\t\t\tcontainerStyle={{\n\t\t\t\t\t\ttop: 20,\n\t\t\t\t\t\tleft: 20,\n\t\t\t\t\t\tbottom: 40,\n\t\t\t\t\t\tright: 70,\n\t\t\t\t\t}}\n\t\t\t\t\ttoastOptions={{\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tbackground: '#363535',\n\t\t\t\t\t\t\tcolor: 'white',\n\t\t\t\t\t\t\tborderRadius: '5px',\n\t\t\t\t\t\t\tpadding: '10px 10px 10px 16px',\n\t\t\t\t\t\t\tfontSize: '15px',\n\t\t\t\t\t\t\tfontWeight: 300,\n\t\t\t\t\t\t\tmaxWidth: '500px',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess: {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tborder: '1px solid #5BCEA1',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ticonTheme: {\n\t\t\t\t\t\t\t\tprimary: '#34B082',\n\t\t\t\t\t\t\t\tsecondary: 'white',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\terror: {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tborder: '1px solid #CA5E5E',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ticonTheme: {\n\t\t\t\t\t\t\t\tprimary: '#DC3737',\n\t\t\t\t\t\t\t\tsecondary: 'white',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport DispatchMap from 'tracknamic-smb/react/pages/dispatch/map'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<DispatchMap />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport ETransport from 'tracknamic-smb/react/pages/e-transport'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<ETransport />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport ManagementIntegrationsPage from 'tracknamic-smb/react/pages/management/integrations'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<ManagementIntegrationsPage class='integrations-page'/>\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport MaintenanceListPage from 'tracknamic-smb/react/pages/management/maintenance/list'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<MaintenanceListPage />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport MaintenanceRulesPage from 'tracknamic-smb/react/pages/management/maintenance/rules'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<MaintenanceRulesPage />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport ManagementTemporaryLinks from 'tracknamic-smb/react/pages/management/temporary-links'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<ManagementTemporaryLinks class='page-temporary-links'/>\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport MapIndex from 'tracknamic-smb/react/pages/map'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<MapIndex />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport MapPtv from 'tracknamic-smb/react/pages/map-ptv'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<MapPtv />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport MapShared from 'tracknamic-smb/react/pages/map-shared'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<MapShared />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport Partners from 'tracknamic-smb/react/pages/partners'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<Partners />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport DailyTarget from 'tracknamic-smb/react/pages/settings/daily-target'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<DailyTarget />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport DispatchSubmenu from 'tracknamic-smb/react/pages/settings/dispatch'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<DispatchSubmenu />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport ETransport from 'tracknamic-smb/react/pages/settings/e-transport'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<ETransport />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport SettingsDataStorageIndex from 'tracknamic-smb/react/pages/settings/storage'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<SettingsDataStorageIndex />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport TmsSubmenu from 'tracknamic-smb/react/pages/settings/tms'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<TmsSubmenu />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport Clients from 'tracknamic-smb/react/pages/tms/clients'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<Clients />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport OrderDetails from 'tracknamic-smb/react/pages/tms/order-details'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<OrderDetails />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport Orders from 'tracknamic-smb/react/pages/tms/orders'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<Orders/>\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport Routes from 'tracknamic-smb/react/pages/tms/routes'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<Routes/>\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport VehicleGroups from 'tracknamic-smb/react/pages/tms/vehicle-groups'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<VehicleGroups />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","/* eslint-disable no-unused-vars */\nimport React, { Suspense } from 'react'\nimport WithEmberSupport from 'ember-react-components'\nimport TachoWidget from 'tracknamic-smb/react/pages/widgets/tacho-widget'\nimport { StoreProvider } from 'easy-peasy'\nimport ReactStore from 'tracknamic-smb/react/store'\nimport ReactI18nService from 'tracknamic-smb/react/services/i18n'\nimport { I18nextProvider } from 'react-i18next'\n\nexport default WithEmberSupport(() => (\n\t<Suspense fallback=''>\n\t\t<I18nextProvider i18n={ReactI18nService}>\n\t\t\t<StoreProvider store={ReactStore}>\n\t\t\t\t<TachoWidget />\n\t\t\t</StoreProvider>\n\t\t</I18nextProvider>\n\t</Suspense>\n))\n","import Component from '@ember/component'\nimport { computed, observer, set } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport scrollingPaddingMixin from 'tracknamic-smb/mixins/scrolling-padding'\n\nexport default Component.extend(scrollingPaddingMixin, {\n\tpageIndex: 1,\n\tshowAll: false,\n\tsort: false,\n\tresultsPerPage: 10, // obvious\n\ttagName: 'table',\n\tclassNames: ['ui','table','dc-table'],\n\tclassNameBindings: ['Resolution.isMobile:unstackable'],\n\n\tsortedData: computed('data', 'sortBy', 'sort', function () {\n\t\tlet data = this.get('data')\n\t\tif (!this.get('sort') || !this.get('sortBy')) { return data }\n\n\t\treturn data.sortBy(this.get('sortBy'))\n\t}),\n\n\tselectedRowsCount: computed('sortedData.@each.isSelected', function(){\n\t\treturn this.get('sortedData')?.filterBy('isSelected')?.length ?? 0\n\t}),\n\n\trecordsCount: computed('sortedData.length', function () {\n\t\treturn this.get('sortedData.length')\n\t}),\n\n\tshowPagination: computed('recordsCount', 'resultsPerPage', function () {\n\t\treturn this.get('recordsCount') > this.get('resultsPerPage') && !this.get('noPagination')\n\t}),\n\n\tvisibleRecords: computed('sortedData', 'showAll', 'pageIndex', 'resultsPerPage', function () {\n\t\tlet resultsPerPage = this.get('resultsPerPage')\n\t\tlet page = this.get('pageIndex')\n\n\t\tif (this.get('showAll') || !this.get('showPagination')) {\n\t\t\treturn this.get('sortedData')\n\t\t} else {\n\t\t\treturn this.get('sortedData').slice((page - 1) * resultsPerPage, page * resultsPerPage)\n\t\t}\n\t}),\n\n\tobsFixPadding: observer('visibleRecords', function () { // eslint-disable-line ember-best-practices/no-observers\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t}),\n\n\tactions: {\n\t\tselectRow(row) {\n\t\t\tset(row, 'isSelected', !row.isSelected)\n\t\t},\n\t\ttoggleRowsSelection(select) {\n\t\t\tif (select) {\n\t\t\t\tthis.get('sortedData').forEach(row => set(row, 'isSelected', true))\n\t\t\t} else {\n\t\t\t\tthis.get('sortedData').forEach(row => set(row, 'isSelected', false))\n\t\t\t}\n\t\t},\n\t\tsetResultsPerPage(results) {\n\t\t\tif (!results) { return false }\n\t\t\tthis.set('resultsPerPage', results)\n\t\t\tthis.set('pageIndex', 1)\n\t\t},\n\t\tshowAll() {\n\t\t\tthis.toggleProperty('showAll')\n\t\t},\n\t\tturnPage(pageNumber) {\n\t\t\tif (!pageNumber) { return false }\n\t\t\tthis.set('pageIndex', pageNumber)\n\t\t},\n\t\tondragstart(e) {\n\t\t\tlet movingColumn = e.target.dataset.value\n\t\t\tthis.set('movingColumn', movingColumn)\n\t\t},\n\t\tondragover(e) {\n\t\t\te.preventDefault()\n\t\t},\n\t\tondrop(e) {\n\t\t\tlet destinationColumn = e.target.dataset.value\n\t\t\tlet movingColumn = this.get('movingColumn')\n\t\t\tlet columns = this.get('selectedColumns')\n\t\t\tlet fromIdx = columns.indexOf(movingColumn)\n\t\t\tlet toIdx = columns.indexOf(destinationColumn)\n\t\t\tif (!movingColumn || !destinationColumn || fromIdx == -1 || toIdx == -1) { return false }\n\t\t\tcolumns.splice(fromIdx, 1)\n\t\t\tcolumns.splice(toIdx, 0, movingColumn)\n\t\t\tthis.set('selectedColumns', columns)\n\t\t\tthis.get('updateHeaders')(columns)\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"9dh0Q6Gc\",\"block\":\"{\\\"symbols\\\":[\\\"header\\\",\\\"index\\\",\\\"row\\\",\\\"header\\\",\\\"header\\\",\\\"header\\\",\\\"index\\\",\\\"header\\\",\\\"index\\\",\\\"header\\\",\\\"&default\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[22,11]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"selectableRows\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"selectedRowsCount\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedRowsCount\\\"]],[20,[\\\"recordsCount\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check large square fitted outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleRowsSelection\\\",false]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"fitted large icons row-selection-checkbox\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleRowsSelection\\\",true]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"square fitted outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"square fitted mini icon\\\"],[9,\\\"style\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"large square fitted outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleRowsSelection\\\",true]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[\\\"column \\\",[19,10,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"data-value\\\",[19,10,[\\\"key\\\"]],null],[9,\\\"draggable\\\",\\\"true\\\"],[9,\\\"style\\\",\\\"cursor: pointer\\\"],[10,\\\"ondragover\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondragover\\\"],null],null],[10,\\\"ondrop\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondrop\\\"],null],null],[10,\\\"ondragstart\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondragstart\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,10,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,10,[\\\"infoTranslationKey\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"pointer info circle icon\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[[19,10,[\\\"infoTranslationKey\\\"]]],null],null],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[10]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[11,11,[[20,[\\\"visibleRecords\\\"]]]],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"showPagination\\\"]],[20,[\\\"totalsRow\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"tfoot\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"totalsRow\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"totalRow\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,9,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,8,[\\\"align\\\"]],\\\" aligned totalRow\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"total\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,8,[\\\"key\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,8,[\\\"align\\\"]],\\\" aligned totalRow\\\"]]],[10,\\\"title\\\",[26,[[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,8,[\\\"key\\\"]]],null],\\\"popup\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,8,[\\\"key\\\"]]],null],\\\"display\\\"],null],[24]],null],[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,8,[\\\"key\\\"]]],null],\\\"display\\\"],null],[25,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,8,[\\\"key\\\"]]],null],[24]],null],[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,8,[\\\"key\\\"]]],null]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"totalRow\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[8,9]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"showPagination\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"pagination\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"colspan\\\",\\\"20\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"basic-pagination\\\",null,[[\\\"recordsCount\\\",\\\"showAll\\\",\\\"pageIndex\\\",\\\"resultsPerPage\\\",\\\"updateResultsPerPage\\\",\\\"toggleShowAll\\\",\\\"updatePage\\\"],[[20,[\\\"recordsCount\\\"]],[20,[\\\"showAll\\\"]],[20,[\\\"pageIndex\\\"]],[20,[\\\"resultsPerPage\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setResultsPerPage\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"showAll\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"turnPage\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[11,11,[[20,[\\\"visibleRecords\\\"]]]],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"showPagination\\\"]],[20,[\\\"totalsRow\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"tfoot\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"totalsRow\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"totalRow\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned totalRow\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"total\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,6,[\\\"key\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned totalRow\\\"]]],[10,\\\"title\\\",[26,[[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,6,[\\\"key\\\"]]],null],\\\"popup\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,6,[\\\"key\\\"]]],null],\\\"display\\\"],null],[24]],null],[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,6,[\\\"key\\\"]]],null],\\\"display\\\"],null],[25,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,6,[\\\"key\\\"]]],null],[24]],null],[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,6,[\\\"key\\\"]]],null]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[6,7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"showPagination\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"pagination\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"colspan\\\",\\\"20\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"basic-pagination\\\",null,[[\\\"recordsCount\\\",\\\"showAll\\\",\\\"pageIndex\\\",\\\"resultsPerPage\\\",\\\"updateResultsPerPage\\\",\\\"toggleShowAll\\\",\\\"updatePage\\\"],[[20,[\\\"recordsCount\\\"]],[20,[\\\"showAll\\\"]],[20,[\\\"pageIndex\\\"]],[20,[\\\"resultsPerPage\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setResultsPerPage\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"showAll\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"turnPage\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"selectableRows\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"icon\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"selectedRowsCount\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedRowsCount\\\"]],[20,[\\\"recordsCount\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check large square fitted outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleRowSelection\\\",false]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"fitted large icons row-selection-checkbox\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleRowSelection\\\",true]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"square fitted outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"square fitted mini icon\\\"],[9,\\\"style\\\",\\\"\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"large square fitted outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleRowSelection\\\",true]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[\\\"column \\\",[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"data-value\\\",[19,5,[\\\"key\\\"]],null],[9,\\\"draggable\\\",\\\"true\\\"],[9,\\\"style\\\",\\\"cursor: pointer\\\"],[10,\\\"ondragover\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondragover\\\"],null],null],[10,\\\"ondrop\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondrop\\\"],null],null],[10,\\\"ondragstart\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondragstart\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,5,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"visibleRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,3,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,3,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,3,[\\\"rowState\\\"]],[19,3,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"selectableRows\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"selectRow\\\",[19,3,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"large square \\\",[25,\\\"if\\\",[[19,3,[\\\"isSelected\\\"]],\\\"check \\\"],null],\\\"fitted outline icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,4,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,3,[]],[19,4,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,3,[]],[19,4,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"showPagination\\\"]],[20,[\\\"totalsRow\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"tfoot\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"totalsRow\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"totalRow\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,1,[\\\"align\\\"]],\\\" aligned totalRow\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"total\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,1,[\\\"key\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,1,[\\\"align\\\"]],\\\" aligned totalRow\\\"]]],[10,\\\"title\\\",[26,[[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,1,[\\\"key\\\"]]],null],\\\"popup\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,1,[\\\"key\\\"]]],null],\\\"display\\\"],null],[24]],null],[25,\\\"get\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,1,[\\\"key\\\"]]],null],\\\"display\\\"],null],[25,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,1,[\\\"key\\\"]]],null],[24]],null],[25,\\\"get\\\",[[20,[\\\"totalsRow\\\"]],[19,1,[\\\"key\\\"]]],null]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"totalRow\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[1,2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"showPagination\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"pagination\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"colspan\\\",\\\"20\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"basic-pagination\\\",null,[[\\\"recordsCount\\\",\\\"showAll\\\",\\\"pageIndex\\\",\\\"resultsPerPage\\\",\\\"updateResultsPerPage\\\",\\\"toggleShowAll\\\",\\\"updatePage\\\"],[[20,[\\\"recordsCount\\\"]],[20,[\\\"showAll\\\"]],[20,[\\\"pageIndex\\\"]],[20,[\\\"resultsPerPage\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"setResultsPerPage\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"showAll\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"turnPage\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/reports/dc-table/template.hbs\"}});","import Component from '@ember/component'\nimport { computed, set } from '@ember/object'\nimport { task } from 'ember-concurrency'\nimport { inject as service } from '@ember/service'\nimport { run } from '@ember/runloop'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\nexport default Component.extend(datesMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tusers: computed.alias('model.users'),\n\tapi: service(),\n\ti18n: service(),\n\n\tclassNames: ['actions'],\n\tallowedFormats: ['csv', 'xlsx', 'pdf'],\n\tfilenameSeparator: '_',\n\n\tcolumns: computed.alias('report.columns'),\n\tnoOptions: computed.empty('report.options'),\n\n\tgetFileName(report, format, sd, ed) {\n\t\tlet fs = this.get('filenameSeparator')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet filenameParts = [this.get('i18n').t(report.translationKey).string]\n\t\tfilenameParts[0] = filenameParts[0].normalize('NFD').replace(/[\\u0300-\\u036f]/g, '')\n\t\tif (filters.vehicles.length === 1) {\n\t\t\tfilenameParts.push(this.get('vehicles').findBy('id', filters.vehicles[0]).get('licensePlate'))\n\t\t}\n\t\t// else if (/* one division */true) {\n\t\t// \tfilenameParts.push(this.get('selectedGroups')[0])\n\t\t// }\n\t\telse {\n\t\t\tfilenameParts.push(filters.vehicles.length)\n\t\t}\n\t\tfilenameParts.push(moment(sd).format(`DD${fs}MM${fs}YYYY`))\n\t\tfilenameParts.push(moment(ed).format(`DD${fs}MM${fs}YYYY`))\n\t\tlet name = filenameParts.join(fs)\n\t\tname += `.${format}`\n\t\treturn name\n\t},\n\n\tdownloadReport: task(function* (format) {\n\t\tlet report = this.get('report')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet id = Number(report.moduleName.replace('report', '')) // get the number of the report\n\t\tif (!filters || (!filters.vehicles.length && !filters.users.length) || !id) { return false }\n\t\tlet isMonthlyReport = ['report1', 'report17', 'report30'].includes(report.moduleName)\n\t\tlet isDayReport = ['report5', 'report24', 'report25', 'report26', 'report27'].includes(report.moduleName)\n\t\tlet isUtcReport = ['report26'].includes(report.moduleName)\n\t\tlet sd = isMonthlyReport ? filters.startMonthDate : filters.startDate\n\t\tlet ed = isMonthlyReport ? filters.endMonthDate : filters.endDate\n\t\tif (isDayReport) {\n\t\t\tsd = moment(sd).startOf('day').valueOf()\n\t\t\ted = moment(ed).endOf('day').valueOf()\n\t\t}\n\t\tif (id === 3) {\n\t\t\ted = this.getRealEndDate(ed)\n\t\t}\n\n\t\tlet fileName = this.getFileName(report, format, sd, ed)\n\t\tlet locale = this.get('currentUser.locale')\n\t\tlet priority = this.get('currentUser.priority')\n\t\tlet poiAddress = this.get('currentUser.poiAddress')\n\t\tlet cngUnit = this.get('currentUser.cngUnit')\n\t\tlet grouping = this.get('currentUser.grouping')\n\n\t\tlet api = this.get('api')\n\t\tconst idToken = api.get('session.data.authenticated.idToken')\n\t\tif (!idToken) { return false }\n\n\t\tlet url = `${api.host}/${api.namespace}/reports/${id}/download`\n\n\t\tlet obj = {\n\t\t\tformat,\n\t\t\tlocale,\n\t\t\tpriority,\n\t\t\tcngUnit,\n\t\t\tpoiAddress,\n\t\t\t$filter: {\n\t\t\t\tvehicles: filters.vehicles,\n\t\t\t\tstartDate: this.convertDateToCompanyTZ(sd),\n\t\t\t\tendDate: this.convertDateToCompanyTZ(ed),\n\t\t\t}\n\t\t}\n\n\t\tif (isUtcReport) {\n\t\t\tobj.$filter.startDate = this.formatDateToUTC(sd)\n\t\t\tobj.$filter.endDate = this.formatDateToUTC(ed)\n\t\t}\n\n\t\tif (id === 2) { // route report\n\t\t\tobj.$filter.specialFilters = {\n\t\t\t\tstationaryDuration: {\n\t\t\t\t\tselected: this.get('currentUser.user.settings.reports.report2.filters.stationaryDuration.selected'),\n\t\t\t\t\tvalue: this.get('currentUser.user.settings.reports.report2.filters.stationaryDuration.value'),\n\t\t\t\t},\n\t\t\t\t// weeklyBreak: this.get('currentUser.user.settings.reports.report2.filters.weeklyBreak'),\n\t\t\t\tdailyBreak: this.get('currentUser.user.settings.reports.report2.filters.dailyBreak'),\n\t\t\t\tborderCrossing: this.get('currentUser.user.settings.reports.report2.filters.borderCrossing'),\n\t\t\t\tstoppingPurpose: this.get('currentUser.user.settings.reports.report2.filters.stoppingPurpose'),\n\t\t\t}\n\t\t}\n\t\tif (id === 3) { // stationary report\n\t\t\tobj.stationaryDuration = this.get('currentUser.stationaryDuration')\n\t\t}\n\t\tif (id === 6) { // for poi report add window duration\n\t\t\tobj.window = this.get('currentUser.windowDuration')\n\t\t\tobj.stationaryDuration = this.get('currentUser.stationaryDuration')\n\t\t}\n\t\tif (id === 11) { // for fuel report add source of fuel\n\t\t\tlet source = this.get('currentUser.fuelSource')\n\t\t\tobj.source = source\n\t\t\tlet showFluctuations = this.get('currentUser.showFluctuations')\n\t\t\tobj.showFluctuations = showFluctuations\n\t\t}\n\t\tif (id === 24) { // for consumption report add \n\t\t\tlet consumptionFormat = this.get('currentUser.consumptionFormat')\n\t\t\tobj.$filter.consumptionFormat = consumptionFormat\n\t\t}\n\t\tif (id === 27) { // add density param for temperature report\n\t\t\tobj.density = this.get('currentUser.density')\n\t\t\tdelete obj.priority\n\t\t\tdelete obj.poiAddress\n\t\t}\n\t\tif (id === 28) { // add users, which have valid tacho card id, for cabotage report\n\t\t\tobj['$filter'].users = filters.usersO.filter(user =>\n\t\t\t\tfilters.users.includes(user.get('id')) &&\n\t\t\t\tuser.get('details.tachoCardID.length') > 0\n\t\t\t).mapBy('details.tachoCardID')\n\t\t}\n\t\tif (id === 40 || id === 33) { // add users, which have valid tacho card id, for cabotage report\n\t\t\tobj['$filter'].drivers = [...filters.users]\n\t\t}\n\t\tif (id === 34) {\n\t\t\tdelete obj['$filter']['vehicles']\n\t\t\tdelete obj.priority\n\t\t\tdelete obj.poiAddress\n\t\t\tobj.grouping = grouping\n\t\t\tobj['$filter'].entities = grouping === 'driver' ? filters.users : filters.vehicles\n\t\t}\n\n\t\tthis.sendAction('willDownload', obj, filters)\n\n\t\tlet data = JSON.stringify(obj)\n\n\t\tlet req = new XMLHttpRequest()\n\t\treq.open('POST', url, true)\n\t\treq.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\treq.setRequestHeader('Content-type', 'application/json; charset=utf-8');\n\t\treq.responseType = 'blob'\n\n\t\tlet button = document.getElementsByClassName('download-report')[0]\n\n\t\treq.onload = () => {\n\t\t\tlet blob = req.response\n\t\t\tlet link = document.createElement('a')\n\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\tlink.download = fileName\n\t\t\tlink.className = 'hidden'\n\t\t\tdocument.body.appendChild(link)\n\t\t\tlink.click()\n\n\t\t\tbutton.classList.remove('disabled', 'loading')\n\t\t}\n\n\t\tbutton.classList.add('disabled', 'loading')\n\t\tyield req.send(data)\n\t}),\n\n\tdidInsertElement() {\n\t\tthis.$('.report-settings').dropdown()\n\t},\n\n\tactions: {\n\t\timport() {\n\t\t\tif (this.get('openImportModal')) {\n\t\t\t\tthis.get('openImportModal')()\n\t\t\t}\n\t\t},\n\n\t\tdownload(format) {\n\t\t\tthis.get('downloadReport').perform(format)\n\t\t},\n\n\t\tonHide() {\n\t\t\trun.later(this, () => {\n\t\t\t\tthis.$('.download-report .item.active').removeClass('active')\n\t\t\t}, 100)\n\t\t},\n\n\t\tchangeDuration(name, val) {\n\t\t\tlet value = Number(val)\n\t\t\tif (!name || !val || this.get(`currentUser.${name}`) == value) { return false }\n\t\t\tthis.get('currentUser').updateFilter(name, value)\n\t\t\tif (name === 'windowDuration' || name === 'density' || name === 'stationaryDuration' ) {\n\t\t\t\tthis.get('makeRequest')()\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.get('reformatData')()\n\t\t\t}\n\t\t},\n\n\t\tprint() {\n\t\t\tif (this.get('report.downloadDisabled') || this.get('report.printDisabled')) { return }\n\t\t\tthis.get('print')()\n\t\t\t// this.get('print')(this.get('report').name, this.$('.reportData').toArray())\n\t\t},\n\n\t\tsetOptionPath(path, value) {\n\t\t\tthis.get('currentUser').updatePath(path, value)\n\t\t\tthis.get('makeRequest')()\n\t\t},\n\n\t\tsetOption(item, option) {\n\t\t\tswitch (option.name) {\n\t\t\t\tcase 'priority':\n\t\t\t\t\tif (this.get('currentUser.priority') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('priority', item.value)\n\t\t\t\t\tthis.get('reformatData')()\n\t\t\t\t\tbreak\n\t\t\t\tcase 'fuelSource':\n\t\t\t\t\tif (this.get('currentUser.fuelSource') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('fuelSource', item.value)\n\t\t\t\t\tthis.get('reformatData')()\n\t\t\t\t\tbreak\n\t\t\t\tcase 'showFluctuations':\n\t\t\t\t\tif (this.get('currentUser.showFluctuations') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('showFluctuations', item.value)\n\t\t\t\t\tthis.get('reformatData')()\n\t\t\t\t\tbreak\n\t\t\t\tcase 'heatmap':\n\t\t\t\t\tif (this.get('currentUser.optionHeatmap') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('optionHeatmap', item.value)\n\t\t\t\t\tthis.get('reformatData')()\n\t\t\t\t\t// maybee should be better to have another function to updateData instead make another request\n\t\t\t\t\tbreak\n\t\t\t\tcase 'timetable':\n\t\t\t\t\tif (this.get('currentUser.reportsTimetable') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('reportsTimetable', item.value)\n\t\t\t\t\tthis.get('makeRequest')()\n\t\t\t\t\tbreak\n\t\t\t\tcase 'consumptionFormat':\n\t\t\t\t\tif (this.get('currentUser.consumptionFormat') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('consumptionFormat', item.value)\n\t\t\t\t\tthis.get('reformatData')()\n\t\t\t\t\tbreak\n\t\t\t\tcase 'cngUnit':\n\t\t\t\t\tif (this.get('currentUser.cngUnit') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('cngUnit', item.value)\n\t\t\t\t\tthis.get('reformatData')()\n\t\t\t\t\tbreak\n\t\t\t\tcase 'poiaddress':\n\t\t\t\t\tif (this.get('currentUser.poiAddress') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('poiAddress', item.value)\n\t\t\t\t\tthis.get('reformatData')()\n\t\t\t\t\tbreak\n\t\t\t\tcase 'grouping':\n\t\t\t\t\tif (this.get('currentUser.grouping') === item.value) { return false }\n\t\t\t\t\tthis.get('currentUser').updateFilter('grouping', item.value)\n\t\t\t\t\tthis.get('reformatData')()\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t},\n\n\t\tupdateColumn(column) {\n\t\t\tset(column, 'selected', !column.selected)\n\t\t},\n\n\t\thideColumnsMenu() {\n\t\t\t// update the selected columns\n\t\t\tlet selectedColumns = this.get('columns').filterBy('selected').mapBy('key')\n\t\t\tlet previosColumns = this.get(`currentUser.reportsColumns.${this.report.moduleName}`)\n\t\t\tlet columns = []\n\t\t\tlet updateValue = false\n\t\t\tpreviosColumns.forEach(item => {\n\t\t\t\tif (selectedColumns.indexOf(item) != -1) { // is selected\n\t\t\t\t\tcolumns.push(item)\n\t\t\t\t\tselectedColumns.splice(selectedColumns.indexOf(item), 1) // remove from selected\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tupdateValue = true\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (selectedColumns.length) { // add new seleted columns\n\t\t\t\tupdateValue = true\n\t\t\t\tcolumns = columns.concat(selectedColumns)\n\t\t\t}\n\n\t\t\tif (updateValue) {\n\t\t\t\tthis.get('currentUser').updateHeaders(this.report.moduleName, columns)\n\t\t\t}\n\t\t},\n\t}\n})\n","export default Ember.HTMLBars.template({\"id\":\"NCdxrCB4\",\"block\":\"{\\\"symbols\\\":[\\\"option\\\",\\\"index\\\",\\\"item\\\",\\\"item\\\",\\\"item\\\",\\\"col\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"report\\\",\\\"name\\\"]],\\\"tacho-files\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"dc-button icon\\\",[25,\\\"unless\\\",[[20,[\\\"report\\\",\\\"allowImport\\\"]],\\\" disabled\\\"],null]]]],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoFiles.buttonLabel\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"import\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"force-download-icon\\\"],[9,\\\"src\\\",\\\"../../assets/images/refresh-download-blue.svg\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"dc-button icon\\\",[25,\\\"unless\\\",[[20,[\\\"report\\\",\\\"allowImport\\\"]],\\\" disabled\\\"],null]]]],[10,\\\"title\\\",[26,[[25,\\\"if\\\",[[20,[\\\"report\\\",\\\"allowImport\\\"]],[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"report\\\",\\\"name\\\"]],\\\"fuel-level\\\"],null],\\\"reports.fuelLevel.import.title\\\",\\\"reports.poi.importPlan.title\\\"],null]],null]],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"import\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"orange upload icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"specificDownload\\\"]],[20,[\\\"specificDownloadAction\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-button icon pointer\\\"],[3,\\\"action\\\",[[19,0,[]],[20,[\\\"specificDownloadAction\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"yellow download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\",\\\"onHide\\\"],[[25,\\\"concat\\\",[\\\"download-report dc-button icon top left pointing item\\\",[25,\\\"if\\\",[[20,[\\\"report\\\",\\\"downloadDisabled\\\"]],\\\" disabled\\\",\\\"\\\"],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"download\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onHide\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"yellow download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.downloads\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"report\\\",\\\"downloadPdfOnly\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"pdf\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file pdf outline icon\\\"],[7],[8],[0,\\\"PDF\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"report\\\",\\\"downloadCsvExcelOnly\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"xlsx\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file excel outline icon\\\"],[7],[8],[0,\\\"Excel\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"csv\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file csv outline icon\\\"],[7],[8],[0,\\\"CSV\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"xlsx\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file excel outline icon\\\"],[7],[8],[0,\\\"Excel\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"pdf\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file pdf outline icon\\\"],[7],[8],[0,\\\"PDF\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"csv\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file csv outline icon\\\"],[7],[8],[0,\\\"CSV\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"dc-button icon\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"report\\\",\\\"downloadDisabled\\\"]],[20,[\\\"report\\\",\\\"printDisabled\\\"]]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"print\\\"]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"purple print icon\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-button icon disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"green mail icon\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onHide\\\",\\\"action\\\"],[[25,\\\"concat\\\",[[25,\\\"if\\\",[[20,[\\\"columns\\\"]],[25,\\\"if\\\",[[20,[\\\"maxEyeHeight\\\"]],\\\"max500 \\\",\\\"\\\"],null],\\\"disabled \\\"],null],\\\"dc-button icon top right pointing item dc-inverted-dd\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"hideColumnsMenu\\\"],null],\\\"nothing\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"green eye icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu overflow-auto max-h-75vh\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"columns\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item\\\",[25,\\\"if\\\",[[19,6,[\\\"selected\\\"]],\\\"\\\",\\\" not-selected\\\"],null]]]],[10,\\\"data-value\\\",[19,6,[\\\"key\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"updateColumn\\\",[19,6,[]]]],[7],[1,[25,\\\"t\\\",[[19,6,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"report-settings dc-button icon ui top right pointing dropdown \\\",[25,\\\"if\\\",[[20,[\\\"noOptions\\\"]],\\\"disabled\\\"],null]]]],[10,\\\"disabled\\\",[18,\\\"noOptions\\\"],null],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"blue setting icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui vertical left menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"report\\\",\\\"options\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"divider\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[19,1,[\\\"valuePath\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"checkbox\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-checkbox\\\",null,[[\\\"class\\\",\\\"label\\\",\\\"checked\\\",\\\"onChange\\\"],[\\\"item\\\",[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],[25,\\\"get\\\",[[20,[\\\"currentUser\\\",\\\"user\\\"]],[19,1,[\\\"valuePath\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],\\\"setOptionPath\\\",[19,1,[\\\"valuePath\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"checkbox-dropdown\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-checkbox\\\",null,[[\\\"class\\\",\\\"label\\\",\\\"checked\\\",\\\"onChange\\\"],[\\\"item\\\",[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],[25,\\\"get\\\",[[20,[\\\"currentUser\\\",\\\"user\\\"]],[19,1,[\\\"checkboxValuePath\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],\\\"setOptionPath\\\",[19,1,[\\\"checkboxValuePath\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"get\\\",[[20,[\\\"currentUser\\\",\\\"user\\\"]],[19,1,[\\\"checkboxValuePath\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"onlyLeft left pointing item\\\",[25,\\\"get\\\",[[20,[\\\"currentUser\\\",\\\"user\\\"]],[19,1,[\\\"dropdownValuePath\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],\\\"setOptionPath\\\",[19,1,[\\\"dropdownValuePath\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"flipped dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"items\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,5,[\\\"value\\\"]],null],[7],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[0,\\\" \\\"],[1,[19,5,[\\\"text\\\"]],false],[1,[25,\\\"if\\\",[[19,5,[\\\"translationUnitKey\\\"]],[25,\\\"t\\\",[[19,5,[\\\"translationUnitKey\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"radio\\\"],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[\\\"items\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"priority\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"priority\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"priority\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"fuelSource\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"fuelSource\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"fuelSource\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"showFluctuations\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"showFluctuations\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"showFluctuations\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"heatmap\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"optionHeatmap\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"optionHeatmap\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"timetable\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"reportsTimetable\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"reportsTimetable\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"poiaddress\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"poiAddress\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"poiAddress\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"consumptionFormat\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"consumptionFormat\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"consumptionFormat\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"cngUnit\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"cngUnit\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"cngUnit\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"name\\\"]],\\\"grouping\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"grouping\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"grouping\\\"]],[19,4,[\\\"value\\\"]]],null],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[19,4,[\\\"selected\\\"]],\\\"isSelected active selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setOption\\\",[19,4,[]],[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,4,[\\\"selected\\\"]],\\\"dot\\\"],null],\\\" circle outline icon\\\"]]],[7],[8],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"type\\\"]],\\\"dropdown\\\"],null]],null,{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"onlyLeft left pointing item\\\",[25,\\\"get\\\",[[20,[\\\"currentUser\\\"]],[19,1,[\\\"name\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],\\\"changeDuration\\\",[19,1,[\\\"name\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"flipped dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"items\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,3,[\\\"value\\\"]],null],[7],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[0,\\\" \\\"],[1,[19,3,[\\\"text\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[1,2]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/reports/report-actions/template.hbs\"}});","import Ember from 'ember';\n// component for fix nested accordion behaviour\n// https://github.com/Semantic-Org/Semantic-UI-Ember/issues/172\nimport Accordion from 'semantic-ui-ember/components/ui-accordion';\n\nexport default Accordion.extend({\n    didInsertElement() {\n        Ember.run.schedule('afterRender', this, function () {\n            this.$('.ui.accordion').accordion();\n        });\n    }\n});","export default Ember.HTMLBars.template({\"id\":\"QqbI3i42\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/semantic/ui-accordion/template.hbs\"}});","import Ember from 'ember';\n// IMPORTANT: parent position should be relative\nexport default Ember.Component.extend({\n    classNames:['ui active loader simple-loader fullWidthHeight']\n});\n","export default Ember.HTMLBars.template({\"id\":\"XRM15Ulm\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/components/simple-loader/template.hbs\"}});","import sortableGroup from 'ember-sortable/components/sortable-group';\n\nexport default sortableGroup;\n","import sortableItem from 'ember-sortable/components/sortable-item';\n\nexport default sortableItem;\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n});\n","import Ember from 'ember'\n\nexport default Ember.Controller.extend({\n\tmenuService: Ember.inject.service('main-menu'),\n\tmenu: [\n\t\tEmber.Object.create({\n\t\t\tname: 'route.add',\n\t\t\troute: 'dispatch.routes.add',\n\t\t\ttranslationKey: 'menu.dispatch.routes.add',\n\t\t})\n\t]\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { map, sort } from '@ember/object/computed'\nimport { inject as service } from '@ember/service'\n\nlet tHeaders = [\n\t{ key: 'name', translationKey: 'dispatch.clients.header.name', align: 'left', selected: true },\n]\n\nexport default Controller.extend({\n\tapi: service(),\n\tmodal: service(),\n\ti18n: service(),\n\tcurrentUser: service(),\n\n\tsearch: '',\n\tsorting: ['createdAt:desc'],\n\theader: map('currentUser.clientsColumns', function(key) {\n\t\tswitch (key) {\n\t\t\tcase 'name': return tHeaders[0]\n\t\t}\n\t}),\n\tcolumns: computed('currentUser.clientsColumns.@each', function () {\n\t\tconst enabled = this.get('currentUser.clientsColumns')\n\t\treturn tHeaders.map(header => {\n\t\t\tconst mapped = Object.assign({}, header)\n\t\t\tmapped.selected = enabled.includes(mapped.key)\n\t\t\treturn mapped\n\t\t})\n\t}),\n\tfilteredClients: computed('model.clients.@each.hasDirtyAttributes', 'search', function () {\n\t\tconst search = this.get('search').toLowerCase()\n\t\tconst clients = this.get('model.clients')\n\t\treturn clients.filter(client => {\n\t\t\tif (search.length < 1) { return true }\n\t\t\treturn (client.getWithDefault('name', '').toLowerCase().includes(search))\n\t\t})\n\t}),\n\tsortedClients: sort('filteredClients.[]', 'sorting'),\n\n\tactions: {\n\t\tadd() {\n\t\t\tthis.get('modal').open('client-create')\n\t\t},\n\t\trollback(client) {\n\t\t\tclient.rollbackAttributes()\n\t\t\tclient.set('isEditing', false)\n\t\t},\n\t\tsave(client) {\n\t\t\tthis.get('api').patch(`clients/${client.get('id')}`, {\n\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\tclient: {\n\t\t\t\t\t\tname: client.get('name'),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\tclient.reload()\n\t\t\t\tclient.set('isEditing', false)\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t})\n\t\t},\n\t\tdelete(client) {\n\t\t\tthis.get('modal').open('dc-confirmation', {\n\t\t\t\ttittle: `Ștergere client`,\n\t\t\t\tcontent: `Doriți să ștergeți clientul <b>${client.get('name')}</b> ?`,\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\tclient.destroyRecord()\n\t\t\t\t.then(() => {\n\t\t\t\t\treturn this.get('store').unloadRecord(client)\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tupdateHeaders(headers) {\n\t\t\tthis.get('currentUser.user').set('settings.dispatch.clients.columnOrder', headers)\n\t\t\tthis.get('currentUser.user').save()\n\t\t},\n\t\ttoggleColumn(col, i) {\n\t\t\tconst headers = this.get('currentUser.clientsColumns')\n\t\t\tif (col.selected) {\n\t\t\t\theaders.removeObject(col.key)\n\t\t\t} else {\n\t\t\t\theaders.insertAt(i, col.key)\n\t\t\t}\n\n\t\t\tthis.send('updateHeaders', headers)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport mapMixin from 'tracknamic-smb/mixins/map'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\nimport { get, set, setProperties, computed } from '@ember/object'\nimport { merge } from '@ember/polyfills'\nimport { inject as service } from '@ember/service'\nimport { debounce } from '@ember/runloop'\nimport { gt, alias, filterBy, reads, empty } from '@ember/object/computed'\nimport { copy } from '@ember/object/internals'\nimport { isEmpty } from '@ember/utils'\nimport { isArray } from '@ember/array'\nimport config from 'tracknamic-smb/config/environment'\nimport { task, timeout, all } from 'ember-concurrency'\nimport copyToClipboard from 'tracknamic-smb/utils/copy-clipboard'\n\nexport default Controller.extend(mapMixin, datesMixin, {\n\tapi: service(),\n\tgoogleMapsAPI: service(),\n\tfullscreen: service(),\n\tmodal: service(),\n\tmap: null,\n\tshowVehicles: true,\n\tgoogle: reads('googleMapsAPI.google'),\n\trootURL: config.rootURL,\n\n\tmarkers: filterBy('routes.0.markers', 'type', 'waypoint'),\n\n\tlegs: [\n\t\t{ label: '1', distance: 0, duration: 0, markerClass: 'lightgray', rowClass: \"dark-text\" },\n\t\t{ label: '2', distance: 0, duration: 0, markerClass: 'darkgray' },\n\t\t{ label: '3', distance: 0, duration: 0, markerClass: 'darkgray' },\n\t\t{ label: '4', distance: 0, duration: 0, markerClass: 'darkgray' },\n\t\t{ label: '5', distance: 0, duration: 0, markerClass: 'darkgray' },\n\t],\n\troutes: [\n\t\t{ type: 'primary', color: '#FFB836', distance: 0, duration: 0,\n\t\t\tname: null,\n\t\t\tpath: [],\n\t\t\twaypoints: [],\n\t\t\tlegs: [],\n\t\t\talternatives: [],\n\t\t\tinfo: {\n\t\t\t\tshow: gt('routes.0.path.[].length', 1),\n\t\t\t\tlat: alias('routes.0.firstObject.lat'),\n\t\t\t\tlng: alias('routes.0.firstObject.lng'),\n\t\t\t},\n\t\t\tmarkers: [],\n\t\t\tdragContext: {},\n\t\t},\n\t\t{ type: 'cheapest', color: '#2FB93D', distance: 0, duration: 0, cost: { total: 0, driver: 0, vehicle: 0, toll: 0 } },\n\t\t{ type: 'shortest', color: '#2546EF', distance: 0, duration: 0, cost: { total: 0, driver: 0, vehicle: 0, toll: 0 } },\n\t\t{ type: 'fastest', color: '#E2398A', distance: 0, duration: 0, cost: { total: 0, driver: 0, vehicle: 0, toll: 0 } },\n\t],\n\n\t/** Route between selected vehicle and first waypoint of primary route */\n\tsecondaryRoute: {\n\t\tvehicle: null,\n\t\tpath: [],\n\t\tdistance: 0,\n\t\tduration: 0,\n\t\tinfo: {\n\t\t\tshow: gt('secondaryRoute.path.length', 1),\n\t\t\tlat: alias('secondaryRoute.path.firstObject.lat'),\n\t\t\tlng: alias('secondaryRoute.path.firstObject.lng'),\n\t\t},\n\t\tmarkers: [],\n\t\tdragContext: {},\n\t},\n\tstash: [],\n\tcanStash: empty('routes.0.path'),\n\tcanSave: empty('routes.0.path'),\n\ttransportTypes: [\n\t\t{ id: 'standard', selected: true },\n\t\t{ id: 'adr', selected: false },\n\t\t{ id: 'freezer', selected: false },\n\t\t{ id: 'secure', selected: false },\n\t],\n\ttotalDistance: computed('routes.0.distance', 'secondaryRoute.distance', function () {\n\t\tconst primary = get(this, 'routes.0.distance') || 0\n\t\tconst secondary = get(this, 'secondaryRoute.distance') || 0\n\t\treturn primary + secondary\n\t}),\n\ttotalDuration: computed('routes.0.duration', 'secondaryRoute.duration', function () {\n\t\tconst primary = get(this, 'routes.0.duration') || 0\n\t\tconst secondary = get(this, 'secondaryRoute.duration') || 0\n\t\treturn primary + secondary\n\t}),\n\tprofitability: computed('routes.0.distance', 'secondaryRoute.distance', function () {\n\t\tconst primaryDistance = get(this, 'routes.0.distance') || 0\n\t\tconst secondaryDistance = get(this, 'secondaryRoute.distance') || 0\n\n\t\tif (secondaryDistance === 0) {\n\t\t\treturn null\n\t\t} else if (secondaryDistance < (0.1 * primaryDistance)) {\n\t\t\treturn 'high'\n\t\t} else if (secondaryDistance < (0.3 * primaryDistance)) {\n\t\t\treturn 'medium';\n\t\t}\n\n\t\treturn 'low'\n\t}),\n\tlossPaidRatio: computed('routes.0.distance', 'secondaryRoute.distance', function () {\n\t\tconst primary = get(this, 'routes.0.distance') || 0\n\t\tconst secondary = get(this, 'secondaryRoute.distance') || 0\n\t\tif (secondary === 0) { return 0 }\n\t\treturn parseInt((secondary / primary) * 100)\n\t}),\n\tdriverCost:  computed('routes.0.duration', 'secondaryRoute.duration', function () {\n\t\tconst totalDuration = (get(this, 'routes.0.duration') || 0) + (get(this, 'secondaryRoute.duration') || 0)\n\t\treturn parseInt((totalDuration / 3600000) * 14)\n\t}),\n\tvehicleCost: computed('routes.0.distance', 'secondaryRoute.distance', function () {\n\t\tconst totalDistance = (get(this, 'routes.0.distance') || 0) + (get(this, 'secondaryRoute.distance') || 0)\n\t\treturn parseInt(totalDistance * .67)\n\t}),\n\ttotalCost: computed('driverCost', 'vehicleCost', function () {\n\t\tconst driverCost = parseInt(get(this, 'driverCost')) || 0\n\t\tconst vehicleCost = parseInt(get(this, 'vehicleCost')) || 0\n\t\treturn parseInt(driverCost + vehicleCost)\n\t}),\n\n\trouteFast: task(function * (markers, type) {\n\t\tif (markers.length < 2) {\n\t\t\treturn\n\t\t}\n\n\t\tyield timeout(300)\n\n\t\tconst response = yield this.get('api').request('/geo/route2', {\n\t\t\tdata: {\n\t\t\t\tcoordinates: markers.map(marker => `${marker.lat},${marker.lng}`).join(';'),\n\t\t\t}\n\t\t})\n\n\t\tset(this, `${type}.distance`, Math.round(response.summary.distance / 1000))\n\t\tset(this, `${type}.duration`, response.summary.travelTime * 1000)\n\t\tget(this, `${type}.path`).setObjects(response.shape.map(coordinates => {\n\t\t\tconst parts = coordinates.split(',')\n\t\t\treturn { lat: parseFloat(parts[0]), lng: parseFloat(parts[1]) }\n\t\t}))\n\n\t\tmarkers.forEach((marker, index, array) => {\n\t\t\tlet pathIndex = response.shape.findIndex(waypoint => this.getDistance(waypoint, marker) < 500)\n\t\t\tif (index === 0) { pathIndex = 0 } else if (index === array.length - 1) { pathIndex = response.shape.length - 1 }\n\t\t\tif (pathIndex < 0) { return }\n\n\t\t\tset(marker, 'pathIndex', pathIndex)\n\t\t})\n\n\t\tif (type === 'routes.0') {\n\t\t\tget(this, 'routes.0.waypoints').setObjects(response.waypoint.map(waypoint => {\n\t\t\t\treturn { lat: waypoint.mappedPosition.latitude, lng: waypoint.mappedPosition.longitude, pathIndex: waypoint.shapeIndex }\n\t\t\t}))\n\t\t\tset(this, 'routes.0.cost', { total: get(this, 'totalCost'), driver: get(this, 'driverCost'), vehicle: get(this, 'vehicleCost'), toll: 0 })\n\n\t\t\tlet legs = []\n\t\t\tmarkers.forEach((marker, index, arr) => {\n\t\t\t\tif (index >= arr.length - 1) { return }\n\n\t\t\t\tif (marker.type === 'waypoint') {\n\t\t\t\t\tlegs.push({\n\t\t\t\t\t\tdistance: 0,\n\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tlegs[legs.length - 1].distance += Math.round(response.leg[index].length / 1000)\n\t\t\t\tlegs[legs.length - 1].duration += response.leg[index].travelTime * 1000\n\t\t\t\tlegs[legs.length - 1].label = legs.length + 1\n\t\t\t})\n\t\t\tget(this, 'legs').forEach((leg, index) => {\n\t\t\t\tif (index === 0) { return }\n\t\t\t\tif (index > legs.length) {\n\t\t\t\t\tset(leg, 'distance', 0)\n\t\t\t\t\tset(leg, 'duration', 0)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tset(leg, 'distance', legs[index - 1].distance)\n\t\t\t\tset(leg, 'duration', legs[index - 1].duration)\n\t\t\t})\n\t\t} else {\n\t\t\tset(this, 'secondaryRoute.vehicle', get(this, 'model.vehicles').findBy('id', get(markers, 'firstObject.id')))\n\t\t\tset(this, 'legs.0.distance', get(this, 'secondaryRoute.distance'))\n\t\t\tset(this, 'legs.0.duration', get(this, 'secondaryRoute.duration'))\n\t\t}\n\t}).restartable(),\n\trouteOptimized: task(function * (markers) {\n\t\tif (markers.length < 2) {\n\t\t\treturn\n\t\t}\n\n\t\tyield timeout(300)\n\n\t\tconst coordinates = markers.map(marker => `${marker.lat},${marker.lng}`).join(';')\n\t\tconst alternatives = get(this, 'routes.0.alternatives')\n\t\talternatives.clear()\n\n\t\tconst tasks = [\n\t\t\tget(this, 'routePro').perform({\n\t\t\t\tcoordinates,\n\t\t\t\tmode: 'fastest;truck;traffic:enabled;',\n\t\t\t}),\n\t\t\tget(this, 'routePro').perform({\n\t\t\t\tcoordinates,\n\t\t\t\tmode: 'fastest;truck;traffic:enabled;tollroad:0',\n\t\t\t}),\n\t\t\tget(this, 'routePro').perform({\n\t\t\t\tcoordinates,\n\t\t\t\tmode: 'fastest;truck;traffic:enabled;tollroad:-2',\n\t\t\t}),\n\t\t]\n\t\tconst responses = yield all(tasks)\n\t\tresponses.forEach((response, index) => {\n\t\t\tconst route = {\n\t\t\t\tcost: {\n\t\t\t\t\ttotal: parseInt(response.cost.totalCost) || 0,\n\t\t\t\t\tdriver: parseInt(response.cost.details.driverCost) || 0,\n\t\t\t\t\tvehicle: parseInt(response.cost.details.vehicleCost) || 0,\n\t\t\t\t\ttoll: parseInt(response.cost.details.tollCost) || 0,\n\t\t\t\t},\n\t\t\t\tdistance: Math.round(response.summary.distance / 1000),\n\t\t\t\tduration: response.summary.travelTime * 1000,\n\t\t\t}\n\t\t\tlet shape = []\n\t\t\tfor (let i = 1; i < response.shape.length; i+=2) {\n\t\t\t\tshape.push({ lat: response.shape[i - 1], lng: response.shape[i] })\n\t\t\t}\n\t\t\troute.path = shape\n\t\t\talternatives.addObject(route)\n\t\t})\n\n\t\tlet routes = copy(alternatives)\n\n\t\tconst cheapest = routes.reduce((acc, route, index) => route.cost.total < acc.cost ? { cost: route.cost.total, index } : acc, { cost: routes[0].cost.total, index: 0 })\n\t\troutes[cheapest.index].type = 'cheapest'\n\t\troutes[cheapest.index].color = '#2FB93D'\n\t\tset(this, 'routes.1.distance', routes[cheapest.index].distance)\n\t\tset(this, 'routes.1.duration', routes[cheapest.index].duration)\n\t\tset(this, 'routes.1.cost.total', routes[cheapest.index].cost.total)\n\t\tset(this, 'routes.1.cost.driver', routes[cheapest.index].cost.driver)\n\t\tset(this, 'routes.1.cost.vehicle', routes[cheapest.index].cost.vehicle)\n\t\tset(this, 'routes.1.cost.toll', routes[cheapest.index].cost.toll)\n\t\troutes.removeAt(cheapest.index, 1)\n\n\t\tconst fastest = routes.reduce((acc, route, index) => route.duration < acc.duration ? { duration: route.duration, index } : acc, { duration: routes[0].cost, index: 0 })\n\t\troutes[fastest.index].type = 'fastest'\n\t\troutes[fastest.index].color = '#E2398A'\n\t\tset(this, 'routes.3.distance', routes[fastest.index].distance)\n\t\tset(this, 'routes.3.duration', routes[fastest.index].duration)\n\t\tset(this, 'routes.3.cost.total', routes[fastest.index].cost.total)\n\t\tset(this, 'routes.3.cost.driver', routes[fastest.index].cost.driver)\n\t\tset(this, 'routes.3.cost.vehicle', routes[fastest.index].cost.vehicle)\n\t\tset(this, 'routes.3.cost.toll', routes[fastest.index].cost.toll)\n\t\troutes.removeAt(fastest.index, 1)\n\n\t\tconst shortest = routes.reduce((acc, route, index) => route.distance < acc.distance ? { distance: route.distance, index } : acc, { distance: routes[0].cost, index: 0 })\n\t\troutes[shortest.index].type = 'shortest'\n\t\troutes[shortest.index].color = '#2546EF'\n\t\tset(this, 'routes.2.distance', routes[shortest.index].distance)\n\t\tset(this, 'routes.2.duration', routes[shortest.index].duration)\n\t\tset(this, 'routes.2.cost.total', routes[shortest.index].cost.total)\n\t\tset(this, 'routes.2.cost.driver', routes[shortest.index].cost.driver)\n\t\tset(this, 'routes.2.cost.vehicle', routes[shortest.index].cost.vehicle)\n\t\tset(this, 'routes.2.cost.toll', routes[shortest.index].cost.toll)\n\t}).restartable(),\n\troutePro: task(function * (options) {\n\t\tyield timeout(300)\n\n\t\tlet data = {\n\t\t\tmapMatchRadius: 5000,\n\t\t\ttollVehicleType: 3,\n\t\t\tmode: 'fastest;truck;traffic:enabled',\n\t\t\trollups: 'none,total,tollsys,country,country;tollsys',\n\t\t\trouteAttributes: 'sh',\n\t\t\tdriver_cost: 14,\n\t\t\tvehicle_cost: 0.67,\n\t\t\ttrailersCount: 1,\n\t\t\ttrailerType: 2,\n\t\t\tvehicleNumberAxles: 2,\n\t\t\ttrailerNumberAxles: 3,\n\t\t\temissionType: 6,\n\t\t\twidth: '255cm',\n\t\t\theight: '400cm',\n\t\t\trestTimes: '16200,2700,32400,39600',\n\t\t}\n\t\tmerge(data, options)\n\t\tconst response = yield this.get('api').request('/geo/route3', {\n\t\t\tdata\n\t\t})\n\t\treturn response\n\t}).enqueue().maxConcurrency(3),\n\n\tactions: {\n\t\tonLoad(PublicAPI) {\n\t\t\tconst map = PublicAPI.map\n\t\t\tthis.set('map', map)\n\n\t\t\tconst vehicles = get(this, 'model.vehicles')\n\t\t\tif (!isEmpty(vehicles)) {\n\t\t\t\tconst bounds = new window.google.maps.LatLngBounds()\n\t\t\t\tvehicles.forEach(vehicle => {\n\t\t\t\t\tconst latlng = get(vehicle, 'status.locationLatLng')\n\t\t\t\t\tif (isEmpty(latlng)) { return }\n\t\t\t\t\tbounds.extend(latlng)\n\t\t\t\t})\n\t\t\t\tmap.fitBounds(bounds)\n\t\t\t} else {\n\t\t\t\tmap.setCenter({ lat: 45.9432, lng: 24.9668 })\n\t\t\t}\n\n\t\t},\n\t\tonClick(event) {\n\t\t\tconst markers = get(this, 'routes.0.markers')\n\t\t\tconst lastWaypointIndex = markers.reduce((value, marker) => value += marker.type === 'waypoint' ? 1 : 0, -1)\n\t\t\tif (lastWaypointIndex >= 4) { return }\n\n\t\t\tmarkers.addObject({\n\t\t\t\tid: get(markers, 'length'),\n\t\t\t\tpathIndex: get(this, 'routes.0.path.length') || 0,\n\t\t\t\tlabel: `${lastWaypointIndex + 2}`,\n\t\t\t\ttype: 'waypoint',\n\t\t\t\tlat: event.googleEvent.latLng.lat(),\n\t\t\t\tlng: event.googleEvent.latLng.lng(),\n\t\t\t})\n\n\t\t\tthis.send('updatePrimaryRoute', markers)\n\t\t},\n\t\tonPrimaryRouteMarkerClick(marker) {\n\t\t\tconst markers = get(this, 'routes.0.markers')\n\t\t\tmarkers.removeObject(marker)\n\n\t\t\t// Update remaining markers' label\n\t\t\tlet index = 0\n\t\t\tmarkers.forEach(m => {\n\t\t\t\tif (m.type === 'waypoint') {\n\t\t\t\t\tindex++\n\t\t\t\t\tset(m, 'label', `${index}`)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tthis.send('updatePrimaryRoute', markers)\n\n\t\t\tif (markers.length < 2) {\n\t\t\t\tthis.send('updateSecondaryRoute')\n\t\t\t} else if (!isEmpty(get(this, 'secondaryRoute.vehicle')) && markers[0].lat !== get(this, 'secondaryRoute.path.0.lat') && markers[0].lng !== get(this, 'secondaryRoute.path.0.lng')) {\n\t\t\t\tconst markers = get(this, 'secondaryRoute.markers')\n\n\t\t\t\tthis.send('updateSecondaryRoute', markers)\n\t\t\t}\n\t\t},\n\t\tonVehicleMarkerClick(vehicle) {\n\t\t\tconst markers = get(this, 'secondaryRoute.markers')\n\t\t\tlet marker = {\n\t\t\t\tid: get(vehicle, 'id'),\n\t\t\t\tlabel: get(vehicle, 'licensePlate'),\n\t\t\t\tlat: get(vehicle, 'status.locationLatLng.lat'),\n\t\t\t\tlng: get(vehicle, 'status.locationLatLng.lng'),\n\t\t\t}\n\n\t\t\t// Remove secondary route on second click\n\t\t\tif (marker.id === get(this, 'secondaryRoute.vehicle.id')) {\n\t\t\t\tset(this, 'secondaryRoute.vehicle', null)\n\t\t\t\tset(this, 'secondaryRoute.duration', null)\n\t\t\t\tset(this, 'secondaryRoute.distance', null)\n\t\t\t\tget(this, 'secondaryRoute.path').clear()\n\t\t\t\tmarkers.clear()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (get(this, 'markers.length') < 2) { return }\n\n\t\t\tmarkers.replace(0, 1, [marker])\n\t\t\tthis.send('updateSecondaryRoute', markers)\n\t\t},\n\t\tonMarkerRightClick(type, entity, event) {\n\t\t\tif (event.event.button !== 2) { return }\n\n\t\t\tlet data = { lat: 0, lng: 0 }\n\t\t\tswitch (type) {\n\t\t\t\tcase 'vehicle':\n\t\t\t\t\tdata.lat = entity.get('status.locationLatLng.lat')\n\t\t\t\t\tdata.lng = entity.get('status.locationLatLng.lng')\n\t\t\t\t\tdata.text = entity.get('licensePlate')\n\t\t\t\t\tbreak\n\t\t\t\tcase 'marker':\n\t\t\t\t\tdata.lat = entity.lat\n\t\t\t\t\tdata.lng = entity.lng\n\t\t\t\t\tdata.text = entity.label\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tcopyToClipboard(`${data.text} - ${data.lat.toFixed(6)}, ${data.lng.toFixed(6)}`)\n\n\t\t\tthis.toast.success(this.get('i18n').t('messages.coordsCopiedToClipboard'))\n\t\t},\n\n\t\tcopyToClipboard() {\n\t\t\tconst primaryMarkers = get(this, 'routes.0.markers')\n\t\t\tconst secondaryMarkers = get(this, 'secondaryRoute.markers')\n\n\t\t\tlet data = []\n\t\t\tif (secondaryMarkers.length > 0) {\n\t\t\t\tdata.push(`${secondaryMarkers[0].label} - ${secondaryMarkers[0].lat.toFixed(6)}, ${secondaryMarkers[0].lng.toFixed(6)}`)\n\t\t\t}\n\n\t\t\tprimaryMarkers.forEach(marker => {\n\t\t\t\tdata.push(`${marker.label} - ${marker.lat.toFixed(6)}, ${marker.lng.toFixed(6)}`)\n\t\t\t})\n\n\t\t\tif (data.length === 0) { return }\n\t\t\tcopyToClipboard(data.join('\\n'))\n\n\t\t\tthis.toast.success(this.get('i18n').t('messages.coordsCopiedToClipboard'))\n\t\t},\n\n\t\tonRouteDragStart(type, event) {\n\t\t\tconst location = { lat: event.googleEvent.latLng.lat(), lng: event.googleEvent.latLng.lng() }\n\t\t\tconst path = type === 'primary' ? 'routes.0' : 'secondaryRoute'\n\t\t\t/** Index of closest point in route path (in 500 meter radius) */\n\t\t\tconst pathIndex = get(this, `${path}.path`).findIndex(waypoint => this.getDistance(waypoint, location) < 500)\n\t\t\tif (pathIndex < 0) { return }\n\t\t\t\n\t\t\tlet nextWaypointIndex = get(this, `${path}.markers`).findIndex(marker => marker.pathIndex > pathIndex)\n\t\t\tif (nextWaypointIndex < 0) { nextWaypointIndex = 1 }\n\t\t\t\n\t\t\tconst dragContext = get(this, `${path}.dragContext`)\n\t\t\tsetProperties(dragContext, { pathIndex, nextWaypointIndex })\n\t\t},\n\t\tonRouteDragMove(type, event) {\n\t\t\tconst path = type === 'primary' ? 'routes.0' : 'secondaryRoute'\n\t\t\tconst dragContext = get(this, `${path}.dragContext`)\n\t\t\tconst nextWaypointIndex = get(dragContext, 'nextWaypointIndex')\n\t\t\tif (nextWaypointIndex == null) { return }\n\t\t\t\n\t\t\tconst markers = copy(get(this, `${path}.markers`), true)\n\t\t\tmarkers.insertAt(nextWaypointIndex, { lat: event.googleEvent.latLng.lat(), lng: event.googleEvent.latLng.lng() })\n\t\t\t\n\t\t\tthis.send(`update${type.charAt(0).toUpperCase() + type.slice(1)}Route`, markers)\n\t\t},\n\t\tonRouteDragEnd(type, event) {\n\t\t\tconst path = type === 'primary' ? 'routes.0' : 'secondaryRoute'\n\t\t\tconst dragContext = get(this, `${path}.dragContext`)\n\t\t\tconst pathIndex = get(dragContext, 'pathIndex')\n\t\t\tconst nextWaypointIndex = get(dragContext, 'nextWaypointIndex')\n\t\t\tsetProperties(dragContext, { pathIndex: null, nextWaypointIndex: null })\n\t\t\tif (nextWaypointIndex == null) { return }\n\n\t\t\tconst markers = get(this, `${path}.markers`)\n\n\t\t\tif (event.event.button === 2) {\n\t\t\t\tthis.send(`update${type.charAt(0).toUpperCase() + type.slice(1)}Route`, markers)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tmarkers.insertAt(nextWaypointIndex, {\n\t\t\t\tid: nextWaypointIndex,\n\t\t\t\ttype: 'drag',\n\t\t\t\tpathIndex,\n\t\t\t\ticon: {\n\t\t\t\t\turl: `${config.rootURL}g-map-utils/map-marker-drag-red.png`,\n\t\t\t\t\tanchor: { x: 15, y: 15 },\n\t\t\t\t\tscaledSize: { width: 30, height: 30 },\n\t\t\t\t},\n\t\t\t\tlat: event.googleEvent.latLng.lat(),\n\t\t\t\tlng: event.googleEvent.latLng.lng(),\n\t\t\t})\n\t\t},\n\n\t\tupdatePrimaryRoute(markers) {\n\t\t\tif (markers.length > 0 && markers.length < 2) {\n\t\t\t\tget(this, 'routes.0.path').clear()\n\t\t\t\tget(this, 'routes.0.legs').clear()\n\t\t\t\tget(this, 'routes.0.alternatives').clear()\n\t\t\t\tset(this, 'routes.0.duration', 0)\n\t\t\t\tset(this, 'routes.0.distance', 0)\n\t\t\t\tset(this, 'routes.0.cost', { total: 0, driver: 0, vehicle: 0, toll: 0 })\n\t\t\t\tget(this, 'legs').forEach((leg, index) => {\n\t\t\t\t\tif (index === 0) { return }\n\t\t\t\t\tset(leg, 'distance', 0)\n\t\t\t\t\tset(leg, 'duration', 0)\n\t\t\t\t})\n\t\t\t\tset(this, 'routes.1.distance', 0)\n\t\t\t\tset(this, 'routes.1.duration', 0)\n\t\t\t\tset(this, 'routes.1.cost.total', 0)\n\t\t\t\tset(this, 'routes.1.cost.driver', 0)\n\t\t\t\tset(this, 'routes.1.cost.vehicle', 0)\n\t\t\t\tset(this, 'routes.1.cost.toll', 0)\n\t\t\t\tset(this, 'routes.2.distance', 0)\n\t\t\t\tset(this, 'routes.2.duration', 0)\n\t\t\t\tset(this, 'routes.2.cost.total', 0)\n\t\t\t\tset(this, 'routes.2.cost.driver', 0)\n\t\t\t\tset(this, 'routes.2.cost.vehicle', 0)\n\t\t\t\tset(this, 'routes.2.cost.toll', 0)\n\t\t\t\tset(this, 'routes.3.distance', 0)\n\t\t\t\tset(this, 'routes.3.duration', 0)\n\t\t\t\tset(this, 'routes.3.cost.total', 0)\n\t\t\t\tset(this, 'routes.3.cost.driver', 0)\n\t\t\t\tset(this, 'routes.3.cost.vehicle', 0)\n\t\t\t\tset(this, 'routes.3.cost.toll', 0)\n\t\t\t\tthis.set('showVehicles', false)\n\t\t\t} else if (markers.length === 0) {\n\t\t\t\tthis.set('showVehicles', true)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tget(this, 'routeFast').perform(markers, 'routes.0')\n\t\t},\n\t\tupdateSecondaryRoute(markers) {\n\t\t\tif (get(this, 'markers.length') < 2) {\n\t\t\t\tset(this, 'secondaryRoute.vehicle', null)\n\t\t\t\tget(this, 'secondaryRoute.path').clear()\n\t\t\t\tget(this, 'secondaryRoute.markers').clear()\n\t\t\t\tset(this, 'secondaryRoute.duration', 0)\n\t\t\t\tset(this, 'secondaryRoute.distance', 0)\n\t\t\t\tset(this, 'legs.0.distance', 0)\n\t\t\t\tset(this, 'legs.0.duration', 0)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tget(this, 'routeFast').perform([ ...markers, get(this, 'markers.firstObject') ], 'secondaryRoute')\n\t\t},\n\n\t\toptimize() {\n\t\t\tget(this, 'routeOptimized').perform(get(this, 'routes.0.markers'))\n\t\t},\n\t\ttoggleFullscreen() {\n\t\t\tconst elem = Ember.$('.dispatch.map .pageContent')\n\t\t\tthis.get('fullscreen').toggle(elem[0])\n\t\t},\n\t\treset() {\n\t\t\tset(this, 'secondaryRoute.vehicle', null)\n\t\t\tget(this, 'secondaryRoute.path').clear()\n\t\t\tget(this, 'secondaryRoute.markers').clear()\n\t\t\tset(this, 'secondaryRoute.duration', 0)\n\t\t\tset(this, 'secondaryRoute.distance', 0)\n\t\t\tget(this, 'routes.0.path').clear()\n\t\t\tget(this, 'routes.0.legs').clear()\n\t\t\tget(this, 'routes.0.markers').clear()\n\t\t\tget(this, 'routes.0.alternatives').clear()\n\t\t\tset(this, 'routes.0.name', null)\n\t\t\tset(this, 'routes.0.duration', 0)\n\t\t\tset(this, 'routes.0.distance', 0)\n\t\t\tset(this, 'routes.0.cost', { total: 0, driver: 0, vehicle: 0, toll: 0 })\n\t\t\tget(this, 'legs').forEach(leg => {\n\t\t\t\tset(leg, 'distance', 0)\n\t\t\t\tset(leg, 'duration', 0)\n\t\t\t})\n\t\t\tset(this, 'routes.1.distance', 0)\n\t\t\tset(this, 'routes.1.duration', 0)\n\t\t\tset(this, 'routes.1.cost.total', 0)\n\t\t\tset(this, 'routes.1.cost.driver', 0)\n\t\t\tset(this, 'routes.1.cost.vehicle', 0)\n\t\t\tset(this, 'routes.1.cost.toll', 0)\n\t\t\tset(this, 'routes.2.distance', 0)\n\t\t\tset(this, 'routes.2.duration', 0)\n\t\t\tset(this, 'routes.2.cost.total', 0)\n\t\t\tset(this, 'routes.2.cost.driver', 0)\n\t\t\tset(this, 'routes.2.cost.vehicle', 0)\n\t\t\tset(this, 'routes.2.cost.toll', 0)\n\t\t\tset(this, 'routes.3.distance', 0)\n\t\t\tset(this, 'routes.3.duration', 0)\n\t\t\tset(this, 'routes.3.cost.total', 0)\n\t\t\tset(this, 'routes.3.cost.driver', 0)\n\t\t\tset(this, 'routes.3.cost.vehicle', 0)\n\t\t\tset(this, 'routes.3.cost.toll', 0)\n\t\t},\n\t\tstash() {\n\t\t\tconst stash = get(this, 'stash')\n\t\t\tlet route = {\n\t\t\t\tsecondaryRoute: {\n\t\t\t\t\tvehicle: { id: copy(get(this, 'secondaryRoute.vehicle.id'), true) },\n\t\t\t\t\tpath: copy(get(this, 'secondaryRoute.path'), true),\n\t\t\t\t\tmarkers: copy(get(this, 'secondaryRoute.markers'), true),\n\t\t\t\t\tduration: copy(get(this, 'secondaryRoute.duration'), true),\n\t\t\t\t\tdistance: copy(get(this, 'secondaryRoute.distance'), true),\n\t\t\t\t},\n\t\t\t\troutes: copy(get(this, 'routes'), true),\n\t\t\t\tlegs: copy(get(this, 'legs'), true),\n\n\t\t\t\tname: get(this, 'routes.0.name') || `#${stash.length + 1}`,\n\t\t\t\tdistance: get(this, 'totalDistance'),\n\t\t\t\tcost: get(this, 'totalCost'),\n\t\t\t}\n\n\t\t\tstash.addObject(route)\n\t\t\tthis.send('reset')\n\t\t},\n\t\trestore(stashed) {\n\t\t\tset(this, 'secondaryRoute.vehicle', get(this, 'model.vehicles').findBy('id', get(stashed, 'secondaryRoute.vehicle.id')))\n\t\t\tget(this, 'secondaryRoute.path').setObjects(get(stashed, 'secondaryRoute.path'))\n\t\t\tget(this, 'secondaryRoute.markers').setObjects(get(stashed, 'secondaryRoute.markers'))\n\t\t\tset(this, 'secondaryRoute.duration', get(stashed, 'secondaryRoute.duration'))\n\t\t\tset(this, 'secondaryRoute.distance', get(stashed, 'secondaryRoute.distance'))\n\t\t\tget(this, 'routes.0.path').setObjects(get(stashed, 'routes.0.path'))\n\t\t\tget(this, 'routes.0.legs').setObjects(get(stashed, 'routes.0.legs'))\n\t\t\tget(this, 'routes.0.markers').setObjects(get(stashed, 'routes.0.markers'))\n\t\t\tget(this, 'routes.0.alternatives').setObjects(get(stashed, 'routes.0.alternatives'))\n\t\t\tset(this, 'routes.0.name', get(stashed, 'name'))\n\t\t\tset(this, 'routes.0.duration', get(stashed, 'routes.0.duration'))\n\t\t\tset(this, 'routes.0.distance', get(stashed, 'routes.0.distance'))\n\t\t\tset(this, 'routes.0.cost', get(stashed, 'routes.0.cost'))\n\t\t\tget(this, 'legs').forEach((leg, index) => {\n\t\t\t\tset(leg, 'distance', get(stashed, `legs.${index}.distance`))\n\t\t\t\tset(leg, 'duration', get(stashed, `legs.${index}.duration`))\n\t\t\t})\n\t\t\tset(this, 'routes.1.distance', get(stashed, 'routes.1.distance'))\n\t\t\tset(this, 'routes.1.duration', get(stashed, 'routes.1.duration'))\n\t\t\tset(this, 'routes.1.cost.total', get(stashed, 'routes.1.cost.total'))\n\t\t\tset(this, 'routes.1.cost.driver', get(stashed, 'routes.1.cost.driver'))\n\t\t\tset(this, 'routes.1.cost.vehicle', get(stashed, 'routes.1.cost.vehicle'))\n\t\t\tset(this, 'routes.1.cost.toll', get(stashed, 'routes.1.cost.toll'))\n\t\t\tset(this, 'routes.2.distance', get(stashed, 'routes.2.distance'))\n\t\t\tset(this, 'routes.2.duration', get(stashed, 'routes.2.duration'))\n\t\t\tset(this, 'routes.2.cost.total', get(stashed, 'routes.2.cost.total'))\n\t\t\tset(this, 'routes.2.cost.driver', get(stashed, 'routes.2.cost.driver'))\n\t\t\tset(this, 'routes.2.cost.vehicle', get(stashed, 'routes.2.cost.vehicle'))\n\t\t\tset(this, 'routes.2.cost.toll', get(stashed, 'routes.2.cost.toll'))\n\t\t\tset(this, 'routes.3.distance', get(stashed, 'routes.3.distance'))\n\t\t\tset(this, 'routes.3.duration', get(stashed, 'routes.3.duration'))\n\t\t\tset(this, 'routes.3.cost.total', get(stashed, 'routes.3.cost.total'))\n\t\t\tset(this, 'routes.3.cost.driver', get(stashed, 'routes.3.cost.driver'))\n\t\t\tset(this, 'routes.3.cost.vehicle', get(stashed, 'routes.3.cost.vehicle'))\n\t\t\tset(this, 'routes.3.cost.toll', get(stashed, 'routes.3.cost.toll'))\n\t\t},\n\t\ttoggleTransportType(type) {\n\t\t\tset(type, 'selected', !get(type, 'selected'))\n\t\t},\n\n\t\tsave() {\n\t\t\tget(this, 'modal').open('order-create', {\n\t\t\t\troute: this.get('routes.0'),\n\t\t\t})\n\t\t},\n\n\t\tonPlacesChanged(places, component) {\n\t\t\tif (!isArray(places) || places.length < 1) { return }\n\n\t\t\tconst place = places[0]\n\t\t\tconst map = get(this, 'map')\n\n\t\t\t// Add marker (by simulating map click)\n\t\t\tthis.send('onClick', {\n\t\t\t\tgoogleEvent: {\n\t\t\t\t\tlatLng: place.geometry.location\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// Fit map to markers\n\t\t\tconst bounds = map.getBounds()\n\t\t\tbounds.extend(place.geometry.location)\n\t\t\tmap.fitBounds(bounds, -map.getZoom())\n\n\t\t\t// Clear search box\n\t\t\tcomponent.clear()\n\t\t},\n\t\tonLocationChanged(location) {\n\t\t\tconst map = get(this, 'map')\n\t\t\tconst LatLng = get(this, 'google.maps.LatLng')\n\t\t\tconst latLng = new LatLng(location.coordinates[0], location.coordinates[1])\n\n\t\t\t// Add marker (by simulating map click)\n\t\t\tthis.send('onClick', {\n\t\t\t\tgoogleEvent: {\n\t\t\t\t\tlatLng\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// Fit map to markers\n\t\t\tconst bounds = map.getBounds()\n\t\t\tbounds.extend(latLng)\n\t\t\tmap.fitBounds(bounds, -map.getZoom())\n\t\t},\n\t\ttoggleShowVehicles () {\n\t\t\tthis.toggleProperty('showVehicles')\n\t\t}\n\t}\n})\n","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport { sort, map } from '@ember/object/computed'\nimport { computed, observer } from '@ember/object'\nimport RSVP from 'rsvp'\n\nlet tHeaders = [\n\t{ key: 'name', translationKey: 'dispatch.orders.header.name', align: 'left', selected: true },\n\t{ key: 'externalID', translationKey: 'dispatch.orders.header.externalID', align: 'left', selected: true },\n\t{ key: 'client', translationKey: 'dispatch.orders.header.client', align: 'left', selected: true },\n\t{ key: 'vehicleGroup', translationKey: 'dispatch.orders.header.vehicleGroup', align: 'left', selected: true },\n\t{ key: 'status', translationKey: 'dispatch.orders.header.status', align: 'left', selected: true },\n\t{ key: 'statusDate', translationKey: 'dispatch.orders.header.statusDate', align: 'left', selected: true },\n\t{ key: 'startLocation', translationKey: 'dispatch.orders.header.startLocation', align: 'left', selected: true },\n\t{ key: 'endLocation', translationKey: 'dispatch.orders.header.endLocation', align: 'left', selected: true },\n\t{ key: 'attachments', translationKey: 'dispatch.orders.header.attachments', align: 'left', selected: true },\n\t{ key: 'date', translationKey: 'dispatch.orders.header.date', align: 'left', selected: true },\n\t{ key: 'updatedAt', translationKey: 'dispatch.orders.header.updatedAt', align: 'left', selected: true },\n]\n\nlet oneDayInMs = 86400000\n\nexport default Controller.extend({\n\tapi: service(),\n\tmodal: service(),\n\ti18n: service(),\n\tcurrentUser: service(),\n\tstore: service(),\n\n\tminDate: computed('startDate', function () { // eslint-disable-line ember-best-practices/no-observers\n\t\treturn this.get('startDate') + oneDayInMs\n\t}),\n\n\tmaxDate: computed('endDate', function () { // eslint-disable-line ember-best-practices/no-observers\n\t\treturn this.get('endDate') - oneDayInMs\n\t}),\n\n\tobsCompanyChange: observer('model.company', function () { // eslint-disable-line ember-best-practices/no-observers\n\t\tlet group = this.get('model.company')\n\t\tif(!group) return\n\t\tif (group.get('settings.orderLoadTimespan')) {\n\t\t\tthis.set('startDate', new Date().getTime() - (group.get('settings.orderLoadTimespan') * oneDayInMs))\n\t\t\tthis.set('endDate', new Date().getTime() + (group.get('settings.orderLoadTimespan') * oneDayInMs))\n\t\t}\n\t\tthis.get('getOrdersByFilterPeriod').perform()\n\t}),\n\n\ttHeaders: map('currentUser.ordersColumns', function(key) {\n\t\tswitch (key) {\n\t\t\tcase 'name': return tHeaders[0]\n\t\t\tcase 'externalID': return tHeaders[1]\n\t\t\tcase 'client': return tHeaders[2]\n\t\t\tcase 'vehicleGroup': return tHeaders[3]\n\t\t\tcase 'status': return tHeaders[4]\n\t\t\tcase 'statusDate': return tHeaders[5]\n\t\t\tcase 'startLocation': return tHeaders[6]\n\t\t\tcase 'endLocation': return tHeaders[7]\n\t\t\tcase 'attachments': return tHeaders[8]\n\t\t\tcase 'date': return tHeaders[9]\n\t\t\tcase 'updatedAt': return tHeaders[10]\n\t\t}\n\t}),\n\ttransportOrderSearch: '',\n\ttransportOrderStatus: null,\n\ttransportOrderSorting: ['createdAt:desc'],\n\ttransportOrderHeader: computed('currentUser.ordersColumns.@each', function () {\n\t\tconst enabled = this.get('currentUser.ordersColumns')\n\t\treturn tHeaders.map(header => {\n\t\t\tconst mapped = Object.assign({}, header)\n\t\t\tmapped.selected = enabled.includes(mapped.key)\n\t\t\treturn mapped\n\t\t})\n\t}),\n\n\tgetOrdersByFilterPeriod: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet params = {\n\t\t\tstart: this.get('startDate'),\n\t\t\tend: this.get('endDate') ,\n\t\t}\n\t\tthis.set('loading', true)\n\t\tyield api.request(`orders/transport/combined?start=${params?.start}&end=${params?.end}`, {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t}).then(res => {\n\t\t\tif(res?.transportOrder?.length){\n\t\t\t\tlet tempFreightOrdersArray = []\n\t\t\t\tfor(let transport of res.transportOrder){\n\t\t\t\t\tif(transport?.freightOrders?.length){\n\t\t\t\t\t\ttempFreightOrdersArray.push(...transport.freightOrders)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.store.unloadAll('order-freight')\n\t\t\t\tthis.store.unloadAll('order-transport')\n\t\t\t\tthis.store.pushPayload('order-freight', {key:tempFreightOrdersArray})\n\t\t\t\tthis.store.pushPayload('order-transport',{key:res.transportOrder})\n\t\t\t\tthis.set('freightOrders', this.store.peekAll('order-freight'))\n\t\t\t\tthis.set('transportOrders',this.store.peekAll('order-transport'))\n\t\t\t\tthis.notifyPropertyChange('arrayOfTransportOrderIDs')\n\t\t\t}\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.transportOrder.length)\n\t\t})\n\t}),\n\n\tfilteredTransportOrders: computed('transportOrders.@each', 'transportOrderSearch', 'transportOrderStatus', function () {\n\t\tconst search = this.get('transportOrderSearch').toLowerCase()\n\t\tconst status = this.get('transportOrderStatus')\n\t\tconst orders = this.get('transportOrders')\n\t\tif (!search && status == null) return orders\n\t\treturn orders.filter(order => {\n\t\t\tlet valid = true\n\t\t\tif(search && !(order.get('name') || '').toLowerCase().includes(search) && !(order.get('client.name') || '').toLowerCase().includes(search)){\n\t\t\t\tvalid = false\n\t\t\t}\n\t\t\tif(status && !order.get('freightOrders').isAny('status.status.id', status)){\n\t\t\t\tvalid=false\n\t\t\t}\n\t\t\treturn valid \n\t\t})\n\t}),\n\n\tsortedTransportOrders: sort('filteredTransportOrders.[]', 'transportOrderSorting'),\n\n\tactions: {\n\t\tgetData() {\n\t\t\tthis.get('getOrdersByFilterPeriod').perform()\n\t\t},\n\t\tupdateStatus(freightOrder, status) {\n\t\t\tlet data = {\n\t\t\t\tfreightID: freightOrder.get('id'),\n\t\t\t\tstatusID: status.get('id'),\n\t\t\t\ttext: status.get('displayName'),\n\t\t\t\tminDate: freightOrder.get('statusHistory.firstObject.timestamp'),\n\t\t\t}\n\t\t\tthis.get('modal').open('order-status-create', data)\n\t\t\t.then(selectedDate => {\n\t\t\t\treturn freightOrder.reload()\n\t\t\t})\n\t\t},\n\n\t\trollback(transportOrder) {\n\t\t\ttransportOrder.rollbackAttributes()\n\t\t\ttransportOrder.set('isEditing', false)\n\t\t},\n\t\tsave(transportOrder) {\n\t\t\tconst vehicleGroup = transportOrder.get('vehicleGroup.content')\n\t\t\tlet save = RSVP.Promise.resolve.bind(RSVP.Promise)\n\t\t\tif (vehicleGroup && vehicleGroup.get('isNew')) {\n\t\t\t\tsave = vehicleGroup.save.bind(vehicleGroup)\n\t\t\t}\n\t\t\tsave()\n\t\t\t.then(() => this.get('api').patch(`orders/transport/${transportOrder.get('id')}`, {\n\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\ttransportOrder: {\n\t\t\t\t\t\tname: transportOrder.get('name'),\n\t\t\t\t\t\tcomment: transportOrder.get('comment'),\n\t\t\t\t\t\texternalID: transportOrder.get('externalID.length') > 0 ? transportOrder.get('externalID') : null,\n\t\t\t\t\t\tclientID: transportOrder.get('client.id'),\n\t\t\t\t\t\tvehicleGroupID: vehicleGroup.get('id') || null,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}))\n\t\t\t.then(() => {\n\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\ttransportOrder.reload()\n\t\t\t\ttransportOrder.set('isEditing', false)\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t})\n\t\t},\n\t\tdelete(transportOrder) {\n\t\t\tthis.get('modal').open('dc-confirmation', {\n\t\t\t\ttittle: `Ștergere comandă`,\n\t\t\t\tcontent: `Doriți să ștergeți comanda <b>${transportOrder.get('name')}</b> ?`,\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\ttransportOrder.destroyRecord()\n\t\t\t\t.then(() => {\n\t\t\t\t\treturn this.get('store').unloadRecord(transportOrder)\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tuploadAttachment(freightOrder) {\n\t\t\tthis.get('modal').open('order-attachment-upload', {\n\t\t\t\tfreightOrder,\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\treturn freightOrder.reload()\n\t\t\t})\n\t\t},\n\t\tdownloadAttachment(attachment, freightOrder) {\n\t\t\tthis.get('api')\n\t\t\t.downloadFile(\n\t\t\t\t`/orders/freight/${freightOrder.get('id')}/attachments/${attachment.get('name')}`,\n\t\t\t\tattachment.get('name')\n\t\t\t)\n\t\t},\n\n\t\tupdateHeaders(headers) {\n\t\t\tthis.get('currentUser.user').set('settings.dispatch.orders.columnOrder', headers)\n\t\t\tthis.get('currentUser.user').save()\n\t\t},\n\t\ttoggleColumn(col, i) {\n\t\t\tconst headers = this.get('currentUser.ordersColumns')\n\t\t\tif (col.selected) {\n\t\t\t\theaders.removeObject(col.key)\n\t\t\t} else {\n\t\t\t\theaders.insertAt(i, col.key)\n\t\t\t}\n\n\t\t\tthis.send('updateHeaders', headers)\n\t\t},\n\t}\n})\n","import Ember from 'ember'\nimport fuzzy from \"fuzzy\"\n\nconst romLatLng = {\n\tlat: 45.9432,\n\tlng: 24.9668\n}\n\nexport default Ember.Controller.extend({\n\tajax: Ember.inject.service(),\n\tapi: Ember.inject.service(),\n\n\tmap: null,\n\tromLatLng,\n\n\trouteWaypoints: [],\n\trouteManeuvers: [],\n\troute: null,\n\tisSaving: false,\n\tisRouting: false,\n\tisOptimizing: false,\n\toptimizedRoute: null,\n\toptimizedWaypoints: [],\n\toptimizedRouteVisible: false,\n\n\twaypointTypes: ['load', 'unload', 'stop'],\n\tmaterialTypes: ['explosive', 'gas', 'flammable', 'combustible', 'organic', 'poison', 'radioActive', 'corrosive', 'poisonousInhalation', 'harmfulToWater', 'other'],\n\n\thasMaterial: Ember.computed.notEmpty('model.route.profile.material'),\n\tstartDate: Ember.computed.alias('model.route.startDate'),\n\tschedule: Ember.computed.alias('model.route.schedule'),\n\tname: Ember.computed.alias('model.route.name'),\n\tvehicle: Ember.computed('model.route.vehicles', function () {\n\t\treturn this.get('model.route.vehicles.firstObject')\n\t}),\n\n\twaypoints: Ember.computed.map('model.route.waypoints', function (waypoint) {\n\t\treturn {\n\t\t\tid: waypoint.get('id'),\n\t\t\tlocation: {\n\t\t\t\tname: waypoint.get('name'),\n\t\t\t\tcoordinates: waypoint.get('location') != null ? waypoint.get('location').reverse() : null,\n\t\t\t},\n\t\t\tduration: waypoint.get('duration'),\n\t\t\ttype: waypoint.get('type')\n\t\t}\n\t}),\n\tvalidWaypoints: Ember.computed.filter('waypoints.@each.location', function (waypoint) {\n\t\treturn waypoint.location != null && waypoint.location.coordinates != null\n\t}),\n\twaypointsLatLng: Ember.computed('validWaypoints', function () {\n\t\tlet waipoints = this.get('validWaypoints').map(point => {\n\t\t\treturn { lat: point.location.coordinates[0], lng: point.location.coordinates[1] }\n\t\t})\n\t\tthis.fitMapBounds(waipoints)\n\t\treturn waipoints\n\t}),\n\tdistinctWaypoints: Ember.computed.uniqBy('validWaypoints', 'location'),\n\tlocations: Ember.computed.mapBy('distinctWaypoints', 'location'),\n\tcanRoute: Ember.computed.gte('locations.length', 2),\n\thasRoute: Ember.computed.notEmpty('route'),\n\n\troutePolyline: Ember.computed.alias('model.route.decodedPolyline'),\n\trouteLatLngs: Ember.computed('routePolyline', function () {\n\t\tlet route = this.get('routePolyline')\n\t\treturn route.map(itm => {\n\t\t\treturn { lat: itm[0], lng: itm[1] }\n\t\t})\n\t}),\n\n\trouteTotalDuration: Ember.computed('route', 'waypoints.@each.duration', function () {\n\t\tlet routeDuration = this.get('route.time.travel')\n\t\tlet waypointsTotalDuration = this.get('waypoints').reduce(function (previousValue, item) {\n\t\t\tif (item.duration != null) {\n\t\t\t\treturn previousValue + ((parseInt(item.duration) || 0) * 60)\n\t\t\t}\n\t\t\treturn previousValue\n\t\t}, 0)\n\n\t\treturn routeDuration + waypointsTotalDuration\n\t}),\n\n\thasOptimizedRoute: Ember.computed.notEmpty('optimizedRoute'),\n\toptimizedLocations: Ember.computed.mapBy('optimizedWaypoints', 'location'),\n\toptimizedRouteTotalDuration: Ember.computed('optimizedRoute', 'optimizedWaypoints.@each.duration', function () {\n\t\tlet routeDuration = this.get('optimizedRoute.duration')\n\t\tlet waypointsTotalDuration = this.get('optimizedWaypoints').reduce(function (previousValue, item) {\n\t\t\tif (item.duration != null) {\n\t\t\t\treturn previousValue + ((parseInt(item.duration) || 0) * 60)\n\t\t\t}\n\t\t\treturn previousValue\n\t\t}, 0)\n\n\t\treturn routeDuration + waypointsTotalDuration\n\t}),\n\n\tfitMapBounds(latlngs) {\n\t\tlet map = this.get('map')\n\t\tif (!map) { return }\n\t\tif (latlngs.length) {\n\t\t\tlet bounds = new window.google.maps.LatLngBounds()\n\t\t\tlatlngs.forEach(latlng => {\n\t\t\t\tbounds.extend(latlng)\n\t\t\t})\n\t\t\tmap.fitBounds(bounds)\n\t\t}\n\t},\n\n\tresetValues() {\n\t\tthis.set('routeWaypoints', [])\n\t\tthis.set('routeManeuvers', [])\n\t\tthis.set('route', null)\n\t\tthis.set('isSaving', false)\n\t\tthis.set('isRouting', false)\n\t\tthis.set('isOptimizing', false)\n\t\tthis.set('optimizedRoute', null)\n\t\tthis.set('optimizedWaypoints', [])\n\t\tthis.set('optimizedRouteVisible', false)\n\t},\n\n\tactions: {\n\t\tonLoad(publicAPI) {\n\t\t\tlet map = publicAPI.map\n\t\t\tthis.set('map', map)\n\t\t\tthis.set('romBounds', map.getBounds())\n\t\t\tif (this.get('routeLatLngs')) {\n\t\t\t\tthis.fitMapBounds(this.get('routeLatLngs'))\n\t\t\t}\n\t\t},\n\t\tdebouncedSearchLocation(term) {\n\t\t\treturn new Ember.RSVP.Promise((resolve, reject) => {\n\t\t\t\tEmber.run.debounce(this, this.get('actions.searchLocation'), term, resolve, reject, 600)\n\t\t\t})\n\t\t},\n\t\tsearchLocation(term, resolve, reject) {\n\t\t\tlet geofences = this.get('model.geofences').toArray()\n\n\t\t\treturn this.get('ajax').request('https://map.tracknamic.com/search/search', {\n\t\t\t\tdata: {\n\t\t\t\t\tq: term,\n\t\t\t\t\tlimit: 5,\n\t\t\t\t\tformat: 'json',\n\t\t\t\t\taddressdetails: 1\n\t\t\t\t}\n\t\t\t})\n\t\t\t\t.then(function (locations) {\n\t\t\t\t\tlet filteredGeofences = fuzzy.filter(term, geofences, {\n\t\t\t\t\t\textract: function (geofence) {\n\t\t\t\t\t\t\treturn geofence.get('name')\n\t\t\t\t\t\t}\n\t\t\t\t\t}).slice(0, 5).map(function (filtered) {\n\t\t\t\t\t\treturn filtered.original\n\t\t\t\t\t})\n\t\t\t\t\treturn [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgroupName: \"Geofences\", options: filteredGeofences.map(function (geofence) {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tname: geofence.get('name'),\n\t\t\t\t\t\t\t\t\tshape: geofence.get('shape'),\n\t\t\t\t\t\t\t\t\tcoordinates: [geofence.get('shape.centerLatLng.lat'), geofence.get('shape.centerLatLng.lng')]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgroupName: \"Locations\", options: locations.map(function (location) {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tname: location.display_name,\n\t\t\t\t\t\t\t\t\tcoordinates: [Number(location.lat), Number(location.lon)]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t\t.then(function (result) {\n\t\t\t\t\tresolve(result)\n\t\t\t\t}, function (error) {\n\t\t\t\t\treject(error)\n\t\t\t\t})\n\t\t},\n\t\tchangeVehicle(vehicle) {\n\t\t\tthis.get('model.route.vehicles').setObjects([vehicle])\n\t\t\tthis.set('vehicle', vehicle)\n\t\t\tif (vehicle.get('dimensions.width') > 0) { this.set('model.route.profile.width', vehicle.get('dimensions.width')) }\n\t\t\tif (vehicle.get('dimensions.height') > 0) { this.set('model.route.profile.height', vehicle.get('dimensions.height')) }\n\t\t\tif (vehicle.get('dimensions.length') > 0) { this.set('model.route.profile.length', vehicle.get('dimensions.length')) }\n\t\t\tif (vehicle.get('dimensions.weight') > 0) { this.set('model.route.profile.weight', vehicle.get('dimensions.weight')) }\n\t\t},\n\t\troute() {\n\t\t\tlet waypoints = this.get('validWaypoints')\n\t\t\tlet coordinates = waypoints.map(waypoint => waypoint.location.coordinates.join(','))\n\t\t\tconsole.info('Route', coordinates) // eslint-disable-line no-console\n\n\t\t\tthis.set('isRouting', true)\n\n\t\t\tlet data = {\n\t\t\t\tcoordinates: coordinates.join(';'),\n\t\t\t\twidth: this.get('model.route.profile.width'),\n\t\t\t\theight: this.get('model.route.profile.height'),\n\t\t\t\tlength: this.get('model.route.profile.length'),\n\t\t\t\tweight: this.get('model.route.profile.weight'),\n\t\t\t}\n\t\t\tif (this.get('hasMaterial')) {\n\t\t\t\tdata.material = this.get('model.route.profile.material')\n\t\t\t\tif (this.get('model.route.profile.strict')) {\n\t\t\t\t\tdata.strict = 'true'\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.get('api').request('/geo/route', { data })\n\t\t\t\t.then(response => {\n\t\t\t\t\tthis.set('isRouting', false)\n\n\t\t\t\t\tthis.set('route', response)\n\t\t\t\t\tthis.set('routeWaypoints', this.get('distinctWaypoints').copy())\n\t\t\t\t\tthis.get('routeManeuvers').setObjects(response.maneuver.map(maneuver => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: maneuver.id,\n\t\t\t\t\t\t\tposition: { lat: maneuver.position.latitude, lng: maneuver.position.longitude }\n\t\t\t\t\t\t}\n\t\t\t\t\t}))\n\n\t\t\t\t\tthis.send('setChosenRoute', response, this.get('routeTotalDuration'), this.get('distinctWaypoints'))\n\t\t\t\t}, error => {\n\t\t\t\t\tconsole.error('Routing failed !', error) // eslint-disable-line no-console\n\t\t\t\t\tthis.set('isRouting', false)\n\t\t\t\t})\n\t\t},\n\t\tpreviewRoute(point) {\n\t\t\tlet waypoints = this.get('validWaypoints')\n\t\t\tlet coordinates = waypoints.map(waypoint => waypoint.location.coordinates.join(','))\n\t\t\tcoordinates.splice(-1, 0, point.join(','))\n\t\t\tconsole.info('Preview route', coordinates) // eslint-disable-line no-console\n\n\t\t\tlet data = {\n\t\t\t\tcoordinates: coordinates.join(';'),\n\t\t\t\twidth: this.get('model.route.profile.width'),\n\t\t\t\theight: this.get('model.route.profile.height'),\n\t\t\t\tlength: this.get('model.route.profile.length'),\n\t\t\t\tweight: this.get('model.route.profile.weight'),\n\t\t\t}\n\t\t\tif (this.get('hasMaterial')) {\n\t\t\t\tdata.material = this.get('model.route.profile.material')\n\t\t\t\tif (this.get('model.route.profile.strict')) {\n\t\t\t\t\tdata.strict = 'true'\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.get('api').request('/geo/route', { data })\n\t\t\t\t.then(response => {\n\t\t\t\t\tlet route = this.get('model.route')\n\t\t\t\t\troute.set('distance', response.distance)\n\t\t\t\t\troute.set('duration', this.get('routeTotalDuration'))\n\t\t\t\t\troute.set('polyline', response.polyline)\n\t\t\t\t}, error => {\n\t\t\t\t\tconsole.error('Routing failed !', error) // eslint-disable-line no-console\n\t\t\t\t})\n\t\t},\n\t\taddWaypoint() {\n\t\t\tthis.get('waypoints').addObject({ location: null })\n\t\t},\n\t\tremoveWaypoint(waypoint) {\n\t\t\tthis.get('waypoints').removeObject(waypoint)\n\t\t},\n\t\treorderWaypoints(itemModels) {\n\t\t\tthis.get('waypoints').setObjects(itemModels)\n\t\t},\n\t\tmaneuverMove(event) {\n\t\t\tconsole.debug('Maneuver move', event) // eslint-disable-line no-console\n\n\t\t\tlet latlng = event.target.position.toJSON()\n\t\t\tif (!latlng || !latlng.lat) { return }\n\t\t\tEmber.run.throttle(this, this.get('actions.previewRoute'), [latlng.lat, latlng.lng], 1000)\n\t\t},\n\t\tmaneuverMoveStart(event) {\n\t\t\tconsole.debug('Maneuver move start', event) // eslint-disable-line no-console\n\t\t},\n\t\tmaneuverMoveEnd(event) {\n\t\t\tconsole.debug('Maneuver move end', event) // eslint-disable-line no-console\n\n\t\t\tconst location = event.target.position.toJSON()\n\t\t\tconst waypoints = this.get('waypoints')\n\t\t\tconst maneuver = this.get('routeManeuvers').find(maneuver => maneuver.id === event.target.id)\n\n\t\t\twaypoints.insertAt(waypoints.length - 1, {\n\t\t\t\tid: maneuver.id,\n\t\t\t\tlocation: {\n\t\t\t\t\tname: maneuver.id,\n\t\t\t\t\tcoordinates: [location.lat, location.lng],\n\t\t\t\t\tlatlng: { lat: location.lat, lng: location.lng },\n\t\t\t\t},\n\t\t\t\tduration: null,\n\t\t\t\ttype: null,\n\t\t\t})\n\n\t\t\tthis.send('route')\n\t\t},\n\t\toptimize() {\n\t\t\tconst originalWaypoints = this.get('distinctWaypoints')\n\t\t\tconst waypoints = this.get('distinctWaypoints').copy()\n\n\t\t\tlet coordinates = []\n\t\t\twaypoints.forEach(function (waypoint) {\n\t\t\t\tcoordinates.push(`${waypoint.location.coordinates[1]},${waypoint.location.coordinates[0]}`)\n\t\t\t})\n\n\t\t\tthis.set('isOptimizing', true)\n\n\t\t\tthis.get('ajax').request(`https://map.tracknamic.com/trip/v1/car/${coordinates.join(';')}`, {\n\t\t\t\tdata: {\n\t\t\t\t\tsource: 'first',\n\t\t\t\t\tdestination: 'last',\n\t\t\t\t\troundtrip: 'false',\n\t\t\t\t\toverview: 'full'\n\t\t\t\t}\n\t\t\t})\n\t\t\t\t.then(response => {\n\t\t\t\t\tthis.set('isOptimizing', false)\n\n\t\t\t\t\tthis.set('optimizedRoute', response.trips[0])\n\n\t\t\t\t\tresponse.waypoints.forEach((waypoint, index) => {\n\t\t\t\t\t\tif (index === waypoint.waypoint_index) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twaypoints.replace(waypoint.waypoint_index, 1, [originalWaypoints.objectAt(index)])\n\t\t\t\t\t})\n\t\t\t\t\tthis.set('optimizedWaypoints', waypoints)\n\t\t\t\t})\n\t\t},\n\t\ttoggleOptimizeLayer(checked) {\n\t\t\tthis.set('optimizedRouteVisible', checked)\n\n\t\t\tif (checked) {\n\t\t\t\tthis.send('setChosenRoute', this.get('optimizedRoute'), this.get('optimizedRouteTotalDuration'), this.get('optimizedWaypoints'))\n\t\t\t} else {\n\t\t\t\tthis.send('setChosenRoute', this.get('route'), this.get('routeTotalDuration'), this.get('routeWaypoints'))\n\t\t\t}\n\t\t},\n\t\tsetSchedule() { },\n\t\tsetChosenRoute(newRoute, totalDuration, waypoints) {\n\t\t\tlet route = this.get('model.route')\n\t\t\troute.set('distance', newRoute.distance)\n\t\t\troute.set('duration', totalDuration)\n\t\t\troute.set('polyline', newRoute.polyline)\n\t\t\troute.set('waypoints', waypoints.map(waypoint => {\n\t\t\t\treturn {\n\t\t\t\t\tname: waypoint.location.name,\n\t\t\t\t\tlocation: waypoint.location.coordinates.map(coordinate => parseFloat(coordinate)).reverse(),\n\t\t\t\t\ttype: waypoint.type,\n\t\t\t\t\tduration: waypoint.duration\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\tsave() {\n\t\t\tthis.set('isSaving', true)\n\n\t\t\tthis.get('model.route').save()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.set('isSaving', false)\n\n\t\t\t\t\tthis.transitionToRoute('dispatch.routes')\n\t\t\t\t}, () => {\n\t\t\t\t\tthis.set('isSaving', false)\n\t\t\t\t})\n\t\t},\n\t\twillChangeStep(options) {\n\t\t\tif (options.from === 'details') {\n\t\t\t\t// Only allow if date and vehicle is set\n\t\t\t\tif (this.get('startDate') != null && this.get('vehicle')) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\treturn false\n\t\t\t} else if (options.from === 'points' && options.to === 'route' && !this.get('canRoute')) {\n\t\t\t\treturn false\n\t\t\t} else if (options.from === 'route' && options.to !== 'points') {\n\t\t\t\tthis.send('save')\n\t\t\t}\n\t\t},\n\t\tdidChangeStep(options) {\n\t\t\tif (options.from === 'points' && options.to === 'route') {\n\t\t\t\tthis.send('route')\n\t\t\t\tthis.send('optimize')\n\t\t\t}\n\t\t}\n\t},\n})\n","import Ember from 'ember'\n\nexport default Ember.Controller.extend({\n\tfilter: {\n\t\tquery: null\n\t}\n})","import Controller from '@ember/controller'\nimport { computed, getProperties } from '@ember/object'\nimport { sort, filterBy } from '@ember/object/computed'\nimport { inject as service } from '@ember/service'\n\nlet tHeaders = [\n\t{ key: 'name', path: 'name', translationKey: 'dispatch.vehicleGroups.header.name', align: 'left', selected: true },\n\t{ key: 'tractorUnit', path: 'tractorUnit.licensePlate', translationKey: 'dispatch.vehicleGroups.header.tractorUnit', align: 'left', selected: true },\n\t{ key: 'semitrailer', path: 'semitrailer.licensePlate', translationKey: 'dispatch.vehicleGroups.header.semitrailer', align: 'left', selected: true },\n\t{ key: 'driver', path: 'driver.fullName', translationKey: 'dispatch.vehicleGroups.header.driver', align: 'left', selected: true },\n\t{ key: 'codriver', path: 'codriver.fullName', translationKey: 'dispatch.vehicleGroups.header.codriver', align: 'left', selected: true },\n]\n\nexport default Controller.extend({\n\tapi: service(),\n\tmodal: service(),\n\ti18n: service(),\n\tcurrentUser: service(),\n\n\tsearch: '',\n\tsorting: ['createdAt:desc'],\n\theader: tHeaders,\n\tcolumns: tHeaders.map(header => header.key),\n\tfilteredVehicleGroups: computed('model.vehicleGroups.@each.hasDirtyAttributes', 'search', function () {\n\t\tconst search = this.get('search').toLowerCase()\n\t\tconst vehicleGroups = this.get('model.vehicleGroups')\n\t\treturn vehicleGroups.filter(vehicleGroup => {\n\t\t\tif (search.length < 1) { return true }\n\t\t\treturn (vehicleGroup.getWithDefault('name', '').toLowerCase().includes(search))\n\t\t})\n\t}),\n\tsortedVehicleGroups: sort('filteredVehicleGroups.[]', 'sorting'),\n\n\ttractorUnits: filterBy('model.vehicles', 'type', 'truck'),\n\tsemitrailers: filterBy('model.vehicles', 'type', 'semi-trailer'),\n\n\tactions: {\n\t\tadd() {\n\t\t\tthis.get('modal').open('vehicle-group-create')\n\t\t},\n\t\trollback(vehicleGroup) {\n\t\t\tvehicleGroup.rollbackAttributes()\n\t\t\tvehicleGroup.set('isEditing', false)\n\t\t},\n\t\tsave(vehicleGroup) {\n\t\t\tconst serialized = vehicleGroup.serialize()\n\n\t\t\tthis.get('api').patch(`vehicle-groups/${vehicleGroup.get('id')}`, {\n\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\tvehicleGroup: getProperties(serialized, 'name', 'drivers', 'vehicles')\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\tvehicleGroup.reload()\n\t\t\t\tvehicleGroup.set('isEditing', false)\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t})\n\t\t},\n\t\tdelete(vehicleGroup) {\n\t\t\tthis.get('modal').open('dc-confirmation', {\n\t\t\t\ttittle: `Ștergere grupaj`,\n\t\t\t\tcontent: `Doriți să ștergeți grupajul <b>${vehicleGroup.get('name')}</b> ?`,\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\tvehicleGroup.destroyRecord()\n\t\t\t\t.then(() => {\n\t\t\t\t\treturn this.get('store').unloadRecord(vehicleGroup)\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t\t})\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\n\nexport default Controller.extend({\n\tmenuService: service('main-menu'),\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\n\nexport default Controller.extend(Formatter, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\ti18n: service(),\n\n\tloading: false,\n\tempty: false,\n\tmoduleName: 'report31',\n\tsortBy: 'date.value',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report30'),\n\n\tformattedData: computed('data', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet fd = this.formatData(data)\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn fd\n\t}),\n\n\treport: computed('menuService.driving', function () {\n\t\treturn this.get('menuService.driving').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/31', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('empty', !res.length)\n\t\t}).finally(() => {\n\t\t\tthis.set('loading', false)\n\t\t})\n\t}),\n\n\tmakeProfile (profile) {\n\t\tlet emptyDefault = []\n\t\tlet minEl = profile.minEl\n\t\tlet maxEl = profile.maxEl\n\t\tlet minRpm = profile.minRpm\n\t\tlet maxRpm = profile.maxRpm\n\t\tfor (let engineLoad = maxEl; engineLoad >= minEl; engineLoad = engineLoad - 10) {\n\t\t\tfor (let rpm = minRpm; rpm <= maxRpm; rpm = rpm + 100) {\n\t\t\t\tlet element = { rpm, engineLoad, color: 'c0', durationDisplay: null, tooltip: '' }\n\t\t\t\tlet elExists = emptyDefault.findBy('engineLoad', engineLoad)\n\t\t\t\tif (elExists) {\n\t\t\t\t\telExists.rpms.push(element)\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\temptyDefault.push({\n\t\t\t\t\t\tengineLoad,\n\t\t\t\t\t\trpms: [element],\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (profile.values && profile.values.length) {\n\t\t\tprofile.values.forEach(item => {\n\t\t\t\tlet elElement = emptyDefault.findBy('engineLoad', item.engineLoad)\n\t\t\t\tlet rpmElement = elElement ? elElement.rpms.findBy('rpm', item.rpm) : false\n\t\t\t\tif (rpmElement) {\n\t\t\t\t\trpmElement.color = item.color\n\t\t\t\t\trpmElement.durationDisplay = item.durationDisplay\n\t\t\t\t\trpmElement.tooltip = item.tooltip\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\treturn emptyDefault\n\t},\n\n\tformatData (tables) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet fTables = []\n\t\ttables.forEach(table => {\n\t\t\tconst formatted = {\n\t\t\t\tvehicle: null,\n\t\t\t\tdriver: null,\n\t\t\t\tgrouped: [],\n\t\t\t\tvalues: [],\n\t\t\t}\n\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\t\t\tlet driver = this.get('users').findBy('id', table.driverID)\n\n\t\t\tif (vehicle) {\n\t\t\t\tformatted.vehicle = { display: vehicle.get('licensePlate'), value: vehicle.get('licensePlate') }\n\t\t\t}\n\t\t\tif (driver) {\n\t\t\t\tformatted.driver = { display: driver.get('fullName'), value: driver.get('fullName') }\n\t\t\t}\n\n\t\t\tlet minEl = 100\n\t\t\tlet maxEl = 0\n\t\t\tlet minRpm = 10000\n\t\t\tlet maxRpm = 100\n\n\t\t\tlet totals = {\n\t\t\t\tgreen: 0,\n\t\t\t\tred: 0,\n\t\t\t\tyellow: 0,\n\t\t\t\trpmLow1200: 0,\n\t\t\t\tengineLoadBig70: 0,\n\t\t\t\trpmBig1200: 0,\n\t\t\t}\n\t\t\t/*\n\t\t\t\n\t\t\tXX% din total in plaja optima de Cuplu Rotatie (suma pe verde)\n\t\t\tXX% din total in plaja marginala de Cuplu Rotatie (suma pe galben)\n\t\t\tXX% din total in plaja interzisa  de Cuplu Rotatie (suma pe rosu)\n\t\t\t\n\t\t\txx% din total a fost supraturat (suma de rosu din dreapta mijlocului (rosu peste 1200 rpm))\n\t\t\txx% din total a fost in suprasarcina (suma de rosii pentru engine load > 70%)\n\t\t\txx% din total a fost subturat (suma de rosu din stanga mijlocului (rosu sub 1200 rpm))\n\t\t\t\n\t\t\t*/\n\t\t\ttable.matrix.forEach(row => {\n\t\t\t\trow.durationDisplay = row.durationPercent ? `${row.durationPercent.toFixed(2)} %` : ''\n\t\t\t\trow.tooltip = ''\n\t\t\t\tif (row.durationPercent) {\n\t\t\t\t\trow.tooltip = `${i18n.t('duration')}: ${moment.duration(row.duration, 's').format(i18n.t('durationFormat').string)}`\n\t\t\t\t\tif (row.accelerationAvg)\n\t\t\t\t\t\trow.tooltip += `\\n${i18n.t('accelerationG')}: ${row.accelerationAvg.toFixed(2)} %`\n\t\t\t\t}\n\t\t\t\tlet opacity = Number(Math.trunc(row.durationPercent / 20)) + 1\n\t\t\t\trow.color = `c${row.state} o${opacity}`\n\n\t\t\t\tif (row.durationPercent && row.state) {\n\t\t\t\t\tif (row.state == 1) { // green\n\t\t\t\t\t\ttotals.green = totals.green + row.durationPercent\n\t\t\t\t\t}\n\t\t\t\t\tif (row.state == 2) { // yellow\n\t\t\t\t\t\ttotals.yellow = totals.yellow + row.durationPercent\n\t\t\t\t\t\t// xx% din total a fost subturat (suma de rosu din stanga mijlocului (rosu sub 1200 rpm))\n\t\t\t\t\t\tif (row.rpm < 1200)\n\t\t\t\t\t\t\ttotals.rpmLow1200 = totals.rpmLow1200 + row.durationPercent\n\t\t\t\t\t\t// xx% din total a fost supraturat (suma de rosu din dreapta mijlocului (rosu peste 1200 rpm))\t\n\t\t\t\t\t\tif (row.rpm > 1200)\n\t\t\t\t\t\t\ttotals.rpmBig1200 = totals.rpmBig1200 + row.durationPercent\n\t\t\t\t\t}\n\t\t\t\t\tif (row.state == 3) { // red\n\t\t\t\t\t\ttotals.red = totals.red + row.durationPercent\n\t\t\t\t\t\t// xx% din total a fost subturat (suma de rosu din stanga mijlocului (rosu sub 1200 rpm))\n\t\t\t\t\t\tif (row.rpm < 1200)\n\t\t\t\t\t\t\ttotals.rpmLow1200 = totals.rpmLow1200 + row.durationPercent\n\t\t\t\t\t\t// xx% din total a fost supraturat (suma de rosu din dreapta mijlocului (rosu peste 1200 rpm))\t\n\t\t\t\t\t\tif (row.rpm > 1200)\n\t\t\t\t\t\t\ttotals.rpmBig1200 = totals.rpmBig1200 + row.durationPercent\n\t\t\t\t\t\t// xx% din total a fost in suprasarcina (suma de rosii pentru engine load > 70%)\n\t\t\t\t\t\tif (row.engineLoad > 70) {\n\t\t\t\t\t\t\ttotals.engineLoadBig70 = totals.engineLoadBig70 + row.durationPercent\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (row.engineLoad > maxEl)\n\t\t\t\t\tmaxEl = row.engineLoad\n\t\t\t\tif (row.engineLoad < minEl)\n\t\t\t\t\tminEl = row.engineLoad\n\t\t\t\tif (row.rpm < minRpm)\n\t\t\t\t\tminRpm = row.rpm\n\t\t\t\tif (row.rpm > maxRpm)\n\t\t\t\t\tmaxRpm = row.rpm\n\n\t\t\t\tformatted.values.push(row)\n\t\t\t})\n\n\t\t\tformatted.totals = totals\n\t\t\tformatted.minEl = minEl\n\t\t\tformatted.maxEl = maxEl\n\t\t\tformatted.minRpm = minRpm\n\t\t\tformatted.maxRpm = maxRpm\n\n\t\t\tformatted.grouped = this.makeProfile(formatted)\n\n\n\t\t\tfTables.push(formatted)\n\t\t})\n\t\treturn fTables\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\ti18n: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report30',\n\tsortBy: 'date.value',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report30'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet processedData = this.formatData(data)\n\t\treturn processedData.sortBy(this.get('sortBy'))\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\treport: computed('menuService.driving', function () {\n\t\treturn this.get('menuService.driving').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(filters.endDate),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/30', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tparseCngValues (val, fuelCapacity, cngUnit) {\n\t\tconst cng = this.getCngValues(val, fuelCapacity, true)\n\t\tconst parsed = {\n\t\t\tvalue: val,\n\t\t\tdisplay: cngUnit === 'weight' ? cng.display[1] : cng.display[0],\n\t\t\tpopup: `CNG: ${cng.display.join('  |  ')}\\n`,\n\t\t}\n\n\t\treturn parsed\n\t},\n\n\tformatData (rows) {\n\t\tconst formatted = []\n\t\tconst tz = this.get('currentUser.timezone')\n\n\t\trows.forEach(row => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', row.vehicleID)\n\t\t\tlet fuelUnit = vehicle.get('fuel.unit')\n\t\t\tlet driver = this.get('users').findBy('id', row.driverID)\n\t\t\tconst processed = {}\n\n\t\t\tif (vehicle) {\n\t\t\t\tprocessed.vehicle = { display: vehicle.get('licensePlate'), value: vehicle.get('licensePlate') }\n\t\t\t}\n\t\t\tif (driver) {\n\t\t\t\tprocessed.driver = { display: driver.get('fullName'), value: driver.get('fullName') }\n\t\t\t}\n\t\t\tprocessed.date = { display: moment.tz(row.date, tz).format('DD/MM/YYYY'), value: row.date }\n\t\t\tprocessed.score = { display: row.score, value: row.score }\n\t\t\tprocessed.distanceTotal = { display: Number(row.distanceTotal).toFixed(2), value: row.distanceTotal }\n\t\t\tprocessed.averageAxleLoad = { display: row.averageAxleLoad, value: row.averageAxleLoad }\n\t\t\tprocessed.averageSpeed = { display: row.averageSpeed, value: row.averageSpeed }\n\t\t\tprocessed.breakingDistance = { display: Number(row.breakingDistance).toFixed(2), value: row.breakingDistance }\n\t\t\tprocessed.harshBreakingDistance = { display: Number(row.harshBreakingDistance).toFixed(2), value: row.harshBreakingDistance }\n\t\t\tprocessed.harshAccelerationDistance = { display: Number(row.harshAccelerationDistance).toFixed(2), value: row.harshAccelerationDistance }\n\t\t\tprocessed.durationIdle = { display: moment.duration(row.durationIdle, 's').format(this.get('i18n').t('durationFormat').string), value: row.durationIdle }\n\t\t\tprocessed.percentCruiseControl = { display: Number(row.percentCruiseControl).toFixed(0), value: row.percentCruiseControl }\n\t\t\tprocessed.percentInertia = { display: Number(row.percentInertia).toFixed(0), value: row.percentInertia }\n\t\t\tprocessed.percentMoving = { display: Number(row.percentMoving).toFixed(0), value: row.percentMoving }\n\t\t\tprocessed.percentIdle = { display: Number(row.percentIdle).toFixed(0), value: row.percentIdle }\n\n\t\t\tif (vehicle.get('isCng')) {\n\t\t\t\tconst fuelCapacity = vehicle.get('fuel.capacity')\n\t\t\t\tconst cngUnit = this.get('currentUser.cngUnit') ? this.get('currentUser.cngUnit') : 'volume'\n\t\t\t\tprocessed.fuelConsumptionTotal = this.parseCngValues(row.fuelConsumptionTotal, fuelCapacity, cngUnit)\n\t\t\t\tprocessed.fuelConsumptionMovingDistance = this.parseCngValues(row.fuelConsumptionMovingDistance, fuelCapacity, cngUnit)\n\t\t\t\tprocessed.fuelConsumptionIdle = this.parseCngValues(row.fuelConsumptionIdle, fuelCapacity, cngUnit)\n\t\t\t\tprocessed.fuelConsumptionTotalDistance = this.parseCngValues(row.fuelConsumptionTotalDistance, fuelCapacity, cngUnit)\n\t\t\t} else {\n\t\t\t\tprocessed.fuelConsumptionTotal = { display: Number(row.fuelConsumptionTotal).toFixed(2) + fuelUnit, value: row.fuelConsumptionTotal }\n\t\t\t\tprocessed.fuelConsumptionMovingDistance = { display: Number(row.fuelConsumptionMovingDistance).toFixed(2) + fuelUnit, value: row.fuelConsumptionMovingDistance }\n\t\t\t\tprocessed.fuelConsumptionIdle = { display: Number(row.fuelConsumptionIdle).toFixed(2) + fuelUnit, value: row.fuelConsumptionIdle }\n\t\t\t\tprocessed.fuelConsumptionTotalDistance = { display: Number(row.fuelConsumptionTotalDistance).toFixed(2) + fuelUnit, value: row.fuelConsumptionTotalDistance }\n\t\t\t}\n\n\t\t\tformatted.push(processed)\n\t\t})\n\n\t\treturn formatted\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tonHEnd (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.set('reportsFilters.endDate', moment(this.get('reportsFilters.endDate')).endOf('day').valueOf())\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Controller.extend({\n    resolution: service(),\n    menuService: service('main-menu'),\n    fullscreen: service()\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport { isEmpty } from '@ember/utils'\n\nexport default Controller.extend({\n\tresolution: service(),\n\tmenuService: service('main-menu'),\n\tisContractedMenu: computed.alias('menuService.contracted'),\n\tmodules: computed.readOnly('menuService.modules'),\n\n\talerts: computed.filterBy('model.notifications', 'isAlert', true),\n\n\tnonUtilityVehicles: computed.filter('model.vehicles', function (vehicle) {\n\t\treturn !['construction', 'tractor', 'harvester'].includes(vehicle.get('type'))\n\t}),\n\n\tdistanceHeatmapFilter: computed('nonUtilityVehicles', function () {\n\t\tlet vehicles = this.get('nonUtilityVehicles')\n\t\tlet ids = vehicles.filterBy('licensePlate').mapBy('id')\n\t\tif (isEmpty(ids)) { return false }\n\t\treturn { $where: { id: ids.slice(0, 10) } }\n\t}),\n\n\tutilityVehicles: computed.filter('model.vehicles', function (vehicle) {\n\t\treturn ['construction', 'tractor', 'harvester'].includes(vehicle.get('type'))\n\t}),\n\n\tworkHeatmapFilter: computed('utilityVehicles', function () {\n\t\tlet vehicles = this.get('utilityVehicles')\n\t\tlet ids = vehicles.mapBy('id')\n\t\tif (isEmpty(ids)) { return false }\n\t\treturn { $where: { id: ids.slice(0, 10) } }\n\t}),\n\n\tactions: {\n\t\tdelete(id) {\n\t\t\tthis.store.findRecord('notification', id, { backgroundReload: false })\n\t\t\t\t.then(notification => {\n\t\t\t\t\tnotification.deleteRecord()\n\t\t\t\t\tnotification.save()\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err)\n\t\t\t\t})\n\t\t},\n\t\tisEmpty(data) {\n\t\t\treturn isEmpty(data)\n\t\t},\n\t}\n})\n","import Ember from 'ember'\n\nexport default Ember.Controller.extend({\n\tmenuService: Ember.inject.service('main-menu'),\n})\n","import Ember from 'ember'\n\nconst { service } = Ember.inject\n// const selfIntersection = 'Self-intersection'   ¿¿??\n\nexport default Ember.Controller.extend({\n\terrors: service(),\n\n\tparentRoute: 'management.geofences',\n\n\tactions: {\n        save() {\n            var geofence = this.get('model.geofence')\n            if (!geofence) { throw { error: 'geofence not exist' } }\n\n            return geofence.save()\n\n        },\n        cancel() {\n            var geofence = this.get('model.geofence')\n            geofence.rollbackAttributes()\n            this.transitionToRoute(this.get('parentRoute'))\n\t\t},\n\t\tsuccess() {\n\t\t\tthis.transitionToRoute(this.get('parentRoute'))\n\t\t}\n    }\n\n})\n","import Base from './base'\n\nexport default Base.extend({\n})\n","import Ember from 'ember';\nimport config from '../../../config/environment';\n\n/* global validator */\n\nconst { service } = Ember.inject\n\nexport default Ember.Controller.extend({\n\ti18n: service(),\n\tapi: service(),\n\tsession: service(),\n\tmenuService: service('main-menu'),\n\taddPartners: false,\n\tnewShareEmail: null,\n\tinvalidEmail: false,\n\n\temailsList: null,\n\tselectedType: 0,\n\n\tcompanyGeofences: Ember.computed.filter('model.geofences', function (geofence) {\n\t\tlet companyID = this.get('model.company.id')\n\t\tif (!companyID || !geofence) { return false }\n\t\treturn geofence.get('groupID') == companyID\n\t}),\n\n\tsharedGeofences: Ember.computed.filter('model.geofences', function (geofence) {\n\t\tlet companyID = this.get('model.company.id')\n\t\tif (!companyID || !geofence) { return false }\n\t\treturn !(geofence.get('groupID') == companyID)\n\t}),\n\n\tgetPartners() {\n\t\tlet api = this.get('api')\n\t\treturn api.request('geofences/shared/', { dataType: 'json' })\n\t},\n\n\taddPartner(email) {\n\t\tif (!email) { return false }\n\t\tlet api = this.get('api')\n\n\t\treturn api.post('geofences/shared/' + email, { dataType: \"json\" })\n\t},\n\n\tremovePartner(email) {\n\t\tif (!email) { return false }\n\t\tlet api = this.get('api')\n\n\t\treturn api.del('geofences/shared/' + email, { dataType: \"json\" })\n\t},\n\tactions: {\n\t\ttoggleGeofences() {\n\t\t\tif (!this.get('addPartners')) {\n\t\t\t\tthis.getPartners()\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tthis.set('emailsList', data)\n\t\t\t\t\t\tthis.toggleProperty('addPartners')\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.toggleProperty('addPartners')\n\t\t\t\tthis.set('newShareEmail', null)\n\t\t\t}\n\n\t\t},\n\n\t\taddPartner() {\n\t\t\tlet email = this.get('newShareEmail')\n\n\t\t\tthis.set('invalidEmail', false)\n\t\t\tif (!email) { return false }\n\n\t\t\tif (validator.isEmail(email)) {\n\t\t\t\t//request to add partner\n\t\t\t\tthis.addPartner(email)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.get('emailsList').addObject({ id: null, email: email }) // add partner email to emailsList\n\t\t\t\t\t\tthis.set('newShareEmail', null)\n\t\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.set('invalidEmail', true)\n\t\t\t}\n\t\t},\n\n\t\tremovePartner(item) {\n\t\t\tif (!item || !item.email) { return false }\n\n\t\t\t//request to delete partner\n\t\t\tthis.removePartner(item.email)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.get('emailsList').removeObject(item) // remove partner from emailsList\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t},\n\n\t\tdownloadGeofence(format) {\n\t\t\tif (format != \"0\") {\n\t\t\t\tlet url = config.api.host + '/' + config.api.namespace + '/geofences/download?format=' + format\n\t\t\t\tconst idToken = this.get('session.data.authenticated.idToken')\n\n\t\t\t\tlet req = new XMLHttpRequest()\n\t\t\t\treq.open('GET', url, true)\n\t\t\t\treq.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\t\t\treq.setRequestHeader('Content-type', 'application/json; charset=utf-8')\n\t\t\t\treq.responseType = 'blob'\n\n\t\t\t\treq.onload = function () {\n\t\t\t\t\tlet blob = req.response\n\t\t\t\t\tlet link = document.createElement('a')\n\t\t\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\t\t\tlink.download = \"geofences.\" + format\n\t\t\t\t\tlink.className = 'hidden'\n\t\t\t\t\tdocument.body.appendChild(link)\n\t\t\t\t\tlink.click()\n\t\t\t\t}\n\n\t\t\t\treq.send()\n\t\t\t}\n\t\t}\n\t}\n});","import Ember from 'ember'\nimport Base from './base'\n\nexport default Base.extend({\n\tqueryParams: ['lat', 'lng'],\n\tlat: null,\n\tlng: null,\n\n\tgeofenceCoords: Ember.computed('lat', 'lng', function () {\n\t\tlet lat = this.get('lat')\n\t\tlet lng = this.get('lng')\n\t\tif (!lat || !lng) { return null }\n\t\treturn { lat: Number(this.get('lat')), lng: Number(this.get('lng')) }\n\t})\n})\n","import Base from './base';\n\nexport default Base.extend({\n});","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    actions: {\n        searchGroup(value) {\n            if (value === '') {\n                Ember.$('.ui.segment').removeClass('hidden');\n            }\n            \n            Ember.$('.ui.segment').each(function (idx, item) {\n                if (Ember.$(item).find('span').text().toLowerCase().indexOf(value.toLowerCase()) > - 1) {\n                    Ember.$(item).removeClass('hidden');\n                    Ember.$(item).parent().parent().show();\n                } else {\n                    Ember.$(item).addClass('hidden');\n                }\n            });\n        }\n    }\n});\n","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Controller.extend({\n    api: service(),\n\n    partnersCount: Ember.computed.alias('model.partners.length'),\n    \n    actions: {\n        searchGroup(value) {\n            if (value === '') {\n                Ember.$('.ui.segment').removeClass('hidden')\n            }\n\n            Ember.$('.ui.segment').each(function (idx, item) {\n                if (Ember.$(item).find('span').text().toLowerCase().indexOf(value.toLowerCase()) > - 1) {\n                    Ember.$(item).removeClass('hidden')\n                    Ember.$(item).parent().parent().show()\n                } else {\n                    Ember.$(item).addClass('hidden')\n                }\n            })\n        },\n        getPartners(groupID) {\n            let api = this.get('api')\n            return api.request('groups/' + groupID + '/shared/', { dataType: 'json' })\n        },\n        colapse(groupID) {\n            var item = Ember.$(\"div#\" + groupID);\n            item.next('ul').slideToggle('fast', function () {\n                var i = item.find('i');\n                if (i.hasClass('down')) {\n                    i.removeClass('down').addClass('right');\n                } else {\n                    i.removeClass('right').addClass('down');\n                }\n            });\n        },\n    }\n})\n","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nexport default Controller.extend({\n\ti18n: service(),\n\tmenuService: service('main-menu'),\n\tcurrentUser: service('current-user'),\n\tmodal: service(),\n\tstore: service(),\n\n\troles: computed.alias('model.roles'),\n\tusers: computed.alias('model.users'),\n\n\tfiltredRoles: computed('roles.@each.isNew', 'users', function () {\n\t\tlet roles = this.get('roles')\n\t\tlet allUsers = this.get('users')\n\t\tlet newRoles = roles.map(role => {\n\t\t\tlet users = allUsers.filterBy('role.id', role.get('id'))\n\t\t\tlet used = false\n\t\t\tif (users.length) {\n\t\t\t\tif (role.get('id') && this.get('currentUser.user.roleID') === role.get('id')) // loged user role. disable edit\n\t\t\t\t\tset(role, 'isUserRole', true)\n\t\t\t\tused = {\n\t\t\t\t\tnumber: users.length,\n\t\t\t\t\tnames: users.map(user => {\n\t\t\t\t\t\treturn `\\n${user.get('fullName')}`\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!this.get('currentUser.isAdmin') && role.get('type') === 'admin')\n\t\t\t\tset(role, 'disableEdit', true)\n\t\t\tset(role, 'used', used)\n\t\t\treturn role\n\t\t})\n\t\treturn newRoles.filterBy('isNew', false).sortBy('name')\n\t}),\n\n\tactions: {\n\t\tshowRole(role, readonly) {\n\t\t\tthis.get('modal').open('dc-role', { role, readonly })\n\t\t},\n\t\tnewRole() {\n\t\t\tlet role = this.get('store').createRecord('role')\n\t\t\tthis.get('modal').open('dc-role', { role })\n\t\t},\n\t\tdeleteRole(role) {\n\t\t\tif (!role) { return false }\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tlet options = {\n\t\t\t\ttittle: i18n.t('management.roles.delete'),\n\t\t\t\tcontent: i18n.t('management.roles.sureToDelete', {\n\t\t\t\t\tname: role.get('name'),\n\t\t\t\t\ttype: i18n.t(`management.users.${role.get('type')}`)\n\t\t\t\t}),\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tif (role.get('isNew')) {\n\t\t\t\t\trole.rollbackAttributes()\n\t\t\t\t\tthis.get('store').unloadRecord(role)\n\t\t\t\t} else {\n\t\t\t\t\trole.destroyRecord()\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tthis.get('store').unloadRecord(role)\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport moment from 'moment'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport ArrayProxy from '@ember/array/proxy'\nimport ObjectProxy from '@ember/object/proxy'\nimport { A } from '@ember/array'\nimport { isEmpty } from '@ember/utils'\n\nexport default Controller.extend({\n\ti18n: service(),\n\tmodal: service(),\n\tmenuService: service('main-menu'),\n\n\tsearch: null,\n\tqueryParams: ['since'],\n\tsince: moment().startOf('day').valueOf(),\n\n\tcompanyGroup: computed('model.companyID', 'model.groups', function () {\n\t\treturn this.get('model.groups').findBy('id', this.get('model.companyID'))\n\t}),\n\n\tcompanies: computed('model.groups', 'model.companyID', function () {\n\t\tif (!this.get('model.companyID')) { return [] }\n\t\tlet groups = this.get('model.groups')\n\t\tlet loggedCompanyID = this.get('model.companyID')\n\t\tlet companies = []\n\t\tgroups.forEach(grp => {\n\t\t\tif (grp.get('companyID') == loggedCompanyID) { // company groups & subgroups\n\t\t\t\tif (grp.get('id') == loggedCompanyID) { // only the company group\n\t\t\t\t\tcompanies.pushObject(grp)\n\t\t\t\t}\n\t\t\t}\n\t\t\telse { // shared groups\n\t\t\t\tcompanies.pushObject(grp)\n\t\t\t}\n\t\t})\n\t\treturn companies\n\t}),\n\n\ttimetables: computed('model.timetables.[].isNew', 'since', function () {\n\t\tlet since = Number(this.get('since'))\n\t\tif (!since) {\n\t\t\tsince = Number(moment().startOf('day').valueOf())\n\t\t}\n\t\tlet timetables = this.get('model.timetables')\n\t\tlet ttt = timetables.filter((tt) => {\n\t\t\tif (tt.get('isNew')) { return true }\n\t\t\t// if (tt.get('expired')) { return false } // will be deleted instead of expired\n\t\t\tif (tt.get('recurrent') && (!tt.get('endTime') || (tt.get('endTime') && moment(tt.get('endTime')).valueOf() > since))) { // RECURRENT: endDate > selectedDate or endTime == null\n\t\t\t\treturn true\n\t\t\t}\n\t\t\telse if (tt.get('startTime') && tt.get('duration') && moment(tt.get('startTime')).add(tt.get('duration'), 's').valueOf() > since) { // NERECURRENT: startTime + duration > selectedDate\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})\n\t\treturn ttt\n\t}),\n\n\tgroupedTimetables: computed('timetables.@each', 'companies.@each', 'companyTT.isNew', function () {\n\t\treturn this.groupTimetables(this.get('timetables'), this.get('companies'))\n\t}),\n\n\tcompanyTT: computed('timetables', function () {\n\t\tlet timetables = this.get('timetables').rejectBy('group.id')\n\t\treturn timetables[0]\n\t}),\n\n\tfilteredTimetables: computed('groupedTimetables', 'search', function () {\n\t\tlet groupedTimetables = this.get('groupedTimetables')\n\t\tlet search = this.get('search') ? this.get('search').toLowerCase() : ''\n\t\tif (search) {\n\t\t\treturn groupedTimetables.filter(group => {\n\t\t\t\tlet passed = false\n\t\t\t\tif (group.get('name') && group.get('name').toLowerCase().indexOf(search) != -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tgroup.get('vehicles').forEach(veh => {\n\t\t\t\t\tlet licensePlate = veh.get('licensePlate').toLowerCase()\n\t\t\t\t\tif (licensePlate.indexOf(search) != -1) {\n\t\t\t\t\t\tpassed = true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn passed\n\t\t\t})\n\t\t}\n\t\treturn groupedTimetables\n\t}),\n\n\t/**\n\t * function for group timetables in vehicles and groups\n\t * @param {array} timetables \n\t */\n\tgroupTimetables(timetables, companies) {\n\t\tif (!timetables.get('length') || !companies.get('length')) { return [] }\n\t\tlet loggedCompanyID = this.get('model.companyID')\n\t\tlet groupedTT = ArrayProxy.create({ content: A([]) })\n\t\tcompanies.forEach((grp) => {\n\t\t\tlet isCompanyGroup = grp.get('id') == loggedCompanyID\n\t\t\tlet group = ObjectProxy.create({ content: grp.toJSON() })\n\t\t\tgroup.set('id', grp.get('id'))\n\t\t\tgroup.set('timetables', ArrayProxy.create({ content: A([]) }))\n\t\t\tgroup.set('vehicles', ArrayProxy.create({ content: A([]) }))\n\t\t\tgroup.set('isCompany', isCompanyGroup ? 1 : 2)\n\n\t\t\tgroupedTT.pushObject(group)\n\t\t})\n\t\ttimetables.forEach((tt) => {\n\t\t\tlet isCompanyTimetable = tt.get('companyID') == loggedCompanyID\n\t\t\tlet group = isCompanyTimetable ? groupedTT.findBy('id', tt.get('companyID')) : groupedTT.findBy('id', tt.get('group.id'))\n\t\t\tif (isEmpty(group)) { return }\n\t\t\tif (tt.get('vehicle') && tt.get('vehicle.id')) { // is a vehicle tt\n\t\t\t\t// vehicle exists on groupedTT\n\t\t\t\tif (group.get('vehicles').isAny('id', tt.get('vehicle.id'))) {\n\t\t\t\t\tgroup.get('vehicles').findBy('id', tt.get('vehicle.id')).get('timetables').pushObject(tt)\n\t\t\t\t}\n\t\t\t\t// vehicle not exists on groupedTT\n\t\t\t\telse if (tt.get('vehicle') && tt.get('vehicle.id')) {\n\t\t\t\t\tlet ttVeh = ObjectProxy.create({\n\t\t\t\t\t\tcontent: tt.get('vehicle')\n\t\t\t\t\t})\n\t\t\t\t\tttVeh.set('id', tt.get('vehicle.id'))\n\t\t\t\t\tttVeh.set('isVehicle', true)\n\t\t\t\t\tttVeh.set('timetables', A([tt]))\n\t\t\t\t\tgroup.get('vehicles').pushObject(ttVeh)\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (tt.get('group') && tt.get('group.companyID')) {  // is a group tt\n\t\t\t\t// group exists on groupedTT\n\t\t\t\tif (isCompanyTimetable && group.get('id') == tt.get('group.companyID')) {\n\t\t\t\t\tgroup.get('timetables').pushObject(tt)\n\t\t\t\t}\n\t\t\t\telse if (group.get('id') == tt.get('group.id')) {\n\t\t\t\t\tgroup.get('timetables').pushObject(tt)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn groupedTT.filter((grp) => {\n\t\t\tif (grp.get('timetables.length') || grp.get('vehicles.length')) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})\n\t},\n\n\tactions: {\n\t\tdelete(tt) {\n\t\t\tif (!tt) { return }\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tlet options = {\n\t\t\t\ttittle: `${i18n.t('management.timetables.delete.title')}`,\n\t\t\t\tcontent: `${i18n.t('management.timetables.delete.sureToDeleteTimetable')}: ${moment(tt.get('startTime')).format('DD/MM/YYYY HH:mm')} - ${tt.get('humanizedDuration')}`,\n\t\t\t}\n\t\t\tif (tt.get('recurrent')) {\n\t\t\t\toptions.content += `<br>${i18n.t('recurrent')} - ${moment(tt.get('startTime')).format('dddd')}`\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\ttt.destroyRecord()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.store.unloadRecord(tt)\n\t\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.deletedWithSuccess'))\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport config from 'tracknamic-smb/config/environment'\n\nexport default Controller.extend({\n\tapi: service(),\n\ti18n: service(),\n\tsession: service(),\n\tmodal: service(),\n\tmenuService: service('main-menu'),\n\tcurrentUser: service('current-user'),\n\n\tdownloading: false,\n\tsearchValue: '',\n\tgroupFilter: '',\n\troleFilter: '',\n\n\tcanDeleteAdmin: computed('model.users.@each.role.type', function () {\n\t\tlet users = this.get('model.users')\n\t\tlet undeletedAdmins = users.filter(user => {\n\t\t\tif (user.get('deletedAt'))\n\t\t\t\treturn false\n\n\t\t\tif (user.get('role') && user.get('role.type') === 'admin')\n\t\t\t\treturn true\n\n\t\t\treturn false\n\t\t})\n\t\treturn undeletedAdmins.length > 1\n\t}),\n\n\tusers: computed('model.users', 'searchValue', 'groupFilter', 'roleFilter', function () {\n\t\tlet users = this.get('model.users')\n\t\tlet searchValue = this.get('searchValue') ? this.get('searchValue').toLowerCase() : ''\n\t\tlet groupFilter = this.get('groupFilter') ? this.get('groupFilter') : ''\n\t\tlet roleFilter = this.get('roleFilter') ? this.get('roleFilter') : ''\n\t\tif (searchValue || groupFilter || roleFilter) {\n\t\t\treturn users.filter(user => {\n\t\t\t\tlet passedGroupFilter = (groupFilter && user.get('group.id') && user.get('group.id') == groupFilter) || !groupFilter ? true : false\n\t\t\t\tlet passedRoleFilter = (roleFilter && user.get('role.id') && user.get('role.id') == roleFilter) || !roleFilter ? true : false\n\n\t\t\t\tif (passedGroupFilter && passedRoleFilter) {\n\t\t\t\t\tif (!searchValue ||\n\t\t\t\t\t\t(searchValue && user.get('role') && user.get('role.name') && user.get('role.name').toLowerCase().indexOf(searchValue) != -1) ||\n\t\t\t\t\t\t(searchValue && (user.get('fullName') && user.get('fullName').toLowerCase().indexOf(searchValue) != -1 ||\n\t\t\t\t\t\t\tuser.get('email') && user.get('email').toLowerCase().indexOf(searchValue) != -1))) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t}\n\t\treturn users\n\t}),\n\n\tactions: {\n\t\treinvite(user) {\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tlet options = {\n\t\t\t\ttittle: `${i18n.t('management.users.sureToResendInvitation')}?`,\n\t\t\t\tcontent: `${i18n.t('management.users.theInvitationWillBeSent')}: ${user.get('email')}`,\n\t\t\t\tcustomOkText: `${i18n.t('invite')}`,\n\t\t\t\tisSmall: true,\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tlet api = this.get('api')\n\n\t\t\t\tapi.post(`users/${user.get('id')}/reinvite`)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.toast.success(i18n.t('messages.operationWithSuccess'))\n\t\t\t\t\t})\n\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\treactivate(user) {\n\t\t\tif (!user || !user.get('deletedAt')) { return }\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tlet content = `\n\t\t\t${i18n.t('management.users.userName')}: ${user.get('fullName')}\n\t\t\t<br>${i18n.t('management.users.email')}: ${user.get('email')}`\n\n\t\t\tlet options = {\n\t\t\t\ttittle: `${i18n.t('management.users.sureToReactivateThisUser')}?`,\n\t\t\t\tcustomOkText: `${i18n.t('reactivate')}`,\n\t\t\t\tisSmall: true,\n\t\t\t\tcontent,\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tuser.set('deletedAt', null)\n\t\t\t\tuser.save()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.toast.success(i18n.t('messages.operationWithSuccess'))\n\t\t\t\t\t\tthis.send('refreshRoute')\n\t\t\t\t\t})\n\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tdownload(format) {\n\t\t\tif (!format) { return }\n\t\t\tthis.set('downloading', true)\n\t\t\tlet locale = this.get('currentUser.locale')\n\t\t\tlet url = `${config.api.host}/${config.api.namespace}/reports/104/download?format=${format}&locale=${locale}`\n\t\t\tconst idToken = this.get('session.data.authenticated.idToken')\n\n\t\t\tlet req = new XMLHttpRequest()\n\t\t\treq.open('GET', url, true)\n\t\t\treq.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\t\treq.setRequestHeader('Content-type', 'application/json; charset=utf-8')\n\t\t\treq.responseType = 'blob'\n\n\t\t\treq.onloadend = (pe) => {\n\t\t\t\tthis.set('downloading', false)\n\t\t\t\ttry {\n\t\t\t\t\tif (pe.target.status === 200) {\n\t\t\t\t\t\tlet blob = req.response\n\t\t\t\t\t\tlet link = document.createElement('a')\n\t\t\t\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\t\t\t\tlink.download = `${this.get('i18n').t('users')}.${format}`\n\t\t\t\t\t\tlink.className = 'hidden'\n\t\t\t\t\t\tdocument.body.appendChild(link)\n\t\t\t\t\t\tlink.click()\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (e) {\n\t\t\t\t\tconsole.error(`error${e}`) // eslint-disable-line no-console\n\t\t\t\t}\n\t\t\t}\n\t\t\treq.send()\n\t\t},\n\t\tdeleteUser(user) {\n\t\t\tif (!user) { return }\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tlet content = `\n\t\t\t${i18n.t('management.users.userName')}: ${user.get('fullName')}\n\t\t\t<br>${i18n.t('management.users.email')}: ${user.get('email')}`\n\n\t\t\t// has any vehicle this userID assigned ?\n\t\t\tlet vehicle = this.store.peekAll('vehicle').findBy('userID', user.get('id'))\n\t\t\tif (vehicle) {\n\t\t\t\tcontent += `<h3><i class=\"warning sign icon\"></i> ${i18n.t('management.users.userHasVehicle')} \"${vehicle.get('licensePlate')}\"; ${i18n.t('management.users.ifDeleteDetatch')}.</h3>`\n\t\t\t}\n\n\t\t\tlet options = {\n\t\t\t\ttittle: `${i18n.t('management.users.sureToDeleteThisUser')}?`,\n\t\t\t\tcustomOkText: `${i18n.t('delete')}`,\n\t\t\t\tisSmall: true,\n\t\t\t\tcontent,\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tuser.destroyRecord()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t// detach user from vehicle\n\t\t\t\t\t\tif (vehicle) {\n\t\t\t\t\t\t\tvehicle.set('userID', null)\n\t\t\t\t\t\t\tvehicle.save()\n\t\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t\tthis.toast.success(i18n.t('messages.deletedWithSuccess'))\n\t\t\t\t\t\t\t\t\tthis.send('refreshRoute')\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t\t\t\t\tthis.toast.error(i18n.t('errors.savingVehicle'))\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.toast.success(i18n.t('messages.deletedWithSuccess'))\n\t\t\t\t\t\t\tthis.send('refreshRoute')\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tshowUser(user, readonly) {\n\t\t\tif (user.get('deletedAt'))\n\t\t\t\treturn\n\t\t\tthis.get('modal').open('dc-user', { user, readonly })\n\t\t},\n\t\tviewDocuments(user) {\n\t\t\tthis.get('modal').open('dc-documents', { user })\n\t\t},\n\t\tnewUser() {\n\t\t\tlet user = this.get('store').createRecord('user', {\n\t\t\t\tassignedVehicle: null,\n\t\t\t\tgroupID: null,\n\t\t\t\troleID: null,\n\t\t\t\tcompanyID: null,\n\t\t\t\temail: null,\n\t\t\t\tphoneNumber: null,\n\t\t\t\tfirstName: null,\n\t\t\t\tlastName: null,\n\t\t\t\tavatar: null,\n\t\t\t\ttype: 'driver',\n\t\t\t\tdetails: {\n\t\t\t\t\tdrivingLicense: {\n\t\t\t\t\t\tcategories: null\n\t\t\t\t\t},\n\t\t\t\t\tiButtonID: null\n\t\t\t\t},\n\t\t\t\tacl: {\n\t\t\t\t\tgroups: null,\n\t\t\t\t\tvehicles: null,\n\t\t\t\t\tusers: null\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tthis.get('modal').open('dc-user', { user }).then(() => {\n\t\t\t\tthis.send('refreshRoute')\n\t\t\t})\n\t\t}\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport config from 'tracknamic-smb/config/environment'\n\nexport default Controller.extend({\n\ti18n: service(),\n\tsession: service(),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tmodal: service(),\n\tapi: service(),\n\tstore: service(),\n\n\tdownloading: false,\n\tsearchValue: '',\n\ttypeFilter: '',\n\tgroupFilter: '',\n\n\tvehiclesWithDevice: computed('model.devices', function () {\n\t\tlet devices = this.get('model.devices') || []\n\t\treturn devices.mapBy('vehicleID').filter(r => !!r)\n\t}),\n\n\tvehicles: computed('model.vehicles', 'searchValue', 'typeFilter', 'groupFilter', function () {\n\t\tlet vehicles = this.get('model.vehicles')\n\t\tlet searchValue = this.get('searchValue') ? this.get('searchValue').toLowerCase() : ''\n\t\tlet typeFilter = this.get('typeFilter') ? this.get('typeFilter').toLowerCase() : ''\n\t\tlet groupFilter = this.get('groupFilter') ? this.get('groupFilter') : ''\n\t\tif (searchValue || groupFilter || typeFilter) {\n\t\t\treturn vehicles.filter(vehicle => {\n\t\t\t\tlet passedGroupFilter = (groupFilter && vehicle.get('group.id') && vehicle.get('group.id') == groupFilter) || !groupFilter ? true : false\n\t\t\t\tlet passedTypeFilter = (typeFilter && vehicle.get('type') && vehicle.get('type') == typeFilter) || !typeFilter ? true : false\n\n\t\t\t\tif (passedGroupFilter && passedTypeFilter) {\n\t\t\t\t\tif (!searchValue || (searchValue && (\n\t\t\t\t\t\tvehicle.get('licensePlate') && vehicle.get('licensePlate').toLowerCase().indexOf(searchValue) != -1 ||\n\t\t\t\t\t\tvehicle.get('carName') && vehicle.get('carName').toLowerCase().indexOf(searchValue) != -1 ||\n\t\t\t\t\t\tvehicle.get('user.fullName') && vehicle.get('user.fullName').toLowerCase().indexOf(searchValue) != -1\n\t\t\t\t\t))) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t}\n\t\treturn vehicles\n\t}),\n\n\tactions: {\n\t\tdownload (format) {\n\t\t\tif (!format) { return }\n\t\t\tthis.set('downloading', true)\n\t\t\tlet locale = this.get('currentUser.locale')\n\t\t\tlet url = `${config.api.host}/${config.api.namespace}/reports/103/download?format=${format}&locale=${locale}`\n\t\t\tconst idToken = this.get('session.data.authenticated.idToken')\n\n\t\t\tlet req = new XMLHttpRequest()\n\t\t\treq.open('GET', url, true)\n\t\t\treq.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\t\treq.setRequestHeader('Content-type', 'application/json; charset=utf-8')\n\t\t\treq.responseType = 'blob'\n\n\t\t\treq.onloadend = (pe) => {\n\t\t\t\tthis.set('downloading', false)\n\t\t\t\ttry {\n\t\t\t\t\tif (pe.target.status === 200) {\n\t\t\t\t\t\tlet blob = req.response\n\t\t\t\t\t\tlet link = document.createElement('a')\n\t\t\t\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\t\t\t\tlink.download = `${this.get('i18n').t('vehicles')}.${format}`\n\t\t\t\t\t\tlink.className = 'hidden'\n\t\t\t\t\t\tdocument.body.appendChild(link)\n\t\t\t\t\t\tlink.click()\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (e) {\n\t\t\t\t\tconsole.error(`error${e}`) // eslint-disable-line no-console\n\t\t\t\t}\n\t\t\t}\n\t\t\treq.send()\n\t\t},\n\t\tdeleteVehicle (vehicle) {\n\t\t\tif (!vehicle) { return }\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tlet device = this.store.peekAll('device').findBy('vehicleID', vehicle.get('id'))\n\t\t\tlet content = `\n            <span>${i18n.t('management.vehicles.vehicle')}</span>: <span>${vehicle.get('carName')}</span>\n            <br><span>${i18n.t('management.vehicles.vin')}</span>: <span>${vehicle.get('vin') ? vehicle.get('vin') : ''}</span>\n            <br><span>${i18n.t('management.vehicles.licensePlate')}</span>: <b><span>${vehicle.get('licensePlate')}</span></b>`\n\t\t\tif (device) {\n\t\t\t\tcontent += `<h3><i class='warning sign icon'></i> ${i18n.t('management.vehicles.vehicleHasDeviceAssigned', { deviceID: device.get('id') })}</h3>`\n\t\t\t}\n\n\t\t\tlet options = {\n\t\t\t\ttittle: `${i18n.t('management.vehicles.sureToDeleteVehicle')}?`,\n\t\t\t\tisSmall: true,\n\t\t\t\tcontent,\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tvehicle.destroyRecord()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tif (device) { // has any devices this vehicle assigned ?\n\t\t\t\t\t\t\tdevice.set('vehicleID', null)\n\t\t\t\t\t\t\tdevice.save()\n\t\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.deletedWithSuccess'))\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch(console.error) // eslint-disable-line no-console\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.deletedWithSuccess'))\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tshowVehicle (vehicle, readonly) {\n\t\t\tlet maintenances = this.get('model.maintenances')\n\t\t\tthis.get('modal').open('dc-vehicle', { vehicle, readonly, maintenances })\n\t\t},\n\t\tqrCode(vehicle) {\n\t\t\tthis.get('modal').open('dc-qr', vehicle).then(vehID => {\n\t\t\t\tthis.get('api')\n\t\t\t\t\t.post(`vehicles/${vehID}/user`)\n\t\t\t\t\t.then(() => vehicle.set('hasUser', true) )\n\t\t\t})\n\t\t},\n\t\teditVehicleAlert (vehicle) {\n\t\t\tthis.get('modal').open('dc-vehicle-alert', vehicle)\n\t\t},\n\t\tviewDocuments (vehicle) {\n\t\t\tthis.get('modal').open('dc-documents', { vehicle })\n\t\t},\n\t\tnewVehicle () {\n\t\t\tlet vehicle = this.get('store').createRecord('vehicle', {\n\t\t\t\tgroupID: null,\n\t\t\t\tuserID: null,\n\t\t\t\tmake: null,\n\t\t\t\tmodel: null,\n\t\t\t\tvin: null,\n\t\t\t\tyear: null,\n\t\t\t\tcolor: null,\n\t\t\t\tseats: null,\n\t\t\t\ttype: null,\n\t\t\t\thasRelay: null,\n\t\t\t\tlicensePlate: null,\n\t\t\t\tregistrationDate: null,\n\t\t\t\ttireSize: null,\n\t\t\t\tfuel: {\n\t\t\t\t\ttype: null,\n\t\t\t\t\tcapacity: null,\n\t\t\t\t\tconsumption: {\n\t\t\t\t\t\tauxiliaryHeatingTime: null,\n\t\t\t\t\t\tdistanceWise: null,\n\t\t\t\t\t\ttimeWise: null,\n\t\t\t\t\t\tweightWise: null\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tengine: {\n\t\t\t\t\tpower: null,\n\t\t\t\t\tcapacity: null\n\t\t\t\t},\n\t\t\t\tspeedLimit: {\n\t\t\t\t\tmax: null,\n\t\t\t\t\tmin: null,\n\t\t\t\t\toffset: null\n\t\t\t\t},\n\t\t\t\tsettings: {\n\t\t\t\t\troute: {\n\t\t\t\t\t\tpurpose: null\n\t\t\t\t\t},\n\t\t\t\t\talerts: {\n\t\t\t\t\t\tdoorOpenOutsidePOI: null,\n\t\t\t\t\t\t\"fuel-level-drop-stationary\": {\n\t\t\t\t\t\t\ttype: 'disabled',\n\t\t\t\t\t\t\tlimit: 1\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"fuel-consumption-excessive\": {\n\t\t\t\t\t\t\ttype: 'disabled',\n\t\t\t\t\t\t\tlimit: 1\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstatus: {\n\t\t\t\t\tlocation: [\n\t\t\t\t\t\tnull\n\t\t\t\t\t],\n\t\t\t\t\tspeed: null,\n\t\t\t\t\tfuelLevel: null,\n\t\t\t\t\tengineState: null,\n\t\t\t\t\trelayState: null,\n\t\t\t\t\todometer: null,\n\t\t\t\t\tupdatedAt: null\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tthis.get('modal').open('dc-vehicle', { vehicle })\n\t\t}\n\t}\n})\n","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Controller.extend({\n    resolution: service(),\n    fullscreen: service()\n})\n","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Controller.extend({\n    resolution: service(),\n    menuService: service('main-menu'),\n    fullscreen: service()\n})\n","import Controller from '@ember/controller'\nimport { get, set } from '@ember/object'\nimport { computed } from '@ember/object'\nimport { task, timeout, taskGroup } from 'ember-concurrency'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\nimport { inject as service } from '@ember/service'\n\nconst romLatLng = {\n    lat: 45.9432,\n    lng: 24.9668\n}\nexport default Controller.extend(datesMixin, {\n    currentUser: service('current-user'),\n    modal: service(),\n    google: service(),\n    i18n: service(),\n    api: service(),\n    ddOpened: false,\n    romLatLng,\n    disableSave: false,\n\n    searchText: '',\n    routeLatLngs: null,\n    selectedText: null,\n    destinationMarker: null,\n\n    companyID: computed.alias('currentUser.user.companyID'),\n    defaultIcon: computed.alias('currentUser.defaultIcon'),\n    vehicleLocation: computed.alias('model.vehicle.status.locationLatLng'),\n\n    filtredGeofences: computed('model.geofences.@each', 'searchValue', function () {\n        let geofences = this.get('model.geofences')\n        let searchValue = this.get('searchValue')\n\n        if (searchValue) {\n            return geofences.filter(item => {\n                return item.get('fullName').toLowerCase().indexOf(searchValue.toLowerCase()) != -1\n            })\n        }\n        return geofences\n    }),\n\n    customStartDate: computed('startDate', 'firstStartDate', function () {\n        return this.get('startDate') != this.get('firstStartDate')\n    }),\n\n    startDateText: computed('startDate', 'customStartDate', function () {\n        let startDate = this.get('startDate')\n        let customStartDate = this.get('customStartDate')\n\n        return customStartDate ? moment(startDate).format('DD/MM HH:mm') : this.get('i18n').t('now') + ' ' + moment(startDate).format('HH:mm')\n    }),\n\n    endDate: computed('startDate', 'duration', function () {\n        let startDate = this.get('startDate')\n        let duration = this.get('duration')\n\n        return moment(startDate).add(duration, 's').valueOf()\n    }),\n\n    endDateText: computed('endDate', function () {\n        let endTime = moment(this.get('endDate')).calendar()\n        return endTime.charAt(0).toUpperCase() + endTime.slice(1)\n    }),\n\n    externalIDs: computed.map('model.geofences', function (item) {\n        return item.get('externalID')\n    }),\n\n    routing: taskGroup().restartable(),\n    route: task(function* (origin, destination) {\n        yield timeout(300)\n\n        const response = yield this.get('google').makeRoute(origin, destination)\n        return response\n    }).group('routing'),\n    route2: task(function* (options) {\n        yield timeout(300)\n\n        let data = {\n            mapMatchRadius: 5000,\n            tollVehicleType: 3,\n            mode: 'fastest;truck;traffic:enabled',\n            routeAttributes: 'sh',\n            trailersCount: 1,\n            trailerType: 2,\n            vehicleNumberAxles: 2,\n            trailerNumberAxles: 3,\n            ignoreWaypointVehicleRestriction: '5000;0;all',\n            emissionType: 6,\n            width: '255cm',\n            height: '400cm',\n            restTimes: '16200,2700,32400,39600',\n        }\n        Object.assign(data, options)\n        const response = yield this.get('api').request('/geo/route3', {\n            data\n        })\n        return response\n    }).group('routing'),\n\n    init() {\n        this._super(...arguments)\n\n        this.set('center', {\n            lat: '47.054817',\n            lng: '21.928835',\n        })\n    },\n\n    resetValues() {\n        this.set('routeLatLngs', [])\n        this.set('predictions', [])\n        this.set('searchValue', null)\n        this.set('distance', null)\n        this.set('duration', null)\n    },\n\n    makeRoute(origin, destination) {\n        this.resetValues()\n\n        if (get(this, 'model.vehicle.type') === 'truck') {\n            const coordinates = [origin, destination].map(latlng => `${latlng.lat},${latlng.lng}`).join(';')\n\n            return get(this, 'route2').perform({\n                coordinates,\n            })\n                .then(response => {\n                    let shape = []\n                    for (let i = 1; i < response.shape.length; i += 2) {\n                        shape.push({ lat: response.shape[i - 1], lng: response.shape[i] })\n                    }\n\n                    get(this, 'routeLatLngs').setObjects(shape)\n                    set(this, 'destinationMarker', get(shape, 'lastObject'))\n                    set(this, 'distance', `${Math.round(response.summary.distance / 1000)} km`)\n                    set(this, 'duration', response.summary.trafficTime)\n                })\n                .catch(() => {\n                    this.toast.error(this.get('i18n').t('messages.routingFailed'))\n                })\n        }\n\n        return get(this, 'route').perform(origin, destination)\n            .then(response => {\n                if (!response || !response.routes[0] || !response.routes[0].overview_path) { throw new Error('No routes found') }\n                let routeLatLngs = response.routes[0].overview_path.map((item => {\n                    return {\n                        lat: item.lat(),\n                        lng: item.lng(),\n                    }\n                }))\n\n                if (response.routes[0].bounds && this.get('map')) {\n                    this.get('map').fitBounds(response.routes[0].bounds)\n                }\n\n                this.set('routeLatLngs', routeLatLngs)\n\n                if (!response.routes[0].legs[0]) { return }\n                let route = response.routes[0].legs[0]\n                let endLatLng = {\n                    lat: route.end_location.lat(),\n                    lng: route.end_location.lng()\n                }\n\n                this.get('google').getAddressByLocation(endLatLng)\n                    .then(res => {\n                        this.set('to', res)\n                    })\n                    .catch(err => {\n                        // eslint-disable-next-line no-console\n                        console.error(err)\n                    })\n\n                this.set('from', route.start_address)\n                let startDate = this.convertDateToBrowserTZ(moment().valueOf())\n                this.set('startDate', startDate)\n                this.set('firstStartDate', startDate)\n                this.set('destinationMarker', endLatLng)\n                this.set('distance', route.distance.text)\n                this.set('duration', route.duration.value)\n            })\n            .catch(() => {\n                this.toast.error(this.get('i18n').t('messages.routingFailed'))\n            })\n    },\n\n    dropdownSelection(text) {\n        this.set('selectedText', text)\n        this.set('to', text)\n    },\n\n    savePlan(geo) {\n        let startTime = this.convertDateToCompanyTZ(this.get('startDate'))\n        let endTime = this.convertDateToCompanyTZ(this.get('endDate'))\n        let day = moment.tz(startTime, this.get('currentUser.timezone')).startOf('day').valueOf()\n        let geofenceID = geo.get('id')\n        let geofenceName = geo.get('fullName')\n        let vehicleID = this.get('model.vehicle.id')\n\t\tlet vehicleLicensePlate = this.get('model.vehicle.licensePlate')\n\n        this.get('api').post('/geofences/planned', {\n            contentType: \"application/json; charset=utf-8\",\n            dataType: \"json\",\n            data: {\n                plannedPOI: {\n                    startTime,\n                    endTime,\n                    day,\n                    geofenceID,\n                    geofenceName,\n                    vehicleID,\n                    vehicleLicensePlate,\n                }\n            },\n        })\n            .then(() => {\n                this.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n                this.set('disableSave', true)\n            })\n            .catch(() => {\n                this.toast.error(this.get('i18n').t('messages.operationWithError'))\n            })\n    },\n\n    actions: {\n        onLoad(publicAPI) {\n            let map = publicAPI.map\n\n            let trafficLayer = new window.google.maps.TrafficLayer()\n            trafficLayer.setMap(map)\n\n            this.set('map', map)\n        },\n        ddOpened(val) {\n            this.set('ddOpened', val)\n        },\n        savePlan() {\n            if (this.get('geofenceID')) { // if selected is geofence\n                this.savePlan(this.get('selectedGeofence'))\n            }\n            else { // if is location. create a geofence for that location.\n                let companyID = this.get('companyID')\n                let defaultIcon = this.get('defaultIcon')\n                let lat = this.get('destinationMarker.lat')\n                let lng = this.get('destinationMarker.lng')\n\n                let newGeofence = this.store.createRecord('geofence', {\n                    groupID: companyID,\n                    externalID: null,\n                    name: null,\n                    color: \"#FFDC36\",\n                    global: false,\n                    type: \"poi\",\n                    boundary: 500,\n                    icon: defaultIcon,\n                    settings: {\n                        event_trigger: {\n                            stationary: 5\n                        },\n                        event_type: {\n                            enter: \"disabled\",\n                            exit: \"disabled\",\n                            stationary: \"disabled\",\n                        }\n                    },\n                    shape: {\n                        type: \"Point\",\n                        coordinates: [{ lng, lat }]\n                    },\n                    vehicles: []\n                })\n\n                let externalIDs = this.get('externalIDs')\n                let options = {\n                    externalIDs,\n                    newGeofence,\n                }\n\n                this.get('modal').open('dc-poi', options)\n                    .then(() => {\n                        newGeofence.save()\n                            .then(geo => {\n                                // save the plan\n                                this.set('selectedGeofence', geo)\n                                this.set('geofenceID', geo.get('id'))\n                                this.savePlan(geo)\n                            })\n                            .catch(() => {\n                                this.toast.error(this.get('i18n').t('messages.operationWithError'))\n                            })\n                    })\n                    .catch(() => {\n                        newGeofence.rollbackAttributes()\n                    })\n            }\n        },\n        changeTime(boolean) {\n            this.set('changeStartTime', boolean)\n        },\n        selectGeofence(geofence) {\n            this.dropdownSelection(get(geofence, 'fullName'))\n            this.set('geofenceID', get(geofence, 'id'))\n            this.set('disableSave', false)\n            if (!geofence || !geofence.get(\"shape\") || !geofence.get(\"shape.centerLatLng\")) { return }\n            this.set('selectedGeofence', geofence)\n            let origin = this.get('vehicleLocation')\n            let destination = geofence.get(\"shape.centerLatLng\")\n            this.makeRoute(origin, destination)\n        },\n        search(val) {\n            this.set('searchValue', val)\n            if (!val) {\n                this.set('predictions', [])\n                return\n            }\n            this.get('google').getPlacePredictions({\n                input: val,\n                fields: ['geometry.location'],\n                sessionToken: this.get('google').getAutocompleteSessionToken(),\n            })\n                .then(res => {\n                    let mapped = res.map(item => {\n                        return { name: item.description, id: item.place_id }\n                    })\n                    this.set('predictions', mapped)\n                })\n        },\n        select(place) {\n            this.dropdownSelection(get(place, 'name'))\n            this.set('geofenceID', null)\n            this.set('disableSave', false)\n            if (!place) { return false }\n            this.get('google').getPlaceDetails(this.get('map'), {\n                placeId: get(place, 'id'),\n                fields: ['geometry.location'],\n                sessionToken: this.get('google').getAutocompleteSessionToken(),\n            })\n                .then(result => {\n                    this.get('google').getAutocompleteSessionToken(true) // Refresh token after place found\n                    let origin = this.get('vehicleLocation')\n                    this.makeRoute(origin, { lat: result.geometry.location.lat(), lng: result.geometry.location.lng() })\n                })\n        },\n    }\n})\n","import Controller from '@ember/controller'\nimport { set, computed, getWithDefault } from '@ember/object'\nimport { copy } from '@ember/object/internals'\nimport { inject as service } from '@ember/service'\nimport { isEmpty } from '@ember/utils'\nimport uuid from \"ember-uuid\"\nimport { round } from 'lodash'\n\nimport moment from 'moment'\nimport RoutesMixin from 'tracknamic-smb/mixins/routes'\nimport FormatterMixin from 'tracknamic-smb/mixins/reports/formatter'\nimport { get, capitalize } from 'lodash'\n\nconst twoMinutesInMs = 120000\n\nexport default Controller.extend(RoutesMixin, FormatterMixin, {\n\ti18n: service(),\n\tresolution: service(),\n\tmapService: service(\"map\"),\n\tcurrentUser: service('current-user'),\n\tmodules: computed.readOnly('currentUser.modules'),\n\thasReportsRouteAccess: computed.readOnly('currentUser.hasReportsRouteAccess'),\n\n\tselectedView: 'map', // used on mobile and tablets\n\tcurrentlyLoading: false,\n\thoveredRouteID: null,\n\thoveredLocation: null,\n\thoveredCourse: null,\n\topenAtMonthStartDP: null,\n\topenAtMonthEndDP: null,\n\tdatePickerSelected: null,\n\ttoggleStartDatePicker: false,\n\ttoggleEndDatePicker: false,\n\tfinishedDateSelection: false,\n\tshowCharts: false,\n\tchart: 0,\n\n\tqueryParams: [\n\t\t{ routeStartDate: 'start' },\n\t\t{ routeEndDate: 'end' }\n\t],\n\n\tselectedVehicle: computed.readOnly('model.selectedVehicle'),\n\tstopLimit: computed.alias('currentUser.stopLimit'),\n\tsortedRoutes: computed.sort(\"model.routes\", \"sortCriteria\"),\n\tsortCriteria: [\"startTime:asc\",'type:asc'],\n\n\trouteStartDate: computed.alias('mapService.routeStartDate'),\n\trouteEndDate: computed.alias('mapService.routeEndDate'),\n\tmaxDate: computed.alias('mapService.maxDate'),\n\n\tdcRoutes: computed('sortedRoutes', function () {\n\t\tlet routes = this.get(\"sortedRoutes\")\n\t\tlet filteredRoutes = routes.uniqBy('startTime') // remove duplicated routes\n\t\tlet geofences = this.get('model.geofences')\n\t\tlet selectedVehicle = this.get('model.selectedVehicle')\n\n\t\tlet dcRoutes = this.makeRoutes(filteredRoutes, geofences, selectedVehicle)\n\n\t\treturn dcRoutes\n\t}),\n\n\t/**\n\t * Merge routes with stationaryTime lower than maxStopDuration\n\t * movingRoutes with the stationary one (points of stationary should be needed maybe for cupola or another sensors on graph)\n\t * @param {*} maxStopDuration Maximum duration for a stop before making a new route\n\t */\n\tmergedRoutes: computed('dcRoutes.[]', 'stopLimit', function () {\n\t\tlet maxStop = this.get(\"stopLimit\") * 1000\n\t\tlet routes = this.get('dcRoutes')\n\t\tlet stationariesLowerThanDuration = routes.filter(rt => { return rt.stationary && rt.duration < maxStop })\n\t\tlet stationaryIndex = 0\n\t\tif (stationariesLowerThanDuration.length) {\n\t\t\t// merge routes. Normally there will be 3 routes [moving,stationary,moving] Remove the stationary\n\t\t\tconst mbsd = this.mergeByStopDuration(routes, maxStop)\n\n\t\t\tconst length = mbsd.length\n\t\t\treturn mbsd.map((route, idx) => {\n\t\t\t\tif(route.stationary){\n\t\t\t\t\tstationaryIndex++\n\t\t\t\t\tset(route, 'stationaryIndex', stationaryIndex)\n\t\t\t\t\tif (idx === length - 1) {\n\t\t\t\t\t\tset(route, 'lastRoute', true)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tset(route, 'index', idx)\n\t\t\t\tset(route, 'selected', false)\n\t\t\t\treturn route\n\t\t\t})\n\t\t}\n\t\tconst length = routes.length\n\t\treturn routes.map((route, idx) => {\n\t\t\tif(route.stationary){\n\t\t\t\tstationaryIndex++\n\t\t\t\tset(route, 'stationaryIndex', stationaryIndex)\n\t\t\t\tif (idx === length - 1) {\n\t\t\t\t\tset(route, 'isEndOfRoutes', true)\n\t\t\t\t}\n\t\t\t}\n\t\t\tset(route, 'index', idx)\n\t\t\tset(route, 'selected', false)\n\t\t\treturn route\n\t\t})\n\t}),\n\n\troutesDuration: computed('mergedRoutes.@each', function(){\n\t\tconst mr = this.get('mergedRoutes')\n\t\tconst length = mr.length\n\t\tif (!length) return []\n\t\tconst routesDuration = mr.map(route => route.duration)\n\t\tconst idxToMerge = []\n\t\troutesDuration.forEach((duration, idx)=>{\n\t\t\tif (duration <= twoMinutesInMs) {\n\t\t\t\tidxToMerge.push(idx)\n\t\t\t}\n\t\t})\n\t\tconst mergedRoutes = []\n\t\tmr.forEach((r, idx) =>{\n\t\t\tif (~idxToMerge.indexOf(idx)){\n\t\t\t\tlet thisRoute = {\n\t\t\t\t\tstart: r.start.timestamp,\n\t\t\t\t\tend: r.end.timestamp,\n\t\t\t\t\tduration: r.duration,\n\t\t\t\t\tstartIndex: idx,\n\t\t\t\t\tendIndex: idx,\n\t\t\t\t\tstationary: r.stationary,\n\t\t\t\t}\n\n\t\t\t\tconst prevRoute = mergedRoutes.pop()\n\t\t\t\tconst nextRoute = mr[idx + 1]\n\t\t\t\tif (prevRoute) {\n\t\t\t\t\tif (prevRoute.endIndex === idx) {\n\t\t\t\t\t\tthisRoute = prevRoute\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthisRoute.start = prevRoute.start\n\t\t\t\t\t\tthisRoute.duration += prevRoute.duration\n\t\t\t\t\t\tthisRoute.startIndex = prevRoute.startIndex\n\t\t\t\t\t\tthisRoute.stationary = prevRoute.stationary\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (nextRoute) {\n\t\t\t\t\tthisRoute.end = nextRoute.end.timestamp\n\t\t\t\t\tthisRoute.duration += nextRoute.duration\n\t\t\t\t\tthisRoute.endIndex = idx + 1\n\t\t\t\t\tthisRoute.stationary = nextRoute.stationary\n\t\t\t\t}\n\t\t\t\tmergedRoutes.push(thisRoute)\n\t\t\t} else {\n\t\t\t\tconst prevRoute = mergedRoutes[mergedRoutes.length - 1]\n\t\t\t\tif (prevRoute?.endIndex === idx ) return // if this route was added on the other route. ignore it\n\n\t\t\t\tmergedRoutes.push({\n\t\t\t\t\tstart: r.start.timestamp,\n\t\t\t\t\tend: r.end.timestamp,\n\t\t\t\t\tduration: r.duration,\n\t\t\t\t\tstartIndex: idx,\n\t\t\t\t\tendIndex: idx,\n\t\t\t\t\tstationary: r.stationary,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\tlet i18n = this.get('i18n')\n\t\tmergedRoutes.forEach(r => {\n\t\t\tr.translatedRouteTypeDuration = i18n.t(r.stationary ? 'reports.headerFields.durationStationary' : 'reports.headerFields.durationMoving')\n\t\t\tr.formattedDuration = this.durationAsDHMSShort(r.duration)\n\t\t})\n\n\t\treturn mergedRoutes\n\t}),\n\n\ttotalKms: computed('mergedRoutes.@each.selected', function(){\n\t\tconst selectedMovingRoutes = this.get('mergedRoutes').filter(item => item.selected && !item.stationary)\n\t\treturn selectedMovingRoutes.reduce((acumulator, item) => acumulator + item.distance, 0)\n\t}),\n\n\tallSelectedAreExpanded: computed('mergedRoutes.@each.selected', 'mergedRoutes.@each.expanded', function(){\n\t\tconst selectedMovingRoutes = this.get('mergedRoutes').filter(item => item.selected && !item.stationary)\n\t\tif (!selectedMovingRoutes.length) return false\n\t\treturn selectedMovingRoutes.reduce((acumulator, item) => acumulator && (item.stationary || (item.expanded && item.selected)), true)\n\t}),\n\n\tconcatRoutes(startIndex, endIndex, id) {\n\t\t// not exists startIndex || endIndex\n\t\tconst routes = this.get('mergedRoutes')\n\t\tconst startIdx = startIndex < 0 ? 0 : startIndex\n\t\tconst endIdx = endIndex > routes.length ? routes.length - 1 : endIndex\n\t\treturn {\n\t\t\tid: id || uuid.v4(),\n\t\t\tpoints: [].concat.apply([], routes.slice(startIdx, endIdx).mapBy('points'))\n\t\t}\n\t},\n\n\tselectedRoute: computed('mergedRoutes.@each.selected', function () {\n\t\tconst selectedMovingRoutes = this.get('mergedRoutes').filter(item => item.selected && !item.stationary)\n\t\tif (!selectedMovingRoutes.length) return null\n\t\tif (selectedMovingRoutes.length === 1) return this.concatRoutes(selectedMovingRoutes[0].index - 1, selectedMovingRoutes[0].index + 1, selectedMovingRoutes[0].id)\n\t\tconst startIndex = selectedMovingRoutes[0].index\n\t\tconst endIndex = selectedMovingRoutes[selectedMovingRoutes.length - 1].index\n\t\treturn this.concatRoutes(startIndex - 1, endIndex + 1)\n\t}),\n\n\tallPoints: computed('mergedRoutes.[]', function () {\n\t\treturn [].concat.apply([], this.get('mergedRoutes').mapBy('points'))\n\t}),\n\n\tselectedPoints: computed('allPoints.[]', 'selectedRoute', function () {\n\t\treturn this.get('selectedRoute') ? this.get('selectedRoute').points : this.get('allPoints')\n\t}),\n\n\ttotals: computed('model.routes', 'model.selectedVehicle', function () {\n\t\tlet routes = this.get('model.routes')\n\t\tlet vehicle = this.get('model.selectedVehicle')\n\t\tlet i18n = this.get('i18n')\n\n\t\tlet totals = {\n\t\t\tdistanceGps: 0,\n\n\t\t\tfuelMovingCan: 0,\n\t\t\tfuelMovingSensor: 0,\n\t\t\tfuelMovingComputed: 0,\n\n\t\t\tfuelStationaryCan: 0,\n\t\t\tfuelStationarySensor: 0,\n\t\t\tfuelStationaryComputed: 0,\n\n\t\t\tdurationStationary: 0,\n\t\t\tdurationStationaryEngineOn: 0,\n\t\t}\n\t\troutes.forEach(route => {\n\t\t\tconst fuelCan = route.get('details.fuelConsumption.can') || 0\n\t\t\tconst fuelSensor = route.get('details.fuelConsumption.sensor') || 0\n\t\t\tconst fuelComputed = route.get('details.fuelConsumption.computed') || 0\n\t\t\tif (!route.get('type') || route.get('type') === 'moving') {\n\t\t\t\ttotals.distanceGps += (route.get('distance') || 0)\n\t\t\t\ttotals.fuelMovingCan += fuelCan\n\t\t\t\ttotals.fuelMovingSensor += fuelSensor\n\t\t\t\ttotals.fuelMovingComputed += fuelComputed\n\t\t\t} else {\n\t\t\t\ttotals.fuelStationaryCan += fuelCan\n\t\t\t\ttotals.fuelStationarySensor += fuelSensor\n\t\t\t\ttotals.fuelStationaryComputed += fuelComputed\n\n\t\t\t\ttotals.durationStationary += route.get('duration') || 0\n\t\t\t\ttotals.durationStationaryEngineOn += route.get('engineOnDuration') || 0\n\t\t\t}\n\t\t})\n\n\t\tlet fuelConsumptionMoving = {\n\t\t\tvalue: '---',\n\t\t\tpopup: (totals.distanceGps < 3 ? i18n.t('min3kmDistanceForFuelConsumptionCalculation').string : i18n.t('consumptionCannotBeComputed').string),\n\t\t}\n\t\tlet fuelConsumptionMovingAverage = {\n\t\t\tvalue: '---',\n\t\t\tpopup: (totals.distanceGps < 3 ? i18n.t('min3kmDistanceForFuelConsumptionCalculation').string : i18n.t('consumptionCannotBeComputed').string),\n\t\t}\n\n\t\tif (totals.distanceGps >= 3) { // if distance < 3km not make the fuelConsumtion totals\n\t\t\tfuelConsumptionMoving = this.fuelValuePopup(false, totals.fuelMovingSensor, totals.fuelMovingCan, totals.fuelMovingComputed, vehicle)\n\t\t\tfuelConsumptionMovingAverage = this.fuelValuePopupPerDistance(false, totals.distanceGps, totals.fuelMovingSensor, totals.fuelMovingCan, totals.fuelMovingComputed, vehicle)\n\t\t\tif (fuelConsumptionMoving.value) fuelConsumptionMoving.value = fuelConsumptionMoving.value.toFixed(2)\n\t\t\tif (fuelConsumptionMovingAverage.value) fuelConsumptionMovingAverage.value = fuelConsumptionMovingAverage.value.toFixed(2)\n\t\t}\n\n\t\tlet fuelConsumptionStationaryEngineOnAverage = {\n\t\t\tvalue: '---',\n\t\t\tpopup: '',\n\t\t}\n\t\tif (totals.durationStationaryEngineOn) {\n\t\t\tconst duration = totals.durationStationaryEngineOn / 3600000\n\t\t\tconst fuelStationaryCan = totals.fuelStationaryCan / duration\n\t\t\tconst fuelStationarySensor = totals.fuelStationarySensor / duration\n\t\t\tconst fuelStationaryComputed = totals.fuelStationaryComputed / duration\n\t\t\tfuelConsumptionStationaryEngineOnAverage = this.fuelValuePopup(false, fuelStationarySensor, fuelStationaryCan, fuelStationaryComputed, vehicle)\n\t\t\tif (fuelConsumptionStationaryEngineOnAverage.value) fuelConsumptionStationaryEngineOnAverage.value = fuelConsumptionStationaryEngineOnAverage.value.toFixed(2)\n\t\t}\n\n\t\tconst result = {\n\t\t\tdistanceGps: {\n\t\t\t\tvalue: totals.distanceGps.toFixed(2),\n\t\t\t\tpopup: `${i18n.t('totalDistance').string} (GPS)`,\n\t\t\t},\n\t\t\tfuelConsumptionMoving: {\n\t\t\t\tvalue: fuelConsumptionMoving.value,\n\t\t\t\tpopup: `${i18n.t('totalFuelConsumptionMoving').string}\\n${fuelConsumptionMoving.popup}`,\n\t\t\t},\n\t\t\tfuelConsumptionMovingAverage: {\n\t\t\t\tvalue: fuelConsumptionMovingAverage.value,\n\t\t\t\tpopup: `${i18n.t('averageFuelConsumptionMoving').string}\\n${fuelConsumptionMovingAverage.popup}`,\n\t\t\t},\n\t\t\tdurationStationary: {\n\t\t\t\tvalue: totals.durationStationary > 0 ? this.durationAsDHMSShort(totals.durationStationary) : '---',\n\t\t\t\tpopup: i18n.t('totalDurationStationary').string,\n\t\t\t},\n\t\t\tdurationStationaryEngineOn: {\n\t\t\t\tvalue: totals.durationStationaryEngineOn > 0 ? this.durationAsDHMSShort(totals.durationStationaryEngineOn) : '---',\n\t\t\t\tpopup: i18n.t('totalDurationStationaryEngineOn').string,\n\t\t\t},\n\t\t\tfuelConsumptionStationaryAverage: {\n\t\t\t\tvalue: fuelConsumptionStationaryEngineOnAverage.value,\n\t\t\t\tpopup: `${i18n.t('averageFuelConsumptionStationary').string}\\n${fuelConsumptionStationaryEngineOnAverage.popup}`,\n\t\t\t},\n\t\t}\n\n\t\treturn result\n\t}),\n\n\tgroupedByDateRoutes: computed('mergedRoutes', function () {\n\t\tlet groupedRoutes = []\n\t\tthis.get('mergedRoutes').forEach(route => {\n\t\t\tlet startTime = this.formatDateToCompanyTZ(route.start.time, 'DD/MM/YYYY')\n\t\t\tlet gRDays = groupedRoutes.mapBy('day')\n\t\t\tlet posInArray = gRDays.indexOf(startTime)\n\t\t\tif (posInArray == -1) {\n\t\t\t\tgroupedRoutes.push({ day: startTime, routes: [route] })\n\t\t\t}\n\t\t\telse {\n\t\t\t\tgroupedRoutes[posInArray].routes.push(route)\n\t\t\t}\n\t\t})\n\n\t\treturn groupedRoutes\n\t}),\n\n\tgetChartData (dataType) {\n\t\tlet values = []\n\t\tlet max = 0\n\t\tthis.get('selectedPoints').forEach((entry) => {\n\t\t\tif (!entry) { return }\n\t\t\tlet value = Number(get(entry, dataType))\n\t\t\tif (dataType === 'tacho') {\n\t\t\t\tlet record = get(entry, dataType)\n\t\t\t\tif (record.length) {\n\t\t\t\t\tvalue = get(record[0], 'activity', -1)\n\t\t\t\t}\n\t\t\t}\n\t\t\tmax = max < value ? value : max;\n\n\t\t\tlet modularizedValue = {\n\t\t\t\tx: this.convertDateToBrowserTZ(entry.timestamp),\n\t\t\t\tts: entry.timestamp,\n\t\t\t\ty: value,\n\t\t\t\tlocation: {\n\t\t\t\t\tlat: entry.lat,\n\t\t\t\t\tlng: entry.lng\n\t\t\t\t},\n\t\t\t\tcourse: entry.bearing,\n\t\t\t\tspeed: entry.speed,\n\t\t\t\taltitude: entry.altitude,\n\t\t\t\tfuelLevel: Number(entry.fuelLevel).toFixed(2),\n\t\t\t\tfuelCanLevel: entry.fuelCanLevel,\n\t\t\t\tacceleration: entry.acceleration,\n\t\t\t\trpm: entry.rpm,\n\t\t\t\tengineState: entry.engineState,\n\t\t\t\ttaxiState: entry.taxiState,\n\t\t\t\tauxHeatingState: entry.auxHeatingState,\n\t\t\t\tauxCoolingState: entry.auxCoolingState,\n\t\t\t\tpowerExternal: entry.powerExternal,\n\t\t\t\tfreezer: entry.freezerStatus,\n\t\t\t\tdoors: entry.doors,\n\t\t\t\ttemperature: entry.temperature,\n\t\t\t\todometer: entry.odometer,\n\t\t\t\tadblueLevel: entry.adblueLevel,\n\t\t\t}\n\n\t\t\tif (this.get('modules.tachograph')) {\n\t\t\t\tmodularizedValue['tacho'] = entry.tacho\n\t\t\t}\n\n\t\t\tvalues.push(modularizedValue);\n\t\t});\n\n\t\treturn {\n\t\t\tdata: values,\n\t\t\tmax\n\t\t}\n\t},\n\n\t_getDriverNameForTachoCard (cardID) {\n\t\tconst user = this.get('store').peekAll('user').findBy('details.tachoCardID', cardID)\n\t\tif (isEmpty(user)) { return cardID }\n\t\tconst fullName = user.get('fullName')\n\t\tif (isEmpty(fullName)) { return cardID }\n\t\treturn fullName\n\t},\n\n\tgetTooltip (dataType, data) {\n\t\tlet vehicle = this.get('model.selectedVehicle')\n\t\tconst fuelUnit = vehicle.get('fuel.unit')\n\t\tconst fuelCapacity = vehicle.get('fuel.capacity')\n\t\tconst isCng = vehicle.get('isCng')\n\t\tlet dataTypes = [\n\t\t\t{ name: 'speed', unit: 'km/h' },\n\t\t\t{ name: 'altitude', unit: 'm' },\n\t\t\t{ name: 'acceleration', unit: '%' },\n\t\t\t{ name: 'rpm', unit: '' },\n\t\t\t{ name: 'engineState', unit: '' },\n\t\t\t{ name: 'odometer', unit: 'km' },\n\t\t];\n\t\tif (vehicle.get('hasCan')) {\n\t\t\tdataTypes.splice(3, 0, { name: 'fuelCanLevel', unit: fuelUnit })\n\t\t}\n\t\tif (vehicle.get('hasProbe')) {\n\t\t\tdataTypes.splice(4, 0, { name: 'fuelLevel', unit: fuelUnit })\n\t\t}\n\t\tif (vehicle.get('hasTaxiSensor')) {\n\t\t\tdataTypes.push({ name: 'taxiState', unit: '' })\n\t\t}\n\t\tif (vehicle.get('adblueCapacity')) {\n\t\t\tdataTypes.push({ name: 'adblueLevel', unit: 'L' },)\n\t\t}\n\t\tif (vehicle.get('hasAuxHeatingSensor') && vehicle.get('hasAuxCoolingSensor')) {\n\t\t\tdataTypes.push({ name: 'auxAC', unit: '' })\n\t\t\tif (dataType === 'auxHeatingState' || dataType === 'auxCoolingState') dataType = 'auxAC'\n\t\t} else if (vehicle.get('hasAuxHeatingSensor')) {\n\t\t\tdataTypes.push({ name: 'auxHeatingState', unit: '' })\n\t\t} else if (vehicle.get('hasAuxCoolingSensor')) {\n\t\t\tdataTypes.push({ name: 'auxCoolingState', unit: '' })\n\t\t}\n\t\tif (vehicle.get('hasPowerExternalSensor')) {\n\t\t\tdataTypes.push({ name: 'powerExternal', unit: 'V' })\n\t\t}\n\t\tif (vehicle.get('hasDoorSensor')) {\n\t\t\tvehicle.getWithDefault('sensors', []).forEach(sensor => {\n\t\t\t\tif (!sensor.get('type').startsWith('door')) { return }\n\t\t\t\tconst name = sensor.get('type')\n\t\t\t\tdataTypes.push({ name, unit: '', text: sensor.get('localizedText') })\n\t\t\t})\n\t\t}\n\t\tif (vehicle.get('hasFreezerSensor')) {\n\t\t\tdataTypes.push({ name: 'freezer', unit: '' })\n\t\t}\n\t\tif (vehicle.get('hasTemperatureSensors')) {\n\t\t\tvehicle.getWithDefault('sensors', []).forEach(sensor => {\n\t\t\t\tif (!sensor.get('type').startsWith('temperature')) { return }\n\t\t\t\tconst name = `temperature.${sensor.get('type')}`\n\t\t\t\tdataTypes.push({ name, unit: '&#8451;', text: sensor.get('localizedText') })\n\t\t\t})\n\t\t}\n\t\tif (this.get('modules.tachograph') || vehicle.get('hasTacho')) {\n\t\t\tdataTypes.push({ name: 'tacho.activity', unit: '' })\n\t\t}\n\n\t\tconst routesDuration = this.get('routesDuration')\n\t\tconst totalRouteDuration = routesDuration.filter(r => r.start <= data.ts && r.end >= data.ts)?.[0]\n\n\t\tlet i18n = this.get('i18n');\n\t\tlet header = ''\n\t\tlet body = ''\n\t\tif (totalRouteDuration) {\n\t\t\tbody = `<div>${totalRouteDuration.translatedRouteTypeDuration}</div><div>${totalRouteDuration.formattedDuration}</div>`\n\t\t}\n\n\t\tlet availableText = i18n.t('taxiStates.available').string\n\t\tlet occupiedText = i18n.t('taxiStates.occupied').string\n\t\tlet offText = i18n.t('taxiStates.off').string\n\t\tlet undefinedText = i18n.t('taxiStates.na').string\n\t\tif (dataType === 'doors') dataType = 'door' // little hack\n\t\tdataTypes.forEach((type) => {\n\t\t\tif (type.name.startsWith(dataType)) {\n\t\t\t\tif (dataType === 'engineState') {\n\t\t\t\t\theader = `<div class='header'>${i18n.t(dataType)}</div><div class='header'>${Number(data[type.name]) === 4 ? i18n.t('vehicle.engineOn') : i18n.t('vehicle.engineOff')}</div>`;\n\t\t\t\t} else if (dataType === 'taxiState') {\n\t\t\t\t\tlet numberVal = Number(data[type.name])\n\t\t\t\t\theader = `<div class='header'>${i18n.t(dataType)}</div><div class='header'>${numberVal === 1 ? occupiedText : (numberVal === 0 ? availableText : (numberVal === 0.5 ? offText : undefinedText))}</div>`;\n\t\t\t\t} else if (dataType === 'fuelCanLevel') {\n\t\t\t\t\tlet headerTranslation, value\n\t\t\t\t\tif (isCng) {\n\t\t\t\t\t\theaderTranslation = `${i18n.t('fuelLevel')} CNG`\n\t\t\t\t\t\tconst cng = this.getCngValues(data[type.name], fuelCapacity, true)\n\t\t\t\t\t\tvalue = cng.display.join('  |  ')\n\t\t\t\t\t} else {\n\t\t\t\t\t\theaderTranslation = i18n.t('fuelCanLevel')\n\t\t\t\t\t\tvalue = `${get(data, type.name)} ${type.unit}`\n\t\t\t\t\t}\n\t\t\t\t\theader = `<div class='header'>${headerTranslation}</div><div class='header'>${value}</div>`;\n\t\t\t\t} else if (dataType === 'auxAC') {\n\t\t\t\t\tlet auxHeatingVal =  i18n.t(Number(data.auxHeatingState) === 4 ? 'auxAC.values.on' : 'auxAC.values.off')\n\t\t\t\t\tlet auxCoolingVal =  i18n.t(Number(data.auxCoolingState) === 4 ? 'auxAC.values.on' : 'auxAC.values.off')\n\t\t\t\t\theader = `<div class='header'>${i18n.t('auxAC.auxHeating')}</div><div class='header'>${auxHeatingVal}</div>`;\n\t\t\t\t\theader += `<div class='header'>${i18n.t('auxAC.auxCooling')}</div><div class='header'>${auxCoolingVal}</div>`;\n\t\t\t\t} else if (dataType === 'auxHeatingState' || dataType === 'auxCoolingState') {\n\t\t\t\t\tlet numberVal = Number(data[type.name])\n\t\t\t\t\tconst translatedValue = i18n.t( dataType === 'auxHeatingState' ? 'auxAC.auxHeating' : 'auxAC.auxCooling')\n\t\t\t\t\theader += `<div class='header'>${translatedValue}</div><div class='header'>${numberVal === 4 ? i18n.t('auxAC.values.on') : i18n.t('auxAC.values.off')}</div>`;\n\t\t\t\t} else if (dataType === 'powerExternal') {\n\t\t\t\t\tlet numberVal = data[type.name] ? data[type.name].toFixed(1) : 0\n\t\t\t\t\theader = `<div class='header'>${i18n.t('powerExternal.label')}</div><div class='header'>${numberVal} ${type.unit}</div>`;\n\t\t\t\t} else if (dataType === 'odometer') {\n\t\t\t\t\tlet numberVal = data[type.name] ? data[type.name] / 1000 : 0\n\t\t\t\t\theader = `<div class='header'>${i18n.t('odometer')}</div><div class='header'>${round(numberVal) } ${type.unit}</div>`;\n\t\t\t\t} else if (dataType === 'adblueLevel') {\n\t\t\t\t\tlet numberVal = data[type.name] ? data[type.name] : 0\n\t\t\t\t\theader = `<div class='header'>${i18n.t('adblueLevel')}</div><div class='header'>${numberVal } ${type.unit}</div>`;\n\t\t\t\t} else if (dataType === 'door') {\n\t\t\t\t\tconst value = data.doors[type.name]\n\t\t\t\t\tconst translatedValue = value === 4 ? i18n.t('doors.open') : i18n.t('doors.closed')\n\t\t\t\t\theader += `<div class='header'>${type.text}</div><div class='header'>${capitalize(translatedValue)}</div>`;\n\t\t\t\t} else if (dataType === 'temperature') {\n\t\t\t\t\tconst value = get(data, type.name)\n\t\t\t\t\theader += `<div class='header'>${type.text || i18n.t(dataType)}</div><div class='header'>${value} ${type.unit}</div>`;\n\t\t\t\t} else if (this.get('modules.tachograph') && type.name === 'tacho.activity') {\n\t\t\t\t\theader = \"\"\n\t\t\t\t\tdata.tacho.forEach(slot => header += `<div class='header'>${this._getDriverNameForTachoCard(slot.cardID)}</div><div class='header'>${i18n.t('tacho.activities.' + slot.activity)}</div>`)\n\t\t\t\t} else {\n\t\t\t\t\tconst value = get(data, type.name)\n\t\t\t\t\theader = `<div class='header'>${type.text || i18n.t(dataType)}</div><div class='header'>${value} ${type.unit}</div>`;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (type.name === 'engineState') {\n\t\t\t\t\tbody += `<div>${i18n.t(type.name)}</div><div>${Number(data[type.name]) === 4 ? i18n.t('vehicle.engineOn') : i18n.t('vehicle.engineOff')}</div>`;\n\t\t\t\t} else if (type.name === 'taxiState') {\n\t\t\t\t\tlet numberVal = Number(data[type.name])\n\t\t\t\t\tbody += `<div>${i18n.t(type.name)}</div><div>${(numberVal === 1) ? occupiedText : ((numberVal === 0) ? availableText : ((numberVal === 0.5) ? offText : undefinedText))}</div>`;\n\t\t\t\t} else if (type.name === 'fuelCanLevel') {\n\t\t\t\t\tlet headerTranslation, value\n\t\t\t\t\tif (isCng) {\n\t\t\t\t\t\theaderTranslation = `${i18n.t('fuelLevel')} CNG`\n\t\t\t\t\t\tconst cng = this.getCngValues(data[type.name], fuelCapacity, true)\n\t\t\t\t\t\tvalue = cng.display.join('  |  ')\n\t\t\t\t\t} else {\n\t\t\t\t\t\theaderTranslation = i18n.t('fuelCanLevel')\n\t\t\t\t\t\tvalue = `${get(data, type.name)} ${type.unit}`\n\t\t\t\t\t}\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tbody += `<div>${headerTranslation}</div><div>${value}</div>`;\n\t\t\t\t\t}\n\t\t\t\t} else if (type.name === 'auxAC') {\n\t\t\t\t\tlet auxHeatingVal =  i18n.t(Number(data.auxHeatingState) === 4 ? 'auxAC.values.on' : 'auxAC.values.off')\n\t\t\t\t\tlet auxCoolingVal =  i18n.t(Number(data.auxCoolingState) === 4 ? 'auxAC.values.on' : 'auxAC.values.off')\n\t\t\t\t\tbody += `<div>${i18n.t('auxAC.auxHeating')}</div><div>${auxHeatingVal}</div>`;\n\t\t\t\t\tbody += `<div>${i18n.t('auxAC.auxCooling')}</div><div>${auxCoolingVal}</div>`;\n\t\t\t\t} else if (type.name === 'auxHeatingState' || type.name === 'auxCoolingState') {\n\t\t\t\t\tlet numberVal = Number(data[type.name])\n\t\t\t\t\tconst translatedValue = i18n.t(type.name === 'auxHeatingState' ? 'auxAC.auxHeating' : 'auxAC.auxCooling' )\n\t\t\t\t\tbody += `<div>${translatedValue}</div><div>${(numberVal === 4) ? i18n.t('auxAC.values.on') : i18n.t('auxAC.values.off')}</div>`;\n\t\t\t\t} else if (type.name === 'powerExternal') {\n\t\t\t\t\tlet numberVal = data[type.name] ? data[type.name].toFixed(1) : 0\n\t\t\t\t\tbody += `<div>${i18n.t('powerExternal.label')}</div><div>${numberVal} ${type.unit}</div>`;\n\t\t\t\t} else if (type.name === 'odometer') {\n\t\t\t\t\tlet numberVal = data[type.name] ? data[type.name] / 1000 : 0\n\t\t\t\t\tbody += `<div>${i18n.t('odometer')}</div><div>${round(numberVal)} ${type.unit}</div>`;\n\t\t\t\t} else if (type.name.startsWith('door')) {\n\t\t\t\t\tconst value = data.doors[type.name]\n\t\t\t\t\tbody += `<div>${type.text}</div><div>${value === 4 ? i18n.t('doors.open') : i18n.t('doors.closed')}</div>`;\n\t\t\t\t} else if (type.name === 'freezer') {\n\t\t\t\t\tbody += `<div>${i18n.t('freezerStatus')}</div><div>${Number(data[type.name]) ? i18n.t('auxAC.values.on') : i18n.t('auxAC.values.off')}</div>`;\n\t\t\t\t} else if (this.get('modules.tachograph') && type.name === 'tacho.activity') {\n\t\t\t\t\tdata.tacho.forEach(slot => body += `<div>${this._getDriverNameForTachoCard(slot.cardID)}</div><div>${i18n.t('tacho.activities.' + slot.activity)}</div>`)\n\t\t\t\t} else {\n\t\t\t\t\tconst value = get(data, type.name)\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tbody += `<div>${type.text || i18n.t(type.name)}</div><div>${value} ${type.unit}</div>`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tconst numberToSplit = 8\n\t\tconst splitAt = numberToSplit * 2\n\t\tbody = header + body\n\t\tvar cells = body.split('<div')\n\t\tconst body1 = cells.slice(0, splitAt + 1).join('<div')\n\t\tlet body2 = ''\n\t\tif (cells.length > splitAt + 1) {\n\t\t\tbody2 = '<div' + cells.slice(splitAt + 1, cells.length).join('<div')\n\t\t}\n\n\t\tlet html = `<div class='date'>${moment(data.x).format('HH:mm:ss [-] DD. MMM YYYY')}</div>\n\t\t\t\t\t\t<div class='tables${body2 ? ' two' : ''}'>\n\t\t\t\t\t\t<div><div class='table'>${body1}</div></div>\n\t\t\t\t\t\t${body2 ? `\n\t\t\t\t\t\t<div><div class='table'>${body2}</div></div>` : ''}\n\t\t\t\t\t</div>`;\n\t\treturn html;\n\t},\n\n\tmakeChart (chartData, dataType, measureUnit) {\n\t\tlet _this = this;\n\t\tlet i18n = this.get('i18n');\n\n\t\tlet options = {\n\t\t\tchart: {\n\t\t\t\ttype: 'area',\n\t\t\t\tstacked: false,\n\t\t\t\theight: 270,\n\t\t\t\tzoom: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\ttype: 'x'\n\t\t\t\t},\n\t\t\t\tanimations: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\ttoolbar: {\n\t\t\t\t\tautoSelected: 'zoom',\n\t\t\t\t\texport: {\n\t\t\t\t\t\tcsv: {\n\t\t\t\t\t\t\tfilename: i18n.t(dataType).string,\n\t\t\t\t\t\t\tdateFormatter(timestamp) {\n\t\t\t\t\t\t\t\tconst date = moment(timestamp)\n\t\t\t\t\t\t\t\treturn date?.format('DD/MM/YYYY HH:mm')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tseries: [{\n\t\t\t\tname: i18n.t(dataType).string,\n\t\t\t\tdata: chartData.data\n\t\t\t}],\n\n\t\t\tplotOptions: {\n\t\t\t\tline: {\n\t\t\t\t\tcurve: 'smooth',\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\tenabled: false\n\t\t\t},\n\t\t\tyaxis: {\n\t\t\t\tmin: 0,\n\t\t\t\tmax: chartData.max + 1,\n\t\t\t\tlabels: {\n\t\t\t\t\tformatter: (value) => {\n\t\t\t\t\t\treturn (isNaN(value) ? value : Number(value).toFixed(0)) + ' ' + measureUnit;\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolors: 'white',\n\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\tcssClass: 'apexcharts-yaxis-label',\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\ttext: i18n.t(dataType).string,\n\t\t\t\t},\n\t\t\t},\n\t\t\txaxis: {\n\t\t\t\ttype: 'datetime',\n\t\t\t\ttooltip: false,\n\t\t\t\tlabels: {\n\t\t\t\t\tdatetimeUTC: false,\n\t\t\t\t\tdatetimeFormatter: {\n\t\t\t\t\t\tyear: 'yyyy',\n\t\t\t\t\t\tmonth: \"MMM 'yyyy\",\n\t\t\t\t\t\tday: 'dd MMM',\n\t\t\t\t\t\thour: 'HH:mm',\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolors: '#168ffa',\n\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\tcssClass: 'apexcharts-xaxis-label',\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tshared: true,\n\t\t\t\tcustom: (data) => {\n\t\t\t\t\tlet item = data.w.config.series[data.seriesIndex].data[data.dataPointIndex]\n\t\t\t\t\tif (!item) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t\t_this.set(\"hoveredLocation\", item.location)\n\t\t\t\t\t_this.set(\"hoveredCourse\", item.course)\n\t\t\t\t\treturn _this.getTooltip(dataType, item);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn options\n\t},\n\n\tspeedChart: computed('selectedPoints.[]', function () {\n\t\tlet chartData = this.getChartData('speed');\n\t\tlet options = this.makeChart(chartData, 'speed', 'km/h');\n\n\t\treturn options;\n\t}),\n\n\taltitudeChart: computed('selectedPoints.[]', function () {\n\t\tlet chartData = this.getChartData('altitude');\n\t\tlet options = this.makeChart(chartData, 'altitude', 'm');\n\n\t\treturn options;\n\t}),\n\tadblueLevelChart: computed('selectedPoints.[]', function () {\n\t\tlet chartData = this.getChartData('adblueLevel');\n\t\tlet options = this.makeChart(chartData, 'adblueLevel', 'L');\n\n\t\treturn options;\n\t}),\n\n\taccelerationChart: computed('selectedPoints.[]', function () {\n\t\tlet chartData = this.getChartData('acceleration');\n\t\tlet options = this.makeChart(chartData, 'acceleration', '%');\n\n\t\treturn options;\n\t}),\n\n\trpmChart: computed('selectedPoints.[]', function () {\n\t\tlet chartData = this.getChartData('rpm');\n\t\tlet options = this.makeChart(chartData, 'rpm', '');\n\n\t\treturn options;\n\t}),\n\n\tengineStateChart: computed('selectedPoints.[]', function () {\n\t\tlet i18n = this.get('i18n');\n\t\tlet chartData = this.getChartData('engineState');\n\t\tlet options = this.makeChart(chartData, 'engineState', '');\n\t\toptions.yaxis.labels.formatter = function (value) {\n\t\t\treturn value === 4 ? i18n.t('vehicle.engineOn') : value === 1 ? i18n.t('vehicle.engineOff') : ''\n\t\t};\n\t\toptions.yaxis.min = 0;\n\t\toptions.yaxis.max = 4;\n\t\toptions.yaxis.tickAmount = 4;\n\t\treturn options;\n\t}),\n\n\ttaxiStateChart: computed('selectedPoints.[]', function () {\n\t\tlet i18n = this.get('i18n');\n\t\tlet selectedVehicle = this.get('model.selectedVehicle')\n\t\tif (!selectedVehicle.get('hasTaxiSensor')) { return null }\n\n\t\tlet availableText = i18n.t('taxiStates.available').string\n\t\tlet occupiedText = i18n.t('taxiStates.occupied').string\n\t\tlet undefinedText = i18n.t('taxiStates.na').string\n\n\t\tlet chartData = this.getChartData('taxiState');\n\t\tlet options = this.makeChart(chartData, 'taxiState', '');\n\t\toptions.yaxis.labels.formatter = function (value) {\n\t\t\treturn value && parseInt(value) === 1 ? occupiedText : (parseInt(value) === 0 ? availableText : undefinedText)\n\t\t};\n\t\toptions.yaxis.min = 0;\n\t\toptions.yaxis.max = 1;\n\t\toptions.yaxis.tickAmount = 1;\n\t\treturn options;\n\t}),\n\n\tauxACChart: computed('selectedPoints.[]', function () {\n\t\tlet i18n = this.get('i18n')\n\t\tlet selectedVehicle = this.get('model.selectedVehicle')\n\t\tif (!selectedVehicle.get('hasAuxACSensor')) { return null }\n\t\t\n\t\tconst onText = i18n.t('auxAC.values.on').string\n\t\tconst offText = i18n.t('auxAC.values.off').string\n\n\t\tif (selectedVehicle.get('hasAuxHeatingSensor') && selectedVehicle.get('hasAuxCoolingSensor')) {\n\t\t\tlet chartData = this.getChartData('auxHeatingState')\n\t\t\tlet options = this.makeChart(chartData, 'auxHeatingState', '')\n\t\t\toptions.series = [\n\t\t\t\t{\n\t\t\t\t\tname: i18n.t('auxAC.auxHeating').string,\n\t\t\t\t\tdata: chartData.data,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: i18n.t('auxAC.auxCooling').string,\n\t\t\t\t\tdata: chartData.data.map(item => {\n\t\t\t\t\t\tconst copyed = copy(item, true)\n\t\t\t\t\t\tcopyed.y = item.auxCoolingState\n\t\t\t\t\t\treturn copyed\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t]\n\t\t\toptions.yaxis.labels.formatter = function (value) {\n\t\t\t\treturn value === 4 ? onText : value === 1 ? offText : ''\n\t\t\t}\n\t\t\toptions.yaxis.min = 0\n\t\t\toptions.yaxis.max = 4\n\t\t\toptions.yaxis.tickAmount = 4\n\t\t\treturn options\n\t\t} \n\n\t\tconst fieldName = selectedVehicle.get('hasAuxCoolingSensor') ? 'auxCoolingState' : 'auxHeatingState'\n\n\t\tlet chartData = this.getChartData(fieldName)\n\t\tlet options = this.makeChart(chartData, fieldName, '')\n\t\toptions.yaxis.labels.formatter = function (value) {\n\t\t\treturn value === 4 ? onText : value === 1 ? offText : ''\n\t\t}\n\t\toptions.yaxis.min = 0\n\t\toptions.yaxis.max = 4\n\t\toptions.yaxis.tickAmount = 4\n\t\treturn options\n\t}),\n\n\tpowerExternalChart: computed('selectedPoints.[]', function () {\n\t\tlet selectedVehicle = this.get('model.selectedVehicle')\n\t\tif (!selectedVehicle.get('hasPowerExternalSensor')) { return null }\n\n\t\tlet chartData = this.getChartData('powerExternal');\n\t\tlet options = this.makeChart(chartData, 'powerExternal', 'V');\n\t\treturn options;\n\t}),\n\n\tdoorsChart: computed('selectedPoints.[]', function () {\n\t\tlet i18n = this.get('i18n')\n\t\tconst chartData = this.getChartData('doors')\n\t\tvar sensors = {}\n\t\tthis.get('model.selectedVehicle.sensors').forEach(s => {\n\t\t\tif (!s.get('type').startsWith('door')) return\n\t\t\tsensors[s.get('type')] = s.get('localizedText')\n\t\t})\n\n\t\tlet options = this.makeChart(chartData, 'doors', '')\n\t\toptions.series = Object.keys(sensors).map(sensor => {\n\t\t\tconst data = chartData.data.map(entry => {\n\t\t\t\tconst copyed = copy(entry, true)\n\t\t\t\tcopyed.y = getWithDefault(entry, `doors.${sensor}`, null)\n\t\t\t\treturn copyed\n\t\t\t})\n\t\t\treturn {\n\t\t\t\tname: sensors[sensor].string,\n\t\t\t\tdata,\n\t\t\t}\n\t\t})\n\n\t\toptions.yaxis.labels.formatter = function (value) {\n\t\t\tconst translated = value === 4 ? i18n.t('doors.open') : value === 1 ? i18n.t('doors.closed') : ''\n\t\t\treturn capitalize(translated)\n\t\t};\n\n\t\toptions.yaxis.min = 0;\n\t\toptions.yaxis.max = 4;\n\t\toptions.yaxis.tickAmount = 4;\n\n\t\treturn options;\n\t}),\n\n\ttemperatureChart: computed('selectedPoints.[]', function () {\n\t\tconst vehicle = this.get('model.selectedVehicle')\n\t\tconst chartData = this.getChartData('temperature')\n\t\tconst sensors = {}\n\t\tlet min = 0, max = 0\n\t\tchartData.data.forEach(entry => {\n\t\t\tif (isEmpty(entry.temperature)) { return }\n\n\t\t\tObject.keys(entry.temperature).forEach(sensor => {\n\t\t\t\tif (sensors[sensor] == null) {\n\t\t\t\t\tconst text = vehicle.get('sensors').findBy('type', sensor).get('localizedText')\n\t\t\t\t\tsensors[sensor] = text?.string || text\n\t\t\t\t}\n\t\t\t\tconst temp = entry.temperature[sensor]\n\t\t\t\tif (temp < min) min = temp\n\t\t\t\tif (temp > max) max = temp\n\t\t\t})\n\t\t})\n\n\t\tlet options = this.makeChart(chartData, 'temperature', '')\n\t\toptions.series = Object.keys(sensors).map(sensor => {\n\t\t\tconst data = chartData.data.map(entry => {\n\t\t\t\tconst copyed = copy(entry, true)\n\t\t\t\tcopyed.y = getWithDefault(entry, `temperature.${sensor}`, null)\n\t\t\t\treturn copyed\n\t\t\t})\n\t\t\treturn {\n\t\t\t\tname: sensors[sensor],\n\t\t\t\tdata,\n\t\t\t}\n\t\t})\n\t\toptions.yaxis.min = min\n\t\toptions.yaxis.max = max\n\n\t\treturn options;\n\t}),\n\n\tfuelLevelChart: computed('selectedPoints.[]', function () {\n\t\tlet chartData = this.getChartData('fuelLevel');\n\t\tlet options = this.makeChart(chartData, 'fuelLevel', 'L');\n\n\t\treturn options;\n\t}),\n\n\tfuelCanLevelChart: computed('selectedPoints.[]', function () {\n\t\tlet chartData = this.getChartData('fuelCanLevel');\n\t\tlet options = this.makeChart(chartData, 'fuelCanLevel', 'L');\n\n\t\treturn options;\n\t}),\n\n\ttachoChart: computed('selectedPoints.[]', function () {\n\t\tif (!this.get('modules.tachograph')) { return false }\n\t\tlet i18n = this.get('i18n')\n\n\t\tconst activities = []\n\t\tconst cardIDs = {}\n\t\tconst tachoData = this.getChartData('tacho')\n\t\ttachoData.data.forEach(entry => {\n\t\t\tentry.tacho.forEach(slot => {\n\t\t\t\tif (cardIDs[slot.cardID] == null) {\n\t\t\t\t\tcardIDs[slot.cardID] = this._getDriverNameForTachoCard(slot.cardID)\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t\tlet options = this.makeChart(tachoData, 'tacho.activity', '')\n\t\toptions.series = Object.keys(cardIDs).map(cardID => {\n\t\t\tconst data = tachoData.data.map(entry => {\n\t\t\t\tlet copyed = copy(entry, true)\n\t\t\t\tcopyed.y = -1\n\t\t\t\tconst cardData = entry.tacho.find(tachoData => tachoData.cardID === cardID)\n\t\t\t\tif (cardData != null && cardData.activity < 5) {\n\t\t\t\t\tcopyed.y = cardData.activity\n\t\t\t\t\tif (activities.indexOf(cardData.activity) === -1) {\n\t\t\t\t\t\tactivities.push(cardData.activity)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn copyed\n\t\t\t})\n\t\t\treturn {\n\t\t\t\tname: cardIDs[cardID],\n\t\t\t\tdata,\n\t\t\t}\n\t\t})\n\t\tactivities.sort()\n\t\toptions.yaxis = {\n\t\t\ttooltip: {\n\t\t\t\tenabled: false,\n\t\t\t},\n\t\t\ttickAmount: 5,\n\t\t\tmin: 0,\n\t\t\tmax: 5,\n\t\t\tforceNiceScale: true,\n\t\t\tlabels: {\n\t\t\t\tshow: true,\n\t\t\t\talign: 'right',\n\t\t\t\toffsetX: 10,\n\t\t\t\tminWidth: 100,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolors: '#fff',\n\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\tcssClass: 'apexcharts-yaxis-label',\n\t\t\t\t},\n\t\t\t\tformatter: (value) => {\n\t\t\t\t\treturn i18n.t(`tacho.activities.${value}`)\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t\treturn options\n\t}),\n\n\tshowGraph: computed('selectedPoints', function () {\n\t\tlet data = this.get('selectedPoints')\n\t\tlet hasGraph = {\n\t\t\tspeed: false,\n\t\t\taltitude: false,\n\t\t\tfuelLevel: false,\n\t\t\tfuelCanLevel: false,\n\t\t\tacceleration: false,\n\t\t\trpm: false,\n\t\t\tengineState: false,\n\t\t\ttaxiState: false,\n\t\t\ttemperature: false,\n\t\t\tdoors: false,\n\t\t\tpowerExternal: false,\n\t\t\tsensors: false,\n\t\t\ttacho: false,\n\t\t}\n\t\tif (!data.length) { return hasGraph }\n\n\t\tdata.forEach(item => {\n\t\t\tif (!hasGraph.speed) {\n\t\t\t\tif (item.speed) {\n\t\t\t\t\thasGraph.speed = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.altitude) {\n\t\t\t\tif (item.altitude) {\n\t\t\t\t\thasGraph.altitude = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.fuelCanLevel) {\n\t\t\t\tif (item.fuelCanLevel) {\n\t\t\t\t\thasGraph.fuelCanLevel = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.fuelLevel) {\n\t\t\t\tif (item.fuelLevel) {\n\t\t\t\t\thasGraph.fuelLevel = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.acceleration) {\n\t\t\t\tif (item.acceleration) {\n\t\t\t\t\thasGraph.acceleration = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.rpm) {\n\t\t\t\tif (item.rpm) {\n\t\t\t\t\thasGraph.rpm = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.engineState) {\n\t\t\t\tif (~item.engineState) {\n\t\t\t\t\thasGraph.engineState = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.taxiState) {\n\t\t\t\tif (item.taxiState) {\n\t\t\t\t\thasGraph.taxiState = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.powerExternal) {\n\t\t\t\tif (item.powerExternal) {\n\t\t\t\t\thasGraph.powerExternal = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.adblueLevel) {\n\t\t\t\tif (item.adblueLevel) {\n\t\t\t\t\thasGraph.adblueLevel = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.doors) {\n\t\t\t\tif (item.doors && Object.keys(item.doors).length > 0) {\n\t\t\t\t\thasGraph.doors = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!hasGraph.temperature) {\n\t\t\t\tif (item.temperature && Object.keys(item.temperature).length > 0) {\n\t\t\t\t\thasGraph.temperature = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.get('modules.tachograph') && !hasGraph.tacho) {\n\t\t\t\tif (get(item, 'tacho.length') > 0) {\n\t\t\t\t\thasGraph.tacho = true\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\treturn hasGraph\n\t}),\n\n\tfixDates (startDate, endDate) {\n\t\tif (startDate > endDate) {\n\t\t\tthis.set('routeEndDate', moment(startDate).endOf('day').valueOf())\n\t\t}\n\t},\n\n\tresetSelections () {\n\t\tthis.set('someStationariesSelected', false)\n\t\tthis.set('allStationariesSelected', false)\n\t\t\n\t\tthis.set('stationarySelectedInterval', [])\n\t},\n\n\thideChart () {\n\t\tthis.set('chart', 0)\n\t\tthis.set('showCharts', false)\n\t},\n\n\tresetParameters () {\n\t\tlet startDate = this.get('routeStartDate')\n\t\tlet endDate = this.get('routeEndDate')\n\t\tthis.fixDates(startDate, endDate)\n\t\tthis.hideChart()\n\t\tthis.set('selectedView', 'map')\n\t\tthis.resetSelections()\n\t},\n\n\tselectRoutes(index) {\n\t\tconst routes = this.get('mergedRoutes')\n\t\tconst stationaryRoutes = routes.filter(r => r.stationary)\n\t\tlet stationariesInterval\n\t\tif (stationaryRoutes.length) {\n\t\t\tif (stationaryRoutes.length === 1) {\n\t\t\t\tstationariesInterval = [stationaryRoutes[0].index]\n\t\t\t} else {\n\t\t\t\tconst startIndex = stationaryRoutes[0].index\n\t\t\t\tconst endIndex = stationaryRoutes[stationaryRoutes.length - 1].index\n\t\t\t\tstationariesInterval = [startIndex, endIndex]\n\t\t\t}\n\t\t} \n\t\tif (typeof (index) === 'boolean') {\n\t\t\tthis.set('allStationariesSelected', index)\n\t\t\tthis.set('someStationariesSelected', index)\n\t\t\troutes.forEach(route=>{\n\t\t\t\tset(route, 'selected', index)\n\t\t\t})\n\t\t\tthis.set('stationarySelectedInterval', index && stationariesInterval ? stationariesInterval : null)\n\t\t\treturn\n\t\t}\n\t\tconst interval = this.get('stationarySelectedInterval')\n\t\tif (interval?.length) {\n\t\t\tlet arr = []\n\t\t\tconst isInArray = ~interval.indexOf(index)\n\t\t\tconst firstInterval = interval[0]\n\t\t\tif (interval.length === 1) {\n\t\t\t\tif (!isInArray) arr = firstInterval < index ? [firstInterval, index] : [index, firstInterval]\n\t\t\t} else {\n\t\t\t\tconst lastInterval = interval[1]\n\t\t\t\tif (isInArray) {\n\t\t\t\t\tconst position = interval.indexOf(index)\n\t\t\t\t\tif (position) {\n\t\t\t\t\t\tarr = [firstInterval, index]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tarr = [index]\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tarr = firstInterval < index ? [firstInterval, index] : [index, lastInterval]\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.set('stationarySelectedInterval', arr)\n\t\t\tconst routes = this.get('mergedRoutes')\n\t\t\troutes.forEach(route => {\n\t\t\t\tlet isSelected = false\n\t\t\t\tif (arr.length) {\n\t\t\t\t\tif (arr.length === 1) {\n\t\t\t\t\t\tisSelected = route.index === arr[0]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst sortedArr = arr[0] > arr[1] ? [arr[1], arr[0]] : arr\n\t\t\t\t\t\tisSelected = route.index >= sortedArr[0] && route.index <= sortedArr[1]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tset(route, 'selected', isSelected)\n\t\t\t})\n\t\t\tconst areAllRoutesSelected = stationariesInterval?.length === arr?.length && arr?.[0] === stationariesInterval?.[0] && arr?.[1] === stationariesInterval?.[1]\n\t\t\tthis.set('someStationariesSelected', arr.length)\n\t\t\tthis.set('allStationariesSelected', areAllRoutesSelected)\n\t\t} else {\n\t\t\tthis.set('stationarySelectedInterval', [index])\n\t\t\tconst stationary = routes[index]\n\t\t\tset(stationary, 'selected', true)\n\t\t\tthis.set('someStationariesSelected', true)\n\t\t\tthis.set('allStationariesSelected', false)\n\t\t}\n\t},\n\n\tselectMovingRoute(routeID) {\n\t\tlet select = true\n\t\tif (this.get('selectedRoute.id') === routeID) {\n\t\t\tthis.set('stationarySelectedInterval', [])\n\t\t\tselect = false\n\t\t}\n\t\tconst routes = this.get('mergedRoutes')\n\t\troutes.forEach(route => {\n\t\t\tset(route, 'selected', false)\n\t\t\tset(route, 'expanded', false)\n\t\t})\n\t\tconst route = routes.findBy('id', routeID)\n\t\tif (!route) return\n\t\tconst prevStationaryRoute = routes[route.index - 1]\n\t\tconst nextStationaryRoute = routes[route.index + 1]\n\t\tset(route, 'selected', select)\n\t\tset(route, 'expanded', true)\n\t\tconst arr = []\n\t\tif (select) {\n\t\t\tif (prevStationaryRoute){\n\t\t\t\tarr.push(prevStationaryRoute.index)\n\t\t\t\tset(prevStationaryRoute, 'selected', select)\n\t\t\t}\n\t\t\tif (nextStationaryRoute) {\n\t\t\t\tarr.push(nextStationaryRoute.index)\n\t\t\t\tset(nextStationaryRoute, 'selected', select)\n\t\t\t}\n\t\t}\n\t\tconst allElementsSelected = arr[0] === 0 && arr[1] === routes.length - 1\n\t\tthis.set('someStationariesSelected', select)\n\t\tthis.set('allStationariesSelected', allElementsSelected)\n\t\tthis.set('stationarySelectedInterval', arr)\n\t\t// scroll\n\t\tif (select) setTimeout(() => document.getElementById(prevStationaryRoute?.id || routeID)?.scrollIntoView(true), 50)\n\t},\n\n\tactions: {\n\t\texpandOrCollapseSelected(){\n\t\t\tconst expand = !this.get('allSelectedAreExpanded')\n\t\t\tif(this.get('allStationariesSelected')){\n\t\t\t\tthis.get('mergedRoutes').forEach(r => {\n\t\t\t\t\tset(r, 'expanded', expand)\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.get('mergedRoutes').filter(r => r.selected).forEach(r => {\n\t\t\t\t\tset(r, 'expanded', expand)\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t\tselectStationaries(){\n\t\t\tif (this.get('allStationariesSelected')){\n\t\t\t\tthis.selectRoutes(false)\n\t\t\t} else {\n\t\t\t\tthis.selectRoutes(true)\n\t\t\t}\n\t\t},\n\t\tonMapStationaryClick(stationary){\n\t\t\tdocument.getElementById(stationary.id)?.scrollIntoView(true)\n\t\t},\n\t\tselectStationary(stationary, e){\n\t\t\tif (!stationary?.stationaryIndex) return\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tthis.selectRoutes(stationary.index)\n\t\t},\n\t\ttoggleStationaryExpand(stationary){\n\t\t\tconst route = this.get('mergedRoutes')[stationary.index + 1]\n\t\t\tif (route) {\n\t\t\t\tset(route, 'expanded', !route?.expanded)\n\t\t\t}\n\t\t},\n\t\ttoggleMovingExpand(movingRoute, e){\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tset(movingRoute, 'expanded', !movingRoute?.expanded)\n\t\t},\n\t\tremoveVehicle () {\n\t\t\tthis.transitionToRoute('/map')\n\t\t},\n\t\tselectView (val) {\n\t\t\tthis.set('selectedView', this.get('selectedView') === val ? 'map': val)\n\t\t},\n\t\t/**\n\t\t * @param {number} chartNumber\n\t\t * @param {boolean} notShow - if true the graph is disabled because its values are 0\n\t\t */\n\t\tshowChart (chartNumber, notShow) {\n\t\t\tif (notShow) { return false }\n\n\t\t\tif (!this.get('showCharts')) {\n\t\t\t\tthis.set('showCharts', true)\n\t\t\t}\n\t\t\tthis.set('chart', chartNumber)\n\t\t},\n\t\tstopLimitChange (stopLimit) {\n\t\t\tthis.get('currentUser').updateMapFilter('stopLimit', Number(stopLimit))\n\t\t\tthis.resetParameters()\n\t\t},\n\t\ttoggleCharts () {\n\t\t\tif (this.get(\"noCharts\")) { return false }\n\t\t\tif (!this.get('chart')) { this.set('chart', 1) }\n\t\t\tthis.set('showCharts', !this.get('showCharts'))\n\t\t},\n\t\tvehicleChanged (vehicleId) {\n\t\t\tthis.resetParameters()\n\t\t\tlet startDate = this.get('routeStartDate')\n\t\t\tlet endDate = this.get('routeEndDate')\n\t\t\tthis.transitionToRoute('map.routes', vehicleId, {\n\t\t\t\tqueryParams: {\n\t\t\t\t\tstart: startDate,\n\t\t\t\t\tend: endDate\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\trouteClick (routeID) {\n\t\t\tif (!routeID) { return false }\n\t\t\t// for mobile: will show map\n\t\t\tif (this.get('resolution.isMobile') && this.get('selectedView') === 'routes') {\n\t\t\t\tthis.set('selectedView', 'map')\n\t\t\t}\n\t\t\tthis.selectMovingRoute(routeID)\n\t\t},\n\t\trouteHover (routeID) {\n\t\t\tif (!routeID) { return false }\n\t\t\tthis.set('hoveredRouteID', routeID)\n\t\t},\n\t\trouteHoverOut (routeID) {\n\t\t\tif (!routeID) { return false }\n\t\t\tthis.set('hoveredRouteID', null)\n\t\t},\n\t\t/**\n\t\t * This function triggers when datepicker change. It should not trigger on other changes.\n\t\t */\n\t\tdateChanged (property, date) {\n\t\t\tlet timestamp = moment(date).startOf('minute').valueOf()\n\n\t\t\tif (this.get(property) !== timestamp) {\n\t\t\t\tthis.set(property, timestamp)\n\t\t\t}\n\n\t\t\tthis.set('datePickerSelected', property)\n\n\t\t\tif (this.get('toggleStartDatePicker') || (this.get('toggleEndDatePicker'))) {\n\t\t\t\tthis.set('finishedDateSelection', true)\n\t\t\t} else {\n\t\t\t\tthis.set('finishedDateSelection', false)\n\t\t\t}\n\n\t\t\tthis.resetParameters()\n\t\t},\n\t\tprevClicked: function () {\n\t\t\tthis.resetSelections()\n\n\t\t\tthis.set('routeStartDate', moment(this.get('routeStartDate')).add(-1, 'days').valueOf())\n\t\t\tthis.set('routeEndDate', moment(this.get('routeEndDate')).add(-1, 'days').endOf('day').valueOf())\n\t\t},\n\t\tnextClicked: function () {\n\t\t\tthis.resetSelections()\n\n\t\t\tthis.set('routeStartDate', moment(this.get('routeStartDate')).add(1, 'days').valueOf())\n\t\t\tthis.set('routeEndDate', moment(this.get('routeEndDate')).add(1, 'days').endOf('day').valueOf())\n\t\t},\n\t\trouteReport: function (route) {\n\t\t\tvar vehicleID = this.get(\"model.selectedVehicle.id\")\n\t\t\tthis.transitionToRoute(\"reports.route\", {\n\t\t\t\tqueryParams: {\n\t\t\t\t\tvehicleID: vehicleID,\n\t\t\t\t\tstart: route.options.start.time.getTime(),\n\t\t\t\t\tend: route.options.end.time.getTime()\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\tdisableHoverMarker () {\n\t\t\tthis.set(\"hoveredLocation\", null)\n\t\t\tthis.set(\"hoveredCourse\", null)\n\t\t},\n\t},\n})\n","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\n\nexport default Controller.extend({\n\tmenuService: service('main-menu'),\n\n\tshowAllVehicles: true,\n})\n","\nimport Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { isEmpty } from '@ember/utils'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\n\nexport default Controller.extend(Formatter, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\ti18n: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report23',\n\tsortBy: 'day',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\theaders: [\n\t\t{ key: 'user', translationKey: 'reports.headerFields.driver', align: 'left', selected: true },\n\t\t{ key: 'distancePaid', translationKey: 'reports.headerFields.specific.23.distancePaid', align: 'left', selected: true },\n\t\t{ key: 'distanceLoss', translationKey: 'reports.headerFields.specific.23.distanceLoss', align: 'left', selected: true },\n\t\t{ key: 'distance', translationKey: 'reports.headerFields.distance', align: 'left', selected: true },\n\t\t{ key: 'fuelConsumption', translationKey: 'reports.headerFields.consume', align: 'left', selected: true },\n\t\t{ key: 'fuelConsumptionDistance', translationKey: 'reports.headerFields.fuelConsumptionDistance', align: 'left', selected: true },\n\t\t{ key: 'refuelAmount', translationKey: 'reports.headerFields.refuelValue', align: 'left', selected: true },\n\t\t{ key: 'fuelConsumptionDistanceAdjusted', translationKey: 'reports.headerFields.specific.23.fuelConsumptionDistanceAdjusted', align: 'left', selected: true },\n\t\t{ key: 'fuelDifference', translationKey: 'reports.headerFields.specific.23.fuelDifference', align: 'left', selected: true },\n\t],\n\n\t// selectedColumns: computed.alias('currentUser.reportsColumns.report22'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByUser(sortedData)\n\t\tEmber.Logger.debug('grouped', groupedData)\n\t\tlet formattedData = this.formatData(groupedData)\n\t\tEmber.Logger.debug('formatted', formattedData)\n\t\treturn formattedData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/23', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tgroupByUser(data) {\n\t\tconst grouped = {}\n\n\t\tdata.forEach(item => {\n\t\t\tif (grouped[item.userID] == null) {\n\t\t\t\tgrouped[item.userID] = {\n\t\t\t\t\t// vehicleID: item.vehicleID,\n\t\t\t\t\tuserID: item.userID,\n\t\t\t\t\tcanDistance: 0,\n\t\t\t\t\tcanDistancePaid: 0,\n\t\t\t\t\tcanFuelConsumption: 0,\n\t\t\t\t\tcanRefuelAmount: 0,\n\t\t\t\t\tdistance: 0,\n\t\t\t\t\tdistancePaid: 0,\n\t\t\t\t\tfuelConsumption: 0,\n\t\t\t\t\tsensorFuelConsumption: 0,\n\t\t\t\t\tsensorRefuelAmount: 0,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tgrouped[item.userID].canDistance += item.canDistance\n\t\t\tgrouped[item.userID].canDistancePaid += item.canDistancePaid\n\t\t\tgrouped[item.userID].canFuelConsumption += item.canFuelConsumption\n\t\t\tgrouped[item.userID].canRefuelAmount += item.canRefuelAmount\n\t\t\tgrouped[item.userID].distance += item.distance\n\t\t\tgrouped[item.userID].distancePaid += item.distancePaid\n\t\t\tgrouped[item.userID].fuelConsumption += item.fuelConsumption\n\t\t\tgrouped[item.userID].sensorFuelConsumption += item.sensorFuelConsumption\n\t\t\tgrouped[item.userID].sensorRefuelAmount += item.sensorRefuelAmount\n\t\t})\n\n\t\treturn grouped\n\t},\n\n\tformatData(grouped) {\n\t\tconst formatted = []\n\n\t\tObject.keys(grouped).forEach(userID => {\n\t\t\tconst user = this.get('users').findBy('id', userID)\n\t\t\tif (isEmpty(user)) { return }\n\t\t\t\n\t\t\tconst item = grouped[userID]\n\t\t\tconst fuelConsumption = item.canFuelConsumption || item.sensorFuelConsumption\n\t\t\tconst refuelAmount = item.sensorRefuelAmount || item.canRefuelAmount\n\n\t\t\tformatted.push({\n\t\t\t\tuser: {\n\t\t\t\t\tvalue: user.get('fullName'),\n\t\t\t\t\tdisplay: user.get('fullName'),\n\t\t\t\t},\n\t\t\t\tdistancePaid: {\n\t\t\t\t\tvalue: item.distancePaid,\n\t\t\t\t\tdisplay: Number(item.distancePaid).toFixed(2),\n\t\t\t\t},\n\t\t\t\tdistanceLoss: {\n\t\t\t\t\tvalue: item.distance - item.distancePaid,\n\t\t\t\t\tdisplay: Number(item.distance - item.distancePaid).toFixed(2),\n\t\t\t\t},\n\t\t\t\tdistance: {\n\t\t\t\t\tvalue: item.distance,\n\t\t\t\t\tdisplay: Number(item.distance).toFixed(2),\n\t\t\t\t},\n\t\t\t\tfuelConsumption: {\n\t\t\t\t\tvalue: fuelConsumption,\n\t\t\t\t\tdisplay: Number(fuelConsumption).toFixed(2),\n\t\t\t\t},\n\t\t\t\tfuelConsumptionDistance: {\n\t\t\t\t\tvalue: item.distance >= 10 ? (fuelConsumption * 100) / item.distance : '--',\n\t\t\t\t\tdisplay: item.distance >= 10 ? Number((fuelConsumption * 100) / item.distance).toFixed(2) : '--',\n\t\t\t\t\tpopup: item.distance < 10 ? this.get('i18n').t('reports.23.distanceThreshold') : undefined,\n\t\t\t\t},\n\t\t\t\trefuelAmount: {\n\t\t\t\t\tvalue: refuelAmount,\n\t\t\t\t\tdisplay: Number(refuelAmount).toFixed(2),\n\t\t\t\t},\n\t\t\t\tfuelConsumptionDistanceAdjusted: {\n\t\t\t\t\tvalue: item.distance >= 10 ? (refuelAmount * 100) / item.distance : '--',\n\t\t\t\t\tdisplay: item.distance >= 10 ? Number((refuelAmount * 100) / item.distance).toFixed(2) : '--',\n\t\t\t\t\tpopup: item.distance < 10 ? this.get('i18n').t('reports.23.distanceThreshold') : undefined,\n\t\t\t\t},\n\t\t\t\tfuelDifference: {\n\t\t\t\t\tvalue: fuelConsumption - refuelAmount,\n\t\t\t\t\tdisplay: Number(fuelConsumption - refuelAmount).toFixed(2),\n\t\t\t\t},\n\t\t\t})\n\t\t})\n\n\t\treturn formatted\n\t},\n\n\tactions: {\n\t\tonH(dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod(period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\n\t\tmakeRequest() {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\treformatData() {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint() {\n\t\t\treturn false\n\t\t},\n\t\tincrementRecords() {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\tdownload(row) {\n\t\t\tEmber.Logger.debug('Download', row)\n\n\t\t\tconst api = this.get('api')\n\t\t\tconst idToken = api.get('session.data.authenticated.idToken')\n\t\t\tif (!idToken) { return false }\n\n\t\t\tconst url = `${api.host}/${api.namespace}/reports/22/download`\n\t\t\tconst data = JSON.stringify({\n\t\t\t\tformat: 'pdf',\n\t\t\t\tfile: row.filename.value\n\t\t\t})\n\n\t\t\tlet req = new XMLHttpRequest()\n\t\t\treq.open('POST', url, true)\n\t\t\treq.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\t\treq.setRequestHeader('Content-type', 'application/json; charset=utf-8');\n\t\t\treq.responseType = 'blob'\n\n\t\t\treq.onload = () => {\n\t\t\t\tlet blob = req.response\n\t\t\t\tlet link = document.createElement('a')\n\t\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\t\tlink.download = row.filename.value\n\t\t\t\tlink.className = 'hidden'\n\t\t\t\tdocument.body.appendChild(link)\n\t\t\t\tlink.click()\n\t\t\t}\n\t\t\treq.send(data)\n\t\t}\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\ti18n: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report5',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report5'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet filtredData = data.filter((item) => item.driverID == null || this.get('reportsFilters.users').indexOf(item.driverID) > -1)\n\t\tlet sortedData = filtredData.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByDriver(sortedData, true)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('date')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(moment(filters.startDate).startOf('day').valueOf()),\n\t\t\tendDate: this.convertDateToCompanyTZ(moment(filters.endDate).endOf('day').valueOf() + 1),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/5', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet driver = this.get('users').findBy('id', table.driverID)\n\t\t\tlet driverName = '-'\n\t\t\tif (driver) { driverName = driver.get('fullName') }\n\n\t\t\tlet processed = this.formatData(table.content, driverName)\n\n\t\t\treturn {\n\t\t\t\tdriver: driverName,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t}\n\t\t})\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} driver\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tdriver,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, driver) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tdriver,\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tdistanceCAN: 0,\n\t\t\tdistanceGPS: 0,\n\t\t\tdistanceComposed: 0,\n\t\t\tduration: 0,\n\t\t\tfuelConsumptionSensor: 0,\n\t\t\tfuelConsumptionCAN: 0,\n\t\t\tfuelConsumption: 0,\n\t\t\tconsumptionComposed: 0,\n\t\t}\n\n\t\tlet firstVehicle = null\n\t\tlet hasAnotherFuelType = false\n\t\tres.content = rows.map((item, idx) => {\n\t\t\tlet processed = {}\n\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', item.vehicleID)\n\t\t\t// hack\n\t\t\tif (idx == 0) {\n\t\t\t\tfirstVehicle = vehicle\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (firstVehicle.get('fuel.unit') != vehicle.get('fuel.unit')) {\n\t\t\t\t\thasAnotherFuelType = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tprocessed.licensePlate = {\n\t\t\t\tvalue: vehicle.get('licensePlate'),\n\t\t\t\tdisplay: vehicle.get('licensePlate')\n\t\t\t}\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.date, 'DD/MM/YYYY'),\n\t\t\t}\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.canDistance, item.distance)\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: moment.duration(item.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.consumptionComposed = this.fuelValuePopup(false, item.sensorFuelConsumption, item.canFuelConsumption, item.fuelConsumption ? item.fuelConsumption : 0, vehicle)\n\n\t\t\t// totals\n\t\t\ttotals.distanceCAN += (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\ttotals.distanceGPS += (item.distance ? Number(item.distance) : 0)\n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.fuelConsumptionSensor += (item.sensorFuelConsumption ? Number(item.sensorFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumptionCAN += (item.canFuelConsumption ? Number(item.canFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumption += (item.fuelConsumption ? Number(item.fuelConsumption) : 0)\n\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.distanceCAN, totals.distanceGPS, true)\n\t\tres.totals.duration = {\n\t\t\tvalue: totals.duration,\n\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tif (hasAnotherFuelType) {\n\t\t\tres.totals.consumptionComposed = {\n\t\t\t\tvalue: '',\n\t\t\t\tdisplay: '',\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tres.totals.consumptionComposed = this.fuelValuePopup(false, totals.fuelConsumptionSensor, totals.fuelConsumptionCAN, totals.fuelConsumption, firstVehicle, true, true)\n\t\t}\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $(`<caption class='leftSide'></caption>`)\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\tif (tableData.driver) {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('driver') + ': ' + tableData.driver + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($(`<th class='tableHeader'>${i18n.t(col.translationKey)}</th>`))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { isEmpty } from '@ember/utils'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport { loc } from '@ember/string'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report28',\n\tsortBy: 'licensePlate',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report28'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupBy('tachoCardID', sortedData)\n\t\treturn this.processData(groupedData)\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tparams.users = this.get('users').filter(user => filters.users.includes(user.get('id')) && user.get('details.tachoCardID.length') > 0).mapBy('details.tachoCardID')\n\n\t\tif (!params.users.length) {\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/28', {\n\t\t\tcontentType: \"application/json; charset=utf-8\",\n\t\t\tdataType: \"json\",\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\t// let driver = this.get('users').findBy('id', table.driverID)\n\t\t\t// let driverName = driver ? driver.get('fullName') : '-'\n\n\t\t\tlet processed = this.formatData(table.content)\n\n\t\t\treturn {\n\t\t\t\tdriverName: processed.driverName,\n\t\t\t\tlicensePlates: processed.licensePlates,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals ? processed.totals : null\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} driver\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tdriver,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tdriverName: null,\n\t\t\tlicensePlates: [],\n\t\t\tcontent: []\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\ttransitCount: 0,\n\t\t\tdistance: 0,\n\t\t\tcost: 0\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.country = item.country\n\t\t\tprocessed.transitCount = {\n\t\t\t\tvalue: (item.transitCount ? Number(item.transitCount) : 0),\n\t\t\t\tdisplay: item.transitCount,\n\t\t\t}\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle((item.distance / 1000).toFixed(2), (item.distance / 1000).toFixed(2))\n\t\t\tprocessed.cost = {\n\t\t\t\tvalue: 0,\n\t\t\t\tdisplay: Number(item.cost).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.licensePlates = {\n\t\t\t\tvalue: [],\n\t\t\t\tdisplay: ''\n\t\t\t}\n\n\t\t\titem.licensePlates.forEach(licensePlate => {\n\t\t\t\tprocessed.licensePlates.value.push(licensePlate)\n\t\t\t\tprocessed.licensePlates.display = processed.licensePlates.display === '' ? licensePlate : processed.licensePlates.display + ', ' + licensePlate\n\t\t\t})\n\t\t\tres.driverName = item.driverName\n\t\t\tres.licensePlates = processed.licensePlates\n\n\t\t\tif (item.transit) {\n\t\t\t\tlet dataTransits = []\n\t\t\t\titem.transit.forEach(v => {\n\t\t\t\t\t\tif (!v.vehicleID) { return }\n\t\t\t\t\t\tprocessed.cost.value += (v.cabotageCost ? Number(v.cabotageCost) : 0) + (v.transitCost ? Number(v.transitCost) : 0)\n\t\t\t\t\t\tprocessed.cost.display = (processed.cost.value ? processed.cost.value : 0).toFixed(2)\n\t\t\t\t\t\ttotals.cost += (v.cabotageCost ? Number(v.cabotageCost) : 0) + (v.transitCost ? Number(v.transitCost) : 0)\n\n\t\t\t\t\t\t// show transits by vehicle\n\t\t\t\t\t\tv.startLocation = v.startLocation ? v.startLocation : ''\n\t\t\t\t\t\tv.endLocation = v.endLocation ? v.endLocation : ''\n\t\t\t\t\t\tv.startTimeFormatted = this.formatDateToCompanyTZ(v.startTime, 'DD/MM/YYYY HH:mm:ss')\n\t\t\t\t\t\tv.endTimeFormatted = this.formatDateToCompanyTZ(v.endTime, 'DD/MM/YYYY HH:mm:ss')\n\t\t\t\t\t\tv.distanceComposed = this.distanceValuePopupWithoutVehicle((v.distance / 1000).toFixed(2), (v.distance / 1000).toFixed(2))\n\t\t\t\t\t\tv.cabotageDuration = v.cabotageDuration ? (moment.duration(v.cabotageDuration, 's').format(i18n.t('durationFormat').string)) : 0\n\t\t\t\t\t\tv.cabotageCost = v.cabotageCost ? v.cabotageCost : 0\n\t\t\t\t\t\tv.transitDuration = v.transitDuration ? (moment.duration(v.transitDuration, 's').format(i18n.t('durationFormat').string)) : 0\n\t\t\t\t\t\tv.transitCost = v.transitCost ? v.transitCost : 0\n\t\t\t\t\t\tv.licensePlate = v.vehicleLicensePlate\n\n\t\t\t\t\t\tv.drivers = []\n\t\t\t\t\t\tv.tachoData.forEach(tachoUser => {\n\t\t\t\t\t\t\tv.drivers.push({\n\t\t\t\t\t\t\t\tavailableDuration: moment.duration(tachoUser.availableDuration, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t\t\t\t\tdayTimeWorkingDuration: moment.duration(tachoUser.dayTimeWorkingDuration, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t\t\t\t\tdriverName: tachoUser.driverFullName ? tachoUser.driverFullName : '',\n\t\t\t\t\t\t\t\tdrivingDuration: moment.duration(tachoUser.drivingDuration, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t\t\t\t\tnightTimeWorking: moment.duration(tachoUser.nightTimeWorking, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t\t\t\t\trestingDuration: moment.duration(tachoUser.restingDuration, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t\t\t\t\tworkingDuration: moment.duration(tachoUser.workingDuration, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t\t\t\t\ttotalDuration: moment.duration(tachoUser.drivingDuration + tachoUser.availableDuration + tachoUser.workingDuration, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t\t\t\t\ttachoCardID: tachoUser.tachoCardID ? tachoUser.tachoCardID : '',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tdataTransits.push(v)\n\t\t\t\t})\n\t\t\t\tprocessed.transits = dataTransits.sortBy('licensePlate', 'startTimeFormatted')\n\t\t\t}\n\t\t\t// if (!isEmpty(processed.driverNames.display)) {\n\t\t\t// \tprocessed.driverNames.display = processed.driverNames.display.substr(0, processed.driverNames.display.length - 2)\n\t\t\t// }\n\n\t\t\t// totals\n\t\t\ttotals.transitCount += item.transitCount ? item.transitCount : 0\n\t\t\ttotals.distance += (item.distance ? Number(item.distance) : 0)\n\n\t\t\treturn processed\n\t\t})\n\n\n\t\t// totals with tooltips\n\t\tif (rows.length > 1) {\n\t\t\tres.totals = {}\n\t\t\tres.totals.transitCount = {\n\t\t\t\tvalue: totals.transitCount,\n\t\t\t\tdisplay: totals.transitCount\n\t\t\t}\n\n\t\t\tres.totals.durationStationary = {\n\t\t\t\tvalue: (totals.durationStationary ? Number(totals.durationStationary) : 0),\n\t\t\t\tdisplay: moment.duration(totals.durationStationary, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tres.totals.durationMoving = {\n\t\t\t\tvalue: (totals.durationMoving ? Number(totals.durationMoving) : 0),\n\t\t\t\tdisplay: moment.duration(totals.durationMoving, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle((totals.distance / 1000).toFixed(2), (totals.distance / 1000).toFixed(2), true)\n\t\t\tres.totals.cost = {\n\t\t\t\tvalue: (totals.cost ? Number(totals.cost) : 0),\n\t\t\t\tdisplay: Number(totals.cost).toFixed(2),\n\t\t\t}\n\t\t}\n\t\t// res.driverNames = headerDriverName\n\n\t\treturn res\n\t},\n\n\tbuildDetails (details, tableBody) {\n\t\tlet i18n = this.get('i18n')\n\t\tvar detailsTable = $('<table class=\"detailsTable\"></table>')\n\t\tvar detailsHeader = $('<thead></thead>')\n\t\tvar detailsSubHeader = $('<tr></tr>')\n\t\tvar detailsHeaderRow = $('<tr></tr>')\n\t\tvar detailsBody = $('<tbody></tbody>')\n\n\t\tvar detailsRow = $('<tr></tr>')\n\t\tvar detailsCell = $('<td class=\"detailsRow\" colspan=\"9\"></td>')\n\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"2\">' + i18n.t('entry') + '</th>'))\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"2\">' + i18n.t('exit') + '</th>'))\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"6\">' + i18n.t('totals') + '</th>'))\n\n\t\tdetailsHeader.append(detailsHeaderRow)\n\t\tdetailsTable.append(detailsHeader)\n\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.licensePlate') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.entryLocation') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.entryTime') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.exitLocation') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.exitTime') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.durationMoving') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.durationStationary') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.distance') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.consume') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.fuelConsumptionDistance') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.cost') + '</th>'))\n\n\t\tdetailsHeader.append(detailsSubHeader)\n\t\tdetailsTable.append(detailsHeader)\n\n\t\tdetails.forEach(transit => {\n\t\t\tvar row = $('<tr></tr>')\n\t\t\trow.append($('<td class=\"noBorder\">' + 'asd' + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.startLocation + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.startTimeFormatted + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.endLocation + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.endTimeFormatted + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + moment.duration(transit.durationMoving, 's').format(i18n.t('durationFormat').string) + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + moment.duration(transit.durationStationary, 's').format(i18n.t('durationFormat').string) + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + Number(transit.distanceComposed.value / 1000).toFixed(2) + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.fuelComposed.value + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.fuelConsumptionDistanceComposed.value + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.cost.value + '</td>'))\n\n\t\t\tdetailsBody.append(row)\n\t\t})\n\t\tdetailsTable.append(detailsBody)\n\n\t\tdetailsCell.append(detailsTable)\n\t\tdetailsRow.append(detailsCell)\n\t\ttableBody.append(detailsRow)\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\tif (tableData.licensePlate) {\n\t\t\t\t\t\tlet label = tableData.licensePlate.length > 1 ? i18n.t('vehicles') : i18n.t('oneVehicle') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.licensePlate + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\tif (col.key === 'country') {\n\t\t\t\t\t\t\t\trow.append($('<td class=\"noBorder\">' + (dataRow[col.key] !== null ? dataRow[col.key] : '') + '</td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td class=\"noBorder\">' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\n\t\t\t\t\t\t// build details table\n\t\t\t\t\t\tif (dataRow.transits) {\n\t\t\t\t\t\t\tthis.buildDetails(dataRow.transits, tableBody)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\trowClicked (row) {\n\t\t\tset(row, 'isExpanded', row.isExpanded ? false : true)\n\t\t},\n\t\tsubRowClicked (transit) {\n\t\t\tset(transit, 'subRowIsExpanded', transit.subRowIsExpanded ? false : true)\n\t\t}\n\t}\n})","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report19',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgeofences: computed.alias('model.geofences'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report19'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\t// todo add user for noDriver and noDriver option on users\n\t\tlet selectedUsers = this.get('reportsFilters.users')\n\t\tlet filtredUsers = sortedData.filter(item => {\n\t\t\tlet atLeastOne = item.drivers.reduce((result, id) => selectedUsers.indexOf(id) != -1 ? result + 1 : result, 0)\n\t\t\treturn atLeastOne > 0\n\t\t})\n\t\tlet groupedData = this.groupByVehicle(filtredUsers)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data.map(table => {\n\t\t\treturn {\n\t\t\t\tvehicle: table.vehicle,\n\t\t\t\tdrivers: table.drivers,\n\t\t\t\tcontent: table.content.map(row => {\n\t\t\t\t\tlet groupedObjs = {}\n\t\t\t\t\tgroupedObjs.group = row.content\n\t\t\t\t\tgroupedObjs.startOfDay = row.startOfDay\n\t\t\t\t\tgroupedObjs.dateRowSpan = row.content.length\n\t\t\t\t\treturn groupedObjs\n\t\t\t\t}),\n\t\t\t\ttotals: table.totals\n\t\t\t}\n\t\t})\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/19', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tdrivers: processed.drivers,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals ? processed.totals : null\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tdrivers: [],\n\t\t\tcontent: []\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tduration: 0,\n\t\t\tdurationWork: 0,\n\t\t\tdistance: 0,\n\t\t\tfuelConsumptionWorkSensor: 0,\n\t\t\tfuelConsumptionWorkCAN: 0,\n\t\t\tdriverNames: []\n\t\t}\n\n\t\tlet groupedData = []\n\t\trows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.date, 'DD/MM/YYYY'),\n\t\t\t}\n\t\t\tprocessed.geofenceName = {\n\t\t\t\tvalue: item.geofenceName,\n\t\t\t\tdisplay: item.geofenceName\n\t\t\t}\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: moment.duration(item.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.durationWork = {\n\t\t\t\tvalue: (item.durationWork ? Number(item.durationWork) : 0),\n\t\t\t\tdisplay: moment.duration(item.durationWork, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.distance = {\n\t\t\t\tvalue: (item.distance ? Number(item.distance) : 0),\n\t\t\t\tdisplay: Number(item.distance).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.fuelComposed = this.fuelValuePopup(false, item.fuelConsumptionWorkSensor, item.fuelConsumptionWorkCAN, item.fuelConsumption, vehicle)\n\n\t\t\titem.driverNames.forEach(driverName => {\n\t\t\t\tif (totals.driverNames.indexOf(driverName) === -1) {\n\t\t\t\t\tif (driverName === '') {\n\t\t\t\t\t\tdriverName = i18n.t('noDriver').string\n\t\t\t\t\t}\n\t\t\t\t\ttotals.driverNames.push(driverName)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// Group by date\n\t\t\tprocessed.startOfDay = moment(item.date).startOf('day').valueOf()\n\t\t\tlet data = groupedData.findBy('startOfDay.value', processed.startOfDay)\n\t\t\tif (data && data.content) {\n\t\t\t\tdata.content.push(processed)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tgroupedData.push({\n\t\t\t\t\tstartOfDay: {\n\t\t\t\t\t\tvalue: processed.startOfDay,\n\t\t\t\t\t\tdisplay: this.formatDateToCompanyTZ(processed.startOfDay, 'DD/MM/YYYY')\n\t\t\t\t\t},\n\t\t\t\t\tcontent: [processed]\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// totals\n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.durationWork += processed.durationWork.value\n\t\t\ttotals.distance += processed.distance.value\n\t\t\ttotals.fuelConsumptionWorkSensor += (item.fuelConsumptionWorkSensor ? Number(item.fuelConsumptionWorkSensor) : 0)\n\t\t\ttotals.fuelConsumptionWorkCAN += (item.fuelConsumptionWorkCAN ? Number(item.fuelConsumptionWorkCAN) : 0)\n\t\t\ttotals.fuelConsumption += (item.fuelConsumption ? Number(item.fuelConsumption) : 0)\n\n\t\t\treturn processed\n\t\t})\n\t\tres.content = groupedData\n\n\t\t// totals with tooltips\n\t\tif (rows.length > 1) {\n\t\t\tres.totals = {}\n\t\t\tres.totals.duration = {\n\t\t\t\tvalue: (totals.duration ? Number(totals.duration) : 0),\n\t\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tres.totals.durationWork = {\n\t\t\t\tvalue: (totals.durationWork ? Number(totals.durationWork) : 0),\n\t\t\t\tdisplay: moment.duration(totals.durationWork, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tres.totals.distance = {\n\t\t\t\tvalue: (totals.distance ? Number(totals.distance) : 0),\n\t\t\t\tdisplay: Number(totals.distance).toFixed(2),\n\t\t\t}\n\t\t\tres.totals.fuelComposed = this.fuelValuePopup(false, totals.fuelConsumptionWorkSensor, totals.fuelConsumptionWorkCAN, totals.fuelConsumption, vehicle)\n\t\t}\n\t\tres.drivers = totals.driverNames\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\n// todo: query params\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report24',\n\tsortBy: 'day',\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report24'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet priority = this.get('currentUser.priority') ? this.get('currentUser.priority') : 'gps'\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tpriority,\n\t\t\tendDate: this.convertDateToCompanyTZ(filters.endDate),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/24', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = tables.map(table => {\n\t\t\treturn this.formatData(table.content, table.vehicleID)\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data\n\t */\n\tformatData (rows, vehicleID) {\n\t\tconst i18n = this.get('i18n')\n\t\tlet vehicle = this.get('vehicles').findBy('id', vehicleID)\n\n\t\tconst fuelUnit = vehicle ? vehicle.get('fuel.unit') : 'L'\n\t\tconst fuelCapacity = vehicle ? vehicle.get('fuel.capacity') : null\n\t\tconst cngUnit = this.get('currentUser.cngUnit') ? this.get('currentUser.cngUnit') : 'weight'\n\t\tconst priority = this.get('currentUser.priority') ? this.get('currentUser.priority') : 'gps'\n\t\tconst isCng = this.get('currentUser.modules.cng') && vehicle.get('isCng')\n\n\t\tlet res = {\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t\tvehicle,\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length || !vehicleID) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tauxHeatingConsumption: 0,\n\t\t\tcanDistance: 0,\n\t\t\tdistance: 0,\n\t\t\tdistanceComposed: 0,\n\t\t\tcanConsumption: 0,\n\t\t\tsensorConsumption: 0,\n\t\t\tnormalizedConsumption: 0,\n\t\t\taccountingConsumption: 0,\n\t\t\tcanF2fConsumption: 0,\n\t\t\tsensorF2fConsumption: 0,\n\t\t\tcanConsumptionDistance: 0,\n\t\t\tsensorConsumptionDistance: 0,\n\t\t\tnormalizedConsumptionDistance: 0,\n\t\t\taccountingConsumptionDistance: 0,\n\t\t\taccountingConsumptionDistanceUncalculated: 0,\n\t\t\tcanF2fConsumptionDistance: 0,\n\t\t\tcanF2fConsumptionDistanceUncalculated: 0,\n\t\t\tsensorF2fConsumptionDistance: 0,\n\t\t\tsensorF2fConsumptionDistanceUncalculated: 0,\n\t\t\tsd: 0, // start date\n\t\t\ted: 0, // end date\n\t\t}\n\n\t\tlet consumptionFormatIsTotal = this.get('currentUser.consumptionFormat') === 'total'\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.licensePlate = {\n\t\t\t\tvalue: item.vehicleID,\n\t\t\t\tdisplay: vehicle ? vehicle.get('licensePlate') : '',\n\t\t\t}\n\t\t\tprocessed.day = {\n\t\t\t\tvalue: item.day,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.day, 'DD/MM/YYYY'),\n\t\t\t}\n\t\t\tif (!totals.sd || totals.sd > item.day)\n\t\t\t\ttotals.sd = item.day\n\t\t\tif (!totals.ed || totals.ed < item.day)\n\t\t\t\ttotals.ed = item.day\n\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.canDistance, item.distance)\n\n\t\t\tlet auxHeatingConsumption = item.auxHeatingConsumption ? Number(item.auxHeatingConsumption) : 0\n\t\t\tprocessed.auxHeatingConsumption = {\n\t\t\t\tvalue: auxHeatingConsumption,\n\t\t\t\tdisplay: `${auxHeatingConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\t}\n\n\t\t\tlet selectedCanConsumption = consumptionFormatIsTotal ? item.canConsumption : item.canConsumptionPerDistance\n\t\t\tlet canConsumption = selectedCanConsumption ? Number(selectedCanConsumption) : 0\n\t\t\tprocessed.canConsumption = {\n\t\t\t\tvalue: canConsumption,\n\t\t\t\tdisplay: `${canConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\t}\n\t\t\tlet selectedSensorConsumption = consumptionFormatIsTotal ? item.sensorConsumption : item.sensorConsumptionPerDistance\n\t\t\tlet sensorConsumption = selectedSensorConsumption ? Number(selectedSensorConsumption) : 0\n\t\t\tprocessed.sensorConsumption = {\n\t\t\t\tvalue: sensorConsumption,\n\t\t\t\tdisplay: `${sensorConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\t}\n\t\t\tlet selectedNormalizedConsumption = consumptionFormatIsTotal ? item.normalizedConsumption : item.normalizedConsumptionPerDistance\n\t\t\tlet normalizedConsumption = selectedNormalizedConsumption ? Number(selectedNormalizedConsumption) : 0\n\t\t\tprocessed.normalizedConsumption = {\n\t\t\t\tvalue: normalizedConsumption,\n\t\t\t\tdisplay: `${normalizedConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\t}\n\t\t\tlet selectedAccountingConsumption = consumptionFormatIsTotal ? item.accountingConsumption : item.accountingConsumptionPerDistance\n\t\t\tlet accountingConsumption = selectedAccountingConsumption ? Number(selectedAccountingConsumption) : 0\n\t\t\tprocessed.accountingConsumption = {\n\t\t\t\tvalue: accountingConsumption,\n\t\t\t\tdisplay: `${accountingConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\t\tpopup: !consumptionFormatIsTotal && processed.distanceComposed.value < 5 ? i18n.t('min5kmDistanceForFuelConsumptionCalculation') : '',\n\t\t\t}\n\t\t\tlet selectedCanF2fConsumption = consumptionFormatIsTotal ? item.canF2fConsumption : item.canF2fConsumptionPerDistance\n\t\t\tlet canF2fConsumption = selectedCanF2fConsumption ? Number(selectedCanF2fConsumption) : 0\n\t\t\tprocessed.canF2fConsumption = {\n\t\t\t\tvalue: canF2fConsumption,\n\t\t\t\tdisplay: `${canF2fConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\t}\n\t\t\tlet selectedSensorF2fConsumption = consumptionFormatIsTotal ? item.sensorF2fConsumption : item.sensorF2fConsumptionPerDistance\n\t\t\tlet sensorF2fConsumption = selectedSensorF2fConsumption ? Number(selectedSensorF2fConsumption) : 0\n\t\t\tprocessed.sensorF2fConsumption = {\n\t\t\t\tvalue: sensorF2fConsumption,\n\t\t\t\tdisplay: `${sensorF2fConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\t}\n\n\t\t\t// totals\n\t\t\tlet canDistance = (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\tlet distance = (item.distance ? Number(item.distance) : 0)\n\t\t\ttotals.canDistance += canDistance\n\t\t\ttotals.distance += distance\n\t\t\ttotals.auxHeatingConsumption += auxHeatingConsumption\n\n\t\t\tlet selDistance = priority === 'can' ? canDistance : distance\n\t\t\tif (accountingConsumption) {\n\t\t\t\ttotals.accountingConsumptionDistance += selDistance\n\t\t\t} else {\n\t\t\t\ttotals.accountingConsumptionDistanceUncalculated += selDistance\n\t\t\t}\n\t\t\tif (canF2fConsumption) {\n\t\t\t\ttotals.canF2fConsumptionDistance += selDistance\n\t\t\t} else {\n\t\t\t\ttotals.canF2fConsumptionDistanceUncalculated += selDistance\n\t\t\t}\n\t\t\tif (sensorF2fConsumption) {\n\t\t\t\ttotals.sensorF2fConsumptionDistance += selDistance\n\t\t\t} else {\n\t\t\t\ttotals.sensorF2fConsumptionDistanceUncalculated += selDistance\n\t\t\t}\n\n\t\t\tif (consumptionFormatIsTotal) {\n\t\t\t\ttotals.canConsumption += canConsumption\n\t\t\t\ttotals.sensorConsumption += sensorConsumption\n\t\t\t\ttotals.normalizedConsumption += normalizedConsumption\n\t\t\t\ttotals.accountingConsumption += accountingConsumption\n\t\t\t\ttotals.canF2fConsumption += canF2fConsumption\n\t\t\t\ttotals.sensorF2fConsumption += sensorF2fConsumption\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (canConsumption >= 0) {\n\t\t\t\t\ttotals.canConsumption += canConsumption * selDistance\n\t\t\t\t\ttotals.canConsumptionDistance += selDistance\n\t\t\t\t\tif(canConsumption === 0){\n\t\t\t\t\t\ttotals.canConsumption+=Number(item.canConsumption) * 100\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (sensorConsumption) {\n\t\t\t\t\ttotals.sensorConsumption += sensorConsumption * selDistance\n\t\t\t\t\ttotals.sensorConsumptionDistance += selDistance\n\t\t\t\t}\n\t\t\t\tif (normalizedConsumption) {\n\t\t\t\t\ttotals.normalizedConsumption += normalizedConsumption * selDistance\n\t\t\t\t\ttotals.normalizedConsumptionDistance += selDistance\n\t\t\t\t}\n\t\t\t\tif (accountingConsumption) {\n\t\t\t\t\ttotals.accountingConsumption += accountingConsumption * selDistance\n\t\t\t\t}\n\t\t\t\tif (canF2fConsumption) {\n\t\t\t\t\ttotals.canF2fConsumption += canF2fConsumption * selDistance\n\t\t\t\t}\n\t\t\t\tif (sensorF2fConsumption) {\n\t\t\t\t\ttotals.sensorF2fConsumption += sensorF2fConsumption * selDistance\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isCng) { // overwrite display and add popup\n\t\t\t\tconst auxHeatingConsumptionCNG = this.getCngValues(processed.auxHeatingConsumption.value, fuelCapacity, false)\n\t\t\t\tprocessed.auxHeatingConsumption.display = cngUnit === 'weight' ? auxHeatingConsumptionCNG.display[1] : auxHeatingConsumptionCNG.display[0]\n\t\t\t\tprocessed.auxHeatingConsumption.popup = `CNG:  ${auxHeatingConsumptionCNG.display.join('  |  ')}\\n`\n\n\t\t\t\tconst canConsumptionCNG = this.getCngValues(processed.canConsumption.value, fuelCapacity, false)\n\t\t\t\tprocessed.canConsumption.display = cngUnit === 'weight' ? canConsumptionCNG.display[1] : canConsumptionCNG.display[0]\n\t\t\t\tprocessed.canConsumption.popup = `CNG:  ${canConsumptionCNG.display.join('  |  ')}\\n`\n\n\t\t\t\tconst normalizedConsumptionCNG = this.getCngValues(processed.normalizedConsumption.value, fuelCapacity, false)\n\t\t\t\tprocessed.normalizedConsumption.display = cngUnit === 'weight' ? normalizedConsumptionCNG.display[1] : normalizedConsumptionCNG.display[0]\n\t\t\t\tprocessed.normalizedConsumption.popup = `CNG:  ${normalizedConsumptionCNG.display.join('  |  ')}\\n`\n\n\t\t\t\tconst accountingConsumptionCNG = this.getCngValues(processed.accountingConsumption.value, fuelCapacity, false)\n\t\t\t\tprocessed.accountingConsumption.display = cngUnit === 'weight' ? accountingConsumptionCNG.display[1] : accountingConsumptionCNG.display[0]\n\t\t\t\tprocessed.accountingConsumption.popup = !consumptionFormatIsTotal && processed.distanceComposed.value < 5 ? i18n.t('min5kmDistanceForFuelConsumptionCalculation') : `CNG:  ${accountingConsumptionCNG.display.join('  |  ')}\\n`\n\n\t\t\t\tconst canF2fConsumptionCNG = this.getCngValues(processed.canF2fConsumption.value, fuelCapacity, false)\n\t\t\t\tprocessed.canF2fConsumption.display = cngUnit === 'weight' ? canF2fConsumptionCNG.display[1] : canF2fConsumptionCNG.display[0]\n\t\t\t\tprocessed.canF2fConsumption.popup = `CNG:  ${canF2fConsumptionCNG.display.join('  |  ')}\\n`\n\n\t\t\t\tprocessed.sensorF2fConsumption.display = '-'\n\t\t\t\tprocessed.sensorConsumption.display = '-'\n\t\t\t}\n\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\ttotals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.canDistance, totals.distance, true)\n\n\t\ttotals.day = {\n\t\t\tdisplay: totals.sd != totals.ed ? `${this.formatDateToCompanyTZ(totals.sd, 'DD/MM/YYYY')} - ${this.formatDateToCompanyTZ(totals.ed, 'DD/MM/YYYY')}` : `${this.formatDateToCompanyTZ(totals.sd, 'DD/MM/YYYY')}`,\n\t\t}\n\t\ttotals.licensePlate = {\n\t\t\tdisplay: vehicle ? vehicle.get('licensePlate') : '',\n\t\t}\n\n\t\tif (!consumptionFormatIsTotal) {\n\t\t\ttotals.canConsumption = totals.canConsumptionDistance ? totals.canConsumption / totals.canConsumptionDistance : 0\n\t\t\ttotals.sensorConsumption = totals.sensorConsumptionDistance ? totals.sensorConsumption / totals.sensorConsumptionDistance : 0\n\t\t\ttotals.normalizedConsumption = totals.normalizedConsumptionDistance ? totals.normalizedConsumption / totals.normalizedConsumptionDistance : 0\n\t\t\ttotals.accountingConsumption = totals.accountingConsumptionDistance ? totals.accountingConsumption / totals.accountingConsumptionDistance : 0\n\t\t\ttotals.canF2fConsumption = totals.canF2fConsumptionDistance ? totals.canF2fConsumption / totals.canF2fConsumptionDistance : 0\n\t\t\ttotals.sensorF2fConsumption = totals.sensorF2fConsumptionDistance ? totals.sensorF2fConsumption / totals.sensorF2fConsumptionDistance : 0\n\t\t}\n\t\ttotals.canConsumption = {\n\t\t\tvalue: totals.canConsumption,\n\t\t\tdisplay: `${totals.canConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t}\n\t\ttotals.auxHeatingConsumption = {\n\t\t\tvalue: totals.auxHeatingConsumption,\n\t\t\tdisplay: `${totals.auxHeatingConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t}\n\t\ttotals.sensorConsumption = {\n\t\t\tvalue: totals.sensorConsumption,\n\t\t\tdisplay: `${totals.sensorConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t}\n\t\ttotals.normalizedConsumption = {\n\t\t\tvalue: totals.normalizedConsumption,\n\t\t\tdisplay: `${totals.normalizedConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t}\n\t\tlet accountingPopup = ''\n\t\tlet canF2fPopup = ''\n\t\tlet sensorF2fPopup = ''\n\t\tif (consumptionFormatIsTotal) {\n\t\t\taccountingPopup = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumption', { distance: totals.accountingConsumptionDistance.toFixed(2), fuel: totals.accountingConsumption.toFixed(2), fuelUnit })\n\t\t\tcanF2fPopup = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumption', { distance: totals.canF2fConsumptionDistance.toFixed(2), fuel: totals.canF2fConsumption.toFixed(2), fuelUnit })\n\t\t\tsensorF2fPopup = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumption', { distance: totals.sensorF2fConsumptionDistance.toFixed(2), fuel: totals.sensorF2fConsumption.toFixed(2), fuelUnit })\n\t\t} else {\n\t\t\taccountingPopup = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumptionPerDistance', { distance: totals.accountingConsumptionDistance.toFixed(2), fuel: totals.accountingConsumption.toFixed(2), fuelUnit })\n\t\t\tcanF2fPopup = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumptionPerDistance', { distance: totals.canF2fConsumptionDistance.toFixed(2), fuel: totals.canF2fConsumption.toFixed(2), fuelUnit })\n\t\t\tsensorF2fPopup = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumptionPerDistance', { distance: totals.sensorF2fConsumptionDistance.toFixed(2), fuel: totals.sensorF2fConsumption.toFixed(2), fuelUnit })\n\t\t}\n\t\taccountingPopup += `\\n${i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceUncalculated', { distance: totals.accountingConsumptionDistanceUncalculated.toFixed(2) })}`\n\t\tcanF2fPopup += `\\n${i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceUncalculated', { distance: totals.canF2fConsumptionDistanceUncalculated.toFixed(2) })}`\n\t\tsensorF2fPopup += `\\n${i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceUncalculated', { distance: totals.sensorF2fConsumptionDistanceUncalculated.toFixed(2) })}`\n\n\t\ttotals.accountingConsumption = {\n\t\t\tvalue: totals.accountingConsumption,\n\t\t\tdisplay: `${totals.accountingConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\tpopup: accountingPopup,\n\t\t}\n\t\ttotals.canF2fConsumption = {\n\t\t\tvalue: totals.canF2fConsumption,\n\t\t\tdisplay: `${totals.canF2fConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\tpopup: canF2fPopup,\n\t\t}\n\t\ttotals.sensorF2fConsumption = {\n\t\t\tvalue: totals.sensorF2fConsumption,\n\t\t\tdisplay: `${totals.sensorF2fConsumption.toFixed(2)} ${fuelUnit}`,\n\t\t\tpopup: sensorF2fPopup,\n\t\t}\n\n\t\tif (isCng) {\n\t\t\tconst auxHeatingConsumptionCNG = this.getCngValues(totals.auxHeatingConsumption.value, fuelCapacity, false)\n\t\t\ttotals.auxHeatingConsumption.display = cngUnit === 'weight' ? auxHeatingConsumptionCNG.display[1] : auxHeatingConsumptionCNG.display[0]\n\t\t\ttotals.auxHeatingConsumption.popup = `CNG:  ${auxHeatingConsumptionCNG.display.join('  |  ')}\\n`\n\n\t\t\tconst canConsumptionCNG = this.getCngValues(totals.canConsumption.value, fuelCapacity, false)\n\t\t\ttotals.canConsumption.display = cngUnit === 'weight' ? canConsumptionCNG.display[1] : canConsumptionCNG.display[0]\n\t\t\ttotals.canConsumption.popup = `CNG:  ${canConsumptionCNG.display.join('  |  ')}\\n`\n\n\t\t\tconst normalizedConsumptionCNG = this.getCngValues(totals.normalizedConsumption.value, fuelCapacity, false)\n\t\t\ttotals.normalizedConsumption.display = cngUnit === 'weight' ? normalizedConsumptionCNG.display[1] : normalizedConsumptionCNG.display[0]\n\t\t\ttotals.normalizedConsumption.popup = `CNG:  ${normalizedConsumptionCNG.display.join('  |  ')}\\n`\n\n\t\t\tconst accountingConsumptionCNG = this.getCngValues(totals.accountingConsumption.value, fuelCapacity, false)\n\t\t\ttotals.accountingConsumption.display = cngUnit === 'weight' ? accountingConsumptionCNG.display[1] : accountingConsumptionCNG.display[0]\n\n\t\t\tconst canF2fConsumptionCNG = this.getCngValues(totals.canF2fConsumption.value, fuelCapacity, false)\n\t\t\ttotals.canF2fConsumption.display = cngUnit === 'weight' ? canF2fConsumptionCNG.display[1] : canF2fConsumptionCNG.display[0]\n\n\t\t\tlet accountingPopupCNG = ''\n\t\t\tlet canF2fPopupCNG = ''\n\t\t\tif (consumptionFormatIsTotal) {\n\t\t\t\taccountingPopupCNG = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumption', { distance: totals.accountingConsumptionDistance.toFixed(2), fuel: accountingConsumptionCNG.display.join('  |  '), fuelUnit: '' })\n\t\t\t\tcanF2fPopupCNG = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumption', { distance: totals.canF2fConsumptionDistance.toFixed(2), fuel: canF2fConsumptionCNG.display.join('  |  '), fuelUnit: '' })\n\t\t\t} else {\n\t\t\t\taccountingPopupCNG = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumptionPerDistance', { distance: totals.accountingConsumptionDistance.toFixed(2), fuel: accountingConsumptionCNG.display.join('  |  '), fuelUnit: '' })\n\t\t\t\tcanF2fPopupCNG = i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceConsumptionPerDistance', { distance: totals.canF2fConsumptionDistance.toFixed(2), fuel: canF2fConsumptionCNG.display.join('  |  '), fuelUnit: '' })\n\t\t\t}\n\t\t\taccountingPopupCNG += `\\n${i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceUncalculated', { distance: totals.accountingConsumptionDistanceUncalculated.toFixed(2) })}`\n\t\t\tcanF2fPopupCNG += `\\n${i18n.t('reports.headerFields.specific.consumption.popups.normlizedDistanceUncalculated', { distance: totals.canF2fConsumptionDistanceUncalculated.toFixed(2) })}`\n\n\t\t\ttotals.accountingConsumption.popup = accountingPopupCNG\n\t\t\ttotals.canF2fConsumption.popup = canF2fPopupCNG\n\n\t\t\ttotals.sensorF2fConsumption.display = '-'\n\t\t\ttotals.sensorF2fConsumption.popup = ''\n\t\t\ttotals.sensorConsumption.display = '-'\n\t\t\ttotals.sensorConsumption.popup = ''\n\t\t}\n\n\t\tres.totals = totals\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.get('getReportData').perform()\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tlet div = $('<div></div>')\n\t\t\tlet table = $('<table></table>')\n\t\t\tlet tableBody = $('<tbody></tbody>')\n\n\t\t\tthis.get('readyData').forEach((row, idx) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (!idx) {\n\t\t\t\t\tlet tableHeader = $('<thead></thead>')\n\t\t\t\t\tlet tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tlet tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tif (this.get('currentUser.consumptionFormat') === 'total')\n\t\t\t\t\t\ttableCaption.append(`<div>${i18n.t('reports.headerFields.fuelConsumptionTotal')}</div>`)\n\t\t\t\t\telse\n\t\t\t\t\t\ttableCaption.append(`<div>${i18n.t('reports.headerFields.fuelConsumptionDistance')}</div>`)\n\n\t\t\t\t\ttable.append(tableCaption)\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($(`<th class=\"tableHeader\">${i18n.t(col.translationKey)}</th>`))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\t\t\t\t}\n\n\t\t\t\tlet tableRow = $('<tr></tr>')\n\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\tlet colObj = row.totals[col.key]\n\t\t\t\t\tif (colObj) {\n\t\t\t\t\t\ttableRow.append($(`<td>${colObj.display ? colObj.display : ''}</td>`))\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttableRow.append($('<td></td>'))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\ttableBody.append(tableRow)\n\t\t\t})\n\n\t\t\ttable.append(tableBody)\n\t\t\tdiv.append(table)\n\n\t\t\tlet PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(div.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t})\n\n\t\t\tdiv = null\n\t\t},\n\t\trowClicked (row) {\n\t\t\tif (row.content.length > 1)\n\t\t\t\tset(row, 'isExpanded', row.isExpanded ? false : true)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { isEmpty } from '@ember/utils'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport { loc } from '@ember/string'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report16',\n\tsortBy: 'driverFullName',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report16'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByDriver(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('driverFullName')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/16', {\n\t\t\tcontentType: \"application/json; charset=utf-8\",\n\t\t\tdataType: \"json\",\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet driver = this.get('users').findBy('id', table.driverID)\n\t\t\tlet driverName = driver ? driver.get('fullName') : '-'\n\n\t\t\tlet processed = this.formatData(table.content, driverName)\n\n\t\t\treturn {\n\t\t\t\tdriver: driverName,\n\t\t\t\tlicensePlates: processed.licensePlates,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals ? processed.totals : null\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} driver\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tdriver,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, driver) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tdriver,\n\t\t\tlicensePlates: [],\n\t\t\tcontent: []\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\ttransitCount: 0,\n\t\t\tdurationStationary: 0,\n\t\t\tdurationMoving: 0,\n\t\t\tdistanceCAN: 0,\n\t\t\tdistanceGPS: 0,\n\t\t\tdistanceComposed: 0,\n\t\t\tcost: null\n\t\t}\n\n\t\tlet headerLicensePlates = {\n\t\t\tvalue: [],\n\t\t\tdisplay: ''\n\t\t}\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.country = item.country\n\t\t\tprocessed.transitCount = {\n\t\t\t\tvalue: (item.transitCount ? Number(item.transitCount) : 0),\n\t\t\t\tdisplay: item.transitCount,\n\t\t\t}\n\t\t\tprocessed.durationStationary = {\n\t\t\t\tvalue: (item.durationStationary ? Number(item.durationStationary) : 0),\n\t\t\t\tdisplay: moment.duration(item.durationStationary, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.durationMoving = {\n\t\t\t\tvalue: (item.durationMoving ? Number(item.durationMoving) : 0),\n\t\t\t\tdisplay: moment.duration(item.durationMoving, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.distanceCAN, item.distanceGPS)\n\t\t\tprocessed.cost = {\n\t\t\t\tvalue: (item.cost ? Number(item.cost) : 0),\n\t\t\t\tdisplay: Number(item.cost).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.licensePlates = {\n\t\t\t\tvalue: [],\n\t\t\t\tdisplay: ''\n\t\t\t}\n\n\t\t\tif (item.details) {\n\t\t\t\tlet dataTransits = []\n\t\t\t\titem.details.forEach(detail => {\n\t\t\t\t\tdetail.vehicles.forEach(v => {\n\t\t\t\t\t\tif (!v.vehicleID) { return }\n\t\t\t\t\t\tlet vehicle = this.get('vehicles').findBy('id', v.vehicleID)\n\n\t\t\t\t\t\tif (processed.licensePlates.value.indexOf(v.licensePlate) === -1) {\n\t\t\t\t\t\t\tprocessed.licensePlates.value.push(v.licensePlate)\n\t\t\t\t\t\t\tprocessed.licensePlates.display += v.licensePlate + ', '\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// show transits by vehicle\n\t\t\t\t\t\tconst vt = {}\n\t\t\t\t\t\tvt.licensePlate = v.licensePlate\n\t\t\t\t\t\tvt.startLocation = detail.startLocation || ''\n\t\t\t\t\t\tvt.endLocation = detail.endLocation || ''\n\t\t\t\t\t\tvt.startTime = moment(detail.startTime).valueOf()\n\t\t\t\t\t\tvt.startTimeFormatted = this.formatDateToCompanyTZ(detail.startTime, 'DD/MM/YYYY HH:mm:ss')\n\t\t\t\t\t\tvt.endTimeFormatted = this.formatDateToCompanyTZ(detail.endTime, 'DD/MM/YYYY HH:mm:ss')\n\t\t\t\t\t\tvt.distanceComposed = this.distanceValuePopupWithoutVehicle(v.distanceCAN, v.distanceGPS)\n\t\t\t\t\t\tvt.fuelComposed = this.fuelValuePopup(false, v.sensorFuelConsumption, v.canFuelConsumption, v.fuelConsumption, vehicle, true)\n\t\t\t\t\t\tvt.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, vt.distanceComposed.value, v.sensorFuelConsumption, v.canFuelConsumption, v.fuelConsumption, vehicle)\n\n\t\t\t\t\t\tconst cost = v.cost ? Number(v.cost) : 0\n\t\t\t\t\t\tvt.cost = {\n\t\t\t\t\t\t\tvalue: cost,\n\t\t\t\t\t\t\tdisplay: cost.toFixed(2),\n\t\t\t\t\t\t\tpopup: loc(i18n.t('reports.headerFields.costPopup').string, [Number(item.countryCost).toFixed(2)])\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdataTransits.push(vt)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tprocessed.transits = dataTransits.sortBy('licensePlate', 'startTime')\n\t\t\t}\n\t\t\tif (!isEmpty(processed.licensePlates.display)) {\n\t\t\t\tprocessed.licensePlates.display = processed.licensePlates.display.substr(0, processed.licensePlates.display.length - 2)\n\t\t\t}\n\t\t\tprocessed.licensePlates.value.forEach(licensePlate => {\n\t\t\t\tif (headerLicensePlates.value.indexOf(licensePlate) === -1) {\n\t\t\t\t\theaderLicensePlates.value.push(licensePlate)\n\t\t\t\t\theaderLicensePlates.display += licensePlate + ', '\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// totals\n\t\t\ttotals.transitCount += item.transitCount ? item.transitCount : 0\n\t\t\ttotals.durationStationary += (item.durationStationary ? Number(item.durationStationary) : 0)\n\t\t\ttotals.durationMoving += (item.durationMoving ? Number(item.durationMoving) : 0)\n\t\t\ttotals.distanceCAN += (item.distanceCAN ? Number(item.distanceCAN) : 0)\n\t\t\ttotals.distanceGPS += (item.distanceGPS ? Number(item.distanceGPS) : 0)\n\t\t\ttotals.cost += item.cost\n\n\t\t\treturn processed\n\t\t})\n\n\t\tif (!isEmpty(headerLicensePlates.display)) {\n\t\t\theaderLicensePlates.display = headerLicensePlates.display.substr(0, headerLicensePlates.display.length - 2)\n\t\t}\n\n\t\t// totals with tooltips\n\t\tif (rows.length > 1) {\n\t\t\tres.totals = {}\n\t\t\tres.totals.transitCount = {\n\t\t\t\tvalue: totals.transitCount,\n\t\t\t\tdisplay: totals.transitCount\n\t\t\t}\n\n\t\t\tres.totals.durationStationary = {\n\t\t\t\tvalue: (totals.durationStationary ? Number(totals.durationStationary) : 0),\n\t\t\t\tdisplay: moment.duration(totals.durationStationary, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tres.totals.durationMoving = {\n\t\t\t\tvalue: (totals.durationMoving ? Number(totals.durationMoving) : 0),\n\t\t\t\tdisplay: moment.duration(totals.durationMoving, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.distanceCAN, totals.distanceGPS, true)\n\t\t\tres.totals.cost = {\n\t\t\t\tvalue: (totals.cost ? Number(totals.cost) : 0),\n\t\t\t\tdisplay: Number(totals.cost).toFixed(2),\n\t\t\t}\n\t\t}\n\t\tres.licensePlates = headerLicensePlates\n\n\t\treturn res\n\t},\n\n\tbuildDetails (details, tableBody) {\n\t\tlet i18n = this.get('i18n')\n\t\tvar detailsTable = $('<table class=\"detailsTable\"></table>')\n\t\tvar detailsHeader = $('<thead></thead>')\n\t\tvar detailsSubHeader = $('<tr></tr>')\n\t\tvar detailsHeaderRow = $('<tr></tr>')\n\t\tvar detailsBody = $('<tbody></tbody>')\n\n\t\tvar detailsRow = $('<tr></tr>')\n\t\tvar detailsCell = $('<td class=\"detailsRow\" colspan=\"9\"></td>')\n\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"2\">' + i18n.t('entry') + '</th>'))\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"2\">' + i18n.t('exit') + '</th>'))\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"6\">' + i18n.t('totals') + '</th>'))\n\n\t\tdetailsHeader.append(detailsHeaderRow)\n\t\tdetailsTable.append(detailsHeader)\n\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.licensePlate') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.entryLocation') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.entryTime') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.exitLocation') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.exitTime') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.durationMoving') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.durationStationary') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.distance') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.consume') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.fuelConsumptionDistance') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.cost') + '</th>'))\n\n\t\tdetailsHeader.append(detailsSubHeader)\n\t\tdetailsTable.append(detailsHeader)\n\n\t\tdetails.forEach(transit => {\n\t\t\tvar row = $('<tr></tr>')\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.licensePlate + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.startLocation + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.startTimeFormatted + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.endLocation + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.endTimeFormatted + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + moment.duration(transit.durationMoving, 's').format(i18n.t('durationFormat').string) + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + moment.duration(transit.durationStationary, 's').format(i18n.t('durationFormat').string) + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + Number(transit.distanceComposed.value).toFixed(2) + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.fuelComposed.value + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.fuelConsumptionDistanceComposed.value + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.cost.value + '</td>'))\n\n\t\t\tdetailsBody.append(row)\n\t\t})\n\t\tdetailsTable.append(detailsBody)\n\n\t\tdetailsCell.append(detailsTable)\n\t\tdetailsRow.append(detailsCell)\n\t\ttableBody.append(detailsRow)\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\tif (tableData.driver) {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('driver') + ': ' + tableData.driver + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\tif (tableData.licensePlates) {\n\t\t\t\t\t\tlet label = tableData.licensePlates.value.length > 1 ? i18n.t('vehicles') : i18n.t('oneVehicle') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.licensePlates.display + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\tif (col.key === 'country') {\n\t\t\t\t\t\t\t\trow.append($('<td class=\"noBorder\">' + (dataRow[col.key] !== null ? dataRow[col.key] : '') + '</td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td class=\"noBorder\">' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\n\t\t\t\t\t\t// build details table\n\t\t\t\t\t\tif (dataRow.transits) {\n\t\t\t\t\t\t\tthis.buildDetails(dataRow.transits, tableBody)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\trowClicked (row) {\n\t\t\tset(row, 'isExpanded', row.isExpanded ? false : true)\n\t\t},\n\t}\n})","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report14',\n\tsortBy: 'startTime',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report14'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/14', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tdrivers: processed.drivers,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals ? processed.totals : null\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tdrivers: [],\n\t\t\tcontent: []\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\ttransitCount: 0,\n\t\t\tdistanceCAN: 0,\n\t\t\tdistanceGPS: 0,\n\t\t\tdistanceComposed: 0,\n\t\t\tdurationMoving: 0,\n\t\t\tdurationStationary: 0,\n\t\t\tfuelComposed: 0,\n\t\t\tfuelConsumptionCAN: 0,\n\t\t\tfuelConsumptionSensor: 0,\n\t\t\tfuelConsumption: 0,\n\t\t\tfuelConsumptionPerDistance: 0,\n\t\t\tcost: null,\n\t\t\tdriverFullNames: []\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.country = item.country\n\t\t\tprocessed.transitCount = {\n\t\t\t\tvalue: (item.transitCount ? Number(item.transitCount) : 0),\n\t\t\t\tdisplay: item.transitCount,\n\t\t\t}\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.distanceCAN, item.distanceGPS)\n\t\t\tprocessed.durationMoving = {\n\t\t\t\tvalue: (item.durationMoving ? Number(item.durationMoving) : 0),\n\t\t\t\tdisplay: moment.duration(item.durationMoving, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.durationStationary = {\n\t\t\t\tvalue: (item.durationStationary ? Number(item.durationStationary) : 0),\n\t\t\t\tdisplay: moment.duration(item.durationStationary, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\t// this should change to consumption composed\n\t\t\tlet fuelConsumption = item.fuelConsumption ? item.fuelConsumption : 0\n\t\t\tprocessed.fuelComposed = this.fuelValuePopup(false, item.sensorFuelConsumption, item.canFuelConsumption, fuelConsumption, vehicle)\n\t\t\tprocessed.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, processed.distanceComposed.value, item.sensorFuelConsumption, item.canFuelConsumption, fuelConsumption, vehicle)\n\t\t\tprocessed.cost = {\n\t\t\t\tvalue: (item.cost ? Number(item.cost) : 0),\n\t\t\t\tdisplay: Number(item.cost).toFixed(2),\n\t\t\t}\n\n\t\t\tlet startTime = null\n\t\t\tlet endTime = null\n\t\t\tlet driverFullNames = []\n\t\t\tif (item.details) {\n\t\t\t\titem.details.forEach(transit => {\n\t\t\t\t\tlet transitDriversFullNames = []\n\n\t\t\t\t\tset(transit, 'startLocation', transit.startLocation || '')\n\t\t\t\t\tset(transit, 'endLocation', transit.endLocation || '')\n\t\t\t\t\tset(transit, 'startTimeFormatted', this.formatDateToCompanyTZ(transit.startTime, 'DD/MM/YYYY HH:mm:ss'))\n\t\t\t\t\tset(transit, 'endTimeFormatted', this.formatDateToCompanyTZ(transit.endTime, 'DD/MM/YYYY HH:mm:ss'))\n\t\t\t\t\tlet fuelConsumptionTransit = transit.fuelConsumption || 0\n\t\t\t\t\tset(transit, 'fuelComposed', this.fuelValuePopup(false, transit.sensorFuelConsumption, transit.canFuelConsumption, fuelConsumptionTransit, vehicle))\n\t\t\t\t\tset(transit, 'distanceComposed', this.distanceValuePopupWithoutVehicle(transit.distanceCAN, transit.distanceGPS))\n\t\t\t\t\tset(transit, 'fuelConsumptionDistanceComposed', this.fuelValuePopupPerDistance(false, transit.distanceComposed.value, transit.sensorFuelConsumption, transit.canFuelConsumption, transit.fuelConsumption, vehicle))\n\t\t\t\t\tset(transit, 'cost', transit.cost ? Number(transit.cost).toFixed(2) : 0)\n\t\t\t\t\ttransit.drivers.forEach(driver => {\n\t\t\t\t\t\tset(driver, 'distanceComposed', this.distanceValuePopupWithoutVehicle(driver.distanceCAN, driver.distanceGPS))\n\t\t\t\t\t\tif (driver.driverFullName === '') {\n\t\t\t\t\t\t\tset(driver, 'driverFullName', this.get('i18n').t('noDriver').string)\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttransitDriversFullNames.push(driver.driverFullName)\n\t\t\t\t\t\tif (driverFullNames.indexOf(driver.driverFullName) === -1) {\n\t\t\t\t\t\t\tdriverFullNames.push(driver.driverFullName)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tset(transit, 'driverFullNames', transitDriversFullNames)\n\n\t\t\t\t\tif ((startTime && transit.startTime < startTime) || !startTime) {\n\t\t\t\t\t\tstartTime = transit.startTime\n\t\t\t\t\t}\n\t\t\t\t\tif ((endTime && transit.endTime > endTime) || !endTime) {\n\t\t\t\t\t\tendTime = transit.endTime\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tprocessed.details = item.details\n\t\t\tprocessed.driverFullNames = {\n\t\t\t\tvalue: item.driverFullNames,\n\t\t\t\tdisplay: item.driverFullNames\n\t\t\t}\n\t\t\tprocessed.mapLink = `/map/routes/${vehicle.get('id')}?end=${moment(this.convertDateToBrowserTZ(endTime)).valueOf()}&start=${moment(this.convertDateToBrowserTZ(startTime)).valueOf()}`\n\n\t\t\tif (item.driverFullNames) {\n\t\t\t\titem.driverFullNames.forEach(driverName => {\n\t\t\t\t\tif (totals.driverFullNames.indexOf(driverName) === -1) {\n\t\t\t\t\t\tif (driverName === '') {\n\t\t\t\t\t\t\tdriverName = i18n.t('noDriver').string\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttotals.driverFullNames.push(driverName)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// totals\n\t\t\ttotals.transitCount += processed.transitCount.value\n\t\t\ttotals.distanceCAN += (item.distanceCAN ? Number(item.distanceCAN) : 0)\n\t\t\ttotals.distanceGPS += (item.distanceGPS ? Number(item.distanceGPS) : 0)\n\t\t\ttotals.durationMoving += processed.durationMoving.value\n\t\t\ttotals.durationStationary += processed.durationStationary.value\n\t\t\ttotals.fuelConsumptionSensor += (item.sensorFuelConsumption ? Number(item.sensorFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumptionCAN += (item.canFuelConsumption ? Number(item.canFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumption += (item.fuelConsumption ? Number(item.fuelConsumption) : 0)\n\t\t\ttotals.cost += processed.cost.value\n\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\tif (rows.length > 1) {\n\t\t\tres.totals = {}\n\t\t\tres.totals.transitCount = {\n\t\t\t\tvalue: totals.transitCount,\n\t\t\t\tdisplay: totals.transitCount\n\t\t\t}\n\t\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.distanceCAN, totals.distanceGPS, true)\n\t\t\tres.totals.durationMoving = {\n\t\t\t\tvalue: (totals.durationMoving ? Number(totals.durationMoving) : 0),\n\t\t\t\tdisplay: moment.duration(totals.durationMoving, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tres.totals.durationStationary = {\n\t\t\t\tvalue: (totals.durationStationary ? Number(totals.durationStationary) : 0),\n\t\t\t\tdisplay: moment.duration(totals.durationStationary, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tres.totals.fuelComposed = this.fuelValuePopup(false, totals.fuelConsumptionSensor, totals.fuelConsumptionCAN, totals.fuelConsumption, vehicle)\n\t\t\tres.totals.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, res.totals.distanceComposed.value, totals.fuelConsumptionSensor, totals.fuelConsumptionCAN, totals.fuelConsumption, vehicle, true, true)\n\t\t\tres.totals.cost = {\n\t\t\t\tvalue: (totals.cost ? Number(totals.cost) : 0),\n\t\t\t\tdisplay: Number(totals.cost).toFixed(2),\n\t\t\t}\n\t\t}\n\t\tres.drivers = totals.driverFullNames\n\n\t\treturn res\n\t},\n\n\tbuildDetails (details, drivers, tableBody) {\n\t\tlet i18n = this.get('i18n')\n\t\tvar detailsTable = $('<table class=\"detailsTable\"></table>')\n\t\tvar detailsHeader = $('<thead></thead>')\n\t\tvar detailsSubHeader = $('<tr></tr>')\n\t\tvar detailsHeaderRow = $('<tr></tr>')\n\t\tvar detailsBody = $('<tbody></tbody>')\n\n\t\tvar detailsRow = $('<tr></tr>')\n\t\tvar detailsCell = $('<td class=\"detailsRow\" colspan=\"9\"></td>')\n\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"2\">' + i18n.t('entry') + '</th>'))\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"2\">' + i18n.t('exit') + '</th>'))\n\t\tdetailsHeaderRow.append($('<th class=\"hasRightBorder\" colspan=\"6\">' + i18n.t('totals') + '</th>'))\n\t\tdetailsHeader.append(detailsHeaderRow)\n\t\tdetailsTable.append(detailsHeader)\n\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.entryLocation') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.entryTime') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.exitLocation') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.exitTime') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.distance') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.durationMoving') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.durationStationary') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.consume') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.fuelConsumptionDistance') + '</th>'))\n\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + i18n.t('reports.headerFields.cost') + '</th>'))\n\t\tif (drivers.value.length > 0) { // show when there is more than one driver to prevent data duplication\n\t\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + this.get('i18n').t('reports.headerFields.driver') + '</th>'))\n\t\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + this.get('i18n').t('reports.headerFields.distance') + '</th>'))\n\t\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + this.get('i18n').t('reports.headerFields.durationMoving') + '</th>'))\n\t\t\tdetailsSubHeader.append($('<th class=\"hasRightBorder\">' + this.get('i18n').t('reports.headerFields.durationStationary') + '</th>'))\n\t\t}\n\t\tdetailsHeader.append(detailsSubHeader)\n\t\tdetailsTable.append(detailsHeader)\n\n\t\tdetails.forEach(transit => {\n\t\t\tvar row = $('<tr></tr>')\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.startLocation + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.startTimeFormatted + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.endLocation + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.endTimeFormatted + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.distanceComposed.display + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + moment.duration(transit.durationMoving, 's').format(i18n.t('durationFormat').string) + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + moment.duration(transit.durationStationary, 's').format(i18n.t('durationFormat').string) + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.fuelComposed.display + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.fuelConsumptionDistanceComposed.display + '</td>'))\n\t\t\trow.append($('<td class=\"noBorder\">' + transit.cost + '</td>'))\n\t\t\tif (drivers.value.length > 0) { // show when there is more than one driver to prevent data duplication\n\t\t\t\tdrivers.value.forEach((item, i) => {\n\t\t\t\t\tlet driverRow = i > 0 ? $('<tr></tr>') : row\n\t\t\t\t\tif (transit.driverFullNames && transit.driverFullNames.includes(item)) {\n\t\t\t\t\t\tlet driver = transit.drivers.findBy('driverFullName', item)\n\t\t\t\t\t\tif (drivers.value.length > 0) {\n\t\t\t\t\t\t\tdriverRow.append($('<td class=\"noBorder\">' + driver.driverFullName + '</td>'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdriverRow.append($('<td class=\"noBorder\">' + Number(driver.distanceComposed.value).toFixed(2) + '</td>'))\n\t\t\t\t\t\tdriverRow.append($('<td class=\"noBorder\">' + moment.duration(driver.durationMoving, 's').format(this.get('i18n').t('durationFormat').string) + '</td>'))\n\t\t\t\t\t\tdriverRow.append($('<td class=\"noBorder\">' + moment.duration(driver.durationStationary, 's').format(this.get('i18n').t('durationFormat').string) + '</td>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (drivers.value.length > 0) {\n\t\t\t\t\t\t\tdriverRow.append($('<td class=\"noBorder\"></td>'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdriverRow.append($('<td class=\"noBorder\"></td>'))\n\t\t\t\t\t\tdriverRow.append($('<td class=\"noBorder\"></td>'))\n\t\t\t\t\t\tdriverRow.append($('<td class=\"noBorder\"></td>'))\n\t\t\t\t\t}\n\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\trow.append(driverRow)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tdetailsBody.append(row)\n\t\t})\n\t\tdetailsTable.append(detailsBody)\n\n\t\tdetailsCell.append(detailsTable)\n\t\tdetailsRow.append(detailsCell)\n\t\ttableBody.append(detailsRow)\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\t\t\tlet mapCol = this.get('tHeaders').findBy('key', 'map')\n\t\t\tlet mapColIndex = this.get('tHeaders').indexOf(mapCol)\n\t\t\tlet columns = mapColIndex > 0 ? this.get('tHeaders').removeAt(mapColIndex) : this.get('tHeaders')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $(`<caption class='leftSide'></caption>`)\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate'))\n\t\t\t\t\tif (tableData.drivers) {\n\t\t\t\t\t\tlet label = tableData.drivers.length > 1 ? i18n.t('drivers') : i18n.t('driver') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.drivers + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tcolumns.forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($(`<th class='tableHeader'>${i18n.t(col.translationKey)}</th>`))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tcolumns.forEach((col) => {\n\t\t\t\t\t\t\tif (col.key === 'country') {\n\t\t\t\t\t\t\t\trow.append($('<td class=\"noBorder\">' + (dataRow[col.key] !== null ? dataRow[col.key] : '') + '</td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td class=\"noBorder\">' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\n\t\t\t\t\t\t// build details table\n\t\t\t\t\t\tif (dataRow.details) {\n\t\t\t\t\t\t\tthis.buildDetails(dataRow.details, dataRow.driverFullNames, tableBody)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tcolumns.forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\trowClicked (row) {\n\t\t\tset(row, 'isExpanded', row.isExpanded ? false : true)\n\t\t},\n\t}\n})","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport _ from 'lodash'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nconst twoMinutesMS = 120000\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\tmodal: service(),\n\n\tloading: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report33',\n\tsortBy: 'startTime',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report33'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tgroupByDriverID (data) {\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet drivers = []\n\t\tdata.forEach(row => {\n\t\t\tif (!row.driverID) { return }\n\n\t\t\tconst usedIDs = []\n\t\t\tif (row.driverID) {\n\t\t\t\tusedIDs.push(row.driverID)\n\t\t\t\tconst driver = drivers.findBy('driverID', row.driverID)\n\t\t\t\tif (driver && driver.content) {\n\t\t\t\t\tif (!~driver.content.indexOf(row)) {\n\t\t\t\t\t\tdriver.content.push(row)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdrivers.push({\n\t\t\t\t\t\tdriverID: row.driverID,\n\t\t\t\t\t\tcontent: [row]\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (row.coDriverID) {\n\t\t\t\treturn\n\t\t\t\tusedIDs.push(row.coDriverID)\n\t\t\t\tconst codriver = drivers.findBy('driverID', row.coDriverID)\n\t\t\t\tif (codriver && codriver.content) {\n\t\t\t\t\tif (!~codriver.content.indexOf(row)) {\n\t\t\t\t\t\tcodriver.content.push(row)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdrivers.push({\n\t\t\t\t\t\tdriverID: row.coDriverID,\n\t\t\t\t\t\tcontent: [row]\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (row.routeType === 'stationary') { // if user is in tachoSlot but is !driver || !codriver\n\t\t\t\tif (row.tachoSlot1?.length) {\n\t\t\t\t\tconst tachoSlotUsersIDs = row.tachoSlot1.map(s => s.userID)\n\t\t\t\t\tconst unusedUsers = tachoSlotUsersIDs.filter(s => !usedIDs.includes(s))\n\t\t\t\t\tif (unusedUsers.length){\n\t\t\t\t\t\tunusedUsers.forEach(id =>{\n\t\t\t\t\t\t\tconst driver = drivers.findBy('driverID', id)\n\t\t\t\t\t\t\tif (driver && driver.content) {\n\t\t\t\t\t\t\t\tif (!~driver.content.indexOf(row)) {\n\t\t\t\t\t\t\t\t\tdriver.content.push(row)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdrivers.push({\n\t\t\t\t\t\t\t\t\tdriverID: id,\n\t\t\t\t\t\t\t\t\tcontent: [row]\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (row.tachoSlot2?.length) {\n\t\t\t\t\tconst tachoSlotUsersIDs = row.tachoSlot2.map(s => s.userID)\n\t\t\t\t\tconst unusedUsers = tachoSlotUsersIDs.filter(s => !usedIDs.includes(s))\n\t\t\t\t\tif (unusedUsers.length){\n\t\t\t\t\t\tunusedUsers.forEach(id =>{\n\t\t\t\t\t\t\tconst driver = drivers.findBy('driverID', id)\n\t\t\t\t\t\t\tif (driver && driver.content) {\n\t\t\t\t\t\t\t\tif (!~driver.content.indexOf(row)) {\n\t\t\t\t\t\t\t\t\tdriver.content.push(row)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdrivers.push({\n\t\t\t\t\t\t\t\t\tdriverID: id,\n\t\t\t\t\t\t\t\t\tcontent: [row]\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\treturn drivers\n\t},\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tconst data = this.get('data')\n\t\tconst filters = this.get('reportsFilters')\n\t\tconst users = filters.users\n\t\tif (!users?.length || !data?.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByDriverID(sortedData)\n\t\tconst filteredData = groupedData.filter(grouped=> ~users.indexOf(grouped.driverID))\n\t\tlet processedData = this.processData(filteredData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet timetable = this.get('currentUser.reportsTimetable')\n\t\tconsole.log('filters', filters)\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tdrivers: filters.users,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t\ttimetable: timetable,\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/33', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t})\n\t}).restartable(),\n\n\tprocessData (tables) {\n\t\tlet reportData = tables.map(table => {\n\t\t\tlet driver = this.get('users').findBy('id', table.driverID)\n\n\t\t\tlet processed = this.formatData(table.content, driver)\n\n\t\t\treturn {\n\t\t\t\tdriver,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} driver\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, driver) {\n\t\tconst driverID = driver && driver.get('id')\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tdriver,\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tfuelConsumptionSensor: 0,\n\t\t\tfuelConsumptionCAN: 0,\n\t\t\tfuelConsumption: 0,\n\t\t\tconsumptionComposedValue: 0,\n\t\t\tdistanceCAN: 0,\n\t\t\tdistanceGPS: 0,\n\t\t\tdistanceComposed: 0,\n\t\t\tduration: 0,\n\t\t\tmaxSpeed: 0,\n\t\t\tvehicles: [],\n\t\t\tfuelTypes: [],\n\t\t\tallFuelUnit: '',\n\t\t}\n\n\t\tlet unmerged = rows.map(item => {\n\t\t\tconst vehicle = this.get('vehicles').findBy('id', item.vehicleID)\n\n\t\t\tif (item.routeType === 'stationary' ) {\n\t\t\t\tconst processed = {}\n\t\t\t\tprocessed.isStationary = true\n\t\t\t\tprocessed.licensePlate = { display: vehicle.get('licensePlate') }\n\t\t\t\tconst strings = []\n\t\t\t\tconst actions = []\n\t\t\t\tif (item.tachoSlot1?.length){\n\t\t\t\t\tconst filteredTachoSlot = item.tachoSlot1.filter(slot => slot.userID === driverID)\n\t\t\t\t\tif (filteredTachoSlot.length) {\n\t\t\t\t\t\tconst slot = filteredTachoSlot[0]\n\t\t\t\t\t\tconst action = slot?.action\n\t\t\t\t\t\tconst formattedTime = this.formatDateToCompanyTZ(slot.timestamp, 'DD/MM/YYYY HH:mm')\n\t\t\t\t\t\tconst insertedTranslation = i18n.t('reports.headerFields.specific.driver-routes.cardInserted', {number: 1}).string\n\t\t\t\t\t\tconst removedTranslation = i18n.t('reports.headerFields.specific.driver-routes.cardRemoved', {number: 1}).string\n\t\t\t\t\t\tconst string = `${formattedTime} ${action === 'inserted' ? insertedTranslation : removedTranslation}`\n\t\t\t\t\t\tactions.push({timestamp: slot.timestamp, action, string})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (item.tachoSlot2?.length){\n\t\t\t\t\tconst filteredTachoSlot = item.tachoSlot2.filter(slot => slot.userID === driverID)\n\t\t\t\t\tif (filteredTachoSlot.length) {\n\t\t\t\t\t\tconst slot = filteredTachoSlot[0]\n\t\t\t\t\t\tconst action = slot?.action\n\t\t\t\t\t\tconst formattedTime = this.formatDateToCompanyTZ(slot.timestamp, 'DD/MM/YYYY HH:mm')\n\t\t\t\t\t\tconst insertedTranslation = i18n.t('reports.headerFields.specific.driver-routes.cardInserted', {number: 2}).string\n\t\t\t\t\t\tconst removedTranslation = i18n.t('reports.headerFields.specific.driver-routes.cardRemoved', {number: 2}).string\n\t\t\t\t\t\tconst string = `${formattedTime} ${action === 'inserted' ? insertedTranslation : removedTranslation}`\n\t\t\t\t\t\tactions.push({timestamp: slot.timestamp, action, string})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tactions.sort((el1, el2) => el1.timestamp - el2.timestamp)\n\t\t\t\tactions.forEach(action => {\n\t\t\t\t\tstrings.push(action.string)\n\t\t\t\t})\n\t\t\t\tprocessed.string = strings.join('. ')\n\n\t\t\t\treturn processed\n\t\t\t}\n\n\t\t\tconst hasCan = vehicle ? vehicle.get('hasValidCan') : false\n\n\t\t\t// rowState\n\t\t\tconst min = vehicle.get('speedLimit.min') || 0\n\t\t\tconst offset = vehicle.get('speedLimit.offset') || 0\n\t\t\tconst max = vehicle.get('speedLimit.max') || 0\n\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.vehicleID = item.vehicleID\n\t\t\tprocessed.vehicle = vehicle\n\t\t\tprocessed.licensePlate = { display: vehicle.get('licensePlate') }\n\t\t\tprocessed.default = item\n\t\t\tconst slot = driverID === item.driverID ? 1 : 2\n\t\t\tprocessed.slot = { value: slot, display: slot }\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.canDistance, item.distance)\n\t\t\tprocessed.consumptionComposed = this.fuelValuePopup(false, item.sensorFuelConsumption, item.canFuelConsumption, item.fuelConsumption, vehicle)\n\t\t\tprocessed.odometerComposed = this.odometerCompose(item.canOdometer, item.virtualOdometer, hasCan)\n\t\t\tprocessed.odometerStartComposed = this.odometerCompose(item.canOdometerStart, item.virtualOdometerStart, hasCan)\n\t\t\tprocessed.mapLink = `/map/routes/${vehicle.get('id')}?end=${this.convertDateToBrowserTZ(item.endTime)}&start=${this.convertDateToBrowserTZ(item.startTime)}`\n\t\t\tprocessed.startTime = {\n\t\t\t\tvalue: item.startTime,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.startTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t}\n\t\t\tprocessed.endTime = {\n\t\t\t\tvalue: item.endTime,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.endTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t}\n\t\t\t// todo map link\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: moment.duration(item.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.maxSpeed = {\n\t\t\t\tvalue: (item.maxSpeed ? Number(item.maxSpeed) : 0),\n\t\t\t\tdisplay: Number(item.maxSpeed).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.startLocation = this.getLocation(item.startLocation, item.startGeofenceNames)\n\t\t\tprocessed.endLocation = this.getLocation(item.endLocation, item.endGeofenceNames)\n\n\t\t\t// rowState\n\t\t\tlet rowMaxSpeed = processed.maxSpeed.value\n\t\t\tlet rowColor = 'green'\n\t\t\tlet rowPopup = i18n.t('reports.alerts.validValues')\n\t\t\tif (vehicle) {\n\t\t\t\tif (rowMaxSpeed > min) {\n\t\t\t\t\tif (max && rowMaxSpeed > max) {\n\t\t\t\t\t\tif (!offset || (rowMaxSpeed > max + offset)) {\n\t\t\t\t\t\t\trowColor = 'red'\n\t\t\t\t\t\t\trowPopup = i18n.t('reports.alerts.maxSpeed.red', { dif: rowMaxSpeed - max, maxSpeed: max })\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tprocessed.rowState = {\n\t\t\t\tcolor: rowColor,\n\t\t\t\tpopup: rowPopup,\n\t\t\t\trouteID: item.routeID,\n\t\t\t}\n\t\t\tprocessed.isExpanded = false\n\n\t\t\tconst totalsVehicle = totals.vehicles.findBy('vehicleID', item.vehicleID)\n\t\t\tif (totalsVehicle) {\n\t\t\t\tif (processed.slot.value === 1) {\n\t\t\t\t\ttotalsVehicle.slot1.distanceCAN += item.canDistance\n\t\t\t\t\ttotalsVehicle.slot1.distanceGPS += item.distance\n\t\t\t\t} else {\n\t\t\t\t\ttotalsVehicle.slot2.distanceCAN += item.canDistance\n\t\t\t\t\ttotalsVehicle.slot2.distanceGPS += item.distance\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst totalVehicleSlot = {\n\t\t\t\t\tvehicleID: item.vehicleID,\n\t\t\t\t\tvehicle,\n\t\t\t\t\tlicensePlate: vehicle.get('licensePlate'),\n\t\t\t\t\tslot1: {\n\t\t\t\t\t\tdistanceCAN: 0,\n\t\t\t\t\t\tdistanceGPS: 0,\n\t\t\t\t\t},\n\t\t\t\t\tslot2: {\n\t\t\t\t\t\tdistanceCAN: 0,\n\t\t\t\t\t\tdistanceGPS: 0,\n\t\t\t\t\t},\n\t\t\t\t}\n\n\t\t\t\tif (processed.slot.value === 1) {\n\t\t\t\t\ttotalVehicleSlot.slot1.distanceCAN += item.canDistance\n\t\t\t\t\ttotalVehicleSlot.slot1.distanceGPS += item.distance\n\t\t\t\t} else {\n\t\t\t\t\ttotalVehicleSlot.slot2.distanceCAN += item.canDistance\n\t\t\t\t\ttotalVehicleSlot.slot2.distanceGPS += item.distance\n\t\t\t\t}\n\t\t\t\ttotals.vehicles.push(totalVehicleSlot)\n\t\t\t}\n\n\t\t\t// totals\n\t\t\ttotals.fuelConsumptionSensor += (item.sensorFuelConsumption ? Number(item.sensorFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumptionCAN += (item.canFuelConsumption ? Number(item.canFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumption += (item.fuelConsumption ? Number(item.fuelConsumption) : 0)\n\t\t\ttotals.consumptionComposedValue += processed.consumptionComposed.value\n\t\t\ttotals.distanceCAN += (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\ttotals.distanceGPS += (item.distance ? Number(item.distance) : 0)\n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.maxSpeed = Math.max(item.maxSpeed, totals.maxSpeed)\n\t\t\tif (!totals.fuelTypes.contains(vehicle.get('fuel.type'))){\n\t\t\t\ttotals.fuelTypes.push(vehicle.get('fuel.type'))\n\t\t\t\ttotals.allFuelUnit = vehicle.get('fuel.unit')\n\t\t\t}\n\n\t\t\treturn processed\n\t\t})\n\n\t\tres.content = this.mergeRoutes(unmerged, driver)\n\n\t\t// totals with tooltips\n\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.distanceCAN, totals.distanceGPS, true)\n\t\tif (totals.fuelTypes.length > 1){\n\t\t\tres.totals.consumptionComposed = {\n\t\t\t\tdisplay: '-',\n\t\t\t\tpopup: i18n.t('reports.headerFields.specific.driver-routes.totalConsumptionNotCalculatedBecauseDiffFuelsType'),\n\t\t\t}\n\t\t} else {\n\t\t\tconst canString = i18n.t('reports.headerFields.totals.can')\n\t\t\tconst sensorString = i18n.t('reports.headerFields.totals.sensor')\n\t\t\tconst calculatedString = i18n.t('reports.headerFields.totals.computed')\n\t\t\tconst fuelUnit = totals.allFuelUnit\n\t\t\tlet popup = ''\n\t\t\tif (totals.fuelConsumptionCAN) popup += `\\n${canString} ${totals.fuelConsumptionCAN.toFixed(2)} ${fuelUnit}`\n\t\t\tif (totals.fuelConsumptionSensor) popup += `\\n${sensorString} ${totals.fuelConsumptionSensor.toFixed(2)} ${fuelUnit}`\n\t\t\tif (totals.fuelConsumption) popup += `\\n${calculatedString} ${totals.fuelConsumption.toFixed(2)} ${fuelUnit}`\n\t\t\tres.totals.consumptionComposed = {\n\t\t\t\tdisplay: `${totals.consumptionComposedValue.toFixed(2)} ${fuelUnit}`,\n\t\t\t\tpopup,\n\t\t\t}\n\t\t}\n\t\tres.totals.duration = {\n\t\t\tvehicles:[],\n\t\t\tvalue: totals.duration,\n\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tres.totals.maxSpeed = {\n\t\t\tvalue: totals.maxSpeed,\n\t\t\tdisplay: Number(totals.maxSpeed).toFixed(2),\n\t\t}\n\t\tif (totals.vehicles.length) {\n\t\t\tlet totalsPerVehicle = totals.vehicles.map(veh => {\n\t\t\t\treturn {\n\t\t\t\t\tlicensePlate: veh.licensePlate,\n\t\t\t\t\tslot1: this.distanceValuePopupWithoutVehicle(veh.slot1.distanceCAN, veh.slot1.distanceGPS),\n\t\t\t\t\tslot2: this.distanceValuePopupWithoutVehicle(veh.slot2.distanceCAN, veh.slot2.distanceGPS),\n\t\t\t\t}\n\t\t\t})\n\t\t\tres.totals.totalVehicles = totalsPerVehicle\n\t\t}\n\n\t\treturn res\n\t},\n\n\tmergeRoutes (routes) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet mergedRoutes = []\n\t\tlet length = routes.length\n\t\tif (!length) { return mergedRoutes }\n\n\t\troutes.forEach((route, idx) => {\n\t\t\tconst vehicle = route.vehicle\n\t\t\t// rowState\n\t\t\tlet min = vehicle ? vehicle.get('speedLimit.min') : 0\n\t\t\tlet offset = vehicle ? vehicle.get('speedLimit.offset') : 0\n\t\t\tlet max = vehicle ? vehicle.get('speedLimit.max') : 0\n\n\t\t\tlet prevRoute = (idx > 0) ? mergedRoutes[mergedRoutes.length - 1] : null\n\t\t\tconst routesAreDifferent = route?.slot?.value !== prevRoute?.slot?.value || route.vehicleID !== prevRoute?.vehicleID\n\t\t\tif (!prevRoute || route.isStationary || prevRoute.isStationary || routesAreDifferent) { // firstRoute\n\t\t\t\t// no need to merge. ADD\n\t\t\t\tmergedRoutes.push(route)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst dif = route.startTime.value - prevRoute.endTime.value\n\t\t\tif (dif < twoMinutesMS) { // merge\n\t\t\t\tlet parent = JSON.parse(JSON.stringify(prevRoute))\n\t\t\t\tif (parent.childs) { // update the prev route, and add the child\n\t\t\t\t\tparent.childs.push(route)\n\t\t\t\t}\n\t\t\t\telse { // make the prev route with this two childs\n\t\t\t\t\tparent.childs = [prevRoute, route]\n\t\t\t\t}\n\n\t\t\t\tparent.default.canDistance = prevRoute.default.canDistance + route.default.canDistance\n\t\t\t\tparent.default.distance = prevRoute.default.distance + route.default.distance\n\n\t\t\t\tparent.default.sensorFuelConsumption = prevRoute.default.sensorFuelConsumption + route.default.sensorFuelConsumption\n\t\t\t\tparent.default.canFuelConsumption = prevRoute.default.canFuelConsumption + route.default.canFuelConsumption\n\t\t\t\tparent.default.fuelConsumption = prevRoute.default.fuelConsumption + route.default.fuelConsumption\n\n\t\t\t\tparent.default.duration = prevRoute.default.duration + route.default.duration\n\n\t\t\t\tparent.maxSpeed = prevRoute.maxSpeed.value > route.maxSpeed.value ? prevRoute.maxSpeed : route.maxSpeed\n\t\t\t\tparent.distanceComposed = this.distanceValuePopupWithoutVehicle(parent.default.canDistance, parent.default.distance)\n\t\t\t\tparent.consumptionComposed = this.fuelValuePopup(false, parent.default.sensorFuelConsumption, parent.default.canFuelConsumption, parent.default.fuelConsumption, vehicle)\n\t\t\t\tparent.odometerComposed = route.odometerComposed\n\t\t\t\tparent.startTime = prevRoute.startTime\n\t\t\t\tparent.endTime = route.endTime\n\t\t\t\tparent.mapLink = `/map/routes/${vehicle.get('id')}?end=${this.convertDateToBrowserTZ(parent.endTime.value)}&start=${this.convertDateToBrowserTZ(parent.startTime.value)}`\n\t\t\t\tparent.duration = {\n\t\t\t\t\tvalue: (parent.default.duration ? Number(parent.default.duration) : 0),\n\t\t\t\t\tdisplay: moment.duration(parent.default.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t}\n\n\t\t\t\tparent.startLocation = prevRoute.startLocation\n\t\t\t\tparent.endLocation = route.endLocation\n\n\t\t\t\t// rowState\n\t\t\t\tlet rowMaxSpeed = parent.maxSpeed.value\n\t\t\t\tlet rowColor = 'green'\n\t\t\t\tlet rowPopup = i18n.t('reports.alerts.validValues')\n\t\t\t\tif (vehicle) {\n\t\t\t\t\tif (rowMaxSpeed > min) {\n\t\t\t\t\t\tif (max && rowMaxSpeed > max) {\n\t\t\t\t\t\t\tif (!offset || (rowMaxSpeed > max + offset)) {\n\t\t\t\t\t\t\t\trowColor = 'red'\n\t\t\t\t\t\t\t\trowPopup = i18n.t('reports.alerts.maxSpeed.red', { dif: rowMaxSpeed - max, maxSpeed: max })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tparent.rowState = {\n\t\t\t\t\tcolor: rowColor,\n\t\t\t\t\tpopup: rowPopup,\n\t\t\t\t\trouteID: parent.routeID, // maybe should update all subroutes\n\t\t\t\t}\n\t\t\t\tmergedRoutes.pop()\n\t\t\t\tmergedRoutes.push(parent)\n\t\t\t} else {\n\t\t\t\tmergedRoutes.push(route)\n\t\t\t}\n\t\t})\n\n\t\treturn mergedRoutes\n\t},\n\n\tactions: {\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate') + ' - ' + tableData.vehicle.get('group.name'))\n\t\t\t\t\tif (tableData.drivers) {\n\t\t\t\t\t\tlet label = tableData.drivers.length > 1 ? i18n.t('drivers') : i18n.t('driver') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.drivers.join(', ') + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\tif (col.key === 'map') {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\tlet colObj = dataRow[col.key]\n\t\t\t\t\t\t\tif (col.key === 'map') {\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (colObj) {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (colObj.display !== null ? colObj.display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\trow.append($('<td></td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\texpandRow (row) {\n\t\t\tif (!row.childs) { return }\n\t\t\tset(row, 'isExpanded', !row.isExpanded)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report12',\n\tsortBy: 'startTime',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report12'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tformattedData: computed('data', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/12', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\t\t\tlet drivers = processed.totals.driversIDs.map(userID => {\n\t\t\t\tlet user = this.get('users').findBy('id', userID)\n\t\t\t\tif (user && user.get('fullName')) {\n\t\t\t\t\treturn user.get('fullName')\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tcontent: processed.content,\n\t\t\t\tdrivers,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\ttotals: {\n\t\t\t\tdriversIDs: []\n\t\t\t},\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tif (item.startTime && item.endTime && item.routeType) {\n\t\t\t\tprocessed.startTime = { display: this.formatDateToCompanyTZ(item.startTime, 'DD/MM/YYYY HH:mm:ss') }\n\t\t\t\tprocessed.endTime = { display: this.formatDateToCompanyTZ(item.endTime, 'DD/MM/YYYY HH:mm:ss') }\n\t\t\t\tprocessed.routeType = { display: i18n.t(`routeType.${item.routeType}`).string }\n\t\t\t}\n\n\t\t\tprocessed.startLocation = { display: item.startLocation.length ? `${item.startLocation[1].toFixed(4)} N, ${item.startLocation[0].toFixed(4)} E` : '' }\n\t\t\tprocessed.endLocation = { display: item.startLocation ? `${item.endLocation[1].toFixed(4)} N, ${item.endLocation[0].toFixed(4)} E` : '' }\n\t\t\tprocessed.engineState = { display: item.engineState ? i18n.t('vehicle.engineOn').string : i18n.t('vehicle.engineOff').string }\n\n\t\t\t// totals\n\t\t\tif (item.driverID && res.totals.driversIDs.indexOf(item.driverID) === -1) {\n\t\t\t\tres.totals.driversIDs.push(item.driverID)\n\t\t\t}\n\t\t\treturn processed\n\t\t})\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach(tableData => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $(`<caption class='leftSide'></caption>`)\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate'))\n\t\t\t\t\tif (tableData.drivers) {\n\t\t\t\t\t\tlet label = tableData.drivers.length > 1 ? i18n.t('drivers') : i18n.t('driver') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.drivers + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($(`<th class='tableHeader'>${i18n.t(col.translationKey)}</th>`))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\n// todo: query params\n\nfunction capitalizeFirstLetter(string) {\n    return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report1',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report1'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startMonthDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(filters.endMonthDate),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/1', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tfuelConsumptionSensor: 0,\n\t\t\tfuelConsumptionSensorStationary: 0,\n\t\t\tfuelConsumptionSensorTotal: 0,\n\t\t\tfuelConsumptionCAN: 0,\n\t\t\tfuelConsumptionCANStationary: 0,\n\t\t\tfuelConsumptionCANTotal: 0,\n\t\t\tfuelConsumption: 0,\n\t\t\tfuelConsumptionStationary: 0,\n\t\t\tfuelConsumptionTotal: 0,\n\t\t\tfuelConsumptionDistanceComposed: 0,\n\t\t\tdistanceCAN: 0,\n\t\t\tdistanceGPS: 0,\n\t\t\tdistanceComposed: 0,\n\t\t\tduration: 0,\n\t\t\tdurationStationaryEngineOn: 0,\n\t\t\ttotalDuration: 0,\n\t\t\taverageSpeed: 0,\n\t\t\tdaysWithAverageSpeed: 0,\n\t\t\tmaxSpeed: 0,\n\t\t\trefuelValue: 0\n\t\t}\n\n\t\tlet hasCan = (vehicle ? vehicle.get('hasValidCan') : false)\n\n\t\t// rowState\n\t\tlet min = vehicle.get('speedLimit.min') || 0\n\t\tlet offset = vehicle.get('speedLimit.offset') || 0\n\t\tlet max = vehicle.get('speedLimit.max') || 0\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tconst fuelConsumption = item.fuelConsumption ? Number(item.fuelConsumption) : 0\n\t\t\tconst fuelConsumptionStationary = item.fuelConsumptionStationary ? Number(item.fuelConsumptionStationary) : 0\n\t\t\tconst fuelConsumptionTotal = fuelConsumption + fuelConsumptionStationary\n\n\t\t\tconst sensorFuelConsumption = item.sensorFuelConsumption ? Number(item.sensorFuelConsumption) : 0\n\t\t\tconst sensorFuelConsumptionStationary = item.sensorFuelConsumptionStationary ? Number(item.sensorFuelConsumptionStationary) : 0\n\t\t\tconst sensorFuelConsumptionTotal = sensorFuelConsumption + sensorFuelConsumptionStationary\n\n\t\t\tconst canFuelConsumption = item.canFuelConsumption ? Number(item.canFuelConsumption) : 0\n\t\t\tconst canFuelConsumptionStationary = item.canFuelConsumptionStationary ? Number(item.canFuelConsumptionStationary) : 0\n\t\t\tconst canFuelConsumptionTotal = canFuelConsumption + canFuelConsumptionStationary\n\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.canDistance, item.distance)\n\t\t\tprocessed.consumptionComposed = this.fuelValuePopupWithStationary(false, sensorFuelConsumption, canFuelConsumption, fuelConsumption, sensorFuelConsumptionStationary, canFuelConsumptionStationary, fuelConsumptionStationary, vehicle)\n\t\t\tprocessed.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, processed.distanceComposed.value, sensorFuelConsumption, canFuelConsumption, fuelConsumption, vehicle)\n\t\t\tprocessed.fuelLevelComposed = this.fuelLevelCompose(item.sensorFuelLevelEndOfDay, item.canFuelLevelEndOfDay, vehicle)\n\t\t\tprocessed.odometerComposed = this.odometerCompose(item.canOdometerEnd, item.virtualOdometerEnd, hasCan)\n\t\t\tprocessed.mapLink = `/map/routes/${vehicle.get('id')}?end=${moment(this.convertDateToBrowserTZ(item.date)).endOf('day').valueOf()}&start=${moment(this.convertDateToBrowserTZ(item.date)).startOf('day').valueOf()}`\n\t\t\tprocessed.day = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: capitalizeFirstLetter(moment(item.date).format('dddd'))\n\t\t\t}\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.date, 'DD/MM/YYYY'),\n\t\t\t}\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: moment.duration(item.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.durationStationaryEngineOn = {\n\t\t\t\tvalue: (item.durationStationaryEngineOn ? Number(item.durationStationaryEngineOn) : 0),\n\t\t\t\tdisplay: moment.duration(item.durationStationaryEngineOn, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.averageSpeed = {\n\t\t\t\tvalue: (item.averageSpeed ? Number(item.averageSpeed) : 0),\n\t\t\t\tdisplay: Number(item.averageSpeed).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.maxSpeed = {\n\t\t\t\tvalue: (item.maxSpeed ? Number(item.maxSpeed) : 0),\n\t\t\t\tdisplay: Number(item.maxSpeed).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.refuelValue = this.parseRefuelLevel(item.refuelValue, vehicle)\n\n\t\t\tconst totalDuration = processed.duration.value + processed.durationStationaryEngineOn.value\n\t\t\tprocessed.fuelConsumptionDurationComposed = this.fuelValuePopupPerDuration(false, processed.durationStationaryEngineOn.value, sensorFuelConsumptionTotal, canFuelConsumptionStationary, fuelConsumptionTotal, vehicle)\n\n\t\t\t// rowState\n\t\t\tlet rowMaxSpeed = processed.maxSpeed.value\n\t\t\tlet rowColor = 'green'\n\t\t\tlet rowPopup = i18n.t('reports.alerts.validValues')\n\t\t\tif (vehicle) {\n\t\t\t\tif (rowMaxSpeed > min) {\n\t\t\t\t\tif (max && rowMaxSpeed > max) {\n\t\t\t\t\t\tif (!offset || (rowMaxSpeed > max + offset)) {\n\t\t\t\t\t\t\trowColor = 'red'\n\t\t\t\t\t\t\trowPopup = i18n.t('reports.alerts.maxSpeed.red', { dif: rowMaxSpeed - max, maxSpeed: max })\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tprocessed.rowState = {\n\t\t\t\tcolor: rowColor,\n\t\t\t\tpopup: rowPopup,\n\t\t\t}\n\n\t\t\t// totals\n\t\t\ttotals.fuelConsumptionSensor += sensorFuelConsumption\n\t\t\ttotals.fuelConsumptionSensorStationary += sensorFuelConsumptionStationary\n\t\t\ttotals.fuelConsumptionSensorTotal += sensorFuelConsumptionTotal\n\t\t\ttotals.fuelConsumptionCAN += canFuelConsumption\n\t\t\ttotals.fuelConsumptionCANStationary += canFuelConsumptionStationary\n\t\t\ttotals.fuelConsumptionCANTotal += canFuelConsumptionTotal\n\t\t\ttotals.fuelConsumption += fuelConsumption\n\t\t\ttotals.fuelConsumptionStationary += fuelConsumptionStationary\n\t\t\ttotals.fuelConsumptionTotal += fuelConsumptionTotal\n\t\t\ttotals.distanceCAN += (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\ttotals.distanceGPS += (item.distance ? Number(item.distance) : 0)\n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.durationStationaryEngineOn += processed.durationStationaryEngineOn.value\n\t\t\ttotals.totalDuration += totalDuration\n\t\t\ttotals.averageSpeed += processed.averageSpeed.value\n\t\t\tif (processed.averageSpeed.value) totals.daysWithAverageSpeed += 1\n\t\t\ttotals.maxSpeed = Math.max(item.maxSpeed, totals.maxSpeed)\n\t\t\ttotals.refuelValue += processed.refuelValue.value\n\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.distanceCAN, totals.distanceGPS, true)\n\t\tres.totals.consumptionComposed = this.fuelValuePopupWithStationary(false, totals.fuelConsumptionSensor, totals.fuelConsumptionCAN, totals.fuelConsumption, totals.fuelConsumptionSensorStationary, totals.fuelConsumptionCANStationary, totals.fuelConsumptionStationary, vehicle, true, true)\n\t\tres.totals.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, res.totals.distanceComposed.value, totals.fuelConsumptionSensor, totals.fuelConsumptionCAN, totals.fuelConsumption, vehicle, true, true)\n\t\tres.totals.fuelConsumptionDurationComposed = this.fuelValuePopupPerDuration(false, totals.totalDuration, totals.fuelConsumptionSensorTotal, totals.fuelConsumptionCANTotal, totals.fuelConsumptionTotal, vehicle, true, true)\n\t\tres.totals.duration = {\n\t\t\tvalue: totals.duration,\n\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tres.totals.durationStationaryEngineOn = {\n\t\t\tvalue: totals.durationStationaryEngineOn,\n\t\t\tdisplay: moment.duration(totals.durationStationaryEngineOn, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tlet averageSpeed = totals.averageSpeed ? totals.averageSpeed / totals.daysWithAverageSpeed : 0\n\t\tres.totals.averageSpeed = {\n\t\t\tvalue: averageSpeed,\n\t\t\tdisplay: Number(averageSpeed).toFixed(2),\n\t\t}\n\t\tres.totals.maxSpeed = {\n\t\t\tvalue: totals.maxSpeed,\n\t\t\tdisplay: Number(totals.maxSpeed).toFixed(2),\n\t\t}\n\t\tres.totals.refuelValue = this.parseRefuelLevel(totals.refuelValue, vehicle)\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tsetStartDate () {\n\t\t\tlet sd = this.get('reportsFilters.startMonthDate')\n\t\t\tthis.set('reportsFilters.endMonthDate', moment(sd).endOf('month').valueOf())\n\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\t\t\tlet mapCol = this.get('tHeaders').findBy('key', 'map')\n\t\t\tlet mapColIndex = this.get('tHeaders').indexOf(mapCol)\n\t\t\tlet columns = mapColIndex > 0 ? this.get('tHeaders').removeAt(mapColIndex) : this.get('tHeaders')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate') + ' - ' + tableData.vehicle.get('group.name'))\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tcolumns.forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tcolumns.forEach((col) => {\n\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\n\t\t\t\t\t\t// build details table\n\t\t\t\t\t\tif (dataRow.transits) {\n\t\t\t\t\t\t\tthis.buildDetails(dataRow.transits, tableBody)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tcolumns.forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nconst pathDriverDailyTarget = 'settings.driver.target.dailyDistance'\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report34',\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report34'),\n\tgrouping: computed.alias('currentUser.grouping'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet grouping = this.get('grouping')\n\t\tlet groupedData\n\t\tif (grouping === 'driver') {\n\t\t\tgroupedData = this.groupBy('driver', data)\n\t\t} else {\n\t\t\tgroupedData = this.groupByVehicle(data)\n\t\t}\n\t\tlet processedData = this.formatData(groupedData)\n\n\t\treturn processedData//.sortBy(this.get('sortBy'))\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tselectedDays: computed('reportsFilters.startDate', 'reportsFilters.endDate', function () {\n\t\tlet filters = this.get('reportsFilters')\n\t\tconst sd = moment(filters.startDate).startOf('d')\n\t\tconst ed = moment(filters.endDate).startOf('d')\n\t\treturn Math.trunc(moment.duration(ed.diff(sd)).asDays() || 0) + 1\n\t}),\n\n\tdailyTarget: computed('groups', 'currentUser.companyID', function () {\n\t\tif (!this.get('groups')|| !this.get('currentUser.companyID')) return null\n\t\tconst company = this.get('groups')?.findBy('id', this.get('currentUser.companyID'))\n\t\treturn company?.get(pathDriverDailyTarget)\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet grouping = this.get('grouping')\n\t\tlet params = {\n\t\t\tentities: grouping === 'driver' ? filters.users : filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(filters.endDate),\n\t\t}\n\n\t\tif (!params.entities.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/34', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet grouping = this.get('grouping')\n\t\tlet selectedDays = this.get('selectedDays')\n\t\tlet dailyTarget = this.get('dailyTarget')\n\n\t\treturn rows.map(row => {\n\t\t\t// row = main row\n\t\t\t// row.content = expanded table rows\n\t\t\tlet processed = {\n\t\t\t\tentities: [],\n\t\t\t}\n\n\t\t\tconst totals = {\n\t\t\t\tcanDistance: 0,\n\t\t\t\tdistance: 0,\n\t\t\t\tsensorFuelConsumption: 0,\n\t\t\t\tsensorFuelConsumptionStationary: 0,\n\t\t\t\tcanFuelConsumption: 0,\n\t\t\t\tcanFuelConsumptionStationary: 0,\n\t\t\t\tfuelConsumption: 0,\n\t\t\t\tfuelConsumptionStationary: 0,\n\t\t\t\tduration: 0,\n\t\t\t\tdurationStationaryEngineOn: 0,\n\t\t\t\taverageSpeed: 0,\n\t\t\t\tdenominator: 0,\n\t\t\t\tmaxSpeed: 0\n\t\t\t}\n\n\t\t\trow.content.forEach(subrow => {\n\t\t\t\ttotals.canDistance += subrow.canDistance\n\t\t\t\ttotals.distance += subrow.distance\n\t\t\t\ttotals.sensorFuelConsumption += subrow.sensorFuelConsumption\n\t\t\t\ttotals.sensorFuelConsumptionStationary += subrow.sensorFuelConsumptionStationary\n\t\t\t\ttotals.canFuelConsumption += subrow.canFuelConsumption\n\t\t\t\ttotals.canFuelConsumptionStationary += subrow.canFuelConsumptionStationary\n\t\t\t\ttotals.fuelConsumption += subrow.fuelConsumption\n\t\t\t\ttotals.fuelConsumptionStationary += subrow.fuelConsumptionStationary\n\t\t\t\ttotals.duration += subrow.duration\n\t\t\t\ttotals.durationStationaryEngineOn += subrow.durationStationaryEngineOn\n\t\t\t\ttotals.averageSpeed += subrow.averageSpeed\n\t\t\t\ttotals.maxSpeed = Math.max(subrow.maxSpeed, totals.maxSpeed)\n\n\t\t\t\tlet res = {}\n\t\t\t\tlet vehicle = this.get('vehicles').findBy('id', subrow.vehicleID)\n\n\t\t\t\tlet name = ''\n\t\t\t\tif (grouping === 'driver') {\n\t\t\t\t\tlet vehicle = this.get('vehicles').findBy('id', subrow.vehicleID)\n\t\t\t\t\tname = vehicle.get('licensePlate')\n\t\t\t\t} else {\n\t\t\t\t\tlet driver = this.get('users').findBy('id', subrow.driver)\n\t\t\t\t\tname = driver ? driver.get('fullName') : '-'\n\t\t\t\t}\n\t\t\t\tres.name = name\n\t\t\t\tres.distanceComposed = this.distanceValuePopupWithoutVehicle(subrow.canDistance, subrow.distance)\n\t\t\t\tres.consumptionComposed = this.fuelValuePopupWithStationary(false, subrow.sensorFuelConsumption, subrow.canFuelConsumption, subrow.fuelConsumption, subrow.sensorFuelConsumptionStationary, subrow.canFuelConsumptionStationary, subrow.fuelConsumptionStationary, vehicle).display\n\t\t\t\tres.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, res.distanceComposed.value, subrow.sensorFuelConsumption, subrow.canFuelConsumption, subrow.fuelConsumption, vehicle).display\n\t\t\t\tres.duration = moment.duration(subrow.duration, 's').format(i18n.t('durationFormat').string)\n\t\t\t\tres.durationStationaryEngineOn = moment.duration(subrow.durationStationaryEngineOn, 's').format(i18n.t('durationFormat').string)\n\t\t\t\tres.averageSpeed = Number(subrow.averageSpeed).toFixed(2)\n\t\t\t\tif (Number(res.averageSpeed) > 0) totals.denominator += 1\n\t\t\t\tres.maxSpeed = Number(subrow.maxSpeed).toFixed(2)\n\n\t\t\t\tprocessed.entities.push(res)\n\t\t\t})\n\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', row.vehicleID)\n\n\t\t\tlet name = ''\n\t\t\tif (grouping === 'driver') {\n\t\t\t\tlet driver = this.get('users').findBy('id', row.driver)\n\t\t\t\tname = driver ? driver.get('fullName') : '-'\n\t\t\t\tvehicle = this.get('vehicles').findBy('id', row.content[0]?.vehicleID)\n\t\t\t} else {\n\t\t\t\tname = vehicle.get('licensePlate')\n\t\t\t\tvehicle = this.get('vehicles').findBy('id', row.vehicleID)\n\t\t\t}\n\n\t\t\tconst fuelConsumption = totals.fuelConsumption ? Number(totals.fuelConsumption) : 0\n\t\t\tconst fuelConsumptionStationary = totals.fuelConsumptionStationary ? Number(totals.fuelConsumptionStationary) : 0\n\n\t\t\tconst sensorFuelConsumption = totals.sensorFuelConsumption ? Number(totals.sensorFuelConsumption) : 0\n\t\t\tconst sensorFuelConsumptionStationary = totals.sensorFuelConsumptionStationary ? Number(totals.sensorFuelConsumptionStationary) : 0\n\n\t\t\tconst canFuelConsumption = totals.canFuelConsumption ? Number(totals.canFuelConsumption) : 0\n\t\t\tconst canFuelConsumptionStationary = totals.canFuelConsumptionStationary ? Number(totals.canFuelConsumptionStationary) : 0\n\t\n\t\t\tprocessed.licensePlate = {\n\t\t\t\tvalue: name,\n\t\t\t\tdisplay: name\n\t\t\t}\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.canDistance, totals.distance)\n\t\t\tprocessed.consumptionComposed = this.fuelValuePopupWithStationary(false, sensorFuelConsumption, canFuelConsumption, fuelConsumption, sensorFuelConsumptionStationary, canFuelConsumptionStationary, fuelConsumptionStationary, vehicle)\n\t\t\tprocessed.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, processed.distanceComposed.value, sensorFuelConsumption, canFuelConsumption, fuelConsumption, vehicle)\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (totals.duration ? Number(totals.duration) : 0),\n\t\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.durationStationaryEngineOn = {\n\t\t\t\tvalue: (totals.durationStationaryEngineOn ? Number(totals.durationStationaryEngineOn) : 0),\n\t\t\t\tdisplay: moment.duration(totals.durationStationaryEngineOn, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tlet averageSpeed = totals.averageSpeed ? totals.averageSpeed / totals.denominator : 0\n\t\t\tprocessed.averageSpeed = {\n\t\t\t\tvalue: (averageSpeed ? Number(averageSpeed) : 0),\n\t\t\t\tdisplay: Number(averageSpeed).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.maxSpeed = {\n\t\t\t\tvalue: (totals.maxSpeed ? Number(totals.maxSpeed) : 0),\n\t\t\t\tdisplay: Number(totals.maxSpeed).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.driver = {\n\t\t\t\tvalue: row.driver,\n\t\t\t\tdisplay: ''\n\t\t\t}\n\t\t\tlet driver = this.get('users').findBy('id', row.driver)\n\t\t\tif(driver) {\n\t\t\tprocessed.driver.display = driver ? driver.get('fullName') : '-'\n\t\t\t}\n\n\t\t\t// #region dailyTarget\n\t\t\tif (dailyTarget?.activated) {\n\t\t\t\tconst isCrew = processed.entities.length > 1\n\t\t\t\tconst dailyDistance = Math.trunc((processed.distanceComposed?.value || 0) / selectedDays)\n\t\t\t\tlet isValid = true\n\t\t\t\tlet targetDailyDistance\n\t\t\t\tlet translationPath = 'reports.alerts.dailyTarget'\n\n\t\t\t\tif (isCrew) {\n\t\t\t\t\tisValid = !dailyTarget?.crew || (dailyDistance >= dailyTarget?.crew)\n\t\t\t\t\ttargetDailyDistance = dailyTarget?.crew\n\t\t\t\t\ttranslationPath += '.crew'\n\t\t\t\t} else {\n\t\t\t\t\tisValid = !dailyTarget?.driver || (dailyDistance >= dailyTarget?.driver)\n\t\t\t\t\ttargetDailyDistance = dailyTarget?.driver\n\t\t\t\t\ttranslationPath += '.driver'\n\t\t\t\t}\n\n\t\t\t\tconst rowColor = isValid ? 'green' : 'red'\n\t\t\t\tconst rowPopup = i18n.t(`${translationPath}.${rowColor}`, { dailyDistance, targetDailyDistance })\n\n\t\t\t\tprocessed.rowState = {\n\t\t\t\t\tcolor: rowColor,\n\t\t\t\t\tpopup: rowPopup,\n\t\t\t\t}\n\t\t\t}\n\t\t\t// #endregion\n\n\t\t\treturn processed\n\t\t})\n\t},\n\n\tactions: {\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\t// Print if we have table data\n\t\t\tif (this.get('readyData')) {\n\t\t\t\tvar table = $('<table></table>')\n\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t})\n\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\tthis.get('readyData').forEach(dataRow => {\n\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableBody.append(row)\n\t\t\t\t})\n\n\t\t\t\ttable.append(tableBody)\n\t\t\t\ttables.append(table)\n\t\t\t}\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\trowClicked (row) {\n\t\t\tset(row, 'isExpanded', row.isExpanded ? false : true)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report17',\n\tsortBy: 'licensePlate',\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report17'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet processedData = this.formatData(data)\n\t\treturn processedData.sortBy(this.get('sortBy'))\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startMonthDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endMonthDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/17', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows) {\n\t\tlet i18n = this.get('i18n')\n\t\t\n\n\t\treturn rows.map(row => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', row.vehicleID)\n\t\t\tif (vehicle) {\n\t\t\t\tlet processed = {}\n\t\t\t\tlet hasCan = (vehicle ? vehicle.get('hasValidCan') : false)\n\t\t\t\tprocessed.licensePlate = {\n\t\t\t\t\tvalue: vehicle.get('licensePlate'),\n\t\t\t\t\tdisplay: vehicle.get('licensePlate')\n\t\t\t\t}\n\t\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(row.canDistance, row.distance)\n\t\t\t\tprocessed.consumptionComposed = this.fuelValuePopup(false, row.sensorFuelConsumption, row.canFuelConsumption, row.fuelConsumption, vehicle)\n\t\t\t\tprocessed.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, processed.distanceComposed.value, row.sensorFuelConsumption, row.canFuelConsumption, row.fuelConsumption, vehicle)\n\t\t\t\tprocessed.duration = {\n\t\t\t\t\tvalue: (row.duration ? Number(row.duration) : 0),\n\t\t\t\t\tdisplay: moment.duration(row.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t\t}\n\t\t\t\tprocessed.averageSpeed = {\n\t\t\t\t\tvalue: (row.averageSpeed ? Number(row.averageSpeed) : 0),\n\t\t\t\t\tdisplay: Number(row.averageSpeed).toFixed(2),\n\t\t\t\t}\n\t\t\t\tprocessed.maxSpeed = {\n\t\t\t\t\tvalue: (row.maxSpeed ? Number(row.maxSpeed) : 0),\n\t\t\t\t\tdisplay: Number(row.maxSpeed).toFixed(2),\n\t\t\t\t}\n\t\t\t\tprocessed.drivers = {\n\t\t\t\t\tvalue: row.drivers,\n\t\t\t\t\tdisplay: row.drivers.map((driverID, idx) => {\n\t\t\t\t\t\tlet driver = this.get('users').findBy('id', driverID)\n\t\t\t\t\t\tif (driver) {\n\t\t\t\t\t\t\treturn idx > 0 ? `, ${driver.get('fullName')}` : driver.get('fullName')\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tprocessed.fuelLevelComposed = this.fuelLevelCompose(row.sensorFuelLevelEndOfDay, row.canFuelLevelEndOfDay, vehicle)\n\t\t\t\tprocessed.odometerComposed = this.odometerCompose(row.canOdometerEnd, row.virtualOdometerEnd, hasCan)\n\t\t\t\tprocessed.adblueLevelComposed = this.adblueLevelCompose(row.canAdblueLevelEnd, vehicle)\n\n\t\t\t\treturn processed\n\t\t\t}\n\t\t})\n\t},\n\n\tactions: {\n\t\tsetStartDate () {\n\t\t\tlet sd = this.get('reportsFilters.startMonthDate')\n\t\t\tthis.set('reportsFilters.endMonthDate', moment(sd).endOf('month').valueOf())\n\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\t// Print if we have table data\n\t\t\tif (this.get('readyData')) {\n\t\t\t\tvar table = $('<table></table>')\n\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t})\n\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\tthis.get('readyData').forEach(dataRow => {\n\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableBody.append(row)\n\t\t\t\t})\n\n\t\t\t\ttable.append(tableBody)\n\t\t\t\ttables.append(table)\n\t\t\t}\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport { round } from 'lodash'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\n// todo: query params\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\tstore: service(),\n\tmodal: service(),\n\n\tloading: false,\n\tshowFuelImportModal: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report11',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report11'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\tunusedVehicles: computed('formattedData', 'vehicles', 'reportsFilters.vehicles', function () {\n\t\tlet formattedData = this.get('formattedData')\n\t\tlet vehicles = this.get('vehicles')\n\t\tlet selVehicles = this.get('reportsFilters.vehicles')\n\n\t\tlet usedVehicles = formattedData.mapBy('vehicle.id')\n\t\tlet unusedVehicles = vehicles.filter(veh => {\n\t\t\tlet vehID = veh.get('id')\n\t\t\treturn selVehicles.indexOf(vehID) !== -1 && usedVehicles.indexOf(vehID) === -1\n\t\t}).sortBy('licensePlate')\n\n\t\treturn unusedVehicles.map(veh => {\n\t\t\treturn {\n\t\t\t\tvehicle: veh,\n\t\t\t\tshowGraph: false,\n\t\t\t}\n\t\t})\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet timetable = this.get('currentUser.reportsTimetable')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t\ttimetable: timetable,\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/11', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t})\n\t}),\n\n\tprocessData(tables) {\n\t\tlet reportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t\tshowGraph: false,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData(rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tdiffFuelLevel: 0,\n\t\t\tdiffFuelLevelCAN: 0,\n\t\t\tdiffFuelLevelManual: 0,\n\t\t\tvolume: 0,\n\t\t\tduration: 0,\n\t\t\tprice: 0,\n\t\t}\n\n\t\tlet fuelUnit = vehicle ? vehicle.get('fuel.unit') : 'L'\n\t\tconst fuelCapacity = vehicle ? vehicle.get('fuel.capacity') : null\n\t\tconst cngUnit = this.get('currentUser.cngUnit') ? this.get('currentUser.cngUnit') : 'weight'\n\t\tlet fuelSource = this.get('currentUser.fuelSource')\n\t\tlet showFluctuations = this.get('currentUser.showFluctuations')\n\t\tlet hasSensorModule = this.get('currentUser.modules.sensorFuel') && vehicle.get('hasProbe')\n\t\tlet hasCanModule = this.get('currentUser.modules.can') && vehicle.get('hasCan')\n\t\tlet isCng = this.get('currentUser.modules.cng') && vehicle.get('isCng')\n\t\tif (!fuelSource) {\n\t\t\tfuelSource = hasSensorModule ? 'sensor' : 'can'\n\t\t}\n\n\t\tif (hasSensorModule && hasCanModule) {\n\t\t\trows = rows.filter(row => {\n\t\t\t\tif (row.refuelType === 'manual' && row.manualRefuelID) { return true } // always show the manual refuels\n\t\t\t\tif (fuelSource === 'sensor' && !row.diffFuelLevel) { return false }\n\t\t\t\tif (fuelSource === 'can' && !row.diffFuelLevelCAN > 0) { return false }\n\t\t\t\treturn true\n\t\t\t})\n\t\t}\n\t\tif (typeof showFluctuations !== \"boolean\") {\n\t\t\tshowFluctuations = true\n\t\t}\n\t\tif (!showFluctuations) {\n\t\t\trows = rows.filter(row => {\n\t\t\t\treturn row.refuelType !== 'fluctuation_by_user'\n\t\t\t})\n\t\t}\n\n\t\tconst processItem = (item, skipTotals = false) => {\n\t\t\tlet processed = {}\n\t\t\tif (item.grouped != null) {\n\t\t\t\tprocessed.childs = item.grouped.map(child => {\n\t\t\t\t\tconst processed = processItem(child, true)\n\t\t\t\t\tprocessed.volumeManual = { value: null, display: '' }\n\t\t\t\t\tprocessed.type = { value: null, display: '' }\n\t\t\t\t\treturn processed\n\t\t\t\t})\n\t\t\t}\n\t\t\tlet level = (hasSensorModule && item.diffFuelLevel) || (hasCanModule && item.diffFuelLevelCAN) || item.diffFuelLevelManual\n\t\t\tlet type = level > 0 ? 'refuel' : 'consumption'\n\t\t\tif (item.refuelType === 'suspected_drop_stationary') {\n\t\t\t\ttype = 'processing'\n\t\t\t}\n\n\t\t\tprocessed.location = {\n\t\t\t\tdisplay: item.location\n\t\t\t}\n\n\t\t\tprocessed.odometer = {\n\t\t\t\tdisplay: item?.odometer ? round(item?.odometer / 1000) : null\n\t\t\t}\n\n\t\t\tprocessed.price = {\n\t\t\t\tvalue: item?.price || 0,\n\t\t\t\tdisplay: item?.price ? item?.price?.toFixed(2) : null,\n\t\t\t}\n\n\t\t\tprocessed.type = {\n\t\t\t\tvalue: type,\n\t\t\t\tdisplay: i18n.t(`reports.fuelLevel.eventType.${type}`),\n\t\t\t}\n\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.date, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t}\n\n\t\t\tlet diffFuelLevelCAN = hasCanModule && item.diffFuelLevelCAN ? item.diffFuelLevelCAN : 0\n\t\t\tlet diffFuelLevel = hasSensorModule && item.diffFuelLevel ? item.diffFuelLevel : 0\n\t\t\tlet fluctuationByUser = item.refuelType === 'fluctuation_by_user'\n\n\t\t\tlet fuelVal = 0\n\t\t\tlet fuelPopup = ''\n\n\t\t\t// fuelLevel and totals\n\t\t\tif (hasSensorModule) {\n\t\t\t\tif (!fluctuationByUser && !skipTotals) {\n\t\t\t\t\ttotals.diffFuelLevel += diffFuelLevel\n\t\t\t\t}\n\t\t\t\tfuelPopup += `\\n${i18n.t('reports.headerFields.volumeTank')}: ${diffFuelLevel.toFixed(1)} ${fuelUnit}`\n\t\t\t}\n\t\t\tif (hasCanModule) {\n\t\t\t\tif (!fluctuationByUser && !skipTotals) {\n\t\t\t\t\ttotals.diffFuelLevelCAN += diffFuelLevelCAN\n\t\t\t\t}\n\t\t\t\tfuelPopup += diffFuelLevelCAN ? `\\n${i18n.t('reports.headerFields.volumeCan')}: ${diffFuelLevelCAN.toFixed(1)} ${fuelUnit}` : ''\n\t\t\t}\n\n\t\t\tif (fuelSource === 'sensor' && diffFuelLevel) {\n\t\t\t\tfuelVal = diffFuelLevel\n\t\t\t}\n\t\t\telse if (fuelSource === 'can' && diffFuelLevelCAN) {\n\t\t\t\tfuelVal = diffFuelLevelCAN\n\t\t\t} else { // if the selected value has not value\n\t\t\t\tif (fuelSource === 'can' && diffFuelLevel) {\n\t\t\t\t\tfuelVal = diffFuelLevel\n\t\t\t\t}\n\t\t\t\telse if (fuelSource === 'sensor' && diffFuelLevelCAN) {\n\t\t\t\t\tfuelVal = diffFuelLevelCAN\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (item.refuelType === 'drop') { // for fuelType === 'drop' make abs and negative value\n\t\t\t\tfuelVal = -Math.abs(fuelVal)\n\t\t\t}\n\n\t\t\tprocessed.volume = {\n\t\t\t\tvalue: fuelVal,\n\t\t\t\tpopup: fuelPopup,\n\t\t\t\tdisplay: fuelVal ? `${fuelVal.toFixed(1)} ${fuelUnit}` : null,\n\t\t\t}\n\n\t\t\tprocessed.manualFueling = {\n\t\t\t\tisManualFueling: item.manualRefuelID ? true : false,\n\t\t\t\tonlyManual: item.refuelID === item.manualRefuelID,\n\t\t\t\trefuelID: item.manualRefuelID,\n\t\t\t}\n\n\t\t\tprocessed.volumeManual = {\n\t\t\t\tvalue: item.diffFuelLevelManual,\n\t\t\t\tdisplay: item.diffFuelLevelManual ? `${item.diffFuelLevelManual.toFixed(1)} ${fuelUnit}` : '',\n\t\t\t}\n\n\t\t\tif (isCng) {\n\t\t\t\tconst cng = this.getCngValues(diffFuelLevelCAN, fuelCapacity, true)\n\t\t\t\tconst cngPopup = `${i18n.t('reports.headerFields.volumeCan')} (CNG): ${cng.display.join('  |  ')}\\n`\n\t\t\t\tconst cngDisplay = cngUnit === 'percent' && fuelCapacity ? cng.display[2] : cngUnit === 'weight' ? cng.display[1] : cng.display[0]\n\t\t\t\tprocessed.volume = {\n\t\t\t\t\tvalue: diffFuelLevelCAN,\n\t\t\t\t\tpopup: cngPopup,\n\t\t\t\t\tdisplay: cngDisplay,\n\t\t\t\t}\n\t\t\t\tconst cngManual = this.getCngValues(item.diffFuelLevelManual, fuelCapacity, true)\n\t\t\t\tconst cngManualPopup = `CNG: ${cngManual.display.join('  |  ')}\\n`\n\t\t\t\tconst cngManualDisplay = cngUnit === 'percent' && fuelCapacity ? cngManual.display[2] : cngUnit === 'weight' ? cngManual.display[1] : cngManual.display[0]\n\t\t\t\tprocessed.volumeManual = {\n\t\t\t\t\tvalue: item.diffFuelLevelManual,\n\t\t\t\t\tpopup: cngManualPopup,\n\t\t\t\t\tdisplay: cngManualDisplay,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// detected / drop / manual / fluctuation_by_user\n\t\t\tprocessed.fluctuation = {\n\t\t\t\tisProcessing: type === 'processing',\n\t\t\t\tisDrop: item.refuelType === 'drop',\n\t\t\t\tisFluctuation: fluctuationByUser,\n\t\t\t\tisFull: item.fullTank,\n\t\t\t\tid: item.refuelID,\n\t\t\t}\n\n\t\t\t// item has alert. Negative values (steal) or dif between fuels are bigger than 5L\n\t\t\tprocessed.rowState = {\n\t\t\t\tcolor: 'green',\n\t\t\t\tpopup: i18n.t('reports.alerts.validValues'),\n\t\t\t}\n\t\t\tif (item.refuelType === 'drop' || (item.diffFuelLevelManual && processed.volume.value && Math.abs(item.diffFuelLevelManual - processed.volume.value) > 5)) {\n\t\t\t\tprocessed.rowState.color = 'red'\n\t\t\t\tprocessed.rowState.popup = item.refuelType === 'drop' ? i18n.t('reports.alerts.fuel.dropStationary') : i18n.t('reports.alerts.fuel.diffDetectedRefuelBiggerThan5')\n\t\t\t}\n\t\t\tif (processed.fluctuation.isFluctuation) {\n\t\t\t\tprocessed.rowState.color = 'white opacity'\n\t\t\t\tprocessed.rowState.popup = i18n.t('reports.alerts.fuel.fluctuation')\n\t\t\t}\n\t\t\tif (processed.fluctuation.isProcessing) {\n\t\t\t\tprocessed.rowState.color = 'yellow'\n\t\t\t\tprocessed.rowState.popup = i18n.t('reports.alerts.fuel.processing')\n\t\t\t}\n\n\t\t\t// duration\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: item.duration ? moment.duration(item.duration, 's').format(i18n.t('durationFormat').string) : null,\n\t\t\t}\n\t\t\tif (!fluctuationByUser && !skipTotals) {\n\t\t\t\ttotals.diffFuelLevelManual += item.diffFuelLevelManual\n\t\t\t\ttotals.volume += processed.volume.value\n\t\t\t\ttotals.duration += processed.duration.value\n\t\t\t\ttotals.price += processed.price.value\n\t\t\t}\n\n\t\t\treturn processed\n\t\t}\n\n\t\tlet formatted = rows.map(item => processItem(item))\n\n\t\tres.content = formatted\n\n\t\tres.totals.volume = {\n\t\t\tpopup: '',\n\t\t\tdisplay: totals.volume ? `${totals.volume.toFixed(1)} ${fuelUnit}` : null,\n\t\t}\n\t\tif (totals.diffFuelLevel) {\n\t\t\tres.totals.volume.popup += `\\n${i18n.t('reports.headerFields.totals.sensor')}: ${totals.diffFuelLevel.toFixed(1)} ${fuelUnit}`\n\t\t}\n\t\tif (totals.diffFuelLevelCAN) {\n\t\t\tres.totals.volume.popup += `\\n${i18n.t('reports.headerFields.totals.can')}: ${totals.diffFuelLevelCAN.toFixed(1)} ${fuelUnit}`\n\t\t}\n\t\tif (fuelSource && hasSensorModule && hasCanModule) {\n\t\t\tif (fuelSource === 'sensor' && totals.diffFuelLevel) {\n\t\t\t\tres.totals.volume.display = `${totals.diffFuelLevel.toFixed(1)} ${fuelUnit}`\n\t\t\t}\n\t\t\telse if (fuelSource === 'can' && totals.diffFuelLevelCAN) {\n\t\t\t\tres.totals.volume.display = `${totals.diffFuelLevelCAN.toFixed(1)} ${fuelUnit}`\n\t\t\t}\n\t\t}\n\t\tres.totals.volumeManual = {\n\t\t\tdisplay: totals.diffFuelLevelManual ? `${totals.diffFuelLevelManual.toFixed(1)} ${fuelUnit}` : null\n\t\t}\n\t\tres.totals.price = {\n\t\t\tdisplay: totals.price ? totals.price.toFixed(2) : null\n\t\t}\n\t\tres.totals.duration = {\n\t\t\tdisplay: totals.duration ? moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string) : null\n\t\t}\n\n\t\tif (isCng) {\n\t\t\tconst cng = this.getCngValues(totals.diffFuelLevelCAN, fuelCapacity, true)\n\t\t\tconst cngPopup = `${i18n.t('reports.headerFields.volumeCan')} (CNG): ${cng.display.join('  |  ')}\\n`\n\t\t\tconst cngDisplay = cngUnit === 'percent' && fuelCapacity ? cng.display[2] : cngUnit === 'weight' ? cng.display[1] : cng.display[0]\n\t\t\tres.totals.volume = {\n\t\t\t\tvalue: totals.diffFuelLevelCAN,\n\t\t\t\tpopup: cngPopup,\n\t\t\t\tdisplay: cngDisplay,\n\t\t\t}\n\t\t\tconst cngManual = this.getCngValues(totals.diffFuelLevelManual, fuelCapacity, true)\n\t\t\tconst cngManualPopup = `CNG: ${cngManual.display.join('  |  ')}\\n`\n\t\t\tconst cngManualDisplay = cngUnit === 'percent' && fuelCapacity ? cngManual.display[2] : cngUnit === 'weight' ? cngManual.display[1] : cngManual.display[0]\n\t\t\tres.totals.volumeManual = {\n\t\t\t\tvalue: totals.diffFuelLevelManual,\n\t\t\t\tpopup: cngManualPopup,\n\t\t\t\tdisplay: cngManualDisplay,\n\t\t\t}\n\t\t}\n\n\t\treturn res\n\t},\n\n\tfetchFuelLevelsByVehicle(vehicleID) {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet timetable = this.get('currentUser.reportsTimetable')\n\t\tlet params = {\n\t\t\tvehicles: [vehicleID],\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t\ttimetable: timetable,\n\t\t}\n\n\t\treturn api.post('reports/10', {\n\t\t\tcontentType: \"application/json; charset=utf-8\",\n\t\t\tdataType: \"json\",\n\t\t\tdata: { $filter: params },\n\t\t})\n\t},\n\n\trefreshVehicleGraph(data) {\n\t\tlet vehicleID = data.vehicle.get('id')\n\t\tif (!vehicleID || data.hasData) { return false } // data.hasData >> not make new request\n\n\t\tset(data, 'loading', true)\n\t\tthis.fetchFuelLevelsByVehicle(vehicleID)\n\t\t\t.then(graphValues => {\n\t\t\t\tset(data, 'graph', graphValues[vehicleID])\n\t\t\t\tset(data, 'loading', false)\n\t\t\t\tset(data, 'hasData', true)\n\t\t\t})\n\t\t\t.catch()\n\t},\n\n\tactions: {\n\t\thideModalImport() {\n\t\t\tthis.set('showFuelImportModal', false)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\timportFueling() {\n\t\t\tthis.set('showFuelImportModal', true)\n\t\t},\n\t\tmakeRequest() {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\treformatData() {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tselectPeriod(period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tprint() {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $(`<caption class='leftSide'></caption>`)\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate'))\n\t\t\t\t\tif (tableData.drivers) {\n\t\t\t\t\t\tlet label = tableData.drivers.length > 1 ? i18n.t('drivers') : i18n.t('driver') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.drivers + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($(`<th class='tableHeader'>${i18n.t(col.translationKey)}</th>`))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\tlet colObj = dataRow[col.key]\n\t\t\t\t\t\t\tif (colObj) {\n\t\t\t\t\t\t\t\trow.append($('<td>' + ((colObj.display !== null && colObj.display !== undefined) ? colObj.display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\trow.append($('<td></td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlet totalObj = tableData.totals[col.key]\n\t\t\t\t\t\t\t\tif (totalObj) {\n\t\t\t\t\t\t\t\t\trow.append($('<td>' + ((totalObj.display !== null && totalObj.display !== undefined) ? totalObj.display : '') + '</td>'))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\trow.append($('<td></td>'))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords() {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\tondragstart(e) {\n\t\t\tlet movingColumn = e.target.dataset.value\n\t\t\tthis.set('movingColumn', movingColumn)\n\t\t},\n\t\tondragover(e) {\n\t\t\te.preventDefault()\n\t\t},\n\t\tondrop(e) {\n\t\t\tlet destinationColumn = e.target.dataset.value\n\t\t\tlet movingColumn = this.get('movingColumn')\n\t\t\tlet columns = this.get('selectedColumns')\n\t\t\tlet fromIdx = columns.indexOf(movingColumn)\n\t\t\tlet toIdx = columns.indexOf(destinationColumn)\n\t\t\tif (!movingColumn || !destinationColumn || fromIdx == -1 || toIdx == -1) { return false }\n\t\t\tcolumns.splice(fromIdx, 1)\n\t\t\tcolumns.splice(toIdx, 0, movingColumn)\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), columns)\n\t\t},\n\t\tdeleteFueling(id) {\n\t\t\tif (!id) { return false }\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tlet options = {\n\t\t\t\ttittle: i18n.t('messages.deleteFueling'),\n\t\t\t\tcontent: i18n.t('messages.areYouSureToDeleteFueling'),\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tthis.get('api').del('refuels/' + id)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.get('getReportData').perform()\n\t\t\t\t\t\tthis.toast.success(i18n.t('messages.operationWithSuccess'))\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tsetFull(row) {\n\t\t\tif (!row || !row.fluctuation || !row.fluctuation.id) return false\n\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tlet options = {\n\t\t\t\ttittle: i18n.t('messages.fullFuel'),\n\t\t\t\tcontent: i18n.t('messages.areYouSureToConfirmFullFuel'),\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tthis.get('api').patch(`refuels/${row.fluctuation.id}`, {\n\t\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tdata: { refuel: { fullTank: true } }\n\t\t\t\t})\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.get('getReportData').perform()\n\t\t\t\t\t\tthis.toast.success(i18n.t('messages.operationWithSuccess'))\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tsetFluctuation(row) {\n\t\t\tif (!row || !row.fluctuation || !row.fluctuation.id) return false\n\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tlet options = {\n\t\t\t\ttittle: i18n.t('messages.fluctuationFuel'),\n\t\t\t\tcontent: i18n.t('messages.areYouSureToConfirmFluctuation'),\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tthis.get('api').post(`refuels/${row.fluctuation.id}/infirm`)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.get('getReportData').perform()\n\t\t\t\t\t\tthis.toast.success(i18n.t('messages.operationWithSuccess'))\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\taddFueling(vehicleID) {\n\t\t\tthis.get('modal').open('dc-fueling-add', { vehicleID }).then(() => {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t})\n\t\t},\n\t\ttoggleGraph(data) {\n\t\t\tif (!data) { return }\n\t\t\tthis.refreshVehicleGraph(data)\n\t\t\tset(data, 'showGraph', !data.showGraph)\n\t\t\trun.later(this, () => {\n\t\t\t\tthis.fixScrollPadding()\n\t\t\t}, 10)\n\t\t},\n\t\texpandRow(row) {\n\t\t\tif (!row.childs) { return }\n\t\t\tset(row, 'isExpanded', !row.isExpanded)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\n// todo: query params\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report25',\n\tsortBy: 'vehicleID',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report25'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupBy('date', sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('date.value')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(filters.endDate),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/25', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = tables.map(table => {\n\t\t\tlet processed = this.formatData(table.content)\n\n\t\t\treturn {\n\t\t\t\tdate: {\n\t\t\t\t\tvalue: table.date,\n\t\t\t\t\tdisplay: this.formatDateToCompanyTZ(table.date, 'DD/MM/YYYY'),\n\t\t\t\t},\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tfuelConsumptionSensor: 0,\n\t\t\tfuelConsumptionCAN: 0,\n\t\t\tfuelConsumption: 0,\n\t\t\tfuelConsumptionSensorStationary: 0,\n\t\t\tfuelConsumptionCANStationary: 0,\n\t\t\tfuelConsumptionStationary: 0,\n\t\t\tfuelConsumptionDistanceComposed: 0,\n\t\t\tdistanceCAN: 0,\n\t\t\tdistanceGPS: 0,\n\t\t\tdistanceComposed: 0,\n\t\t\tduration: 0,\n\t\t\tdurationStationaryEngineOn: 0,\n\t\t\taverageSpeed: 0,\n\t\t\tmaxSpeed: 0,\n\t\t\trefuelValue: 0\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', item.vehicleID)\n\n\t\t\tlet hasCan = (vehicle ? vehicle.get('hasValidCan') : false)\n\t\t\tlet hasProbe = (vehicle ? vehicle.get('hasProbe') : false)\n\t\t\tlet fuelUnit = (vehicle ? vehicle.get('fuel.unit') : 'L')\n\n\t\t\t// rowState\n\t\t\tlet min = vehicle.get('speedLimit.min') || 0\n\t\t\tlet offset = vehicle.get('speedLimit.offset') || 0\n\t\t\tlet max = vehicle.get('speedLimit.max') || 0\n\n\t\t\tprocessed.licensePlate = {\n\t\t\t\tvalue: item.vehicleID,\n\t\t\t\tdisplay: vehicle ? vehicle.get('licensePlate') : '',\n\t\t\t}\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.canDistance, item.distance)\n\t\t\tprocessed.consumptionComposed = this.fuelValuePopupWithStationary(false, item.sensorFuelConsumption, item.canFuelConsumption, item.fuelConsumption, item.sensorFuelConsumptionStationary, item.canFuelConsumptionStationary, item.fuelConsumptionStationary, vehicle)\n\t\t\tprocessed.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, processed.distanceComposed.value, item.sensorFuelConsumption, item.canFuelConsumption, item.fuelConsumption, vehicle)\n\t\t\tprocessed.fuelLevelComposed = this.fuelLevelCompose(item.sensorFuelLevelEndOfDay, item.canFuelLevelEndOfDay, vehicle)\n\t\t\tprocessed.odometerComposed = this.odometerCompose(item.canOdometerEnd, item.virtualOdometerEnd, hasCan)\n\t\t\tprocessed.mapLink = `/map/routes/${vehicle.get('id')}?end=${moment(this.convertDateToBrowserTZ(item.date)).endOf('day').valueOf()}&start=${moment(this.convertDateToBrowserTZ(item.date)).startOf('day').valueOf()}`\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: moment.duration(item.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.durationStationaryEngineOn = {\n\t\t\t\tvalue: (item.durationStationaryEngineOn ? Number(item.durationStationaryEngineOn) : 0),\n\t\t\t\tdisplay: moment.duration(item.durationStationaryEngineOn, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.averageSpeed = {\n\t\t\t\tvalue: (item.averageSpeed ? Number(item.averageSpeed) : 0),\n\t\t\t\tdisplay: Number(item.averageSpeed).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.maxSpeed = {\n\t\t\t\tvalue: (item.maxSpeed ? Number(item.maxSpeed) : 0),\n\t\t\t\tdisplay: Number(item.maxSpeed).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.refuelValue = this.parseRefuelLevel(item.refuelValue, vehicle)\n\n\t\t\t// rowState\n\t\t\tlet rowMaxSpeed = processed.maxSpeed.value\n\t\t\tlet rowColor = 'green'\n\t\t\tlet rowPopup = i18n.t('reports.alerts.validValues')\n\t\t\tif (vehicle) {\n\t\t\t\tif (rowMaxSpeed > min) {\n\t\t\t\t\tif (max && rowMaxSpeed > max) {\n\t\t\t\t\t\tif (!offset || (rowMaxSpeed > max + offset)) {\n\t\t\t\t\t\t\trowColor = 'red'\n\t\t\t\t\t\t\trowPopup = i18n.t('reports.alerts.maxSpeed.red', { dif: rowMaxSpeed - max, maxSpeed: max })\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tprocessed.rowState = {\n\t\t\t\tcolor: rowColor,\n\t\t\t\tpopup: rowPopup,\n\t\t\t}\n\n\t\t\t// totals\n\t\t\ttotals.fuelConsumptionSensor += (item.sensorFuelConsumption ? Number(item.sensorFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumptionCAN += (item.canFuelConsumption ? Number(item.canFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumption += (item.fuelConsumption ? Number(item.fuelConsumption) : 0)\n\t\t\ttotals.fuelConsumptionSensorStationary += (item.sensorFuelConsumptionStationary ? Number(item.sensorFuelConsumptionStationary) : 0)\n\t\t\ttotals.fuelConsumptionCANStationary += (item.canFuelConsumptionStationary ? Number(item.canFuelConsumptionStationary) : 0)\n\t\t\ttotals.fuelConsumptionStationary += (item.fuelConsumptionStationary ? Number(item.fuelConsumptionStationary) : 0)\n\t\t\ttotals.distanceCAN += (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\ttotals.distanceGPS += (item.distance ? Number(item.distance) : 0)\n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.durationStationaryEngineOn += processed.durationStationaryEngineOn.value\n\t\t\ttotals.averageSpeed += processed.averageSpeed.value\n\t\t\ttotals.maxSpeed = Math.max(item.maxSpeed, totals.maxSpeed)\n\t\t\ttotals.refuelValue += processed.refuelValue.value\n\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.distanceCAN, totals.distanceGPS, true)\n\t\t// res.totals.consumptionComposed = this.fuelValuePopupWithStationary(false, totals.fuelConsumptionSensor, totals.fuelConsumptionCAN, totals.fuelConsumption, totals.fuelConsumptionSensorStationary, totals.fuelConsumptionCANStationary, totals.fuelConsumptionStationary, vehicle, true, true)\n\t\t// res.totals.fuelConsumptionDistanceComposed = this.fuelValuePopupPerDistance(false, res.totals.distanceComposed.value, totals.fuelConsumptionSensor, totals.fuelConsumptionCAN, totals.fuelConsumption, vehicle, true, true)\n\t\tres.totals.consumptionComposed = {\n\t\t\tvalue: null,\n\t\t\tdisplay: '',\n\t\t}\n\t\tres.totals.fuelConsumptionDistanceComposed = {\n\t\t\tvalue: null,\n\t\t\tdisplay: '',\n\t\t}\n\t\tres.totals.duration = {\n\t\t\tvalue: totals.duration,\n\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tres.totals.durationStationaryEngineOn = {\n\t\t\tvalue: totals.durationStationaryEngineOn,\n\t\t\tdisplay: moment.duration(totals.durationStationaryEngineOn, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tlet averageSpeed = totals.averageSpeed / length\n\t\tres.totals.averageSpeed = {\n\t\t\tvalue: averageSpeed,\n\t\t\tdisplay: Number(averageSpeed).toFixed(2),\n\t\t}\n\t\tres.totals.maxSpeed = {\n\t\t\tvalue: totals.maxSpeed,\n\t\t\tdisplay: Number(totals.maxSpeed).toFixed(2),\n\t\t}\n\t\tres.totals.refuelValue = {\n\t\t\tvalue: totals.refuelValue,\n\t\t\tdisplay: '' // `${Number(totals.refuelValue).toFixed(2)} ${fuelUnit}`,\n\t\t}\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\t\t\tlet headers = this.get('tHeaders')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.date.display)\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\theaders.forEach(header => {\n\t\t\t\t\t\tif (header.key === 'map') { return }\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(header.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\theaders.forEach(header => {\n\t\t\t\t\t\t\tif (header.key === 'map') { return }\n\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[header.key] !== null ? dataRow[header.key].display : '') + '</td>'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\theaders.forEach((header, index) => {\n\t\t\t\t\t\t\tif (header.key === 'map') { return }\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[header.key] ? tableData.totals[header.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report21',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report21'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('date.value')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/21', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tcontent: processed.content,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.date, 'DD/MM/YYYY HH:mm'),\n\t\t\t}\n\n\t\t\tif (item.type === 'balance') {\n\t\t\t\t// rowState\n\t\t\t\t// 0: 'Normal' green\n\t\t\t\t// 1: 'Low', yellow\n\t\t\t\t// 2: 'Empty', red\n\t\t\t\tlet rowColor = item.status == 0 ? 'green' : item.status == 1 ? 'yellow' : 'red'\n\t\t\t\tlet rowPopup = i18n.t('obu.balance').string + ' ' + i18n.t(`obu.statuses.${item.status}`).string\n\t\t\t\tprocessed.rowState = {\n\t\t\t\t\tcolor: rowColor,\n\t\t\t\t\tpopup: rowPopup,\n\t\t\t\t}\n\t\t\t\tprocessed.sectionID = {\n\t\t\t\t\tvalue: item.status,\n\t\t\t\t\tdisplay: rowPopup,\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tprocessed.sectionID = {\n\t\t\t\t\tvalue: item.sectionID,\n\t\t\t\t\tdisplay: item.sectionID,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn processed\n\t\t})\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\treturn false\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { forEach, get, set, isNumber, isInteger } from 'lodash'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\ti18n: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report40',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report40'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByDriver(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('text')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tdriverIDs: filters.users,\n\t\t\tstartDate: this.convertDateToCompanyTZ(moment(filters.startDate).startOf('day').valueOf()),\n\t\t\tendDate: this.convertDateToCompanyTZ(moment(filters.endDate).endOf('day').valueOf() + 1),\n\t\t}\n\n\t\tif (!params.driverIDs.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/40', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\n\n\t\treportData = tables.map(table => {\n\t\t\tlet driver = this.get('users').findBy('id', table.driverID)\n\t\t\tlet driverName = '-'\n\t\t\tif (driver) driverName = driver.get('fullName')\n\n\t\t\tlet processed = this.formatData(table.content)\n\n\t\t\treturn {\n\t\t\t\ttext: driverName,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t}\n\t\t})\n\n\n\t\treturn reportData\n\t},\n\n\tformatData (rows) {\n\t\tlet i18n = this.get('i18n')\n\t\tconst tz = this.get('currentUser.timezone')\n\t\tlet res = {\n\t\t\tcontent: [],\n\t\t\ttotals: {}\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tdistance: 0,\n\t\t\tscore: 0,\n\t\t}\n\n\t\tforEach(rows, row => {\n\t\t\tconst processed = {}\n\n\t\t\tprocessed.licensePlate = { display: row?.vehicleLicensePlate || '-', value: row?.vehicleID }\n\t\t\tprocessed.date = { display: moment.tz(row.date, tz).format('DD/MM/YYYY'), value: row.date }\n\t\t\tprocessed.distance = { display: row.distance, value: row.distance }\n\t\t\tprocessed.country = { display:row?.country }\n\t\t\tprocessed.durationMoving = { \n\t\t\t\tvalue: row?.durationMoving,\n\t\t\t\tdisplay: row?.durationMoving ? moment.duration(row?.durationMoving, 's').format(i18n.t('durationFormat').string) : 0,\n\t\t\t}\n\t\t\tprocessed.stationEngineOn = { \n\t\t\t\tvalue: row?.stationEngineOn,\n\t\t\t\tdisplay: row?.stationEngineOn ? moment.duration(row?.stationEngineOn, 's').format(i18n.t('durationFormat').string) : 0,\n\t\t\t}\n\t\t\tprocessed.auxHeating = { \n\t\t\t\tvalue: row?.auxHeating,\n\t\t\t\tdisplay: row?.auxHeating ? moment.duration(row?.auxHeating, 's').format(i18n.t('durationFormat').string) : 0,\n\t\t\t}\n\t\t\tprocessed.fuelConsumption = { \n\t\t\t\tvalue: row?.fuelConsumption,\n\t\t\t\tdisplay: ((row?.fuelConsumption / row?.distance) * 100)?.toFixed(2),\n\t\t\t}\n\n\t\t\tconst keys = ['score', 'accBrake100kmAvg', 'accBrakeTimeAvg', 'angle', 'axleLoadAvg', 'ascendPercentage', 'brakingCount100kmAvg', 'companyScore', 'companyScoreAccBr', 'companyScoreAccBrTime', 'companyScoreBrk', 'companyScoreDeltaAcc', 'companyScoreCruise', 'companyScoreInertia', 'companyScoreRetarder', 'deltaAccKmAvg', 'descendPercentage', 'difficultyScore', 'distance', 'distanceCruiseControlKmAvg', 'distanceInertiaKmAvg', 'overSpeedKm', 'panicBraking', 'retarderOnKmAvg', 'scoreAccBr', 'scoreAccBrTime', 'scoreBrk', 'scoreDeltaAcc', 'scoreCruise', 'scoreInertia', 'scoreRetarder', 'speedAvg', 'stops']\n\n\t\t\tforEach(keys, key => {\n\t\t\t\tconst val = get(row, key, '-')\n\t\t\t\tconst display = (isNumber(val) && !isInteger(val)) ? val.toFixed(2) : val\n\t\t\t\tset(processed, key, {display , value: val})\n\t\t\t})\n\n\t\t\ttotals.distance += processed.distance?.value || 0\n\t\t\ttotals.score += processed.score?.value * processed.distance?.value || 0\n\n\t\t\tprocessed.avgScore = { \n\t\t\t\tvalue: totals.score / totals.distance,\n\t\t\t\tdisplay: (totals.score / totals.distance)?.toFixed(2),\n\t\t\t}\n\n\t\t\tres.content.push(processed)\n\t\t})\n\n\t\t// res.totals.distance = {\n\t\t// \tvalue: totals.distance,\n\t\t// \tdisplay: Number(totals.distance).toFixed(2),\n\t\t// }\n\t\t// res.totals.drivingDuration = {\n\t\t// \tvalue: totals.drivingDuration,\n\t\t// \tdisplay: moment.duration(totals.drivingDuration, 'm').format(i18n.t('durationFormatDDHHmm').string),\n\t\t// }\n\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tonHEnd (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.set('reportsFilters.endDate', moment(this.get('reportsFilters.endDate')).endOf('day').valueOf())\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\ti18n: service(),\n\tmodal: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report6',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgeofences: computed.alias('model.geofences'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report6'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet filtredByDriverData = this.get('reportsFilters.users')?.length > 0 ? data.filter((item) => {\n\t\t\treturn this.get('reportsFilters.users').indexOf(item.driverID) > -1\n\t\t}) : data\n\n\t\tlet filtredByGeofences = (this.get('reportsFilters.selectedGeofences').length == 0) ? filtredByDriverData : filtredByDriverData.filter((item) => {\n\t\t\tlet retVal = this.get('reportsFilters.selectedGeofences').filter((g) => {\n\t\t\t\treturn item.geofences.indexOf(g) > -1\n\t\t\t})\n\t\t\tif (retVal.length > 0) return item\n\t\t})\n\n\t\tlet sortedData = filtredByGeofences.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('date')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet window = this.get('currentUser.windowDuration')\n\t\tlet stationaryDuration = this.get('currentUser.stationaryDuration')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/6', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\t$filter: params,\n\t\t\t\tstationaryDuration,\n\t\t\t\twindow,\n\t\t\t},\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\t\t\tlet drivers = processed.totals.driversIDs.map(userID => {\n\t\t\t\tlet user = this.get('users').findBy('id', userID)\n\t\t\t\tif (user && user.get('fullName')) {\n\t\t\t\t\treturn user.get('fullName')\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tdrivers,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tduration: 0,\n\t\t\tengineOnDuration: 0,\n\t\t\tplannedDuration: null,\n\t\t\tplannedStartTime: null,\n\t\t\tplannedEndTime: null,\n\t\t\tdriversIDs: []\n\t\t}\n\n\t\tlet hasCan = (vehicle ? vehicle.get('hasValidCan') : false)\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tif (item.geofences) {\n\t\t\t\tlet geofences = ''\n\t\t\t\titem.geofences.forEach(geofenceID => {\n\t\t\t\t\tlet geofenceModel = this.get('geofences').findBy('id', geofenceID)\n\t\t\t\t\tif (geofenceModel) {\n\t\t\t\t\t\tgeofences += geofenceModel.get('name') + ', '\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tprocessed.geofences = {\n\t\t\t\t\tvalue: geofences.substr(0, geofences.length - 2),\n\t\t\t\t\tdisplay: geofences.substr(0, geofences.length - 2),\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: moment.duration(item.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.engineOnDuration = {\n\t\t\t\tvalue: (item.engineOnDuration ? Number(item.engineOnDuration) : 0),\n\t\t\t\tdisplay: moment.duration(item.engineOnDuration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.startTime = {\n\t\t\t\tvalue: item.startTime,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.startTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t}\n\t\t\tprocessed.endTime = {\n\t\t\t\tvalue: item.endTime,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.endTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t}\n\t\t\tprocessed.plannedDuration = {\n\t\t\t\tvalue: item.plannedDuration,\n\t\t\t\tdisplay: item.plannedDuration ? moment.duration(item.plannedDuration, 's').format(i18n.t('durationFormat').string) : '',\n\t\t\t}\n\t\t\tprocessed.plannedStartTime = {\n\t\t\t\tvalue: item.plannedStartTime,\n\t\t\t\tdisplay: item.plannedStartTime ? moment.duration(item.plannedStartTime, 's').format(i18n.t('durationFormat').string) : '',\n\t\t\t}\n\t\t\tprocessed.plannedEndTime = {\n\t\t\t\tvalue: item.plannedEndTime,\n\t\t\t\tdisplay: item.plannedEndTime ? moment.duration(item.plannedEndTime, 's').format(i18n.t('durationFormat').string) : '',\n\t\t\t}\n\t\t\tprocessed.location = {\n\t\t\t\tvalue: item.location,\n\t\t\t\tdisplay: item.location ? item.location : ''\n\t\t\t}\n\t\t\tprocessed.state = {\n\t\t\t\tvalue: item.state,\n\t\t\t\tdisplay: item.state ? i18n.t('reports.poi.' + item.state) : ''\n\t\t\t}\n\n\t\t\tprocessed.odometerComposed = this.odometerCompose(item.canOdometerEnd, item.virtualOdometerEnd, hasCan)\n\n\t\t\t// totals           \n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.engineOnDuration += processed.engineOnDuration.value\n\t\t\ttotals.plannedDuration += processed.plannedDuration.value\n\t\t\ttotals.plannedStartTime += processed.plannedStartTime.value\n\t\t\ttotals.plannedEndTime += processed.plannedEndTime.value\n\t\t\tif (item.driverID && totals.driversIDs.indexOf(item.driverID) === -1) {\n\t\t\t\ttotals.driversIDs.push(item.driverID)\n\t\t\t}\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\tres.totals.duration = {\n\t\t\tvalue: totals.duration,\n\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tres.totals.engineOnDuration = {\n\t\t\tvalue: totals.engineOnDuration,\n\t\t\tdisplay: moment.duration(totals.engineOnDuration, 's').format(i18n.t('durationFormat').string)\n\t\t}\n\t\tres.totals.driversIDs = totals.driversIDs\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tselectGeofences (selection) {\n\t\t\tthis.set('reportsFilters.selectedGeofences', selection ? selection : [])\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $(`<caption class='leftSide'></caption>`)\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate'))\n\t\t\t\t\tif (tableData.drivers) {\n\t\t\t\t\t\tlet label = tableData.drivers.length > 1 ? i18n.t('drivers') : i18n.t('driver') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.drivers + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($(`<th class='tableHeader'>${i18n.t(col.translationKey)}</th>`))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\timportPlans () {\n\t\t\tlet options = {\n\t\t\t\tfilters: this.get('reportsFilters')\n\t\t\t}\n\t\t\tthis.get('modal').open('dc-plans-import', options)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.get('getReportData').perform()\n\t\t\t\t})\n\t\t},\n\t}\n})","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\tmodal: service(),\n\n\tloading: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report2',\n\tsortBy: 'startTime',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report2'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\tunusedVehicles: computed('formattedData', 'vehicles', 'reportsFilters.vehicles', function () {\n\t\tlet formattedData = this.get('formattedData')\n\t\tlet vehicles = this.get('vehicles')\n\t\tlet selVehicles = this.get('reportsFilters.vehicles')\n\n\t\tlet usedVehicles = formattedData.mapBy('vehicle.id')\n\t\treturn vehicles.filter(veh => {\n\t\t\tlet vehID = veh.get('id')\n\t\t\treturn selVehicles.indexOf(vehID) !== -1 && usedVehicles.indexOf(vehID) === -1\n\t\t}).sortBy('licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet timetable = this.get('currentUser.reportsTimetable')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t\ttimetable: timetable,\n\t\t\tspecialFilters: {\n\t\t\t\tstationaryDuration: {\n\t\t\t\t\tselected: this.get('currentUser.user.settings.reports.report2.filters.stationaryDuration.selected'),\n\t\t\t\t\tvalue: this.get('currentUser.user.settings.reports.report2.filters.stationaryDuration.value'),\n\t\t\t\t},\n\t\t\t\t// weeklyBreak: this.get('currentUser.user.settings.reports.report2.filters.weeklyBreak'),\n\t\t\t\tdailyBreak: this.get('currentUser.user.settings.reports.report2.filters.dailyBreak'),\n\t\t\t\tborderCrossing: this.get('currentUser.user.settings.reports.report2.filters.borderCrossing'),\n\t\t\t\tstoppingPurpose: this.get('currentUser.user.settings.reports.report2.filters.stoppingPurpose'),\n\t\t\t}\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/2', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t})\n\t}).restartable(),\n\n\tprocessData (tables) {\n\t\tlet reportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tdrivers: processed.drivers,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\tprocessItem(item, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tconst hasCan = (vehicle ? vehicle.get('hasValidCan') : false)\n\n\t\t// rowState\n\t\tconst min = vehicle.get('speedLimit.min') || 0\n\t\tconst offset = vehicle.get('speedLimit.offset') || 0\n\t\tconst max = vehicle.get('speedLimit.max') || 0\n\n\t\tconst processed = {}\n\n\t\tprocessed.default = item\n\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.canDistance, item.distance)\n\t\tprocessed.consumptionComposed = this.fuelValuePopup(false, item.sensorFuelConsumption, item.canFuelConsumption, item.fuelConsumption, vehicle)\n\t\tprocessed.fuelLevelComposed = this.fuelLevelCompose(item.sensorFuelLevelEndOfDay, item.canFuelLevelEndOfDay, vehicle)\n\t\tprocessed.odometerComposed = this.odometerCompose(item.canOdometer, item.virtualOdometer, hasCan)\n\t\tprocessed.odometerStartComposed = this.odometerCompose(item.canOdometerStart, item.virtualOdometerStart, hasCan)\n\t\tprocessed.purpose = {\n\t\t\tvalue: item.purpose,\n\t\t\tdisplay: item.purpose,\n\t\t}\n\t\tprocessed.mapLink = `/map/routes/${vehicle.get('id')}?end=${this.convertDateToBrowserTZ(item.endTime)}&start=${this.convertDateToBrowserTZ(item.startTime)}`\n\t\tprocessed.startTime = {\n\t\t\tvalue: item.startTime,\n\t\t\tdisplay: this.formatDateToCompanyTZ(item.startTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t}\n\t\tprocessed.endTime = {\n\t\t\tvalue: item.endTime,\n\t\t\tdisplay: this.formatDateToCompanyTZ(item.endTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t}\n\t\t// todo map link\n\t\tprocessed.duration = {\n\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\tdisplay: moment.duration(item.duration, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tprocessed.groupedWith = {\n\t\t\tvalue: item.pairVehicleLicensePlate,\n\t\t\tdisplay: item.pairVehicleLicensePlate ?? '-',\n\t\t}\n\t\tprocessed.maxSpeed = {\n\t\t\tvalue: (item.maxSpeed ? Number(item.maxSpeed) : 0),\n\t\t\tdisplay: Number(item.maxSpeed).toFixed(2),\n\t\t}\n\t\tprocessed.stationaryTypeBefore = {\n\t\t\tvalue: item.stationaryTypeBefore,\n\t\t\tdisplay: item.stationaryTypeBefore ? i18n.t(`reports.settings.specific.route.${item.stationaryTypeBefore}`).string : '',\n\t\t}\n\t\tprocessed.stationaryTypeAfter = {\n\t\t\tvalue: item.stationaryTypeAfter,\n\t\t\tdisplay: item.stationaryTypeAfter ? i18n.t(`reports.settings.specific.route.${item.stationaryTypeAfter}`).string : '',\n\t\t}\n\t\tprocessed.startLocation = this.getLocation(item.startLocation, item.startGeofenceNames)\n\t\tprocessed.endLocation = this.getLocation(item.endLocation, item.endGeofenceNames)\n\n\t\t// rowState\n\t\tlet rowMaxSpeed = processed.maxSpeed.value\n\t\tlet rowColor = 'green'\n\t\tlet rowPopup = i18n.t('reports.alerts.validValues')\n\t\tif (vehicle) {\n\t\t\tif (rowMaxSpeed > min) {\n\t\t\t\tif (max && rowMaxSpeed > max) {\n\t\t\t\t\tif (!offset || (rowMaxSpeed > max + offset)) {\n\t\t\t\t\t\trowColor = 'red'\n\t\t\t\t\t\trowPopup = i18n.t('reports.alerts.maxSpeed.red', { dif: rowMaxSpeed - max, maxSpeed: max })\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tprocessed.rowState = {\n\t\t\tcolor: rowColor,\n\t\t\tpopup: rowPopup,\n\t\t\trouteID: item.routeID,\n\t\t}\n\t\tprocessed.isExpanded = false\n\n\t\treturn processed\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tdrivers: [],\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t}\n\n\t\tlet length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tfuelConsumptionSensor: 0,\n\t\t\tfuelConsumptionCAN: 0,\n\t\t\tfuelConsumption: 0,\n\t\t\tconsumptionComposed: 0,\n\t\t\tdistanceCAN: 0,\n\t\t\tdistanceGPS: 0,\n\t\t\tdistanceComposed: 0,\n\t\t\tduration: 0,\n\t\t\tmaxSpeed: 0,\n\t\t\tdrivers: [],\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tconst processed = this.processItem(item, vehicle)\n\n\t\t\t// totals\n\t\t\ttotals.fuelConsumptionSensor += (item.sensorFuelConsumption ? Number(item.sensorFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumptionCAN += (item.canFuelConsumption ? Number(item.canFuelConsumption) : 0)\n\t\t\ttotals.fuelConsumption += (item.fuelConsumption ? Number(item.fuelConsumption) : 0)\n\t\t\ttotals.distanceCAN += (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\ttotals.distanceGPS += (item.distance ? Number(item.distance) : 0)\n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.maxSpeed = Math.max(item.maxSpeed, totals.maxSpeed)\n\t\t\tif (item.driverID && totals.drivers.indexOf(item.driverID) === -1) {\n\t\t\t\ttotals.drivers.push(item.driverID)\n\t\t\t}\n\n\t\t\tif (item.childs?.length) {\n\t\t\t\tprocessed.childs = item.childs.map(child => this.processItem(child, vehicle))\n\t\t\t}\n\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.distanceCAN, totals.distanceGPS, true)\n\t\tres.totals.consumptionComposed = this.fuelValuePopup(false, totals.fuelConsumptionSensor, totals.fuelConsumptionCAN, totals.fuelConsumption, vehicle, true, true)\n\t\tres.totals.duration = {\n\t\t\tvalue: totals.duration,\n\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tres.totals.maxSpeed = {\n\t\t\tvalue: totals.maxSpeed,\n\t\t\tdisplay: Number(totals.maxSpeed).toFixed(2),\n\t\t}\n\t\tif (totals.drivers.length) {\n\t\t\tlet driversNames = totals.drivers.map(drvID => {\n\t\t\t\tlet user = this.get('users').findBy('id', drvID)\n\t\t\t\tif (user && user.get('fullName')) {\n\t\t\t\t\treturn user.get('fullName')\n\t\t\t\t}\n\t\t\t})\n\t\t\tres.drivers = driversNames\n\t\t}\n\n\t\treturn res\n\t},\n\n\tsetQP (qp) { // set query params: make backup of actual\n\t\tif (qp) {\n\t\t\tthis.set('qp', qp)\n\t\t\tlet rf = this.get('reportsFilters')\n\t\t\tlet backup = {\n\t\t\t\tvehicles: rf.vehicles,\n\t\t\t\tstartDate: rf.startDate,\n\t\t\t\tendDate: rf.endDate,\n\t\t\t\tselectedPeriod: rf.selectedPeriod,\n\t\t\t}\n\t\t\trf.set('backup', backup)\n\t\t\trf.updateFilter('vehicles', [qp.vehicleID])\n\t\t\trf.set('startDate', Number(qp.start))\n\t\t\trf.set('endDate', Number(qp.end))\n\t\t}\n\t},\n\n\tremoveQP () { // remove query params\n\t\tlet qp = this.get('qp')\n\t\tif (qp) {\n\t\t\tlet rf = this.get('reportsFilters')\n\t\t\tlet backup = rf.backup\n\t\t\tif (backup) {\n\t\t\t\tthis.set('qp', false)\n\t\t\t\trf.updateFilter('vehicles', backup.vehicles)\n\t\t\t\trf.set('startDate', Number(backup.startDate))\n\t\t\t\trf.set('endDate', Number(backup.endDate))\n\t\t\t\trf.set('selectedPeriod', backup.selectedPeriod)\n\t\t\t\trf.set('backup', false)\n\t\t\t}\n\t\t}\n\t},\n\n\tactions: {\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate') + ' - ' + tableData.vehicle.get('group.name'))\n\t\t\t\t\tif (tableData.drivers) {\n\t\t\t\t\t\tlet label = tableData.drivers.length > 1 ? i18n.t('drivers') : i18n.t('driver') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.drivers.join(', ') + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\tif (col.key === 'map') {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\tlet colObj = dataRow[col.key]\n\t\t\t\t\t\t\tif (col.key === 'map') {\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (colObj) {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (colObj.display !== null ? colObj.display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\trow.append($('<td></td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tshowDetailedReportModal (vehicleID) {\n\t\t\tlet startDate = this.get('reportsFilters').startDate\n\t\t\tlet endDate = this.getRealEndDate(this.get('reportsFilters').endDate)\n\t\t\tlet validDate = 259200000 > (endDate - startDate) // max 3 days\n\t\t\tif (!startDate || !endDate || !vehicleID) { return false }\n\n\t\t\tthis.get('modal').open('dc-route-detailed', { validDate })\n\t\t\t\t.then((res) => {\n\t\t\t\t\tlet email = res.email\n\t\t\t\t\tlet interval = res.interval\n\t\t\t\t\tif (!startDate || !endDate || !vehicleID || !email || !interval) { return false }\n\t\t\t\t\tlet priority = this.get('currentUser.priority')\n\t\t\t\t\tlet locale = this.get('currentUser.locale')\n\t\t\t\t\tlet format = 'pdf'\n\n\t\t\t\t\tthis.get('api').post('/reports/102/download', {\n\t\t\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\t\t\tdataType: 'json',\n\t\t\t\t\t\tdata: JSON.stringify({\n\t\t\t\t\t\t\tformat,\n\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\tpriority,\n\t\t\t\t\t\t\temail,\n\t\t\t\t\t\t\tsplitInterval: interval,\n\t\t\t\t\t\t\t$filter: {\n\t\t\t\t\t\t\t\tstartDate: this.convertDateToCompanyTZ(startDate),\n\t\t\t\t\t\t\t\tendDate: this.convertDateToCompanyTZ(endDate),\n\t\t\t\t\t\t\t\tvehicles: [vehicleID],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.willReceiveReportThroughtEmail'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\tsavePurposeForRoute (routeID, value) {\n\t\t\tvalue = value ? value.string : null\n\t\t\tlet api = this.get('api')\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tapi\n\t\t\t\t.request(`routes/${routeID}`, {\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tmethod: 'PUT',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\troute: {\n\t\t\t\t\t\t\tdetails: {\n\t\t\t\t\t\t\t\tpurpose: value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(i18n.t('messages.operationWithSuccess'))\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t})\n\t\t},\n\t\texpandRow (row) {\n\t\t\tif (!row.childs) { return }\n\t\t\tset(row, 'isExpanded', !row.isExpanded)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\ti18n: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report3',\n\tsortBy: 'startTime',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report3'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tgroupedData: computed('data', function () { // grouped and concatenated data\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\treturn groupedData\n\t}),\n\n\tformattedData: computed('groupedData', 'triggerFormat', function () {\n\t\tlet groupedData = this.get('groupedData')\n\t\tif (!groupedData || !groupedData.length) { return [] }\n\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet stationaryDuration = this.get('currentUser.stationaryDuration')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/3', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\t$filter: params,\n\t\t\t\tstationaryDuration,\n\t\t\t},\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\t\t\tlet drivers = []\n\t\t\tif (processed.content.length) {\n\t\t\t\tdrivers = processed.totals.driversIDs.map(userID => {\n\t\t\t\t\tlet user = this.get('users').findBy('id', userID)\n\t\t\t\t\tif (user && user.get('fullName')) {\n\t\t\t\t\t\treturn user.get('fullName')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tdrivers,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\ttotals: {}\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tdriversIDs: [],\n\t\t\tduration: 0,\n\t\t\tengineOnDuration: 0\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tlet driver = this.get('users').findBy('id', item.driverID)\n\t\t\tprocessed.driver = {\n\t\t\t\tvalue: driver ? driver.get('fullName') : '',\n\t\t\t\tdisplay: driver ? driver.get('fullName') : '',\n\t\t\t}\n\n\t\t\tif (item.startTime && item.endTime) {\n\t\t\t\tprocessed.startTime = {\n\t\t\t\t\tvalue: item.startTime,\n\t\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.startTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t\t}\n\t\t\t\tprocessed.endTime = {\n\t\t\t\t\tvalue: item.endTime,\n\t\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.endTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: item.duration ? moment.duration(item.duration, 's').format(i18n.t('durationFormat').string) : '',\n\t\t\t}\n\t\t\tprocessed.engineOnDuration = {\n\t\t\t\tvalue: (item.engineOnDuration ? Number(item.engineOnDuration) : 0),\n\t\t\t\tdisplay: item.engineOnDuration ? moment.duration(item.engineOnDuration, 's').format(i18n.t('durationFormat').string) : '',\n\t\t\t}\n\t\t\t// Set rowColor & tooltip\n\t\t\tlet rowColor = 'green'\n\t\t\tlet rowPopup = i18n.t('reports.alerts.stationary.green')\n\t\t\tif (item.engineOnDuration <= 5 * 60) { // duration < 5 min - GREEN\n\t\t\t\trowColor = 'green'\n\t\t\t\trowPopup = i18n.t('reports.alerts.stationary.green')\n\t\t\t}\n\t\t\telse if (item.engineOnDuration <= 15 * 60) { // duration < 15 min - YELLOW\n\t\t\t\trowColor = 'yellow'\n\t\t\t\trowPopup = i18n.t('reports.alerts.stationary.yellow')\n\t\t\t}\n\t\t\telse if (item.engineOnDuration > 15 * 60) { // duration > 15 min - RED\n\t\t\t\trowColor = 'red'\n\t\t\t\trowPopup = i18n.t('reports.alerts.stationary.red')\n\t\t\t}\n\t\t\tprocessed.rowState = {\n\t\t\t\tcolor: rowColor,\n\t\t\t\tpopup: rowPopup,\n\t\t\t}\n\n\t\t\tprocessed.location = this.getLocation(item.location, item.geofenceNames)\n\n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.engineOnDuration += processed.engineOnDuration.value\n\n\t\t\t// Total\n\t\t\tif (item.driverID && totals.driversIDs.indexOf(item.driverID) === -1) {\n\t\t\t\ttotals.driversIDs.push(item.driverID)\n\t\t\t}\n\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\tres.totals.duration = {\n\t\t\tvalue: totals.duration,\n\t\t\tdisplay: moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tres.totals.engineOnDuration = {\n\t\t\tvalue: totals.engineOnDuration,\n\t\t\tdisplay: moment.duration(totals.engineOnDuration, 's').format(i18n.t('durationFormat').string)\n\t\t}\n\t\tres.totals.driversIDs = totals.driversIDs\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat') // headers have changed\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate') + ' - ' + tableData.vehicle.get('group.name'))\n\t\t\t\t\tif (tableData.drivers) {\n\t\t\t\t\t\tlet label = tableData.drivers.length > 1 ? i18n.t('drivers') : i18n.t('driver') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.drivers + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\t// Total row\n\t\t\t\t\tif (tableData.totals) {\n\t\t\t\t\t\tvar row = $('<tr class=\"totalRow\"></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col, index) => {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\trow.append($('<td><b>Total<b></td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (tableData.totals[col.key] ? tableData.totals[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t}\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed, set } from '@ember/object'\nimport { isEmpty } from '@ember/utils'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\n\nexport default Controller.extend(Formatter, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\tmodal: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report22',\n\tsortBy: 'downloadedAt',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\theaders: {\n\t\tvehicles: [\n\t\t\t{ key: 'filename', translationKey: 'reports.headerFields.specific.tachoFiles.filename', align: 'left', selected: true },\n\t\t\t{ key: 'licensePlate', translationKey: 'reports.headerFields.licensePlate', align: 'left', selected: true },\n\t\t\t{ key: 'downloadedAt', translationKey: 'reports.headerFields.specific.tachoFiles.downloadedAt', align: 'left', selected: true },\n\t\t],\n\t\tdrivers: [\n\t\t\t{ key: 'filename', translationKey: 'reports.headerFields.specific.tachoFiles.filename', align: 'left', selected: true },\n\t\t\t{ key: 'fullName', translationKey: 'reports.headerFields.driver', align: 'left', selected: true },\n\t\t\t{ key: 'downloadedAt', translationKey: 'reports.headerFields.specific.tachoFiles.downloadedAt', align: 'left', selected: true },\n\t\t]\n\t},\n\n\t// selectedColumns: computed.alias('currentUser.reportsColumns.report22'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByType(sortedData)\n\t\tlet formattedData = this.formatData(groupedData)\n\t\treturn formattedData\n\t}),\n\n\tselectedRowsCount: computed('formattedData.vehicles.@each.isSelected','formattedData.drivers.@each.isSelected', function(){\n\t\tconst selectedVehicles = this.get('formattedData.vehicles')?.filterBy('isSelected')?.length ?? 0\n\t\tconst selectedDrivers = this.get('formattedData.drivers')?.filterBy('isSelected')?.length ?? 0\n\t\treturn selectedVehicles + selectedDrivers\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tparams.vins = this.get('vehicles').filter(vehicle => filters.vehicles.includes(vehicle.get('id')) && vehicle.get('vin.length') > 0 && vehicle.get('companyID') === this.get('currentUser.user.companyID')).mapBy('vin')\n\t\tparams.cards = this.get('users').filter(user => filters.users.includes(user.get('id')) && user.get('details.tachoCardID.length') > 0).mapBy('details.tachoCardID')\n\t\tparams.summarize = this.get('currentUser.user.settings.reports.summarize')\n\n\t\tif (!params.vins.length && !params.cards.length) { // if filter empty, skip request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/22', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tgetDriverNameForTachoCard (cardID) {\n\t\tconst user = this.get('users').findBy('details.tachoCardID', cardID)\n\t\tif (isEmpty(user)) { return cardID }\n\t\tconst fullName = user.get('fullName')\n\t\tif (isEmpty(fullName)) { return cardID }\n\t\treturn fullName\n\t},\n\n\tgroupByType (data) {\n\t\tconst grouped = { vehicles: [], drivers: [] }\n\n\t\tdata.forEach(item => {\n\t\t\tswitch (item.type) {\n\t\t\t\tcase 'M': grouped.vehicles.push(item); break;\n\t\t\t\tcase 'C': grouped.drivers.push(item); break;\n\t\t\t}\n\t\t})\n\n\t\treturn grouped\n\t},\n\n\tformatData (grouped) {\n\t\tconst formatted = { vehicles: [], drivers: [] }\n\n\t\tformatted.vehicles = grouped.vehicles.map(item => {\n\t\t\tconst vehicle = this.get('vehicles').findBy('vin', item.vin)\n\t\t\tconst licensePlate = isEmpty(vehicle) ? item.vin : vehicle.get('licensePlate')\n\n\t\t\treturn {\n\t\t\t\tisSelected: false,\n\t\t\t\tdownloadedAt: {\n\t\t\t\t\tvalue: item.downloadedAt,\n\t\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.downloadedAt, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t\t},\n\t\t\t\tfilename: {\n\t\t\t\t\tvalue: item.filename,\n\t\t\t\t\tdisplay: item.filename\n\t\t\t\t},\n\t\t\t\tlicensePlate: {\n\t\t\t\t\tvalue: licensePlate,\n\t\t\t\t\tdisplay: licensePlate\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\n\t\tformatted.drivers = grouped.drivers.map(item => {\n\t\t\tconst user = this.get('users').findBy('details.tachoCardID', item.cardID)\n\t\t\tlet fullName = item.cardID\n\t\t\tif (!isEmpty(user) && !isEmpty(user.get('fullName'))) {\n\t\t\t\tfullName = user.get('fullName')\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisSelected: false,\n\t\t\t\tdownloadedAt: {\n\t\t\t\t\tvalue: item.downloadedAt,\n\t\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.downloadedAt, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t\t},\n\t\t\t\tfilename: {\n\t\t\t\t\tvalue: item.filename,\n\t\t\t\t\tdisplay: item.filename\n\t\t\t\t},\n\t\t\t\tfullName: {\n\t\t\t\t\tvalue: fullName,\n\t\t\t\t\tdisplay: fullName\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\n\t\treturn formatted\n\t},\n\n\tactions: {\n\t\tselectRow(row) {\n\t\t\tset(row, 'isSelected', !row.isSelected)\n\t\t},\n\t\tmultipleDownload() {\n\t\t\tconst selectedVehicles = this.get('formattedData.vehicles')?.filterBy('isSelected') ?? []\n\t\t\tconst selectedDrivers = this.get('formattedData.drivers')?.filterBy('isSelected') ?? []\n\t\t\tconst selectedRows = selectedVehicles.concat(selectedDrivers)\n\t\t\tif (!selectedRows.length) return\n\n\t\t\tconst fileNames = selectedRows.map(row => row.filename.value)\n\t\t\tthis.send('download', fileNames)\n\t\t},\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\treturn false\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\topenDownloadModal () {\n\t\t\tthis.get('modal').open('dc-tacho-download', { users: this.get('users'), vehicles: this.get('vehicles'), groups: this.get('groups') })\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.get('getReportData').perform()\n\t\t\t\t})\n\t\t},\n\t\tdownload (value) { // value = row || fileNames\n\t\t\tconst multiFilesDownload = Array.isArray(value)\n\t\t\tconst api = this.get('api')\n\t\t\tconst idToken = api.get('session.data.authenticated.idToken')\n\t\t\tif (!idToken) { return false }\n\n\t\t\tconst url = `${api.host}/${api.namespace}/reports/22/download`\n\t\t\tconst data = JSON.stringify({\n\t\t\t\tformat: 'pdf',\n\t\t\t\tarchive: multiFilesDownload,\n\t\t\t\tfiles: multiFilesDownload ? value : [value.filename.value]\n\t\t\t})\n\n\t\t\tlet req = new XMLHttpRequest()\n\t\t\treq.open('POST', url, true)\n\t\t\treq.setRequestHeader('Authorization', `Bearer ${idToken}`)\n\t\t\treq.setRequestHeader('Content-type', 'application/json; charset=utf-8');\n\t\t\treq.responseType = 'blob'\n\n\t\t\treq.onload = () => {\n\t\t\t\tlet blob = req.response\n\t\t\t\tlet link = document.createElement('a')\n\t\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\t\tlink.download = multiFilesDownload ? 'tacho-files.zip' : value.filename.value\n\t\t\t\tlink.className = 'hidden'\n\t\t\t\tdocument.body.appendChild(link)\n\t\t\t\tlink.click()\n\t\t\t}\n\t\t\treq.send(data)\n\t\t}\n\t}\n})\n","\nimport Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { isEmpty } from '@ember/utils'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report26',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report26'),\n\tnoPagination: computed('reportsFilters.users', function () {\n\t\treturn this.get('reportsFilters.users') && this.get('reportsFilters.users').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByCardID(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('text')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tstartDate: this.formatDateToUTC(filters.startDate),\n\t\t\tendDate: this.formatDateToUTC(filters.endDate),\n\t\t}\n\n\t\tif (this.get('qp')) {\n\t\t\tparams.cards = [this.get('qp.cardID')]\n\t\t} else {\n\t\t\tparams.cards = this.get('users').filter(user => filters.users.includes(user.get('id')) && user.get('details.tachoCardID.length') > 0).mapBy('details.tachoCardID')\n\t\t}\n\n\t\tif (!params.cards.length) {\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/26', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tgetDriverNameForTachoCard (cardID) {\n\t\tconst user = this.get('users').findBy('details.tachoCardID', cardID)\n\t\tif (isEmpty(user)) { return cardID }\n\t\tconst fullName = user.get('fullName')\n\t\tif (isEmpty(fullName)) { return cardID }\n\t\treturn fullName\n\t},\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\n\t\treportData = tables.map(table => {\n\t\t\tlet text = this.getDriverNameForTachoCard(table.cardID)\n\n\t\t\tlet processed = this.formatData(table.content, text)\n\n\t\t\treturn {\n\t\t\t\ttext,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} text\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t *  text,\n\t * \tcontent,\n\t * }\n\t */\n\tformatData (rows, text) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\ttext,\n\t\t\tcontent: [],\n\t\t\ttotals: {}\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tdistance: 0,\n\t\t\tdrivingDuration: 0,\n\t\t\tothersDuration: 0,\n\t\t\tavailabilityDuration: 0,\n\t\t\tactivityDuration: 0,\n\t\t\trestDuration: 0,\n\t\t\tnightDuration: 0,\n\t\t}\n\n\t\tres.content = rows.map((item, idx) => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.fakeID = item.cardID + idx\n\t\t\tprocessed.activityList = item.activityList\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: moment.utc(item.date).format('DD/MM/YYYY'),\n\t\t\t}\n\t\t\tprocessed.startTime = {\n\t\t\t\tvalue: item.startTime,\n\t\t\t\tdisplay: moment.utc(item.startTime).format('HH:mm'),\n\t\t\t}\n\t\t\tprocessed.endTime = {\n\t\t\t\tvalue: item.endTime,\n\t\t\t\tdisplay: moment.utc(item.endTime).format('HH:mm'),\n\t\t\t}\n\t\t\tprocessed.distance = {\n\t\t\t\tvalue: (item.distance ? Number(item.distance) : 0),\n\t\t\t\tdisplay: Number(item.distance).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.drivingDuration = {\n\t\t\t\tvalue: (item.drivingDuration ? Number(item.drivingDuration) : 0),\n\t\t\t\tdisplay: moment.duration(item.drivingDuration, 'm').format(i18n.t('durationFormatHHmm').string),\n\t\t\t}\n\t\t\tprocessed.othersDuration = {\n\t\t\t\tvalue: (item.othersDuration ? Number(item.othersDuration) : 0),\n\t\t\t\tdisplay: moment.duration(item.othersDuration, 'm').format(i18n.t('durationFormatHHmm').string),\n\t\t\t}\n\t\t\tprocessed.availabilityDuration = {\n\t\t\t\tvalue: (item.availabilityDuration ? Number(item.availabilityDuration) : 0),\n\t\t\t\tdisplay: moment.duration(item.availabilityDuration, 'm').format(i18n.t('durationFormatHHmm').string),\n\t\t\t}\n\t\t\tprocessed.activityDuration = {\n\t\t\t\tvalue: (item.activityDuration ? Number(item.activityDuration) : 0),\n\t\t\t\tdisplay: moment.duration(item.activityDuration, 'm').format(i18n.t('durationFormatHHmm').string),\n\t\t\t}\n\t\t\tprocessed.restDuration = {\n\t\t\t\tvalue: (item.restDuration ? Number(item.restDuration) : 0),\n\t\t\t\tdisplay: moment.duration(item.restDuration, 'm').format(i18n.t('durationFormatHHmm').string),\n\t\t\t}\n\t\t\tprocessed.nightDuration = {\n\t\t\t\tvalue: (item.nightDuration ? Number(item.nightDuration) : 0),\n\t\t\t\tdisplay: moment.duration(item.nightDuration, 'm').format(i18n.t('durationFormatHHmm').string),\n\t\t\t}\n\n\t\t\ttotals.distance += processed.distance.value\n\t\t\ttotals.drivingDuration += processed.drivingDuration.value\n\t\t\ttotals.othersDuration += processed.othersDuration.value\n\t\t\ttotals.availabilityDuration += processed.availabilityDuration.value\n\t\t\ttotals.activityDuration += processed.activityDuration.value\n\t\t\ttotals.restDuration += processed.restDuration.value\n\t\t\ttotals.nightDuration += processed.nightDuration.value\n\n\t\t\treturn processed\n\t\t})\n\n\t\tres.totals.distance = {\n\t\t\tvalue: totals.distance,\n\t\t\tdisplay: Number(totals.distance).toFixed(2),\n\t\t}\n\t\tres.totals.drivingDuration = {\n\t\t\tvalue: totals.drivingDuration,\n\t\t\tdisplay: moment.duration(totals.drivingDuration, 'm').format(i18n.t('durationFormatDDHHmm').string),\n\t\t}\n\t\tres.totals.othersDuration = {\n\t\t\tvalue: totals.othersDuration,\n\t\t\tdisplay: moment.duration(totals.othersDuration, 'm').format(i18n.t('durationFormatDDHHmm').string),\n\t\t}\n\t\tres.totals.availabilityDuration = {\n\t\t\tvalue: totals.availabilityDuration,\n\t\t\tdisplay: moment.duration(totals.availabilityDuration, 'm').format(i18n.t('durationFormatDDHHmm').string),\n\t\t}\n\t\tres.totals.activityDuration = {\n\t\t\tvalue: totals.activityDuration,\n\t\t\tdisplay: moment.duration(totals.activityDuration, 'm').format(i18n.t('durationFormatDDHHmm').string),\n\t\t}\n\t\tres.totals.restDuration = {\n\t\t\tvalue: totals.restDuration,\n\t\t\tdisplay: moment.duration(totals.restDuration, 'm').format(i18n.t('durationFormatDDHHmm').string),\n\t\t}\n\t\tres.totals.nightDuration = {\n\t\t\tvalue: totals.nightDuration,\n\t\t\tdisplay: moment.duration(totals.nightDuration, 'm').format(i18n.t('durationFormatDDHHmm').string),\n\t\t}\n\n\t\treturn res\n\t},\n\n\tsetQP (qp) { // set query params: make backup of actual\n\t\tif (qp) {\n\t\t\tthis.set('qp', qp)\n\t\t\tlet rf = this.get('reportsFilters')\n\t\t\tlet backup = {\n\t\t\t\tstartDate: rf.startDate,\n\t\t\t\tendDate: rf.endDate,\n\t\t\t\tusers: rf.users,\n\t\t\t\tselectedPeriod: rf.selectedPeriod,\n\t\t\t}\n\t\t\trf.set('backup', backup)\n\t\t\tconst qpUserId = this.get('users').find(user => user.get('details.tachoCardID') === qp.cardID)?.get('id')\n\t\t\tif (qpUserId) {\n\t\t\t\trf.updateFilter('users', [qpUserId])\n\t\t\t}\n\t\t\trf.set('startDate', Number(qp.start))\n\t\t\trf.set('endDate', Number(qp.end))\n\t\t}\n\t},\n\n\tremoveQP () { // remove query params\n\t\tlet qp = this.get('qp')\n\t\tif (qp) {\n\t\t\tlet rf = this.get('reportsFilters')\n\t\t\tlet backup = rf.backup\n\t\t\tif (backup) {\n\t\t\t\tthis.set('qp', false)\n\t\t\t\trf.updateFilter('users', backup.users)\n\t\t\t\trf.set('startDate', Number(backup.startDate))\n\t\t\t\trf.set('endDate', Number(backup.endDate))\n\t\t\t\trf.set('selectedPeriod', backup.selectedPeriod)\n\t\t\t\trf.set('backup', false)\n\t\t\t}\n\t\t}\n\t},\n\n\tactions: {\n\t\trowClicked (row) {\n\t\t\tif (row && row.activityList && row.activityList.length)\n\t\t\t\tthis.set('fakeID', this.get('fakeID') === row.fakeID ? null : row.fakeID)\n\t\t},\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\t\t\tlet mapCol = this.get('tHeaders').findBy('key', 'map')\n\t\t\tlet mapColIndex = this.get('tHeaders').indexOf(mapCol)\n\t\t\tlet columns = mapColIndex > 0 ? this.get('tHeaders').removeAt(mapColIndex) : this.get('tHeaders')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.text)\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tcolumns.forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tcolumns.forEach((col) => {\n\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\twillDownload (params, filters) {\n\t\t\tparams.$filter.cards = this.get('users').filter(user => filters.users.includes(user.get('id')) && user.get('details.tachoCardID.length') > 0).mapBy('details.tachoCardID')\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report13',\n\tsortBy: 'startTime',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report13'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/13', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\t\t\tlet drivers = processed.specificHeader.driversIDs.map(userID => {\n\t\t\t\tlet user = this.get('users').findBy('id', userID)\n\t\t\t\tif (user && user.get('fullName')) {\n\t\t\t\t\treturn user.get('fullName')\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tcontent: processed.content,\n\t\t\t\tdrivers,\n\t\t\t\tspecificHeader: processed.specificHeader\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\tspecificHeader: {}\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tdistanceAvailable: 0,\n\t\t\tdistanceOccupied: 0,\n\t\t\tcanDistanceAvailable: 0,\n\t\t\tcanDistanceOccupied: 0,\n\t\t\tdurationOccupied: 0,\n\t\t\tdurationAvailable: 0,\n\t\t\tdurationOff: 0,\n\t\t\tdriversIDs: []\n\t\t}\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tif (item.startTime && item.endTime && item.routeType) {\n\t\t\t\tprocessed.startTime = {\n\t\t\t\t\tvalue: item.startTime,\n\t\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.startTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t\t}\n\t\t\t\tprocessed.endTime = {\n\t\t\t\t\tvalue: item.endTime,\n\t\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.endTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t\t}\n\t\t\t\tprocessed.routeType = {\n\t\t\t\t\tvalue: item.routeType,\n\t\t\t\t\tdisplay: i18n.t(`routeType.${item.routeType}`).string\n\t\t\t\t}\n\t\t\t}\n\t\t\tprocessed.startLocation = {\n\t\t\t\tvalue: item.startLocation,\n\t\t\t\tdisplay: item.startLocation ? item.startLocation : `${item.startCoordinates[1].toFixed(4)} N, ${item.startCoordinates[0].toFixed(4)} E`\n\t\t\t}\n\t\t\tprocessed.endLocation = {\n\t\t\t\tvalue: item.endLocation,\n\t\t\t\tdisplay: item.endLocation ? item.endLocation : `${item.endCoordinates[1].toFixed(4)} N, ${item.endCoordinates[0].toFixed(4)} E`\n\t\t\t}\n\t\t\tprocessed.taxiState = item.taxiState ? i18n.t('dashboard.liveStatus.cupolaState.engineOff') : (item.taxiState === false ? i18n.t('dashboard.liveStatus.cupolaState.engineOn') : i18n.t('dashboard.liveStatus.cupolaState.none'))\n\t\t\tprocessed.cupolaColor = item.taxiState ? 'engineOff' : (item.taxiState === false ? 'engineOn' : 'none')\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.canDistance, item.distance)\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: moment.duration(item.duration, 's').format(i18n.t('durationFormat').string),\n\t\t\t}\n\t\t\tprocessed.fuelComposed = this.fuelValuePopup(false, item.sensorFuelConsumption, item.canFuelConsumption, item.fuelConsumption, vehicle)\n\n\t\t\t// totals\n\t\t\ttotals.distanceGPS += (item.distance ? Number(item.distance) : 0)\n\t\t\tif (item.taxiState) {\n\t\t\t\ttotals.canDistanceOccupied = totals.canDistanceOccupied + (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\t\ttotals.distanceOccupied = totals.distanceOccupied + (item.distance ? Number(item.distance) : 0)\n\t\t\t\ttotals.durationOccupied = totals.durationOccupied + (item.duration ? item.duration : 0)\n\t\t\t} else if (item.taxiState === false) {\n\t\t\t\ttotals.canDistanceAvailable = totals.canDistanceAvailable + (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\t\ttotals.distanceAvailable = totals.distanceAvailable + (item.distance ? Number(item.distance) : 0)\n\t\t\t\ttotals.durationAvailable = totals.durationAvailable + (item.duration ? item.duration : 0)\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttotals.durationOff = totals.durationOff + (item.duration ? item.duration : 0)\n\t\t\t}\n\t\t\tif (item.driverID && totals.driversIDs.indexOf(item.driverID) === -1) {\n\t\t\t\ttotals.driversIDs.push(item.driverID)\n\t\t\t}\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips\n\t\ttotals.distanceComposedAvailable = this.distanceValuePopupWithoutVehicle(totals.canDistanceAvailable, totals.distanceAvailable, true)\n\t\ttotals.distanceComposedOccupied = this.distanceValuePopupWithoutVehicle(totals.canDistanceOccupied, totals.distanceOccupied, true)\n\t\tres.specificHeader = totals\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $(`<caption class='leftSide'></caption>`)\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.vehicle.get('licensePlate'))\n\t\t\t\t\tif (tableData.drivers) {\n\t\t\t\t\t\tlet label = tableData.drivers.length > 1 ? i18n.t('drivers') : i18n.t('driver') + ': '\n\t\t\t\t\t\ttableCaption.append($('<div>' + label + tableData.drivers + '</div>'))\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCaption.append($('<div>' + i18n.t('noDriver') + '</div>'))\n\t\t\t\t\t}\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($(`<th class='tableHeader'>${i18n.t(col.translationKey)}</th>`))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\t\tif (col.key === 'taxiState') {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key] : '') + '</td>'))\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report8',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report8'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicleAndSensor(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('date.value')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/8', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params, locale: this.get('currentUser.locale') },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tgroupByVehicleAndSensor (data) {\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet result = []\n\t\tdata.forEach(row => {\n\t\t\tif (!row.vehicleID || !row.sensorType) { return }\n\n\t\t\tlet found = result.find(entry => entry.vehicleID === row.vehicleID && entry.sensorType === row.sensorType)\n\t\t\tif (found && found.content) {\n\t\t\t\tfound.content.push(row)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tresult.push({\n\t\t\t\t\tvehicleID: row.vehicleID,\n\t\t\t\t\tsensorType: row.sensorType,\n\t\t\t\t\tsensorText: row.sensorText,\n\t\t\t\t\tcontent: [row]\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn result\n\t},\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tsensor: table.sensorText,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\ttotals: {}\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tdistanceCAN: 0,\n\t\t\tdistanceGPS: 0,\n\t\t\tduration: 0,\n\t\t}\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.date, 'DD/MM/YYYY'),\n\t\t\t}\n\t\t\tprocessed.distanceComposed = this.distanceValuePopupWithoutVehicle(item.canDistance, item.distance)\n\t\t\tprocessed.duration = {\n\t\t\t\tvalue: (item.duration ? Number(item.duration) : 0),\n\t\t\t\tdisplay: item.duration ? moment.duration(item.duration, 's').format(i18n.t('durationFormat').string) : '-',\n\t\t\t}\n\t\t\tprocessed.temperatureRange1 = {\n\t\t\t\tvalue: (item.temperature1 ? Number(item.temperature1) : 0),\n\t\t\t\tdisplay: item.temperature1 ? moment.duration(item.temperature1, 's').format(i18n.t('durationFormat').string) : '-'\n\t\t\t}\n\t\t\tprocessed.temperatureRange2 = {\n\t\t\t\tvalue: (item.temperature2 ? Number(item.temperature2) : 0),\n\t\t\t\tdisplay: item.temperature2 ? moment.duration(item.temperature2, 's').format(i18n.t('durationFormat').string) : '-'\n\t\t\t}\n\t\t\tprocessed.temperatureRange3 = {\n\t\t\t\tvalue: (item.temperature3 ? Number(item.temperature3) : 0),\n\t\t\t\tdisplay: item.temperature3 ? moment.duration(item.temperature3, 's').format(i18n.t('durationFormat').string) : '-'\n\t\t\t}\n\t\t\tprocessed.temperatureRange4 = {\n\t\t\t\tvalue: (item.temperature4 ? Number(item.temperature4) : 0),\n\t\t\t\tdisplay: item.temperature4 ? moment.duration(item.temperature4, 's').format(i18n.t('durationFormat').string) : '-'\n\t\t\t}\n\n\t\t\t// totals\n\t\t\ttotals.distanceCAN += (item.canDistance ? Number(item.canDistance) : 0)\n\t\t\ttotals.distanceGPS += (item.distance ? Number(item.distance) : 0)\n\t\t\ttotals.duration += processed.duration.value\n\t\t\ttotals.temperatureRange1 += processed.temperatureRange1.value\n\t\t\ttotals.temperatureRange2 += processed.temperatureRange2.value\n\t\t\ttotals.temperatureRange3 += processed.temperatureRange3.value\n\t\t\ttotals.temperatureRange4 += processed.temperatureRange4.value\n\n\t\t\treturn processed\n\t\t})\n\n\t\t// totals with tooltips        \n\t\tres.totals.distanceComposed = this.distanceValuePopupWithoutVehicle(totals.distanceCAN, totals.distanceGPS, true)\n\t\tres.totals.duration = {\n\t\t\tvalue: totals.duration,\n\t\t\tdisplay: totals.duration ? moment.duration(totals.duration, 's').format(i18n.t('durationFormat').string) : '',\n\t\t}\n\t\tres.totals.temperatureRange1 = {\n\t\t\tvalue: totals.temperatureRange1,\n\t\t\tdisplay: totals.temperatureRange1 ? moment.duration(totals.temperatureRange1, 's').format(i18n.t('durationFormat').string) : '',\n\t\t}\n\t\tres.totals.temperatureRange2 = {\n\t\t\tvalue: totals.temperatureRange2,\n\t\t\tdisplay: totals.temperatureRange2 ? moment.duration(totals.temperatureRange2, 's').format(i18n.t('durationFormat').string) : '',\n\t\t}\n\t\tres.totals.temperatureRange3 = {\n\t\t\tvalue: totals.temperatureRange3,\n\t\t\tdisplay: totals.temperatureRange3 ? moment.duration(totals.temperatureRange3, 's').format(i18n.t('durationFormat').string) : '',\n\t\t}\n\t\tres.totals.temperatureRange4 = {\n\t\t\tvalue: totals.temperatureRange4,\n\t\t\tdisplay: totals.temperatureRange4 ? moment.duration(totals.temperatureRange4, 's').format(i18n.t('durationFormat').string) : '',\n\t\t}\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\treturn false\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report27',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\tusers: computed.alias('model.users'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report27'),\n\tnoPagination: computed('reportsFilters.vehicles', function () {\n\t\treturn this.get('reportsFilters.vehicles') && this.get('reportsFilters.vehicles').length === 1\n\t}),\n\n\ttHeadersPresent: computed('tHeaders', 'data', function () {\n\t\tconst tHeaders = this.get('tHeaders')\n\t\tconst data = this.get('data')\n\t\treturn tHeaders.filter(header => {\n\t\t\tif (header.key.startsWith('temperature') || header.key === 'freezer') {\n\t\t\t\treturn data.some(row => row[header.key] != null)\n\t\t\t}\n\t\t\treturn true\n\t\t})\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('date.value')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet density = this.get('currentUser.density')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(this.getRealEndDate(filters.endDate)),\n\t\t}\n\n\t\tif (!params.vehicles.length) {\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/27', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params, locale: this.get('currentUser.locale'), density },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tsensor: table.sensorText,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t\tshowChart: false,\n\t\t\t\tchartOptions: this.generateChart(table.content),\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} vehicle\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t * \tvehicle,\n\t * \tcontent,\n\t * \ttotals,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tconst i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\ttotals: {}\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.date, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t}\n\t\t\tprocessed.location = {\n\t\t\t\tvalue: item.location,\n\t\t\t\tdisplay: item.location != null ? item.location : '-',\n\t\t\t}\n\t\t\tprocessed.freezer = {\n\t\t\t\tvalue: item.freezer,\n\t\t\t\tstate: item.freezer ? 'on': 'off',\n\t\t\t\tdisplay: item.freezer != null ? (item.freezer ? i18n.t('on').string : i18n.t('off').string).capitalize() : '-',\n\t\t\t}\n\t\t\tfor (let i = 0; i < 8; i++) {\n\t\t\t\tconst sensor = `temperature${i+1}`\n\t\t\t\tconst value = item[sensor]\n\t\t\t\tconst temperature = value != null ? Number(value) : 0\n\t\t\t\tlet color\n\t\t\t\tif (item.freezer && value != null && temperature < -4) {\n\t\t\t\t\tcolor = 'darkblue'\n\t\t\t\t} else if (item.freezer && value != null && temperature >= -4 && temperature < 4) {\n\t\t\t\t\tcolor = 'lightblue'\n\t\t\t\t}\n\t\t\t\tprocessed[sensor] = {\n\t\t\t\t\tvalue: temperature,\n\t\t\t\t\tdisplay: value != null ? temperature : '-',\n\t\t\t\t\tclass: color,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn processed\n\t\t})\n\n\t\treturn res\n\t},\n\n\tgenerateChart (rows) {\n\t\tconst i18n = this.get('i18n')\n\t\tconst options = {\n\t\t\tchart: {\n\t\t\t\ttype: 'line',\n\t\t\t\tstacked: false,\n\t\t\t\theight: 270,\n\t\t\t\tzoom: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\ttype: 'x',\n\t\t\t\t},\n\t\t\t\tanimations: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\ttoolbar: {\n\t\t\t\t\tautoSelected: 'zoom'\n\t\t\t\t},\n\t\t\t\tbackground: '#4b4b4d',\n\t\t\t},\n\t\t\ttheme: {\n\t\t\t\tmode: 'dark'\n\t\t\t},\n\t\t\tseries: [],\n\t\t\tplotOptions: {\n\t\t\t\tline: {\n\t\t\t\t\tcurve: 'smooth',\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\tenabled: false\n\t\t\t},\n\t\t\tyaxis: [\n\t\t\t\t{\n\t\t\t\t\tmin: function(min) { return min },\n\t\t\t\t\tmax: function(max) { return max },\n\t\t\t\t\tlabels: {\n\t\t\t\t\t\tformatter: (value) => {\n\t\t\t\t\t\t\treturn (isNaN(value) ? value : Number(value).toFixed(0)) + ' °C';\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolors: 'white',\n\t\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\t\tcssClass: 'apexcharts-yaxis-label',\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttitle: {\n\t\t\t\t\t\ttext: i18n.t('temperature').string,\n\t\t\t\t\t\toffsetX: 4,\n\t\t\t\t\t},\n\t\t\t\t},\t\t\t\t\n\t\t\t],\n\t\t\txaxis: {\n\t\t\t\ttype: 'datetime',\n\t\t\t\ttooltip: false,\n\t\t\t\tlabels: {\n\t\t\t\t\tdatetimeUTC: false,\n\t\t\t\t\tdatetimeFormatter: {\n\t\t\t\t\t\tyear: 'yyyy',\n\t\t\t\t\t\tmonth: \"MMM 'yyyy\",\n\t\t\t\t\t\tday: 'dd MMM',\n\t\t\t\t\t\thour: 'HH:mm',\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolors: '#168ffa',\n\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\tcssClass: 'apexcharts-xaxis-label',\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tshared: true,\n\t\t\t}\n\t\t}\n\n\t\t;(rows || []).forEach(row => {\n\t\t\tfor (let i = 0; i < 8; i++) {\n\t\t\t\tconst sensor = `temperature${i+1}`\n\t\t\t\tconst value = row[sensor]\n\t\t\t\tif (value == null) { continue }\n\t\t\t\tconst temperature = Number(value)\n\t\t\t\tlet series = options.series.find(series => series.id === sensor)\n\t\t\t\tif (series == null) {\n\t\t\t\t\tseries = {\n\t\t\t\t\t\tid: sensor,\n\t\t\t\t\t\tname: i18n.t(`sensor.temperature-${i+1}`).string,\n\t\t\t\t\t\tdata: []\n\t\t\t\t\t}\n\t\t\t\t\toptions.series.push(series)\n\t\t\t\t\tif (i > 0) { options.yaxis.push({ show: false }) }\n\t\t\t\t}\n\t\t\t\tseries.data.push({\n\t\t\t\t\tx: row.date,\n\t\t\t\t\ty: temperature,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tlet series = options.series.find(series => series.id === 'freezer')\n\t\t\tif (series == null) {\n\t\t\t\tseries = {\n\t\t\t\t\tid: 'freezer',\n\t\t\t\t\tname: i18n.t('freezer.generic').string,\n\t\t\t\t\tdata: []\n\t\t\t\t}\n\t\t\t\toptions.series.push(series)\n\t\t\t\toptions.yaxis.push({\n\t\t\t\t\tmin: 0,\n\t\t\t\t\tmax: 1,\n\t\t\t\t\ttickAmount: 1,\n\t\t\t\t\tlabels: {\n\t\t\t\t\t\tformatter: (value) => i18n.t(value ? 'on' : 'off').string.capitalize(),\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolors: 'white',\n\t\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\t\tcssClass: 'apexcharts-yaxis-label',\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttitle: {\n\t\t\t\t\t\ttext: i18n.t('freezer.generic').string,\n\t\t\t\t\t},\n\t\t\t\t\topposite: true,\n\t\t\t\t})\n\t\t\t}\n\t\t\tseries.data.push({\n\t\t\t\tx: row.date,\n\t\t\t\ty: row.freezer ? 1 : 0,\n\t\t\t})\n\t\t})\n\n\t\treturn options\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\n\t\tprint () {\n\t\t\tconst i18n = this.get('i18n')\n\t\t\tlet tables = $('<div></div>')\n\n\t\t\tthis.get('readyData').forEach(tableData => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (!tableData.content.length > 0) return\n\t\t\t\tconst table = $('<table></table>')\n\t\t\t\tconst tableCaption = $(`<caption class='leftSide'></caption>`)\n\t\t\t\tconst tableHeader = $('<thead></thead>')\n\t\t\t\tconst tableHeaderRow = $('<tr></tr>')\n\t\t\t\tconst tableBody = $('<tbody></tbody>')\n\n\t\t\t\ttableCaption.append(`${tableData.vehicle.get('licensePlate')} - ${tableData.vehicle.get('group.name')}`)\n\t\t\t\ttable.append(tableCaption)\n\t\t\t\tthis.get('tHeaders').forEach(col => {\n\t\t\t\t\ttableHeaderRow.append($(`<th class='tableHeader'>${i18n.t(col.translationKey)}</th>`))\n\t\t\t\t})\n\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\tconst row = $('<tr></tr>')\n\t\t\t\t\tthis.get('tHeaders').forEach((col) => {\n\t\t\t\t\t\tlet colObj = dataRow[col.key]\n\t\t\t\t\t\tif (colObj) {\n\t\t\t\t\t\t\trow.append($('<td>' + ((colObj.display !== null && colObj.display !== undefined) ? colObj.display : '') + '</td>'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\trow.append($('<td></td>'))\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\ttableBody.append(row)\n\t\t\t\t})\n\t\t\t\ttable.append(tableBody)\n\t\t\t\ttables.append(table)\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t})\n\n\t\t\ttables = null\n\t\t},\n\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tsearchUsers: '',\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report18',\n\tsortBy: 'date',\n\n\tlimit: 10,\n\tincrement: 1,\n\trecordsLength: computed.alias('filteredData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report18'),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\tfilteredData: computed('readyData', 'searchUsers', function () {\n\t\tif (!this.get('searchUsers')) return this.get('readyData')\n\t\tconst searchText = this.get('searchUsers').toLowerCase()\n\t\treturn this.get('readyData').filter(entry => {\n\t\t\tif (!entry.drivers?.length) return false\n\t\t\treturn entry.drivers.join('').toLowerCase().indexOf(searchText) !== -1\n\t\t})\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('filteredData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet filteredData = this.get('filteredData')\n\t\treturn length > limit ? filteredData.slice(0, limit) : filteredData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.convertDateToCompanyTZ(filters.startDate),\n\t\t\tendDate: this.convertDateToCompanyTZ(filters.endDate),\n\t\t}\n\n\t\tif (!params.vehicles.length) { // if not vehicles not make request\n\t\t\tthis.set('data', [])\n\t\t\tthis.set('empty', true)\n\t\t\treturn\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/18', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = []\n\t\treportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tdrivers: processed.drivers,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals ? processed.totals : null\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\tformatData (rows, vehicle) {\n\t\tconst i18n = this.get('i18n')\n\t\tconst res = {\n\t\t\tvehicle,\n\t\t\tdrivers: [],\n\t\t\tcontent: []\n\t\t}\n\n\t\tconst length = rows.length\n\t\tif (!rows || !length) {\n\t\t\treturn res\n\t\t}\n\n\t\tconst totals = {\n\t\t\tduration: 0,\n\t\t\tcanEngineOnDuration: 0,\n\t\t\tengineOnDuration: 0,\n\t\t\tignitionOnDuration: 0,\n\t\t\tdriverNames: []\n\t\t}\n\n\t\tres.content = rows.map(item => {\n\t\t\tconst processed = {}\n\n\t\t\tprocessed.date = {\n\t\t\t\tvalue: item.date,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.date, 'DD/MM/YYYY'),\n\t\t\t}\n\n\t\t\tprocessed.canEngineOnDuration = this.processDuration(item.canEngineOnDuration)\n\t\t\tprocessed.engineOnDuration = this.processDuration(item.engineOnDuration)\n\t\t\tprocessed.engineOnFirstTime = this.engineTime(item.engineOnFirstTime)\n\t\t\tprocessed.engineOnLastTime = this.engineTime(item.engineOnLastTime)\n\t\t\tprocessed.ignitionOnDuration = this.ignitionDuration(item.engineOnFirstTime, item.engineOnLastTime)\n\n\t\t\titem.driverNames.forEach(driverName => {\n\t\t\t\tif (totals.driverNames.indexOf(driverName) === -1) {\n\t\t\t\t\tif (driverName === '') {\n\t\t\t\t\t\tdriverName = i18n.t('noDriver').string\n\t\t\t\t\t}\n\t\t\t\t\ttotals.driverNames.push(driverName)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// totals\n\t\t\ttotals.duration += item.duration ? item.duration : 0\n\t\t\ttotals.canEngineOnDuration += item.canEngineOnDuration ? item.canEngineOnDuration : 0\n\t\t\ttotals.engineOnDuration += item.engineOnDuration ? item.engineOnDuration : 0\n\t\t\ttotals.ignitionOnDuration += processed.ignitionOnDuration.value || 0\n\t\t\treturn processed\n\t\t})\n\n\t\tif (rows.length > 1) {\n\t\t\tres.totals = {}\n\t\t\tres.totals.canEngineOnDuration = this.processDuration(totals.canEngineOnDuration)\n\t\t\tres.totals.engineOnDuration = this.processDuration(totals.engineOnDuration)\n\t\t\tres.totals.ignitionOnDuration = this.processDuration(totals.ignitionOnDuration)\n\t\t}\n\t\tres.drivers = totals.driverNames\n\n\t\treturn res\n\t},\n\n\tprocessDuration (duration) {\n\t\tconst i18n = this.get('i18n')\n\t\tconst result = {\n\t\t\tvalue: duration || 0,\n\t\t\tdisplay: duration ? moment.duration(duration, 's').format(i18n.t('durationFormat').string) : '-'\n\t\t}\n\n\t\treturn result\n\t},\n\n\tengineTime (timestamp) {\n\t\tconst tz = this.get('currentUser.timezone')\n\t\tconst result = {\n\t\t\tvalue: timestamp,\n\t\t\tdisplay: timestamp ? moment.tz(timestamp, tz).format('DD/MM/YYYY HH:mm:ss') : '-'\n\t\t}\n\n\t\treturn result\n\t},\n\n\tignitionDuration (firstEngineOn, lastEngineOn) {\n\t\tconst i18n = this.get('i18n')\n\t\tconst result = { value: null, display: '-' }\n\t\tconst diff = moment(lastEngineOn).diff(moment(firstEngineOn)) || 0\n\t\tif (!diff) return result\n\t\tresult.value = diff / 1000\n\t\tresult.display = moment.duration(diff).format(i18n.t('durationFormat').string)\n\t\treturn result\n\t},\n\n\tactions: {\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","\nimport Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { run } from '@ember/runloop'\nimport { isEmpty } from '@ember/utils'\nimport { inject as service } from '@ember/service'\nimport { task } from 'ember-concurrency'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\nimport HeadersMixin from 'tracknamic-smb/mixins/reports/headers'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n/* global printHtmlElement */\n\nexport default Controller.extend(Formatter, HeadersMixin, {\n\treportsFilters: service('reports/filters'),\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tapi: service(),\n\n\tloading: false,\n\tempty: false,\n\ttriggerFormat: false,\n\tmoduleName: 'report29',\n\tsortBy: 'date',\n\n\tlimit: 10, // number of tables to show as default\n\tincrement: 1,\n\trecordsLength: computed.alias('readyData.length'),\n\n\tvehicles: computed.alias('model.vehicles'),\n\tgroups: computed.alias('model.groups'),\n\n\tselectedColumns: computed.alias('currentUser.reportsColumns.report29'),\n\tnoPagination: computed('reportsFilters.users', function () {\n\t\treturn this.get('reportsFilters.users') && this.get('reportsFilters.users').length === 1\n\t}),\n\n\tformattedData: computed('data', 'triggerFormat', function () {\n\t\tlet data = this.get('data')\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet sortedData = data.sortBy(this.get('sortBy'))\n\t\tlet groupedData = this.groupByVehicle(sortedData)\n\t\tlet processedData = this.processData(groupedData)\n\t\treturn processedData.sortBy('vehicle.licensePlate')\n\t}),\n\n\treadyData: computed('formattedData', 'tHeaders', function () {\n\t\tlet data = this.get('formattedData')\n\t\tlet columns = this.get('tHeaders')\n\t\tif (!data || !data.length || !columns) { return [] }\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t\treturn data\n\t}),\n\n\tscrolledRecords: computed('readyData', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet readyData = this.get('readyData')\n\t\treturn length > limit ? readyData.slice(0, limit) : readyData\n\t}),\n\n\treport: computed('menuService.reports', function () {\n\t\treturn this.get('menuService.reports').findBy('moduleName', this.moduleName)\n\t}),\n\n\tgetReportData: task(function* () {\n\t\tlet api = this.get('api')\n\t\tlet filters = this.get('reportsFilters')\n\t\tlet params = {\n\t\t\tvehicles: filters.vehicles,\n\t\t\tstartDate: this.formatDateToUTC(filters.startDate),\n\t\t\tendDate: this.formatDateToUTC(filters.endDate),\n\t\t}\n\n\t\tthis.set('loading', true)\n\t\tyield api.post('reports/29', {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tdataType: 'json',\n\t\t\tdata: { $filter: params },\n\t\t}).then(res => {\n\t\t\tthis.set('data', res)\n\t\t\tthis.set('loading', false)\n\t\t\tthis.set('empty', !res.length)\n\t\t})\n\t}),\n\n\tprocessData (tables) {\n\t\tlet reportData = tables.map(table => {\n\t\t\tlet vehicle = this.get('vehicles').findBy('id', table.vehicleID)\n\n\t\t\tlet processed = this.formatData(table.content, vehicle)\n\n\t\t\treturn {\n\t\t\t\tvehicle,\n\t\t\t\tcontent: processed.content,\n\t\t\t\ttotals: processed.totals,\n\t\t\t}\n\t\t})\n\n\t\treturn reportData\n\t},\n\n\t/**\n\t * function to return the formatted data, considering the selected columns\n\t * @param {*} rows \n\t * @param {*} text\n\t * @returns {object} the data needed for the table to be painted. Structure\n\t * {\n\t *  text,\n\t * \tcontent,\n\t * }\n\t */\n\tformatData (rows, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet res = {\n\t\t\tvehicle,\n\t\t\tcontent: [],\n\t\t\ttotals: {},\n\t\t}\n\n\t\tif (!rows || !rows.length) {\n\t\t\treturn res\n\t\t}\n\n\t\tlet totals = {\n\t\t\tdistanceGPS: 0,\n\t\t\tdistanceCAN: 0,\n\t\t\tdurationMoving: 0,\n\t\t\tdurationStationary: 0,\n\t\t\trefuelsCAN: 0,\n\t\t\trefuelsSensor: 0,\n\t\t\tstopsLoad: 0,\n\t\t\tstopsUnload: 0,\n\t\t}\n\t\tconst fuelUnit = vehicle ? vehicle.get('fuel.unit') : 'L'\n\n\t\tres.content = rows.map(item => {\n\t\t\tlet processed = {}\n\n\t\t\tprocessed.country = item.country\n\t\t\tprocessed.enterTime = {\n\t\t\t\tvalue: item.enterTime,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.enterTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t}\n\t\t\tprocessed.exitTime = {\n\t\t\t\tvalue: item.exitTime,\n\t\t\t\tdisplay: this.formatDateToCompanyTZ(item.exitTime, 'DD/MM/YYYY HH:mm:ss'),\n\t\t\t}\n\t\t\tprocessed.enterLocation = {\n\t\t\t\tvalue: item.enterLocation,\n\t\t\t\tdisplay: item.enterLocation ?? '-',\n\t\t\t}\n\t\t\tprocessed.exitLocation = {\n\t\t\t\tvalue: item.exitLocation,\n\t\t\t\tdisplay: item.exitLocation ?? '-',\n\t\t\t}\n\t\t\tprocessed.distanceGPS = {\n\t\t\t\tvalue: (item.distanceGPS ? Number(item.distanceGPS) : 0),\n\t\t\t\tdisplay: Number(item.distanceGPS || 0).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.distanceCAN = {\n\t\t\t\tvalue: (item.distanceCAN ? Number(item.distanceCAN) : 0),\n\t\t\t\tdisplay: Number(item.distanceCAN || 0).toFixed(2),\n\t\t\t}\n\t\t\tprocessed.durationMoving = {\n\t\t\t\tvalue: (item.durationMoving ? Number(item.durationMoving) : 0),\n\t\t\t\tdisplay: item.durationMoving ? moment.duration(item.durationMoving, 's').format(i18n.t('durationFormat').string) : '',\n\t\t\t}\n\t\t\tprocessed.durationStationary = {\n\t\t\t\tvalue: (item.durationStationary ? Number(item.durationStationary) : 0),\n\t\t\t\tdisplay: item.durationStationary ? moment.duration(item.durationStationary, 's').format(i18n.t('durationFormat').string) : '',\n\t\t\t}\n\t\t\tconst refuelsCAN = (item.refuels || []).filter(refuel => refuel.source === 'can')\n\t\t\tprocessed.refuelsCAN = {\n\t\t\t\tvalue: refuelsCAN.reduce((total, refuel) => total += refuel.amount, 0),\n\t\t\t\tdisplay: `${Number(refuelsCAN.reduce((total, refuel) => total += refuel.amount, 0)).toFixed(2)}${fuelUnit}`,\n\t\t\t\tpopup: refuelsCAN.reduce((message, refuel) => message += `${refuel.amount}${fuelUnit} - ${refuel.location}\\n`, ''),\n\t\t\t}\n\t\t\tconst refuelsSensor = (item.refuels || []).filter(refuel => refuel.source === 'sensor')\n\t\t\tprocessed.refuelsSensor = {\n\t\t\t\tvalue: refuelsSensor.reduce((total, refuel) => total += refuel.amount, 0),\n\t\t\t\tdisplay: `${Number(refuelsSensor.reduce((total, refuel) => total += refuel.amount, 0)).toFixed(2)}${fuelUnit}`,\n\t\t\t\tpopup: refuelsSensor.reduce((message, refuel) => message += `${refuel.amount}${fuelUnit} - ${refuel.location}\\n`, ''),\n\t\t\t}\n\t\t\tconst stopsLoad = (item.stops || []).filter(stop => stop.type === 'load')\n\t\t\tprocessed.stopsLoad = {\n\t\t\t\tvalue: stopsLoad.length,\n\t\t\t\tdisplay: stopsLoad.length,\n\t\t\t\tpopup: stopsLoad.reduce((message, stop) => message += `${this.formatDateToCompanyTZ(stop.timestamp, 'DD/MM/YYYY HH:mm:ss')} - ${stop.location}\\n`, ''),\n\t\t\t}\n\t\t\tconst stopsUnload = (item.stops || []).filter(stop => stop.type === 'unload')\n\t\t\tprocessed.stopsUnload = {\n\t\t\t\tvalue: stopsUnload.length,\n\t\t\t\tdisplay: stopsUnload.length,\n\t\t\t\tpopup: stopsUnload.reduce((message, stop) => message += `${this.formatDateToCompanyTZ(stop.timestamp, 'DD/MM/YYYY HH:mm:ss')} - ${stop.location}\\n`, ''),\n\t\t\t}\n\n\t\t\ttotals.distanceGPS += processed.distanceGPS.value\n\t\t\ttotals.distanceCAN += processed.distanceCAN.value\n\t\t\ttotals.durationMoving += processed.durationMoving.value\n\t\t\ttotals.durationStationary += processed.durationStationary.value\n\t\t\ttotals.refuelsCAN += processed.refuelsCAN.value\n\t\t\ttotals.refuelsSensor += processed.refuelsSensor.value\n\t\t\ttotals.stopsLoad += processed.stopsLoad.value\n\t\t\ttotals.stopsUnload += processed.stopsUnload.value\n\n\t\t\treturn processed\n\t\t})\n\n\t\tres.totals.distanceGPS = {\n\t\t\tvalue: totals.distanceGPS,\n\t\t\tdisplay: Number(totals.distanceGPS).toFixed(2),\n\t\t}\n\t\tres.totals.distanceCAN = {\n\t\t\tvalue: totals.distanceCAN,\n\t\t\tdisplay: Number(totals.distanceCAN).toFixed(2),\n\t\t}\n\t\tres.totals.durationMoving = {\n\t\t\tvalue: totals.durationMoving,\n\t\t\tdisplay: moment.duration(totals.durationMoving, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tres.totals.durationStationary = {\n\t\t\tvalue: totals.durationStationary,\n\t\t\tdisplay: moment.duration(totals.durationStationary, 's').format(i18n.t('durationFormat').string),\n\t\t}\n\t\tres.totals.refuelsCAN = {\n\t\t\tvalue: totals.refuelsCAN,\n\t\t\tdisplay: `${Number(totals.refuelsCAN).toFixed(2)}${fuelUnit}`,\n\t\t}\n\t\tres.totals.refuelsSensor = {\n\t\t\tvalue: totals.refuelsSensor,\n\t\t\tdisplay: `${Number(totals.refuelsSensor).toFixed(2)}${fuelUnit}`,\n\t\t}\n\t\tres.totals.stopsLoad = {\n\t\t\tvalue: totals.stopsLoad,\n\t\t\tdisplay: totals.stopsLoad,\n\t\t}\n\t\tres.totals.stopsUnload = {\n\t\t\tvalue: totals.stopsUnload,\n\t\t\tdisplay: totals.stopsUnload,\n\t\t}\n\n\t\treturn res\n\t},\n\n\tactions: {\n\t\trowClicked (row) {\n\t\t\tif (row && row.activityList && row.activityList.length)\n\t\t\t\tthis.set('fakeID', this.get('fakeID') === row.fakeID ? null : row.fakeID)\n\t\t},\n\t\tonH (dp, animationCompleted, dateHasChanged) {\n\t\t\tif (dateHasChanged) {\n\t\t\t\tthis.get('getReportData').perform()\n\t\t\t}\n\t\t},\n\t\tselectPeriod (period) {\n\t\t\tthis.get('reportsFilters').setPeriod(period)\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\n\t\tmakeRequest () {\n\t\t\tthis.get('getReportData').perform()\n\t\t},\n\t\tupdateHeaders (headers) {\n\t\t\tthis.get('currentUser').updateHeaders(this.get('moduleName'), headers)\n\t\t},\n\t\treformatData () {\n\t\t\tthis.toggleProperty('triggerFormat')\n\t\t},\n\t\tprint () {\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tvar tables = $('<div></div>')\n\t\t\tlet mapCol = this.get('tHeaders').findBy('key', 'map')\n\t\t\tlet mapColIndex = this.get('tHeaders').indexOf(mapCol)\n\t\t\tlet columns = mapColIndex > 0 ? this.get('tHeaders').removeAt(mapColIndex) : this.get('tHeaders')\n\n\t\t\tthis.get('readyData').forEach((tableData) => {\n\t\t\t\t// Print if we have table data\n\t\t\t\tif (tableData.content.length > 0) {\n\t\t\t\t\tvar table = $('<table></table>')\n\t\t\t\t\tvar tableCaption = $('<caption class=\"leftSide\"></caption>')\n\t\t\t\t\tvar tableHeader = $('<thead></thead>')\n\t\t\t\t\tvar tableHeaderRow = $('<tr></tr>')\n\t\t\t\t\tvar tableBody = $('<tbody></tbody>')\n\n\t\t\t\t\ttableCaption.append(tableData.text)\n\t\t\t\t\ttable.append(tableCaption)\n\n\t\t\t\t\tcolumns.forEach((col) => {\n\t\t\t\t\t\ttableHeaderRow.append($('<th class=\"tableHeader\">' + i18n.t(col.translationKey) + '</th>'))\n\t\t\t\t\t})\n\t\t\t\t\ttableHeader.append(tableHeaderRow)\n\t\t\t\t\ttable.append(tableHeader)\n\n\t\t\t\t\ttableData.content.forEach(dataRow => {\n\t\t\t\t\t\tvar row = $('<tr></tr>')\n\t\t\t\t\t\tcolumns.forEach((col) => {\n\t\t\t\t\t\t\trow.append($('<td>' + (dataRow[col.key] !== null ? dataRow[col.key].display : '') + '</td>'))\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttableBody.append(row)\n\t\t\t\t\t})\n\n\t\t\t\t\ttable.append(tableBody)\n\t\t\t\t\ttables.append(table)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tvar PHE = printHtmlElement\n\t\t\tif (!this.get('report.name')) { return false; }\n\n\t\t\tPHE.printHtml(tables.html(), {\n\t\t\t\tstyles: 'body { height: auto;} table { page-break-before: always; border-spacing: 0px; width: 100%; } caption { font-size:10pt; color: #4B4B4D; margin: 20px 0; } th,td { padding: 5px!important; margin: 0; border: 1px solid rgba(34, 36, 38, 0.15); text-align: center; } td { font-size:9pt; } .noBorder { border-right: none; } .noBorder:first-child { border-left: 1px solid rgba(34, 36, 38, 0.15)!important; } .noBorder:last-child { border-right: 1px solid rgba(34, 36, 38, 0.15)!important; } thead {background-color: lightgray;} .tableHeader { font-size:9pt; background-color: lightgray; } .detailsTable { font-size:9pt; margin:0; padding:0; } .detailsRow { padding:0!important; } .hasRightBorder {border-right: 1px solid rgba(34, 36, 38, 0.1);} .hasRightBorder:last-child { border-right: 0px solid!important; } .leftSide{text-align:left;} .totalRow { font-weight:bold; }',\n\t\t\t\tpageTitle: this.get('report.name').capitalize()\n\t\t\t});\n\n\t\t\ttables = null\n\t\t},\n\t\twillDownload (params, filters) {\n\t\t\tparams.$filter.cards = this.get('users').filter(user => filters.users.includes(user.get('id')) && user.get('details.tachoCardID.length') > 0).mapBy('details.tachoCardID')\n\t\t},\n\t\tincrementRecords () {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport mapMixin from 'tracknamic-smb/mixins/map'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\nimport { get, set } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport { reads } from '@ember/object/computed'\nimport { isEmpty } from '@ember/utils'\nimport { task, timeout } from 'ember-concurrency'\n\nexport default Controller.extend(mapMixin, datesMixin, {\n\tapi: service(),\n\tgoogleMapsAPI: service(),\n\tfullscreen: service(),\n\tcurrentUser: service('current-user'),\n\tmap: null,\n\tzoom: null,\n\tgoogle: reads('googleMapsAPI.google'),\n\n\tactions: {\n\t\tonLoad(PublicAPI) {\n\t\t\tconst map = PublicAPI.map\n\t\t\tthis.set('map', map)\n\n\t\t\tconst vehicles = get(this, 'model.vehicles')\n\t\t\tif (!isEmpty(vehicles)) {\n\t\t\t\tconst bounds = new window.google.maps.LatLngBounds()\n\t\t\t\tvehicles.forEach(vehicle => {\n\t\t\t\t\tconst latlng = get(vehicle, 'status.locationLatLng')\n\t\t\t\t\tif (isEmpty(latlng)) { return }\n\t\t\t\t\tbounds.extend(latlng)\n\t\t\t\t})\n\t\t\t\tmap.fitBounds(bounds)\n\t\t\t} else {\n\t\t\t\tmap.setCenter({ lat: 45.9432, lng: 24.9668 })\n\t\t\t}\n\n\t\t\tthis.get('simulate').perform()\n\t\t},\n\t\tonZoomChanged(event) {\n\t\t\tconst map = event.map\n\t\t\tconst zoom = map.getZoom()\n\t\t\tset(this, 'zoom', zoom)\n\t\t},\n\n\t\ttoggleFullscreen() {\n\t\t\tconst elem = Ember.$('.dispatch.map .siteContent')\n\t\t\tthis.get('fullscreen').toggle(elem[0])\n\t\t},\n\t},\n\n\tsimulate: task(function* () {\n\t\tconst route = [\n\t\t\t[ 21.930937180353567, 47.07202600826768 ],\n\t\t\t[ 21.93089426500933, 47.072179458804975 ],\n\t\t\t[ 21.930808434320852, 47.07244982296228 ],\n\t\t\t[ 21.930701145960256, 47.07265442195343 ],\n\t\t\t[ 21.930668959452078, 47.07280787068132 ],\n\t\t\t[ 21.93057239992754, 47.07310015275025 ],\n\t\t\t[ 21.930475840403005, 47.07337781923093 ],\n\t\t\t[ 21.930314907862112, 47.073516651928784 ],\n\t\t\t[ 21.93011105997698, 47.073611642513654 ],\n\t\t\t[ 21.929799923731252, 47.073801623175406 ],\n\t\t\t[ 21.92964972002642, 47.07389661325233 ],\n\t\t\t[ 21.92936004145281, 47.07403544459862 ],\n\t\t\t[ 21.9291240070595, 47.07418158246716 ],\n\t\t\t[ 21.928909430338308, 47.07416696869834 ],\n\t\t\t[ 21.928791413141653, 47.07402813769468 ],\n\t\t\t[ 21.928684124781057, 47.07388930632933 ],\n\t\t\t[ 21.928480276895925, 47.07369932598016 ],\n\t\t\t[ 21.928276429010793, 47.07350203797763 ],\n\t\t\t[ 21.928222784830496, 47.073333977251224 ],\n\t\t\t[ 21.9281154964699, 47.073180530038194 ],\n\t\t\t[ 21.928018936945364, 47.072968626017584 ],\n\t\t\t[ 21.927911648584768, 47.0727932565358 ],\n\t\t\t[ 21.927804360224172, 47.07260327227928 ],\n\t\t\t[ 21.927718529535696, 47.07244982296228 ],\n\t\t\t[ 21.92764342768328, 47.072274451773296 ],\n\t\t\t[ 21.927557596994802, 47.072069851323405 ],\n\t\t\t[ 21.927428850962087, 47.07189447888406 ],\n\t\t\t[ 21.92733229143755, 47.07167526252335 ],\n\t\t\t[ 21.927257189585134, 47.071529117781935 ],\n\t\t\t[ 21.927171358896658, 47.07137566537214 ],\n\t\t]\n\t\tconst scans = [2,8,10,16,20,24,28]\n\t\tconst geofences = get(this, 'model.geofences')\n\t\tlet index = 0\n\t\tlet vehicle = get(this, 'model.vehicles').findBy('id', 'rer-1')\n\t\tif (isEmpty(vehicle)) {\n\t\t\tvehicle = get(this, 'store').createRecord('vehicle', {\n\t\t\t\tid: 'rer-1',\n\t\t\t\tlicensePlate: 'BH 01 RER',\n\t\t\t\tstatus: {\n\t\t\t\t\tlocation: route[index]\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\t\n\t\tconst reset = () => {\n\t\t\tindex = 0\n\t\t\tgeofences.forEach(geofence => set(geofence, 'visited', false))\n\t\t\tset(vehicle, 'status.location', route[index])\n\t\t}\n\t\treset()\n\n\t\t// eslint-disable-next-line no-constant-condition\n\t\twhile (true) {\n\t\t\tyield timeout(5000)\n\n\t\t\tlet scan = scans.indexOf(index)\n\t\t\tif (scan >= 0) {\n\t\t\t\tconst geofence = geofences.findBy('externalID', `rer-${scan + 1}`)\n\t\t\t\tset(geofence, 'visited', true)\n\t\t\t}\n\n\t\t\tset(vehicle, 'status.location', route[index])\n\n\t\t\tindex++\n\t\t\tif (index > route.length - 1) {\n\t\t\t\treset()\n\t\t\t}\n\t\t}\n\t}).cancelOn('deactivate').restartable(),\n})\n","import Controller from '@ember/controller'\n\nexport default Controller.extend({\n\tscrolledRecords: [\n\t\t{\n\t\t\tvehicle: { licensePlate: 'BH 01 RER' },\n\t\t\tcontent: [\n\t\t\t\t{ zone: { name: 'Zona 1' }, pickups: [\n\t\t\t\t\t{ timestamp: moment('2019-01-09T10:42:19').format('DD.MM.YYYY HH:mm:ss'), subscriber: { name: 'Tracknamic SRL' }, container: { volume: 120, type: 'trash-can', address: 'George Coșbuc nr.11 ap.1' } },\n\t\t\t\t\t{ timestamp: moment('2019-01-09T10:42:19').format('DD.MM.YYYY HH:mm:ss'), subscriber: { name: 'Tracknamic SRL' }, container: { volume: 80, type: 'trash-can', address: 'George Coșbuc nr.11 ap.2' } },\n\t\t\t\t\t{ timestamp: moment('2019-01-09T10:54:43').format('DD.MM.YYYY HH:mm:ss'), subscriber: { name: 'Petrescu Ion' }, container: { volume: 100, type: 'trash-can', address: 'Primăriei nr.43' } },\n\t\t\t\t\t{ timestamp: moment('2019-01-09T11:04:25').format('DD.MM.YYYY HH:mm:ss'), subscriber: { name: 'Carrefour SRL' }, container: { volume: 500, type: 'dumpster', address: 'Calea Aradului nr.62' } },\n\t\t\t\t] }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tvehicle: { licensePlate: 'BH 22 RER' },\n\t\t\tcontent: [\n\t\t\t\t{ zone: { name: 'Zona 4' }, pickups: [\n\t\t\t\t\t{ timestamp: moment('2019-01-10T06:05:25').format('DD.MM.YYYY HH:mm:ss'), subscriber: { name: 'Carrefour SRL' }, container: { volume: 120, type: 'trash-can', address: 'Piața Cetății nr.1' } },\n\t\t\t\t\t{ timestamp: moment('2019-01-10T06:06:09').format('DD.MM.YYYY HH:mm:ss'), subscriber: { name: 'Carrefour SRL' }, container: { volume: 120, type: 'trash-can', address: 'Piața Cetății nr.1' } },\n\t\t\t\t\t{ timestamp: moment('2019-01-10T06:15:37').format('DD.MM.YYYY HH:mm:ss'), subscriber: { name: 'Carrefour SRL' }, container: { volume: 250, type: 'dumpster', address: 'Corneliu Coposu nr.10' } },\n\t\t\t\t] }\n\t\t\t]\n\t\t},\n\t],\n\n\tactions: {\n\t\tincrementRecords() {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tlet increment = this.get('increment')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t},\n})","import Controller from '@ember/controller'\n\nexport default Controller.extend({\n\ttHeaders: [\n\t\t{ key: 'name', translationKey: 'rer.subscribers.name', align: 'left' },\n\t\t{ key: 'containers', translationKey: 'rer.subscribers.containers', align: 'left' },\n\t],\n\n\tsubscribers: [\n\t\t{ name: 'Tracknamic SRL', containers: [\n\t\t\t{ volume: 120, type: 'trash-can', address: 'George Coșbuc nr.11 ap.1' },\n\t\t\t{ volume: 80, type: 'trash-can', address: 'George Coșbuc nr.11 ap.2' },\n\t\t] },\n\t\t{ name: 'Petrescu Ion', containers: [\n\t\t\t{ volume: 100, type: 'trash-can', address: 'Primăriei nr.43' },\n\t\t] },\n\t\t{ name: 'Carrefour SRL', containers: [\n\t\t\t{ volume: 500, type: 'dumpster', address: 'Calea Aradului nr.62' },\n\t\t\t{ volume: 250, type: 'dumpster', address: 'Corneliu Coposu nr.10' },\n\t\t\t{ volume: 120, type: 'trash-can', address: 'Piața Cetății nr.1' },\n\t\t\t{ volume: 120, type: 'trash-can', address: 'Piața Cetății nr.1' },\n\t\t] },\n\t]\n})","import Ember from 'ember'\n\nexport default Ember.Controller.extend({\n\tmenuService: Ember.inject.service('main-menu'),\n})","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\nimport { computed } from '@ember/object'\n\nconst supportedLanguages = [\n\t{ value: 'en', text: 'English' },\n\t{ value: 'ro', text: 'Română' },\n\t{ value: 'pl', text: 'Polskie' },\n\t{ value: 'da', text: 'Dansk' },\n\t{ value: 'hu', text: 'Magyar' },\n\t// { value: 'de', text: 'Deutsche' },\n]\n\nexport default Controller.extend({\n\tcurrentUser: service('current-user'),\n\tmenuService: service('main-menu'),\n\tlandingPage: computed.readOnly('currentUser.landingPage'),\n\n\tlanguages: supportedLanguages,\n\n\tselectedLandingCategory: computed('landingPage', function () {\n\t\tconst landingPage = this.get('landingPage')\n\t\tif (!landingPage) return\n\t\treturn ~landingPage.indexOf('reports') ? 'reports' : landingPage\n\t}),\n\n\tsetLocale(selectedLocale) {\n\t\tif (!selectedLocale) { return false }\n\t},\n\n\tactions: {\n\t\tchangeLanguage(selectedLanguage) {\n\t\t\tthis.get('currentUser').set('newLocale', selectedLanguage)\n\t\t\tthis.transitionToRoute('index')\n\t\t},\n\t\tchangeLandingPage(value) {\n\t\t\tlet user = this.get('currentUser.user');\n\t\t\tif (!user) { return }\n\n\t\t\tif (value === 'reports') {\n\t\t\t\tuser.set('settings.landingPage', this.get('menuService.reports')[0].route)\n\t\t\t} else {\n\t\t\t\tuser.set('settings.landingPage', value)\n\t\t\t}\n\t\t\tuser.save()\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller';\n\nconst twoSecconds = 2000\n\nexport default Controller.extend({\n    errors: false,\n    success: false,\n\n    showSuccess() {\n        this.set('success', true)\n\n        setTimeout(() => {\n            this.set('success', false)\n        }, twoSecconds);\n    },\n\n    actions: {\n        clearErrors() {\n            this.set('errors', false)\n            this.set('success', false)\n        },\n    }\n});\n","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\nimport { computed, set } from '@ember/object'\n/* global validator */\n\nexport default Controller.extend({\n\ti18n: service(),\n\ttoast: service(),\n\t\n\tcountryCosts: computed('model.settings.reports.16', function () {\n\t\tif (!this.get('model')) {\n\t\t\treturn []\n\t\t}\n\n\t\tlet countryCosts = this.get('model.settings.reports.16')\n\t\tlet countryCostsWithValidation = {\n\t\t\tgeneral: {code: 'general', transitCost: null, cabotageCost: null},\n\t\t\tat: {code: 'at', transitCost: null, cabotageCost: null},\n\t\t\tbe: {code: 'be', transitCost: null, cabotageCost: null},\n\t\t\tbg: {code: 'bg', transitCost: null, cabotageCost: null},\n\t\t\tcy: {code: 'cy', transitCost: null, cabotageCost: null},\n\t\t\tcz: {code: 'cz', transitCost: null, cabotageCost: null},\n\t\t\tde: {code: 'de', transitCost: null, cabotageCost: null},\n\t\t\tdk: {code: 'dk', transitCost: null, cabotageCost: null},\n\t\t\tee: {code: 'ee', transitCost: null, cabotageCost: null},\n\t\t\tes: {code: 'es', transitCost: null, cabotageCost: null},\n\t\t\tfl: {code: 'fl', transitCost: null, cabotageCost: null},\n\t\t\tfr: {code: 'fr', transitCost: null, cabotageCost: null},\n\t\t\tgb: {code: 'gb', transitCost: null, cabotageCost: null},\n\t\t\tgr: {code: 'gr', transitCost: null, cabotageCost: null},            \n\t\t\thr: {code: 'hr', transitCost: null, cabotageCost: null},\n\t\t\thu: {code: 'hu', transitCost: null, cabotageCost: null},\n\t\t\tie: {code: 'ie', transitCost: null, cabotageCost: null},\n\t\t\tit: {code: 'it', transitCost: null, cabotageCost: null},\n\t\t\tlt: {code: 'lt', transitCost: null, cabotageCost: null},\n\t\t\tlu: {code: 'lu', transitCost: null, cabotageCost: null},\n\t\t\tlv: {code: 'lv', transitCost: null, cabotageCost: null},\n\t\t\tmt: {code: 'mt', transitCost: null, cabotageCost: null},\n\t\t\tnl: {code: 'nl', transitCost: null, cabotageCost: null},\n\t\t\tpl: {code: 'pl', transitCost: null, cabotageCost: null},\n\t\t\tpt: {code: 'pt', transitCost: null, cabotageCost: null},\n\t\t\tro: {code: 'ro', transitCost: null, cabotageCost: null},\n\t\t\tse: {code: 'se', transitCost: null, cabotageCost: null},\n\t\t\tsk: {code: 'sk', transitCost: null, cabotageCost: null},\n\t\t\tsl: {code: 'sl', transitCost: null, cabotageCost: null},\n\t\t}\n\n\t\tif (countryCosts) {\n\t\t\tcountryCosts.forEach((entry) => {\n\t\t\t\tif (countryCostsWithValidation[entry.country.toLowerCase()]) {\n\t\t\t\t\tcountryCostsWithValidation[entry.country.toLowerCase()][`${entry.type}Cost`] = entry.cost\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\treturn Object.values(countryCostsWithValidation)\n\t}),\n\n\thasInvalidCosts: computed.filterBy('countryCosts', 'isValid', false),\n\n\tactions: {\n\t\tsetCost(item) {\n\t\t\tlet cabotageCost = Math.abs(item.cabotageCost) === 0 ? null : Math.abs(item.cabotageCost)\n\t\t\tlet transitCost = Math.abs(item.transitCost) === 0 ? null : Math.abs(item.transitCost)\n\t\t\tlet isValidCabotageCost = cabotageCost === null || !isNaN(cabotageCost) && !isNaN(parseFloat(cabotageCost))\n\t\t\tlet isValidTransitCost = transitCost === null || !isNaN(transitCost) && !isNaN(parseFloat(transitCost)) \n\n\t\t\tlet index\n\t\t\tif (isValidCabotageCost && isValidTransitCost) {\n\t\t\t\tlet countryCosts = this.get('model.settings.reports.16')\n\n\t\t\t\tconst findCabotageIndexInArray = (element) => element.country === item.code.toUpperCase() && element.type === 'cabotage'\n\t\t\t\tindex = countryCosts.findIndex(findCabotageIndexInArray)\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\tcountryCosts[index].cost = cabotageCost\n\t\t\t\t} else if (cabotageCost) {\n\t\t\t\t\tcountryCosts.push({country: item.code.toUpperCase(), cost: cabotageCost, type: 'cabotage'})\n\t\t\t\t}\n\t\t\t\n\t\t\t\tconst findTransitIndexInArray = (element) => element.country === item.code.toUpperCase() && element.type === 'transit'\n\t\t\t\tindex = countryCosts.findIndex(findTransitIndexInArray)\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\tcountryCosts[index].cost = transitCost\n\t\t\t\t} else if (transitCost) {\n\t\t\t\t\tcountryCosts.push({country: item.code.toUpperCase(), cost: transitCost, type: 'transit'})\n\t\t\t\t}\n\n\t\t\t\tthis.get('model.settings.reports.16').set(countryCosts)\n\t\t\t}\n\t\t},\n\t\tsaveGroup() {\n\t\t\tif (this.get('loading')) { return false }\n\t\t\tthis.set('loading', true)\n\t\t\tthis.get('model').save()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'), '', { hideDuration: 200, timeOut: 2000 })\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t})\n\t\t},\n\t\tsetNightInterval (type, value) {\n\t\t\tlet cabotage = this.get('model.settings.cabotage')\n\t\t\tif (cabotage == null) {\n\t\t\t\tcabotage = {\n\t\t\t\t\t[`night_${type}_time`]: value\n\t\t\t\t}\n\t\t\t\tthis.set('model.settings.cabotage', cabotage)\n\t\t\t} else {\n\t\t\t\tcabotage.set(`night_${type}_time`, value)\n\t\t\t}\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\nimport { computed, set } from '@ember/object'\n/* global validator */\n\nexport default Controller.extend({\n\ti18n: service(),\n\ttoast: service(),\n\n\tcountryCosts: computed('model.settings.countryCosts', function () {\n\t\tif (!this.get('model')) {\n\t\t\treturn []\n\t\t}\n\t\tlet countryCosts = this.get('model.settings.countryCosts')\n\t\tlet countryCostsJson = countryCosts.toJSON()\n\t\tlet countryCostsWithValidation = []\n\n\t\tif (countryCostsWithValidation.length === 0) {\n\t\t\tObject.keys(countryCostsJson).forEach((key) => {\n\t\t\t\tcountryCostsWithValidation.push({ code: key, cost: countryCosts.get(key), isValid: true })\n\t\t\t})\n\t\t}\n\n\t\treturn countryCostsWithValidation\n\t}),\n\n\thasInvalidCosts: computed.filterBy('countryCosts', 'isValid', false),\n\n\tactions: {\n\t\tsetCost(item) {\n\t\t\tlet cost = Math.abs(item.cost) === 0 ? null : Math.abs(item.cost)\n\t\t\tlet isValid = cost === null || validator.isNumeric(item.cost, { no_symbols: false }) || validator.isFloat(item.cost)\n\n\t\t\tset(item, 'isValid', isValid)\n\n\t\t\tif (isValid) {\n\t\t\t\tthis.get('model.settings.countryCosts').set(item.code, cost)\n\t\t\t}\n\t\t},\n\t\tsaveGroup() {\n\t\t\tif (this.get('loading')) { return false }\n\t\t\tthis.set('loading', true)\n\t\t\tthis.get('model').save()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'), '', { hideDuration: 200, timeOut: 2000 })\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t})\n\t\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { task } from 'ember-concurrency'\nimport config from 'tracknamic-smb/config/environment'\nimport { inject as service } from '@ember/service'\nimport { computed, set } from '@ember/object'\n\nexport default Controller.extend({\n\tapi: service(),\n\ti18n: service(),\n\ttoast: service(),\n\tcurrentUser: service('current-user'),\n\n\tapplyTo: 'company', // [company, type, vehicle]\n\tselectedType: 'truck',\n\n\tcompanyID: computed.readOnly('currentUser.companyID'),\n\tcompanyName: computed.readOnly('model.company.name'),\n\tvehicles: computed.alias('model.vehicles', function () {\n\t\tif (!this.get('model.vehicles')) { return [] }\n\t\treturn this.get('model.vehicles').filterBy('isCompanyVehicle', true).sortBy('licensePlate')\n\t}),\n\n\tnotShowTable: computed('applyTo', 'selectedVehicleID', function () {\n\t\treturn (this.get('applyTo') === 'vehicle') && !this.get('selectedVehicleID')\n\t}),\n\n\tselectedProfile: computed('profiles', 'applyTo', 'selectedType', 'selectedVehicleID', function () {\n\t\tlet applyTo = this.get('applyTo')\n\t\tlet profiles = this.get('profiles')\n\t\tlet companyID = this.get('companyID')\n\t\tlet selectedType = this.get('selectedType')\n\n\t\tif (!profiles || !profiles.length) {\n\t\t\tlet values = this.makeProfile(null)\n\t\t\t// exist = update, not make new request\n\t\t\treturn { id: null, values }\n\t\t}\n\n\t\tlet companyProfile = profiles.find(prof => {\n\t\t\tif (prof.groupID === companyID && !prof.vehicleID && !prof.vehicleType)\n\t\t\t\treturn true\n\t\t})\n\t\tlet defaultTypeProfile = profiles.find(prof => {\n\t\t\tif (!prof.groupID && !prof.vehicleID && prof.vehicleType === selectedType)\n\t\t\t\treturn true\n\t\t})\n\t\tlet defaultProfile = profiles.find(prof => {\n\t\t\tif (!prof.groupID && !prof.vehicleID && !prof.vehicleType)\n\t\t\t\treturn true\n\t\t})\n\n\t\tlet profile = null\n\t\tlet exists = false\n\n\t\tif (applyTo === 'company') {\n\t\t\tif (companyProfile) {\n\t\t\t\texists = true\n\t\t\t\tprofile = companyProfile\n\t\t\t}\n\t\t\telse if (defaultProfile) {\n\t\t\t\tprofile = defaultProfile\n\t\t\t}\n\t\t}\n\t\telse if (applyTo === 'type') { // type profile for company\n\t\t\tlet typeProfile = profiles.find(prof => {\n\t\t\t\tif (prof.groupID === companyID && !prof.vehicleID && prof.vehicleType === selectedType)\n\t\t\t\t\treturn true\n\t\t\t})\n\t\t\tif (typeProfile) {\n\t\t\t\texists = true\n\t\t\t\tprofile = typeProfile\n\t\t\t}\n\t\t\telse if (defaultTypeProfile) {\n\t\t\t\tprofile = defaultTypeProfile\n\t\t\t}\n\t\t\telse if (defaultProfile) {\n\t\t\t\tprofile = defaultProfile\n\t\t\t}\n\t\t}\n\t\telse if (applyTo === 'vehicle') { // vehicle > type > companie > tracknamic-group\n\t\t\tlet vehicleID = this.get('selectedVehicleID')\n\t\t\tif (vehicleID) { // if has vehicle selected\n\t\t\t\tlet vehdProfile = profiles.find(prof => {\n\t\t\t\t\tif (prof.groupID === companyID && prof.vehicleID === vehicleID)\n\t\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\tif (vehdProfile) { // vehicle has profile\n\t\t\t\t\texists = true\n\t\t\t\t\tprofile = vehdProfile\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet vehicle = this.get('vehicles').findBy('id', vehicleID)\n\t\t\t\t\tif (vehicle) {\n\t\t\t\t\t\tlet vehicleType = vehicle.get('type')\n\t\t\t\t\t\tif (vehicleType) {  // vehicle-type has profile in company\n\t\t\t\t\t\t\tlet typeProfile = profiles.find(prof => {\n\t\t\t\t\t\t\t\tif (prof.groupID === companyID && !prof.vehicleID && prof.vehicleType === vehicleType)\n\t\t\t\t\t\t\t\t\treturn true\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tif (typeProfile) {\n\t\t\t\t\t\t\t\tprofile = typeProfile\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse { // if company has not profile check if there is a default profile fro this type of vehicle\n\t\t\t\t\t\t\t\tif (defaultTypeProfile) { // default-type\n\t\t\t\t\t\t\t\t\tprofile = defaultTypeProfile\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (defaultProfile) {\n\t\t\t\t\t\t\t\t\tprofile = defaultProfile\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { // company has profile\n\t\t\t\t\t\t\tif (companyProfile) {\n\t\t\t\t\t\t\t\tprofile = companyProfile\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (defaultProfile) {\n\t\t\t\t\t\t\t\tprofile = defaultProfile\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse { // defaultProfile\n\t\t\t\t\t\tif (defaultProfile) {\n\t\t\t\t\t\t\tprofile = defaultProfile\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet profVal = profile && profile.can && profile.can.engineLoadRPM ? profile.can.engineLoadRPM : null\n\t\tlet id = exists ? profile.id : null\n\t\tlet values = this.makeProfile(profVal)\n\t\t// exist = update, not make new request\n\t\treturn { id, values }\n\t}),\n\n\tmakeProfile(profileValues) {\n\t\tlet emptyDefault = []\n\n\t\tlet minEl = 0\n\t\tlet maxEl = 90\n\t\tlet minRpm = 0\n\t\tlet maxRpm = 9900\n\t\tfor (let engineLoad = maxEl; engineLoad >= minEl; engineLoad = engineLoad - 10) {\n\t\t\tfor (let rpm = minRpm; rpm <= maxRpm; rpm = rpm + 100) {\n\t\t\t\tlet element = { rpm, engineLoad, state: 0 }\n\t\t\t\tlet elExists = emptyDefault.findBy('engineLoad', engineLoad)\n\t\t\t\tif (elExists) {\n\t\t\t\t\telExists.rpms.push(element)\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\temptyDefault.push({\n\t\t\t\t\t\tengineLoad,\n\t\t\t\t\t\trpms: [element],\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (profileValues && profileValues.length) {\n\t\t\tprofileValues.forEach(item => {\n\t\t\t\tlet elElement = emptyDefault.findBy('engineLoad', item.engine_load)\n\t\t\t\tlet rpmElement = elElement ? elElement.rpms.findBy('rpm', item.rpm) : false\n\t\t\t\tif (rpmElement) {\n\t\t\t\t\trpmElement.state = item.state\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\treturn emptyDefault\n\t},\n\n\tgetProfiles: task(function* () {\n\t\tyield this.get('api').request(`${config.api.host}/${config.api.namespace}/behaviour`, {\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t}).then(res => {\n\t\t\tthis.set('profiles', res && res.behaviourProfile ? res.behaviourProfile : [])\n\t\t\tthis.set('loading', false)\n\t\t}).catch(() => {\n\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t})\n\t}),\n\n\ttoApiFormat(array) {\n\t\tlet elements = []\n\t\tarray.forEach(el => {\n\t\t\tel.rpms.forEach(element => {\n\t\t\t\tif (element.state)\n\t\t\t\t\telements.push({ rpm: element.rpm, engine_load: element.engineLoad, state: element.state })\n\t\t\t})\n\t\t})\n\t\treturn elements\n\t},\n\n\tactions: {\n\t\tchangeColor(element) {\n\t\t\tlet value = 1\n\t\t\tif (element.state) {\n\t\t\t\tif (element.state === 3) {\n\t\t\t\t\tvalue = 0\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvalue = element.state + 1\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tset(element, 'state', value)\n\t\t},\n\t\tremoveProfile() {\n\t\t\tlet selectedProfile = this.get('selectedProfile')\n\t\t\tif (!selectedProfile.id) return\n\t\t\tthis.get('api').del(`${config.api.host}/${config.api.namespace}/behaviour/${selectedProfile.id}`)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\tthis.get('getProfiles').perform()\n\t\t\t\t}).catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t},\n\t\tsaveGroup() {\n\t\t\tif (this.get('loading') || this.get('notShowTable')) { return }\n\t\t\tlet selectedProfile = this.get('selectedProfile')\n\t\t\tlet apiFormat = this.toApiFormat(selectedProfile.values)\n\t\t\tif (selectedProfile.id) { // update\n\t\t\t\tthis.get('api').patch(`${config.api.host}/${config.api.namespace}/behaviour/${selectedProfile.id}`, {\n\t\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tdata: { behaviourProfile: { can: { engineLoadRPM: apiFormat } } }\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\tthis.get('getProfiles').perform()\n\t\t\t\t}).catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t}).finally(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t})\n\t\t\t}\n\t\t\telse { // new\n\t\t\t\tlet applyTo = this.get('applyTo')\n\t\t\t\tlet groupID = this.get('companyID')\n\t\t\t\tlet vehicleID = null\n\t\t\t\tlet vehicleType = null\n\t\t\t\tif (applyTo === 'type') {\n\t\t\t\t\tvehicleType = this.get('selectedType')\n\t\t\t\t}\n\t\t\t\telse if (applyTo === 'vehicle') {\n\t\t\t\t\tvehicleID = this.get('selectedVehicleID')\n\t\t\t\t\tif (vehicleID) {\n\t\t\t\t\t\tlet vehicle = this.get('vehicles').findBy('id', vehicleID)\n\t\t\t\t\t\tif (vehicle) {\n\t\t\t\t\t\t\tvehicleType = vehicle.get('type')\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet profile = {\n\t\t\t\t\tcan: {\n\t\t\t\t\t\tengineLoadRPM: apiFormat\n\t\t\t\t\t},\n\t\t\t\t\tgroupID,\n\t\t\t\t\tvehicleID,\n\t\t\t\t\tvehicleType,\n\t\t\t\t}\n\n\t\t\t\tthis.get('api').post(`${config.api.host}/${config.api.namespace}/behaviour`, {\n\t\t\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tdata: { behaviourProfile: profile }\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t\t\t\tthis.get('getProfiles').perform()\n\t\t\t\t}).catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t}).finally(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t}\n});\n","import Controller from '@ember/controller'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nconst geofencesKeys = [\n\t\"poi-enter\",\n\t\"poi-exit\",\n\t\"poi-stationary\",\n\t\"geofence-enter\",\n\t\"geofence-exit\",\n\t\"geofence-stationary\",\n\t\"door-open-outside-poi\",\n]\n\nexport default Controller.extend({\n\ti18n: service(),\n\ttoast: service(),\n\tcurrentUser: service('current-user'),\n\tmodules: computed.readOnly('currentUser.modules'),\n\n\tloading: false,\n\tgeofencesKeys,\n\n\n\tshowAlertTaxiCosting: computed('currentUser.showAlertTaxiCosting', function () {\n\t\treturn this.get('currentUser.showAlertTaxiCosting')\n\t}),\n\n\temailList: computed('model.settings.emailList', function () {\n\t\tlet emailList = this.get('model.settings.emailList')\n\t\treturn emailList.toJSON()\n\t}),\n\tphoneList: computed('model.settings.phoneList', function () {\n\t\tlet phoneList = this.get('model.settings.phoneList')\n\t\tlet filteredPhoneList = Object.fromEntries(\n\t\t\tObject.entries(phoneList.toJSON()).filter(([key]) => key !== \"tacho-rest\")\n\t\t)\n\t\treturn filteredPhoneList\n\t}),\n\n\tactions: {\n\t\tsaveGroup() {\n\t\t\tthis.get('model').save()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'), '', { hideDuration: 200, timeOut: 2000 })\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t},\n\t\tfilterEmailList(i) {\n\t\t\tconst obj = { ...i }\n\t\t\tif (!this.get('showAlertTaxiCosting')) delete obj['taxi-coasting']\n\t\t\treturn obj\n\t\t}\n\t}\n})","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\nimport { computed } from '@ember/object'\nimport { isEmpty } from '@ember/utils'\n\nexport default Controller.extend({\n\ti18n: service(),\n\ttoast: service(),\n\n\tcolors: [\n\t\t'#BECB1A',\n\t\t'#1AB0A6',\n\t\t'#9D98CA',\n\t\t'#C76563',\n\t\t'#D97904',\n\t\t'#FFB22C',\n\t],\n\tstatuses: computed(\n\t\t'model.orderStatuses.@each',\n\t\t'model.group.settings.order.status.colors.[]',\n\t\t'model.group.settings.order.status.colors.@each.color',\n\t\tfunction () {\n\t\tconst colors = this.get('model.group.settings.order.status.colors')\n\t\tconst labels = this.get('model.group.settings.order.status.labels')\n\t\tconst populateFromSettings = (status, setting, path, values) => {\n\t\t\tconst value = values.findBy('status_id', status.get('id'))\n\t\t\tif (!isEmpty(value)) {\n\t\t\t\tstatus.set(setting, value.get(path))\n\t\t\t} else {\n\t\t\t\tstatus.set(setting, undefined)\n\t\t\t}\n\t\t} \n\n\t\treturn this.get('model.orderStatuses').map(status => {\n\t\t\tpopulateFromSettings(status, 'color', 'color', colors)\n\t\t\tpopulateFromSettings(status, 'label', 'text', labels)\n\t\t\treturn status\n\t\t})\n\t}),\n\tgroupedStatuses: computed('statuses.@each.source', function () {\n\t\tconst grouped = {}\n\t\tthis.get('statuses').forEach(status => {\n\t\t\tconst source = status.get('source')\n\t\t\tif (grouped[source] == null) {\n\t\t\t\tgrouped[source] = {\n\t\t\t\t\tsource,\n\t\t\t\t\tstatuses: [],\n\t\t\t\t}\n\t\t\t}\n\t\t\tgrouped[source].statuses.push(status)\n\t\t})\n\t\treturn Object.values(grouped)\n\t}),\n\n\tactions: {\n\t\tchangeColor(status, color) {\n\t\t\tconst settings = this.get('model.group.settings.order.status.colors')\n\t\t\tlet setting = settings.findBy('status_id', status.get('id'))\n\t\t\tif (isEmpty(setting)) {\n\t\t\t\tsettings.addFragment({\n\t\t\t\t\tcolor,\n\t\t\t\t\tstatus_id: status.get('id'),\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} else {\n\t\t\t\tif (isEmpty(color)) {\n\t\t\t\t\tsettings.removeFragment(setting)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tsetting.set('color', color)\n\t\t\t}\n\t\t},\n\t\tchangeLabel(status, text) {\n\t\t\tconst settings = this.get('model.group.settings.order.status.labels')\n\t\t\tlet setting = settings.findBy('status_id', status.get('id'))\n\t\t\tif (isEmpty(setting)) {\n\t\t\t\tsettings.addFragment({\n\t\t\t\t\ttext,\n\t\t\t\t\tstatus_id: status.get('id'),\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} else {\n\t\t\t\tif (isEmpty(text)) {\n\t\t\t\t\tsettings.removeFragment(setting)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tsetting.set('text', text)\n\t\t\t}\n\t\t},\n\t\tsaveGroup() {\n\t\t\tif (this.get('loading')) { return false }\n\n\t\t\tconst group = this.get('model.group')\n\t\t\tif (isEmpty(group)) { return }\n\n\t\t\tthis.set('loading', true)\n\t\t\tgroup.save()\n\t\t\t.then(() => {\n\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'), '', { hideDuration: 200, timeOut: 2000 })\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis.set('loading', false)\n\t\t\t})\n\t},\n\t}\n})\n","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\nimport vehicleTypes from 'tracknamic-smb/mixins/vehicle-types'\nimport { computed } from '@ember/object'\n\nexport default Controller.extend(vehicleTypes, {\n\ti18n: service(),\n\ttoast: service(),\n\n\ttypes: computed('model', function () {\n\t\tif (!this.get('model')) { return [] }\n\t\tlet vehTypes = this.getVehicleTypes()\n\t\tlet types = []\n\t\tvehTypes.forEach(type => {\n\t\t\tlet typeName = type.name\n\t\t\ttypes.push({ name: typeName, options: this.get('model.settings.speedLimit').get(typeName) })\n\t\t})\n\t\treturn types\n\t}),\n\n\tactions: {\n\t\tsave() {\n\t\t\tif (this.get('loading')) { return false }\n\t\t\tthis.set('loading', true)\n\t\t\tthis.get('model').save()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.toast.success(this.get('i18n').t('messages.operationWithSuccess'), '', { hideDuration: 200, timeOut: 2000 })\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.set('loading', false)\n\t\t\t\t})\n\t\t}\n\t}\n})\n","import Ember from 'ember'\nimport { jwt_decode } from 'ember-cli-jwt-decode'\n\nconst expiredLocaleTranslation = {\n\tda: 'Invitationen er udløbet. Kontakt administratoren.',\n\ten: 'The invitation has expired. Please contact the administrator.',\n\thu: 'A meghívó lejárt. Kérem vegye fel a kapcsolatot az adminisztrátorral.',\n\tpl: 'Zaproszenie przedawniło się. Proszę skontaktować się z administratorem.',\n\tro: 'Invitația a expirat. Vă rugăm contactați administratorul.',\n}\n\nexport default Ember.Controller.extend({\n\tsession: Ember.inject.service(),\n\texpiredLocaleTranslation,\n\tlocaleLang: 'en',\n\n\tinvitationExpired: Ember.computed('session.invitationToken', function () {\n\t\tlet invitationToken = this.get('session.invitationToken')\n\t\ttry {\n\t\t\tconst decoded = jwt_decode(invitationToken)\n\t\t\tif (decoded && decoded.locale) {\n\t\t\t\tthis.set('localeLang', decoded.locale)\n\t\t\t}\n\t\t\tif (decoded.exp < Date.now() / 1000) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\tcatch (error) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t})\n});\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    menuService: Ember.inject.service('main-menu'),\n});\n","import Ember from 'ember';\n\nconst { service } = Ember.inject\n\nexport default Ember.Controller.extend({\n\tcurrentUser: service('current-user'),\n\n\tselectedTypes: [],\n\n\tsortBy: ['createdAt:desc'],\n\tsortOrder: Ember.computed('sortBy', function () {\n\t\tlet sortString = this.get('sortBy')[0]\n\t\treturn sortString.split(':').pop()\n\t}),\n\tsortValue: Ember.computed('sortBy', function () {\n\t\tlet sortString = this.get('sortBy')[0]\n\t\treturn sortString.split(':').shift()\n\t}),\n\talerts: Ember.computed.filterBy('model', 'persistent', true),\n\n\tlimit: 50, // number of alerts to show as default\n\tincrement: 20,\n\trecordsLength: Ember.computed.alias('sortedAlerts.length'),\n\n\tscrolledRecords: Ember.computed('sortedAlerts', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet sortedAlerts = this.get('sortedAlerts')\n\t\treturn length > limit ? sortedAlerts.slice(0, limit) : sortedAlerts\n\t}),\n\n\tsortedAlerts: Ember.computed.sort('filteredAlerts', 'sortBy'),\n\n\tfilteredAlerts: Ember.computed('alerts', 'selectedTypes.@each', function () {\n\t\tlet alerts = this.get('alerts')\n\t\tlet selectedTypes = this.get('selectedTypes')\n\t\tif (selectedTypes.length) {\n\t\t\treturn alerts.filter(alert => {\n\t\t\t\tlet passed = false\n\t\t\t\tselectedTypes.forEach(element => {\n\t\t\t\t\tif (alert.get('type') === element) {\n\t\t\t\t\t\tpassed = true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn passed\n\t\t\t})\n\t\t}\n\t\telse {\n\t\t\treturn alerts\n\t\t}\n\t}),\n\n\tnotificationTypes: ['poi-enter',\n\t\t'poi-exit',\n\t\t'poi-stationary',\n\t\t'geofence-enter',\n\t\t'geofence-exit',\n\t\t'geofence-stationary',\n\t\t'document-expiry',\n\t\t'speeding',\n\t\t'fuel-level-drop-stationary',\n\t\t'fuel-consumption-excessive',\n\t\t'door-open-outside-poi',\n\t\t'maintenance-upcoming',\n\t\t'aux-cooling-while-moving',\n\t\t'aux-heating-while-moving',\n\t\t'seal-broken',\n\t\t'border-crossing',\n\t\t'confirmed-refuel',\n\t\t'temp-poi-enter',\n\t\t'engine-off',\n\t\t'tacho-break',\n\t\t'low-battery',\n\t\t'fast-battery-discharge',\n\t\t'tacho-rest',\n\t\t'panic-button'\n\t],\n\n\tresetValues() {\n\t\tthis.set('selectedTypes', [])\n\t},\n\n\tactions: {\n\t\tincrementRecords() {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tlet increment = this.get('increment')\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\tdelete(notification) {\n\t\t\tif (!notification) { return false }\n\t\t\tnotification.destroyRecord()\n\t\t},\n\t\theaderClick(value) {\n\t\t\tif (!value) { return false }\n\t\t\t// check if sortBy is the same\n\t\t\t// 1 - if is the same CHANGE ORDER\n\t\t\t// 2 - if not SET SORT BY DESC\n\t\t\tlet sortString = this.get('sortBy')[0]\n\t\t\tlet sortValue = sortString.split(':').shift()\n\t\t\tlet sortOrder = sortString.split(':').pop()\n\t\t\tif (sortValue == value) { // same value CHANGE ORDER\n\t\t\t\tthis.set(\"sortBy\", [value.concat(':', sortOrder == 'asc' ? 'desc' : 'asc')])\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"sortBy\", [value.concat(':desc')])\n\t\t\t}\n\t\t}\n\t}\n});\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    menuService: Ember.inject.service('main-menu'),\n    filterBy: null,\n    filterValue: null,\n    searchValue: null,\n\n    typesFilter: null,\n    groupsFilter: null,\n\n    resetValues() {\n        this.set('filterBy', null)\n        this.set('filterValue', null)\n        this.set('searchValue', null)\n    },\n\n    actions: {\n        typeChanged(/*value*/) {\n            if (Ember.$('#management-type').dropdown('get value') === '') {\n                this.set(\"typesFilter\", null);\n                Ember.$('#management-type').dropdown('clear');\n            }\n            else {\n                this.set(\"typesFilter\", Ember.$('#management-type').dropdown('get value'));\n            }\n        },\n        divisionChanged() {\n            if (Ember.$('#management-division').dropdown('get value') === '') {\n                this.set(\"groupsFilter\", null);\n                Ember.$('#management-division').dropdown('clear');\n            }\n            else {\n                this.set(\"groupsFilter\", Ember.$('#management-division').dropdown('get value'));\n            }\n        },\n\n        search(value) {\n            this.set(\"searchValue\", value)\n        }\n    }\n});\n","import Ember from 'ember';\n\nconst { service } = Ember.inject\n\nexport default Ember.Controller.extend({\n\tcurrentUser: service('current-user'),\n\n\tselectedTypes: [],\n\tsearchValue: '',\n\n\tsortBy: ['createdAt:desc'],\n\tsortOrder: Ember.computed('sortBy', function () {\n\t\tlet sortString = this.get('sortBy')[0]\n\t\treturn sortString.split(':').pop()\n\t}),\n\tsortValue: Ember.computed('sortBy', function () {\n\t\tlet sortString = this.get('sortBy')[0]\n\t\treturn sortString.split(':').shift()\n\t}),\n\tnotifications: Ember.computed.filterBy('model', 'isAlert', false),// Ember.computed.filterBy('model', 'persistent', true),\n\n\tlimit: 50, // number of alerts to show as default\n\tincrement: 20,\n\trecordsLength: Ember.computed.alias('sortedRecords.length'),\n\n\tscrolledRecords: Ember.computed('sortedRecords', 'limit', function () {\n\t\tlet limit = this.get('limit')\n\t\tlet length = this.get('recordsLength')\n\t\tlet sortedAlerts = this.get('sortedRecords')\n\t\treturn length > limit ? sortedAlerts.slice(0, limit) : sortedAlerts\n\t}),\n\n\tsortedRecords: Ember.computed.sort('filteredNotifications', 'sortBy'),\n\n\tfilteredNotifications: Ember.computed('notifications', 'selectedTypes.@each', 'searchValue', function () {\n\t\tlet notifications = this.get('notifications')\n\t\tlet selectedTypes = this.get('selectedTypes')\n\t\tlet searchValue = this.get('searchValue') ? this.get('searchValue').toLowerCase() : ''\n\t\tif (selectedTypes.length || searchValue) {\n\t\t\treturn notifications.filter(notif => {                \n\t\t\t\tlet passed = false\n\t\t\t\tselectedTypes.forEach(element => {\n\t\t\t\t\tif (notif.get('type') === element) {                        \n\t\t\t\t\t\tpassed = true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tlet passedTypeFilter = (selectedTypes.length && passed) || !selectedTypes.length ? true : false\n\t\t\t\tif (passedTypeFilter) {\n\t\t\t\t\tif (!searchValue || (searchValue && (notif.get('details.vehicle.licensePlate').toLowerCase().indexOf(searchValue) != -1))) {\n\t\t\t\t\t\tpassed = true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn passed\n\t\t\t})\n\t\t}\n\t\telse {\n\t\t\treturn notifications\n\t\t}\n\t}),\n\n\tnotificationTypes: ['poi-enter',\n\t\t'poi-exit',\n\t\t'poi-stationary',\n\t\t'geofence-enter',\n\t\t'geofence-exit',\n\t\t'geofence-stationary',\n\t\t'document-expiry',\n\t\t'speeding',\n\t\t'fuel-level-drop-stationary',\n\t\t'fuel-consumption-excessive',\n\t\t'door-open-outside-poi',\n\t\t'seal-broken',\n\t\t'low-battery',\n\t\t'fast-battery-discharge',\n\t\t'uit-sync',\n\t\t'tacho-rest',\n\t\t'panic-button'\n\t],\n\n\tresetValues() {\n\t\tthis.set('selectedTypes', [])\n\t},\n\n\tactions: {\n\t\tincrementRecords() {\n\t\t\tlet limit = this.get('limit')\n\t\t\tlet length = this.get('recordsLength')\n\t\t\tif (length <= limit) { return false }\n\n\t\t\tlet increment = this.get('increment')\n\t\t\tthis.incrementProperty('limit', increment)\n\t\t},\n\t\tdelete(notification) {\n\t\t\tif (!notification) { return false }\n\t\t\tnotification.destroyRecord()\n\t\t},\n\t\theaderClick(value) {\n\t\t\tif (!value) { return false }\n\t\t\t// check if sortBy is the same\n\t\t\t// 1 - if is the same CHANGE ORDER\n\t\t\t// 2 - if not SET SORT BY DESC\n\t\t\tlet sortString = this.get('sortBy')[0]\n\t\t\tlet sortValue = sortString.split(':').shift()\n\t\t\tlet sortOrder = sortString.split(':').pop()\n\t\t\tif (sortValue == value) { // same value CHANGE ORDER\n\t\t\t\tthis.set(\"sortBy\", [value.concat(':', sortOrder == 'asc' ? 'desc' : 'asc')])\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"sortBy\", [value.concat(':desc')])\n\t\t\t}\n\t\t}\n\t}\n});\n","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\nimport { computed } from '@ember/object'\nimport config from 'tracknamic-smb/config/environment'\nimport $ from 'jquery' /* eslint-disable ember-best-practices/no-global-jquery */\n\nexport default Controller.extend({\n    api: service(),\n    session: service(),\n    currentUser: service('current-user'),\n    menuService: service('main-menu'),\n\n    filterType: null,\n    filterGroup: null,\n    filterStatus: null,\n    searchValue: null,\n\n    showExportLiveStatus: computed.alias('currentUser.exportLiveStatus'),\n\n    filters: computed('filterType', 'filterGroup', 'filterStatus', 'searchValue', function () {\n        let filterType = this.get('filterType')\n        let filterGroup = this.get('filterGroup')\n        let filterStatus = this.get('filterStatus')\n        let searchValue = this.get('searchValue')\n        return {\n            type: filterType,\n            group: filterGroup,\n            status: filterStatus,\n            search: searchValue,\n        }\n    }),\n\n    resetValues() {\n        this.set('filterType', null)\n        this.set('filterGroup', null)\n        this.set('filterStatus', null)\n        this.set('searchValue', null)\n    },\n\n    actions: {\n        export(format) {\n            $('.reportActionButton').dropdown('clear')\n\n            var vehicles = this.get('model.vehicles')\n            let vehiclesIDs = []\n            var filterType = this.get('filterType')\n            var filterGroup = this.get('filterGroup')\n            var filterStatus = this.get('filterStatus') ? Number(this.get('filterStatus')) : null\n            var searchValue = this.get('searchValue') ? this.get('searchValue').toLowerCase().replace(/\\s/g, '') : null\n\n            if (filterType || filterGroup || filterStatus || searchValue) {\n                vehicles = vehicles.filter(veh => {\n                    var passedFilters = true\n                    if (filterGroup && veh.get('group.id').indexOf(filterGroup) === -1) {\n                        passedFilters = false\n                    }\n                    if (filterType && (veh.get('type') !== filterType)) {\n                        passedFilters = false\n                    }\n                    if (filterStatus) {\n                        let filterText = filterStatus === 'red' ? 'engineOff' : filterStatus === 'green' ? 'engineOn' : 'unreachable'\n                        if (veh.get('statusIndicator') !== filterText) {\n                            passedFilters = false\n                        }\n                    }\n                    if (searchValue && veh.get('licensePlate') && veh.get('licensePlate').toLowerCase().replace(/\\s/g, '').indexOf(searchValue) === -1) {\n                        passedFilters = false\n                    }\n                    return passedFilters\n                })\n            }\n\n            vehiclesIDs = vehicles.mapBy('id')\n            let locale = this.get('currentUser.locale')\n\n            let data = JSON.stringify({\n                format,\n                locale,\n                $filter: {\n                    vehicles: vehiclesIDs,\n                }\n            })\n\n            let url = `${config.api.host}/${config.api.namespace}/reports/101/download`\n            const idToken = this.get('session.data.authenticated.idToken')\n\n            let req = new XMLHttpRequest()\n            req.open('POST', url, true)\n            req.setRequestHeader('Authorization', `Bearer ${idToken}`)\n            req.setRequestHeader('Content-type', 'application/json; charset=utf-8')\n            req.responseType = 'blob'\n\n            req.onload = function (/*event*/) {\n                let blob = req.response\n                let link = document.createElement('a')\n                link.href = window.URL.createObjectURL(blob)\n                link.download = 'status.' + format\n                link.className = 'hidden'\n                document.body.appendChild(link)\n                link.click()\n            }\n            req.send(data)\n        },\n        search(value) {\n            this.set('searchValue', value)\n        }\n    }\n})\n","import Ember from 'ember';\nimport { andHelper } from 'ember-truth-helpers/helpers/and';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(andHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(andHelper);\n}\n\nexport default forExport;\n","import { helper } from '@ember/component/helper';\nimport config from '../config/environment';\nimport { shaRegExp, versionRegExp, versionExtendedRegExp } from 'ember-cli-app-version/utils/regexp';\n\nexport function appVersion(_, hash = {}) {\n  const version = config.APP.version;\n  // e.g. 1.0.0-alpha.1+4jds75hf\n\n  // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n  let versionOnly = hash.versionOnly || hash.hideSha;\n  let shaOnly = hash.shaOnly || hash.hideVersion;\n\n  let match = null;\n\n  if (versionOnly) {\n    if (hash.showExtended) {\n      match = version.match(versionExtendedRegExp); // 1.0.0-alpha.1\n    }\n    // Fallback to just version\n    if (!match) {\n      match = version.match(versionRegExp); // 1.0.0\n    }\n  }\n\n  if (shaOnly) {\n    match = version.match(shaRegExp); // 4jds75hf\n  }\n\n  return match ? match[0] : version;\n}\n\nexport default helper(appVersion);\n","import Ember from 'ember';\nimport { getName } from 'ember-i18n-iso-countries';\n\nexport default Ember.Helper.extend({\n  i18n: Ember.inject.service(),\n  currentUser: Ember.inject.service('current-user'),\n  language: Ember.computed.alias('currentUser.locale'),\n\n  compute(params/*, hash*/) {\n    let language = this.get('language') || 'en'\n    if (params[0] === 'unknown') {\n      return this.get('i18n').t('unknown')\n    }\n    let countryName = getName(params[0], language)\n    return countryName;\n  }\n});\n","import Helper from '@ember/component/helper'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\n\nexport default Helper.extend(datesMixin, {\n\tcompute(params/*, hash*/) {\n\t\tvar date \t= (params[0] != null) ? (new Date(params[0])).getTime() : null\n\t\tvar format \t= (params[1] != null) ? params[1]: \"d-m-y\"\n\t\t\n\t\tif (date) {\n\t\t\treturn this.formatDateToCompanyTZ(date, format)\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}\n})\n","import Ember from 'ember';\n\nexport function decreaseIndex(index) {\n\n  let idx = Number(index);\n\n  return idx - 1;\n\n}\n\nexport default Ember.Helper.helper(decreaseIndex);","import Ember from 'ember';\n\nexport function enabledDay(day/*, hash*/) {\n  if (day[0] === 0 && day[1] === 0 && day[2] === 0 && day[3] === 0) {\n    return \"disabled\";\n  }\n  else if (day[0] === 0 && day[1] === 0 && day[2] === 24 && day[3] === 0) {\n    return \"fullday\";\n  }\n  else {\n    return \"custom\";\n  }\n}\n\nexport default Ember.Helper.helper(enabledDay);\n","import Ember from 'ember';\nimport { equalHelper } from 'ember-truth-helpers/helpers/equal';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(equalHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(equalHelper);\n}\n\nexport default forExport;\n","import Helper from '@ember/component/helper'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\nexport default Helper.extend(datesMixin, {\n\tcompute(params) {\n\t\treturn this.durationAsDHMS(params[0] || 0)\n\t}\n})","import Ember from 'ember';\n/**\n * \n * @param [number, decimals, dec_point, thousands_sep] params \n */\nexport function formatFloat(params/*, hash*/) {\n    var n             = params[0]\n    var decimals      = params[1];\n    var dec_point     = params[2];\n    var thousands_sep = params[3];\n\n    var prec = decimals;\n\n    var toFixedFix = function ( n, prec ) {\n        var k = Math.pow( 10, prec );\n        return ( Math.round( n * k ) / k ).toString( );\n    };\n\n    n     = ! isFinite( + n ) ? 0 : + n;\n    prec  = ! isFinite( + prec ) ? 0 : Math.abs( prec );\n    var sep = ( typeof thousands_sep === 'undefined') ? ',' : thousands_sep;\n    var dec = ( typeof dec_point === 'undefined') ? '.' : dec_point;\n\n    var s = ( prec > 0 ) ? toFixedFix( n, prec ) : toFixedFix( Math.round( n) , prec ); \n    //fix for IE parseFloat(0.55).toFixed(0) = 0;\n\n    var abs = toFixedFix( Math.abs( n ), prec );\n    var _, i;\n\n    if ( abs >= 1000 ) {\n        _ = abs.split( /\\D/ );\n        i = _[ 0 ].length % 3 || 3;\n\n        _[ 0 ] = s.slice( 0, i + ( n < 0 ) ) +\n                _[ 0 ].slice( i ).replace( /(\\d{3})/g, sep + '$1' );\n        s = _.join( dec );\n    } else {\n        s = s.replace( '.', dec );\n    }\n\n    var decPos = s.indexOf( dec );\n    if ( prec >= 1 && decPos !== -1 && ( s.length-decPos-1 ) < prec ) {\n        s += new Array( prec - ( s.length - decPos - 1 ) ).join( 0 ) + '0';\n    } else if ( prec >= 1 && decPos === -1 ) {\n        s += dec + new Array( prec ).join( 0 ) + '0';\n    }\n    return s; \n}\n\nexport default Ember.Helper.helper( formatFloat );\n","import Ember from 'ember';\nimport { gtHelper } from 'ember-truth-helpers/helpers/gt';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(gtHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(gtHelper);\n}\n\nexport default forExport;\n","import Ember from 'ember';\nimport { gteHelper } from 'ember-truth-helpers/helpers/gte';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(gteHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(gteHelper);\n}\n\nexport default forExport;\n","import { helper } from '@ember/component/helper';\nimport { htmlSafe } from '@ember/string';\n\nexport function htmlSafeHelper(params/*, hash*/) {\n  return htmlSafe(params.join(''));\n}\n\nexport default helper(htmlSafeHelper);\n","import Ember from 'ember';\nimport { isArrayHelper } from 'ember-truth-helpers/helpers/is-array';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(isArrayHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(isArrayHelper);\n}\n\nexport default forExport;\n","import Ember from 'ember';\nimport { ltHelper } from 'ember-truth-helpers/helpers/lt';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(ltHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(ltHelper);\n}\n\nexport default forExport;\n","import Ember from 'ember';\nimport { lteHelper } from 'ember-truth-helpers/helpers/lte';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(lteHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(lteHelper);\n}\n\nexport default forExport;\n","import Ember from 'ember';\n\nexport function markerIcon(params/*, hash*/) {\n  let icon = {}\n\n  if (params[0]) {\n    icon.url = params[0] // iconUrl\n  }\n  if (params[1] && params[2]) {\n    icon.scaledSize = new google.maps.Size(params[1], params[2]) // width, height\n  }\n  if (params[3] && params[4]) {\n    icon.anchor = new google.maps.Point(params[3], params[4]) // The anchor for this image is the base of the flagpole at (params[3], params[4])\n  }\n  return icon\n}\n\nexport default Ember.Helper.helper(markerIcon);\n","import moment from 'moment';\nimport Ember from 'ember';\n\nexport default Ember.Helper.extend({\n\tcompute(params) {\n\t\tthis._super(...arguments);\n\n\t\tif (!params || params && params.length > 3) {\n\t\t\tthrow new TypeError('moment-duration-format: Invalid Number of arguments, at most 3');\n\t\t}\n\n\t\treturn moment.duration(params[0], params[1]).format(params[2]);\n\t}\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n/**\n * @param {*} - https://momentjs.com/docs/#/durations/get/\n * @param[0] - duration\n * @param[1] - unitOfDuration\n * @param[2] - unit to get\n */\nexport function momentDurationAs(params/*, hash*/) {\n  if (!params || params && params.length < 3) {\n    throw new TypeError('moment-duration-get: Invalid Number of arguments, at most 3')\n  }\n  if (params[3] && params[3] == 'as') { // == as(instead of get)\n    return Math.trunc(moment.duration(params[0], params[1]).as(params[2]))\n  }\n  return Math.trunc(moment.duration(params[0], params[1]).get(params[2]))\n}\n\nexport default Ember.Helper.helper(momentDurationAs);","import Helper from '@ember/component/helper'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\n\nexport default Helper.extend(datesMixin, {\n\tcompute(params/*, hash*/) {\n\t\tconst date = params[0]\n\t\tconst format = params[1]\n\t\tif (!date) return null\n\n\t\treturn this.formatDateToCompanyTZ(date, format)\n\t}\n})\n","import Ember from 'ember';\n\nexport function nl2br(params/*, hash*/) {\n  return Ember.String.htmlSafe( params[0].replace(/(\\r\\n|\\n|\\r)/gm, '<br>'));\n}\n\nexport default Ember.Helper.helper(nl2br);\n","import Ember from 'ember';\n\nexport function noDots(params/*, hash*/) {\n  return params[0].split('.').join(\"\");\n}\n\nexport default Ember.Helper.helper(noDots);\n","import Ember from 'ember';\nimport { notEqualHelper } from 'ember-truth-helpers/helpers/not-equal';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(notEqualHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(notEqualHelper);\n}\n\nexport default forExport;\n","import Ember from 'ember';\nimport { notHelper } from 'ember-truth-helpers/helpers/not';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(notHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(notHelper);\n}\n\nexport default forExport;\n","import Ember from 'ember';\nimport { orHelper } from 'ember-truth-helpers/helpers/or';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(orHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(orHelper);\n}\n\nexport default forExport;\n","import pluralize from 'ember-inflector/lib/helpers/pluralize';\nexport default pluralize;\n","import singularize from 'ember-inflector/lib/helpers/singularize';\nexport default singularize;\n","import { helper } from '@ember/component/helper'\n\nexport function stringContains(params/*, hash*/) {\n\tif (!params[0] || !params[1]) { return false }\n\tlet s1 = params[0].toLowerCase()\n\tlet s2 = params[1].toLowerCase()\n\treturn s1.indexOf(s2) != -1\n}\n\nexport default helper(stringContains)\n","import Helper from '@ember/component/helper'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\n\nexport default Helper.extend(datesMixin, {\n\tcompute(params/*, hash*/) {\n\t\tconst date = params[0]\n\t\tif (!date) return null\n\n\t\treturn this.convertDateToBrowserTZ(date)\n\t\t}\n})\n","import Ember from 'ember';\n\n// [0]value [1]fixednumbers [2]notFixIntegerNumbers\nexport function toFixed(params/*, hash*/) {\n  if (isNaN(params[0])) {\n    return params[0]\n  }\n  return params[2] && Number.isInteger(params[0]) ? params[0] : Number(params[0]).toFixed(params[1])\n}\n\nexport default Ember.Helper.helper(toFixed);\n","import { helper } from '@ember/component/helper'\nimport config from 'tracknamic-smb/config/environment'\n\nexport function url(params/*, hash*/) {\n  return config.rootURL + params.join()\n}\n\nexport default helper(url)\n","import Ember from 'ember';\nimport moment from 'moment';\n\n// http://stackoverflow.com/questions/43520233/why-moment-weekdays-returns-days-starting-with-sunday-when-i-specified-that-fi\n\nexport function weekDay(params/*, hash*/) {\n  var weekDays = moment.weekdays(true);\n  return weekDays[params].capitalize();\n}\n\nexport default Ember.Helper.helper(weekDay);\n","import Ember from 'ember';\nimport { xorHelper } from 'ember-truth-helpers/helpers/xor';\n\nvar forExport = null;\n\nif (Ember.Helper) {\n  forExport = Ember.Helper.helper(xorHelper);\n} else if (Ember.HTMLBars.makeBoundHelper) {\n  forExport = Ember.HTMLBars.makeBoundHelper(xorHelper);\n}\n\nexport default forExport;\n","import initialize from 'ember-modal-dialog/initializers/add-modals-container';\n\nexport default {\n  name: 'add-modals-container',\n  initialize: initialize\n};\n","import initializerFactory from 'ember-cli-app-version/initializer-factory';\nimport config from '../config/environment';\n\nlet name, version;\nif (config.APP) {\n  name = config.APP.name;\n  version = config.APP.version;\n}\n\nexport default {\n  name: 'App Version',\n  initialize: initializerFactory(name, version)\n};\n","import ContainerDebugAdapter from 'ember-resolver/resolvers/classic/container-debug-adapter';\n\nexport default {\n  name: 'container-debug-adapter',\n\n  initialize() {\n    let app = arguments[1] || arguments[0];\n\n    app.register('container-debug-adapter:main', ContainerDebugAdapter);\n    app.inject('container-debug-adapter:main', 'namespace', 'application:main');\n  }\n};\n","export function initialize() {\n}\n\nexport default {\n  initialize\n}\n","/*\n  This initializer is here to keep backwards compatibility with code depending\n  on the `data-adapter` initializer (before Ember Data was an addon).\n\n  Should be removed for Ember Data 3.x\n*/\n\nexport default {\n  name: 'data-adapter',\n  before: 'store',\n  initialize() {}\n};\n","import setupContainer from 'ember-data/setup-container';\nimport 'ember-data';\n\n/*\n\n  This code initializes Ember-Data onto an Ember application.\n\n  If an Ember.js developer defines a subclass of DS.Store on their application,\n  as `App.StoreService` (or via a module system that resolves to `service:store`)\n  this code will automatically instantiate it and make it available on the\n  router.\n\n  Additionally, after an application's controllers have been injected, they will\n  each have the store made available to them.\n\n  For example, imagine an Ember.js application with the following classes:\n\n  ```app/services/store.js\n  import DS from 'ember-data';\n\n  export default DS.Store.extend({\n    adapter: 'custom'\n  });\n  ```\n\n  ```app/controllers/posts.js\n  import { Controller } from '@ember/controller';\n\n  export default Controller.extend({\n    // ...\n  });\n\n  When the application is initialized, `ApplicationStore` will automatically be\n  instantiated, and the instance of `PostsController` will have its `store`\n  property set to that instance.\n\n  Note that this code will only be run if the `ember-application` package is\n  loaded. If Ember Data is being used in an environment other than a\n  typical application (e.g., node.js where only `ember-runtime` is available),\n  this code will be ignored.\n*/\n\nexport default {\n  name: 'ember-data',\n  initialize: setupContainer\n};\n","import initializer from 'ember-i18n/initializers/ember-i18n';\nexport default initializer;\n","import ENV from '../config/environment';\nimport Configuration from 'ember-simple-auth/configuration';\nimport setupSession from 'ember-simple-auth/initializers/setup-session';\nimport setupSessionService from 'ember-simple-auth/initializers/setup-session-service';\nimport setupSessionRestoration from 'ember-simple-auth/initializers/setup-session-restoration';\n\nexport default {\n  name: 'ember-simple-auth',\n\n  initialize(registry) {\n    const config = ENV['ember-simple-auth'] || {};\n    config.rootURL = ENV.rootURL || ENV.baseURL;\n    Configuration.load(config);\n\n    setupSession(registry);\n    setupSessionService(registry);\n    setupSessionRestoration(registry);\n  }\n};\n","import Ember from 'ember';\nimport config from '../config/environment';\n\nexport function initialize() {\n  var application = arguments[1] || arguments[0];\n  if (config.exportApplicationGlobal !== false) {\n    var theGlobal;\n    if (typeof window !== 'undefined') {\n        theGlobal = window;\n    } else if (typeof global !== 'undefined') {\n        theGlobal = global\n    } else if (typeof self !== 'undefined') {\n        theGlobal = self;\n    } else {\n       // no reasonable global, just bail\n       return;\n    }\n\n    var value = config.exportApplicationGlobal;\n    var globalName;\n\n    if (typeof value === 'string') {\n      globalName = value;\n    } else {\n      globalName = Ember.String.classify(config.modulePrefix);\n    }\n\n    if (!theGlobal[globalName]) {\n      theGlobal[globalName] = application;\n\n      application.reopen({\n        willDestroy: function() {\n          this._super.apply(this, arguments);\n          delete theGlobal[globalName];\n        }\n      });\n    }\n  }\n}\n\nexport default {\n  name: 'export-application-global',\n\n  initialize: initialize\n};\n","import ENV from 'tracknamic-smb/config/environment';\n\nexport function initialize(application) {\n\tapplication.register('env:main', ENV, { singleton: true, instantiate: false });\n\tapplication.inject('controller', 'env', 'env:main');\n}\n\nexport default {\n  name: 'init-environment',\n  initialize\n};\n","/*\n  This initializer is here to keep backwards compatibility with code depending\n  on the `injectStore` initializer (before Ember Data was an addon).\n\n  Should be removed for Ember Data 3.x\n*/\n\nexport default {\n  name: 'injectStore',\n  before: 'store',\n  initialize() {}\n};\n","export function initialize(application) {\n  application.inject('service:main-menu', 'currentUser', 'service:current-user')\n}\n\nexport default {\n  after: 'current-user',\n  initialize\n}\n","import config from '../config/environment';\n\nexport function initialize() {\n  const application = arguments[1] || arguments[0];\n  const { metricsAdapters = [] } = config;\n  const { environment = 'development' } = config;\n  const options = { metricsAdapters, environment };\n\n  application.register('config:metrics', options, { instantiate: false });\n  application.inject('service:metrics', 'options', 'config:metrics');\n}\n\nexport default {\n  name: 'metrics',\n  initialize\n};\n","// Import the full module to ensure monkey-patchs are applied before any store\n// instances are created. Sad face for side-effects :(\nimport 'ember-data-model-fragments';\nimport FragmentTransform from 'ember-data-model-fragments/transforms/fragment';\nimport FragmentArrayTransform from 'ember-data-model-fragments/transforms/fragment-array';\nimport ArrayTransform from 'ember-data-model-fragments/transforms/array';\n\nexport default {\n  name: 'fragmentTransform',\n  before: 'ember-data',\n\n  initialize(application) {\n    application.register('transform:fragment', FragmentTransform);\n    application.register('transform:fragment-array', FragmentArrayTransform);\n    application.register('transform:array', ArrayTransform);\n  }\n};\n","import DS from 'ember-data';\n\nexport default {\n    name: 'reopen-model',\n    initialize: function() {\n        DS.Model.reopen({\n            oldBelongsTo: null,\n            oldHasMany: null,\n            resetOldRelationships: function() {\n                let oldBelongsTo = {};\n                this.set('oldHasMany', {});\n                Ember.run.schedule('actions', this, function() {\n                    this.eachRelationship(function(name, descriptor) {\n\n                        if (descriptor.kind === 'belongsTo') {\n                            let id = this.belongsTo(name).id();\n\n                            if (!id) {\n                                id = null;\n                            }\n\n                            oldBelongsTo[name] = id;\n                        }\n                        if (descriptor.kind === 'hasMany') {\n                            this.hasMany(name).load().then((entities)=> {\n                                const oldHasMany = this.get(\"oldHasMany\");\n                                if (entities && entities.length) {\n                                    oldHasMany[name] = entities.map(model=>model.id);\n                                } else {\n                                    oldHasMany[name] = [];\n                                }\n                                this.set('oldHasMany', oldHasMany);\n                            });\n                        }\n                    }, this);\n                    this.set('oldBelongsTo', oldBelongsTo);\n                    \n                });\n            },\n            hasChangedRelationships: function() {\n                const changedRelationships = this.getChangedRelationships();\n                for (let prop in changedRelationships) {\n                    if (changedRelationships[prop]) {\n                        if (!changedRelationships[prop].hasOwnProperty(\"length\") || changedRelationships[prop].length>0)\n                        return true;\n                    }\n                }\n                return false;\n            },\n            getChangedRelationships: function() {\n                let oldBelongsTo = this.get('oldBelongsTo'),\n                    oldHasMany = this.get('oldHasMany'),\n                    changedRelationships = {};\n\n                this.eachRelationship(function(name, descriptor) {\n                    if (descriptor.kind === 'belongsTo') {\n                        let id = this.belongsTo(name).id();\n\n                        if (oldBelongsTo[name] !== id) {\n                            changedRelationships[name] = id;\n                        }\n                    }\n                    if (descriptor.kind === 'hasMany' && this.hasMany(name).value()) {\n                        let ids = this.hasMany(name).value().map(model=>model.id);\n                        if (!oldHasMany[name]) {\n                            changedRelationships[name] = ids;\n                        } else {\n                            changedRelationships[name] = ids.filter(id=>oldHasMany[name].indexOf(id)===-1).concat(oldHasMany[name].filter(id=>ids.indexOf(id)===-1));\n                        }\n                    }\n                }, this);\n\n                return changedRelationships;\n            },\n            ready: function() {\n                this.resetOldRelationships();\n            },\n            didCreate: function() {\n                this.resetOldRelationships();\n            },\n            didLoad: function() {\n                this.resetOldRelationships();\n            },\n            didUpdate: function() {\n                this.resetOldRelationships();\n            },\n            rollbackAttributes: function() {\n                let oldBelongsTo = this.get('oldBelongsTo');\n                let oldHasMany = this.get('oldHasMany');\n                this.eachRelationship(function(name, descriptor) {\n                    if (descriptor.kind === 'belongsTo') {\n                        let id = oldBelongsTo[name],\n                            value = id;\n\n                        if (id) {\n                            let record = this.store.peekRecord(descriptor.type, id);\n\n                            if (record) {\n                                value = record;\n                            }\n                        }\n\n                        this.set(name, value);\n                    }\n                    if (descriptor.kind === 'hasMany') {\n                        let ids = oldHasMany[name];\n                        if (ids) {\n                            this.set(name, ids.filter(id=>id!=null).map(id=> this.store.peekRecord(descriptor.type, id)));\n                        }\n                    }\n                }, this);\n\n                this.resetOldRelationships();\n\n                this._super();\n            }\n        });\n    }\n}\n","import { dasherize } from '@ember/string'\nimport { computed } from '@ember/object'\nimport Modal from 'ember-modal-service/models/modal'\n\nModal.reopen({\n\tfullname: computed('name', function () {\n\t\tthis._super()\n\t\tconst name = this.get('name')\n\n\t\treturn `modals/${dasherize(name)}`\n\t}),\n})\n\nexport default {\n\tname: 'reopen-modal',\n\tinitialize: () => { }\n}","import ResizeService from 'ember-resize/services/resize';\nimport config from '../config/environment';\n\nexport function initialize() {\n  let application = arguments[1] || arguments[0];\n\n  const { resizeServiceDefaults } = config;\n  const { injectionFactories } = resizeServiceDefaults;\n\n  application.register('config:resize-service', resizeServiceDefaults, { instantiate: false });\n  application.register('service:resize', ResizeService);\n  application.inject('service:resize', 'resizeServiceDefaults', 'config:resize-service');\n\n  injectionFactories.forEach(factory => {\n    application.inject(factory, 'resizeService', 'service:resize');\n  });\n}\n\nexport default {\n  name: 'resize',\n  initialize: initialize\n};\n","import Resolution from '../services/resolution';\nexport function initialize(application) {\n\tapplication.register('resolution:main', Resolution, { singleton: true });\n\tapplication.inject('component', 'Resolution', 'service:resolution');\n\tapplication.inject('controller', 'Resolution', 'service:resolution');\n}\nexport default {\n\tname: 'resolution-service',\n\tinitialize: initialize\n};","/*\n  This initializer is here to keep backwards compatibility with code depending\n  on the `store` initializer (before Ember Data was an addon).\n\n  Should be removed for Ember Data 3.x\n*/\n\nexport default {\n  name: 'store',\n  after: 'ember-data',\n  initialize() {}\n};\n","import { initialize } from 'ember-toastr/initializers/toastr';\nimport ENV from '../config/environment';\n\nconst toastrOptions = {\n  closeButton: true,\n  debug: false,\n  newestOnTop: true,\n  progressBar: true,\n  positionClass: 'toast-top-right',\n  preventDuplicates: true,\n  onclick: null,\n  showDuration: '300',\n  hideDuration: '1000',\n  timeOut: '4000',\n  extendedTimeOut: '1000',\n  showEasing: 'swing',\n  hideEasing: 'linear',\n  showMethod: 'fadeIn',\n  hideMethod: 'fadeOut'\n};\nconst config = ENV['ember-toastr'] || {\n  injectAs: 'toast',\n  toastrOptions: toastrOptions\n};\n\nexport default {\n  name: 'ember-toastr',\n  initialize() {\n    // support 1.x and 2.x\n    var application = arguments[1] || arguments[0];\n\n    if (!config.toastrOptions) {\n      config.toastrOptions = toastrOptions;\n    }\n\n    if (!config.injectAs) {\n      config.injectAs = 'toast';\n    }\n    \n    initialize(application, config);\n  }\n};\n","/*\n  This initializer is here to keep backwards compatibility with code depending\n  on the `transforms` initializer (before Ember Data was an addon).\n\n  Should be removed for Ember Data 3.x\n*/\n\nexport default {\n  name: 'transforms',\n  before: 'store',\n  initialize() {}\n};\n","import Ember from 'ember';\nimport { registerHelper } from 'ember-truth-helpers/utils/register-helper';\n\nimport { andHelper } from 'ember-truth-helpers/helpers/and';\nimport { orHelper } from 'ember-truth-helpers/helpers/or';\nimport { equalHelper } from 'ember-truth-helpers/helpers/equal';\nimport { notHelper } from 'ember-truth-helpers/helpers/not';\nimport { isArrayHelper } from 'ember-truth-helpers/helpers/is-array';\nimport { notEqualHelper } from 'ember-truth-helpers/helpers/not-equal';\nimport { gtHelper } from 'ember-truth-helpers/helpers/gt';\nimport { gteHelper } from 'ember-truth-helpers/helpers/gte';\nimport { ltHelper } from 'ember-truth-helpers/helpers/lt';\nimport { lteHelper } from 'ember-truth-helpers/helpers/lte';\n\nexport function initialize(/* container, application */) {\n\n  // Do not register helpers from Ember 1.13 onwards, starting from 1.13 they\n  // will be auto-discovered.\n  if (Ember.Helper) {\n    return;\n  }\n\n  registerHelper('and', andHelper);\n  registerHelper('or', orHelper);\n  registerHelper('eq', equalHelper);\n  registerHelper('not', notHelper);\n  registerHelper('is-array', isArrayHelper);\n  registerHelper('not-eq', notEqualHelper);\n  registerHelper('gt', gtHelper);\n  registerHelper('gte', gteHelper);\n  registerHelper('lt', ltHelper);\n  registerHelper('lte', lteHelper);\n}\n\nexport default {\n  name: 'truth-helpers',\n  initialize: initialize\n};\n","import initializeStoreService from 'ember-data/initialize-store-service';\n\nexport default {\n  name: \"ember-data\",\n  initialize: initializeStoreService\n};\n","import initializer from 'ember-i18n/instance-initializers/ember-i18n';\nexport default initializer;\n","// This is only needed for backwards compatibility and will be removed in the\n// next major release of ember-simple-auth. Unfortunately, there is no way to\n// deprecate this without hooking into Ember's internals…\nexport default {\n  name: 'ember-simple-auth',\n\n  initialize() {}\n};\n","export default {\n\t'document-expiry': '{{type}} for {{driver}} {{vehicle}} udløber den {{until}}',\n\t'document-expired': '{{type}} for {{driver}} {{vehicle}} udløb den {{until}}',\n\n\t'poi-enter': '{{licensePlate}} kørte ind i POI {{geofenceName}}',\n\t'poi-exit': '{{licensePlate}} forlod POI {{geofenceName}}',\n\t'poi-stationary': '{{licensePlate}} stoppede i POI {{geofenceName}}',\n\n\t'geofence-enter': '{{licensePlate}} kørte ind i geofence {{geofenceName}}',\n\t'geofence-exit': '{{licensePlate}} forlod geofence {{geofenceName}}',\n\t'geofence-stationary': '{{licensePlate}} stoppede i geofence {{geofenceName}}',\n\n\t'door-open-outside-poi': 'Dør åben udenfor POI for {{licensePlate}}',\n\t'seal-broken': 'Forsegling {{sealNumber}} brudt for {{licensePlate}}',\n\t'speeding': '{{licensePlate}} overskrider hastidhedsbegrænsning med {{diff}}km/t',\n\t'fuel-level-drop-stationary': 'Fald i brændstofniveauet mens i tomgang (Sensor) for {{licensePlate}}',\n\t'fuel-level-drop-stationary-confirmed': 'Mængden {{amount}} L fald for {{licensePlate}} blev bekræftet',\n\t'fuel-level-drop-stationary-fluctuation': 'Faldet for {{licensePlate}} var et udsving. Vi undskylder.',\n\t'fuel-consumption-excessive': 'For stort brændstofforbrug for {{licensePlate}}',\n\t'taxi-coasting': 'Motor slukket ved bevægelse for {{licensePlate}}',\n\t'maintenance-upcoming': '{{type}} upcoming for {{licensePlate}} at {{limit}} {{unit}} / {{deadline}}',\n\t'aux-cooling-while-moving': 'Stationær vekselstrøm tændt, mens køretøjet {{licensePlate}} kører',\n\t'aux-heating-while-moving': 'Stationær hjælpevarme, mens køretøjet {{licensePlate}} kører',\n\t\"low-battery\": \"{{licensePlate}}'s battery charge dropped under the {{threshold}}V threshold, it is currently at {{voltage}}V\",\n\t\"fast-battery-discharge\": \"{{licensePlate}}'s battery charge current drop rate ({{dropRatePerHour}}mV/h) is higher than the set value ({{allowedDropRatePerHour}}mV/h)\",\n\t\"border-crossing\": \"{{licensePlate}} krydsede grænsen fra {{from}} til {{to}}\",\n\t\"confirmed-refuel\": \"{{licensePlate}} refueled {{amount}}L ({{source}})\",\n\t\"temp-poi-enter\": \"{{licensePlate}} entered temporary POI\",\n\t\"engine-off\": \"{{licensePlate}}'s engine has been turned off\",\n\t\"tacho-break\": \"{{licensePlate}}'s driver started a tachograph break\",\n\t\"tacho-rest\": \"Chauffør {{driverName}} af bilen {{licensePlate}} er i cyklus {{daysCycle}} og hviler i {{hourRest}}\",\n\t\"panic-button\": \"Panikalarm på køretøj {{licensePlate}} på følgende lokation <a href='https://www.google.com/maps?q={{coordinates}}' target='_blank'>[{{coordinates}}]</a>\"\n}\n","export default {\n\tdispatch: 'Central',\n\tloadAddress: 'Indlæs adresse',\n\tunloadAddress: 'Aflæs adresse',\n\tenterQuery: 'Indtast en forespørgsel',\n\ttypeToSearch: 'Skriv for at søge',\n\tbudget: 'Budget',\n\tstatName: 'Statistikker',\n\tprofitability: 'Rentabilitet',\n\totherStat: 'Andre statistikker',\n\tmenu: {\n\t\tindex: 'central',\n\t\tmap: 'Kort',\n\t\torders: 'Ordrer',\n\t\tclients: 'Klienter',\n\t\tvehicleGroups: 'Køretøjsgrupper',\n\t\troutes: {\n\t\t\tindex: 'Ruter',\n\t\t\tadd: 'Tilføj rute'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Rute',\n\t\tdistance: 'Distance (km)',\n\t\tname: 'Navn',\n\t\tvehicles: 'Køretøjer',\n\t\tvehicle: 'Køretøjer',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Bredde (i meter, fx. 2.4)',\n\t\t\theight: 'Højde (i meter, fx. 4.2',\n\t\t\tlength: 'Længde (i meter, fx. 7)',\n\t\t\tweight: 'Vægt (i tons, fx. 5)',\n\t\t},\n\t\tduration: 'Varighed',\n\t\twaypoints: {\n\t\t\ttitle: 'Point',\n\t\t\ttype: 'Type',\n\t\t\ttypes: {\n\t\t\t\tload: 'Læsning',\n\t\t\t\tunload: 'Aflæsning',\n\t\t\t\tstop: 'Stop'\n\t\t\t},\n\t\t\tlocation: 'Lokation',\n\t\t\tduration: 'Varighed (minutter)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Farlige materialer',\n\t\t\tstrict: 'Streng rute',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Eksplosiv',\n\t\t\t\tgas: 'Gas',\n\t\t\t\tflammable: 'brandfarlig',\n\t\t\t\tcombustible: 'Brændbart',\n\t\t\t\torganic: 'Organisk',\n\t\t\t\tpoison: 'Giftigt',\n\t\t\t\tradioActive: 'Radioaktivt',\n\t\t\t\tcorrosive: 'Ætsende',\n\t\t\t\tpoisonousInhalation: 'Giftig ved indånding',\n\t\t\t\tharmfulToWater: 'Farligt for vand',\n\t\t\t\tother: 'Andet',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Generer rute',\n\t\t\toptimize: 'Optimer ruten',\n\t\t\tnext: 'Næste',\n\t\t\tsave: 'Gem',\n\t\t\tadd: 'Tilføj',\n\t\t\tsearch: 'Find rute...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Genererer rute...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Optimeret rute',\n\t\t\tuse: 'Brug optimeret rute',\n\t\t\tmessage: 'Ruten kan optimeres',\n\t\t\tdiff: 'Den optimerede rute er <b>{{distance}}</b> kortere og <b>{{time}}</b> hurtigere.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Tidsplaner'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Detaljer'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Navn',\n\t\t\tdistance: 'Distance',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Kører',\n\t\t\t\trest: 'Hvile',\n\t\t\t\ttotal: 'Varighed',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Primær',\n\t\t\t\tcheapest: 'Billigste',\n\t\t\t\tfastest: 'Hurtigste',\n\t\t\t\tshortest: 'Kortest',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Gem væk',\n\t\t\t\tsave: 'Gem',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Transporttype',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADRR',\n\t\t\t\t\tfreezer: 'Fryser',\n\t\t\t\t\tsecure: 'Sikker',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Pris',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / tarifar',\n\t\t\tcost: 'Pris',\n\t\t\tcostDetailed: 'Fører pris: {{driverCost}}€\\nKøretøj pris: {{vehicleCost}}€',\n\t\t\tprofitability: 'Rentabilitet',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Lav',\n\t\t\t\tmedium: 'Mellem',\n\t\t\t\thigh: 'Høj',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Handling',\n\t\t\tloading: 'Loading...',\n\t\t\tcostDetailed: 'Fører pris: {{driverCost}}€\\nKøretøj pris: {{vehicleCost}}€\\Told: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Navn',\n\t\t\texternalID: \"Eksternt ID\",\n\t\t\tclient: 'Klient',\n\t\t\tvehicleGroup: 'Køretøjsgruppe',\n\t\t\tstatus: 'Status',\n\t\t\tstatusDate: 'Status dato',\n\t\t\tstartLocation: 'Start lokation',\n\t\t\tendLocation: 'Slut lokation',\n\t\t\tdate: 'Dato',\n\t\t\tattachments: 'Tilføjelser',\n\t\t\tupdatedAt: 'Sidste opdatering',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Tilføj ordre',\n\t\t\t\tname: 'Navn',\n\t\t\t\tstatus: 'Status',\n\t\t\t\tsource: 'Kilde',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'Eksternt ID',\n\t\t\t\tvehicleGroup: 'Køretøjsgruppe',\n\t\t\t\tclient: 'Klient',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Adresse',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Læsning',\n\t\t\t\t\t\tunloading: 'Aflæsning',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Upload tilføjelse',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Navn',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Tilføj klient',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Tilføj klient',\n\t\t\t\tname: 'Navn',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Navn',\n\t\t\ttractorUnit: 'Traktor',\n\t\t\tsemitrailer: 'Semitrailer',\n\t\t\tdriver: 'Fører',\n\t\t\tcodriver: 'Medchauffør',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Tilføj køretøjsgruppe',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Tilføj køretøjsgruppe',\n\t\t\t\tname: 'Navn',\n\t\t\t\ttractorUnit: 'Traktor',\n\t\t\t\tsemitrailer: 'Semitrailer',\n\t\t\t\tdriver: 'Fører',\n\t\t\t\tcodriver: 'Medchauffør',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Traktor enhed',\n\t\t\tsemitrailers: 'Semitrailer',\n\t\t\tvehicleGroups: 'Køretøjsgrupper',\n\t\t},\n\t},\n}\n","export default {\n\tdriverBehaviour: 'Føreradfærd',\n\tmenu: {\n\t\tfcz: 'Dagligt Kørselsark',\n\t\tperformance: 'Præstation',\n\t\t'engine-load-rpm': 'Motorbelastning / RPM',\n\t},\n\ttotals: {\n\t\trevRecommended: 'Totalt anbefalet omdr',\n\t\trevMarginal: 'Totalt marginal omdr',\n\t\trevForbidden: 'Totalt forbudt omdr',\n\t\trevOver: 'Totalt over-omdr',\n\t\trevOverLoaded: 'Totalt over-loaded',\n\t\trevUnder: 'Totalt under-omdr',\n\t},\n\tsettings: {\n\t\tspecific: {\n\t\t\troute: {\n\t\t\t\tpriorityCAN: 'CAN Distance',\n\t\t\t\tpriorityGPS: 'GPS Distance'\n\t\t\t}\n\t\t}\n\t},\n\theaderFields: {\n\t\tdriver: 'Fører',\n\t\tvehicle: 'Køretøj',\n\t\tdate: 'Dato',\n\t\tscore: 'Score',\n\t\tdistanceTotal: 'Distance (km)',\n\t\tfuelConsumptionTotal: 'Forbrug',\n\t\taverageAxleLoad: 'Samlet belastning',\n\t\taverageSpeed: 'Gennemsnitshastighed',\n\t\tbreakingDistance: 'Opbremsninger / 100km',\n\t\tharshBreakingDistance: 'Hårde opbremsninger / 100km',\n\t\tharshAccelerationDistance: 'Hårde accelerationer / 100km',\n\t\tfuelConsumptionMovingDistance: 'Forbrug i bevægelse / 100km',\n\t\tfuelConsumptionIdle: 'Tomgangsforbrug',\n\t\tfuelConsumptionTotalDistance: 'Samlede forbrug / 100km',\n\t\tdurationIdle: 'Tomgangstid',\n\t\tpercentCruiseControl: 'Fartpilot (%)',\n\t\tpercentInertia: 'Retarder (%)',\n\t\tpercentMoving: 'Kørsel (%)',\n\t\tpercentIdle: 'Tomgang (%)',\n\n\t\t// performance\n\t\taccBrake100kmAvg: 'Gennemsnitlig acceleration/nedbremsning pr. 100 km',\n\t\taccBrakeTimeAvg: 'Gennemsnitlig tid fra acceleration til nedbremsning',\n\t\tangle: 'Vinkel',\n\t\tauxHeating: 'Hjælpevarme',\n\t\taxleLoadAvg: 'Gennemsnitlig aksellast',\n\t\tascendPercentage: 'Stigningsprocent',\n\t\tbrakingCount100kmAvg: 'Gennemsnitligt antal opbremsninger pr. 100 km',\n\t\tcompanyScore: 'Firmascore',\n\t\tcompanyScoreAccBr: 'Firmascore acceleration/nedbremsning',\n\t\tcompanyScoreAccBrTime: 'Firmascore tid for acceleration/nedbremsning',\n\t\tcompanyScoreBrk: 'Firmascore nedbremsning',\n\t\tcompanyScoreDeltaAcc: 'Firmascore ændring i acceleration',\n\t\tcompanyScoreCruise: 'Firmascore fartpilot',\n\t\tcompanyScoreInertia: 'Firmascore inerti',\n\t\tcompanyScoreRetarder: 'Firmascore retarder',\n\t\tdeltaAccKmAvg: 'Gennemsnitlig ændring i acceleration pr. kilometer',\n\t\tdescendPercentage: 'Nedstigningsprocent',\n\t\tdifficultyScore: 'Rutens sværhedsgrad',\n\t\tdistanceCruiseControlKmAvg: 'Gennemsnitlig distance med fartpilot pr. kilometer',\n\t\tdistanceInertiaKmAvg: 'Gennemsnitlig distance med inerti pr. kilometer',\n\t\tdurationMoving: 'Bevægelsestid',\n\t\toverSpeedKm: 'Gennemsnitlig distance over hastighedsgrænsen pr. kilometer',\n\t\tpanicBraking: 'Panikopbremsning',\n\t\tretarderOnKmAvg: 'Gennemsnitlig distance med retarder pr. kilometer',\n\t\tscoreAccBr: 'Acceleration/nedbremsningscore',\n\t\tscoreAccBrTime: 'Tidsscore for acceleration/nedbremsning',\n\t\tscoreBrk: 'Nedbremsningsscore',\n\t\tscoreDeltaAcc: 'Accelerationsscore',\n\t\tscoreCruise: 'Fartpilot-score',\n\t\tscoreInertia: 'Inertiascore',\n\t\tscoreRetarder: 'Retarderscore',\n\t\tstationEngineOn: 'Stationær motor tændt',\n\t\tstops: 'Stop',\n\t\tavgScore: 'Samlet vægtet score (start til nu)',\n\n\t\taccRedZone: 'Acceleration Rød Zone',\n\t\taccYellowZone: 'Acceleration Gul Zone',\n\t\tdccRedZone: 'Deceleration Rød Zone',\n\t\tdccYellowZone: 'Deceleration Gul Zone',\n\t\tcornerHandling: 'Hjørnehåndtering',\n\t\tcrashes: 'Ulykker',\n\t\tfuelConsumptionDistance: 'Forbrug / 100 km',\n\t\tstartTime: 'Start Tid',\n\t\tendTime: 'Slut Tid',\n\t\tharshAccAvg: 'Hårde accelerationer, gennemsnit',\n\t\tharshAccWarning: 'Hårde accelerationer, advarsel',\n\t\tharshAccWarningAvg: 'Hårde accelerationer, advarsel gennemsnitlig',\n\t\tharshAccWarningCount: 'Hårde accelerationer, advarselsantal',\n\t\tharshDccAvg: 'Hårde Deceleration, gennemsnitlig',\n\t\tharshDccWarning: 'Hårde Deceleration, advarsel',\n\t\tharshDccWarningCount: 'Hårde Deceleration, advarselsantal',\n\t\tcanDistance: 'CAN Distance',\n\t\tcanEngineHighRpmDuration: 'Høj RPM varighed',\n\t\tcanEngineHighRpmWarningDuration: 'Høj RPM advarselsvarighed',\n\t\tcanEngineHighRpmWarningDurationOnStationary: 'Høj RPM advarselsvarighed, tomgang ',\n\t\tcanEngineLowRpmDurationOnStationary: 'lav RPM varighed, tomgang',\n\t\tcanEngineOnDurationCount: 'Can engine on duration count',\n\t\tcanEngineOnDurationStationary: 'Can engine on duration stationary',\n\t\tcanEngineOnDurationWarningCount: 'Can engine on duration warning count',\n\t\tcanFuelConsumption: 'CAN Forbrug / 100 km',\n\t\tengineOnDurationStationary: 'Tændt motor varighed, tomgang',\n\t\tgpsScore: 'GPS Score',\n\t\tcanScore: 'CAN Score',\n\t\tmobileyeFwdColWarn: 'Fwd Col Warn',\n\t\tmobileyeHeadwayWarn: 'Headway Warning',\n\t\tmobileyeLaneDepartLeftWarn: 'LaneDepartLeftWarn',\n\t\tmobileyeLaneDepartRightWarn: 'LaneDepartRightWarn',\n\t\tmobileyePedDangerWarn: 'PedDangerWarn',\n\t\tmobileyePedFwdColWarn: 'PedFwdColWarn',\n\t\tmobileyeScore: 'MOBILEYE Score',\n\t\ttotalScore: 'Total Score',\n\t\tspeedingAvg: 'Gennemsnitlig hastighedsovertrædelse',\n\t\tspeedingCount: 'Antal hastighedsovertrædelser',\n\t\tspeedingDistance: 'Hastighedsovertrædelse distance',\n\t\tuserName: 'Brugernavn',\n\t},\n\tselectDriver: 'Vælg en fører'\n}\n","export default {\n\temptyName: 'Navn er krævet.',\n\tmissingCoordinates: 'Manglende koordinater.',\n\tfuelCapacityNotSet: 'Brændstofkapacitet er ikke indstillet. Hvis du vil se den nøjagtige brændstofværdi, skal du indstille den!',\n\tinvalidAlertStationaryTimeRange: 'Ugyldig tomgangstid. Indsæt et tal mellem 5 og 60.',\n\tinvalidAlertStationaryTimeMultiple: 'Ugyldig tomgangstid. Indsæt et tal, der er et multiplum af 5.',\n\tinsufficientPolygonPoints: 'Utilstrækkelige point (minimum 3)',\n\terrorsExists: 'Der er fejl',\n\tpleaseTryAgainLater: 'Prøv igen senere',\n\tcheckFileAndTryAgain: 'Kontroller filen, og prøv igen',\n\tnumberWithoutComma: 'Brug \".\" som decimal separator.',\n\terrorsExistsCheckData: 'Der blev fundet fejl. Kontroller data.',\n\tvalidation: {\n\t\tpoi: {\n\t\t\tinvalidPoiShape: 'En \\\"punkt\\\"-form kan kun have et par koordinater, og den tilladte grænse er mindst 50 meter.',\n\t\t\tpoiRequiresPoint: 'En registrering af \\\"poi\\\"-typen kan kun være \\\"point\\\" form.',\n\t\t\tpoiOrGeofenceExpected: 'Forventet POI af typen \\\"poi\\\" eller \\\"geofence\\\".',\n\t\t\tinvalidPolygon: 'For \\\"polygon\\\" former er egenskaben \\\"koordinater\\\" forventet som en række decimaler med en lige længde på mindst 8 værdier.',\n\t\t\tboundaryTooSmall: 'POI-grænsen skal være et tal højere end 50.',\n\t\t\tgeneral: 'Ugyldig form',\n\t\t\tinvalidCoordinates: '\\\"koordinater\\\" skal være en matrix.'\n\t\t},\n\t\ttimetable: {\n\t\t\tinvalidDuration: 'Varighed skal være mindst 1 time og højst 24 timer. Forventet format: TT: mm',\n\t\t\tinvalidStartTime: 'Starttidspunkt er påkrævet og bør ikke være ældre end 15 minutter. Forventet format: ÅÅÅÅ-MM-DD TT: mm: ss.',\n\t\t\tinvalidRecurringDuration: 'For tilbagevendende tidsplaner skal intervallet mellem starttid og sluttid svare til varighedens værdi.',\n\t\t\tinvalidEndTime: 'Sluttiden indstilles inden varigheden er udløbet.',\n\t\t\tinvalidVehicle: 'Dette køretøj blev ikke fundet i databasen, eller du har ikke tilladelse til at ændre det.',\n\t\t\toverlapping: 'Dette køretøj har allerede en tidsplan, der starter på samme tid som den, der blev uploadet.'\n\t\t}\n\t}\n}\n","export default {\n    uits: 'UIT',\n    partners: 'Partnere',\n    etransport: 'e-Transport'\n}\n","export default {\n\tmaintenances: {\n\t\tlabel: 'Revisionsmeddelelser', \n\t\tname: 'Navn', \n\t\tcomment: 'Kommentar',\n\t\tdeleteTitle: 'Slet servicemeddelelsesregel', \n\t\tdeleteContent: 'Reglen om servicemeddelelser slettes. Vil du fortsætte?', \n\t\trequiredIntervalOrRemainderInfo: 'Kun et af felterne {{field1}} eller {{field2}} er obligatorisk', \n\t\tintervalDistance: 'Interval (km)',\n\t\tintervalWorkingHours: 'Interval (Arbejdstimer)',\n\t\tintervalTime: 'Tidsinterval (måneder)',\n\t\tremainderDistance: 'Påmindelse (km)',\n\t\tremainderWorkingHours: 'Påmindelse (Arbejdstimer)',\n\t\tremainderTime: 'Tidspåmindelse (dage)',\n\t\ttypes: {\n\t\t\t'custom-1': 'Custom 1',\n\t\t\t'custom-2': 'Custom 2',\n\t\t\t'custom-3': 'Custom 3',\n\t\t\t'custom-4': 'Custom 4',\n\t\t\t'custom-5': 'Custom 5',\n\t\t\tvehicleLicense: 'Kørekort',\n\t\t\ttransportCertification: 'Professionelt certifikat',\n\t\t\tmedicalNotification: 'Medicinsk certifikat',\n\t\t\tregistrationCertificate: 'Registreringsbevis',\n\t\t\tmandatoryInsurance: 'Obligatorisk forsikring',\n\t\t\tvignette: 'Vignette',\n\t\t\tperiodicalTechnicalInspection: 'Periodisk teknisk inspektion',\n\t\t\tservice: 'Service',\n\t\t\toilChange: 'Olieskift',\n\t\t\ttireChange: 'Dækskift',\n\t\t},\n\t},\n\tmanagement: 'Ledelse',\n\tdocuments: 'Dokumenter',\n\tmoreDetails: 'Tilføj mere',\n\tdocStartDate: 'Fra',\n\tdocEndDate: 'Til',\n\tprice: 'Pris',\n\tload: 'Load',\n\tdownload: 'Download',\n\taccountInformation: 'Kontooplysninger',\n\tdocument: {\n\t\tdeleteTittle: 'Slet dokument',\n\t\tsureToDelete: 'Dokumentet {{fileName}} ({{type}}) vil blive slettet',\n\t\tnotifications: {\n\t\t\tdefaultText: 'Notifikationer',\n\t\t\tday: 'En dag',\n\t\t\tweek: 'En uge',\n\t\t\tmonth: 'En måned',\n\t\t}\n\t},\n\theaderFields: {\n\t\tlicensePlate: 'Nummerplade',\n\t\tdriver: 'Fører',\n\t\tcar: 'Bil',\n\t\ttype: 'Type',\n\t\tdivision: 'Afdeling',\n\t\tstatus: 'Status',\n\t\tname: 'Navn',\n\t\temail: 'Email',\n\t\tphoneNumber: 'Telefon',\n\t\trole: 'Type',\n\t},\n\troles: {\n\t\tnew: 'Tilføj rolle',\n\t\tview: 'Rolledetaljer',\n\t\tedit: 'Rediger rolle',\n\t\tdelete: 'Slet rolle',\n\t\tdeleteUsed: 'Rollen bruges af {{number}} bruger(e) og kan ikke blive slettet:{{names}}',\n\t\tsureToDelete: 'Rollen {{name}} ({{type}}) vil blive slettet',\n\t\tneedName: 'Rollen skal have et navn',\n\t\trequiredAtLeastOneGroupOrOneVehicle: 'Du skal vælge mindst en gruppe eller et køretøj',\n\t},\n\ttimetables: {\n\t\twithoutTimetable: 'Ingen tidsplan',\n\t\tto: 'til',\n\t\tname: 'Tidsplans navn',\n\t\tbrowse: 'Gennemse...',\n\t\taddCsv: 'Overfør CSV',\n\t\tstatus: {\n\t\t\tdefaultText: 'Status',\n\t\t\tdisabled: 'Deaktiveret',\n\t\t\tcustom: 'Brugerdefinerede',\n\t\t\tfullDay: 'Hele dagen',\n\t\t},\n\t\tdelete: {\n\t\t\tsureToDeleteTimetable: 'Er du sikker på, at du vil slette denne tidsplan?',\n\t\t\ttitle: 'Slet tidsplan',\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'Tilføj Tidsplan',\n\t\t\tbuttonText: 'GEM',\n\t\t},\n\t\timport: {\n\t\t\timportedNumber: '{{value}} tidsplan(er) blev importeret',\n\t\t\tnotImportedNumber: '{{value}} tidsplan(er) blev ikke importeret',\n\t\t\tallImported: 'Alle ({{value}}) tidsplan(er) er importeret',\n\t\t\tnoneImported: 'Der blev ikke importeret nogen tidsplan',\n\t\t\ttitle: 'Importer tidsplan',\n\t\t\tbuttonText: 'IMPORTER',\n\t\t\tname: 'Tidsplans Navn',\n\t\t\tlicensePlate: 'Nummerplade',\n\n\t\t\taffectedVehicles: 'Køretøjer skifter fra eksisterende tidsplaner',\n\t\t\ttimetablesForRemoval: 'Tidsplaner til fjernelse',\n\n\t\t\tmondayStart: 'Mandag Start',\n\t\t\tmondayStop: 'Mandag Stop',\n\n\t\t\ttuesdayStart: 'Tirsdag Start',\n\t\t\ttuesdayStop: 'Tirsdag Stop',\n\n\t\t\twednesdayStart: 'Onsdag Start',\n\t\t\twednesdayStop: 'Onsdag Stop',\n\n\t\t\tthursdayStart: 'Torsdag Start',\n\t\t\tthursdayStop: 'Torsdag Stop',\n\n\t\t\tfridayStart: 'Fredag Start',\n\t\t\tfridayStop: 'Fredag Stop',\n\n\t\t\tsaturdayStart: 'Lørdag Start',\n\t\t\tsaturdayStop: 'Lørdag Stop',\n\n\t\t\tsundayStart: 'Søndag Start',\n\t\t\tsundayStop: 'Søndag Stop',\n\t\t\terrors: {\n\t\t\t\tmessage: 'Der var nogle fejl i de uploadede fildata. Ret venligst værdierne, og send filen igen.'\n\t\t\t},\n\t\t\tsuccessful: 'Importeret korrekt',\n\n\t\t\tdownloadTemplate: 'Download Skabelon',\n\t\t\tdownloadExample: 'Download Eksempler'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Rediger tidsplan',\n\t\t\tbuttonText: 'REDIGER',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Tidsplans detaljer',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tvehicles: {\n\t\t// small modal\n\t\tdivision: 'Afdeling',\n\t\tdriverIsAttached: 'Den valgte fører tildeles et andet køretøj!',\n\t\tvehicleHasNoDoorSensor: 'Køretøjet har ingen dørsensor',\n\t\tisAssignedToVehicle: 'tildelt køretøjet',\n\t\twillBeAssigned: 'tildeles køretøjet',\n\t\tsureToDeleteVehicle: 'Er du sikker på, at du vil slette køretøjet',\n\t\tvehicleHasDeviceAssigned: 'Enhed {{deviceID}} er tildelt køretøjet',\n\t\tselectDevice: 'Vælg enhed',\n\t\tselectDispatcher: 'Vælg centraloperatør',\n\t\trelayContact: {\n\t\t\ton: {\n\t\t\t\tstate: 'Tænding blokeret',\n\t\t\t\ttitle: 'Bloker tænding',\n\t\t\t\tconfirm: 'Er du sikker på, at du vil blokere tændingen?'\n\t\t\t},\n\t\t\toff: {\n\t\t\t\tstate: 'Tændingen ublokeret',\n\t\t\t\ttitle: 'Ubloker tænding',\n\t\t\t\tconfirm: 'Er du sikker på, at du vil fjerne blokeringen af tændingen?',\n\t\t\t},\n\t\t\tibutton: {\n\t\t\t\tstate: 'Tænding blokeret (iButton)',\n\t\t\t\ttitle: 'Bloker tænding (IButton)',\n\t\t\t\tconfirm: 'Er du sikker på, at du vil blokere tændingen ved hjælp af iButton?',\n\t\t\t},\n\t\t},\n\t\tspeedLimit: {\n\t\t\tmax: 'Standard advarselgrænse',\n\t\t\tmaxTooltip: 'advarsler vil blive sendt, hvis grænseværdien overskrides uanset vejgrænsen (dvs. 90 km/t for lastbiler)',\n\t\t\tmin: 'Advarselgrænseværdi',\n\t\t\tminTooltip: 'hastighedsadvarsler sendes ikke, hvis de er under denne grænseværdi',\n\t\t\toffset: 'Tilladt grænseværdi',\n\t\t\toffsetTooltip: '10 km/t for at blive advaret ved\\n50 + 10 km/t i byområder, \\n90 + 10 km/t på landevej, \\n130 + 10 km/t på motorveje',\n\t\t\terrorMessage: 'Kontroller felterne markeret med rødt'\n\t\t},\n\t\tdoorAlert: {\n\t\t\tnoAlert: 'Ingen advarsler',\n\t\t\talertOpenDoor: 'Advarsel, åben dør',\n\t\t\tdoorOpenOutsidePOI: 'Advarsel, åben dør uden for POI',\n\t\t\tdoorOpenOutsidePOIInTimetable: 'Advarsel, åben dør uden for POI i tidsplanen',\n\t\t},\n\t\tremoveDevice: 'Fjern enhed',\n\t\tcannotChangeDeviceUntilRelayContactDisabled: 'Hvis tændingen er blokeret, kan enhederne ikke ændres',\n\t\tcannotChangeRelayContactUntilDeviceIsSaved: 'Tændingen kan ikke blokeres, før enheden er gemt',\n\t\tdeviceChange: 'Ændre enhed',\n\t\tnoDevices: 'Der er ingen enheder tilgængelige',\n\t\tvehicleDetails: 'Køretøjsdetaljer',\n\t\tautoPark: 'Køretøjsflåde',\n\t\tlicensePlate: 'Nummerplade',\n\t\texternalRefuelID: 'Køretøjets ID fra brændstof-fil',\n\t\tvin: 'VIN',\n\t\tmake: 'Fabrikant',\n\t\tmodel: 'Model',\n\t\tvehicle: 'Køretøj',\n\t\tadblueCapacity: 'Adblue kapacitet (L)',\n\t\tfuel: {\n\t\t\ttypeText: 'Brændstoftype',\n\t\t\ttype: {\n\t\t\t\tpetrol: 'Benzin',\n\t\t\t\thybridPetrol: 'Hybrid-benzin',\n\t\t\t\tdiesel: 'Diesel',\n\t\t\t\thybridDiesel: 'Hybrid-diesel',\n\t\t\t\tlpg: 'GPL',\n\t\t\t\telectric: 'Elektrisk',\n\t\t\t},\n\t\t\tcapacity: 'Tankkapacitet',\n\t\t\tconsumption: {\n\t\t\t\tsirocol: 'Aux varmeforbrug L/t',\n\t\t\t\tdistanceWise: 'Gennemsnitligt brændstofforbrug {{unit}}/100KM',\n\t\t\t\ttimeWise: 'Gennemsnitligt brændstofforbrug {{unit}}/t'\n\t\t\t},\n\t\t\tfluctuationFilter: 'Fluktueringsfilter for brændstofniveau',\n\t\t},\n\t\tcategory: 'Kategori',\n\t\ttype: {\n\t\t\tutility: 'Varevogn',\n\t\t\tcar: 'Bil',\n\t\t\tminibus: 'Minibus',\n\t\t\tbus: 'Bus',\n\t\t\ttruck: 'Lastbil',\n\t\t\ttractor: 'Traktor',\n\t\t\tharvester: 'Høstmaskine',\n\t\t\tconstruction: 'Konstruktion',\n\t\t\ttrailer: 'Trailer',\n\t\t\t'semi-trailer': 'Semi-trailer'\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: 'Bredde (m)',\n\t\t\tlength: 'Længde (m)',\n\t\t\theight: 'Hæjde (m)',\n\t\t\tweight: 'Vægt (t)'\n\t\t},\n\t\tseats: 'Antal sæder',\n\t\tselectDivision: 'Vælg afdeling',\n\t\tselectDriver: 'Vælg fører',\n\t\tremoveDriver: 'Fjern fører',\n\t\tfabricationYear: 'Fremstillingsår',\n\t\tregistrationDate: 'Registrerings dato',\n\t\tobuID: 'OBU ID',\n\t\tengine: {\n\t\t\tpower: 'Hestekræfter (HP)',\n\t\t\tcapacity: 'Motorkapacitet'\n\t\t},\n\t\tpayloadCapacity: 'Nyttelastkapacitet',\n\t\ttireSize: 'Dækstørrelse',\n\t\tcolor: 'Farve',\n\t\tnew: {\n\t\t\ttitle: 'Tilføj køretøj',\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Rediger køretøj',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Køretøjsdetaljer',\n\t\t}\n\t},\n\tusers: {\n\t\tuserDetails: 'Brugeroplysninger',\n\t\t// small modal\n\t\tvehicleHasDriver: 'Det valgte køretøj har allerede en fører!',\n\t\tuserHasVehicle: 'Brugeren tildeles køretøjet',\n\t\tifDeleteDetatch: 'Hvis du har slettet denne bruger, bliver han fjernet fra dette køretøj',\n\t\thaveDriver: 'kørt af',\n\t\twichWillBeReplaced: 'som erstattes med',\n\t\tdeleteUser: 'Fjern bruger',\n\t\tsureToDeleteThisUser: 'Er du sikker på, at du vil slette bruger',\n\t\treactivateUser: 'Genaktiver bruger',\n\t\tsureToReactivateThisUser: 'Er du sikker på, at du vil genaktivere denne bruger',\n\t\tsureToResendInvitation: 'Er du sikker på, at du vil sende invitationen igen',\n\t\ttheInvitationWillBeSent: 'Invitation emailen vil blive sendt til følgende adresse',\n\t\tresendInvitation: 'Send invitationen igen',\n\t\tuserName: 'Brugernavn',\n\t\tfirstName: 'Fornavn',\n\t\tiButton: 'iButton',\n\t\ttachoCardID: 'Fartskriver-ID',\n\t\tlastName: 'Efternavn',\n\t\temail: 'Email',\n\t\tphotoUpload: 'Overfør billede',\n\t\tdivision: 'Afdeling',\n\t\tphoneNumber: 'Telefon',\n\t\tlanguage: 'Sprog',\n\t\tdrivingLicense: 'Kørekort',\n\t\tdrivingLicenseList: {\n\t\t\tcategoryAM: 'AM-kategori',\n\t\t\tcategoryA1: 'A1-kategori',\n\t\t\tcategoryA2: 'A2-kategori',\n\t\t\tcategoryA: 'A-kategori',\n\t\t\tcategoryB: 'B-kategori',\n\t\t\tcategoryBE: 'BE-kategori',\n\t\t\tcategoryC: 'C-kategori',\n\t\t\tcategoryCE: 'CE-kategori',\n\t\t\tcategoryD: 'D-kategori',\n\t\t},\n\t\tassignedVehicle: 'Tildelt køretøj',\n\t\tdetachVehicle: 'Fjern køretøj',\n\t\trole: 'Rolle',\n\t\tdriver: 'Fører',\n\t\tadmin: 'Administrator',\n\t\tpartner: 'Partner',\n\t\tmanager: 'Manager',\n\t\tsalesAgent: 'Sælger',\n\t\telectrician: 'Elektriker',\n\t\tdocStartDate: 'Fra',\n\t\tdocEndDate: 'Til',\n\t\tdocPrice: 'Pris',\n\t\tload: 'Load',\n\t\tcountry: 'Land',\n\t\tnew: {\n\t\t\ttitle: 'Tilføj bruger',\n\t\t\tbuttonText: 'GEM',\n\t\t\theaderText: 'Udfyld formularen med brugerdata. For detaljer, tryk på \\'Tilføj flere detaljer\\'.'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Rediger bruger',\n\t\t\tbuttonText: 'REDIGER',\n\t\t\theaderText: 'Udfyld formularen med brugerdata. For detaljer, tryk på \\'Tilføj flere detaljer\\'.'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Brugerinformation',\n\t\t\tbuttonText: 'OK',\n\t\t\theaderText: 'Oplysninger om den valgte bruger. For mere information, tryk på \\'Mere\\'.'\n\t\t}\n\t},\n\tgroups: {\n\t\tdeleteGroup: 'Er du sikker på, at du vil slette afdelingen',\n\t\tgroup: 'Afdeling',\n\t\taddGroup: 'Tilføj Afdeling',\n\t\ttimetable: 'Tidsplan',\n\t\teditGroup: 'Rediger Afdeling',\n\t\tgroupName: 'Afdelingstitel',\n\t\taddSubGroup: 'Tilføj underafdeling',\n\t\teditSubGroup: 'Rediger underafdeling',\n\t\tdeleteSubGroup: 'Fjern underafdeling',\n\t\tshare: 'Partnerer',\n\t\tadd: 'Tilføj'\n\t},\n\tgeofences: {\n\t\tname: 'POI titel',\n\t\texternalID: 'externt ID',\n\t\tradio: 'Radius',\n\t\tsureToDeleteGeofence: 'Er du sikker på, at du vil slette POIet',\n\t\tdeleteOldGeofences: 'Slet alle geofences, der allerede findes på platformen',\n\t\talertStationaryTimeHoverText: 'Tomgangsminutter (5-60). Kun multiplum af 5 tilladt.',\n\t\ticons: {\n\t\t\tselectIcon: 'Vælg ikon',\n\t\t\tnoIcon: 'Intet ikon',\n\t\t},\n\t\tdownloadCsv: 'Download CSV',\n\t\ttype: {\n\t\t\tgeofence: 'Geofence',\n\t\t\tpoi: 'POI'\n\t\t},\n\t\tshape: {\n\t\t\ttype: {\n\t\t\t\tPolygon: 'Geofence',\n\t\t\t\tPoint: 'POI'\n\t\t\t}\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'tilføj POI',\n\t\t\tbuttonText: 'GEM',\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Importer POI',\n\t\t\tbuttonText: 'IMPORTER POI',\n\t\t\timportedGeofencesNumber: '{{value}} POIs blev importet',\n\t\t\tupdatedGeofencesNumber: '{{value}} POIs blev opdateret',\n\t\t\tdeletedGeofencesNumber: '{{value}} POIs blev fjernet',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POIs blev ikke importeret',\n\t\t\tallGeofencesImported: 'Alle ({{value}}) POIs er blevet importeret',\n\t\t\tpleaseWait: 'Vent venligst',\n\t\t\tprocessingGeofences: 'Behandler data fra fil',\n\t\t\tdownloadTemplate: 'Download Skabelon',\n\t\t\tdownloadExamples: 'Download Eksempler'\n\t\t},\n\t\tsimulate: {\n\t\t\timportedGeofencesNumber: '{{value}} POIs vil blive tilføjet',\n\t\t\tupdatedGeofencesNumber: '{{value}} POIs vil blive opdateret',\n\t\t\tdeletedGeofencesNumber: '{{value}} POIs vil blive fjernet',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POIs fejlagtig validering.',\n\t\t\tallGeofencesImported: 'All ({{value}}) POIs vil bliver importeret',\n\t\t\tvalidateFile: 'Bekræft fil'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'REDIGER POI',\n\t\t\tbuttonText: 'REDIGER',\n\t\t},\n\t\tinfo: {\n\t\t\ttitle: 'POI information',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tsettings: {\n\t\tspeedLimit: 'Hastighedsbegrænsning',\n\t\temails: {\n\t\t\t'poi-enter': 'Start POI',\n\t\t\t'poi-exit': 'Afslut POI',\n\t\t\t'poi-stationary': 'Tomgang i POI',\n\t\t\t'geofence-enter': 'Start geofence',\n\t\t\t'geofence-exit': 'Afslut geofence',\n\t\t\t'geofence-stationary': 'Tomgang i geofence',\n\t\t\t'document-expiry': 'Udløb af dokument',\n\t\t\t'speeding': 'Hastighedsovertrædelse',\n\t\t\t'door-open-outside-poi': 'Dør åben udenfor POI',\n\t\t\t'seal-broken': 'Forsegling brudt',\n\t\t\t'fuel-level-drop-stationary': 'Fald i brændstofniveau (Sensor)',\n\t\t\t'fuel-consumption-excessive': 'For stort brændstofforbrug',\n\t\t\t'taxi-coasting': 'Motor slukker ved bevægelse',\n\t\t\t'aux-cooling-while-moving': 'Hjælpekøling',\n\t\t\t'aux-heating-while-moving': 'Ekstra opvarmning',\n\t\t\t'border-crossing': 'Grænseovergang',\n\t\t\t'confirmed-refuel': 'Næste tankning',\n\t\t\t'temp-poi-enter': 'Indtast midlertidigt POI',\n\t\t\t\"engine-off\": \"Ignition off alert\",\n\t\t\t\"tacho-break\": \"Driver rest alert\",\n\t\t\t'low-battery': 'Low battery',\n\t\t\t'fast-battery-discharge': 'Fast battery discharge',\n\t\t\t'tacho-rest': 'Overskridelse af chaufførens hvileperiode',\n\t\t\t'panic-button': 'Panikknap alarm',\n\t\t\tinsertEmailsSeparatedByComma: 'Indsæt flere email adresser adskilt med komma',\n\t\t\tinsertPhonesSeparatedByComma: 'Indsæt telefonnumre adskilt med komma',\n\t\t\tnotifications: 'Notifikationer',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Telefon',\n\t\t},\n\t\tcountries: {\n\t\t\tat: 'Østrig',\n\t\t\tbe: 'Belgien',\n\t\t\tbg: 'Bulgarien',\n\t\t\thr: 'Kroatien',\n\t\t\tcy: 'Cypern',\n\t\t\tcz: 'Tjekkiet',\n\t\t\tdk: 'Danmark',\n\t\t\tee: 'Estland',\n\t\t\tfl: 'Finland',\n\t\t\tfr: 'Frankrig',\n\t\t\tde: 'Tyskland',\n\t\t\tgr: 'Grækenland',\n\t\t\thu: 'Ungarn',\n\t\t\tie: 'Irland',\n\t\t\tit: 'Italien',\n\t\t\tlv: 'Letland',\n\t\t\tlt: 'Litaun',\n\t\t\tlu: 'Luxembourg',\n\t\t\tmt: 'Malta',\n\t\t\tnl: 'Holland',\n\t\t\tpl: 'Polen',\n\t\t\tpt: 'Portugal',\n\t\t\tro: 'Rumænien',\n\t\t\tsk: 'Slovakiet',\n\t\t\tsl: 'Slovenien',\n\t\t\tes: 'Spanien',\n\t\t\tse: 'Sverige',\n\t\t\tgb: 'Storbritanien'\n\t\t}\n\t},\n\tintegrations: {\n\t\tenabled: 'Aktiveret',\n\t\tactiv: 'Aktiv',\n\t\tinactive: 'Inaktiv',\n\t\tserviceWillBe: 'Tjenesten vil være',\n\t\tserviceIs: 'Tjenesten er',\n\t\tafterSave: 'når du har gemt det.',\n\t\tenable: 'aktiver',\n\t\tdisable: 'deaktiver',\n\t\tsave: 'Gem',\n\t\tclient: 'Vælg klient',\n\t}\n}\n","export default {\n\tat: 'Ved',\n\tfrom: 'Fra',\n\tto: 'Til',\n\tduration: 'Varighed',\n\n\tstart: 'Start',\n\tstop: 'Stop',\n\t// stopInProcess: 'Tomgang i gang',\n\tlastStationary: 'Sidste gang i tomgang',\n\tstationary: 'Tomgang',\n\n\t//charts-container\n\tspeed: 'Hastighed',\n\taltitude: 'Højde',\n\tfuelCanLevel: 'CAN Fuel Level',\n\tfuelLevel: 'Brændstofsensorniveau',\n\tacceleration: 'Acceleration',\n\trpm: 'Omdrejninger',\n\n\t//marker names\n\thall: 'Hal',\n\tgrayMarker: 'Grå Markør',\n\tblueMarker: 'Blå Markør',\n\tgreenMarker: 'Grøn Markør',\n\torangeMarker: 'Orange Markør',\n\tredMarker: 'Rød Markør',\n\tyellowMarker: 'Gul Markør',\n\tgreen1Marker: 'Lysegrøn Markør',\n\tturquoiseMarker: 'Turkis Markør',\n\tpurpleMarker: 'Lilla Markør',\n\tpinkMarker: 'Pink Markør',\n\n\t//map index popup\n\tlastUpdate: 'Sidste opdatering',\n\tengineState: 'Motortilstand',\n\tgpsPosition: 'GPS position',\n\tgpsSpeed: 'GPS hastighed',\n\tcanSpeed: 'CAN hastighed',\n\tcanAcceleration: 'CAN acceleration',\n\tcanRPM: 'CAN Omdrejninger',\n\tcanFuelAvailable: 'Tilgængeligt brændstofniveau (CAN)',\n\tcanFuelUsed: 'Brugt brændstof (CAN)',\n\tprobeFuelAvailable: 'Tilgængeligt brændstofniveau (sensor)',\n\tdistance: 'Distance',\n\tdoors: 'Døre',\n\tagregation: 'Fryserenhed',\n\ttemperature: 'Temperatur',\n\topenMessageThread: 'Åbn meddelelser'\n}\n","export default {\n\toperationWithSuccess: 'Operation afsluttet',\n\toperationMayTake5min: 'Bekræftelsen af denne handling kan tage op til 5 minutter.',\n\tlanguageChangedWithSuccess: 'Sprog ændret',\n\tpriorityChangedWithSuccess: 'Prioritet ændret',\n\toperationWithError: 'Operation mislykkedes',\n\tdeletedWithSuccess: 'Slettet.',\n\ttemperatureForPeriod: 'Temperatur for',\n\tnoRecords: 'Ingen resultater fundet.',\n\tgeneratingReportPleaseWait: 'Genererer rapport. Vent venligst.',\n\tinvalidIntervalMax3Days: 'Ugyldigt interval. Maksimumsinterval er 3 dage',\n\tgeneratingRoteDetailedReport: 'Genererer detaljeret ruterapport',\n\tgenerateDetailedReport: 'Generer detaljeret ruterapport',\n\twillReceiveReportThroughEmail: 'På få minutter modtager du en email med rapporten',\n\tdeleteFueling: 'Slet brændstof',\n\tareYouSureToDeleteFueling: 'Brændstof fjerne. Fortsæt?',\n\tfluctuationFuel: 'Bekræft udsving',\n\tareYouSureToConfirmFluctuation: 'Vil du bekræfte dette udsving. Fortsæt?',\n\troutingFailed: 'Rute mislykkedes',\n\tfullFuel: 'Markér som fuld',\n\tfullFueled: 'Markeret som fuld',\n\tcannotDeleteVehicleWithDeviceAttached: 'Du kan ikke slette et køretøj, der har en enhed tilsluttet',\n\tareYouSureToConfirmFullFuel: 'Brændstof bliver markeret som fyldt. Forsæt?',\n\tcoordsCopiedToClipboard: 'Koordinater kopieret til udklipsholder',\n\troutesWithStationaryLowerThanSelectedWillBeMerged: 'Ruterne med stationær tid, der er lavere end den valgte tid, lægges sammen',\n}\n","export default {\n\tcrossedBorderFrom: 'Krydset grænse fra',\n\tcrossedBorderTo: 'til',\n\talerts: {\n\t\tvalidValues: 'Værdier er i normale parametre',\n\t\tfuel: {\n\t\t\tprocessing: 'Data behandles',\n\t\t\tfluctuation: 'Brændstofsvingning bekræftet ved brug',\n\t\t\tdropStationary: 'Fald i brændstofniveauet i tomgang',\n\t\t\tdiffDetectedRefuelBiggerThan5: 'Forskellen mellem det indtastede brændstofniveau og den målte mængde er større end 5L',\n\t\t},\n\t\tmaxSpeed: {\n\t\t\tred: 'Over hastighedsgrænse på {{maxSpeed}}km/t med {{dif}}km/t',\n\t\t},\n\t\tstationary: {\n\t\t\tgreen: 'Tomgangsvarighed med motor tændt er mindre end 5 min',\n\t\t\tyellow: 'Tomgangsvarighed med motor tændt er mellem 5 og 15 min',\n\t\t\tred: 'Tomgangsvarighed med motor tændt er over 15 minutter',\n\t\t},\n\t},\n\ttitle: {\n\t\tafterhours: 'Overarbejdstimer',\n\t\talerts: 'Advarsler',\n\t\tconsumption: 'Forbrug',\n\t\t'fleet-summary': 'Flådesammendrag',\n\t\tfaz: 'Dagligt aktivitetsark',\n\t\t'fuel-level': 'Brændstofniveau',\n\t\tnotifications: 'Notifikationer',\n\t\tpoi: 'POI Aktivitet',\n\t\t'poi-temperature': 'POI TK',\n\t\troute: 'Ruter',\n\t\tstationary: 'Stops',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperatur',\n\t\t'temperature-range': 'TK Timer',\n\t\ttimesheet: 'Tidsplan',\n\t\tconstruction: 'Konstruktion'\n\t},\n\treports: 'Reporter',\n\tmenu: {\n\t\tafterhours: 'Overarbejdstimer',\n\t\talerts: 'Advarsler',\n\t\tcosts: 'Omkostninger',\n\t\tcabotage: 'Cabotage',\n\t\tcountries: 'Lande',\n\t\tconsumption: 'Forbrug',\n\t\t'driver-behaviour': 'Føreradfærd',\n\t\t'driver-routes': 'Driver routes', // TODO - translate\n\t\tengine: 'Motor',\n\t\t'fleet-summary': 'Flådesammendrag',\n\t\t'fleet-summary-extended': 'Fleet Summary Extended', // TODO - translate\n\t\tfaz: 'Dagligt aktivitetsark',\n\t\t'fuel-level': 'Brændstofniveau',\n\t\t'km-day': 'Km/dag',\n\t\tnotifications: 'Notifikationer',\n\t\tpoi: 'POI Aktivitet',\n\t\t'poi-temperature': 'POI TK',\n\t\troute: 'Ruter',\n\t\tstationary: 'Stops',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperatur',\n\t\t'temperature-range': 'TK Timer',\n\t\ttimesheet: 'Timeseddel',\n\t\tconstruction: 'Konstruktion',\n\t\t'obu-tickets': 'OBU Kvittering',\n\t\t'tacho-activity': 'Fartskriveraktivitet',\n\t\t'tacho-files': 'Fartskriverfiler',\n\t\t'tacho-timesheet': 'Fartskriver timeark',\n\t\t23: 'Brændstofforbrug',\n\t\ttransits: 'Transit',\n\t},\n\tdownloads: 'Download',\n\tsettings: {\n\t\tdensity: 'Massefylde',\n\t\tspecific: {\n\t\t\t'tacho-files': {\n\t\t\t\tsummarize: 'Filter',\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryDuration: 'Tomgangsvarighed',\n\t\t\t\tweeklyBreak: 'Weekly break', // TODO: translate\n\t\t\t\tdailyBreak: 'Daily break', // TODO: translate\n\t\t\t\tborderCrossing: 'Border crossing', // TODO: translate\n\t\t\t\tstoppingPurpose: 'Load / Unload', // TODO: translate\n\t\t\t\tweeklyBreakStart: 'Weekly break start', // TODO: translate\n\t\t\t\tweeklyBreakEnd: 'Weekly break end', // TODO: translate\n\t\t\t\tdailyBreakStart: 'Daily break start', // TODO: translate\n\t\t\t\tdailyBreakEnd: 'Daily break end', // TODO: translate\n\t\t\t\tloadStart: 'Load start', // TODO: translate\n\t\t\t\tloadEnd: 'Load end', // TODO: translate\n\t\t\t\tunloadStart : 'Unload start', // TODO: translate\n\t\t\t\tunloadEnd: 'Unload end', // TODO: translate\n\t\t\t\tduration: 'Varighed',\n\t\t\t\tschedule: 'Ruter i tidsplan',\n\t\t\t\tnoschedule: 'Ruter 0-24',\n\t\t\t\tpriorityCAN: 'Distance CAN',\n\t\t\t\tpriorityGPS: 'Distance GPS',\n\t\t\t\tinfoCAN: 'CAN info',\n\t\t\t\tinfoGPS: 'GPS info',\n\t\t\t\tengineOnTimeCAN: 'CAN Motor tændt tid',\n\t\t\t\tengineOnTimeGPS: 'GPS Motor tændt tid',\n\t\t\t\tCAN: 'CAN',\n\t\t\t\tcng:{\n\t\t\t\t\tvolume: 'CNG - L',\n\t\t\t\t\tweight: 'CNG - Kg',\n\t\t\t\t\tpercent: 'CNG - %',\n\t\t\t\t},\n\t\t\t\tENGINE: 'Motor',\n\t\t\t\tpoi: 'POI',\n\t\t\t\taddress: 'Adresse'\n\t\t\t},\n\t\t\tshipping: {\n\t\t\t\tschedule: 'Sendinger i tidsplan',\n\t\t\t\tnoschedule: 'Sendinger 0-24'\n\t\t\t},\n\t\t\tgroupByVehicles: 'Group by vehicles',\n\t\t\tgroupByDrivers: 'Group by drivers'\n\t\t}\n\t},\n\tsubscribe: {\n\t\ttitle: 'Tilmeld',\n\t\tfields: {\n\t\t\tlabel: {\n\t\t\t\temail: 'Insert email addresses separated by comma.',\n\t\t\t\tfrequency: 'Vælg meddelelsesfrekvens:',\n\t\t\t\tweekDays: 'Vælg rapportdag:'\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\temail: 'Email liste:',\n\t\t\t\tfrequency: 'Vælg frekvens:',\n\t\t\t\treport: 'Vælg rapport:',\n\t\t\t\tdayOfWeek: 'Vælg ugedag:'\n\t\t\t}\n\t\t},\n\t\teveryDay: 'En gang om dagen',\n\t\teveryWeek: 'En gang om ugen',\n\t\teveryMonth: 'En gang om måneden',\n\t\tnotifyDate: 'Vælg rapportdag:'\n\t},\n\theaderFields: {\n\t\ttachoSlot: 'Slot',\n\t\tadblueLevelComposed: 'Adblue niveau',\n\t\tday: 'Dag',\n\t\tutcTimezonePopup: 'This report uses UTC+0 timezone', // TODO: translate\n\t\tacc: 'Accelerationsscore',\n\t\taccRedZone: 'Acceleration rød Zone',\n\t\taccYellowZone: 'Acceleration gul zone',\n\t\tauxHeatingConsumption: 'Aux varmeforbrug',\n\t\taverageSpeed: 'Gennemsnitshastighed (km/t)',\n\t\tbreakRedZone: 'Bremse rød zone',\n\t\tbreakYellowZone: 'Bremse gul zone',\n\t\tcan: 'CAN',\n\t\tcanDistance: 'Distance (CAN)',\n\t\tcanEngineOnFirstTime: 'Motor starttid (CAN)',\n\t\tcanEngineOnLastTime: 'Motor sluttid (CAN)',\n\t\tcanEngineOnDuration: 'Tændt motor varighed (CAN)',\n\t\tcanFuelConsumption: 'CAN forbrug',\n\t\tcanFuelConsumptionStationary: 'CAN forbrug i tomgang',\n\t\tcanFuelConsumptionMoving: 'CAN forbrug kørende',\n\t\tcanFuelConsumptionDistance: 'Forbrug / 100 (CAN)',\n\t\tcanFuelLevel: 'Brændstofniveau CAN',\n\t\tcanOdometer: 'Slut kilometertæller',\n\t\tcurrency: 'Currency',\n\t\todometer: 'Kilometertæller',\n\t\todometerStartComposed: 'Start kilometertæller',\n\t\todometerComposed: 'Slut kilometertæller',\n\t\tconsume: 'Forbrug',\n\t\tcost: 'Omkostninger (EUR)',\n\t\tcostPopup: 'Beregnet med %@ / time',\n\t\tconsumptionComposed: 'Forbrug',\n\t\tconsumptionComposedInfo: 'I den kolonne viser vi det samlede forbrug i bevægelse og stationært',\n\t\tcountry: 'Land',\n\t\tcreatedAt: 'Oprettet kl:',\n\t\tcupolaState: 'Tilgængelighed',\n\t\tdate: 'Dato',\n\t\tdesacc: 'Deceleration score',\n\t\tdistance: 'Distance (km)',\n\t\tdistanceComposed: 'Distance (km)',\n\t\tdriver: 'Fører',\n\t\tdriverNames: 'Chauffører',\n\t\tduration: 'Varighed',\n\t\tdurationMoving: 'Varighed kørende',\n\t\tdurationStationary: 'Varighed stillestående',\n\t\tdurationStationaryEngineOn: 'Varighed i tomgang (motor tændt)',\n\t\tdurationWorking: 'Varighed arbejdende',\n\t\tendLocation: 'Slut lokation',\n\t\tendTime: 'Sluttid',\n\t\tengineState: 'Motortilstand',\n\t\tengineFirstTime: 'Motor starttid',\n\t\tengineLastTime: 'Motorens sluttid',\n\t\tengineOnFirstTime: 'Motor starttid',\n\t\tengineOnLastTime: 'Motorens sluttid',\n\t\tengineOnTime: 'Motor tændt tid',\n\t\tengineLoadTime: 'Motorbelastningstid',\n\t\tentryLocation: 'Indgangslokation',\n\t\tentryTime: 'Indgangstid',\n\t\texitLocation: 'Afslut lokation',\n\t\ttransitDistance: 'Transit Varighed',\n\t\ttransitCost: 'Transitomkostninger (EUR)',\n\t\tcabotageDistance: 'Cabotage Varighed',\n\t\tcabotageCost: 'Cabotageomkostninger (EUR)',\n\t\texitTime: 'Afslut tid',\n\t\tfreezer: 'Køleenhed',\n\t\tfreezerOnDuration: 'Kølerenhed kørselstid',\n\t\tfuelConsumption: 'Beregnet forbrug',\n\t\tfuelConsumptionStationary: 'Beregnet forbrug i tomgang',\n\t\tfuelConsumptionMoving: 'Beregnet forbrug kørende',\n\t\tfuelConsumptionDistanceComposed: 'Forbrug / 100km',\n\t\tfuelConsumptionMovingInfo: 'Denne værdi inkluderer kun forbrug under flytning. \\nDet er normalt, at værdien afviger fra det forbrug, der vises på arket Daglig aktivitet, som også inkluderer forbrug, mens du er stillestående.',\n\t\tfuelConsumptionPer100KMInfo: 'Denne værdi er det samlede forbrug under kørsel pr. 100 km. \\nDet inkluderer ikke forbrug, mens det er stationært.',\n\t\tfuelConsumptionDurationComposed: 'Forbrug / h',\n\t\tfuelConsumptionPerHourInfo: 'Denne værdi er det samlede forbrug i stationær pr. det antal timer, motoren kører i stationær tilstand. \\nDet inkluderer ikke forbrug under flytning.',\n\t\tfuelConsumptionDistance: 'Forbrug / 100km',\n\t\tfuelConsumptionNormlized: 'Forbrug normaliseret',\n\t\tfuelConsumptionAccounting: 'Forbrugsregnskab',\n\t\tfuelConsumptionFullToFull: 'Forbrug fuld til fuld',\n\t\tfuelConsumptionFullToFullCan: 'Forbrug fuld til fuld (CAN)',\n\t\tfuelConsumptionFullToFullSensor: 'Forbrug fuld til fuld (Sensor)',\n\t\tfuelConsumptionTotal: 'Forbrug i alt',\n\t\tfuelEvent: 'Type',\n\t\tfuelLevel: 'Brændstofniveau',\n\t\tfuelLevelComposed: 'Brændstofniveau',\n\t\tfuelLevelDiff: 'Mængde',\n\t\tfuelLevelDiffManual: 'Mængde indtastet',\n\t\tfuelLevelDiffLiters: 'Mængde',\n\t\tfuelSensor: 'Brændstoftank',\n\t\tgps: 'GPS',\n\t\tgeneratedAt: 'Genereret kl:',\n\t\tgpsDistance: 'Distance (GPS)',\n\t\tgpsEngineOnDuration: 'Motor tændt varighed (GPS)',\n\t\tgroupedWith: 'Grouped with',\n\t\tidlingTime: 'Tomgang med motor tændt',\n\t\tinvoiceNumber: 'Faktura nummer',\n\t\tignitionOnTime: 'Tid med tænding på',\n\t\tlicensePlate: 'Nummerplade',\n\t\tlocation: 'Adresse',\n\t\tmap: 'Kort',\n\t\tmaxSpeed: 'Maks hastighed (km/t))',\n\t\tname: 'Nummerplade / Navn',\n\t\tpersistent: 'Vedholdende',\n\t\tpoiCount: 'POI\\'s antal',\n\t\tpoiStationaryDoorsOpenedDuration: 'Tomgang i POI med åbne døre',\n\t\tpoiStationaryDuration: 'Tomgang i POI varighed',\n\t\tprice: 'Pris',\n\t\tpriceEur: 'Pris (EUR)',\n\t\tprintDetails: 'Detaljer',\n\t\trefuelValue: 'Brændstofværdi',\n\t\troadSection: 'Vejafsnit',\n\t\trouteType: 'Rutetype',\n\t\tsealEnd: 'Slutforsegling',\n\t\tsealStart: 'Start forsegling',\n\t\tsensorFuelConsumption: 'Forbrug af brændstofsensor',\n\t\tsensorFuelConsumptionStationary: 'Brændstofsensorforbrug i tomgang',\n\t\tsensorFuelConsumptionMoving: 'Forbrug af brændstofsensor kørende',\n\t\tsensorFuelLevel: 'Brændstofniveau sensor',\n\t\tspeed: 'Hastighedsscore',\n\t\tspeedingAvg: 'Gennemsnitligt hastighedsoverskridelse (km/t)',\n\t\tspeedingMax: 'Hastighedsoverskridelse maksimum (km/t)',\n\t\tspeedingTime: 'Hastighedsoverskridelse tidspunkt',\n\t\tstartLocation: 'Start lokation',\n\t\tstartTime: 'Starttidspunkt',\n\t\tstationaries: 'Stop med motor tændt',\n\t\tstatus: 'Status',\n\t\ttemperatureRange1: 'under 4°C',\n\t\ttemperatureRange2: 'mellem -4°C og 0°C',\n\t\ttemperatureRange3: 'mellem 0°C og 4°C',\n\t\ttemperatureRange4: 'over 4°C',\n\t\ttotalFuelConsumption: 'I alt beregnet',\n\t\ttransitNumber: 'Transits',\n\t\ttimesheet: 'Timeseddel',\n\t\tupdatedAt: 'Opdateret kl:',\n\t\tvirage: 'Drejescore',\n\t\tvolumeCan: 'Volumen CAN',\n\t\tvolumeTank: 'Volumen tank',\n\t\ttotals: {\n\t\t\tcan: 'I alt CAN',\n\t\t\tcanStationary: 'I alt CAN i tomgang',\n\t\t\tcanMoving: 'I alt CAN kørende',\n\t\t\tcomputed: 'I alt beregnet',\n\t\t\tcomputedStationary: 'Tomgang beregnet i alt',\n\t\t\tcomputedMoving: 'Kørende beregnet i alt',\n\t\t\tcost: 'Omkostninger i alt',\n\t\t\tdistance: 'Distance i alt',\n\t\t\tdurationMoving: 'Kørende varighed i alt',\n\t\t\tdurationStationary: 'Tomgang varighed i alt',\n\t\t\tgps: 'GPS i alt',\n\t\t\tsensor: 'Sensor i alt',\n\t\t\tsensorStationary: 'Tomgang sensor i alt',\n\t\t\tsensorMoving: 'Kørende sensor i alt',\n\t\t},\n\t\tspecific: {\n\t\t\tafterhours: {\n\t\t\t\tduration: 'Varighed (timer)'\n\t\t\t},\n\t\t\tconsumption:{\n\t\t\t\tpopups:{\n\t\t\t\t\tnormlizedDistanceConsumption: 'Du kørte {{distance}} km med et forbrug af {{fuel}} {{fuelUnit}}',\n\t\t\t\t\tnormlizedDistanceConsumptionPerDistance: 'Du kørte {{distance}} km med et forbrug af {{fuel}} {{fuelUnit}}/100km',\n\t\t\t\t\tnormlizedDistanceUncalculated : 'Du kørte {{distance}} km with a uncalculated consumption',\n\t\t\t\t}\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryTypeBefore: 'Stationary type before departure', // TODO: translate\n\t\t\t\tstationaryTypeAfter: 'Stationary type after arrival', // TODO: translate\n\t\t\t\tfuelConsumption: 'Beregnet Forbrug',\n\t\t\t\tpurpose: 'Formål',\n\t\t\t\tselectPurpose: 'Vælg'\n\t\t\t},\n\t\t\t'driver-routes': { // TODO translate all\n\t\t\t\tcardInserted: 'Inserted card in slot {{number}}',\n\t\t\t\tcardRemoved: 'Removed card from slot {{number}}',\n\t\t\t\ttotalConsumptionNotCalculatedBecauseDiffFuelsType: 'Due to the different fuel types used by these vehicles, it is not possible to calculate the sum.',\n\t\t\t},\n\t\t\tstation: {\n\t\t\t\tstartTime: 'Start tid',\n\t\t\t\tendTime: 'Slut tid',\n\t\t\t\tduration: 'Varighed'\n\t\t\t},\n\t\t\tstationary: {\n\t\t\t\tstartTime: 'Start tid',\n\t\t\t\tendTime: 'Slut tid',\n\t\t\t\tduration: 'Varighed',\n\t\t\t\tstartTimePlanned: 'Start tid (planlagt)',\n\t\t\t\tendTimePlanned: 'Slut tid (planlagt)',\n\t\t\t\tdurationPlanned: 'Varighed (planlagt)',\n\t\t\t},\n\t\t\ttaxi: {\n\t\t\t\tduration: 'Varighed',\n\t\t\t\tdistanceAvailable: 'KM tilgængelig',\n\t\t\t\tdistanceOccupied: 'KM optaget',\n\t\t\t\tdurationAvailable: 'Varighed tilgængelig',\n\t\t\t\tdurationOccupied: 'Varighed optaget',\n\t\t\t\tdurationOff: 'Varighed slukket',\n\t\t\t},\n\t\t\tpoi: {\n\t\t\t\tgeofences: 'POI',\n\t\t\t\twindow: 'Interval',\n\t\t\t},\n\t\t\ttachoActivity: {\n\t\t\t\tactivity: 'Aktivitet',\n\t\t\t\tduration: 'Varighed',\n\t\t\t\tcycleWeek: 'Uge',\n\t\t\t\tcycleDay: 'Dag'\n\t\t\t},\n\t\t\ttachoFiles: {\n\t\t\t\tbuttonLabel: 'Download tachograph files', // TODO: translate\n\t\t\t\tvehicles: 'Køretøjsfiler',\n\t\t\t\tdrivers: 'Fører filer',\n\t\t\t\tfilename: 'Fil',\n\t\t\t\tdownloadedAt: 'Downloaded kl:',\n\t\t\t\tdownloadRequest: {\n\t\t\t\t\ttitle: \"Tacho file download request\", // TODO: translate\n\t\t\t\t\tbuttonText: \"Send request\", // TODO: translate\n\t\t\t\t\terrors: {\n\t\t\t\t\t\tvehicleLimitReached: \"Vehicle limit reached\", // TODO: translate\n\t\t\t\t\t\tdownloadLimitReached: \"Download limit reached\", // TODO: translate\n\t\t\t\t\t\t1: \"The information you have requested cannot be delivered, because the vehicle is stopped. Please start the engine and try again.\", // TODO: translate\n\t\t\t\t\t\t2: \"The information you have requested cannot be delivered, because the vehicle doesn't have tachograph installed.\", // TODO: translate\n\t\t\t\t\t\t3: \"The information you have requested cannot be delivered, because the VIN number is missing from our database. Please go to the 'Management/Vehicles' menu, select the vehicle, click on 'Edit' button and type in the VIN number to the appropriate field, then click on the 'Save' button. Afterwards, please try requesting the file again.\" // TODO: translate\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: \"The request has been sent successfully! Please come back in about 30 minutes to recieve the file.\", // TODO: translate\n\t\t\t\t\twarning: \"Ignition must be on while downloading\" // TODO: translate\n\t\t\t\t},\n\t\t\t},\n\t\t\ttachoTimesheet: {\n\t\t\t\tstartTime: 'Start tid',\n\t\t\t\tendTime: 'Slut tid',\n\t\t\t\tdrivingDuration: 'Kørsel',\n\t\t\t\tothersDuration: 'Andre aktiviteter',\n\t\t\t\tavailabilityDuration: 'Tilgængelighed',\n\t\t\t\tactivityDuration: 'Samlet arbejde',\n\t\t\t\trestDuration: 'Hvile',\n\t\t\t\tnightDuration: 'Natarbejde',\n\t\t\t\tdayDuration: 'Dagsarbjde',\n\t\t\t\tworkingDuration: 'Arbejdsvarighed',\n\t\t\t\ttachoCardID: 'Fartskriver-ID'\n\t\t\t},\n\t\t\t23: {\n\t\t\t\tdistancePaid: 'Distance (km, betalt)',\n\t\t\t\tdistanceLoss: 'Distance (km, tabt)',\n\t\t\t\tfuelConsumptionDistanceAdjusted: 'Reelt brændstofforbrug / 100km',\n\t\t\t\tfuelDifference: 'Forskellen på liter (reelt / beregnet)',\n\t\t\t},\n\t\t\tfaz: {\n\t\t\t\tduration: 'Varighed i bevægelse'\n\t\t\t}\n\t\t},\n\t},\n\tfuelLevel: {\n\t\teventType: {\n\t\t\tprocessing: 'Behandling i gang',\n\t\t\trefuel: 'Gentanke',\n\t\t\tconsumption: 'Forbrug'\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Import Gentankninger',\n\t\t\tbuttonText: 'IMPORT GENTANKNIGER',\n\t\t\timported: '{{value}} gentankniger importeret',\n\t\t\tnotImported: '{{value}} gentankniger kunne ikke importeres',\n\t\t\tallImported: 'Alle gentankniger er blevet importeret ({{value}})',\n\t\t},\n\t\tuploadFile: 'Upload fil'\n\t},\n\tpoi: {\n\t\thit: 'Besøgt',\n\t\tmiss: 'Forsinket',\n\t\tunplanned: 'Ikke planlagt',\n\t\t'no-visit': 'Ikke Besøgt',\n\t\timportPlan: {\n\t\t\ttitle: 'Importer planlægninger',\n\t\t\tbuttonText: 'IMPORTER PLANLÆGNINGER',\n\t\t\timported: '{{value}} planlægninger importeret',\n\t\t\tnotImported: '{{value}} planlægninger kunne ikke importeres',\n\t\t\tallImported: 'Alle planlægninger er blevet importeret',\n\t\t},\n\t},\n\t23: {\n\t\tdistanceThreshold: 'Brændstofforbruget beregnes kun for afstande over 10 km'\n\t},\n\ttable: {\n\t\texpand: 'Udvid tabel',\n\t\tcollapse: 'Skjul tabellen'\n\t},\n\ttemperature: {\n\t\ttemperatureTable: 'Temperature table'\n\t}\n}\n","export default {\n\tsettings: 'Indstillinger',\n\tmenu: {\n\t\tnotifications: 'Notifikationer',\n\t\tspeedLimit: 'Hastighedsbegrænsning',\n\t\tcosts: 'Omkostninger',\n\t\tcabotage: 'Cabotage',\n\t\torders: 'Ordre',\n\t\tdriverBehaviour: 'Føreradfærd',\n\t\tdataStorage: 'Data opbevaring',\n\t\ttms:'TMS',\n\t\tdispatch: 'Dispatch'\n\t},\n\tnotifications: {\n\t\temails: {\n\t\t\tinsertEmailsSeparatedByComma: 'Indsæt flere e-mail-adresser adskilt med komma',\n\t\t\tinsertPhonesSeparatedByComma: 'Indsæt telefonnumre adskilt med komma',\n\t\t\tnotifications: 'Notifikationer',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Telefon',\n\t\t}\n\t},\n\tspeedLimit: {\n\t\tvehicles: {\n\t\t\tmax: 'Standard advarselgrænse',\n\t\t\tmaxTooltip: 'advarsler vil blive sendt, hvis tærsklen overskrides uanset vejgrænsen (dvs. 90 km / t for lastbiler)',\n\t\t\tmin: 'Advarselgrænseværdi',\n\t\t\tminTooltip: 'hastighedsvarsler sendes ikke, hvis de er under denne grænseværdi',\n\t\t\toffset: 'Tilladt grænseværdi',\n\t\t\toffsetTooltip: '10 km/t for at blive advaret ved \\n50 + 10 km/t i byområder, \\n90 + 10 km/t på landevej, \\n130 + 10 km/t på motorveje',\n\t\t\terrorMessage: 'Kontroller felterne markeret med rødt',\n\t\t\ttype: {\n\t\t\t\tutility: 'Varevogn',\n\t\t\t\tcar: 'Bil',\n\t\t\t\tminibus: 'Minibus',\n\t\t\t\tbus: 'Bus',\n\t\t\t\ttruck: 'Lastbil',\n\t\t\t\ttractor: 'Traktor',\n\t\t\t\tharvester: 'Høstmaskine',\n\t\t\t\tconstruction: 'Konstruktion',\n\t\t\t\ttrailer: 'Trailer',\n\t\t\t\t'semi-trailer': 'Semi-trailer'\n\t\t\t}\n\t\t}\n\t},\n\tcosts: {\n\t\ttitle: 'Omkostninger',\n\t\tdescription: 'Indsæt omkostninger/time',\n\t\tinsertNumber: 'Indsæt omkostninger'\n\t},\n\tcountries: {\n\t\tat: 'Østrig',\n\t\tbe: 'Belgien',\n\t\tbg: 'Bulgarien',\n\t\thr: 'Kroatien',\n\t\tcy: 'Cypern',\n\t\tcz: 'Tjekkiet',\n\t\tdk: 'Danmark',\n\t\tee: 'Estland',\n\t\tfl: 'Finland',\n\t\tfr: 'Frankrig',\n\t\tde: 'Tyskland',\n\t\tgr: 'Grækenland',\n\t\thu: 'Ungarn',\n\t\tie: 'Irland',\n\t\tit: 'Italien',\n\t\tlv: 'Letland',\n\t\tlt: 'Litaun',\n\t\tlu: 'Luxembourg',\n\t\tmt: 'Malta',\n\t\tnl: 'Holland',\n\t\tpl: 'Polen',\n\t\tpt: 'Portugal',\n\t\tro: 'Rumænien',\n\t\tsk: 'Slovakiet',\n\t\tsl: 'Slovenien',\n\t\tes: 'Spanien',\n\t\tse: 'Sverige',\n\t\tgb: 'Storbritanien',\n\t\ttransitCost: 'Transitomkostninger € / h',\n\t\tcabotageCost: 'Cabotageomkostninger € / h',\n\t\tgeneral: 'Generel'\n\t},\n\tdriverBehaviour: {\n\t\trpm: {\n\t\t\ttitle: 'RPM',\n\t\t\tstationary: 'RPM i Tomgang',\n\t\t\tmoving: 'RPM Kørende',\n\t\t\try: 'RPM Rød-Gul (%)',\n\t\t\tyg: 'RPM Gul-Grøn (%)',\n\t\t\tgy: 'RPM Grøn-Gul (%)',\n\t\t\tyr: 'RPM Gul-Rød (%)',\n\t\t\try_allowed: 'Tilladt i Rød-Gul',\n\t\t\tyg_allowed: 'Tilladt i Gul-Grøn',\n\t\t\tgy_allowed: 'Tilladt i Grøn-Gul',\n\t\t\tyr_allowed: 'Tilladt i Gul-Rød'\n\t\t},\n\t\tidlingTime: {\n\t\t\ttitle: 'Tomgangstid',\n\t\t\ttotal: 'Samlet tomgangstid',\n\t\t\tavg: 'Gennemsnitlig tomgangstid',\n\t\t\tavgTime: {\n\t\t\t\tminLabel: 'Gennemsnitlig tomgangstid (min)',\n\t\t\t\tsecLabel: 'Gennemsnitlig tomgangstid (sek)',\n\t\t\t\tminTooltip: 'min',\n\t\t\t\tsecTooltip: 'sek'\n\t\t\t},\n\t\t\tgyr: 'Tomgangstid Grøn-Gul-Rød',\n\t\t\tgyrTime: {\n\t\t\t\tgyLabel: 'Grøn-Gul',\n\t\t\t\tgyToolTip: 'Grøn-Gul Tomgangstid (%)',\n\t\t\t\tyrLabel: 'Gul-Rød',\n\t\t\t\tyrToolTip: 'Gul-Rød Tomgangstid (%)'\n\t\t\t}\n\t\t},\n\t\tharshAcc: {\n\t\t\ttitle: 'Hård Acceleration',\n\t\t\tgy: 'Grøn-Gul',\n\t\t\tyr: 'Gul-Rød',\n\t\t\tgy_allowed: 'Grøn-Gul Tilladt',\n\t\t\tyr_allowed: 'Gul-Rød Tilladt',\n\t\t\tgyTooltip: 'Grøn-Rød',\n\t\t\tyrTooltip: 'Mellem Grøn-Gul (%)',\n\t\t\tgy_allowedTooltip: 'Grøn-Gul Tilladt (%)',\n\t\t\tyr_allowedTooltip: 'Gul-Rød Tilladt (%)'\n\t\t},\n\t\tharshDcc: {\n\t\t\ttitle: 'Hård deceleration',\n\t\t\tgy: 'Grøn-Gul',\n\t\t\tyr: 'Gul-Rød',\n\t\t\tgy_allowed: 'Grøn-Gul Tilladt',\n\t\t\tyr_allowed: 'Gul-Rød Tilladt',\n\t\t\tgyTooltip: 'Grøn-Rød',\n\t\t\tyrTooltip: 'Mellem Grøn-Gul (%)',\n\t\t\tgy_allowedTooltip: 'Grøn-Gul Tilladt (%)',\n\t\t\tyr_allowedTooltip: 'Gul-Rød Tilladt (%)'\n\t\t},\n\t\tspeeding: {\n\t\t\ttitle: 'Hastighedsforseelser',\n\t\t\tevtCount: 'Forseelser',\n\t\t\tavg: 'Gennemsnitlige hastighedsforseelser',\n\t\t\tmoving: 'Kørende',\n\t\t\tevtCountTooltip: 'Forseelser / 100 km',\n\t\t\tavgTooltip: 'Gennemsnitlige hastighedsforseelsersværdi km/t',\n\t\t\tmovingTooltip: '(%) at bevægelse i km'\n\t\t},\n\t\tfuelConsumption: {\n\t\t\ttitle: 'Brændstofforbrug',\n\t\t\ttooltip: ''\n\t\t},\n\t\try: 'Rød-Gul',\n\t\tyg: 'Gul-Grøn',\n\t\tgy: 'Grøn-Gul',\n\t\tyr: 'Gul-Rød',\n\t\tred: 'Rød',\n\t\tGul: 'Gul',\n\t\tgreen: 'Grøn',\n\t\tselectCarType: 'Vælg en biltype',\n\t\tcarType: {\n\t\t\tutility: 'Hjælpemidler',\n\t\t\tcar: 'Bil',\n\t\t\tminibus: 'Minibus',\n\t\t\tbus: 'Bus',\n\t\t\ttruck: 'Lastbil',\n\t\t\ttractor: 'Traktor',\n\t\t\tharvester: 'Høstmaskine',\n\t\t\tconstruction: 'Konstruktion',\n\t\t\ttrailer: 'Trailer',\n\t\t\t'semi-trailer': 'Semi-trailer'\n\t\t},\n\t\tselectVehicle: 'Vælg et køretøj',\n\t\tselectVehicleCopy: 'Vælg et køretøj at kopiere fra'\n\t},\n\torders: {\n\t\tsources: {\n\t\t\ttracknamic: 'Tracknamic',\n\t\t\tsamsung: 'Samsung',\n\t\t\tbibtrack: 'Bibtrack',\n\t\t\tshippeo: 'Shippeo',\n\t\t\tcustom: 'Brugerdefinerede'\n\t\t},\n\t},\n\tcabotage: { // TODO: translate\n\t\thelper: \"Set the night work interval\",\n\t\tnightWorkInterval: \"Night Work Interval\",\n\t\tstartInterval: \"Start Interval\",\n\t\tendInterval: \"End Interval\",\n\t\tdefault: \"</br> Default interval: 22-05\"\n\t}\n}\n","export default {\n\tmessages: 'Beskeder',\n\tnewMessageThread: 'Opret samtale',\n\tcancel: 'Annuller',\n\tsearchThreads: 'Søger...',\n\tdetails: 'Detaljer',\n\tthreadName: 'Emne',\n\tpriority: 'Prioritet',\n\tlowPriority: 'Normal',\n\tmediumPriority: 'Mellem',\n\thighPriority: 'Høj',\n\tselectPriority: 'Vælg prioritet',\n\tsearchUser: 'Søger efter brugere...',\n\tselectGroup: 'Vælg afdeling',\n\tallGroups: 'Alle afdelinger',\n\tphone: 'Telefon',\n\temail: 'Email',\n\tadd: 'Tilføj',\n\tremove: 'Slet',\n\tcreateMessageThread: 'Opret samtale',\n\tupdateMessageThread: 'Opdater samtale',\n\tdeleteMessageThread: 'Er du sikker på, at du vil slette denne samtale?',\n\tdeleteConfirmButton: 'Bekræft',\n\tdeleteCancelButton: 'Annuller',\n\tmessageInputPlaceholder: 'Skriv en meddelelse...',\n\tunreadMessages: ' ulæste beskeder',\n\tnoMessages: 'Der er ingen meddelelser i denne samtale i øjeblikket.',\n\taddUser: 'Tilføj bruger',\n\tok: 'Ok',\n\tparticipants: 'deltagere',\n\tdocument: 'Dokument',\n\tseenBy: 'Set af: '\n}\n","export default {\n   title:'TMS',\n\tdispatch: 'Central',\n\tloadAddress: 'Indlæs adresse',\n\tunloadAddress: 'Aflæs adresse',\n\tenterQuery: 'Indtast en forespørgsel',\n\ttypeToSearch: 'Skriv for at søge',\n\tbudget: 'Budget',\n\tstatName: 'Statistikker',\n\tprofitability: 'Rentabilitet',\n\totherStat: 'Andre statistikker',\n\tmenu: {\n\t\tindex: 'central',\n\t\tmap: 'Kort',\n\t\torders: 'Ordrer',\n\t\tclients: 'Klienter',\n\t\tvehicleGroups: 'Køretøjsgrupper',\n\t\troutes: {\n\t\t\tindex: 'Ruter',\n\t\t\tadd: 'Tilføj rute'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Rute',\n\t\tdistance: 'Distance (km)',\n\t\tname: 'Navn',\n\t\tvehicles: 'Køretøjer',\n\t\tvehicle: 'Køretøjer',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Bredde (i meter, fx. 2.4)',\n\t\t\theight: 'Højde (i meter, fx. 4.2',\n\t\t\tlength: 'Længde (i meter, fx. 7)',\n\t\t\tweight: 'Vægt (i tons, fx. 5)',\n\t\t},\n\t\tduration: 'Varighed',\n\t\twaypoints: {\n\t\t\ttitle: 'Point',\n\t\t\ttype: 'Type',\n\t\t\ttypes: {\n\t\t\t\tload: 'Læsning',\n\t\t\t\tunload: 'Aflæsning',\n\t\t\t\tstop: 'Stop'\n\t\t\t},\n\t\t\tlocation: 'Lokation',\n\t\t\tduration: 'Varighed (minutter)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Farlige materialer',\n\t\t\tstrict: 'Streng rute',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Eksplosiv',\n\t\t\t\tgas: 'Gas',\n\t\t\t\tflammable: 'brandfarlig',\n\t\t\t\tcombustible: 'Brændbart',\n\t\t\t\torganic: 'Organisk',\n\t\t\t\tpoison: 'Giftigt',\n\t\t\t\tradioActive: 'Radioaktivt',\n\t\t\t\tcorrosive: 'Ætsende',\n\t\t\t\tpoisonousInhalation: 'Giftig ved indånding',\n\t\t\t\tharmfulToWater: 'Farligt for vand',\n\t\t\t\tother: 'Andet',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Generer rute',\n\t\t\toptimize: 'Optimer ruten',\n\t\t\tnext: 'Næste',\n\t\t\tsave: 'Gem',\n\t\t\tadd: 'Tilføj',\n\t\t\tsearch: 'Find rute...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Genererer rute...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Optimeret rute',\n\t\t\tuse: 'Brug optimeret rute',\n\t\t\tmessage: 'Ruten kan optimeres',\n\t\t\tdiff: 'Den optimerede rute er <b>{{distance}}</b> kortere og <b>{{time}}</b> hurtigere.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Tidsplaner'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Detaljer'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Navn',\n\t\t\tdistance: 'Distance',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Kører',\n\t\t\t\trest: 'Hvile',\n\t\t\t\ttotal: 'Varighed',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Primær',\n\t\t\t\tcheapest: 'Billigste',\n\t\t\t\tfastest: 'Hurtigste',\n\t\t\t\tshortest: 'Kortest',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Gem væk',\n\t\t\t\tsave: 'Gem',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Transporttype',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADRR',\n\t\t\t\t\tfreezer: 'Fryser',\n\t\t\t\t\tsecure: 'Sikker',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Pris',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / tarifar',\n\t\t\tcost: 'Pris',\n\t\t\tcostDetailed: 'Fører pris: {{driverCost}}€\\nKøretøj pris: {{vehicleCost}}€',\n\t\t\tprofitability: 'Rentabilitet',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Lav',\n\t\t\t\tmedium: 'Mellem',\n\t\t\t\thigh: 'Høj',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Handling',\n\t\t\tloading: 'Loading...',\n\t\t\tcostDetailed: 'Fører pris: {{driverCost}}€\\nKøretøj pris: {{vehicleCost}}€\\Told: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Navn',\n\t\t\texternalID: \"Eksternt ID\",\n\t\t\tclient: 'Klient',\n\t\t\tvehicleGroup: 'Køretøjsgruppe',\n\t\t\tstatus: 'Status',\n\t\t\tstatusDate: 'Status dato',\n\t\t\tstartLocation: 'Start lokation',\n\t\t\tendLocation: 'Slut lokation',\n\t\t\tdate: 'Dato',\n\t\t\tattachments: 'Tilføjelser',\n\t\t\tupdatedAt: 'Sidste opdatering',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Tilføj ordre',\n\t\t\t\tname: 'Navn',\n\t\t\t\tstatus: 'Status',\n\t\t\t\tsource: 'Kilde',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'Eksternt ID',\n\t\t\t\tvehicleGroup: 'Køretøjsgruppe',\n\t\t\t\tclient: 'Klient',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Adresse',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Læsning',\n\t\t\t\t\t\tunloading: 'Aflæsning',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Upload tilføjelse',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Navn',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Tilføj klient',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Tilføj klient',\n\t\t\t\tname: 'Navn',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Navn',\n\t\t\ttractorUnit: 'Traktor',\n\t\t\tsemitrailer: 'Semitrailer',\n\t\t\tdriver: 'Fører',\n\t\t\tcodriver: 'Medchauffør',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Tilføj køretøjsgruppe',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Tilføj køretøjsgruppe',\n\t\t\t\tname: 'Navn',\n\t\t\t\ttractorUnit: 'Traktor',\n\t\t\t\tsemitrailer: 'Semitrailer',\n\t\t\t\tdriver: 'Fører',\n\t\t\t\tcodriver: 'Medchauffør',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Traktor enhed',\n\t\t\tsemitrailers: 'Semitrailer',\n\t\t\tvehicleGroups: 'Køretøjsgrupper',\n\t\t},\n\t},\n}\n","import Alerts from './alerts'\nimport Dispatch from './dispatch'\nimport Driving from './driving'\nimport Errors from './errors'\nimport Etransport from './etransport'\nimport Management from './management'\nimport Markers from './markers'\nimport Messages from './messages'\nimport Reports from './reports'\nimport Settings from './settings'\nimport Threads from './threads'\nimport TMS from './tms'\n\nexport default {\n\ttms: TMS,\n\tdispatch: Dispatch,\n\tdriving: Driving,\n\tmanagement: Management,\n\tetransport: Etransport,\n\tmarkers: Markers,\n\tmessages: Messages,\n\treports: Reports,\n\tsettings: Settings,\n\tthreads: Threads,\n\talerts: {\n\t\ttypes: {\n\t\t\t\"fuel-level-drop-stationary\": \"Brændstofniveauet falder når i tomgang (Sensor)\",\n\t\t\t\"fuel-consumption-excessive\": \"Overdreven brændstofforbrug\",\n\t\t\t'low-battery': 'Low battery',\n\t\t\t'fast-battery-discharge': 'Fast battery discharge',\n\t\t\t'tacho-rest': 'Overskridelse af chaufførens hvileperiode',\n\t\t\t'panic-button': 'Panikknap alarm',\n\t\t},\n\t\ttachoRestInfo: 'Hvis chaufføren er i cyklus 1-5, sender vi en alarm/meddelelse efter 11 timer og 15 minutters normal daglig hvile.\\nHvis chaufføren er i cyklus 6-7, sender vi en alarm/meddelelse efter 46 timer normal ugentlig hvile.',\n\t\tmessages: Alerts\n\t},\n\terrors: {\n\t\tsavingVehicle: 'Fejl ved gemning af køretøj',\n\t\tsavingUser: 'Fejl ved gemning af bruger',\n\t\trelay: 'Fejl ved blokering/fjernelse af blokering af tænding',\n\t\tuserExist: 'Bruger eksistere allerede', // err 409\n\t\temailUsed: 'E-mail allerede anvendt', // err 410\n\t\t'5010': 'Kun simple polygoner er tilladt.',\n\t\t'5020': 'Afdelingen er allered delt.',\n\t\tmessages: Errors,\n\t\taccountDisabled: 'Undskyld. Din firmakonto blev deaktiveret.'\n\t},\n\tyes: \"Ja\",\n\tno: \"Ingen\",\n\tgenerate: \"Generate\", // todo translate\n\texpandSelected : 'Expand selected', // todo translate\n\tcollapseSelected : 'Collapse selected', // todo translate\n\ttotalKmSelected : 'Total KM selected', // todo translate\n\tselectCustomer: 'Vælg kunde',\n\tselectGroup: 'Vælg gruppe',\n\tselectStatus: 'Vælg status',\n\tselectColor: 'Vælg farve',\n\tdisplayName: 'Navn',\n\tshowVehicles: 'Vis køretøjer',\n\tadblueLevel: \"Adblue niveau\",\n\thideVehicles: 'Skjul køretøjer',\n\trequired: 'Påkrævet',\n\tpages: 'Sider',\n\tname: 'Navn',\n\trole: 'Rolle',\n\troles: 'Roller',\n\talways: 'Altid',\n\tnever: 'Aldrig',\n\thideGeofences: 'Gem geofences',\n\tsettingsGeofences: 'Geofences indstillinger',\n\torderNumber: 'Ordrenummer',\n\tsimple: 'Simpel',\n\tmanual: 'Manuel',\n\tdynamic: 'Dynamisk',\n\tmedium: 'Mellem',\n\tbig: 'Stor',\n\tclient: 'Klient',\n\tcompany: 'Selskab',\n\tengineLoad: 'Motorbelastning %',\n\tengineLoadShort: 'MB',\n\tnoModuleEmailSms: 'Du har ikke aktiveret email- eller sms-modulet',\n\tapplyTo: 'Anvend på',\n\tsameVehicleType: 'Samme køretøjstype',\n\tallVehiclesFromGroup: 'Alle køretøjer fra gruppen',\n\tvehicleNotFound: 'Køretøj ikke fundet',\n\tuserNotFound: 'Bruger ikke fundet',\n\ton: 'Til',\n\toff: 'Fra',\n\tprovider: 'Udbyder',\n\tallAnothers: 'Alle andre',\n\ttotals: 'Totaler',\n\tentry: 'Indgang',\n\texit: 'Udgang',\n\tshowExternalID: 'Vis eksternt ID',\n\tshowFluctuations: 'Vis bekræftede udsving',\n\thideFluctuations: 'Gem bekræftede udsvings',\n\tpagination: {\n\t\tfirst: 'Første side',\n\t\tlast: 'Sidste side',\n\t\tnext: 'Næste side',\n\t\tprevious: 'Forrige side',\n\t\tof: 'af',\n\t\tresultsPerPage: 'Resultater per side',\n\t\tgoToPage: 'Gå til side',\n\t\tpageOfTotal: 'Side {{page}} af {{total}}',\n\t},\n\ttotal: 'I alt',\n\thistoric: 'Historie',\n\tnow: 'Nu',\n\tchangeDate: 'Ændre dato',\n\tcountry: 'Land',\n\tstationaryDurationTotal: 'Varighed (i alt)',\n\tstationaryDurationEngineOn: 'Varighed (motor tændt)',\n\tstationaryDurationEngineOff: 'Varighed (motor slukket)',\n\tdurationEngineOn: 'Varighed Motor tændt',\n\tdurationFormat: 'DD[d] HH[t] mm[m] ss[s]',\n\tdurationFormatDDHHmm: 'DD[d] HH[t] mm[m]',\n\tdurationFormatHHmm: 'HH[t] mm[m]',\n\tdurationFormatCharDay: 'd',\n\tdurationFormatCharHour: 't',\n\temail: 'Email',\n\tgranularity: 'Granularitet',\n\ttotalDistance: 'Samlet afstand',\n\ttotalFuelConsumptionMoving: 'Samlet brændstofforbrug (under bevægelse)',\n\taverageFuelConsumptionMoving: 'Gennemsnitligt brændstofforbrug (under bevægelse)',\n\ttotalDurationStationary: 'Samlet varighed (mens den står stille)',\n\ttotalDurationStationaryEngineOn: 'Total varighed (i tomgang, med motoren tændt)',\n\taverageFuelConsumptionStationary: 'Gennemsnitligt brændstofforbrug (mens det står stille)',\n\tmin3kmDistanceForFuelConsumptionCalculation: 'Brændstofforbruget beregnes kun, når afstanden er mindst 3 km',\n\tmin5kmDistanceForFuelConsumptionCalculation: 'Brændstofforbruget beregnes kun, når afstanden er mindst 5 km',\n\tconsumptionCannotBeComputed: 'Brændstofforbruget kan ikke beregnes, kontroller køretøjets indstillinger',\n\tfuelSource: {\n\t\tsensor: 'Probe',\n\t\tcan: 'CAN',\n\t\tcomputed: 'Computeret',\n\t},\n\tshowGraphic: 'Vis grafik',\n\tclusterMarkers: 'Glyngemarkeringer',\n\tactiveSince: 'Aktiv siden',\n\tpleaseWait: 'Vent venligst',\n\tprocessingFileData: 'Behandler fil',\n\texpand: 'Udvid',\n\tloading: {\n\t\ttext: 'Indlæser'\n\t},\n\tacl: 'Adgangskontrol',\n\talertsAndNotifications: \"Advarsler og notifikationer\",\n\tlimit: \"Begrænsning\",\n\topenDoorsStatus: \"Dørstatus\",\n\tdoorsStatus: {\n\t\topen: \"Åbn døre\",\n\t\tclosed: \"Lukkede døre\",\n\t},\n\tclosed: \"Lukket\",\n\topen: \"Åben\",\n\tdoors: {\n\t\tdoorFrontLeft: \"Venstre front dør\",\n\t\tdoorFrontRight: \"Højre front dør\",\n\t\tdoorBackLeft: \"Venstre bag dør\",\n\t\tdoorBackRight: \"Højre bag dør\",\n\t\tdoorTrunk: \"Bagagerum\",\n\t\topen: \"åben\",\n\t\tclosed: \"lukket\",\n\t},\n\topenDoor: {\n\t\t'front-left': \"Venstre front dør er åben\", // todo remove after added on map\n\t\t'front-right': \"Højre front dør er åben\", // todo remove after added on map\n\t\t'back-left': \"Venstre bag dør er åben\", // todo remove after added on map\n\t\t'back-right': \"Højre bag dør er åben\", // todo remove after added on map\n\t\t'trunk': \"Bagagerum er åben\", // todo remove after added on map\n\t\t'door-front-left': \"Venstre front dør er åben\",\n\t\t'door-front-right': \"Højre front dør er åben\",\n\t\t'door-back-left': \"Venstre bag dør er åben\",\n\t\t'door-back-right': \"Højre bag dør er åben\",\n\t\t'door-trunk': \"Bagagerum er åben\",\n\t\t'allClosed': \"Alle døre er lukket\",\n\t\t'na': 'Ingen sensorer',\n\t\tgeneric: 'Åben dør'\n\t},\n\tfreezerStatus: \"Køleenhedens status\",\n\tfreezer: {\n\t\ton: \"Køleenhed er tændt\",\n\t\toff: \"Køleenhed er slukket\",\n\t\tna: \"Ingen køleenhed\",\n\t\tgeneric: \"Kølesenhed\",\n\t},\n\tvehicle: {\n\t\tengineOn: 'Motor tændt',\n\t\tengineOff: 'Motor slukket',\n\t\tunreachable: 'Intet signal',\n\t},\n\tvehiclesStatus: 'Køretøjets status',\n\tvehicleStatus: {\n\t\tengineOn: 'Bevæger sig',\n\t\tengineOff: 'Stoppet',\n\t\tunreachable: 'Intet signal',\n\t\tunreachableSince: 'Intet signal siden {{status}}',\n\t\tnoLocation: 'Ingen enhed tilknyttet',\n\t\tgeneric: 'Køretøjs status',\n\t},\n\ttaxiState: 'Tilgængelighed',\n\ttaxiStates: {\n\t\tavailable: 'Ledig',\n\t\toccupied: 'Optaget',\n\t\toff: 'Slukket',\n\t\tna: 'Ingen tilgængelighed',\n\t},\n\tauxAC: {\n\t\tlabel: \"Auxiliary AC\", // TODO translate\n\t\tauxCooling: \"Hjælpekøling\",\n\t\tauxHeating: \"Ekstra opvarmning\",\n\t\tvalues: {\n\t\t\ton: \"Tændt\",\n\t\t\toff: \"Slukket\",\n\t\t}\n\t},\n\tpowerExternal: {\n\t\tlabel: \"Power supply\", // todo translate\n\t},\n\tlandingPage: 'Udtale side',\n\tlicensePlate: 'Nummerplade',\n\tlicensePlates: 'Nummerplader',\n\tprevious: 'Tidligere',\n\tnext: 'Næste',\n\tnoResults: 'Ingen resultater',\n\tfromDate: 'Fra dato',\n\tuntil: 'Indtil',\n\tstops: 'Stopper',\n\ttemperatureIntervals: \"Hver\",\n\tinterval: 'Interval',\n\trouteReport: 'Ruter',\n\tanotherValue: 'Andre værdier',\n\tliters: 'Liter',\n\tconsume: 'Forbrug',\n\tconsumption: 'Forbrug',\n\tspeedPerHour: 'Hastighed (km/t)',\n\tspeed: 'Hastighed',\n\tspeedLimit: 'Hastighedsbegrænsninger',\n\taltitude: 'Højde',\n\taltitudeMeters: 'Højde (m)',\n\tfuelLevelLitres: 'Brændstofniveau (l)',\n\tfuelCanLevelLitres: 'Brændstofniveau CAN (l)',\n\trefuel: 'Tank op',\n\taverageSpeed: 'Gennemsnitshastighed',\n\tmaxSpeed: 'Maksimal hastighed',\n\tdistance: 'Distance',\n\tfuelLevelForPeriod: 'Brændstofniveau for periode',\n\tcanFuelLevel: 'CAN Brændstofniveau',\n\tfuelLevel: 'Brændstofniveau',\n\tfuelCanLevel: 'CAN Brændstofniveau',\n\tfuelConsumption: 'Forbrug',\n\tcalculateRoute: 'Beregn rute',\n\tdetails: 'Detaljer',\n\tnoDetails: 'Ingen detaljer',\n\tevent_enter: 'Start begivenhed',\n\tevent_exit: 'Afslut begivenhed',\n\tevent_stationary: 'Stop begivenhed',\n\talert_in: 'Varsel ved start',\n\talert_out: 'Varsel ved slut',\n\talert_transit: 'Transit advarsel',\n\tback: 'Tilbage',\n\tminValue: 'Minimum værdi',\n\tmaxValue: 'Maximum værdi',\n\taverageValue: 'Gennemsnits værdi',\n\tm_settings: {\n\t\tmarkers: 'Markørindstillinger',\n\t\tmap: 'Kortindstillinger',\n\t\t_: 'Indstillinger'\n\t},\n\tstatusFeed: 'Flådestatus',\n\toneVehicle: 'Køretøj',\n\tvehicles: 'Køretøjer',\n\tvehicless: 'Køretøj(er)',\n\tgeofences: 'Geofences',\n\tpois: 'POIs',\n\tusers: 'Brugere',\n\tdefault: 'Standard',\n\tdivisions: 'Afdelinger',\n\tduration: 'Varighed',\n\taccount: 'Konto',\n\tpoi: 'POI',\n\tpoiMultiple: 'flere POI',\n\ttimetables: 'Tidsplaner',\n\tintegrations: 'Integrationer',\n\tshare: 'Del',\n\tshared: 'Delt',\n\tdayHours: 'Timer',\n\ttheMinutes: 'Minutter',\n\tmonthDays: 'Dage',\n\ttheWeekDays: 'Dage',\n\tday: 'Dag',\n\tweek: 'Uge',\n\tmonth: 'Måned',\n\tevery: 'Hver',\n\tmap: 'Kort',\n\ttype: 'Type',\n\tsearch: 'Søg',\n\tALL: 'ALLE',\n\tok: 'OK',\n\tadd: 'TILFØJ',\n\tsave: 'GEM',\n\tsaveSuccess: 'Data gemt.',\n\tedit: 'REDIGER',\n\tinvite: 'INVITER',\n\treactivate: 'GENAKTIVER',\n\tcancel: 'ANNULLER',\n\tsend: 'SEND',\n\ttimezone: 'Tidszone',\n\tdelete: 'SLET',\n\taddFueling: 'Tilføj brændstof',\n\taddStoppingPurpose: 'Add Stopping Purpose', //TODO\n\tload: 'Load', //TODO\n\tunload: 'Unload', //TODO\n\tstationary: 'Stationary', //TODO\n\taclGroup: 'Gruppe',\n\taclGroups: 'Grupper',\n\taclVehicle: 'køretøj',\n\taclVehicles: 'køretøjer',\n\tallVehicles: 'Alle køretøjer',\n\tselected: 'valgt',\n\tsubscribe: 'Tilmeld',\n\tacceleration: 'Acceleration',\n\trpm: 'OMDR',\n\ttemperature: 'Temperatur',\n\tcelsiusTemperature: 'Temperatur (°C)',\n\tsensors: 'Sensorer',\n\tsensor: {\n\t\t'temperature': 'Temperatur',\n\t\t'temperature-1': 'Sensor 1',\n\t\t'temperature-2': 'Sensor 2',\n\t\t'temperature-3': 'Sensor 3',\n\t\t'temperature-4': 'Sensor 4',\n\t\t'temperature-5': 'Sensor 5',\n\t\t'temperature-6': 'Sensor 6',\n\t\t'temperature-7': 'Sensor 7',\n\t\t'temperature-8': 'Sensor 8',\n\t},\n\taccelerationG: 'Acceleration',\n\talert: 'Advarsel',\n\tnotification: 'Notifikation',\n\tdate: 'Dato',\n\thour: 'Time',\n\trecurrent: 'Tilbagevendende',\n\trecurrentEachWeekDay: 'Gentagne hver {{day}}',\n\tdisabled: 'Deaktiveret',\n\tdriver: 'Fører',\n\tdrivers: 'Førere',\n\tdriverss: 'Fører(e)',\n\tnoDriver: 'Uden fører',\n\tallDrivers: 'Alle førere',\n\tunselectAllDrivers: 'Fravælg førere',\n\tselectAllDrivers: 'Vælg alle førere',\n\tselectedDrivers: 'Udvalgte førere',\n\tselectFile: 'Vælg Fil',\n\tselectVehicles: 'Vælg køretøjer',\n\tselectVehicle: 'Vælg køretøj',\n\tselectFilters: 'Vælg filtre',\n\tselectedFilters: 'Valgte filtre',\n\tlocations: 'Lokationer',\n\tunknownLocation: 'Ukendt lokation',\n\tunknown: 'Ukendt',\n\tvirtualOdometer: 'Virtuel Kilometertæller',\n\tcanOdometer: 'CAN Kilometertæller',\n\todometer: 'Kilometertæller',\n\tinsertEmailAddress: 'Indsæt email adresse',\n\tengineState: 'Motortilstand',\n\trouteType: {\n\t\tstationary: 'Stationær',\n\t\tmoving: 'Kørende',\n\t},\n\ttime: {\n\t\tperiod: 'Periode',\n\t\ttoday: 'I dag',\n\t\tcurrentWeek: 'Nuværende uge',\n\t\tcurrentMonth: 'Indeværende måned',\n\t\tyesterday: 'I går',\n\t\tlastWeek: 'Sidste uge',\n\t\tlastMonth: 'Sidste måned'\n\t},\n\tweekDays: {\n\t\tsunday: 'Søndag',\n\t\tmonday: 'Mandag',\n\t\ttuesday: 'Tirsdag',\n\t\twednesday: 'Onsdag',\n\t\tthursday: 'Torsdag',\n\t\tfriday: 'Fredag',\n\t\tsaturday: 'Lørdag'\n\t},\n\tshortDays: {\n\t\tsunday: 'Søn',\n\t\tmonday: 'Man',\n\t\ttuesday: 'Tirs',\n\t\twednesday: 'Ons',\n\t\tthursday: 'Tors',\n\t\tfriday: 'Fre',\n\t\tsaturday: 'Lør'\n\t},\n\tmonths: {\n\t\tjanuary: 'Januar',\n\t\tfebruary: 'Februar',\n\t\tmarch: 'Marts',\n\t\tapril: 'April',\n\t\tmay: 'Maj',\n\t\tjune: 'Juni',\n\t\tjuly: 'Juli',\n\t\taugust: 'August',\n\t\tseptember: 'September',\n\t\toctober: 'Oktober',\n\t\tnovember: 'November',\n\t\tdecember: 'December'\n\t},\n\tshortMonths: {\n\t\tjanuary: 'Jan',\n\t\tfebruary: 'Feb',\n\t\tmarch: 'Mar',\n\t\tapril: 'Apr',\n\t\tmay: 'Maj',\n\t\tjune: 'Jun',\n\t\tjuly: 'Jul',\n\t\taugust: 'Aug',\n\t\tseptember: 'Sep',\n\t\toctober: 'Okt',\n\t\tnovember: 'Nov',\n\t\tdecember: 'Dec'\n\t},\n\tmenu: 'Menu',\n\texportSvg: 'Eksporter SVG',\n\texportPng: 'Eksporter PNG',\n\texportCsv: 'Download CSV', // TODO: translate\n\tselection: 'Vælg',\n\tselectionZoom: 'Vælg Zoom',\n\tzoomIn: 'Zoom Ind',\n\tzoomOut: 'Zoom Ud',\n\tpan: 'Panorering',\n\treset: 'Nulstil Zoom',\n\tdashboard: {\n\t\theatmap: {\n\t\t\ttitle: {\n\t\t\t\tdistance: 'Aktivitet i det sidste døgn',\n\t\t\t\twork: 'Arbejde i det sidste døgn',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tdistance: 'Distance',\n\t\t\t\twork: 'Arbejde',\n\t\t\t},\n\t\t\tunits: {\n\t\t\t\tkm: 'km',\n\t\t\t\tmin: 'min',\n\t\t\t},\n\t\t\tshowMore: 'Vis mere',\n\t\t\tshowLess: 'Vis mindre',\n\t\t},\n\t\tdailyKm: 'Total km i det sidste døgn',\n\t\tdailyConsumption: 'Forbrug inden for det sidste døgn',\n\t\tmonthlyKm: 'Km i den aktuelle måned',\n\t\tmonthlyConsumption: 'Samlet forbrug i den aktuelle måned',\n\t\tcars: 'biler',\n\t\talerts: 'Advarsler',\n\t\tnotifications: 'Notifikationer',\n\t\tshowAlerts: 'Vis advarsler',\n\t\tshowNotifications: 'Vis notifikationer',\n\t\tshowAllVehicles: 'Vis alle køretøjer',\n\t\tstopped: 'Stoppet',\n\t\tmoving: 'Køre',\n\t\tcontact: 'Har du et forslag eller en klage?',\n\t\tcontactLink: 'Kontakt os',\n\t\tcontactTitle: 'Kontakt',\n\t\tcontactSendBtn: 'Send',\n\t\tcontactMsgHint: 'Tilføj besked',\n\t\terrorOnSendingMessage: 'Der opstod en fejl under afsendelsen af din besked.',\n\t\tpleaseTryAgainLater: 'Prøv igen senere',\n\t\temptyMessage: 'Uden besked',\n\t\tpleaseInputMessage: 'Indtast din besked',\n\t\tnoAlertData: 'Ingen advarsler',\n\t\tnoNotificationData: 'Ingen notifikationer',\n\t\tcomingSoon: 'Kommer snart',\n\t\tnoData: 'Ingen data',\n\t\tshowDriver: 'Førernavn',\n\t\tshowLicensePlate: 'Nummerplade',\n\t\tliveStatus: {\n\t\t\tcupola: 'Tilgængelighed',\n\t\t\tcupolaState: {\n\t\t\t\tengineOn: 'Tilgængelig',\n\t\t\t\tengineOff: 'Travl',\n\t\t\t\tnone: 'Slukket',\n\t\t\t\tna: 'Ikke tilgængelig',\n\t\t\t},\n\t\t\tvehicle: 'Køretøj',\n\t\t\taddress: 'Adresse / POI',\n\t\t\tlastPOI: 'Sidste POI',\n\t\t\tnextPlannedPOI: 'Næste planlagte POI',\n\t\t\tavailability: 'Tilgængelighed',\n\t\t\tstatus: 'Status',\n\t\t\tspeed: 'Hastighed',\n\t\t\tfuelLevel: 'Brændstofniveau',\n\t\t\ttemperature: 'Agregation',\n\t\t\tdoors: 'Døre',\n\t\t\tseal: 'Segl',\n\t\t\tdeactivateSealModal: {\n\t\t\t\theader: 'Deaktiver segl',\n\t\t\t\tcontent: 'Vil du deaktivere seglet {{sealNumber}}?',\n\t\t\t}\n\t\t},\n\t\ttacho: {\n\t\t\tvehicle: 'Køretøj',\n\t\t\tdriver: 'Fører',\n\t\t\tactivity: 'Aktivitet',\n\t\t\ttime: 'Varighed',\n\t\t\tdistance: 'Distance',\n\t\t\tweek: 'Uge',\n\t\t\tday: 'Dag',\n\t\t\tdriveTimeLeft: 'Køretid tilbage (rest)',\n\t\t\tdriveTimeLeftDay: 'Køretid tilbage (dag)',\n\t\t\tdriveTimeLeftWeek: 'Køretid tilbage (uge)',\n\t\t\tdriveTimeNextWeek: 'Køretid tilbage (næste uge)',\n\t\t\tdrivingCycle: 'Driving Cycle',\n\t\t\tdrivingDaily: 'Daily Driving',\n\t\t\tdrivingWeekly: 'Weekly Driving',\n\t\t\tamplitudeDaily: 'Daily Amplitude',\n\t\t\ttotalRecovery: 'Total Recovery',\n\t\t},\n\t\tlogout: 'Log ud'\n\t},\n\tdocument: {\n\t\ttype: {\n\t\t\tvehicle: {\n\t\t\t\tRCA: 'Bilforsikring',\n\t\t\t\tCASCO: 'kaskoforsikring',\n\t\t\t\tRovinieta: 'Vejafgift',\n\t\t\t\tITADR: 'Transportattest ',\n\t\t\t\tAltele: 'Andet',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tpermis_conducere: 'Kørekort',\n\t\t\t\tatestat: 'Professionelt certifikat ',\n\t\t\t\taviz_medical: 'Medicinsk certifikat',\n\t\t\t\tAltele: 'Andet',\n\t\t\t},\n\t\t},\n\t},\n\tpurposes: {\n\t\tnoPurpose: 'Intet formål',\n\t\tcustomers: 'Rejse til kunder',\n\t\tsuppliers: 'Rejse til leverandører',\n\t\tprospectingMarket: 'Rejse til efterforskning af markedet',\n\t\tservice: 'Rejse til service',\n\t\twork: 'Rejse til arbejde',\n\t\ttraining: 'Rejse til træning',\n\t\tcustoms: 'Rejse til told',\n\t\tbank: 'Rejse til bank',\n\t\ttaxAuthorities: 'Rejse til skattemyndighederne',\n\t\tpersonalInterest: 'Rejse i personlig interesse',\n\t},\n\troutes: 'Ruter',\n\troutesEta: 'Ruter-ETA',\n\ttacho: {\n\t\tstatus: 'Fartskriver',\n\t\tactivity: 'Aktivitet',\n\t\tweek: 'Uge',\n\t\tday: 'Dag',\n\t\tdriver: {\n\t\t\t1: 'Fører 1',\n\t\t\t2: 'Fører 2',\n\t\t},\n\t\tactivities: {\n\t\t\t'-1': 'Ukendt',\n\t\t\t0: 'Hvile',\n\t\t\t1: 'Tilgængelig',\n\t\t\t2: 'Arbejder',\n\t\t\t3: 'Kører',\n\t\t\t4: 'Fejl',\n\t\t\t5: 'N/A',\n\t\t},\n\t\tactivities2: {\n\t\t\tavailable: 'Ledig',\n\t\t\tdriving: 'Kører',\n\t\t\tworking: 'Arbejder',\n\t\t\tbreak: 'Kort pause',\n\t\t\trest: 'Hviler',\n\t\t\tunknown: 'Ukendt',\n\t\t}\n\t},\n\tobu: {\n\t\tbalance: 'Balance',\n\t\tsection: 'Vejafsnit',\n\t\tstatuses: {\n\t\t\t0: 'Normal',\n\t\t\t1: 'Lav',\n\t\t\t2: 'Tom',\n\t\t}\n\t},\n\tvehicleList: {\n\t\ttacho: {\n\t\t\tdriveTimeLeft: 'Køretid tilbage (rest)',\n\t\t\tdriveTimeLeftDay: 'Køretid tilbage (dag)',\n\t\t\tdriveTimeLeftWeek: 'Køretid tilbage (uge)',\n\t\t\tdriveTimeNextWeek: 'Køretid tilbage (næste uge)',\n\t\t}\n\t},\n\tsignup: {\n\t\tinvitation: {\n\t\t\texpired: 'Invitationen er udløbet. Kontakt administratoren.'\n\t\t}\n\t},\n\tmaintenance: {\n\t\trules: 'Vedligeholdelsesregler',\n\t\tlist: 'Vedligeholdelse'\n\t},\n}\n","export default {\n\t'document-expiry': '{{type}} für {{driver}} {{vehicle}} läuft am {{until}} ab',\n\t'document-expired': '{{type}} für {{driver}} {{vehicle}} ausgelaufen den {{until}}',\n\n\t'poi-enter': '{{licensePlate}} angefangen POI {{geofenceName}}',\n\t'poi-exit': '{{licensePlate}} veranlassen POI {{geofenceName}}',\n\t'poi-stationary': '{{licensePlate}} beenden POI {{geofenceName}}',\n\n\t'geofence-enter': '{{licensePlate}} geofence bei anfang {{geofenceName}}',\n\t'geofence-exit': '{{licensePlate}} veranlassen geofence {{geofenceName}}',\n\t'geofence-stationary': '{{licensePlate}} beenden geofence {{geofenceName}}',\n\n\t'door-open-outside-poi': 'Tür offen draußen POI für {{licensePlate}}',\n\t'seal-broken': 'Siegel {{sealNumber}} für {{licensePlate}} gebrochen',\n\t'speeding': '{{licensePlate}} Geschwindigkeitsüberschreitung {{diff}}km/h ',\n\t'fuel-level-drop-stationary': 'Brennstoffniveau sink im Stillstand (Sensor) für {{licensePlate}}',\n\t'fuel-level-drop-stationary-confirmed': 'Das {{amount}} L sinken für {{licensePlate}} ist Bestätigt',\n\t'fuel-level-drop-stationary-fluctuation': 'Der Rückgang für {{licensePlate}} war ein Fluktuation. Es tut uns leid',\n\t'fuel-consumption-excessive': 'Der übermässig Spritverbrauch von {{licensePlate}}',\n\t'taxi-coasting': 'Motor auf bei dem Transport von {{licensePlate}}',\n\n\t'maintenance-upcoming': '{{type}} vorstellen für {{licensePlate}} bei {{limit}} {{unit}} / {{deadline}}',\n\t\"panic-button\": \"Panikalarm beim Fahrzeug {{licensePlate}} an folgendem Ort <a href='https://www.google.com/maps?q={{coordinates}}' target='_blank'>[{{coordinates}}]</a>\"\n}\n","export default {\n\tdispatch: 'Absender',\n\tloadAddress: 'Addresse laden',\n\tunloadAddress: 'addresse esen',\n\tenterQuery: 'Anfrage einschreiben',\n\tbudget: 'Budget',\n\tstatName: 'Name eingeben',\n\tprofitability: 'Rentabilität',\n\totherStat: 'Andere Statistiken',\n\tmenu: {\n\t\tindex: 'Absender',\n\t\tmap: 'Karte',\n\t\torders: 'Aufträge',\n\t\tclients: 'Kunden',\n\t\tvehicleGroups: 'Fahrzeuggruppen',\n\t\troutes: {\n\t\t\tindex: 'Routen',\n\t\t\tadd: 'Route hinzufügen'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Route',\n\t\tdistance: 'Distanz (km)',\n\t\tname: 'Name',\n\t\tvehicles: 'Fahrszeuge',\n\t\tvehicle: 'Fahrszeug',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Breite (in meters, eg. 2.4)',\n\t\t\theight: 'Höhe (in meters, eg. 4.2',\n\t\t\tlength: 'Länge (in meters, eg. 7)',\n\t\t\tweight: 'Gewicht (in tonnes, eg. 5)',\n\t\t},\n\t\tduration: 'Zeitverlauf',\n\t\twaypoints: {\n\t\t\ttitle: 'Punkte',\n\t\t\ttype: 'Typ',\n\t\t\ttypes: {\n\t\t\t\tload: 'Laden',\n\t\t\t\tunload: 'Aufladen',\n\t\t\t\tstop: 'Halt'\n\t\t\t},\n\t\t\tlocation: 'Ort',\n\t\t\tduration: 'Zeitverlauf (minutes)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Gefährliche Materialen',\n\t\t\tstrict: 'Strenges Route',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Explosiv',\n\t\t\t\tgas: 'Gas',\n\t\t\t\tflammable: 'Brennbar',\n\t\t\t\tcombustible: 'Feuergefährlich',\n\t\t\t\torganic: 'Bio',\n\t\t\t\tpoison: 'Gift',\n\t\t\t\tradioActive: 'Radioactiv',\n\t\t\t\tcorrosive: 'Ätzend',\n\t\t\t\tpoisonousInhalation: 'Giftig bei Einatmung',\n\t\t\t\tharmfulToWater: 'Schädlich zur Wasser',\n\t\t\t\tother: 'Anderes',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Route herstellen',\n\t\t\toptimize: 'Route Optimieren',\n\t\t\tnext: 'Nächste',\n\t\t\tsave: 'Speichern',\n\t\t\tadd: 'Hinzufügen',\n\t\t\tsearch: 'Route finden...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Route herstellen...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Route Optimieren',\n\t\t\tuse: 'optimierte Route benutzen',\n\t\t\tmessage: 'Der Route kann optimiert verden',\n\t\t\tdiff: 'Der optimierte Route ist <b>{{distance}}</b> kürzer und <b>{{time}}</b> schneller.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Zeitplan'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Einzelheiten'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Name',\n\t\t\tdistance: 'Abstand',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Fahren',\n\t\t\t\trest: 'Ruhe',\n\t\t\t\ttotal: 'Zeitverlauf',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Primär',\n\t\t\t\tcheapest: 'Billigsten',\n\t\t\t\tfastest: 'Schnellste',\n\t\t\t\tshortest: 'Kürzeste',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Verstecken',\n\t\t\t\tsave: 'Speichern',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Transport Art',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Gefrierfach',\n\t\t\t\t\tsecure: 'Sicher',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Kosten',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / Tarif',\n\t\t\tcost: 'Kosten',\n\t\t\tcostDetailed: 'Fahrer Kosten: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€',\n\t\t\tprofitability: 'Rentabilität',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Niedrig',\n\t\t\t\tmedium: 'Mittel',\n\t\t\t\thigh: 'Hoch',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimiren',\n\t\t\tloading: 'Laden...',\n\t\t\tcostDetailed: 'Fahrer Kosten: {{driverCost}}€\\nFahrzeug Kosten: {{vehicleCost}}€\\nZoll: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\texternalID: \"Extern ID\",\n\t\t\tclient: 'Kunde',\n\t\t\tvehicleGroup: 'Fahrzeuggruppe',\n\t\t\tstatus: 'Status',\n\t\t\tstatusDate: 'Status datum',\n\t\t\tstartLocation: 'Startort',\n\t\t\tendLocation: 'Endort',\n\t\t\tdate: 'Datum',\n\t\t\tattachments: 'Anhänge',\n\t\t\tupdatedAt: 'Letztes update',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Bestellung hinzufügen',\n\t\t\t\tname: 'Name',\n\t\t\t\tstatus: 'Status',\n\t\t\t\tsource: 'Quelle',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'Extern ID',\n\t\t\t\tvehicleGroup: 'Fahrzeuggroupe',\n\t\t\t\tclient: 'Kunde',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Addresse',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Laden',\n\t\t\t\t\t\tunloading: 'Entladung',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Anhang Hochladen',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Kunde hinfügen',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Kunde hinfügen',\n\t\t\t\tname: 'Name',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\ttractorUnit: 'Traktor',\n\t\t\tsemitrailer: 'Sattelauflieger',\n\t\t\tdriver: 'Fahre',\n\t\t\tcodriver: 'Beifahrer/in',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Fahrzeuggruppe hinfügen',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Fahrzeuggruppe hinfügen',\n\t\t\t\tname: 'Name',\n\t\t\t\ttractorUnit: 'Traktor',\n\t\t\t\tsemitrailer: 'Sattelauflieger',\n\t\t\t\tdriver: 'Fahre',\n\t\t\t\tcodriver: 'Beifahrer/in',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Traktor',\n\t\t\tsemitrailers: 'Sattelauflieger',\n\t\t\tvehicleGroups: 'VFahrzeuggruppen',\n\t\t},\n\t},\n}\n","export default {\n\tdriverBehaviour: 'Fahrer Verhalten',\n\tmenu: {\n\t\tfcz: 'FCZ',\n\t\tperformance: 'Leistung',\n\t\t'engine-load-rpm': 'Motorlast / RPM',\n\t},\n\ttotals: {\n\t\trevRecommended: 'Insgesamt empfohlen umdre.',\n\t\trevMarginal: 'Insgesamt marginale umdre.',\n\t\trevForbidden: 'Insgesamt verboten umdre.',\n\t\trevOver: 'Insgesamt über-umdre.',\n\t\trevOverLoaded: 'Insgesamt über-loaded',\n\t\trevUnder: 'Insgesamt unter-umdre.',\n\t},\n\tsettings: {\n\t\tspecific: {\n\t\t\troute: {\n\t\t\t\tpriorityCAN: 'CAN Distance',\n\t\t\t\tpriorityGPS: 'GPS Distance'\n\t\t\t}\n\t\t}\n\t},\n\theaderFields: {\n\t\tdriver: 'Fahre',\n\t\tvehicle: 'Fahrzeug',\n\t\tdate: 'Datum',\n\t\tscore: 'Score',\n\t\tdistanceTotal: 'Abstand (km)',\n\t\tfuelConsumptionTotal: 'Verbrauch',\n\t\taverageAxleLoad: 'Insgesamt Lasten',\n\t\taverageSpeed: 'durchsnittsgeschwindigkeit',\n\t\tbreakingDistance: 'Bremsen / 100km',\n\t\tharshBreakingDistance: 'Hart Bremsen / 100km',\n\t\tharshAccelerationDistance: 'Hart Beschleunigungen / 100km',\n\t\tfuelConsumptionMovingDistance: 'Bewegung Verbrauch / 100km',\n\t\tfuelConsumptionIdle: 'Leerlauf Verbrauch',\n\t\tfuelConsumptionTotalDistance: 'gesamten Verbrauch / 100km',\n\t\tdurationIdle: 'Leerlauf Zeit',\n\t\tpercentCruiseControl: 'Tempomat (%)',\n\t\tpercentInertia: 'Retarder (%)',\n\t\tpercentMoving: 'fahren (%)',\n\t\tpercentIdle: 'Leerlauf (%)',\n\n\t\t// performance\n\t\taccBrake100kmAvg: 'Durchschnittliche Beschleunigung/Bremsung pro 100 km',\n\t\taccBrakeTimeAvg: 'Durchschnittliche Zeit von Beschleunigung bis zur Bremsung',\n\t\tangle: 'Winkel',\n\t\tauxHeating: 'Zusatzheizung',\n\t\taxleLoadAvg: 'Durchschnittliche Achslast',\n\t\tascendPercentage: 'Steigungsprozentsatz',\n\t\tbrakingCount100kmAvg: 'Durchschnittliche Anzahl von Bremsungen pro 100 km',\n\t\tcompanyScore: 'Unternehmenswertung',\n\t\tcompanyScoreAccBr: 'Unternehmenswertung Beschleunigung/Bremsung',\n\t\tcompanyScoreAccBrTime: 'Unternehmenswertung Zeit für Beschleunigung/Bremsung',\n\t\tcompanyScoreBrk: 'Unternehmenswertung Bremsung',\n\t\tcompanyScoreDeltaAcc: 'Unternehmenswertung Änderung der Beschleunigung',\n\t\tcompanyScoreCruise: 'Unternehmenswertung Geschwindigkeitsregelung',\n\t\tcompanyScoreInertia: 'Unternehmenswertung Trägheit',\n\t\tcompanyScoreRetarder: 'Unternehmenswertung Retarder',\n\t\tdeltaAccKmAvg: 'Durchschnittliche Änderung der Beschleunigung pro Kilometer',\n\t\tdescendPercentage: 'Abstiegsprozentsatz',\n\t\tdifficultyScore: 'Schwierigkeitsgrad der Strecke',\n\t\tdistanceCruiseControlKmAvg: 'Durchschnittliche Strecke mit Geschwindigkeitsregelung pro Kilometer',\n\t\tdistanceInertiaKmAvg: 'Durchschnittliche Strecke mit Trägheit pro Kilometer',\n\t\tdurationMoving: 'Bewegungsdauer',\n\t\toverSpeedKm: 'Durchschnittliche Strecke über der Geschwindigkeitsbegrenzung pro Kilometer',\n\t\tpanicBraking: 'Panikbremsung',\n\t\tretarderOnKmAvg: 'Durchschnittliche Strecke mit Retarder pro Kilometer',\n\t\tscoreAccBr: 'Beschleunigung/Bremspunktzahl',\n\t\tscoreAccBrTime: 'Zeitpunktzahl für Beschleunigung/Bremsung',\n\t\tscoreBrk: 'Bremspunktzahl',\n\t\tscoreDeltaAcc: 'Beschleunigungspunktzahl',\n\t\tscoreCruise: 'Geschwindigkeitsregelungspunktzahl',\n\t\tscoreInertia: 'Trägheitspunktzahl',\n\t\tscoreRetarder: 'Retarderpunktzahl',\n\t\tstationEngineOn: 'Stehender Motor eingeschaltet',\n\t\tstops: 'Stopps',\n\t\tavgScore: 'Gewichteter Gesamtscore (Start bis heute)',\n\n\t\taccRedZone: 'Beschleunigung rote Zone',\n\t\taccYellowZone: 'Beschleunigung gelben Zone',\n\t\tdccRedZone: 'Deacceleration Rote Zone',\n\t\tdccYellowZone: 'Deacceleration gelben Zone',\n\t\tcornerHandling: 'Eckenhandling',\n\t\tcrashes: 'Stürzt ab',\n\t\tdistance: 'Stracke',\n\t\tfuelConsumptionDistance: 'Verbrauch / 100 km',\n\t\tstartTime: 'Anfangs Zeit',\n\t\tendTime: 'Schluss Zeit',\n\t\tharshAccAvg: 'Hart Beschleunigung durchschnittlich',\n\t\tharshAccWarning: 'Hart Beschleunigung Warnung',\n\t\tharshAccWarningAvg: 'Hart Beschleunigung Warnung durchschnittlich',\n\t\tharshAccWarningCount: 'Hart Beschleunigung Warnung Anzahl',\n\t\tharshDccAvg: 'Hart Verlangsamung durchschnittlich',\n\t\tharshDccWarning: 'Hart Verlangsamung Warnung',\n\t\tharshDccWarningCount: 'Hart Verlangsamung Warnungs Anzahl',\n\t\tcanDistance: 'CAN Distanz',\n\t\tcanEngineHighRpmDuration: 'Hoch RPM Dauer',\n\t\tcanEngineHighRpmWarningDuration: 'Hoch RPM Warnungs Dauer',\n\t\tcanEngineHighRpmWarningDurationOnStationary: 'Hoch RPM Warnung Dauer im stationär',\n\t\tcanEngineLowRpmDurationOnStationary: 'Niedrig RPM Dauer im stationär',\n\t\tcanEngineOnDurationCount: 'Can engine on duration count',\n\t\tcanEngineOnDurationStationary: 'Can engine on duration stationär',\n\t\tcanEngineOnDurationWarningCount: 'Can engine on duration warning count',\n\t\tcanFuelConsumption: 'CAN Verbrauch / 100 km',\n\t\tengineOnDurationStationary: 'Motor An Dauer Stillstand',\n\t\tgpsScore: 'GPS Score',\n\t\tcanScore: 'CAN Score',\n\t\tmobileyeFwdColWarn: 'Fwd Col Warn',\n\t\tmobileyeHeadwayWarn: 'Headway Warnung',\n\t\tmobileyeLaneDepartLeftWarn: 'LaneDepartLeftWarn',\n\t\tmobileyeLaneDepartRightWarn: 'LaneDepartRightWarn',\n\t\tmobileyePedDangerWarn: 'PedDangerWarn',\n\t\tmobileyePedFwdColWarn: 'PedFwdColWarn',\n\t\tmobileyeScore: 'MOBILEYE Score',\n\t\ttotalScore: 'Total Score',\n\t\tspeedingAvg: 'Durchschnittlich Geschwindigkeitsüberschreitung',\n\t\tspeedingCount: 'Anzahl von Geschwindigkeitsüberschreitung',\n\t\tspeedingDistance: 'Distanz der Geschwindigkeitsüberschreitung',\n\t\tuserName: 'Benutzername',\n\t},\n\tselectDriver: 'Bitte wählen Sie einen Treiber'\n}\n","export default {\n\temptyName: 'Name ist erforderlich.',\n\tmissingCoordinates: 'Koordinaten Fehlt.',\n\tfuelCapacityNotSetted: 'Kraftstoffkapazität ist nicht ausgefüllt. Möchten sie die genauer Kraftstoffkapazität anshenen, bitte es eingeben!',\n\tinvalidAlertStationaryTimeRange: 'Ungültig stationär Zeit. setzen sie eine nummer zwischen 5 und 60 ein.',\n\tinvalidAlertStationaryTimeMultiple: 'Ungültig stationär Zeit. einsetzen Sie eine Numer mehrfach von 5 ist.',\n\tinsufficientPolygonPoints: 'Unzureichende Punkte (minstens 3)',\n\terrorsExists: 'Es gibt ein Fehler',\n\tplaseTryAgainLater: 'Bitte versuchen Sie es später noch einmal',\n\tcheckFileAndTryAgain: 'Die Datei åUberprüfen und erneut versuchen',\n\tnumberWithoutComma: 'Nutzen \".\" als Decimal Separator.',\n\terrorsExistsCheckData: 'Fehler gefunden. Bitte DateiÜberprüfen.',\n\tvalidation: {\n\t\tpoi: {\n\t\t\tinvalidPoiShape: 'Ein \"point\" Form kann nur ein Paar von Koordinaten haben und das Minimum  minimum erlaubte Grenze ist 50 Meters.',\n\t\t\tpoiRequiresPoint: 'Aufnahme von \"poi\" Typen kann nur \"point\" als Form gegeben werden.',\n\t\t\tpoiOrGeofenceExpected: 'Erwartet POI von Art \"poi\" oder \"geofence\".',\n\t\t\tinvalidPolygon: 'Für \"polygon\" Form das Eigentum \"Koordinaten\" ist Erwarted als eine Dezimalstellen mit einer genauer Länge von mindestens 8 Werten.',\n\t\t\tboundaryTooSmall: 'POI Grenzennummer muss eine Nummer höher als 50 werden.',\n\t\t\tgeneral: 'Ungültige Form',\n\t\t\tinvalidCoordinates: '\"Koordinaten\" muss ein Matrix sein.'\n\t\t},\n\t\ttimetable: {\n\t\t\tinvalidDuration: 'Dauer soll zwischen ein stunden und 24 studen eingestell twerden. Erwartet Format: HH:mm',\n\t\t\tinvalidStartTime: 'Anfangszeit ist Notwendig und soll höchsten 15 minuten Alt sein. Erwatet Format: YYYY-MM-DD HH:mm:ss.',\n\t\t\tinvalidRecurringDuration: 'Bei wiederkehrenden Fahrplänen muss das Intervall zwischen Start- und Endzeit mit dem Wert für die Dauer übereinstimmen.',\n\t\t\tinvalidEndTime: 'Die Endzeit wird festgelegt vor die DAuer abgelaufen ist.',\n\t\t\tinvalidVehicle: 'Dieser Fahrzeuge würde im Databade nicht gefunden oder Sie haben nicht den Erlaubnisse es zu ändern.',\n\t\t\toverlapping: 'Dieses Fahrzeug hat bereits einen Fahrplan, der gleichzeitig mit dem hochgeladenen beginnt.'\n\t\t}\n\t}\n}\n","export default {\n    uits: 'UIT',\n    partners: 'Partner',\n    etransport: 'e-Transport'\n}\n","export default {\n\tmaintenances: {\n\t\tlabel: 'Revisionsbenachrichtigungen',\n\t\tname: 'Name',\n\t\tintervalDistance: 'KM intervall',\n\t\tintervalWorkingHours: 'Arbeitsstuden intervall',\n\t\tintervalTime: 'Zeitintervall (monaten)',\n\t\tremainderDistance: 'KM zurück',\n\t\tremainderWorkingHours: 'Arbeitstunden zurück',\n\t\tremainderTime: 'Restzeit (Tage)',\n\t\tdeleteTitle: 'Servicemeldungsregel löschen',\n\t\tdeleteContent: 'Servicemeldungsregel wird gelöscht. Möchten Sie fortfahren?',\n\t\trequiredIntervalOrRemainderInfo: 'Nur eine von den Feldern{{field1}} oder {{field2}} ist Obligatorisch',\n\t\ttypes: {\n\t\t\t'vehicle-licence': 'Führerschein',\n\t\t\t'transport-certification': 'Transport Zertifizierung',\n\t\t\t'medical-notification': 'Ärztliche Zertifizierung',\n\t\t\t'registration-certificate': 'Registrierung Zertifizierung',\n\t\t\t'mandatory-insurance': 'Obligatorische Versicherung',\n\t\t\tvignette: 'Vignette',\n\t\t\t'periodical-technical-inspection': 'Regelmäßige technische Inspektion',\n\t\t\tservice: 'Bedienung',\n\t\t\t'oil-change': 'Ölwechsel',\n\t\t\t'tire-change': 'Reifenwechsel',\n\t\t},\n\t},\n\tmanagement: 'Management',\n\tdocuments: 'Dokumenten',\n\tmoreDetails: 'Hinzufügen',\n\tdocStartDate: 'Von',\n\tdocEndDate: 'Bis',\n\tprice: 'Kosten',\n\tload: 'Laden',\n\tdownload: 'Herunterladen',\n\taccountInformation: 'Konto Information',\n\tdocument: {\n\t\tdeleteTittle: 'Dokument löschen',\n\t\tsureToDelete: 'Das Dokument {{fileName}} ({{type}}) wird erlöscht',\n\t\tnotifications: {\n\t\t\tdefaultText: 'Benachrichtigungen',\n\t\t\tday: 'Ein Tag',\n\t\t\tweek: 'Ein Woche',\n\t\t\tmonth: 'Ein Monat',\n\t\t}\n\t},\n\theaderFields: {\n\t\tlicensePlate: 'Nummernschild',\n\t\tdriver: 'Treiber',\n\t\tcar: 'Auto',\n\t\ttype: 'Typ',\n\t\tdivision: 'Teilung',\n\t\tstatus: 'Status',\n\t\tname: 'Name',\n\t\temail: 'Email',\n\t\tphoneNumber: 'Handy',\n\t\trole: 'Typ',\n\t},\n\troles: {\n\t\tnew: 'Rolle hinzufügen',\n\t\tview: 'Rolle einzelheiten',\n\t\tedit: 'Rolle bearbeiten',\n\t\tdelete: 'Rolle ',\n\t\tdeleteUsed: 'Die Rolle ist benuzt von {{number}} Nutzer(s) und kann nicht gelöscht werden:{{names}}',\n\t\tsureToDelete: 'Die Rolle {{name}} ({{type}}) wird erlöscht sein',\n\t\tneedName: 'Die Rolle muss ein Name haben',\n\t\trequiredAtLeastOneGroupOrOneVehicle: 'Sie müssen mindestens eine Gruppe oder ein Fahrzeug auswählen',\n\t},\n\ttimetables: {\n\t\twithoutTimetable: 'No timetable',\n\t\tto: 'zu',\n\t\tname: 'Zeitplanname',\n\t\tbrowse: 'Durchsuche...',\n\t\taddCsv: 'CSV hochladen',\n\t\tstatus: {\n\t\t\tdefaultText: 'Status',\n\t\t\tdisabled: 'Invalid',\n\t\t\tcustom: 'Benutzerdefiniert',\n\t\t\tfullDay: 'Ganzentag',\n\t\t},\n\t\tdelete: {\n\t\t\tsureToDeleteTimetable: 'Möchten Sie dieser Zeitplan löschen?',\n\t\t\ttitle: 'Zeitplan löschen',\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'Zeitplan hinzufügen',\n\t\t\tbuttonText: 'SPEICHERN',\n\t\t},\n\t\timport: {\n\t\t\timportedNumber: '{{value}} Zeitplan würde Importiert',\n\t\t\tnotImportedNumber: '{{value}} Zeitplan war nicht Importiert',\n\t\t\tallImported: 'Alle ({{value}}) Zeitpläne würde Importiert',\n\t\t\tnoneImported: 'Kein Zeitplan war Importiert',\n\t\t\ttitle: 'Zeitplan Importiert',\n\t\t\tbuttonText: 'IMPORT',\n\t\t\tname: 'Zeitplanname',\n\t\t\tlicensePlate: 'Nummernschild',\n\n\t\t\taffectedVehicles: 'Fahrzeuge, die von bestehenden Fahrplänen abweichen',\n\t\t\ttimetablesForRemoval: 'Zeitpläne für die Entfernung',\n\n\t\t\tmondayStart: 'Mondtag Anfang',\n\t\t\tmondayStop: 'Mondtag Halten',\n\n\t\t\ttuesdayStart: 'Dienstag Anfang',\n\t\t\ttuesdayStop: 'Dienstag Halten',\n\n\t\t\twednesdayStart: 'Mitwoch Anfang',\n\t\t\twednesdayStop: 'Mitwoch Halten',\n\n\t\t\tthursdayStart: 'Donnerstag Anfang',\n\t\t\tthursdayStop: 'Donnerstag Halten',\n\n\t\t\tfridayStart: 'Freitag Anfang',\n\t\t\tfridayStop: 'Freitag Halten',\n\n\t\t\tsaturdayStart: 'Samstag Anfang',\n\t\t\tsaturdayStop: 'Samstag Halten',\n\n\t\t\tsundayStart: 'Sonntag Anfang',\n\t\t\tsundayStop: 'Sonntag Halten',\n\t\t\terrors: {\n\t\t\t\tmessage: 'Es gab einige Fehler in den hochgeladenen Dateidaten. Bitte korrigieren Sie die Werte und reichen Sie die Datei erneut ein.'\n\t\t\t},\n\t\t\tsuccessful: 'Import erfolgreich abgeschlossen',\n\n\t\t\tdownloadTemplate: 'Template Herunterladen',\n\t\t\tdownloadExample: 'Exempel Herunterladen'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Zeitplan bearbeiten',\n\t\t\tbuttonText: 'Bearbeiten',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Zeitplan details',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tvehicles: {\n\t\t// small modal\n\t\tdivision: 'Division',\n\t\tdriverIsAttached: 'Der ausgewählte Fahrer wird einem anderen Fahrzeug zugewiesen!',\n\t\tvehicleHasNoDoorSensor: 'Fahrzeug haben kein Türsensor',\n\t\tisAssignedToVehicle: 'ist dem Fahrzeug zugeordnet',\n\t\twillBeAssigned: 'wird dem Fahrzeug zugeordnet',\n\t\tsureToDeleteVehicle: 'Möchten Sie das Fahrzeug löschen',\n\t\tvehicleHasDeviceAssigned: 'Gerät {{deviceID}} ist dem Fahrzeug zugeordnet',\n\t\tselectDevice: 'Gerät auswählen',\n\t\tselectDispatcher: 'Dispatcher/in wählen',\n\t\trelayContact: {\n\t\t\ton: {\n\t\t\t\tstate: 'Ignition blocked',\n\t\t\t\ttitle: 'Block ignition',\n\t\t\t\tconfirm: 'Are you sure that you want to block the ignition?'\n\t\t\t},\n\t\t\toff: {\n\t\t\t\tstate: 'Ignition unblocked',\n\t\t\t\ttitle: 'Unblock ignition',\n\t\t\t\tconfirm: 'Are you sure that you want to unblock the ignition?',\n\t\t\t},\n\t\t\tibutton: {\n\t\t\t\tstate: 'Ignition blocked (iButton)',\n\t\t\t\ttitle: 'Block ignition (iButton)',\n\t\t\t\tconfirm: 'Are you sure that you want to block the ignition using iButton ?',\n\t\t\t},\n\t\t},\n\t\tspeedLimit: {\n\t\t\tmax: 'Standardalarmschwelle',\n\t\t\tmaxTooltip: 'Warnungen werden gesendet, wenn der Schwellenwert unabhängig vom Straßenlimit überschritten wird (dh 90 km/h für LKW)',\n\t\t\tmin: 'Alarmschwelle',\n\t\t\tminTooltip: 'Geschwindigkeitswarnungen werden nicht gesendet, wenn dieser Schwellenwert unterschritten wird',\n\t\t\toffset: 'Zulässiger Schwellenwert',\n\t\t\toffsetTooltip: '10 km/h alarmiert werden bei \\n50 + 10 km/h bei Stadtteil, \\n90 + 10 km/h aus Autobahn, \\n130 + 10 km/h on highways',\n\t\t\terrorMessage: 'Überprüfen Sie die rot markierten Felder'\n\t\t},\n\t\tdoorAlert: {\n\t\t\tnoAlert: 'Keine Warnung',\n\t\t\talertOpenDoor: 'Warnung Tür öffnen',\n\t\t\tdoorOpenOutsidePOI: 'Warnung Tür öffnen Drausen von POI',\n\t\t\tdoorOpenOutsidePOIInTimetable: 'Warnung Tür öffnen Drausen von POI Zeitplan',\n\t\t},\n\t\tremoveDevice: 'Geräte entfernen',\n\t\tcannotChangeDeviceUntilRelayContactDisabled: 'Wenn die Zündung blockiert ist, können die Geräte nicht gewechselt werden',\n\t\tcannotChangeRelayContactUntilDeviceIsSaved: 'Die Zündung kann erst blockiert werden, wenn das Gerät gespeichert ist',\n\t\tdeviceChange: 'Geräte wechseln',\n\t\tnoDevices: 'Es sind keine Geräte verfügbar',\n\t\tvehicleDetails: 'Fahrzeug Einzelheiten',\n\t\tautoPark: 'Fahrzeugflotte',\n\t\tlicensePlate: 'Nummernschild',\n\t\texternalRefuelID: 'Fahrzeug ID aus der Tankdatei',\n\t\tvin: 'VIN',\n\t\tmake: 'Gestalter',\n\t\tmodel: 'Model',\n\t\tvehicle: 'Fahrzeug',\n\t\tadblueCapacity: 'Adblue-Kapazität (L)',\n\t\tfuel: {\n\t\t\ttypeText: 'Treibstoffart',\n\t\t\ttype: {\n\t\t\t\tpetrol: 'Benzin',\n\t\t\t\thybridPetrol: 'Hybrid-Benzin',\n\t\t\t\tdiesel: 'Diesel',\n\t\t\t\thybridDiesel: 'Hybrid-diesel',\n\t\t\t\tlpg: 'GPL',\n\t\t\t\telectric: 'Elektrisch',\n\t\t\t},\n\t\t\tcapacity: 'Tankinhalt',\n\t\t\tconsumption: {\n\t\t\t\tsirocol: 'Aux Heizverbrauch L/h',\n\t\t\t\tdistanceWise: 'Durchschnittlicher Kraftstoffverbrauch {{unit}}/100KM',\n\t\t\t\ttimeWise: 'Durchschnittlicher Kraftstoffverbrauch {{unit}}/h'\n\t\t\t},\n\t\t\tfluctuationFilter: 'Filter für Kraftstoffstandsschwankungen',\n\t\t},\n\t\tcategory: 'Kategorie',\n\t\ttype: {\n\t\t\tutility: 'Nützlichkeit',\n\t\t\tcar: 'PKW',\n\t\t\tminibus: 'Kleinbus',\n\t\t\tbus: 'Bus',\n\t\t\ttruck: 'LKW',\n\t\t\ttractor: 'Traktor',\n\t\t\tharvester: 'Mähdrescher',\n\t\t\tconstruction: 'Konstruktion',\n\t\t\ttrailer: 'Anhänger',\n\t\t\t'Semi-trailer': 'Sattelauflieger'\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: 'Breite (m)',\n\t\t\tlength: 'Länge (m)',\n\t\t\theight: 'Höche (m)',\n\t\t\tweight: 'Gewicht (t)'\n\t\t},\n\t\tseats: 'Anzahl Sitzplätze',\n\t\tselectDivision: 'Division auswählen',\n\t\tselectDriver: 'Treiber wählen',\n\t\tremoveDriver: 'Treiber Entfernen',\n\t\tfabricationYear: 'Herstellungsjahr',\n\t\tregistrationDate: 'Registrierungsdatum',\n\t\tobuID: 'OBU ID',\n\t\tengine: {\n\t\t\tpower: 'Pferdestärken (PS)',\n\t\t\tcapacity: 'Motorleistung'\n\t\t},\n\t\tpayloadCapacity: 'Nutzlast',\n\t\ttireSize: 'Reifengröße',\n\t\tcolor: 'Farben',\n\t\tnew: {\n\t\t\ttitle: 'Fahrzeug hinzufügen',\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Fahrzeug bearbeiten',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Fahrzeug Einzelheiten',\n\t\t}\n\t},\n\tusers: {\n\t\tuserDetails: 'Nutzer Einzelheiten',\n\t\t// small modal\n\t\tvehicleHasDriver: 'Das ausgewählte Fahrzeug hat bereits einen Fahrer!',\n\t\tuserHasVehicle: 'Der Benutzer ist dem Fahrzeug zugeordnet',\n\t\tifDeleteDetatch: 'Wenn Sie diesen Benutzer gelöscht haben, wird er diesem Fahrzeug nicht zugewiesen',\n\t\thaveDriver: 'Treiber sei',\n\t\twichWillBeReplaced: 'welches durch ersetzt wird',\n\t\tdeleteUser: 'Benutzer löschen',\n\t\tsureToDeleteThisUser: 'Möchten Sie den Benutzer wirklich löschen?',\n\t\treactivateUser: 'Benutzer reaktivieren',\n\t\tsureToReactivateThisUser: 'Sind Sie sicher, dass Sie diesen Benutzer reaktivieren möchten?',\n\t\tsureToResendInvitation: 'Sind Sie sicher, dass Sie die Einladung erneut senden möchten?',\n\t\ttheInvitationWillBeSent: 'Die Einladungs-E-Mail wird an die folgende Adresse geschickt',\n\t\tresendInvitation: 'Einladung erneut schiken',\n\t\tuserName: 'Benutzername',\n\t\tfirstName: 'vorname',\n\t\tiButton: 'iButton',\n\t\ttachoCardID: 'Fahrtenschreiber ID',\n\t\tlastName: 'Nachname',\n\t\temail: 'Email',\n\t\tphotoUpload: 'Bild hochladen',\n\t\tdivision: 'Division',\n\t\tphoneNumber: 'Telefon',\n\t\tlanguage: 'Sprache',\n\t\tdrivingLicense: 'Führerschein',\n\t\tassignedVehicle: 'Zugewiesenes Fahrzeug',\n\t\tdetachVehicle: ' Fahrzeug entfernen',\n\t\trole: 'Rolle',\n\t\tdriver: 'Treiber',\n\t\tadmin: 'Administrator/in',\n\t\tpartner: 'Partner/in',\n\t\tmanager: 'Manager/in',\n\t\tsalesAgent: 'Verkaufsagent',\n\t\telectrician: 'Elektriker/in',\n\t\tdocStartDate: 'Von',\n\t\tdocEndDate: 'Bis',\n\t\tdocPrice: 'Kosten',\n\t\tload: 'Laden',\n\t\tcountry: 'Land',\n\t\tnew: {\n\t\t\ttitle: 'Benutzer hinzufügen',\n\t\t\tbuttonText: 'Speichern',\n\t\t\theaderText: 'Füllen Sie das Formular mit Benutzerdaten aus. für Information drücken Sie \\'Mehr Information hinfügen\\'.'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edit user',\n\t\t\tbuttonText: 'Bearbeiten',\n\t\t\theaderText: 'Füllen Sie das Formular mit Benutzerdaten aus. für Information drücken Sie \\'Mehr Information hinfügen\\'.'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Benutzer Information',\n\t\t\tbuttonText: 'OK',\n\t\t\theaderText: 'Information über den ausgewählte Benutzer. Für mehr Information Drücken Sie \\'Mehr\\'.'\n\t\t}\n\t},\n\tgroups: {\n\t\tdeleteGroup: 'Sind Sie sicher, dass Sie die Unterteilung löschen möchten?',\n\t\tgroup: 'Division',\n\t\taddGroup: 'Division hinfügen',\n\t\ttimetable: 'Zeitplan',\n\t\teditGroup: 'Division ändern',\n\t\tgroupName: 'Division Titel',\n\t\taddSubGroup: 'Unterteilung hinfügen',\n\t\teditSubGroup: 'Unterteilung ändern',\n\t\tdeleteSubGroup: 'Unterteilung löschen',\n\t\tshare: 'Partnern',\n\t\tadd: 'Hinfügen'\n\t},\n\tgeofences: {\n\t\tname: 'POI Titel',\n\t\texternalID: 'Extern ID',\n\t\tradio: 'Radius',\n\t\tsureToDeleteGeofence: 'Sind SIe sicher, dass sie das POI löschen möchten',\n\t\tdeleteOldGeofences: 'Alle geofences, die bereits in der Plattform vorhanden, löschen',\n\t\talertStationaryTimeHoverText: 'Minuten stationär (5-60). Nur ein Vielfaches von 5 erlaubt.',\n\t\ticons: {\n\t\t\tselectIcon: 'Symbol auswählen',\n\t\t\tnoIcon: 'Kein Symbol',\n\t\t},\n\t\tdownloadCsv: 'CSV herunterladen',\n\t\ttype: {\n\t\t\tgeofence: 'Geofence',\n\t\t\tpoi: 'POI'\n\t\t},\n\t\tshape: {\n\t\t\ttype: {\n\t\t\t\tPolygon: 'Geofence',\n\t\t\t\tPoint: 'POI'\n\t\t\t}\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'POI hinzufügen',\n\t\t\tbuttonText: 'Speichern',\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'POI importieren',\n\t\t\tbuttonText: 'POI Importieren',\n\t\t\timportedGeofencesNumber: '{{value}} POIs wird Importiert',\n\t\t\tupdatedGeofencesNumber: '{{value}} POIs wird Aktualisiert',\n\t\t\tdeletedGeofencesNumber: '{{value}} POIs wird gelöscht',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POIs wird nicht Importiert',\n\t\t\tallGeofencesImported: 'Alle ({{value}}) POIs ist Importiert geworden',\n\t\t\tpleaseWait: 'Warten Sie bitte',\n\t\t\tprocessingGeofences: 'Daten aus Datei verarbeiten',\n\t\t\tdownloadTemplate: 'Form herunterladen',\n\t\t\tdownloadExamples: 'Beispiele herunterladen'\n\t\t},\n\t\tsimulate: {\n\t\t\timportedGeofencesNumber: '{{value}} POIs wird hinzugefügt werden',\n\t\t\tupdatedGeofencesNumber: '{{value}} POIs wird Atualisiert',\n\t\t\tdeletedGeofencesNumber: '{{value}} POIs wird gelöscht',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POIs Validierung fehlgeschlagen.',\n\t\t\tallGeofencesImported: 'Alle ({{value}}) POIs wird hinzugefügt',\n\t\t\tvalidateFile: 'Datei überprüfen'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Ändern POI',\n\t\t\tbuttonText: 'Ändern',\n\t\t},\n\t\tinfo: {\n\t\t\ttitle: 'POI Information',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tsettings: {\n\t\tspeedLimit: 'erlaubte Höchstgeschwindigkeit',\n\t\temails: {\n\t\t\t'poi-enter': 'POI eingeben',\n\t\t\t'poi-exit': 'Exit POI',\n\t\t\t'poi-stationary': 'Stationär in POI',\n\t\t\t'geofence-enter': 'Geofence eingeben',\n\t\t\t'geofence-exit': 'Exit geofence',\n\t\t\t'geofence-stationary': 'Stationär in geofence',\n\t\t\t'document-expiry': 'Dokument Ablauf',\n\t\t\t'speeding': 'Geschwindigkeit',\n\t\t\t'door-open-outside-poi': 'Tür offen draußen POI',\n\t\t\t'seal-broken': 'Siegel gebrochen',\n\t\t\t'fuel-level-drop-stationary': 'Kraftstoffstand sinken (Sensor)',\n\t\t\t'fuel-consumption-excessive': 'Übermäßiger Kraftstoffverbrauch',\n\t\t\t'taxi-coasting': 'Motor auf beim Bewegen',\n\t\t\t'maintenance-upcoming': 'Wartung steht an',\n\t\t\t'panic-button': 'Panikknopf-Alarm',\n\t\t\tinsertEmailsSeparatedByComma: 'E-mailen eingeben, mit Komma trennen',\n\t\t\tinsertPhonesSeparatedByComma: 'Telefonnummern eingeben mit Komma getrennt',\n\t\t\tnotifications: 'Benachrichtigungen',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Telefon',\n\t\t},\n\t\tcountries: {\n\t\tat: 'Österreich',\n\t\tbe: 'Belgien',\n\t\tbg: 'Bulgarien',\n\t\thr: 'Croatien',\n\t\tcy: 'Zypern',\n\t\tcz: 'Tschechien',\n\t\tdk: 'Dänmark',\n\t\tee: 'Estland',\n\t\tfl: 'Finnland',\n\t\tfr: 'Frankreich',\n\t\tde: 'Deutschland',\n\t\tgr: 'Griechenland',\n\t\thu: 'Ungarn',\n\t\tie: 'Irland',\n\t\tit: 'Italen',\n\t\tlv: 'Lettland',\n\t\tlt: 'Litauen',\n\t\tlu: 'Luxemburg',\n\t\tmt: 'Malta',\n\t\tnl: 'Niederlande',\n\t\tpl: 'Polen',\n\t\tpt: 'Portugal',\n\t\tro: 'Romänien',\n\t\tsk: 'Slowakei',\n\t\tsl: 'Slowenien',\n\t\tes: 'Spainen',\n\t\tse: 'Schweden',\n\t\tgb: 'Vereinigtes Königreich'\n\t\t}\n\t},\n\tintegrations: {\n\t\tenabled: 'Aktiviert',\n\t\tactiv: 'Aktiv',\n\t\tinactive: 'Inaktiv',\n\t\tserviceWillBe: 'Der Service wird sein',\n\t\tserviceIs: 'Der Service ist',\n\t\tafterSave: 'nachdem Sie es gespeichert haben.',\n\t\tenable: 'aktivieren',\n\t\tdisable: 'deaktivieren',\n\t\tsave: 'Speichern',\n\t\tclient: 'Kunde auswählen',\n\t}\n}\n","export default {\n\tat: 'An',\n\tfrom: 'Von',\n\tto: 'Zu',\n\tduration: 'Dauer',\n\n\tstart: 'Anfang',\n\tstop: 'Ende',\n\t// stopInProcess: 'Stationary in process',\n\tlastStationary: 'Letzemal stationär',\n\tstationary: 'stationär',\n\n\t//charts-container\n\tspeed: 'geschwindigkeit',\n\taltitude: 'Höhe',\n\tfuelCanLevel: 'CAN Tankfüllstand',\n\tfuelLevel: 'Tankfüllstand Sensor Ebene',\n\tacceleration: 'Beschleunigung',\n\trpm: 'RPM',\n\n\t//marker names\n\thall: 'Hall',\n\tgrayMarker: 'Gray Marker',\n\tblueMarker: 'Blue Marker',\n\tgreenMarker: 'Green Marker',\n\torangeMarker: 'Orange Marker',\n\tredMarker: 'Red Marker',\n\tyellowMarker: 'Yellow Marker',\n\tgreen1Marker: 'Light Green Marker',\n\tturquoiseMarker: 'Turquoise Marker',\n\tpurpleMarker: 'Purple Marker',\n\tpinkMarker: 'Pink Marker',\n\n\t//map index popup\n\tlastUpdate: 'Last update',\n\tengineState: 'Engine state',\n\tgpsPosition: 'GPS position',\n\tgpsSpeed: 'GPS speed',\n\tcanSpeed: 'CAN speed',\n\tcanAcceleration: 'CAN acceleration',\n\tcanRPM: 'CAN RPM',\n\tcanFuelAvailable: 'Available fuel level (CAN)',\n\tcanFuelUsed: 'Fuel used (CAN)',\n\tprobeFuelAvailable: 'Available fuel level (sensor)',\n\tdistance: 'Distance',\n\tdoors: 'Doors',\n\tagregation: 'Agregation unit',\n\ttemperature: 'Temperature',\n\topenMessageThread: 'Open messages'\n}\n","export default {\n\toperationWithSuccess: 'Betrib ist erfolgreich',\n\toperationMayTake5min: 'Die Bestätigungs dieser Betrieb kann bis 5 Minuten Dauern.',\n\tlanguageChangedWithSuccess: 'Sprache erfolgreich geändert',\n\tpriorityChangedWithSuccess: 'Priorität erfolgreich geändert',\n\toperationWithError: 'Operation Fehler',\n\tdeletedWithSuccess: 'Erfolgreich gelöscht.',\n\ttemperatureForPeriod: 'Temperatur für',\n\tnoRecords: 'Kein Aufzeichnungen gefunden.',\n\tgeneratingReportPleaseWait: 'Bericht erstellen report. Bitte warten.',\n\tinvalidIntervalMax3Days: 'Ungültiges intervall. Max Intervall ist 3 Tagen',\n\tgeneratingRoteDetailedReport: 'detaillierter Streckenbericht wird erstellt',\n\tgenerateDetailedReport: 'detaillierter Streckenbericht erstellen',\n\twillReceiveReportThroughtEmail: 'In einige Minuten erhalten Sie eine Email mit dem Report',\n\tdeleteFueling: 'Tankwerte Löschen',\n\tareYouSureToDeleteFueling: 'Tankwert wird erlöscht. Fortsetzen?',\n\tfluctuationFuel: 'Schwankung bestätigen',\n\tareYouSureToConfirmFluctuation: 'Schwankung wird bestätigt. Fortsetzen?',\n\troutingFailed: 'Routing fehlgeschlagen',\n\tfullFuel: 'Als voll markieren',\n\tfullFueled: 'als voll markiert',\n\tcannotDeleteVehicleWithDeviceAttached: 'You cannot delete a vehicle that has a device attached', // todo translate\n\tareYouSureToConfirmFullFuel: 'Dieser tanken will als voll markiert werden. Fortsetzen?',\n\tcoordsCopiedToClipboard: 'Koordinaten zu Zwischenablage kopiert',\n\troutesWithStationaryLowerThanSelectedWillBeMerged: 'Die Routen mit Zeit niedriger als der ausgewählter Zeitpunkt wird zusammengeführt',\n}\n","export default {\n\tcrossedBorderFrom: 'Grenzüberschreitung von',\n\tcrossedBorderTo: 'zu',\n\talerts: {\n\t\tvalidValues: 'Die Werte sind in normalen Parametern angegeben',\n\t\tfuel: {\n\t\t\tprocessing: 'Daten werden verarbeitet',\n\t\t\tfluctuation: 'Vom Benutzer bestätigte Kraftstoffschwankungen',\n\t\t\tdropStationary: 'Kraftstoffstand sinkt im Stillstand',\n\t\t\tdiffDetectedRefuelBiggerThan5: 'Die Differenz zwischen dem eingegebenen Kraftstoffstand und der erfassten Menge ist größer als 5l',\n\t\t},\n\t\tmaxSpeed: {\n\t\t\tred: 'Übergeschwindigkeitsbegrenzung von {{maxSpeed}}km/h beim {{dif}}km/h',\n\t\t},\n\t\tstationary: {\n\t\t\tgreen: 'Die stationäre Dauer bei eingeschaltetem Motor beträgt weniger als 5 Minuten',\n\t\t\tyellow: 'Die stationäre Dauer bei eingeschaltetem Motor liegt zwischen 5 und 15 Minuten',\n\t\t\tred: 'Die stationäre Dauer bei eingeschaltetem Motor beträgt mehr als 15 Minuten',\n\t\t},\n\t},\n\ttitle: {\n\t\tafterhours: 'Nach Geschäftsschluss',\n\t\talerts: 'Warnungen',\n\t\tconsumption: 'Verbrauch',\n\t\t'fleet-summary': 'Flottenzusammenfassung',\n\t\tfaz: 'Tägliches Aktivitätsblatt',\n\t\t'fuel-level': 'Tankfüllstand',\n\t\tnotifications: 'Benachrichtigungen',\n\t\tpoi: 'POI Activität',\n\t\t'poi-temperature': 'POI TK',\n\t\troute: 'Routen',\n\t\tstationary: 'Stopps',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperatur',\n\t\t'temperature-range': 'TK Stunde',\n\t\ttimesheet: 'Zeitplan',\n\t\tconstruction: 'Konstruktion'\n\t},\n\treports: 'Berichte',\n\tmenu: {\n\t\tafterhours: 'Nach Geschäftsschluss',\n\t\talerts: 'Warnungen',\n\t\tcosts: 'Kosten',\n\t\tcountries: 'Ländern',\n\t\tconsumption: 'Verbrauch',\n\t\t'driver-behaviour': 'Treiber Verhalten',\n\t\t'driver-routes': 'Driver routes', // TODO - translate\n\t\tengine: 'Motor',\n\t\t'fleet-summary': 'Flottenzusammenfassung',\n\t\tfaz: 'Tägliches Aktivitätsblatt',\n\t\t'fuel-level': 'Tankfüllstand',\n\t\t'km-day': 'KM Tag',\n\t\tnotifications: 'Notifikationen',\n\t\tpoi: 'POI Activität',\n\t\t'poi-temperature': 'POI TK',\n\t\troute: 'Routen',\n\t\tstationary: 'Stopps',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperatur',\n\t\t'temperature-range': 'TK Stunde',\n\t\ttimesheet: 'Zeitplan',\n\t\tconstruction: 'Konstruktion',\n\t\t'obu-tickets': 'OBU Tickets',\n\t\t'tacho-activity': 'Fahrtenschreiberaktivität',\n\t\t'tacho-files': 'Fahrtenschreiberdateien',\n\t\t'tacho-timesheet': 'Fahrtenschreiber Arbeitszeittabelle',\n\t\t23: 'Kraftstoffverbrauch'\n\t},\n\tdownloads: 'Herunterladen',\n\tsettings: {\n\t\tdensity: 'Dichte',\n\t\tspecific: {\n\t\t\t'tacho-files': {\n\t\t\t\tsummarize: 'Filter',\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryDuration: 'Stationäre Dauer',\n\t\t\t\tweeklyBreak: 'Weekly break', // TODO: translate\n\t\t\t\tdailyBreak: 'Daily break', // TODO: translate\n\t\t\t\tborderCrossing: 'Border crossing', // TODO: translate\n\t\t\t\tstoppingPurpose: 'Load / Unload', // TODO: translate\n\t\t\t\tweeklyBreakStart: 'Weekly break start', // TODO: translate\n\t\t\t\tweeklyBreakEnd: 'Weekly break end', // TODO: translate\n\t\t\t\tdailyBreakStart: 'Daily break start', // TODO: translate\n\t\t\t\tdailyBreakEnd: 'Daily break end', // TODO: translate\n\t\t\t\tloadStart: 'Load start', // TODO: translate\n\t\t\t\tloadEnd: 'Load end', // TODO: translate\n\t\t\t\tunloadStart : 'Unload start', // TODO: translate\n\t\t\t\tunloadEnd: 'Unload end', // TODO: translate\n\t\t\t\tduration: 'Dauer',\n\t\t\t\tschedule: 'Routen im Zeitplan',\n\t\t\t\tnoschedule: 'Routen 0-24',\n\t\t\t\tpriorityCAN: 'Abstand CAN',\n\t\t\t\tpriorityGPS: 'Abstand GPS',\n\t\t\t\tinfoCAN: 'CAN Info',\n\t\t\t\tinfoGPS: 'GPS Info',\n\t\t\t\tengineOnTimeCAN: 'CAN Motor pünktlich',\n\t\t\t\tengineOnTimeGPS: 'GPS Motor pünktlich',\n\t\t\t\tCAN: 'CAN',\n\t\t\t\tcng:{\n\t\t\t\t\tvolume: 'CNG - L',\n\t\t\t\t\tweight: 'CNG - Kg',\n\t\t\t\t\tpercent: 'CNG - %',\n\t\t\t\t},\n\t\t\t\tENGINE: 'Motor',\n\t\t\t\tpoi: 'POI',\n\t\t\t\taddress: 'Addresse'\n\t\t\t},\n\t\t\tshipping: {\n\t\t\t\tschedule: 'Verschiffung im Zeitplan',\n\t\t\t\tnoschedule: 'Verschiffung 0-24'\n\t\t\t}\n\t\t}\n\t},\n\tsubscribe: {\n\t\ttitle: 'Abonnieren',\n\t\tfields: {\n\t\t\tlabel: {\n\t\t\t\temail: 'Fügen Sie durch Komma getrennte E-Mail-Adressen ein.',\n\t\t\t\tfrequency: 'Wählen Sie die Benachrichtigungshäufigkeit:',\n\t\t\t\tweekDays: 'Wählen Sie den Berichtstag:'\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\temail: 'E-mail-Addressen-Liste:',\n\t\t\t\tfrequency: 'Frequenz auswählen:',\n\t\t\t\treport: 'Wählen Sie Bericht:',\n\t\t\t\tdayOfWeek: 'Wählen Sie den Wochentag:'\n\t\t\t}\n\t\t},\n\t\teveryDay: 'Einmal pro Tag',\n\t\teveryWeek: 'Einmal pro Woche',\n\t\teveryMonth: 'Einmal pro Monat',\n\t\tnotifyDate: 'Wählen Sie den Berichtstag:'\n\t},\n\theaderFields: { // todo: only the first leter of the header to be uppercase\n\t\ttachoSlot: 'Slot',\n\t\tday: 'Tag',\n\t\tutcTimezonePopup: 'This report uses UTC+0 timezone', // TODO: translate\n\t\tacc: 'Beschleunigungswert',\n\t\taccRedZone: 'Beschleunigung rote Zone',\n\t\taccYellowZone: 'Beschleunigung gelbe Zone',\n\t\tauxHeatingConsumption: 'Aux Heizverbrauch',\n\t\taverageSpeed: 'Durchschnittsgeschwindigkeit (km/h)',\n\t\tbreakRedZone: 'Bremse rote Zone',\n\t\tbreakYellowZone: 'Bremse gelbe Zone',\n\t\tcan: 'CAN',\n\t\tcanDistance: 'Distanz (CAN)',\n\t\tcanEngineOnFirstTime: 'Motorstartzeit (CAN)',\n\t\tcanEngineOnLastTime: 'Motorendzeit (CAN)',\n\t\tcanEngineOnDuration: 'Motor an, Dauer (CAN)',\n\t\tcanFuelConsumption: 'CAN Verbrauch',\n\t\tcanFuelConsumptionStationary: 'CAN Verbrauch Stationär',\n\t\tcanFuelConsumptionMoving: 'CAN Verbrauch Bewegung',\n\t\tcanFuelConsumptionDistance: 'Verbrauch / 100 (CAN)',\n\t\tcanFuelLevel: 'Tankfüllstand CAN',\n\t\tcanOdometer: 'End Odometer',\n\t\tcurrency: 'Currency',\n\t\todometer: 'Odometer',\n\t\todometerComposed: 'End Odometer',\n\t\tconsume: 'Verbrauch',\n\t\tcost: 'Kost (EUR)',\n\t\tcostPopup: 'Berechnet mit %@ / Stunde',\n\t\tconsumptionComposed: 'Verbrauch',\n\t\tconsumptionComposedInfo: 'In dieser Spalte zeigen wir den Gesamtverbrauch während der Fahrt und im Stand an',\n\t\tcountry: 'Land',\n\t\tcreatedAt: 'Hergestellt  bei',\n\t\tcupolaState: 'Verfügbarkeit',\n\t\tdate: 'Datum',\n\t\tdesacc: 'Verzögerungswert',\n\t\tdistance: 'Distanz (km)',\n\t\tdistanceComposed: 'Distanz (km)',\n\t\tdriver: 'Treiber',\n\t\tduration: 'Dauer',\n\t\tdurationMoving: 'Dauer bei Bewegung',\n\t\tdurationStationary: 'Dauer Stationär',\n\t\tdurationStationaryEngineOn: 'Dauer stationär (Motor An)',\n\t\tdurationWorking: 'Dauer Arbeiten',\n\t\tendLocation: 'Endstandort',\n\t\tendTime: 'Endzeit',\n\t\tengineState: 'Motor Zustand',\n\t\tengineFirstTime: 'Motor Startzeit',\n\t\tengineLastTime: 'Motor Endzeit',\n\t\tengineOnFirstTime: 'Motor Startzeit',\n\t\tengineOnLastTime: 'Motor Endzeit',\n\t\tengineOnTime: 'Motor Pünktlich',\n\t\tengineLoadTime: 'Motor Ladezeit',\n\t\tentryLocation: 'Motor Ort',\n\t\tentryTime: 'Eintrittszeit',\n\t\texitLocation: 'Exit Ort',\n\t\texitTime: 'Exit Zeit',\n\t\tfreezer: 'Kühleinheit',\n\t\tfreezerOnDuration: 'Keulereinheit Laufzeit',\n\t\tfuelConsumption: 'Berechneter Verbrauch',\n\t\tfuelConsumptionStationary: 'Berechneter Verbrauch Stationär',\n\t\tfuelConsumptionMoving: 'Berechneter Verbrauch bewegung',\n\t\tfuelConsumptionDistanceComposed: 'Verbrauch / 100km',\n\t\tfuelConsumptionMovingInfo: 'Dieser Wert berücksichtigt nur den Verbrauch während der Fahrt. \\nEs ist normal, dass der Wert vom Verbrauch im Tagesaktivitätsblatt abweicht, in dem auch der Verbrauch im Stand berücksichtigt ist.',\n\t\tfuelConsumptionPer100KMInfo: 'Bei diesem Wert handelt es sich um den Gesamtverbrauch während der Fahrt pro 100 km. \\nDer Verbrauch im Stand ist nicht eingerechnet.',\n\t\tfuelConsumptionDurationComposed: 'Verbrauch / h',\n\t\tfuelConsumptionPerHourInfo: 'Dieser Wert ist der Gesamtverbrauch im Stand pro Stundenzahl, die der Motor im Stand läuft. \\nDer Verbrauch während der Fahrt ist nicht enthalten.',\n\t\tfuelConsumptionDistance: 'Verbrauch / 100km',\n\t\tfuelConsumptionNormlized: 'Verbrauch normalisiert',\n\t\tfuelConsumptionAccounting: 'Verbrauch Buchhaltung',\n\t\tfuelConsumptionFullToFull: 'Verbrauch voll bis voll',\n\t\tfuelConsumptionFullToFullCan: 'Verbrauch voll bis voll (CAN)',\n\t\tfuelConsumptionFullToFullSensor: 'Verbrauch voll bis voll (Sensor)',\n\t\tfuelConsumptionTotal: 'Verbrauch insgesamt',\n\t\tfuelEvent: 'Typ',\n\t\tfuelLevel: 'Tankfüllstand',\n\t\tfuelLevelComposed: 'Tankfüllstand',\n\t\tfuelLevelDiff: 'Quantität',\n\t\tfuelLevelDiffManual: 'Quantität eingeben',\n\t\tfuelLevelDiffLiters: 'Quantität',\n\t\tfuelSensor: 'Treibstofftank',\n\t\tgps: 'GPS',\n\t\tgeneratedAt: 'Generiert bei',\n\t\tgpsDistance: 'Distanz (GPS)',\n\t\tgpsEngineOnDuration: 'Motor an Dauer (GPS)',\n\t\tgroupedWith: 'Grouped with',\n\t\tidlingTime: 'Stationär mit Motor an',\n\t\tinvoiceNumber: 'Rechnungsnummer',\n\t\tignitionOnTime: 'Zündung pünktlich',\n\t\tlicensePlate: 'Nummernschild',\n\t\tlocation: 'Addresse',\n\t\tmap: 'Karte',\n\t\tmaxSpeed: 'Höchstgeschwindigkeit (km/h)',\n\t\tpersistent: 'Hartnäckig',\n\t\tpoiCount: 'POI\\'s Anzahl',\n\t\tpoiStationaryDoorsOpenedDuration: 'Stationär im POI mit öffnen Türen',\n\t\tpoiStationaryDuration: 'Stationär im POI Dauer',\n\t\tprice: 'Kosten',\n\t\tpriceEur: 'Kosten (EUR)',\n\t\tprintDetails: 'Einzelheiten',\n\t\trefuelValue: 'Tankwert',\n\t\troadSection: 'Straßenabschnitt',\n\t\trouteType: 'Routentyp',\n\t\tsealEnd: 'Enddichtung',\n\t\tsealStart: 'Anfangdichtung',\n\t\tsensorFuelConsumption: 'Kraftstoffsensorverbrauch',\n\t\tsensorFuelConsumptionStationary: 'Kraftstoffsensorverbrauch Stationär',\n\t\tsensorFuelConsumptionMoving: 'Kraftstoffsensorverbrauch in Bewegung',\n\t\tsensorFuelLevel: 'Kraftstoffstandsensor',\n\t\tspeed: 'Geschwindigkeitsbewertung',\n\t\tspeedingAvg: 'Übergeschwindigkeit Durchsnit (km/h)',\n\t\tspeedingMax: 'Übergeschwindigkeit Maximum (km/h)',\n\t\tspeedingTime: 'Übergeschwindigkeit Zeit',\n\t\tstartLocation: 'Standorte starten',\n\t\tstartTime: 'Startzeit',\n\t\tstationaries: 'Stopps mit Motor an',\n\t\tstatus: 'Status',\n\t\ttemperatureRange1: 'Unten 4°C',\n\t\ttemperatureRange2: 'zwischen -4°C and 0°C',\n\t\ttemperatureRange3: 'zwischen 0°C and 4°C',\n\t\ttemperatureRange4: 'Über 4°C',\n\t\ttotalFuelConsumption: 'Insgesamt berechnet',\n\t\ttransitNumber: 'Transite',\n\t\ttimesheet: 'Zeitplan',\n\t\tupdatedAt: 'Aktualisiert am',\n\t\tvirage: 'Turn score',\n\t\tvolumeCan: 'Volumen CAN',\n\t\tvolumeTank: 'Volumen tank',\n\t\tadblueLevelComposed: 'Adblue-Füllstand',\n\t\ttotals: {\n\t\t\tcan: 'Gesamt CAN',\n\t\t\tcanStationary: 'Gesamt CAN Stationär',\n\t\t\tcanMoving: 'Gesamt CAN im Bewegung',\n\t\t\tcomputed: 'Gesamt Berechnet',\n\t\t\tcomputedStationary: 'Gesamt Berechnet Stationär',\n\t\t\tcomputedMoving: 'Gesamt Berechnet im Bewegung',\n\t\t\tcost: 'Gesamt Kosten',\n\t\t\tdistance: 'Gesamt Distanz',\n\t\t\tdurationMoving: 'Gesamt Duration im Bewegung',\n\t\t\tdurationStationary: 'Gesamt Duration Stationär',\n\t\t\tgps: 'Gesamt GPS',\n\t\t\tsensor: 'Gesamt Sensor',\n\t\t\tsensorStationary: 'Gesamt Sensor Stationär',\n\t\t\tsensorMoving: 'Gesamt Sensor im Bewegung',\n\t\t},\n\t\tspecific: {\n\t\t\tafterhours: {\n\t\t\t\tduration: 'Dauer (Stunde)'\n\t\t\t},\n\t\t\tconsumption:{\n\t\t\t\tpopups:{\n\t\t\t\t\tnormlizedDistanceConsumption: 'Sie haben {{distance}} km gefahren, mit einen Verbrauch von {{fuel}} {{fuelUnit}}',\n\t\t\t\t\tnormlizedDistanceConsumptionPerDistance: 'Sie haben {{distance}} km gefahren, mit einen Verbrauch von  {{fuel}} {{fuelUnit}}/100km',\n\t\t\t\t\tnormlizedDistanceUncalculated : 'Sie haben {{distance}} km mit einem nicht berechneten Verbrauch gefahren',\n\t\t\t\t}\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryTypeBefore: 'Stationary type before departure', // TODO: translate\n\t\t\t\tstationaryTypeAfter: 'Stationary type after arrival', // TODO: translate\n\t\t\t\tfuelConsumption: 'Berechnet Verbrauch',\n\t\t\t\tpurpose: 'Zweck',\n\t\t\t\tselectPurpose: 'Wählen'\n\t\t\t},\n\t\t\t'driver-routes': { // TODO translate all\n\t\t\t\tcardInserted: 'Inserted card in slot {{number}}',\n\t\t\t\tcardRemoved: 'Removed card from slot {{number}}',\n\t\t\t\ttotalConsumptionNotCalculatedBecauseDiffFuelsType: 'Due to the different fuel types used by these vehicles, it is not possible to calculate the sum.',\n\t\t\t},\n\t\t\tstation: {\n\t\t\t\tstartTime: 'Startzeit',\n\t\t\t\tendTime: 'Endzeit',\n\t\t\t\tduration: 'Dauer'\n\t\t\t},\n\t\t\tstationary: {\n\t\t\t\tstartTime: 'Startzeit',\n\t\t\t\tendTime: 'Endzeit',\n\t\t\t\tduration: 'Dauer',\n\t\t\t\tstartTimePlanned: 'Startzeit (planned)',\n\t\t\t\tendTimePlanned: 'Endzeit (planned)',\n\t\t\t\tdurationPlanned: 'Dauer (planned)',\n\t\t\t},\n\t\t\ttaxi: {\n\t\t\t\tduration: 'Dauer',\n\t\t\t\tdistanceAvailable: 'KM Verfügbar',\n\t\t\t\tdistanceOccupied: 'KM Beschäftigt',\n\t\t\t\tdurationAvailable: 'Dauer Verfügbar',\n\t\t\t\tdurationOccupied: 'Dauer Beschäftigt',\n\t\t\t\tdurationOff: 'Dauer Auf',\n\t\t\t},\n\t\t\tpoi: {\n\t\t\t\tgeofences: 'POI',\n\t\t\t\twindow: 'Intervall',\n\t\t\t},\n\t\t\ttachoActivity: {\n\t\t\t\tactivity: 'Aktivität',\n\t\t\t\tduration: 'Dauer',\n\t\t\t\tcycleWeek: 'Woche',\n\t\t\t\tcycleDay: 'Tag'\n\t\t\t},\n\t\t\ttachoFiles: {\n\t\t\t\tvehicles: 'Vehicle files',\n\t\t\t\tdrivers: 'Driver files',\n\t\t\t\tfilename: 'File',\n\t\t\t\tdownloadedAt: 'Heruntergeladen den',\n\t\t\t},\n\t\t\ttachoTimesheet: {\n\t\t\t\tstartTime: 'Startzeit',\n\t\t\t\tendTime: 'Endzeit',\n\t\t\t\tdrivingDuration: 'Fahren',\n\t\t\t\tothersDuration: 'Andere Aktivitäten',\n\t\t\t\tavailabilityDuration: 'Verfügbarkeit',\n\t\t\t\tactivityDuration: 'Gesamtarbeit',\n\t\t\t\trestDuration: 'Ruhe',\n\t\t\t\tnightDuration: 'Nachtarbeit',\n\t\t\t},\n\t\t\t23: {\n\t\t\t\tdistancePaid: 'Distanz (km, bezahlt)',\n\t\t\t\tdistanceLoss: 'Distanz (km, Verlust)',\n\t\t\t\tfuelConsumptionDistanceAdjusted: ' Echter Kraftstoffverbrauch / 100km',\n\t\t\t\tfuelDifference: 'Liter Unterschied (Echt / Berechnet)',\n\t\t\t},\n\t\t\tfaz: {\n\t\t\t\tduration: 'Bewegungsdauer'\n\t\t\t}\n\t\t},\n\t},\n\tfuelLevel: {\n\t\teventType: {\n\t\t\tprocessing: 'wird bearbeitet',\n\t\t\trefuel: 'Tanken',\n\t\t\tconsumption: 'Verbrauch'\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Importieren Tanken',\n\t\t\tbuttonText: 'Importieren Tanken',\n\t\t\timported: '{{value}} Kraftstoffe wurden importiert',\n\t\t\tnotImported: '{{value}} Kraftstoffe könnten nicht importiert werden',\n\t\t\tallImported: 'Alle Kraftstoffe wurden importiert ({{value}})',\n\t\t},\n\t\tuploadFile: 'Datai Hochladen'\n\t},\n\tpoi: {\n\t\thit: 'Besucht',\n\t\tmiss: 'Verspätet',\n\t\tunplanned: 'Nicht geplanned',\n\t\t'no-visit': 'Nicht besucht',\n\t\timportPlan: {\n\t\t\ttitle: 'Planifikationen importieren ',\n\t\t\tbuttonText: 'Planifikationen importieren ',\n\t\t\timported: '{{value}} Planifikationen wird importiert',\n\t\t\tnotImported: '{{value}} Planifikationen könnte nicht importiert werden',\n\t\t\tallImported: 'Alle Planifikationen wurden importiert',\n\t\t},\n\t},\n\t23: {\n\t\tdistanceThreshold: 'Der Kraftstoffverbrauch wird nur für Entfernungen von mehr als 10 km berechnet'\n\t},\n\ttable: {\n\t\texpand: 'Erweitern Tabelle',\n\t\tcollapse: 'Zusammenbruch Tabelle'\n\t},\n\ttemperature: {\n\t\ttemperatureTable: 'Temperatur Tabelle'\n\t}\n}\n","export default {\n\tsettings: 'Einstellungen',\n\tmenu: {\n\t\tnotifications: 'Benachrichtigungen',\n\t\tspeedLimit: 'Geschwindigkeitsbegrenzung',\n\t\tcosts: 'Kosten',\n\t\torders: 'Aufträge',\n\t\tdriverBehaviour: 'Fahrerverhalten',\n\t\tdataStorage: 'Datenspeicher',\n\t\tdispatch: 'Dispatch'\n\t},\n\tnotifications: {\n\t\temails: {\n\t\t\tinsertEmailsSeparatedByComma: 'Mehrer Email Adressen eingeben, mit Komma getrennt',\n\t\t\tinsertPhonesSeparatedByComma: 'Telefonnummer eingeben, mit Komma getrennt',\n\t\t\tnotifications: 'Benachrichtigungen',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Handy',\n\t\t}\n\t},\n\tspeedLimit: {\n\t\tvehicles: {\n\t\t\tmax: 'Standardalarmschwelle',\n\t\t\tmaxTooltip: 'Warnungen wird ausgeschicht fall den Grenzbereich übertroffen ist, unabhängig von der Straßengrenze (ie 90 km/h für LKWs)',\n\t\t\tmin: 'Alarmschwelle',\n\t\t\tminTooltip: 'Geschwindigkeitswarnungen werden nicht gesendet, wenn dieser Schwellenwert nicht überschritten werden',\n\t\t\toffset: 'Alarmschwelle',\n\t\t\toffsetTooltip: '10 km/h zu Geschwindigkeitswarnungen bei \\n50 + 10 km/h im Stadtgebiete, \\n90 + 10 km/h aus Landstraße, \\n130 + 10 km/h aus den Autobahn',\n\t\t\terrorMessage: 'Überprüfen Sie die rot markierten Felder',\n\t\t\ttype: {\n\t\t\t\tutility: 'Nützlichkeit',\n\t\t\t\tcar: 'PKW',\n\t\t\t\tminibus: 'Kleinbus',\n\t\t\t\tbus: 'Bus',\n\t\t\t\ttruck: 'LKW',\n\t\t\t\ttractor: 'Traktor',\n\t\t\t\tharvester: 'Mähdrescher',\n\t\t\t\tconstruction: 'Konstruktion',\n\t\t\t\ttrailer: 'Anhänger',\n\t\t\t\t'Sattelauflieger': 'Sattelauflieger'\n\t\t\t}\n\t\t}\n\t},\n\tcosts: {\n\t\ttitle: 'Kosten',\n\t\tdescription: 'Kosten/Stunde eingeben',\n\t\tinsertNumber: 'Kosten eingeben'\n\t},\n\tcountries: {\n\t\tat: 'Österreich',\n\t\tbe: 'Belgien',\n\t\tbg: 'Bulgarien',\n\t\thr: 'Croatien',\n\t\tcy: 'Zypern',\n\t\tcz: 'Tschechien',\n\t\tdk: 'Dänmark',\n\t\tee: 'Estland',\n\t\tfl: 'Finnland',\n\t\tfr: 'Frankreich',\n\t\tde: 'Deutschland',\n\t\tgr: 'Griechenland',\n\t\thu: 'Ungarn',\n\t\tie: 'Irland',\n\t\tit: 'Italen',\n\t\tlv: 'Lettland',\n\t\tlt: 'Litauen',\n\t\tlu: 'Luxemburg',\n\t\tmt: 'Malta',\n\t\tnl: 'Niederlande',\n\t\tpl: 'Polen',\n\t\tpt: 'Portugal',\n\t\tro: 'Romänien',\n\t\tsk: 'Slowakei',\n\t\tsl: 'Slowenien',\n\t\tes: 'Spainen',\n\t\tse: 'Schweden',\n\t\tgb: 'Vereinigtes Königreich',\n\t\ttransitCost: 'Transit Cost € / h', // TODO\n\t\tcabotageCost: 'Cabotage Cost € / h', // TODO\n\t\tgeneral: 'General' // TODO\n\t},\n\tdriverBehaviour: {\n\t\trpm: {\n\t\t\ttitle: 'RPM',\n\t\t\tstationary: 'RPM Stationär',\n\t\t\tmoving: 'RPM Bewegung',\n\t\t\try: 'RPM Rot-Gelb (%)',\n\t\t\tyg: 'RPM Gelb-Grün (%)',\n\t\t\tgy: 'RPM Grün-Gelb (%)',\n\t\t\tyr: 'RPM Gelb-Rot (%)',\n\t\t\try_allowed: 'Zulässig in Rot-Gelb',\n\t\t\tyg_allowed: 'Zulässig in Gelb-Grün',\n\t\t\tgy_allowed: 'Zulässig in Grün-Gelb',\n\t\t\tyr_allowed: 'Zulässig in Gelb-Rot'\n\t\t},\n\t\tidlingTime: {\n\t\t\ttitle: 'Leerlaufzeit',\n\t\t\ttotal: 'Gesamt Leerlaufzeit',\n\t\t\tavg: 'Durchschnit Leerlaufzeit',\n\t\t\tavgTime: {\n\t\t\t\tminLabel: 'Durchschnit Leerlaufzeit (min)',\n\t\t\t\tsecLabel: 'Durchschnit Leerlaufzeit (sek)',\n\t\t\t\tminTooltip: 'min',\n\t\t\t\tsecTooltip: 'sek'\n\t\t\t},\n\t\t\tgyr: 'Leerlaufzeit Grün-Gelb-Rot',\n\t\t\tgyrTime: {\n\t\t\t\tgyLabel: 'Grün-Gelb',\n\t\t\t\tgyToolTip: 'Grün-Gelb Leerlaufzeit (%)',\n\t\t\t\tyrLabel: 'Gelb-Rot',\n\t\t\t\tyrToolTip: 'Gelb-Rot Leerlaufzeit (%)'\n\t\t\t}\n\t\t},\n\t\tharshAcc: {\n\t\t\ttitle: 'Hart Beschleunigung',\n\t\t\tgy: 'Grün-Gelb',\n\t\t\tyr: 'Gelb-Rot',\n\t\t\tgy_allowed: 'Grün-Gelb Erlaubt',\n\t\t\tyr_allowed: 'Gelb-Rot Erlaubt',\n\t\t\tgyTooltip: 'Grün-Rot',\n\t\t\tyrTooltip: 'Zwischen Grün-Gelb (%)',\n\t\t\tgy_allowedTooltip: 'Grün-Gelb Erlaubt (%)',\n\t\t\tyr_allowedTooltip: 'Gelb-Rot Erlaubt (%)'\n\t\t},\n\t\tharshDcc: {\n\t\t\ttitle: 'Hart Verlangsamung',\n\t\t\tgy: 'Grün-Yellow',\n\t\t\tyr: 'Yellow-Rot',\n\t\t\tgy_allowed: 'Grün-Gelb Erlaubt',\n\t\t\tyr_allowed: 'Gelb-Rot Erlaubt',\n\t\t\tgyTooltip: 'Grün-Rot',\n\t\t\tyrTooltip: 'Zwischen Grün-Gelb (%)',\n\t\t\tgy_allowedTooltip: 'Grün-Gelb Erlaubt (%)',\n\t\t\tyr_allowedTooltip: 'Gelb-Rot Erlaubt (%)'\n\t\t},\n\t\tspeeding: {\n\t\t\ttitle: 'Geschwindigkeitsüberschreitung',\n\t\t\tevtCount: 'Ereignisanzahl',\n\t\t\tavg: 'Durchsnittlich Geschwindigkeitsüberschreitung',\n\t\t\tmoving: 'bewegung',\n\t\t\tevtCountTooltip: 'Ereignisanzahl / 100 km',\n\t\t\tavgTooltip: 'Durchsnittlich Geschwindigkeitsüberschreitung Wert km/h',\n\t\t\tmovingTooltip: '(%) von bewegung im km'\n\t\t},\n\t\tfuelConsumption: {\n\t\t\ttitle: 'Kraftstoffverbrauch',\n\t\t\ttooltip: ''\n\t\t},\n\t\try: 'Rot-Gelb',\n\t\tyg: 'Gelb-Grün',\n\t\tgy: 'Grün-Gelb',\n\t\tyr: 'Gelb-Rot',\n\t\tred: 'Rot',\n\t\tyellow: 'Gelb',\n\t\tgreen: 'Grün',\n\t\tselectCarType: 'Auto Typ auswählen',\n\t\tcarType: {\n\t\t\t\ttype: {\n\t\t\t\tutility: 'Nützlichkeit',\n\t\t\t\tcar: 'PKW',\n\t\t\t\tminibus: 'Kleinbus',\n\t\t\t\tbus: 'Bus',\n\t\t\t\ttruck: 'LKW',\n\t\t\t\ttractor: 'Traktor',\n\t\t\t\tharvester: 'Mähdrescher',\n\t\t\t\tconstruction: 'Konstruktion',\n\t\t\t\ttrailer: 'Anhänger',\n\t\t\t\t'Sattelauflieger': 'Sattelauflieger'\n\t\t\t},\n\t\t\tselectVehicle: 'Bitte fahrzeug auswählen',\n\t\t\tselectVehicleCopy: 'Bitte wählen Sie ein Fahrzeug zum Kopieren aus'\n\t\t},\n\t\torders: {\n\t\t\tsources: {\n\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\tsamsung: 'Samsung',\n\t\t\t\tbibtrack: 'Bibtrack',\n\t\t\t\tshippeo: 'Shippeo',\n\t\t\t\tcustom: 'Custom'\n\t\t\t},\n\t\t},\n\t},\n}\n","export default {\n\tmessages: 'Mitteilungen',\n\tnewMessageThread: 'Konversation erstellen',\n\tcancel: 'aufheben',\n\tsearchThreads: 'Suche...',\n\tdetails: 'Einzelheiten',\n\tthreadName: 'Thema',\n\tpriority: 'Priorität',\n\tlowPriority: 'Normal',\n\tmediumPriority: 'Medium',\n\thighPriority: 'Hoch',\n\tselectPriority: 'priorität auswählen',\n\tsearchUser: 'Nutzern Suchen...',\n\tselectGroup: 'Division auswählen',\n\tallGroups: 'Alle Divisionen',\n\tphone: 'Handy',\n\temail: 'Email',\n\tadd: 'Hinzufügen',\n\tremove: 'Entfernen',\n\tcreateMessageThread: 'Konversation erstellen',\n\tupdateMessageThread: 'Konversation aktualisieren',\n\tdeleteMessageThread: 'Möchten Sie dieser Konversation Entfernen?',\n\tdeleteConfirmButton: 'Bestätigen',\n\tdeleteCancelButton: 'Stornieren',\n\tmessageInputPlaceholder: 'Nachricht eingeben...',\n\tunreadMessages: ' ungelesen Nachricht',\n\tnoMessages: 'In diesem Gespräch befinden sich derzeit keine Nachrichten.',\n\taddUser: 'Nutzer hinzufügen',\n\tok: 'Ok',\n\tparticipants: 'Teilnehmer',\n\tdocument: 'Dokument',\n\tseenBy: 'Gesehen von: '\n}\n","import Alerts from './alerts'\nimport Dispatch from './dispatch'\nimport Driving from './driving'\nimport Errors from './errors'\nimport Etransport from './etransport'\nimport Management from './management'\nimport Markers from './markers'\nimport Messages from './messages'\nimport Reports from './reports'\nimport Settings from './settings'\nimport Threads from './threads'\nimport TMS from './tms'\n\nexport default {\n\ttms: TMS,\n\tdispatch: Dispatch,\n\tdriving: Driving,\n\tmanagement: Management,\n\tetransport: Etransport,\n\tmarkers: Markers,\n\tmessages: Messages,\n\treports: Reports,\n\tsettings: Settings,\n\tthreads: Threads,\n\talerts: {\n\t\ttypes: {\n\t\t\t'fuel-level-drop-stationary': 'Kraftstoffstand sinkt stationär (Sensor)',\n\t\t\t'fuel-consumption-excessive': 'Übermäßiger Kraftstoffverbrauch',\n\t\t\t'panic-button': 'Panikknopf-Alarm'\n\t\t},\n\t\ttachoRestInfo: 'Wenn sich der Fahrer im Zyklus 1-5 befindet, senden wir nach 11 Stunden und 15 Minuten regelmäßiger täglicher Ruhezeit eine Warnung/Benachrichtigung.\\nWenn sich der Fahrer im Zyklus 6-7 befindet, senden wir nach 46 Stunden regelmäßiger wöchentlicher Ruhezeit eine Warnung/Benachrichtigung.',\n\t\tmessages: Alerts\n\t},\n\terrors: {\n\t\tsavingVehicle: 'Fehler beim Speichern des Fahrzeugs',\n\t\tsavingUser: 'Fehler beim Speichern des Benutzer',\n\t\trelay: 'Fehlerblockierung/Entsperren Zündung',\n\t\tuserExist: 'Benutzer existiert bereits', // err 409\n\t\temailUsed: 'E-Mail bereits verwendet', // err 410\n\t\t'5010': 'Es sind nur einfache Polygone zulässig.',\n\t\t'5020': 'Die Aufteilung ist bereits geteilt.',\n\t\tmessages: Errors,\n\t\taccountDisabled: 'Es tut uns leid. Ihr Firmenkonto wurde deaktiviert.',\n\t\tmaintenance_1: 'Die Seite ist vorübergehend nicht verfügbar',\n\t\tmaintenance_2: 'Wir werden es so schnell wie möglich wieder haben. Wir entschuldigen uns für Ihre Unannehmlichkeiten.<br/>Vielen Dank für Ihre Geduld.',\n\t\toops: '<br/><p>Es ist ein Fehler aufgetreten und wir konnten Ihre Anfrage nicht beantworten.</p><p>Bitte kontaktieren Sie unser Support-Team.</p>',\n\t},\n\tgenerate: \"Generate\", // todo translate\n\texpandSelected : 'Expand selected', // todo translate\n\tcollapseSelected : 'Collapse selected', // todo translate\n\ttotalKmSelected : 'Total KM selected', // todo translate\n\tselectCustomer: 'Kunden auswählen',\n\tadblueLevel: \"AdBlue-Füllstand\",\n\tselectGroup: 'Group auswählen',\n\tselectStatus: 'Status auswählen',\n\tselectColor: 'Farbe auswählen',\n\tdisplayName: 'Name Anzeige',\n\tshowVehicles: 'Fahrzeuge anzeigen',\n\thideVehicles: 'Fahrzeuge verstecken',\n\trequired: 'Erforderlich',\n\tpages: 'Zeiten',\n\tname: 'Name',\n\trole: 'Rolle',\n\troles: 'Rollen',\n\talways: 'Immer',\n\tnever: 'Noch nie',\n\thideGeofences: 'Geofences ausblenden',\n\tsettingsGeofences: 'Geofences Einstellungen',\n\torderNumber: 'Bestellnummer',\n\tsimple: 'Einfach',\n\tmanual: 'Handbuch',\n\tdynamic: 'Dynamisch',\n\tmedium: 'Mittel',\n\tbig: 'Groß',\n\tclient: 'Kunden',\n\tcompany: 'Unternehmen',\n\tengineLoad: 'Motorlast %',\n\tengineLoadShort: 'EL',\n\tnoModuleEmailSms: 'Sie haben das E-Mail- oder SMS-Modul nicht aktiviert',\n\tapplyTo: 'Gelten',\n\tsameVehicleType: 'Gleicher Fahrzeugtyp',\n\tallVehiclesFromGroup: 'All vehicles from group',\n\tvehicleNotFound: 'Fahrzeug nicht gefunden',\n\tuserNotFound: 'Benutzer wurde nicht gefunden',\n\ton: 'an',\n\toff: 'auf',\n\tprovider: 'Anbieter/in',\n\tallAnothers: 'Alles andere',\n\ttotals: 'Summen',\n\tentry: 'Eintrag',\n\texit: 'Ausgang',\n\tshowExternalID: 'Extern ID anzeigen',\n\tshowFluctuations: 'Bestätigte Schwankungen anzeigen',\n\thideFluctuations: 'Bestätigte Schwankungen ausblenden',\n\tpagination: {\n\t\tfirst: 'Erste Seite',\n\t\tlast: 'Lezte Seite',\n\t\tnext: 'Nächste Seite',\n\t\tprevious: 'Vorherige Seite',\n\t\tof: 'von',\n\t\tresultsPerPage: 'Ergebnisse pro Seite',\n\t\tgoToPage: 'Zur Seite gehen',\n\t\tpageOfTotal: 'Seite {{page}} von {{total}}',\n\t},\n\ttotal: 'Gesamt',\n\thistoric: 'Geschichte',\n\tnow: 'Jetzt',\n\tchangeDate: 'Datum ändern',\n\tcountry: 'Land',\n\tstationaryDurationTotal: 'Dauer (Total)',\n\tstationaryDurationEngineOn: 'Dauer (Motor an)',\n\tstationaryDurationEngineOff: 'Dauer (Motor aus)',\n\tdurationEngineOn: 'Dauer Motor an',\n\tdurationFormat: 'DD[d] HH[h] mm[m] ss[s]',\n\tdurationFormatDDHHmm: 'DD[d] HH[h] mm[m]',\n\tdurationFormatHHmm: 'HH[h] mm[m]',\n\tdurationFormatCharDay: 'd',\n\tdurationFormatCharHour: 'h',\n\temail: 'E-mail',\n\tgranularity: 'Granularität',\n\ttotalDistance: 'Gesamtstrecke',\n\ttotalFuelConsumptionMoving: 'Gesamtkraftstoffverbrauch (im bewegung)',\n\taverageFuelConsumptionMoving: 'Durchschnittlicher Kraftstoffverbrauch (im bewegung)',\n\ttotalDurationStationary: 'Gesamtdauer (while stationary)',\n\ttotalDurationStationaryEngineOn: 'Gesamtdauer (im Stillstand bei eingeschaltetem Motor)',\n\taverageFuelConsumptionStationary: 'Durchschnittlicher Kraftstoffverbrauch (im Stillstand)',\n\tmin3kmDistanceForFuelConsumptionCalculation: 'Der Kraftstoffverbrauch wird nur berechnet, wenn die Entfernung mindestens 3 km beträgt',\n\tmin5kmDistanceForFuelConsumptionCalculation: 'Der Kraftstoffverbrauch wird nur berechnet, wenn die Entfernung mindestens 5 km beträgt',\n\tconsumptionCannotBeComputed: 'Kraftstoffverbrauch kann nicht berechnet werden, überprüfen Sie die Fahrzeugeinstellungen',\n\tfuelSource: {\n\t\tsensor: 'Probe',\n\t\tcan: 'CAN',\n\t\tcomputed: 'Berechnet',\n\t},\n\tshowGraphic: 'Grafik anzeigen',\n\tclusterMarkers: 'Cluster-Marker',\n\tactiveSince: 'Aktiv seit',\n\tpleaseWait: 'Bitte warten',\n\tprocessingFileData: 'Datei verarbeiten',\n\texpand: 'Erweitern',\n\tloading: {\n\t\ttext: 'Laden'\n\t},\n\tacl: 'Zugangskontrolle',\n\talertsAndNotifications: 'Warnungen und Benachrichtigungen',\n\tlimit: 'Grenze',\n\topenDoorsStatus: 'Türstatus',\n\tdoorsStatus: {\n\t\topen: 'Offene Türen',\n\t\tclosed: 'Geschlossene Türen',\n\t},\n\tclosed: 'Geschlossene',\n\topen: 'Offene',\n\tdoors: {\n\t\tdoorFrontLeft: 'Vordere linke Tür',\n\t\tdoorFrontRight: 'Vordere rechte Tür',\n\t\tdoorBackLeft: 'Hintere linke Tür',\n\t\tdoorBackRight: 'Hintere rechte Tür',\n\t\tdoorTrunk: 'Hintertür',\n\t\topen: 'Offen',\n\t\tclosed: 'Geschlossen',\n\t},\n\topenDoor: {\n\t\t'front-left': 'Vordere linke Tür ist offen', // todo remove after added on map\n\t\t'front-right': 'Vordere rechte Tür ist offen', // todo remove after added on map\n\t\t'back-left': 'Hintere linke Tür ist offen', // todo remove after added on map\n\t\t'back-right': 'Hintere rechte Tür ist offen', // todo remove after added on map\n\t\t'trunk': 'Hintertür ist offen', // todo remove after added on map\n\t\t'door-front-left': 'Vordere linke Tür ist offen',\n\t\t'door-front-right': 'Vordere rechte Tür ist offen',\n\t\t'door-back-left': 'Hintere linke Tür ist offen',\n\t\t'door-back-right': 'Hintere rechte Tür ist offen',\n\t\t'door-trunk': 'Hintertür ist offen',\n\t\t'allClosed': 'Alle Türen sind geschlossen',\n\t\t'na': 'Kein Sensors',\n\t\tgeneric: 'Offene Tür'\n\t},\n\tfreezerStatus: 'Status der Kühlereinheit',\n\tfreezer: {\n\t\ton: 'Kühlereinheit ist an',\n\t\toff: 'Kühlereinheit ist aus',\n\t\tna: 'Kein Kühlereinheit',\n\t\tgeneric: 'Kühlereinheit',\n\t},\n\tvehicle: {\n\t\tengineOn: 'Motor an',\n\t\tengineOff: 'Motor aus',\n\t\tunreachable: 'Kein Signal',\n\t},\n\tvehiclesStatus: 'Fahrzeugstatus',\n\tvehicleStatus: {\n\t\tengineOn: 'Bewegen',\n\t\tengineOff: 'Gestoppt',\n\t\tunreachable: 'Kein Signal',\n\t\tunreachableSince: 'Kein Signal seit {{status}}',\n\t\tnoLocation: 'Kein Gerät zugeordnet',\n\t\tgeneric: 'Fahrzeugstatus',\n\t},\n\ttaxiState: 'Verfügbarkeit',\n\ttaxiStates: {\n\t\tavailable: 'Verfügbar',\n\t\toccupied: 'Beschäftigt',\n\t\toff: 'Aus',\n\t\tna: 'kein Verfügbarkeit',\n\t},\n\tauxAC: {\n\t\tlabel: \"Auxiliary AC\", // TODO translate\n\t\tauxCooling: \"Zusatzkühlung\",\n\t\tauxHeating: \"Behelfsheizung\",\n\t\tvalues: {\n\t\t\ton: \"An\",\n\t\t\toff: \"Auf\",\n\t\t}\n\t},\n\tlandingPage: 'Landing page',\n\tlicensePlate: 'Nummernschild',\n\tlicensePlates: 'Nummernschild',\n\tprevious: 'Bisherige',\n\tnext: 'Nächster',\n\tnoResults: 'Keine Ergebnisse',\n\tfromDate: 'Ab Datum',\n\tuntil: 'Bis',\n\tstops: 'Stopps',\n\ttemperatureIntervals: 'Jeder',\n\tinterval: 'Intervall',\n\trouteReport: 'Routen',\n\tanotherValue: 'Anderer Wert',\n\tliters: 'Liter',\n\tconsume: 'Verbrauch',\n\tconsumption: 'Verbrauch',\n\tspeedPerHour: 'Geschwindigkeit (km/h)',\n\tspeed: 'Geschwindigkeit',\n\tspeedLimit: 'Erlaubte Höchstgeschwindigkeit',\n\taltitude: 'Höhe',\n\taltitudeMeters: 'Höhe (m)',\n\tfuelLevelLitres: 'Tankfüllstand (l)',\n\tfuelCanLevelLitres: 'Tankfüllstand CAN (l)',\n\trefuel: 'Tanken',\n\taverageSpeed: 'Durchschnittsgeschwindigkeit',\n\tmaxSpeed: 'Maximale Geschwindigkeit',\n\tdistance: 'Distanz',\n\tfuelLevelForPeriod: 'Tankfüllstand für den Zeitraum',\n\tcanFuelLevel: 'CAN Tankfüllstand',\n\tfuelLevel: 'Tankfüllstand',\n\tfuelCanLevel: 'CAN Tankfüllstand',\n\tfuelConsumption: 'Verbrauch',\n\tcalculateRoute: 'Route berechnen',\n\tdetails: 'Einzelheiten',\n\tnoDetails: 'Keine Details',\n\tevent_enter: 'Event eingeben',\n\tevent_exit: 'Ausgang Event',\n\tevent_stationary: 'Stopp Event',\n\talert_in: 'Alarm eingeben',\n\talert_out: 'Ausgang Alarm',\n\talert_transit: 'Transitalarm',\n\tback: 'Zurück',\n\tminValue: 'Mindestwert',\n\tmaxValue: 'Höchster Wert',\n\taverageValue: 'Durchschnittswert',\n\tm_settings: {\n\t\tmarkers: 'Marker Settings',\n\t\tmap: 'Karte Settings',\n\t\t_: 'Settings'\n\t},\n\tstatusFeed: 'Flottenstatus',\n\toneVehicle: 'Fahrzeuge',\n\tvehicles: 'Fahrzeuge',\n\tvehicless: 'Fahrzeuge(s)',\n\tgeofences: 'Geofences',\n\tpois: 'POIs',\n\tusers: 'benutzer',\n\tdefault: 'Standard',\n\tdivisions: 'Abteilungen',\n\tduration: 'Dauer',\n\taccount: 'Konto',\n\tpoi: 'POI',\n\tpoiMultiple: 'POI multiple', // TODO: translate\n\ttimetables: 'Zeitplan',\n\tintegrations: 'Integrationen',\n\tshare: 'Teilen',\n\tshared: 'Geteilt',\n\tdayHours: 'Stunde',\n\ttheMinutes: 'Minuten',\n\tmonthDays: 'Tagen',\n\ttheWeekDays: 'Tagen',\n\tday: 'Tag',\n\tweek: 'Woche',\n\tmonth: 'Monat',\n\tevery: 'Jede',\n\tmap: 'Karte',\n\ttype: 'Typ',\n\tsearch: 'Suche',\n\tALL: 'ALLE',\n\tok: 'OK',\n\tadd: 'HINZUFÜGEN',\n\tsave: 'SPEICHERN',\n\tsaveSuccess: 'Daten gespeichert.',\n\tedit: 'BEARBEITEN',\n\tinvite: 'EINLADEN',\n\treactivate: 'REAKTIVIEREN',\n\tcancel: 'STORNIEREN',\n\tsend: 'SENDEN',\n\ttimezone: 'Zeitzone',\n\tdelete: 'LÖSCHEN',\n\taddFueling: 'Tanken hinzufügen',\n\taclGroup: 'Grouppe',\n\taclGroups: 'Grouppen',\n\taclVehicle: 'Fahrzeug',\n\taclVehicles: 'Fahrzeugn',\n\tallVehicles: 'Alle Fahrzeugn',\n\tselected: 'ausgewählt',\n\tsubscribe: 'Abonnieren',\n\tacceleration: 'Beschleunigung',\n\trpm: 'RPM',\n\ttemperature: 'Temperatur',\n\tcelsiusTemperature: 'Temperatur (Â°C)',\n\tsensors: 'Sensors',\n\tsensor: {\n\t\t'temperature': 'Temperatur',\n\t\t'temperature-1': 'Sensor 1',\n\t\t'temperature-2': 'Sensor 2',\n\t\t'temperature-3': 'Sensor 3',\n\t\t'temperature-4': 'Sensor 4',\n\t\t'temperature-5': 'Sensor 5',\n\t\t'temperature-6': 'Sensor 6',\n\t\t'temperature-7': 'Sensor 7',\n\t\t'temperature-8': 'Sensor 8',\n\t},\n\taccelerationG: 'Beschleunigung',\n\talert: 'Warnung',\n\tnotification: 'Benachrichtigung',\n\tdate: 'Datum',\n\thour: 'Stunde',\n\trecurrent: 'Wiederkehrend',\n\trecurrentEachWeekDay: 'Wiederkehrend Jeder {{day}}',\n\tdisabled: 'Behindert',\n\tdriver: 'Fahrer',\n\tdrivers: 'Fahrern',\n\tdriverss: 'Fahrer(n)',\n\tnoDriver: 'Ohne Fahrer',\n\tallDrivers: 'Alle fahrer',\n\tunselectAllDrivers: 'Auswahl abbrechen',\n\tselectAllDrivers: 'Alle wählen',\n\tselectedDrivers: 'ausgewählte Fahrer',\n\tselectFile: 'Datei aussuchen',\n\tselectVehicles: 'Fahrzeugen Wählen',\n\tselectVehicle: 'Fahrzeug Wählen',\n\tselectFilters: 'Filter Wählen',\n\tselectedFilters: 'Filter ausgewählt',\n\tlocations: 'Orten',\n\tunknownLocation: 'Unbekannter Ort',\n\tunknown: 'Unbekannter',\n\tvirtualWorkTime: 'Virtuelle Arbeitszeit',\n\tvirtualOdometer: 'Virtuelle Odometer',\n\tcanOdometer: 'CAN Odometer',\n\todometer: 'Odometer',\n\tinsertEmailAddress: 'E-mail addresse eingeben',\n\tengineState: 'Motor Zustand',\n\trouteType: {\n\t\tstationary: 'Stationär',\n\t\tmoving: 'Bewegen',\n\t},\n\ttime: {\n\t\tperiod: 'Zeitraum',\n\t\ttoday: 'Heute',\n\t\tcurrentWeek: 'Diese Woche',\n\t\tcurrentMonth: 'Diese Monat',\n\t\tyesterday: 'Gestern',\n\t\tlastWeek: 'Lezte Woche',\n\t\tlastMonth: 'Lezte Monat'\n\t},\n\tweekDays: {\n\t\tsunday: 'Sonntag',\n\t\tmonday: 'Montag',\n\t\ttuesday: 'Dienstag',\n\t\twednesday: 'Mitwoch',\n\t\tthursday: 'Donnerstag',\n\t\tfriday: 'Freitag',\n\t\tsaturday: 'Samstag'\n\t},\n\tshortDays: {\n\t\tsunday: 'Son',\n\t\tmonday: 'Mon',\n\t\ttuesday: 'Die',\n\t\twednesday: 'Mit',\n\t\tthursday: 'Don',\n\t\tfriday: 'Fre',\n\t\tsaturday: 'Sam'\n\t},\n\tmonths: {\n\t\tjanuary: 'Januar',\n\t\tfebruary: 'Februar',\n\t\tmarch: 'März',\n\t\tapril: 'April',\n\t\tmay: 'Mai',\n\t\tjune: 'Juni',\n\t\tjuly: 'Juli',\n\t\taugust: 'August',\n\t\tseptember: 'September',\n\t\toctober: 'Oktober',\n\t\tnovember: 'November',\n\t\tdecember: 'Dezember'\n\t},\n\tshortMonths: {\n\t\tjanuary: 'Jan',\n\t\tfebruary: 'Feb',\n\t\tmarch: 'Mär',\n\t\tapril: 'Apr',\n\t\tmay: 'Mai',\n\t\tjune: 'Jun',\n\t\tjuly: 'Jul',\n\t\taugust: 'Aug',\n\t\tseptember: 'Sep',\n\t\toctober: 'Okt',\n\t\tnovember: 'Nov',\n\t\tdecember: 'Dez'\n\t},\n\tmenu: 'Menü',\n\texportSvg: 'Export SVG',\n\texportPng: 'Export PNG',\n\texportCsv: 'Download CSV', // TODO: translate\n\tselection: 'Selection',\n\tselectionZoom: 'Selection Zoom',\n\tzoomIn: 'Hineinzoomen',\n\tzoomOut: 'Rauszoomen',\n\tpan: 'Schwenken',\n\treset: 'Zoom Zurücksetzen',\n\tdashboard: {\n\t\theatmap: {\n\t\t\ttitle: {\n\t\t\t\tdistance: 'Aktivität in den letzten 24 Stunden',\n\t\t\t\twork: 'Arbeit in den letzten 24 Stunden',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tdistance: 'Distanz',\n\t\t\t\twork: 'Arbeit',\n\t\t\t},\n\t\t\tunits: {\n\t\t\t\tkm: 'km',\n\t\t\t\tmin: 'min',\n\t\t\t},\n\t\t\tshowMore: 'Zeig mehr',\n\t\t\tshowLess: 'Zeig weniger',\n\t\t},\n\t\tdailyKm: 'Gesamtkilometer in den letzten 24 Stunden',\n\t\tdailyConsumption: 'Verbrauch in den letzten 24 Stunden',\n\t\tmonthlyKm: 'Km im laufenden Monat',\n\t\tmonthlyConsumption: 'Gesamtverbrauch im laufenden Monat',\n\t\tcars: 'Autos',\n\t\talerts: 'Warnungen',\n\t\tnotifications: 'Benachrichtigungen',\n\t\tshowAlerts: 'Warnungen anzeigen',\n\t\tshowNotifications: 'Benachrichtigungen anzeigen',\n\t\tshowAllVehicles: 'Alle Fahrzeuge anzeigen',\n\t\tstoped: 'Gestoppt',\n\t\tmoving: 'Bewegend',\n\t\tcontact: 'Haben Sie einen Vorschlag oder eine Beschwerde?',\n\t\tcontactLink: 'Kontaktiere uns',\n\t\tcontactTitle: 'Kontakt',\n\t\tcontactSendBtn: 'Schicken',\n\t\tcontactMsgHint: 'Nachricht hinzufügen',\n\t\terrorOnSendingMessage: 'Beim Senden Ihrer Nachricht ist ein Fehler aufgetreten.',\n\t\tplaseTryAgainLater: 'Bitte versuchen Sie es später noch einmal',\n\t\temptyMessage: 'Ohne Nachricht',\n\t\tpleaseInputMessage: 'Bitte gib deine Nachricht ein',\n\t\tnoAlertData: 'Keine Warnungen',\n\t\tnoNotificationData: 'Keine Benachrichtigungen',\n\t\tcomingSoon: 'Kommt bald',\n\t\tnoData: 'Keine Daten',\n\t\tshowDriver: 'Fahrername',\n\t\tshowLicensePlate: 'Nummernschild',\n\t\tliveStatus: {\n\t\t\tcupola: 'Verfügbarkeit',\n\t\t\tcupolaState: {\n\t\t\t\tengineOn: 'Verfügbar',\n\t\t\t\tengineOff: 'Bussy',\n\t\t\t\tnone: 'Aus',\n\t\t\t\tna: 'Nicht Verfügbar',\n\t\t\t},\n\t\t\tvehicle: 'Fahrzeug',\n\t\t\taddress: 'Addresse / POI',\n\t\t\tlastPOI: 'Lezte POI',\n\t\t\tnextPlannedPOI: 'Weiter geplant POI',\n\t\t\tavailability: 'Verfügbarkeit',\n\t\t\tstatus: 'Status',\n\t\t\tspeed: 'Geschwindigkeit',\n\t\t\tfuelLevel: 'Tankfüllstand',\n\t\t\ttemperature: 'Anhäufung',\n\t\t\tdoors: 'Türen',\n\t\t\tseal: 'Dichtung',\n\t\t\tdeactivateSealModal: {\n\t\t\t\theader: 'Deaktivieren Dichtung',\n\t\t\t\tcontent: 'Möchten Sie die Dichtung {{sealNumber}} deaktivieren?',\n\t\t\t}\n\t\t},\n\t\ttacho: {\n\t\t\tvehicle: 'Fahrzeug',\n\t\t\tdriver: 'Fahrer',\n\t\t\tactivity: 'Activität',\n\t\t\ttime: 'Dauer',\n\t\t\tdistance: 'Abstand',\n\t\t\tweek: 'Woche',\n\t\t\tday: 'Tag',\n\t\t\tdriveTimeLeft: 'Fahrzeit übrig (ausruhen)',\n\t\t\tdriveTimeLeftDay: 'Fahrzeit übrig (Tag)',\n\t\t\tdriveTimeLeftWeek: 'Fahrzeit übrig (Woche)',\n\t\t\tdriveTimeNextWeek: 'Fahrzeit übrig (nächste Woche)',\n\t\t\tdrivingCycle: 'Driving Cycle',\n\t\t\tdrivingDaily: 'Daily Driving',\n\t\t\tdrivingWeekly: 'Weekly Driving',\n\t\t\tamplitudeDaily: 'Daily Amplitude',\n\t\t\ttotalRecovery: 'Total Recovery',\n\t\t},\n\t\tlogout: 'Ausloggen'\n\t},\n\tdocument: {\n\t\ttype: {\n\t\t\tvehicle: {\n\t\t\t\tRCA: 'CTP',\n\t\t\t\tCASCO: 'Selbstversicherung',\n\t\t\t\tRovinieta: 'Straßenbenutzungsgebühr',\n\t\t\t\tITADR: 'Transportzertifikat',\n\t\t\t\tAltele: 'Andere',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tpermis_conducere: 'Führerschein',\n\t\t\t\tatestat: 'Professionelles Zertifikat ',\n\t\t\t\taviz_medical: 'Ärztliches Attest',\n\t\t\t\tAltele: 'Andere',\n\t\t\t},\n\t\t},\n\t},\n\tpurposes: {\n\t\tnoPurpose: 'Keinen Zweck',\n\t\tcustomers: 'Reisen zu Kunden',\n\t\tsuppliers: 'Reisen zu Lieferanten',\n\t\tprospectingMarket: 'Reisen zum Erkunden des Marktes',\n\t\tservice: 'Reisen zum Service',\n\t\twork: 'Reisen zur Arbeit',\n\t\ttraining: 'Reisen zum Training',\n\t\tcustoms: 'Reisen zum Zoll',\n\t\tbank: 'Reisen zur Bank',\n\t\ttaxAuthorities: 'Reisen zu den Steuerbehörden',\n\t\tpersonalInterest: 'Reisen im persönlichen Interesse',\n\t},\n\troutes: 'Routen',\n\troutesEta: 'Routen-ETA',\n\ttacho: {\n\t\tstatus: 'Fahrtenschreiber',\n\t\tactivity: 'Activität',\n\t\tweek: 'Woche',\n\t\tday: 'Tag',\n\t\tdriver: {\n\t\t\t1: 'Fahre 1',\n\t\t\t2: 'Fahre 2',\n\t\t},\n\t\tactivities: {\n\t\t\t'-1': 'Unbekannt',\n\t\t\t0: 'Ruhe',\n\t\t\t1: 'Verfügbar',\n\t\t\t2: 'Arbeit',\n\t\t\t3: 'Fahren',\n\t\t\t4: 'Fehler',\n\t\t\t5: 'N/A',\n\t\t},\n\t\tactivities2: {\n\t\t\tavailable: 'Verfügbar',\n\t\t\tdriving: 'Fahren',\n\t\t\tworking: 'Arbeiten',\n\t\t\tbreak: 'Kurze Pause',\n\t\t\trest: 'Ausruhen',\n\t\t\tunknown: 'Unbekannt',\n\t\t}\n\t},\n\tobu: {\n\t\tbalance: 'Balance',\n\t\tsection: 'Straßenabschnitt',\n\t\tstatuses: {\n\t\t\t0: 'Normal',\n\t\t\t1: 'Niedrig',\n\t\t\t2: 'Leer',\n\t\t}\n\t},\n\tvehicleList: {\n\t\ttacho: {\n\t\t\tdriveTimeLeft: 'Fahrzeit übrig (Ruhe)',\n\t\t\tdriveTimeLeftDay: 'Fahrzeit übrig (Tag)',\n\t\t\tdriveTimeLeftWeek: 'Fahrzeit übrig (Woche)',\n\t\t\tdriveTimeNextWeek: 'Fahrzeit übrig (nächste Woche)',\n\t\t}\n\t},\n\tsignup: {\n\t\tinvitation: {\n\t\t\texpired: 'Die Einladung ist abgelaufen. Bitte wenden Sie sich an den Administrator.'\n\t\t}\n\t},\n\tmaintenance: {\n\t\trules: 'Wartungsregeln',\n\t\tlist: 'Wartungen'\n\t},\n}\n","export default {\n\t'document-expiry': '{{type}} for {{driver}} {{vehicle}} will expire on {{until}}',\n\t'document-expired': '{{type}} for {{driver}} {{vehicle}} expired on {{until}}',\n\n\t'poi-enter': '{{licensePlate}} entered POI {{geofenceName}}',\n\t'poi-exit': '{{licensePlate}} left POI {{geofenceName}}',\n\t'poi-stationary': '{{licensePlate}} stopped in POI {{geofenceName}}',\n\n\t'geofence-enter': '{{licensePlate}} entered geofence {{geofenceName}}',\n\t'geofence-exit': '{{licensePlate}} left geofence {{geofenceName}}',\n\t'geofence-stationary': '{{licensePlate}} stopped in geofence {{geofenceName}}',\n\n\t'door-open-outside-poi': 'Door open outside POI for {{licensePlate}}',\n\t'seal-broken': 'Seal {{sealNumber}} broken for {{licensePlate}}',\n\t'speeding': '{{licensePlate}} is overspeeding by {{diff}}km/h',\n\t'fuel-level-drop-stationary': 'Fuel level drop on stationary (Sensor) for {{licensePlate}}',\n\t'fuel-level-drop-stationary-confirmed': 'The {{amount}} L drop for {{licensePlate}} was confirmed',\n\t'fuel-level-drop-stationary-fluctuation': 'The drop for {{licensePlate}} was a fluctuation. We are sorry',\n\t'fuel-consumption-excessive': 'Excessive fuel consumption for {{licensePlate}}',\n\t'taxi-coasting': 'Engine off on moving for {{licensePlate}}',\n\t'maintenance-upcoming': '{{type}} upcoming for {{licensePlate}} at {{limit}} {{unit}} / {{deadline}}',\n\t'aux-cooling-while-moving': 'Stationary cooling turned on while vehicle {{licensePlate}} is moving',\n\t'aux-heating-while-moving': 'Auxiliary heating turned on while vehicle {{licensePlate}} is moving',\n\t\"low-battery\": \"{{licensePlate}}'s battery charge dropped under the {{threshold}}V threshold, it is currently at {{voltage}}V\",\n\t\"fast-battery-discharge\": \"{{licensePlate}}'s battery charge current drop rate ({{dropRatePerHour}}mV/h) is higher than the set value ({{allowedDropRatePerHour}}mV/h)\",\n\t\"border-crossing\": \"{{licensePlate}} crossed border from {{from}} to {{to}}\",\n\t\"confirmed-refuel\": \"{{licensePlate}} refueled {{amount}}L ({{source}})\",\n\t\"temp-poi-enter\": \"{{licensePlate}} entered temporary POI\",\n\t\"engine-off\": \"{{licensePlate}}'s engine has been turned off\",\n\t\"tacho-break\": \"{{licensePlate}}'s driver started a tachograph break\",\n\t\"uit-sync\": \"{{created}} new UIT were imported, {{updated}} existing UIT were modified, failed to import {{failed}} UIT\",\n\t\"tacho-rest\": \"Driver {{driverName}} of car {{licensePlate}} is on cycle {{daysCycle}} and is on rest for {{hoursRest}}\",\n\t\"panic-button\": \"Panic alarm on vehicle {{licensePlate}} in the following location <a href='https://www.google.com/maps?q={{coordinates}}' target='_blank'>[{{coordinates}}]</a>\"\n}\n","export default {\n\tdispatch: 'Dispatch',\n\tloadAddress: 'Load address',\n\tunloadAddress: 'Unload address',\n\tenterQuery: 'Enter a query',\n\ttypeToSearch: 'Type to search',\n\tbudget: 'Budget',\n\tstatName: 'Stat name',\n\tprofitability: 'Profitability',\n\totherStat: 'Other stat',\n\tmenu: {\n\t\tindex: 'Dispatch',\n\t\tmap: 'Map',\n\t\torders: 'Orders',\n\t\tclients: 'Clients',\n\t\tvehicleGroups: 'Vehicle groups',\n\t\troutes: {\n\t\t\tindex: 'Routes',\n\t\t\tadd: 'Add route'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Route',\n\t\tdistance: 'Distance (km)',\n\t\tname: 'Name',\n\t\tvehicles: 'Vehicles',\n\t\tvehicle: 'Vehicle',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Width (in meters, eg. 2.4)',\n\t\t\theight: 'Height (in meters, eg. 4.2',\n\t\t\tlength: 'Length (in meters, eg. 7)',\n\t\t\tweight: 'Weight (in tonnes, eg. 5)',\n\t\t},\n\t\tduration: 'Duration',\n\t\twaypoints: {\n\t\t\ttitle: 'Points',\n\t\t\ttype: 'Type',\n\t\t\ttypes: {\n\t\t\t\tload: 'Load',\n\t\t\t\tunload: 'Unload',\n\t\t\t\tstop: 'Stop'\n\t\t\t},\n\t\t\tlocation: 'Location',\n\t\t\tduration: 'Duration (minutes)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Hazardous materials',\n\t\t\tstrict: 'Strict routing',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Explosive',\n\t\t\t\tgas: 'Gas',\n\t\t\t\tflammable: 'Flammable',\n\t\t\t\tcombustible: 'Combustible',\n\t\t\t\torganic: 'Organic',\n\t\t\t\tpoison: 'Poison',\n\t\t\t\tradioActive: 'Radioactive',\n\t\t\t\tcorrosive: 'Corrosive',\n\t\t\t\tpoisonousInhalation: 'Poisonous upon inhalation',\n\t\t\t\tharmfulToWater: 'Harmful to water',\n\t\t\t\tother: 'Other',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Generate route',\n\t\t\toptimize: 'Optimize route',\n\t\t\tnext: 'Next',\n\t\t\tsave: 'Save',\n\t\t\tadd: 'Add',\n\t\t\tsearch: 'Find route...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Generating route...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Optimized route',\n\t\t\tuse: 'Use optimized route',\n\t\t\tmessage: 'The route can be optimized',\n\t\t\tdiff: 'The optimized route is shorter by <b>{{distance}}</b> and faster by <b>{{time}}</b>.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Schedules'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Details'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Name',\n\t\t\tdistance: 'Distance',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Drive',\n\t\t\t\trest: 'Rest',\n\t\t\t\ttotal: 'Duration',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Primary',\n\t\t\t\tcheapest: 'Cheapest',\n\t\t\t\tfastest: 'Fastest',\n\t\t\t\tshortest: 'Shortest',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Stash',\n\t\t\t\tsave: 'Save',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Transport type',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Freezer',\n\t\t\t\t\tsecure: 'Secure',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Cost',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / tarifar',\n\t\t\tcost: 'Cost',\n\t\t\tcostDetailed: 'Driver cost: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€',\n\t\t\tprofitability: 'Profitability',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Low',\n\t\t\t\tmedium: 'Medium',\n\t\t\t\thigh: 'High',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimize',\n\t\t\tloading: 'Loading...',\n\t\t\tcostDetailed: 'Driver cost: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€\\nTax: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\texternalID: \"External ID\",\n\t\t\tclient: 'Client',\n\t\t\tvehicleGroup: 'Vehicle group',\n\t\t\tstatus: 'Status',\n\t\t\tstatusDate: 'Status date',\n\t\t\tstartLocation: 'Start location',\n\t\t\tendLocation: 'End location',\n\t\t\tdate: 'Date',\n\t\t\tattachments: 'Attachments',\n\t\t\tupdatedAt: 'Last update',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add order',\n\t\t\t\tname: 'Name',\n\t\t\t\tstatus: 'Status',\n\t\t\t\tsource: 'Source',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'External ID',\n\t\t\t\tvehicleGroup: 'Vehicle group',\n\t\t\t\tclient: 'Client',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Address',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Loading',\n\t\t\t\t\t\tunloading: 'Unloading',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Upload attachment',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Add client',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add client',\n\t\t\t\tname: 'Name',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\ttractorUnit: 'Tractor unit',\n\t\t\tsemitrailer: 'Semitrailer',\n\t\t\tdriver: 'Driver',\n\t\t\tcodriver: 'Co-driver',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Add vehicle group',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add vehicle group',\n\t\t\t\tname: 'Name',\n\t\t\t\ttractorUnit: 'Tractor unit',\n\t\t\t\tsemitrailer: 'Semitrailer',\n\t\t\t\tdriver: 'Driver',\n\t\t\t\tcodriver: 'Co-driver',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Tractor unit',\n\t\t\tsemitrailers: 'Semitrailer',\n\t\t\tvehicleGroups: 'Vehicle groups',\n\t\t},\n\t},\n}\n","export default {\n\tdriverBehaviour: 'Driver Behaviour',\n\tmenu: {\n\t\tfcz: 'FCZ',\n\t\tperformance: 'Performance',\n\t\t'engine-load-rpm': 'Engine load / RPM',\n\t},\n\ttotals: {\n\t\trevRecommended: 'Total recommended rev',\n\t\trevMarginal: 'Total marginal rev',\n\t\trevForbidden: 'Total forbidden rev',\n\t\trevOver: 'Total over-rev',\n\t\trevOverLoaded: 'Total over-loaded',\n\t\trevUnder: 'Total under-rev',\n\t},\n\tsettings: {\n\t\tspecific: {\n\t\t\troute: {\n\t\t\t\tpriorityCAN: 'CAN Distance',\n\t\t\t\tpriorityGPS: 'GPS Distance'\n\t\t\t}\n\t\t}\n\t},\n\theaderFields: {\n\t\tdriver: 'Driver',\n\t\tvehicle: 'Vehicle',\n\t\tdate: 'Date',\n\t\tscore: 'Score',\n\t\tdistanceTotal: 'Distance (km)',\n\t\tfuelConsumptionTotal: 'Consumption',\n\t\taverageAxleLoad: 'Total Load',\n\t\taverageSpeed: 'Average speed',\n\t\tbreakingDistance: 'Brakes / 100km',\n\t\tharshBreakingDistance: 'Harsh brakes / 100km',\n\t\tharshAccelerationDistance: 'Harsh acceleration / 100km',\n\t\tfuelConsumptionMovingDistance: 'Moving consuption / 100km',\n\t\tfuelConsumptionIdle: 'Idle consumption',\n\t\tfuelConsumptionTotalDistance: 'Total consumption / 100km',\n\t\tdurationIdle: 'Iddle time',\n\t\tpercentCruiseControl: 'Cruise Control (%)',\n\t\tpercentInertia: 'Retarder (%)',\n\t\tpercentMoving: 'Driving (%)',\n\t\tpercentIdle: 'Idle (%)',\n\n\t\t// performance\n\t\taccBrake100kmAvg: 'Average acceleration/braking per 100 km',\n\t\taccBrakeTimeAvg: 'Average time from acceleration to braking',\n\t\tangle: 'Angle',\n\t\tauxHeating: 'Auxiliary heating',\n\t\taxleLoadAvg: 'Average axle load',\n\t\tascendPercentage: 'Percentage of ascent',\n\t\tbrakingCount100kmAvg: 'Average number of brakes per 100 km',\n\t\tcompanyScore: 'Company score',\n\t\tcompanyScoreAccBr: 'Company score acceleration/braking',\n\t\tcompanyScoreAccBrTime: 'Company score acceleration/braking time',\n\t\tcompanyScoreBrk: 'Company score braking',\n\t\tcompanyScoreDeltaAcc: 'Company score acceleration variation',\n\t\tcompanyScoreCruise: 'Company score cruise control',\n\t\tcompanyScoreInertia: 'Company score inertia driving',\n\t\tcompanyScoreRetarder: 'Company score retarder',\n\t\tdeltaAccKmAvg: 'Average acceleration variation per kilometer',\n\t\tdescendPercentage: 'Percentage of descent',\n\t\tdifficultyScore: 'Route difficulty score',\n\t\tdistanceCruiseControlKmAvg: 'Average distance with cruise control per kilometer',\n\t\tdistanceInertiaKmAvg: 'Average distance with inertia per kilometer',\n\t\tdurationMoving: 'Duration of movement',\n\t\toverSpeedKm: 'Average distance over speed limit per kilometer',\n\t\tpanicBraking: 'Emergency braking',\n\t\tretarderOnKmAvg: 'Average distance with retarder per kilometer',\n\t\tscoreAccBr: 'Acceleration/braking score',\n\t\tscoreAccBrTime: 'Acceleration/braking time score',\n\t\tscoreBrk: 'Braking score',\n\t\tscoreDeltaAcc: 'Acceleration variation score',\n\t\tscoreCruise: 'Cruise control score',\n\t\tscoreInertia: 'Inertia score',\n\t\tscoreRetarder: 'Retarder score',\n\t\tstationEngineOn: 'Stationary engine on',\n\t\tstops: 'Stops',\n\t\tavgScore: 'Weighted cumulative score (start to present)',\n\n\t\taccRedZone: 'Acceleration Red Zone',\n\t\taccYellowZone: 'Acceleration Yellow Zone',\n\t\tdccRedZone: 'Deacceleration Red Zone',\n\t\tdccYellowZone: 'Deacceleration Yellow Zone',\n\t\tcornerHandling: 'Corner handling',\n\t\tcrashes: 'Crashes',\n\t\tdistance: 'Distance',\n\t\tfuelConsumptionDistance: 'Consumption / 100 km',\n\t\tstartTime: 'Start Time',\n\t\tendTime: 'End Time',\n\t\tharshAccAvg: 'Harsh Acceleration average',\n\t\tharshAccWarning: 'Harsh Acceleration warning',\n\t\tharshAccWarningAvg: 'Harsh Acceleration warning average',\n\t\tharshAccWarningCount: 'Harsh Acceleration warning count',\n\t\tharshDccAvg: 'Harsh Decceleration average',\n\t\tharshDccWarning: 'Harsh Decceleration warning',\n\t\tharshDccWarningCount: 'Harsh Decceleration warning count',\n\t\tcanDistance: 'CAN Distance',\n\t\tcanEngineHighRpmDuration: 'High RPM duration',\n\t\tcanEngineHighRpmWarningDuration: 'High RPM warning duration',\n\t\tcanEngineHighRpmWarningDurationOnStationary: 'High RPM warning duration on stationary',\n\t\tcanEngineLowRpmDurationOnStationary: 'Low RPM duration on stationary',\n\t\tcanEngineOnDurationCount: 'Can engine on duration count',\n\t\tcanEngineOnDurationStationary: 'Can engine on duration stationary',\n\t\tcanEngineOnDurationWarningCount: 'Can engine on duration warning count',\n\t\tcanFuelConsumption: 'CAN Consumption / 100 km',\n\t\tengineOnDurationStationary: 'Engine On Duration Stationary',\n\t\tgpsScore: 'GPS Score',\n\t\tcanScore: 'CAN Score',\n\t\tmobileyeFwdColWarn: 'Fwd Col Warn',\n\t\tmobileyeHeadwayWarn: 'Headway Warning',\n\t\tmobileyeLaneDepartLeftWarn: 'LaneDepartLeftWarn',\n\t\tmobileyeLaneDepartRightWarn: 'LaneDepartRightWarn',\n\t\tmobileyePedDangerWarn: 'PedDangerWarn',\n\t\tmobileyePedFwdColWarn: 'PedFwdColWarn',\n\t\tmobileyeScore: 'MOBILEYE Score',\n\t\ttotalScore: 'Total Score',\n\t\tspeedingAvg: 'Overspeeding average',\n\t\tspeedingCount: 'Overspeeding count',\n\t\tspeedingDistance: 'Speeding distance',\n\t\tuserName: 'User name',\n\t},\n\tselectDriver: 'Please select a driver'\n}\n","export default {\n\temptyName: 'Name is required.',\n\tmissingCoordinates: 'Missing coordinates.',\n\tfuelCapacityNotSetted: 'Fuel Capacity is not setted. If you want to see the exact fuel value, set it !',\n\tinvalidAlertStationaryTimeRange: 'Invalid stationary time. Insert a number between 5 and 60.',\n\tinvalidAlertStationaryTimeMultiple: 'Invalid stationary time. Insert a number that is a multiple of 5.',\n\tinsufficientPolygonPoints: 'Insufficient points (minimum 3)',\n\terrorsExists: 'There are errors',\n\tplaseTryAgainLater: 'Please try again later',\n\tcheckFileAndTryAgain: 'Check file and try again',\n\tnumberWithoutComma: 'Use \".\" as decimal separator.',\n\terrorsExistsCheckData: 'Errors found. Please check data.',\n\tvalidation: {\n\t\tpoi: {\n\t\t\tinvalidPoiShape: 'A \"point\" shape can only have one pair of coordinates and the minimum allowed boundary is 50 meters.',\n\t\t\tpoiRequiresPoint: 'A record of \"poi\" type can only be given \"point\" as shape.',\n\t\t\tpoiOrGeofenceExpected: 'Expected POI of type \"poi\" or \"geofence\".',\n\t\t\tinvalidPolygon: 'For \"polygon\" shapes the property \"coordinates\" is expected as an array of floats with a an even length of at least 8 values.',\n\t\t\tboundaryTooSmall: 'POI boundary must be a number higher than 50.',\n\t\t\tgeneral: 'Invalid shape',\n\t\t\tinvalidCoordinates: '\"coordinates\" must be an array.'\n\t\t},\n\t\ttimetable: {\n\t\t\tinvalidDuration: 'Duration should be no less than one hour and no more than 24 hours. Expected format: HH:mm',\n\t\t\tinvalidStartTime: 'Start time is required and should not be older than 15 minutes. Expected format: YYYY-MM-DD HH:mm:ss.',\n\t\t\tinvalidRecurringDuration: 'For recurring timetables the interval between start time and end time must match the duration value.',\n\t\t\tinvalidEndTime: 'The end time is set before the duration has expired.',\n\t\t\tinvalidVehicle: 'This vehicle was not found in the database or you do not have permission to modify it.',\n\t\t\toverlapping: 'This vehicle already has a timetable starting at the same time as the one uploaded.'\n\t\t}\n\t}\n}\n","export default {\n    uits: 'UIT',\n    partners: 'Partners',\n    etransport: 'e-Transport'\n}\n","export default {\n\tmaintenances: {\n\t\tlabel: 'Revisions notifications',\n\t\tname: 'Name',\n\t\tcomment: 'Comment',\n\t\tintervalDistance: 'KM interval',\n\t\tintervalWorkingHours: 'Working hours interval',\n\t\tintervalTime: 'Time interval (months)',\n\t\tremainderDistance: 'KM remainder',\n\t\tremainderWorkingHours: 'Working hours remainder',\n\t\tremainderTime: 'Time remainder (days)',\n\t\tdeleteTitle: 'Delete service notification rule',\n\t\tdeleteContent: 'The service notification rule will be deleted. Do you want to proceed?',\n\t\trequiredIntervalOrRemainderInfo: 'Only one of the fields {{field1}} or {{field2}} is mandatory',\n\t\ttypes: {\n\t\t\t'custom-1': 'Custom 1',\n\t\t\t'custom-2': 'Custom 2',\n\t\t\t'custom-3': 'Custom 3',\n\t\t\t'custom-4': 'Custom 4',\n\t\t\t'custom-5': 'Custom 5',\n\t\t\t'vehicle-licence': 'Driving license',\n\t\t\t'transport-certification': 'Transport certification',\n\t\t\t'medical-notification': 'Medical notification',\n\t\t\t'registration-certificate': 'Registration certificate',\n\t\t\t'mandatory-insurance': 'Mandatory insurance',\n\t\t\tvignette: 'Vignette',\n\t\t\t'periodical-technical-inspection': 'Periodical technical inspection',\n\t\t\tservice: 'Service',\n\t\t\t'oil-change': 'Oil change',\n\t\t\t'tire-change': 'Tire change',\n\t\t},\n\t},\n\tmanagement: 'Management',\n\tdocuments: 'Documents',\n\tmoreDetails: 'Add more',\n\tdocStartDate: 'From',\n\tdocEndDate: 'Until',\n\tprice: 'Price',\n\tload: 'Load',\n\tdownload: 'Download',\n\taccountInformation: 'Account informations',\n\tdocument: {\n\t\tdeleteTittle: 'Delete document',\n\t\tsureToDelete: 'The document {{fileName}} ({{type}}) will be deleted',\n\t\tnotifications: {\n\t\t\tdefaultText: 'Notifications',\n\t\t\tday: 'One day',\n\t\t\tweek: 'One week',\n\t\t\tmonth: 'One month',\n\t\t}\n\t},\n\theaderFields: {\n\t\tlicensePlate: 'License Plate',\n\t\tdriver: 'Driver',\n\t\tcar: 'Car',\n\t\ttype: 'Type',\n\t\tdivision: 'Division',\n\t\tstatus: 'Status',\n\t\tname: 'Name',\n\t\temail: 'Email',\n\t\tphoneNumber: 'Phone',\n\t\trole: 'Type',\n\t},\n\troles: {\n\t\tnew: 'Add Role',\n\t\tview: 'Role details',\n\t\tedit: 'Edit Role',\n\t\tdelete: 'Delete Role',\n\t\tdeleteUsed: 'The role is used by {{number}} user(s) and cannot be deleted:{{names}}',\n\t\tsureToDelete: 'The role {{name}} ({{type}}) will be deleted',\n\t\tneedName: 'The role must have a name',\n\t\trequiredAtLeastOneGroupOrOneVehicle: 'You have to select at least one group or one vehicle',\n\t},\n\ttimetables: {\n\t\twithoutTimetable: 'No timetable',\n\t\tto: 'to',\n\t\tname: 'Schedule name',\n\t\tbrowse: 'Browse...',\n\t\taddCsv: 'Upload CSV',\n\t\tstatus: {\n\t\t\tdefaultText: 'Status',\n\t\t\tdisabled: 'Disabled',\n\t\t\tcustom: 'Custom',\n\t\t\tfullDay: 'All day',\n\t\t},\n\t\tdelete: {\n\t\t\tsureToDeleteTimetable: 'Are you sure that you want to delete this schedule?',\n\t\t\ttitle: 'Delete schedule',\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'Add Schedule',\n\t\t\tbuttonText: 'SAVE',\n\t\t},\n\t\timport: {\n\t\t\timportedNumber: '{{value}} schedules were imported',\n\t\t\tnotImportedNumber: '{{value}} schedules were not imported',\n\t\t\tallImported: 'All ({{value}}) schedules have been imported',\n\t\t\tnoneImported: 'No schedule was imported',\n\t\t\ttitle: 'Import timetable',\n\t\t\tbuttonText: 'IMPORT',\n\t\t\tname: 'Timetable Name',\n\t\t\tlicensePlate: 'License Plate',\n\n\t\t\taffectedVehicles: 'Vehicles shifting from existing timetables',\n\t\t\ttimetablesForRemoval: 'Timetables for removal',\n\n\t\t\tmondayStart: 'Monday Start',\n\t\t\tmondayStop: 'Monday Stop',\n\n\t\t\ttuesdayStart: 'Tuesday Start',\n\t\t\ttuesdayStop: 'Tuesday Stop',\n\n\t\t\twednesdayStart: 'Wednesday Start',\n\t\t\twednesdayStop: 'Wednesday Stop',\n\n\t\t\tthursdayStart: 'Thursday Start',\n\t\t\tthursdayStop: 'Thursday Stop',\n\n\t\t\tfridayStart: 'Friday Start',\n\t\t\tfridayStop: 'Friday Stop',\n\n\t\t\tsaturdayStart: 'Saturday Start',\n\t\t\tsaturdayStop: 'Saturday Stop',\n\n\t\t\tsundayStart: 'Sunday Start',\n\t\t\tsundayStop: 'Sunday Stop',\n\t\t\terrors: {\n\t\t\t\tmessage: 'There were some errors in the uploaded file data. Please correct the values and resubmit the file.'\n\t\t\t},\n\t\t\tsuccessful: 'Import completed successfully',\n\n\t\t\tdownloadTemplate: 'Download template',\n\t\t\tdownloadExample: 'Download example'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edit Schedule',\n\t\t\tbuttonText: 'EDIT',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Schedule details',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tvehicles: {\n\t\t// small modal\n\t\tdivision: 'Division',\n\t\tdriverIsAttached: 'The selected driver will be assigned to another vehicle!',\n\t\tvehicleHasNoDoorSensor: 'Vehicle has no door sensor',\n\t\tisAssignedToVehicle: 'is assigned to the vehicle',\n\t\twillBeAssigned: 'will be assigned to the vehicle',\n\t\tsureToDeleteVehicle: 'Are you sure that you want to delete the vehicle',\n\t\tvehicleHasDeviceAssigned: 'Device {{deviceID}} is assigned to the vehicle',\n\t\tselectDevice: 'Select device',\n\t\tselectDispatcher: 'Select dispatcher',\n\t\trelayContact: {\n\t\t\ton: {\n\t\t\t\tstate: 'Ignition blocked',\n\t\t\t\ttitle: 'Block ignition',\n\t\t\t\tconfirm: 'Are you sure that you want to block the ignition?'\n\t\t\t},\n\t\t\toff: {\n\t\t\t\tstate: 'Ignition unblocked',\n\t\t\t\ttitle: 'Unblock ignition',\n\t\t\t\tconfirm: 'Are you sure that you want to unblock the ignition?',\n\t\t\t},\n\t\t\tibutton: {\n\t\t\t\tstate: 'Ignition blocked (iButton)',\n\t\t\t\ttitle: 'Block ignition (iButton)',\n\t\t\t\tconfirm: 'Are you sure that you want to block the ignition using iButton ?',\n\t\t\t},\n\t\t},\n\t\tspeedLimit: {\n\t\t\tmax: 'Default alert threshold',\n\t\t\tmaxTooltip: 'alerts will be sent if threshold is exceeded regardless of the road limit (ie 90 km/h for trucks)',\n\t\t\tmin: 'Alert threshold',\n\t\t\tminTooltip: 'speed alerts will not be sent if under this threshold',\n\t\t\toffset: 'Allowed threshold',\n\t\t\toffsetTooltip: '10 km/h to be alerted at\\n50 + 10 km/h in localities, \\n90 + 10 km/h on national roads, \\n130 + 10 km/h on highways',\n\t\t\terrorMessage: 'Check the fields marked with red'\n\t\t},\n\t\tdoorAlert: {\n\t\t\tnoAlert: 'No alert',\n\t\t\talertOpenDoor: 'Alert open door',\n\t\t\tdoorOpenOutsidePOI: 'Alert open door outside of POI',\n\t\t\tdoorOpenOutsidePOIInTimetable: 'Alert open door outside of POI in timetable',\n\t\t},\n\t\tremoveDevice: 'Remove device',\n\t\tcannotChangeDeviceUntilRelayContactDisabled: 'If the ignition is blocked the devices cannot be changed',\n\t\tcannotChangeRelayContactUntilDeviceIsSaved: 'The ignition cannot be blocked until the device is saved',\n\t\tdeviceChange: 'Change device',\n\t\tnoDevices: 'There are no devices available',\n\t\tvehicleDetails: 'Vehicle Details',\n\t\tautoPark: 'Vehicle fleet',\n\t\tlicensePlate: 'License Plate',\n\t\texternalRefuelID: 'Vehicle ID from refuel file',\n\t\tvin: 'VIN',\n\t\tmake: 'Make',\n\t\tmodel: 'Model',\n\t\tvehicle: 'Vehicle',\n\t\tadblueCapacity: 'Adblue Capacity (L)',\n\t\tfuel: {\n\t\t\ttypeText: 'Fuel Type',\n\t\t\ttype: {\n\t\t\t\tpetrol: 'Petrol',\n\t\t\t\thybridPetrol: 'Hybrid-petrol',\n\t\t\t\tdiesel: 'Diesel',\n\t\t\t\thybridDiesel: 'Hybrid-diesel',\n\t\t\t\tlpg: 'GPL',\n\t\t\t\telectric: 'Electric',\n\t\t\t},\n\t\t\tcapacity: 'Tank capacity',\n\t\t\tconsumption: {\n\t\t\t\tsirocol: 'Aux heating consumption L/h',\n\t\t\t\tdistanceWise: 'Average fuel consumption {{unit}}/100KM',\n\t\t\t\ttimeWise: 'Average fuel consumption {{unit}}/h'\n\t\t\t},\n\t\t\tfluctuationFilter: 'Fuel level fluctuation filter',\n\t\t},\n\t\tcategory: 'Category',\n\t\ttype: {\n\t\t\tutility: 'Utility',\n\t\t\tcar: 'Car',\n\t\t\tminibus: 'Minibus',\n\t\t\tbus: 'Bus',\n\t\t\ttruck: 'Truck',\n\t\t\ttractor: 'Tractor',\n\t\t\tharvester: 'Harvester',\n\t\t\tconstruction: 'Construction',\n\t\t\ttrailer: 'Trailer',\n\t\t\t'semi-trailer': 'Semi-trailer'\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: 'Width (m)',\n\t\t\tlength: 'Length (m)',\n\t\t\theight: 'Height (m)',\n\t\t\tweight: 'Weight (t)'\n\t\t},\n\t\tseats: 'Number of seats',\n\t\tselectDivision: 'Select division',\n\t\tselectDriver: 'Select driver',\n\t\tremoveDriver: 'Remove driver',\n\t\tfabricationYear: 'Fabrication year',\n\t\tregistrationDate: 'Registration date',\n\t\tobuID: 'OBU ID',\n\t\tengine: {\n\t\t\tpower: 'Horsepower (HP)',\n\t\t\tcapacity: 'Engine capacity'\n\t\t},\n\t\tpayloadCapacity: 'Payload capacity',\n\t\ttireSize: 'Tire size',\n\t\tcolor: 'Color',\n\t\tnew: {\n\t\t\ttitle: 'Add Vehicle',\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edit Vehicle',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Vehicle details',\n\t\t}\n\t},\n\tusers: {\n\t\tuserDetails: 'User details',\n\t\t// small modal\n\t\tvehicleHasDriver: 'The selected vehicle already has a driver!',\n\t\tuserHasVehicle: 'The user is assigned to the vehicle',\n\t\tifDeleteDetatch: 'If you deleted this user, he will be unassigned from this vehicle',\n\t\thaveDriver: 'drived by',\n\t\twichWillBeReplaced: 'which will be replaced with',\n\t\tdeleteUser: 'Delete user',\n\t\tsureToDeleteThisUser: 'Are you sure you want to delete user',\n\t\treactivateUser: 'Reactivate user',\n\t\tsureToReactivateThisUser: 'Are you sure you want to reactivate this user',\n\t\tsureToResendInvitation: 'Are you sure you want to resend invitation',\n\t\ttheInvitationWillBeSent: 'The invitation email will be sent to the following address',\n\t\tresendInvitation: 'Resend invitation',\n\t\tuserName: 'User name',\n\t\tfirstName: 'First name',\n\t\tiButton: 'iButton',\n\t\ttachoCardID: 'Tachograph card ID',\n\t\tlastName: 'Last name',\n\t\temail: 'Email',\n\t\tphotoUpload: 'Upload photo',\n\t\tdivision: 'Division',\n\t\tphoneNumber: 'Phone',\n\t\tlanguage: 'Language',\n\t\tdrivingLicense: 'Driving License',\n\t\tdrivingLicenseList: {\n\t\t\tcategoryAM: 'Category AM',\n\t\t\tcategoryA1: 'Category A1',\n\t\t\tcategoryA2: 'Category A2',\n\t\t\tcategoryA: 'Category A',\n\t\t\tcategoryB: 'Category B',\n\t\t\tcategoryBE: 'Category BE',\n\t\t\tcategoryC: 'Category C',\n\t\t\tcategoryCE: 'Category CE',\n\t\t\tcategoryD: 'Category D',\n\t\t},\n\t\tassignedVehicle: 'Asigned vehicle',\n\t\tdetachVehicle: 'Remove vehicle',\n\t\trole: 'Role',\n\t\tdriver: 'Driver',\n\t\tadmin: 'Administrator',\n\t\tpartner: 'Partner',\n\t\tmanager: 'Manager',\n\t\tsalesAgent: 'Sales agent',\n\t\telectrician: 'Electrician',\n\t\tdocStartDate: 'From',\n\t\tdocEndDate: 'Until',\n\t\tdocPrice: 'Price',\n\t\tload: 'Load',\n\t\tcountry: 'Country',\n\t\tnew: {\n\t\t\ttitle: 'Add user',\n\t\t\tbuttonText: 'SAVE',\n\t\t\theaderText: 'Fill in the form with user data. For details press \\'Add more details\\'.'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edit user',\n\t\t\tbuttonText: 'EDIT',\n\t\t\theaderText: 'Fill in the form with user data. For details press \\'Add more details\\'.'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'User informations',\n\t\t\tbuttonText: 'OK',\n\t\t\theaderText: 'Informations about the selected user. For more detatails press \\'More\\'.'\n\t\t}\n\t},\n\tgroups: {\n\t\tdeleteGroup: 'Are you sure you want to delete the division',\n\t\tgroup: 'Division',\n\t\taddGroup: 'Add division',\n\t\ttimetable: 'Schedule',\n\t\teditGroup: 'Edit Division',\n\t\tgroupName: 'Division title',\n\t\taddSubGroup: 'Add subdivision',\n\t\teditSubGroup: 'Edit subdivision',\n\t\tdeleteSubGroup: 'Delete subdivision',\n\t\tshare: 'Partners',\n\t\tadd: 'Add'\n\t},\n\tgeofences: {\n\t\tname: 'POI title',\n\t\texternalID: 'external ID',\n\t\tradio: 'Radius',\n\t\tsureToDeleteGeofence: 'Are you sure you want to delete the POI',\n\t\tdeleteOldGeofences: 'Delete all geofences already existent in platform',\n\t\talertStationaryTimeHoverText: 'Minutes stationary (5-60). Only multiple of 5 allowed.',\n\t\ticons: {\n\t\t\tselectIcon: 'Select icon',\n\t\t\tnoIcon: 'No icon',\n\t\t},\n\t\tdownloadCsv: 'Download CSV',\n\t\ttype: {\n\t\t\tgeofence: 'Geofence',\n\t\t\tpoi: 'POI'\n\t\t},\n\t\tshape: {\n\t\t\ttype: {\n\t\t\t\tPolygon: 'Geofence',\n\t\t\t\tPoint: 'POI'\n\t\t\t}\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'add POI',\n\t\t\tbuttonText: 'SAVE',\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Import POI',\n\t\t\tbuttonText: 'IMPORT POI',\n\t\t\timportedGeofencesNumber: '{{value}} POIs were imported',\n\t\t\tupdatedGeofencesNumber: '{{value}} POIs were updated',\n\t\t\tdeletedGeofencesNumber: '{{value}} POIs were deleted',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POIs were not imported',\n\t\t\tallGeofencesImported: 'All ({{value}}) POIs have been imported',\n\t\t\tpleaseWait: 'Please wait',\n\t\t\tprocessingGeofences: 'Processing data from file',\n\t\t\tdownloadTemplate: 'Download template',\n\t\t\tdownloadExamples: 'Download examples'\n\t\t},\n\t\tsimulate: {\n\t\t\timportedGeofencesNumber: '{{value}} POIs will be added',\n\t\t\tupdatedGeofencesNumber: '{{value}} POIs will be updated',\n\t\t\tdeletedGeofencesNumber: '{{value}} POIs will be deleted',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POIs failed validation.',\n\t\t\tallGeofencesImported: 'All ({{value}}) POIs will be imported',\n\t\t\tvalidateFile: 'Verify file'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'EDIT POI',\n\t\t\tbuttonText: 'EDIT',\n\t\t},\n\t\tinfo: {\n\t\t\ttitle: 'POI information',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tsettings: {\n\t\tspeedLimit: 'Speed Limit',\n\t\temails: {\n\t\t\t'poi-enter': 'Enter POI',\n\t\t\t'poi-exit': 'Exit POI',\n\t\t\t'poi-stationary': 'Stationary in POI',\n\t\t\t'geofence-enter': 'Enter geofence',\n\t\t\t'geofence-exit': 'Exit geofence',\n\t\t\t'geofence-stationary': 'Stationary in geofence',\n\t\t\t'document-expiry': 'Document expiry',\n\t\t\t'speeding': 'Overspeeding',\n\t\t\t'door-open-outside-poi': 'Door open outside POI',\n\t\t\t'seal-broken': 'Seal broken',\n\t\t\t'fuel-level-drop-stationary': 'Fuel level drop (Sensor)',\n\t\t\t'fuel-consumption-excessive': 'Excessive fuel consumption',\n\t\t\t'taxi-coasting': 'Engine off on moving',\n\t\t\t'maintenance-notification': 'Maintenance reminder',\n\t\t\t'maintenance-upcoming': 'Maintenance upcoming',\n\t\t\t'aux-cooling-while-moving': 'Auxiliar Cooling',\n\t\t\t'aux-heating-while-moving': 'Auxiliar Heating',\n\t\t\t'border-crossing': 'Border crossing',\n\t\t\t'confirmed-refuel': 'Next refuel',\n\t\t\t'temp-poi-enter': 'Enter temporary POI',\n\t\t\t\"engine-off\": \"Ignition off alert\",\n\t\t\t\"tacho-break\": \"Driver rest alert\",\n\t\t\t'low-battery': 'Low battery',\n\t\t\t'fast-battery-discharge': 'Fast battery discharge',\n\t\t\t'uit-sync': 'UIT sync',\n\t\t\t'tacho-rest': \"Exceeding driver's rest period\",\n\t\t\t'panic-button': 'Panic button alert',\n\t\t\tinsertEmailsSeparatedByComma: 'Insert multiple email addresses separated by comma',\n\t\t\tinsertPhonesSeparatedByComma: 'Insert phones numbers separated by comma',\n\t\t\tnotifications: 'Notifications',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Phone',\n\t\t},\n\t\tcountries: {\n\t\t\tat: 'Austria',\n\t\t\tbe: 'Belgium',\n\t\t\tbg: 'Bulgaria',\n\t\t\thr: 'Croatia',\n\t\t\tcy: 'Cyprus',\n\t\t\tcz: 'Czechia',\n\t\t\tdk: 'Denmark',\n\t\t\tee: 'Estonia',\n\t\t\tfl: 'Finland',\n\t\t\tfr: 'France',\n\t\t\tde: 'Germany',\n\t\t\tgr: 'Greece',\n\t\t\thu: 'Hungary',\n\t\t\tie: 'Ireland',\n\t\t\tit: 'Italy',\n\t\t\tlv: 'Latvia',\n\t\t\tlt: 'Lithuania',\n\t\t\tlu: 'Luxembourg',\n\t\t\tmt: 'Malta',\n\t\t\tnl: 'Netherlands',\n\t\t\tpl: 'Poland',\n\t\t\tpt: 'Portugal',\n\t\t\tro: 'Romania',\n\t\t\tsk: 'Slovakia',\n\t\t\tsl: 'Slovenia',\n\t\t\tes: 'Spain',\n\t\t\tse: 'Sweden',\n\t\t\tgb: 'United Kingdom'\n\t\t}\n\t},\n\tintegrations: {\n\t\tenabled: 'Enabled',\n\t\tactiv: 'activ',\n\t\tinactive: 'inactive',\n\t\tserviceWillBe: 'The service will be',\n\t\tserviceIs: 'The service is',\n\t\tafterSave: 'after you save it.',\n\t\tenable: 'enable',\n\t\tdisable: 'disable',\n\t\tsave: 'Save',\n\t\tclient: 'Select client',\n\t}\n}\n","export default {\n\tat: 'At',\n\tfrom: 'From',\n\tto: 'To',\n\tduration: 'Duration',\n\n\tstart: 'Start',\n\tstop: 'Stop',\n\t// stopInProcess: 'Stationary in process',\n\tlastStationary: 'Last stationary',\n\tstationary: 'Stationary',\n\n\t//charts-container\n\tspeed: 'Speed',\n\taltitude: 'Altitude',\n\tfuelCanLevel: 'CAN Fuel Level',\n\tfuelLevel: 'Fuel Sensor Level',\n\tacceleration: 'Acceleration',\n\trpm: 'RPM',\n\n\t//marker names\n\thall: 'Hall',\n\tgrayMarker: 'Gray Marker',\n\tblueMarker: 'Blue Marker',\n\tgreenMarker: 'Green Marker',\n\torangeMarker: 'Orange Marker',\n\tredMarker: 'Red Marker',\n\tyellowMarker: 'Yellow Marker',\n\tgreen1Marker: 'Light Green Marker',\n\tturquoiseMarker: 'Turquoise Marker',\n\tpurpleMarker: 'Purple Marker',\n\tpinkMarker: 'Pink Marker',\n\n\t//map index popup\n\tlastUpdate: 'Last update',\n\tengineState: 'Engine state',\n\tgpsPosition: 'GPS position',\n\tgpsSpeed: 'GPS speed',\n\tcanSpeed: 'CAN speed',\n\tcanAcceleration: 'CAN acceleration',\n\tcanRPM: 'CAN RPM',\n\tcanFuelAvailable: 'Available fuel level (CAN)',\n\tcanFuelUsed: 'Fuel used (CAN)',\n\tprobeFuelAvailable: 'Available fuel level (sensor)',\n\tdistance: 'Distance',\n\tdoors: 'Doors',\n\tagregation: 'Agregation unit',\n\ttemperature: 'Temperature',\n\topenMessageThread: 'Open messages'\n}\n","export default {\n\toperationWithSuccess: 'Operation completed succesfully',\n\toperationMayTake5min: 'The confirmation of this operation may take up to 5 minutes.',\n\tlanguageChangedWithSuccess: 'Language changed succesfully',\n\tpriorityChangedWithSuccess: 'Priority changed succesfully',\n\toperationWithError: 'Operation failed',\n\tdeletedWithSuccess: 'Deleted succesfully.',\n\ttemperatureForPeriod: 'Temperature for',\n\tnoRecords: 'No records found.',\n\tgeneratingReportPleaseWait: 'Generating report. Please wait.',\n\tinvalidIntervalMax3Days: 'Invalid interval. Maximum interval is 3 days',\n\tgeneratingRoteDetailedReport: 'Generating detailed route report',\n\tgenerateDetailedReport: 'Generate detailed route report',\n\twillReceiveReportThroughtEmail: 'In few minutes you will receive an email with the report',\n\tdeleteFueling: 'Delete refuel value',\n\tareYouSureToDeleteFueling: 'The refuel value will be removed. Continue?',\n\tfluctuationFuel: 'Confirm fluctuation',\n\tareYouSureToConfirmFluctuation: 'This fluctuation will be confirmed. Continue?',\n\troutingFailed: 'Routing failed',\n\tfullFuel: 'Mark as full',\n\tfullFueled: 'Marked as full',\n\tcannotDeleteVehicleWithDeviceAttached: 'You cannot delete a vehicle that has a device attached',\n\tareYouSureToConfirmFullFuel: 'This fueling will be marked as full. Continue?',\n\tcoordsCopiedToClipboard: 'Coordinates copied to clipboard',\n\troutesWithStationaryLowerThanSelectedWillBeMerged: 'The routes with stationary time lower than the selected time will be merged',\n}\n","export default {\n\tcrossedBorderFrom: 'Crossed border from',\n\tcrossedBorderTo: 'to',\n\talerts: {\n\t\tvalidValues: 'Values are in normal parameters',\n\t\tfuel: {\n\t\t\tprocessing: 'Data is being processed',\n\t\t\tfluctuation: 'Fuel fluctuation confirmed by user',\n\t\t\tdropStationary: 'Fuel level drop on stationary',\n\t\t\tdiffDetectedRefuelBiggerThan5: 'The difference between the entered fuel level and the detected quantity is greater than 5L',\n\t\t},\n\t\tmaxSpeed: {\n\t\t\tred: 'Over speed limit of {{maxSpeed}}km/h by {{dif}}km/h',\n\t\t},\n\t\tstationary: {\n\t\t\tgreen: 'Stationary duration with engine on is lower than 5 min',\n\t\t\tyellow: 'Stationary duration with engine on is between 5 and 15 min',\n\t\t\tred: 'Stationary duration with engine on is greater than 15 min',\n\t\t},\n\t\tdailyTarget: {\n\t\t\tdriver: {\n\t\t\t\tgreen: 'Daily target distance for driver({{targetDailyDistance}} km) is reached.\\nDaily executed distance {{dailyDistance}} km.',\n\t\t\t\tred: 'Daily target distance for driver({{targetDailyDistance}} km) is not reached.\\nDaily executed distance {{dailyDistance}} km.',\n\t\t\t},\n\t\t\tcrew: {\n\t\t\t\tgreen: 'Daily target distance for crew({{targetDailyDistance}} km) is reached.\\nDaily executed distance {{dailyDistance}} km.',\n\t\t\t\tred: 'Daily target distance for crew({{targetDailyDistance}} km) is not reached.\\nDaily executed distance {{dailyDistance}} km.',\n\t\t\t},\n\t\t}\n\t},\n\ttitle: {\n\t\tafterhours: 'After hours',\n\t\talerts: 'Alerts',\n\t\tconsumption: 'Consumption',\n\t\t'fleet-summary': 'Fleet Summary',\n\t\t'fleet-summary-extended': 'Fleet Summary Extended',\n\t\tfaz: 'Daily activity sheet',\n\t\t'fuel-level': 'Fuel level',\n\t\tnotifications: 'Notifications',\n\t\tpoi: 'POI Activity',\n\t\t'poi-temperature': 'POI TK',\n\t\troute: 'Routes',\n\t\tstationary: 'Stops',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperature',\n\t\t'temperature-range': 'TK Hours',\n\t\ttimesheet: 'Timesheet',\n\t\tconstruction: 'Construction'\n\t},\n\treports: 'Reports',\n\tmenu: {\n\t\tafterhours: 'After Hours',\n\t\talerts: 'Alerts',\n\t\tcosts: 'Costs',\n\t\tcabotage: 'Cabotage',\n\t\tcountries: 'Countries',\n\t\tconsumption: 'Consumption',\n\t\t'driver-behaviour': 'Driver Behaviour',\n\t\t'driver-routes': 'Driver routes',\n\t\tengine: 'Engine',\n\t\t'fleet-summary': 'Fleet Summary',\n\t\t'fleet-summary-extended': 'Fleet Summary Extended',\n\t\tfaz: 'Daily activity sheet',\n\t\t'fuel-level': 'Fuel level',\n\t\t'km-day': 'KM Day',\n\t\tnotifications: 'Notifications',\n\t\tpoi: 'POI Activity',\n\t\t'poi-temperature': 'POI TK',\n\t\troute: 'Routes',\n\t\tstationary: 'Stops',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperature',\n\t\t'temperature-range': 'TK Hours',\n\t\ttimesheet: 'Timesheet',\n\t\tconstruction: 'Construction',\n\t\t'obu-tickets': 'OBU Tickets',\n\t\t'tacho-files': 'Tachograph files',\n\t\t'tacho-timesheet': 'Tachograph timesheet',\n\t\t23: 'Fuel consumption',\n\t\ttransits: 'Transits',\n\t},\n\tdownloads: 'Download',\n\tsettings: {\n\t\tdensity: 'Density',\n\t\tspecific: {\n\t\t\t'tacho-files': {\n\t\t\t\tsummarize: 'Filter',\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryDuration: 'Stationary duration',\n\t\t\t\tweeklyBreak: 'Weekly break',\n\t\t\t\tdailyBreak: 'Daily break',\n\t\t\t\tborderCrossing: 'Border crossing',\n\t\t\t\tstoppingPurpose: 'Load / Unload',\n\t\t\t\tweeklyBreakStart: 'Weekly break start',\n\t\t\t\tweeklyBreakEnd: 'Weekly break end',\n\t\t\t\tdailyBreakStart: 'Daily break start',\n\t\t\t\tdailyBreakEnd: 'Daily break end',\n\t\t\t\tloadStart : 'Load start',\n\t\t\t\tloadEnd: 'Load end',\n\t\t\t\tunloadStart: 'Unload start',\n\t\t\t\tunloadEnd: 'Unload end',\n\t\t\t\tduration: 'Duration',\n\t\t\t\tschedule: 'Routes in schedule',\n\t\t\t\tnoschedule: 'Routes 0-24',\n\t\t\t\tpriorityCAN: 'Distance CAN',\n\t\t\t\tpriorityGPS: 'Distance GPS',\n\t\t\t\tinfoCAN: 'CAN info',\n\t\t\t\tinfoGPS: 'GPS info',\n\t\t\t\tengineOnTimeCAN: 'CAN Engine on Time',\n\t\t\t\tengineOnTimeGPS: 'GPS Engine on Time',\n\t\t\t\tCAN: 'CAN',\n\t\t\t\tcng:{\n\t\t\t\t\tvolume: 'CNG - L',\n\t\t\t\t\tweight: 'CNG - Kg',\n\t\t\t\t\tpercent: 'CNG - %',\n\t\t\t\t},\n\t\t\t\tENGINE: 'Engine',\n\t\t\t\tpoi: 'POI',\n\t\t\t\taddress: 'Address'\n\t\t\t},\n\t\t\tshipping: {\n\t\t\t\tschedule: 'Shippings in schedule',\n\t\t\t\tnoschedule: 'Shippings 0-24'\n\t\t\t},\n\t\t\tgroupByVehicles: 'Group by vehicles',\n\t\t\tgroupByDrivers: 'Group by drivers'\n\t\t}\n\t},\n\tsubscribe: {\n\t\ttitle: 'Subscribe',\n\t\tfields: {\n\t\t\tlabel: {\n\t\t\t\temail: 'Insert email addresses separated by comma.',\n\t\t\t\tfrequency: 'Choose notification frequency:',\n\t\t\t\tweekDays: 'Choose report day:'\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\temail: 'Email address list:',\n\t\t\t\tfrequency: 'Select frequency:',\n\t\t\t\treport: 'Choose report:',\n\t\t\t\tdayOfWeek: 'Choose weekday:'\n\t\t\t}\n\t\t},\n\t\teveryDay: 'Once a day',\n\t\teveryWeek: 'Once a week',\n\t\teveryMonth: 'Once a month',\n\t\tnotifyDate: 'Choose report day:'\n\t},\n\theaderFields: { // todo: only the first leter of the header to be uppercase\n\t\ttachoSlot: 'Slot',\n\t\tadblueLevelComposed: 'Adblue level',\n\t\tday: 'Day',\n\t\tutcTimezonePopup: 'This report uses UTC+0 timezone',\n\t\tacc: 'Acceleration score',\n\t\taccRedZone: 'Acceleration Red Zone',\n\t\taccYellowZone: 'Acceleration Yellow Zone',\n\t\tauxHeatingConsumption: 'Aux heating consumption',\n\t\taverageSpeed: 'Average Speed (km/h)',\n\t\tbreakRedZone: 'Break Red Zone',\n\t\tbreakYellowZone: 'Break Yellow Zone',\n\t\tcan: 'CAN',\n\t\tcanDistance: 'Distance (CAN)',\n\t\tcanEngineOnFirstTime: 'Engine start time (CAN)',\n\t\tcanEngineOnLastTime: 'Engine end time (CAN)',\n\t\tcanEngineOnDuration: 'Engine on duration (CAN)',\n\t\tcanFuelConsumption: 'CAN Consumption',\n\t\tcanFuelConsumptionStationary: 'CAN Consumption Stationary',\n\t\tcanFuelConsumptionMoving: 'CAN Consumption Moving',\n\t\tcanFuelConsumptionDistance: 'Consumption / 100 (CAN)',\n\t\tcanFuelLevel: 'Fuel Level CAN',\n\t\tcanOdometer: 'End Odometer',\n\t\tcurrency: 'Currency',\n\t\todometer: 'Odometer',\n\t\todometerStartComposed: 'Start Odometer',\n\t\todometerComposed: 'End Odometer',\n\t\tconsume: 'Consumption',\n\t\tcost: 'Cost (EUR)',\n\t\tcostPopup: 'Calculated with %@ / hour',\n\t\tconsumptionComposed: 'Consumption',\n\t\tconsumptionComposedInfo: 'In the respective column, we display the total consumption while moving and stationary',\n\t\tcountry: 'Country',\n\t\tcreatedAt: 'Created at',\n\t\tcupolaState: 'Availability',\n\t\tdate: 'Date',\n\t\tdesacc: 'Decceleration score',\n\t\tdistance: 'Distance (km)',\n\t\tdistanceComposed: 'Distance (km)',\n\t\tdriver: 'Driver',\n\t\tdriverNames: 'Drivers',\n\t\tduration: 'Duration',\n\t\tdurationMoving: 'Duration Moving',\n\t\tdurationStationary: 'Duration Stationary',\n\t\tdurationStationaryEngineOn: 'Duration stationary (engine on)',\n\t\tdurationWorking: 'Duration Working',\n\t\tendLocation: 'End Location',\n\t\tendTime: 'End time',\n\t\tengineState: 'Engine State',\n\t\tengineFirstTime: 'Engine start time',\n\t\tengineLastTime: 'Engine end time',\n\t\tengineOnFirstTime: 'Engine start time',\n\t\tengineOnLastTime: 'Engine end time',\n\t\tengineOnTime: 'Engine on time',\n\t\tengineLoadTime: 'Engine load time',\n\t\tentryLocation: 'Entry Location',\n\t\ttransitDistance: 'Transit Duration',\n\t\ttransitCost: 'Transit Cost (EUR)',\n\t\tcabotageDistance: 'Cabotage Duration',\n\t\tcabotageCost: 'Cabotage Cost (EUR)',\n\t\tentryTime: 'Entry Time',\n\t\texitLocation: 'Exit Location',\n\t\texitTime: 'Exit Time',\n\t\tfreezer: 'Refrigeration Unit',\n\t\tfreezerOnDuration: 'Refrigeration unit run time',\n\t\tfuelConsumption: 'Computed Consumption',\n\t\tfuelConsumptionStationary: 'Computed Consumption Stationary',\n\t\tfuelConsumptionMoving: 'Computed Consumption Moving',\n\t\tfuelConsumptionDistanceComposed: 'Consumption / 100km',\n\t\tfuelConsumptionMovingInfo: 'This value only includes consumption while moving. \\nIt is normal for the value to differ from the consumption displayed in the Daily activity sheet, which also includes consumption while stationary.',\n\t\tfuelConsumptionPer100KMInfo: 'This value is the total consumption while moving per 100 km. \\nIt does not include consumption while stationary.',\n\t\tfuelConsumptionDurationComposed: 'Consumption / h',\n\t\tfuelConsumptionPerHourInfo: 'This value is the total consumption in stationary per the number of hours the engine is running in stationary. \\nIt does not include consumption while moving.',\n\t\tfuelConsumptionDistance: 'Consumption / 100km',\n\t\tfuelConsumptionNormlized: 'Consumption normlized',\n\t\tfuelConsumptionAccounting: 'Consumption accounting',\n\t\tfuelConsumptionFullToFull: 'Consumption full to full',\n\t\tfuelConsumptionFullToFullCan: 'Consumption full to full (CAN)',\n\t\tfuelConsumptionFullToFullSensor: 'Consumption full to full (Sensor)',\n\t\tfuelConsumptionTotal: 'Consumption total',\n\t\tfuelEvent: 'Type',\n\t\tfuelLevel: 'Fuel Level',\n\t\tfuelLevelComposed: 'Fuel Level',\n\t\tfuelLevelDiff: 'Quantity',\n\t\tfuelLevelDiffManual: 'Quantity entered',\n\t\tfuelLevelDiffLiters: 'Quantity',\n\t\tfuelSensor: 'Fuel tank',\n\t\tgps: 'GPS',\n\t\tgeneratedAt: 'Generated at',\n\t\tgpsDistance: 'Distance (GPS)',\n\t\tgpsEngineOnDuration: 'Engine on duration (GPS)',\n\t\tgroupedWith: 'Grouped with',\n\t\tidlingTime: 'Stationary with Engine On',\n\t\tinvoiceNumber: 'Invoice number',\n\t\tignitionOnTime: 'Ignition on time',\n\t\tlicensePlate: 'License Plate',\n\t\tlocation: 'Address',\n\t\tmap: 'Map',\n\t\tmaxSpeed: 'Max Speed (km/h)',\n\t\tname: 'License Plate / Name',\n\t\tpersistent: 'Persistent',\n\t\tpoiCount: 'POI\\'s count',\n\t\tpoiStationaryDoorsOpenedDuration: 'Stationary in POI with open doors',\n\t\tpoiStationaryDuration: 'Stationary in POI duration',\n\t\tprice: 'Price',\n\t\tpriceEur: 'Price (EUR)',\n\t\tprintDetails: 'Details',\n\t\trefuelValue: 'Refuel Value',\n\t\trefuelCAN: 'Refuel value (CAN)',\n\t\trefuelSensor: 'Refuel value (Sensor)',\n\t\troadSection: 'Road section',\n\t\trouteType: 'Route Type',\n\t\tsealEnd: 'End Seal',\n\t\tsealStart: 'Start Seal',\n\t\tsensorFuelConsumption: 'Fuel sensor consumption',\n\t\tsensorFuelConsumptionStationary: 'Fuel sensor consumption Stationary',\n\t\tsensorFuelConsumptionMoving: 'Fuel sensor consumption Moving',\n\t\tsensorFuelLevel: 'Fuel Level Sensor',\n\t\tspeed: 'Speed score',\n\t\tspeedingAvg: 'Overspeeding Average (km/h)',\n\t\tspeedingMax: 'Overspeeding Maxim (km/h)',\n\t\tspeedingTime: 'Overspeeding Time',\n\t\tstartLocation: 'Start Locations',\n\t\tstartTime: 'Start Time',\n\t\tstationaries: 'Stops with engine on',\n\t\tstatus: 'Status',\n\t\ttemperatureRange1: 'below 4°C',\n\t\ttemperatureRange2: 'between -4°C and 0°C',\n\t\ttemperatureRange3: 'between 0°C and 4°C',\n\t\ttemperatureRange4: 'above 4°C',\n\t\ttotalFuelConsumption: 'Total Computed',\n\t\ttransitNumber: 'Transits',\n\t\ttimesheet: 'Timesheet',\n\t\tupdatedAt: 'Updated at',\n\t\tvirage: 'Turn score',\n\t\tvolumeCan: 'Volume CAN',\n\t\tvolumeTank: 'Volume tank',\n\t\ttotals: {\n\t\t\tcan: 'Total CAN',\n\t\t\tcanStationary: 'Total CAN Stationary',\n\t\t\tcanMoving: 'Total CAN Moving',\n\t\t\tcomputed: 'Total Computed',\n\t\t\tcomputedStationary: 'Total Computed Stationary',\n\t\t\tcomputedMoving: 'Total Computed Moving',\n\t\t\tcost: 'Total Cost',\n\t\t\tdistance: 'Total Distance',\n\t\t\tdurationMoving: 'Total Duration Moving',\n\t\t\tdurationStationary: 'Total Duration Stationary',\n\t\t\tgps: 'Total GPS',\n\t\t\tsensor: 'Total Sensor',\n\t\t\tsensorStationary: 'Total Sensor Stationary',\n\t\t\tsensorMoving: 'Total Sensor Moving',\n\t\t},\n\t\tspecific: {\n\t\t\tafterhours: {\n\t\t\t\tduration: 'Duration (hours)'\n\t\t\t},\n\t\t\tconsumption:{\n\t\t\t\tpopups:{\n\t\t\t\t\tnormlizedDistanceConsumption: 'You drove {{distance}} km with a consumption of {{fuel}} {{fuelUnit}}',\n\t\t\t\t\tnormlizedDistanceConsumptionPerDistance: 'You drove {{distance}} km with a consumption of {{fuel}} {{fuelUnit}}/100km',\n\t\t\t\t\tnormlizedDistanceUncalculated : 'You drove {{distance}} km with a uncalculated consumption',\n\t\t\t\t}\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryTypeBefore: 'Stationary type before departure',\n\t\t\t\tstationaryTypeAfter: 'Stationary type after arrival',\n\t\t\t\tfuelConsumption: 'Computed Consumption',\n\t\t\t\tpurpose: 'Purpose',\n\t\t\t\tselectPurpose: 'Select'\n\t\t\t},\n\t\t\t'driver-routes': {\n\t\t\t\tcardInserted: 'Inserted card in slot {{number}}',\n\t\t\t\tcardRemoved: 'Removed card from slot {{number}}',\n\t\t\t\ttotalConsumptionNotCalculatedBecauseDiffFuelsType: 'Due to the different fuel types used by these vehicles, it is not possible to calculate the sum.',\n\t\t\t},\n\t\t\tstation: {\n\t\t\t\tstartTime: 'Start Time',\n\t\t\t\tendTime: 'End Time',\n\t\t\t\tduration: 'Duration'\n\t\t\t},\n\t\t\tstationary: {\n\t\t\t\tstartTime: 'Start Time',\n\t\t\t\tendTime: 'End Time',\n\t\t\t\tduration: 'Duration',\n\t\t\t\tstartTimePlanned: 'Start Time (planned)',\n\t\t\t\tendTimePlanned: 'End Time (planned)',\n\t\t\t\tdurationPlanned: 'Duration (planned)',\n\t\t\t},\n\t\t\ttaxi: {\n\t\t\t\tduration: 'Duration',\n\t\t\t\tdistanceAvailable: 'KM Available',\n\t\t\t\tdistanceOccupied: 'KM Busy',\n\t\t\t\tdurationAvailable: 'Duration Available',\n\t\t\t\tdurationOccupied: 'Duration Busy',\n\t\t\t\tdurationOff: 'Duration Off',\n\t\t\t},\n\t\t\tpoi: {\n\t\t\t\tgeofences: 'POI',\n\t\t\t\twindow: 'Interval',\n\t\t\t},\n\t\t\ttachoFiles: {\n\t\t\t\tbuttonLabel: 'Download tachograph files',\n\t\t\t\tvehicles: 'Vehicle files',\n\t\t\t\tdrivers: 'Driver files',\n\t\t\t\tfilename: 'File',\n\t\t\t\tdownloadedAt: 'Downloaded at',\n\t\t\t\tdownloadRequest: {\n\t\t\t\t\ttitle: \"Tacho file download request\",\n\t\t\t\t\tbuttonText: \"Send request\",\n\t\t\t\t\terrors: {\n\t\t\t\t\t\tvehicleLimitReached: \"Too many download requests for this vehicle. Please try again in 30 minutes.\",\n\t\t\t\t\t\tdownloadLimitReached: \"Too many download requests have been made. Please try again in 30 minutes.\",\n\t\t\t\t\t\t1: \"The information you have requested cannot be delivered, because the vehicle is stopped. Please start the engine and try again.\",\n\t\t\t\t\t\t2: \"The information you have requested cannot be delivered, because the vehicle doesn't have tachograph installed.\",\n\t\t\t\t\t\t3: \"The information you have requested cannot be delivered, because the VIN number is missing from our database. Please go to the 'Management/Vehicles' menu, select the vehicle, click on 'Edit' button and type in the VIN number to the appropriate field, then click on the 'Save' button. Afterwards, please try requesting the file again.\"\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: \"The request has been sent successfully! Please come back in about 30 minutes to recieve the file.\",\n\t\t\t\t\twarning: \"Ignition must be on while downloading\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttachoTimesheet: {\n\t\t\t\tstartTime: 'Start time',\n\t\t\t\tendTime: 'End time',\n\t\t\t\tdrivingDuration: 'Driving',\n\t\t\t\tothersDuration: 'Other activities',\n\t\t\t\tavailabilityDuration: 'Availability',\n\t\t\t\tactivityDuration: 'Total work',\n\t\t\t\trestDuration: 'Rest',\n\t\t\t\tnightDuration: 'Night work',\n\t\t\t\tdayDuration: 'Day work',\n\t\t\t\tworkingDuration: 'Work',\n\t\t\t\ttachoCardID: 'Card id'\n\t\t\t},\n\t\t\t23: {\n\t\t\t\tdistancePaid: 'Distance (km, paid)',\n\t\t\t\tdistanceLoss: 'Distance (km, loss)',\n\t\t\t\tfuelConsumptionDistanceAdjusted: 'Real fuel consumption / 100km',\n\t\t\t\tfuelDifference: 'Litres difference (real / computed)',\n\t\t\t},\n\t\t\t29: {\n\t\t\t\tloads: 'Loads',\n\t\t\t\tunloads: 'Unloads'\n\t\t\t},\n\t\t\tfaz: {\n\t\t\t\tduration: 'Moving duration'\n\t\t\t}\n\t\t},\n\t},\n\tfuelLevel: {\n\t\teventType: {\n\t\t\tprocessing: 'Processing',\n\t\t\trefuel: 'Refuel',\n\t\t\tconsumption: 'Consumption'\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Import refuels',\n\t\t\tbuttonText: 'IMPORT REFUELS',\n\t\t\timported: '{{value}} refuels were imported',\n\t\t\tnotImported: '{{value}} refuels could not be imported',\n\t\t\tallImported: 'All refuels have been imported ({{value}})',\n\t\t},\n\t\tuploadFile: 'Upload file'\n\t},\n\tpoi: {\n\t\thit: 'Visited',\n\t\tmiss: 'Delayed',\n\t\tunplanned: 'Unplanned',\n\t\t'no-visit': 'Unvisited',\n\t\timportPlan: {\n\t\t\ttitle: 'Import planifications',\n\t\t\tbuttonText: 'IMPORT PLANIFICATIONS',\n\t\t\timported: '{{value}} planifications were imported',\n\t\t\tnotImported: '{{value}} planifications could not be imported',\n\t\t\tallImported: 'All planifications have been imported',\n\t\t},\n\t},\n\t23: {\n\t\tdistanceThreshold: 'Fuel consumption is calculated only for distances greater than 10 km'\n\t},\n\ttable: {\n\t\texpand: 'Expand table',\n\t\tcollapse: 'Collapse table'\n\t},\n\ttemperature: {\n\t\ttemperatureTable: 'Temperature table'\n\t}\n}\n","export default {\n\tsettings: 'Settings',\n\tmenu: {\n\t\tnotifications: 'Notifications',\n\t\tspeedLimit: 'Speed limit',\n\t\tcosts: 'Costs',\n\t\tcabotage: 'Cabotage',\n\t\torders: 'Orders',\n\t\tdriverBehaviour: 'Driver behaviour',\n\t\tdailyTarget: 'Daily target',\n\t\tdataStorage: 'Data storage',\n\t\teTransport: 'e-Transport',\n\t\ttms:'TMS',\n\t\tdispatch: 'Dispatch'\n\t},\n\tnotifications: {\n\t\temails: {\n\t\t\tinsertEmailsSeparatedByComma: 'Insert multiple email addresses separated by comma',\n\t\t\tinsertPhonesSeparatedByComma: 'Insert phones numbers separated by comma',\n\t\t\tnotifications: 'Notifications',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Phone',\n\t\t}\n\t},\n\tspeedLimit: {\n\t\tvehicles: {\n\t\t\tmax: 'Default alert threshold',\n\t\t\tmaxTooltip: 'alerts will be sent if threshold is exceeded regardless of the road limit (ie 90 km/h for trucks)',\n\t\t\tmin: 'Alert threshold',\n\t\t\tminTooltip: 'speed alerts will not be sent if under this threshold',\n\t\t\toffset: 'Allowed threshold',\n\t\t\toffsetTooltip: '10 km/h to be alerted at\\n50 + 10 km/h in localities, \\n90 + 10 km/h on national roads, \\n130 + 10 km/h on highways',\n\t\t\terrorMessage: 'Check the fields marked with red',\n\t\t\ttype: {\n\t\t\t\tutility: 'Utility',\n\t\t\t\tcar: 'Car',\n\t\t\t\tminibus: 'Minibus',\n\t\t\t\tbus: 'Bus',\n\t\t\t\ttruck: 'Truck',\n\t\t\t\ttractor: 'Tractor',\n\t\t\t\tharvester: 'Harvester',\n\t\t\t\tconstruction: 'Construction',\n\t\t\t\ttrailer: 'Trailer',\n\t\t\t\t'semi-trailer': 'Semi-trailer'\n\t\t\t}\n\t\t}\n\t},\n\tcosts: {\n\t\ttitle: 'Costs',\n\t\tdescription: 'Insert cost/hour',\n\t\tinsertNumber: 'Insert cost'\n\t},\n\tcountries: {\n\t\tat: 'Austria',\n\t\tbe: 'Belgium',\n\t\tbg: 'Bulgaria',\n\t\thr: 'Croatia',\n\t\tcy: 'Cyprus',\n\t\tcz: 'Czechia',\n\t\tdk: 'Denmark',\n\t\tee: 'Estonia',\n\t\tfl: 'Finland',\n\t\tfr: 'France',\n\t\tde: 'Germany',\n\t\tgr: 'Greece',\n\t\thu: 'Hungary',\n\t\tie: 'Ireland',\n\t\tit: 'Italy',\n\t\tlv: 'Latvia',\n\t\tlt: 'Lithuania',\n\t\tlu: 'Luxembourg',\n\t\tmt: 'Malta',\n\t\tnl: 'Netherlands',\n\t\tpl: 'Poland',\n\t\tpt: 'Portugal',\n\t\tro: 'Romania',\n\t\tsk: 'Slovakia',\n\t\tsl: 'Slovenia',\n\t\tes: 'Spain',\n\t\tse: 'Sweden',\n\t\tgb: 'United Kingdom',\n\t\ttransitCost: 'Transit Cost € / h',\n\t\tcabotageCost: 'Cabotage Cost € / h',\n\t\tgeneral: 'General'\n\t},\n\tdriverBehaviour: {\n\t\trpm: {\n\t\t\ttitle: 'RPM',\n\t\t\tstationary: 'RPM Stationary',\n\t\t\tmoving: 'RPM Moving',\n\t\t\try: 'RPM Red-Yellow (%)',\n\t\t\tyg: 'RPM Yellow-Green (%)',\n\t\t\tgy: 'RPM Green-Yellow (%)',\n\t\t\tyr: 'RPM Yellow-Red (%)',\n\t\t\try_allowed: 'Allowed in Red-Yellow',\n\t\t\tyg_allowed: 'Allowed in Yellow-Green',\n\t\t\tgy_allowed: 'Allowed in Green-Yellow',\n\t\t\tyr_allowed: 'Allowed in Yellow-Red'\n\t\t},\n\t\tidlingTime: {\n\t\t\ttitle: 'Idling time',\n\t\t\ttotal: 'Total Idling time',\n\t\t\tavg: 'Average Idling time',\n\t\t\tavgTime: {\n\t\t\t\tminLabel: 'Average Idling time (min)',\n\t\t\t\tsecLabel: 'Average Idling time (sec)',\n\t\t\t\tminTooltip: 'min',\n\t\t\t\tsecTooltip: 'sec'\n\t\t\t},\n\t\t\tgyr: 'Idling time Green-Yellow-Red',\n\t\t\tgyrTime: {\n\t\t\t\tgyLabel: 'Green-Yellow',\n\t\t\t\tgyToolTip: 'Green-Yellow Idling time (%)',\n\t\t\t\tyrLabel: 'Yellow-Red',\n\t\t\t\tyrToolTip: 'Yellow-Red Idling time (%)'\n\t\t\t}\n\t\t},\n\t\tharshAcc: {\n\t\t\ttitle: 'Harsh Acceleration',\n\t\t\tgy: 'Green-Yellow',\n\t\t\tyr: 'Yellow-Red',\n\t\t\tgy_allowed: 'Green-Yellow Allowed',\n\t\t\tyr_allowed: 'Yellow-Red Allowed',\n\t\t\tgyTooltip: 'Green-Red',\n\t\t\tyrTooltip: 'Between Green-Yellow (%)',\n\t\t\tgy_allowedTooltip: 'Green-Yellow Allowed (%)',\n\t\t\tyr_allowedTooltip: 'Yellow-Red Allowed (%)'\n\t\t},\n\t\tharshDcc: {\n\t\t\ttitle: 'Harsh Deceleration',\n\t\t\tgy: 'Green-Yellow',\n\t\t\tyr: 'Yellow-Red',\n\t\t\tgy_allowed: 'Green-Yellow Allowed',\n\t\t\tyr_allowed: 'Yellow-Red Allowed',\n\t\t\tgyTooltip: 'Green-Red',\n\t\t\tyrTooltip: 'Between Green-Yellow (%)',\n\t\t\tgy_allowedTooltip: 'Green-Yellow Allowed (%)',\n\t\t\tyr_allowedTooltip: 'Yellow-Red Allowed (%)'\n\t\t},\n\t\tspeeding: {\n\t\t\ttitle: 'Speeding',\n\t\t\tevtCount: 'Event count',\n\t\t\tavg: 'Average overspeeding',\n\t\t\tmoving: 'Moving',\n\t\t\tevtCountTooltip: 'Event count / 100 km',\n\t\t\tavgTooltip: 'Average overspeeding value km/h',\n\t\t\tmovingTooltip: '(%) of moving in km'\n\t\t},\n\t\tfuelConsumption: {\n\t\t\ttitle: 'Fuel Consumption',\n\t\t\ttooltip: ''\n\t\t},\n\t\try: 'Red-Yellow',\n\t\tyg: 'Yellow-Green',\n\t\tgy: 'Green-Yellow',\n\t\tyr: 'Yellow-Red',\n\t\tred: 'Red',\n\t\tyellow: 'Yellow',\n\t\tgreen: 'Green',\n\t\tselectCarType: 'Please select a car type',\n\t\tcarType: {\n\t\t\tutility: 'Utility',\n\t\t\tcar: 'Car',\n\t\t\tminibus: 'Minibus',\n\t\t\tbus: 'Bus',\n\t\t\ttruck: 'Truck',\n\t\t\ttractor: 'Tractor',\n\t\t\tharvester: 'Harvester',\n\t\t\tconstruction: 'Construction',\n\t\t\ttrailer: 'Trailer',\n\t\t\t'semi-trailer': 'Semi-trailer'\n\t\t},\n\t\tselectVehicle: 'Please select a vehicle',\n\t\tselectVehicleCopy: 'Please select a vehicle to copy from'\n\t},\n\torders: {\n\t\tsources: {\n\t\t\ttracknamic: 'Tracknamic',\n\t\t\tsamsung: 'Samsung',\n\t\t\tbibtrack: 'Bibtrack',\n\t\t\tshippeo: 'Shippeo',\n\t\t\tcustom: 'Custom'\n\t\t},\n\t},\n\tcabotage: {\n\t\thelper: \"Set the night work interval\",\n\t\tnightWorkInterval: \"Night Work Interval\",\n\t\tstartInterval: \"Start Interval\",\n\t\tendInterval: \"End Interval\",\n\t\tdefault: \"</br> Default interval: 22-05\"\n\t}\n}\n","export default {\n\tmessages: 'Messages',\n\tnewMessageThread: 'Create conversation',\n\tcancel: 'Cancel',\n\tsearchThreads: 'Search...',\n\tdetails: 'Details',\n\tthreadName: 'Subject',\n\tpriority: 'Priority',\n\tlowPriority: 'Normal',\n\tmediumPriority: 'Medium',\n\thighPriority: 'High',\n\tselectPriority: 'Select priority',\n\tsearchUser: 'Search users...',\n\tselectGroup: 'Select division',\n\tallGroups: 'All divisions',\n\tphone: 'Phone',\n\temail: 'Email',\n\tadd: 'Add',\n\tremove: 'Remove',\n\tcreateMessageThread: 'Create conversation',\n\tupdateMessageThread: 'Update conversation',\n\tdeleteMessageThread: 'Are you sure that you want to delete this conversation?',\n\tdeleteConfirmButton: 'Confirm',\n\tdeleteCancelButton: 'Cancel',\n\tmessageInputPlaceholder: 'Type a message...',\n\tunreadMessages: ' unread messages',\n\tnoMessages: 'There are no messages in this conversation at the moment.',\n\taddUser: 'Add user',\n\tok: 'Ok',\n\tparticipants: 'participants',\n\tdocument: 'Document',\n\tseenBy: 'Seen by: '\n}\n","export default {\n\ttitle:'TMS',\n\tdispatch: 'Dispatch',\n\tloadAddress: 'Load address',\n\tunloadAddress: 'Unload address',\n\tenterQuery: 'Enter a query',\n\ttypeToSearch: 'Type to search',\n\tbudget: 'Budget',\n\tstatName: 'Stat name',\n\tprofitability: 'Profitability',\n\totherStat: 'Other stat',\n\tmenu: {\n\t\tindex: 'Dispatch',\n\t\tmap: 'Map',\n\t\torders: 'Orders',\n\t\tclients: 'Clients',\n\t\tvehicleGroups: 'Vehicle groups',\n\t\troutes: {\n\t\t\tindex: 'Routes',\n\t\t\tadd: 'Add route'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Route',\n\t\tdistance: 'Distance (km)',\n\t\tname: 'Name',\n\t\tvehicles: 'Vehicles',\n\t\tvehicle: 'Vehicle',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Width (in meters, eg. 2.4)',\n\t\t\theight: 'Height (in meters, eg. 4.2',\n\t\t\tlength: 'Length (in meters, eg. 7)',\n\t\t\tweight: 'Weight (in tonnes, eg. 5)',\n\t\t},\n\t\tduration: 'Duration',\n\t\twaypoints: {\n\t\t\ttitle: 'Points',\n\t\t\ttype: 'Type',\n\t\t\ttypes: {\n\t\t\t\tload: 'Load',\n\t\t\t\tunload: 'Unload',\n\t\t\t\tstop: 'Stop'\n\t\t\t},\n\t\t\tlocation: 'Location',\n\t\t\tduration: 'Duration (minutes)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Hazardous materials',\n\t\t\tstrict: 'Strict routing',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Explosive',\n\t\t\t\tgas: 'Gas',\n\t\t\t\tflammable: 'Flammable',\n\t\t\t\tcombustible: 'Combustible',\n\t\t\t\torganic: 'Organic',\n\t\t\t\tpoison: 'Poison',\n\t\t\t\tradioActive: 'Radioactive',\n\t\t\t\tcorrosive: 'Corrosive',\n\t\t\t\tpoisonousInhalation: 'Poisonous upon inhalation',\n\t\t\t\tharmfulToWater: 'Harmful to water',\n\t\t\t\tother: 'Other',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Generate route',\n\t\t\toptimize: 'Optimize route',\n\t\t\tnext: 'Next',\n\t\t\tsave: 'Save',\n\t\t\tadd: 'Add',\n\t\t\tsearch: 'Find route...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Generating route...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Optimized route',\n\t\t\tuse: 'Use optimized route',\n\t\t\tmessage: 'The route can be optimized',\n\t\t\tdiff: 'The optimized route is shorter by <b>{{distance}}</b> and faster by <b>{{time}}</b>.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Schedules'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Details'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Name',\n\t\t\tdistance: 'Distance',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Drive',\n\t\t\t\trest: 'Rest',\n\t\t\t\ttotal: 'Duration',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Primary',\n\t\t\t\tcheapest: 'Cheapest',\n\t\t\t\tfastest: 'Fastest',\n\t\t\t\tshortest: 'Shortest',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Stash',\n\t\t\t\tsave: 'Save',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Transport type',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Freezer',\n\t\t\t\t\tsecure: 'Secure',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Cost',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / tarifar',\n\t\t\tcost: 'Cost',\n\t\t\tcostDetailed: 'Driver cost: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€',\n\t\t\tprofitability: 'Profitability',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Low',\n\t\t\t\tmedium: 'Medium',\n\t\t\t\thigh: 'High',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimize',\n\t\t\tloading: 'Loading...',\n\t\t\tcostDetailed: 'Driver cost: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€\\nTax: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\texternalID: \"External ID\",\n\t\t\tclient: 'Client',\n\t\t\tvehicleGroup: 'Vehicle group',\n\t\t\tstatus: 'Status',\n\t\t\tstatusDate: 'Status date',\n\t\t\tstartLocation: 'Start location',\n\t\t\tendLocation: 'End location',\n\t\t\tdate: 'Date',\n\t\t\tattachments: 'Attachments',\n\t\t\tupdatedAt: 'Last update',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add order',\n\t\t\t\tname: 'Name',\n\t\t\t\tstatus: 'Status',\n\t\t\t\tsource: 'Source',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'External ID',\n\t\t\t\tvehicleGroup: 'Vehicle group',\n\t\t\t\tclient: 'Client',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Address',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Loading',\n\t\t\t\t\t\tunloading: 'Unloading',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Upload attachment',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Add client',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add client',\n\t\t\t\tname: 'Name',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\ttractorUnit: 'Tractor unit',\n\t\t\tsemitrailer: 'Semitrailer',\n\t\t\tdriver: 'Driver',\n\t\t\tcodriver: 'Co-driver',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Add vehicle group',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add vehicle group',\n\t\t\t\tname: 'Name',\n\t\t\t\ttractorUnit: 'Tractor unit',\n\t\t\t\tsemitrailer: 'Semitrailer',\n\t\t\t\tdriver: 'Driver',\n\t\t\t\tcodriver: 'Co-driver',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Tractor unit',\n\t\t\tsemitrailers: 'Semitrailer',\n\t\t\tvehicleGroups: 'Vehicle groups',\n\t\t},\n\t},\n}\n","import Alerts from './alerts'\nimport Dispatch from './dispatch'\nimport Driving from './driving'\nimport Errors from './errors'\nimport Management from './management'\nimport Markers from './markers'\nimport Messages from './messages'\nimport Reports from './reports'\nimport Settings from './settings'\nimport Threads from './threads'\nimport TMS from './tms'\nimport Etransport from './etransport'\n\nexport default {\n\ttms: TMS,\n\tdispatch: Dispatch,\n\tdriving: Driving,\n\tmanagement: Management,\n\tetransport: Etransport,\n\tmarkers: Markers,\n\tmessages: Messages,\n\treports: Reports,\n\tsettings: Settings,\n\tthreads: Threads,\n\talerts: {\n\t\ttypes: {\n\t\t\t'fuel-level-drop-stationary': 'Fuel level drop stationary (Sensor)',\n\t\t\t'fuel-consumption-excessive': 'Excessive fuel consumption',\n\t\t\t'low-battery': 'Low battery',\n\t\t\t'fast-battery-discharge': 'Fast battery discharge',\n\t\t\t'tacho-rest': \"Exceeding driver's rest period\",\n\t\t\t'panic-button': 'Panic button alert'\n\t\t},\n\t\ttachoRestInfo: 'If the driver is in cycle 1-5, after 11 hours and 15 minutes of regular daily rest, we will send an alert/notification.\\nIf the driver is in cycle 6-7, after 46 hours of regular weekly rest, we will send an alert/notification.',\n\t\tmessages: Alerts\n\t},\n\terrors: {\n\t\tsavingVehicle: 'Error saving vehicle',\n\t\tsavingUser: 'Error saving user',\n\t\trelay: 'Error blocking/unblocking ignition',\n\t\tuserExist: 'User already exists', // err 409\n\t\temailUsed: 'Email already used', // err 410\n\t\t'5010': 'Only simple polygons are allowed.',\n\t\t'5020': 'The division is already shared.',\n\t\tmessages: Errors,\n\t\taccountDisabled: 'Sorry. Your company account was deactivated.',\n\t\tmaintenance_1: 'The site is temporarily unavailable',\n\t\tmaintenance_2: 'We\\'ll have it back up as soon as possible. We apologize for your inconvenience.<br/>Thank you for you patience.',\n\t\toops: '<br/><p>Something went wrong and we couldn\\'t complete your request.</p><p>Please contact our support team.</p>',\n\t},\n\tyes: \"Yes\",\n\tno: \"No\",\n\tUIT: \"UIT\",\n\tpartners: \"Parteners\",\n\tgenerate: \"Generate\",\n\tadblueLevel: \"Adblue level\",\n\texpandSelected : 'Expand selected',\n\tcollapseSelected : 'Collapse selected',\n\ttotalKmSelected : 'Total KM selected',\n\tselectCustomer: 'Select customer',\n\tselectGroup: 'Select group',\n\tselectStatus: 'Select status',\n\tselectColor: 'Select color',\n\tdisplayName: 'Display name',\n\tshowVehicles: 'Show vehicles',\n\thideVehicles: 'Hide vehicles',\n\tshowTraffic: 'Show traffic',\n\thideTraffic: 'Hide traffic',\n\trequired: 'Required',\n\tpages: 'Pages',\n\tname: 'Name',\n\trole: 'Role',\n\troles: 'Roles',\n\talways: 'Always',\n\tnever: 'Never',\n\thideGeofences: 'Hide geofences',\n\tsettingsGeofences: 'Geofences settings',\n\torderNumber: 'Order number',\n\tsimple: 'Simple',\n\tmanual: 'Manual',\n\tdynamic: 'Dynamic',\n\tmedium: 'Medium',\n\tbig: 'Big',\n\tclient: 'Client',\n\tcompany: 'Company',\n\tengineLoad: 'Engine Load %',\n\tengineLoadShort: 'EL',\n\tnoModuleEmailSms: 'You didn\\'t have activated the email or sms module',\n\tapplyTo: 'Apply to',\n\tsameVehicleType: 'Same vehicle type',\n\tallVehiclesFromGroup: 'All vehicles from group',\n\tvehicleNotFound: 'Vehicle not found',\n\tuserNotFound: 'User not found',\n\ton: 'on',\n\toff: 'off',\n\tprovider: 'Provider',\n\tallAnothers: 'All anothers',\n\ttotals: 'Totals',\n\tentry: 'Entry',\n\texit: 'Exit',\n\tshowExternalID: 'Show external ID',\n\tshowFluctuations: 'Show confirmed fluctuations',\n\thideFluctuations: 'Hide confirmed fluctuations',\n\tpagination: {\n\t\tfirst: 'First page',\n\t\tlast: 'Last page',\n\t\tnext: 'Next page',\n\t\tprevious: 'Previous page',\n\t\tof: 'of',\n\t\tresultsPerPage: 'Results per page',\n\t\tgoToPage: 'Go to page',\n\t\tpageOfTotal: 'Page {{page}} of {{total}}',\n\t},\n\ttotal: 'Total',\n\thistoric: 'History',\n\tnow: 'Now',\n\tchangeDate: 'Change date',\n\tcountry: 'Country',\n\tstationaryDurationTotal: 'Duration (Total)',\n\tstationaryDurationEngineOn: 'Duration (Engine On)',\n\tstationaryDurationEngineOff: 'Duration (Engine Off)',\n\tdurationEngineOn: 'Duration Engine On',\n\tdurationFormat: 'DD[d] HH[h] mm[m] ss[s]',\n\tdurationFormatDDHHmm: 'DD[d] HH[h] mm[m]',\n\tdurationFormatHHmm: 'HH[h] mm[m]',\n\tdurationFormatCharDay: 'd',\n\tdurationFormatCharHour: 'h',\n\temail: 'Email',\n\tgranularity: 'Granularity',\n\ttotalDistance: 'Total distance',\n\ttotalFuelConsumptionMoving: 'Total fuel consumption (while moving)',\n\taverageFuelConsumptionMoving: 'Average fuel consumption (while moving)',\n\ttotalDurationStationary: 'Total duration (while stationary)',\n\ttotalDurationStationaryEngineOn: 'Total duration (while stationary, with engine on)',\n\taverageFuelConsumptionStationary: 'Average fuel consumption (while stationary)',\n\tmin3kmDistanceForFuelConsumptionCalculation: 'Fuel consumption is computed only when distance is at least 3 km',\n\tmin5kmDistanceForFuelConsumptionCalculation: 'Fuel consumption is computed only when distance is at least 5 km',\n\tconsumptionCannotBeComputed: 'Fuel consumption can not be computed, check the vehicle settings',\n\tfuelSource: {\n\t\tsensor: 'Probe',\n\t\tcan: 'CAN',\n\t\tcomputed: 'Computed',\n\t},\n\tshowGraphic: 'Show graphic',\n\tclusterMarkers: 'Cluster Markers',\n\tactiveSince: 'Active since',\n\tpleaseWait: 'Please wait',\n\tprocessingFileData: 'Processing file',\n\texpand: 'Expand',\n\tloading: {\n\t\ttext: 'Loading'\n\t},\n\tacl: 'Access control',\n\talertsAndNotifications: 'Alerts and Notifications',\n\tlimit: 'Limit',\n\topenDoorsStatus: 'Doors status',\n\tdoorsStatus: {\n\t\topen: 'Open doors',\n\t\tclosed: 'Closed doors',\n\t},\n\tclosed: 'Closed',\n\topen: 'Open',\n\tdoors: {\n\t\tdoorFrontLeft: 'Front left door',\n\t\tdoorFrontRight: 'Front right door',\n\t\tdoorBackLeft: 'Back left door',\n\t\tdoorBackRight: 'Back right door',\n\t\tdoorTrunk: 'Back door',\n\t\topen: 'open',\n\t\tclosed: 'closed',\n\t},\n\topenDoor: {\n\t\t'front-left': 'Front left door is open', // todo remove after added on map\n\t\t'front-right': 'Front right door is open', // todo remove after added on map\n\t\t'back-left': 'Back left door is open', // todo remove after added on map\n\t\t'back-right': 'Back right door is open', // todo remove after added on map\n\t\t'trunk': 'Back door is open', // todo remove after added on map\n\t\t'door-front-left': 'Front left door is open',\n\t\t'door-front-right': 'Front right door is open',\n\t\t'door-back-left': 'Back left door is open',\n\t\t'door-back-right': 'Back right door is open',\n\t\t'door-trunk': 'Back door is open',\n\t\t'allClosed': 'All the doors are closed',\n\t\t'na': 'No sensors',\n\t\tgeneric: 'Open door'\n\t},\n\tfreezerStatus: 'Refrigeration unit status',\n\tfreezer: {\n\t\ton: 'Refrigeration unit is on',\n\t\toff: 'Refrigeration unit is off',\n\t\tna: 'No refrigeration unit',\n\t\tgeneric: 'Refrigeration unit',\n\t},\n\tvehicle: {\n\t\tengineOn: 'Engine On',\n\t\tengineOff: 'Engine Off',\n\t\tunreachable: 'No signal',\n\t},\n\tvehiclesStatus: 'Vehicles status',\n\tvehicleStatus: {\n\t\tengineOn: 'Moving',\n\t\tengineOff: 'Stopped',\n\t\tunreachable: 'No signal',\n\t\tunreachableSince: 'No signal since {{status}}',\n\t\tnoLocation: 'No device associated',\n\t\tgeneric: 'Vehicle status',\n\t},\n\ttaxiState: 'Availability',\n\ttaxiStates: {\n\t\tavailable: 'Available',\n\t\toccupied: 'Busy',\n\t\toff: 'Off',\n\t\tna: 'No Availability',\n\t},\n\tauxAC: {\n\t\tlabel: \"Auxiliary AC\",\n\t\tauxCooling: \"Auxiliar Cooling\",\n\t\tauxHeating: \"Auxiliar Heating\",\n\t\tvalues: {\n\t\t\ton: \"On\",\n\t\t\toff: \"Off\"\n\t\t}\n\t},\n\tpowerExternal: {\n\t\tlabel: \"Power supply\",\n\t},\n\tlandingPage: 'Landing page',\n\tlicensePlate: 'License Plate',\n\tlicensePlates: 'License Plates',\n\tprevious: 'Previous',\n\tnext: 'Next',\n\tnoResults: 'No results',\n\tfromDate: 'From date',\n\tuntil: 'Until',\n\tstops: 'Stops',\n\ttemperatureIntervals: 'Every',\n\tinterval: 'Interval',\n\trouteReport: 'Routes',\n\tanotherValue: 'Other value',\n\tliters: 'Liters',\n\tconsume: 'Consumption',\n\tconsumption: 'Consumption',\n\tspeedPerHour: 'Speed (km/h)',\n\tspeed: 'Speed',\n\tspeedLimit: 'Speed limits',\n\taltitude: 'Altitude',\n\taltitudeMeters: 'Altitude (m)',\n\tfuelLevelLitres: 'Fuel Level (l)',\n\tfuelCanLevelLitres: 'Fuel Level CAN (l)',\n\trefuel: 'Refuel',\n\taverageSpeed: 'Average Speed',\n\tmaxSpeed: 'Maximum Speed',\n\tdistance: 'Distance',\n\tfuelLevelForPeriod: 'Fuel level for period',\n\tcanFuelLevel: 'CAN Fuel Level',\n\tfuelLevel: 'Fuel Level',\n\tfuelCanLevel: 'CAN Fuel Level',\n\tfuelConsumption: 'Consumption',\n\tcalculateRoute: 'Calculate route',\n\tdetails: 'Details',\n\tnoDetails: 'No details',\n\tevent_enter: 'Enter event',\n\tevent_exit: 'Exit event',\n\tevent_stationary: 'Stop event',\n\talert_in: 'Enter alert',\n\talert_out: 'Exit alert',\n\talert_transit: 'Transit alert',\n\tback: 'Back',\n\tminValue: 'Minimum value',\n\tmaxValue: 'Maximum value',\n\taverageValue: 'Average value',\n\tm_settings: {\n\t\tmarkers: 'Marker settings',\n\t\tmap: 'Map settings',\n\t\t_: 'Settings'\n\t},\n\tstatusFeed: 'Fleet status',\n\toneVehicle: 'Vehicle',\n\tvehicles: 'Vehicles',\n\tvehicless: 'vehicle(s)',\n\tgeofences: 'Geofences',\n\tpois: 'POIs',\n\tusers: 'Users',\n\tdefault: 'Default',\n\tdivisions: 'Divisions',\n\tduration: 'Duration',\n\taccount: 'Account',\n\tpoi: 'POI',\n\tpoiMultiple: 'POI multiple',\n\ttimetables: 'Schedules',\n\tintegrations: 'Integrations',\n\tshare: 'Share',\n\tshared: 'Shared',\n\tdayHours: 'Hours',\n\ttheMinutes: 'Minutes',\n\tmonthDays: 'Days',\n\ttheWeekDays: 'Days',\n\tday: 'Day',\n\tweek: 'Week',\n\tmonth: 'Month',\n\tevery: 'Every',\n\tmap: 'Map',\n\ttype: 'Type',\n\tsearch: 'Search',\n\tALL: 'ALL',\n\tok: 'OK',\n\tadd: 'ADD',\n\tsave: 'SAVE',\n\tsaveSuccess: 'Data saved.',\n\tedit: 'EDIT',\n\tinvite: 'INVITE',\n\treactivate: 'REACTIVATE',\n\tcancel: 'CANCEL',\n\tsend: 'SEND',\n\ttimezone: 'Timezone',\n\tdelete: 'DELETE',\n\taddFueling: 'Add fueling',\n\taddStoppingPurpose: 'Add Stopping Purpose',\n\tload: 'Load',\n\tunload: 'Unload',\n\tstationary: 'Stationary',\n\taclGroup: 'Group',\n\taclGroups: 'Groups',\n\taclVehicle: 'vehicle',\n\taclVehicles: 'vehicles',\n\tallVehicles: 'All Vehicles',\n\tselected: 'selected',\n\tsubscribe: 'Subscribe',\n\tacceleration: 'Acceleration',\n\trpm: 'RPM',\n\ttemperature: 'Temperature',\n\tcelsiusTemperature: 'Temperature (°C)',\n\tsensors: 'Sensors',\n\tsensor: {\n\t\t'temperature': 'Temperature',\n\t\t'temperature-1': 'Sensor 1',\n\t\t'temperature-2': 'Sensor 2',\n\t\t'temperature-3': 'Sensor 3',\n\t\t'temperature-4': 'Sensor 4',\n\t\t'temperature-5': 'Sensor 5',\n\t\t'temperature-6': 'Sensor 6',\n\t\t'temperature-7': 'Sensor 7',\n\t\t'temperature-8': 'Sensor 8',\n\t},\n\taccelerationG: 'Acceleration',\n\talert: 'Alert',\n\tnotification: 'Notification',\n\tdate: 'Date',\n\thour: 'Hour',\n\trecurrent: 'Recurrent',\n\trecurrentEachWeekDay: 'Recurring every {{day}}',\n\tdisabled: 'Disabled',\n\tdriver: 'Driver',\n\tdrivers: 'Drivers',\n\tdriverss: 'driver(s)',\n\tnoDriver: 'Without driver',\n\tallDrivers: 'All drivers',\n\tunselectAllDrivers: 'Cancel selections',\n\tselectAllDrivers: 'Select all',\n\tselectedDrivers: 'selected drivers',\n\tselectFile: 'Select File',\n\tselectVehicles: 'Select vehicles',\n\tselectVehicle: 'Select vehicle',\n\tselectFilters: 'Select filters',\n\tselectedFilters: 'filters selected',\n\tlocations: 'Locations',\n\tunknownLocation: 'Unknown location',\n\tunknown: 'Unknown',\n\tvirtualWorkTime: 'Virtual work time',\n\tvirtualOdometer: 'Virtual Odometer',\n\tcanOdometer: 'CAN Odometer',\n\todometer: 'Odometer',\n\tinsertEmailAddress: 'Insert email address',\n\tengineState: 'Engine state',\n\trouteType: {\n\t\tstationary: 'Stationary',\n\t\tmoving: 'Moving',\n\t},\n\ttime: {\n\t\tperiod: 'Period',\n\t\ttoday: 'Today',\n\t\tcurrentWeek: 'Current week',\n\t\tcurrentMonth: 'Current month',\n\t\tyesterday: 'Yesterday',\n\t\tlastWeek: 'Last week',\n\t\tlastMonth: 'Last month'\n\t},\n\tweekDays: {\n\t\tsunday: 'Sunday',\n\t\tmonday: 'Monday',\n\t\ttuesday: 'Tuesday',\n\t\twednesday: 'Wednesday',\n\t\tthursday: 'Thursday',\n\t\tfriday: 'Friday',\n\t\tsaturday: 'Saturday'\n\t},\n\tshortDays: {\n\t\tsunday: 'Sun',\n\t\tmonday: 'Mon',\n\t\ttuesday: 'Tue',\n\t\twednesday: 'Wed',\n\t\tthursday: 'Thu',\n\t\tfriday: 'Fri',\n\t\tsaturday: 'Sat'\n\t},\n\tmonths: {\n\t\tjanuary: 'January',\n\t\tfebruary: 'February',\n\t\tmarch: 'March',\n\t\tapril: 'April',\n\t\tmay: 'May',\n\t\tjune: 'June',\n\t\tjuly: 'July',\n\t\taugust: 'August',\n\t\tseptember: 'September',\n\t\toctober: 'October',\n\t\tnovember: 'November',\n\t\tdecember: 'December'\n\t},\n\tshortMonths: {\n\t\tjanuary: 'Jan',\n\t\tfebruary: 'Feb',\n\t\tmarch: 'Mar',\n\t\tapril: 'Apr',\n\t\tmay: 'May',\n\t\tjune: 'Jun',\n\t\tjuly: 'Jul',\n\t\taugust: 'Aug',\n\t\tseptember: 'Sep',\n\t\toctober: 'Oct',\n\t\tnovember: 'Nov',\n\t\tdecember: 'Dec'\n\t},\n\tmenu: 'Meniu',\n\texportSvg: 'Export SVG',\n\texportPng: 'Export PNG',\n\tdownloadCsv: 'Download CSV',\n\tselection: 'Selection',\n\tselectionZoom: 'Selection Zoom',\n\tzoomIn: 'Zoom In',\n\tzoomOut: 'Zoom Out',\n\tpan: 'Panning',\n\treset: 'Reset Zoom',\n\tdashboard: {\n\t\theatmap: {\n\t\t\ttitle: {\n\t\t\t\tdistance: 'Activity in the last 24h',\n\t\t\t\twork: 'Work in the last 24h',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tdistance: 'Distance',\n\t\t\t\twork: 'Work',\n\t\t\t},\n\t\t\tunits: {\n\t\t\t\tkm: 'km',\n\t\t\t\tmin: 'min',\n\t\t\t},\n\t\t\tshowMore: 'Show more',\n\t\t\tshowLess: 'Show less',\n\t\t},\n\t\tdailyKm: 'Total km in the last 24h',\n\t\tdailyConsumption: 'Consumption in the last 24h',\n\t\tmonthlyKm: 'Km in the current month',\n\t\tmonthlyConsumption: 'Total consumption in the current month',\n\t\tcars: 'cars',\n\t\talerts: 'Alerts',\n\t\tnotifications: 'Notifications',\n\t\tshowAlerts: 'Show Alerts',\n\t\tshowNotifications: 'Show Notifications',\n\t\tshowAllVehicles: 'Show all vehicles',\n\t\tstoped: 'Stopped',\n\t\tmoving: 'Moving',\n\t\tcontact: 'Do you have a suggestion or complaint?',\n\t\tcontactLink: 'Contact Us',\n\t\tcontactTitle: 'Contact',\n\t\tcontactSendBtn: 'Send',\n\t\tcontactMsgHint: 'Add message',\n\t\terrorOnSendingMessage: 'An error occured while sending your message.',\n\t\tplaseTryAgainLater: 'Please try again later',\n\t\temptyMessage: 'Without message',\n\t\tpleaseInputMessage: 'Please enter your message',\n\t\tnoAlertData: 'No Alerts',\n\t\tnoNotificationData: 'No notifications',\n\t\tcomingSoon: 'Coming soon',\n\t\tnoData: 'No Data',\n\t\tshowDriver: 'Driver Name',\n\t\tshowLicensePlate: 'License Plate',\n\t\tliveStatus: {\n\t\t\tcupola: 'Availability',\n\t\t\tcupolaState: {\n\t\t\t\tengineOn: 'Available',\n\t\t\t\tengineOff: 'Bussy',\n\t\t\t\tnone: 'Off',\n\t\t\t\tna: 'No Availability',\n\t\t\t},\n\t\t\tvehicle: 'Vehicle',\n\t\t\taddress: 'Address / POI',\n\t\t\tlastPOI: 'Last POI',\n\t\t\tnextPlannedPOI: 'Next scheduled POI',\n\t\t\tavailability: 'Availability',\n\t\t\tstatus: 'Status',\n\t\t\tspeed: 'Speed',\n\t\t\tfuelLevel: 'Fuel level',\n\t\t\ttemperature: 'Agregation',\n\t\t\tdoors: 'Doors',\n\t\t\tseal: 'Seal',\n\t\t\tdeactivateSealModal: {\n\t\t\t\theader: 'Deactivate seal',\n\t\t\t\tcontent: 'Do you want to deactivate the seal {{sealNumber}}?',\n\t\t\t}\n\t\t},\n\t\ttacho: {\n\t\t\tvehicle: 'Vehicle',\n\t\t\tdriver: 'Driver',\n\t\t\tactivity: 'Activity',\n\t\t\ttime: 'Duration',\n\t\t\tdistance: 'Distance',\n\t\t\tweek: 'Week',\n\t\t\tday: 'Day',\n\t\t\tdriveTimeLeft: 'Drive time left (rest)',\n\t\t\tdriveTimeLeftDay: 'Drive time left (day)',\n\t\t\tdriveTimeLeftWeek: 'Drive time left (week)',\n\t\t\tdriveTimeNextWeek: 'Drive time left (next week)',\n\t\t\tdrivingCycle: 'Driving Cycle',\n\t\t\tdrivingDaily: 'Daily Driving',\n\t\t\tdrivingWeekly: 'Weekly Driving',\n\t\t\tamplitudeDaily: 'Daily Amplitude',\n\t\t\ttotalRecovery: 'Total Recovery',\n\t\t},\n\t\tlogout: 'Logout'\n\t},\n\tdocument: {\n\t\ttype: {\n\t\t\tvehicle: {\n\t\t\t\tRCA: 'CTP',\n\t\t\t\tCASCO: 'Self-Insurance',\n\t\t\t\tRovinieta: 'Road Tax',\n\t\t\t\tITADR: 'Transport Certificate ',\n\t\t\t\tAltele: 'Other',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tpermis_conducere: 'Driving License',\n\t\t\t\tatestat: 'Professional Certificate ',\n\t\t\t\taviz_medical: 'Medical Certificate',\n\t\t\t\tAltele: 'Other',\n\t\t\t},\n\t\t},\n\t},\n\tpurposes: {\n\t\tnoPurpose: 'No purpose',\n\t\tcustomers: 'Trip to customers',\n\t\tsuppliers: 'Trip to suppliers',\n\t\tprospectingMarket: 'Trip for prospecting the Market',\n\t\tservice: 'Trip for service',\n\t\twork: 'Trip for work',\n\t\ttraining: 'Trip to Training',\n\t\tcustoms: 'Trip to Customs',\n\t\tbank: 'Trip to bank',\n\t\ttaxAuthorities: 'Trip to tax authorities',\n\t\tpersonalInterest: 'Trip in personal interest',\n\t},\n\troutes: 'Routes',\n\troutesEta: 'Routes-ETA',\n\ttacho: {\n\t\tstatus: 'Tachograph',\n\t\tactivity: 'Activity',\n\t\tweek: 'Week',\n\t\tday: 'Day',\n\t\tdriver: {\n\t\t\t1: 'Driver 1',\n\t\t\t2: 'Driver 2',\n\t\t},\n\t\tactivities: {\n\t\t\t'-1': 'Unknown',\n\t\t\t0: 'Rest',\n\t\t\t1: 'Available',\n\t\t\t2: 'Work',\n\t\t\t3: 'Drive',\n\t\t\t4: 'Error',\n\t\t\t5: 'N/A',\n\t\t},\n\t\tactivities2: {\n\t\t\tavailable: 'Available',\n\t\t\tdriving: 'Driving',\n\t\t\tworking: 'Working',\n\t\t\tbreak: 'Short break',\n\t\t\trest: 'Resting',\n\t\t\tunknown: 'Unknown',\n\t\t}\n\t},\n\tobu: {\n\t\tbalance: 'Balance',\n\t\tsection: 'Road section',\n\t\tstatuses: {\n\t\t\t0: 'Normal',\n\t\t\t1: 'Low',\n\t\t\t2: 'Empty',\n\t\t}\n\t},\n\tvehicleList: {\n\t\ttacho: {\n\t\t\tdriveTimeLeft: 'Drive time left (rest)',\n\t\t\tdriveTimeLeftDay: 'Drive time left (day)',\n\t\t\tdriveTimeLeftWeek: 'Drive time left (week)',\n\t\t\tdriveTimeNextWeek: 'Drive time left (next week)',\n\t\t}\n\t},\n\tsignup: {\n\t\tinvitation: {\n\t\t\texpired: 'The invitation has expired. Please contact the administrator.'\n\t\t}\n\t},\n\tmaintenance: {\n\t\trules: 'Maintenance rules',\n\t\tlist: 'Maintenances'\n\t},\n\t'temporary-links': 'Temporary links',\n}\n","﻿export default {\n\t'document-expiry': '{{type}} típusú dokumetnum a {{driver}} gépkocsivezetőn {{vehicle}} járműnél le fog járni {{until}}',\n\t'document-expired': '{{type}} típusú dokumetnum a {{driver}} gépkocsivezetőn {{vehicle}} járműnél lejárt {{until}}',\n\n\t'poi-enter': '{{licensePlate}} belépett a POI-ba {{geofenceName}}',\n\t'poi-exit': '{{licensePlate}} elhagyta a POI-t {{geofenceName}}',\n\t'poi-stationary': '{{licensePlate}} megállt a POI-n {{geofenceName}}',\n\n\t'geofence-enter': '{{licensePlate}} belépett a geofence-be {{geofenceName}}',\n\t'geofence-exit': '{{licensePlate}} elhagyta a geofence-t {{geofenceName}}',\n\t'geofence-stationary': '{{licensePlate}} megállt a geofence-n {{geofenceName}}',\n\n\t'door-open-outside-poi': 'Ajtót kinyitották a POI kívül a {{licensePlate}} járműnél',\n\t'seal-broken': 'Vámzárat {{sealNumber}} felszakították {{licensePlate}}',\n\t'speeding': '{{licensePlate}} jármű sebesség limitett túllépett {{diff}}km/h',\n\t'fuel-level-drop-stationary': 'Üzemanyag szint esés mozdulatlan állapotban (Szenzor) {{licensePlate}}',\n\t'fuel-level-drop-stationary-confirmed': '{{amount}} L üzemanyag esést a {{licensePlate}} járművön visszaigazolták',\n\t'fuel-level-drop-stationary-fluctuation': 'Az üzemanyag esés a {{licensePlate}} járművön ingadozás volt',\n\t'fuel-consumption-excessive': 'Túlzott üzemanyag fogyasztás a {{licensePlate}} járművön',\n\t'taxi-coasting': 'A motor kikapcsolva van mozgás alatt a {{licensePlate}} járművön',\n\t'maintenance-upcoming': '{{type}} közelgő karbantartás a {{licensePlate}} járművön {{limit}} {{unit}} / {{deadline}}',\n\t'aux-cooling-while-moving': 'A tetőklíma be van kapcsolva a {{licensePlate}} rendszámú mozgó járművön',\n\t'aux-heating-while-moving': 'Az állófűtés be van kapcsolva a {{licensePlate}} rendszámú mozgó járművön',\n\t\"low-battery\": \"A {{licensePlate}} tápegység töltöttségi szintje {{threshold}}V alá esett. Jelen állás: {{voltage}}V\",\n\t\"fast-battery-discharge\": \"A {{licensePlate}} tápegység merülési aránya ({{dropRatePerHour}}mV/h) magasabb a megadott értéknél ({{allowedDropRatePerHour}}mV/h)\",\n\t\"border-crossing\": \"{{licensePlate}} jármű átlépte a határt {{from}} és {{to}} között\",\n\t\"confirmed-refuel\": \"A {{licensePlate}} megtankolt {{amount}}L-rel ({{source}})\",\n\t\"temp-poi-enter\": \"{{licensePlate}} belépett az ideiglenes POI-ba\",\n\t\"engine-off\": \"A {{licensePlate}} motorja le lett állítva\",\n\t\"tacho-break\": \"A {{licensePlate}}-es rendszámú jármű gépkocsivezetője megkezdte a pihenőjét\",\n\t\"tacho-rest\": \"A {{license_plate}} autó {{driver_name}} vezetője {{days_cycle}} ciklusban van, és {{hours_rest}} ideje pihen\",\n\t\"panic-button\": \"Pánikriasztás a(z) {{licensePlate}} rendszámú járművön a következő helyen <a href='https://www.google.com/maps?q={{coordinates}}' target='_blank'>[{{coordinates}}]</a>\"\n}\n","export default {\n\tdispatch: 'Fuvar feladat',\n\tloadAddress: 'Felrakó címe',\n\tunloadAddress: 'Lerakó címe',\n\tenterQuery: 'Írjon be egy lekérdezést',\n\ttypeToSearch: 'Írjon a kereséshez',\n\tbudget: 'Költségvetés',\n\tstatName: 'Statisztikai címlet',\n\tprofitability: 'Jövedelmezőség',\n\totherStat: 'Egyéb statisztikák',\n\tmenu: {\n\t\tindex: 'Fuvar feladat',\n\t\tmap: 'Térkép',\n\t\torders: 'Megrendelés',\n\t\tclients: 'Kliens',\n\t\tvehicleGroups: 'Jármű csoport',\n\t\troutes: {\n\t\t\tindex: 'Útvonal',\n\t\t\tadd: 'Útvonal hozzáadása'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Útvonal',\n\t\tdistance: 'Távolság (km)',\n\t\tname: 'Név',\n\t\tvehicles: 'Járművek',\n\t\tvehicle: 'Jármű',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Szélesség (m, pl. 2.4m)',\n\t\t\theight: 'Magasság (m, pl. 4.2m)',\n\t\t\tlength: 'Hossz (m, pl. 7m)',\n\t\t\tweight: 'Súly (t, pl. 5t)',\n\t\t},\n\t\tduration: 'Időtaram',\n\t\twaypoints: {\n\t\t\ttitle: 'Pontok',\n\t\t\ttype: 'Típus',\n\t\t\ttypes: {\n\t\t\t\tload: 'Felrakodás',\n\t\t\t\tunload: 'Lerakodás',\n\t\t\t\tstop: 'Megállás'\n\t\t\t},\n\t\t\tlocation: 'Helyszín',\n\t\t\tduration: 'Időtartam (perc)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Veszélyes anyag',\n\t\t\tstrict: 'Szigorú útvonal',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Robbanó',\n\t\t\t\tgas: 'Gáz',\n\t\t\t\tflammable: 'GYúlékony',\n\t\t\t\tcombustible: 'Éghető',\n\t\t\t\torganic: 'Szerves',\n\t\t\t\tpoison: 'Méreg',\n\t\t\t\tradioActive: 'Radioaktive',\n\t\t\t\tcorrosive: 'Maró',\n\t\t\t\tpoisonousInhalation: 'Belélegzéskor mérgező',\n\t\t\t\tharmfulToWater: 'Vízre káros',\n\t\t\t\tother: 'Egyéb',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Útvonal generálása',\n\t\t\toptimize: 'Útvonal optimalizálás',\n\t\t\tnext: 'Következő',\n\t\t\tsave: 'Ment',\n\t\t\tadd: 'Hozzáad',\n\t\t\tsearch: 'Útvonal keresés...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Útvonal generálás...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Optimalizált útvonal',\n\t\t\tuse: 'Optimalizált útvonal használata',\n\t\t\tmessage: 'Az útvonal optimalizálható',\n\t\t\tdiff: 'Az optimalizált útvonal rövidebb <b>{{distance}} km-l</b> és gyorsabb <b>{{time}} idővel</b>.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Menetrend'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Részletek'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Név',\n\t\t\tdistance: 'Távolság',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Vezetés',\n\t\t\t\trest: 'Pohenő',\n\t\t\t\ttotal: 'Időtartam',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Elsődleges',\n\t\t\t\tcheapest: 'Legolcsóbb',\n\t\t\t\tfastest: 'Leggyorsabb',\n\t\t\t\tshortest: 'Legrövidebb',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Eltesz',\n\t\t\t\tsave: 'Ment',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Szállítás típusa',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Hűtött',\n\t\t\t\t\tsecure: 'Biztonságos',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Költség',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Veszteség arány (mozgás/ár)',\n\t\t\tcost: 'Költség',\n\t\t\tcostDetailed: 'Gépkocsivezető költség: {{driverCost}}€\\nJármű költség: {{vehicleCost}}€',\n\t\t\tprofitability: 'Profitabilitás',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Alacsony',\n\t\t\t\tmedium: 'Közepes',\n\t\t\t\thigh: 'Magas',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimalizálás',\n\t\t\tloading: 'Betöltés...',\n\t\t\tcostDetailed: 'Gépkocsivezető költség: {{driverCost}}€\\nJármű költség: {{vehicleCost}}€\\nÚtdíj: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Név',\n\t\t\texternalID: 'Külső azonosító',\n\t\t\tclient: 'Kliens',\n\t\t\tvehicleGroup: 'Jármű csoport',\n\t\t\tstatus: 'Státusz',\n\t\t\tstatusDate: 'Státusz dátuma',\n\t\t\tstartLocation: 'Kezdő helyszín',\n\t\t\tendLocation: 'Vég helyszín',\n\t\t\tdate: 'Dátum',\n\t\t\tattachments: 'Mellékletek',\n\t\t\tupdatedAt: 'Utolso frissítés',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Megrendelés hozzáadása',\n\t\t\t\tname: 'Név',\n\t\t\t\tstatus: 'Státusz',\n\t\t\t\tsource: 'Forrás',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'Külső azonosító',\n\t\t\t\tvehicleGroup: 'Jármű csoport',\n\t\t\t\tclient: 'Kliens',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Cím',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Berakodás',\n\t\t\t\t\t\tunloading: 'Kirakodás',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Melléklet feltöltése',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Név',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Kliens hozzáadása',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Kliens hozzáadása',\n\t\t\t\tname: 'Név',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Név',\n\t\t\ttractorUnit: 'Vontató',\n\t\t\tsemitrailer: 'Félpótkocsi',\n\t\t\tdriver: 'Gépkocsivezető',\n\t\t\tcodriver: 'Gépkocsivezető társ',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Járműcsoport hozzáadása',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Járműcsoport hozzáadása',\n\t\t\t\tname: 'Név',\n\t\t\t\ttractorUnit: 'Vontató',\n\t\t\t\tsemitrailer: 'Félpótkocsi',\n\t\t\t\tdriver: 'Gépkocsivezető',\n\t\t\t\tcodriver: 'Gépkocsivezető társ',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Vontató',\n\t\t\tsemitrailers: 'Félpótkocsi',\n\t\t\tvehicleGroups: 'Jármű csoport',\n\t\t},\n\t},\n}\n","﻿export default {\n\tdriverBehaviour: 'Vezetési viselkedés',\n\tmenu: {\n\t\tfcz: 'Napi vezetési stílus',\n\t\tperformance: 'Teljesítmény',\n\t\t'engine-load-rpm': 'Motorterhelés / Fordulatszám',\n\t},\n\ttotals: {\n\t\trevRecommended: 'Total recommended rev',\n\t\trevMarginal: 'Total marginal rev',\n\t\trevForbidden: 'Total forbidden rev',\n\t\trevOver: 'Total over-rev',\n\t\trevOverLoaded: 'Total over-loaded',\n\t\trevUnder: 'Total under-rev',\n\t},\n\tsettings: {\n\t\tspecific: {\n\t\t\troute: {\n\t\t\t\tpriorityCAN: 'CAN Távolság',\n\t\t\t\tpriorityGPS: 'GPS Távolság'\n\t\t\t}\n\t\t}\n\t},\n\theaderFields: {\n\t\tdriver: 'Gépkocsivezető',\n\t\tvehicle: 'Jármű',\n\t\tdate: 'Dátum',\n\t\tscore: 'Pontszám',\n\t\tdistanceTotal: 'Távolság (km)',\n\t\tfuelConsumptionTotal: 'Fogyasztás',\n\t\taverageAxleLoad: 'Teljes rakmomány',\n\t\taverageSpeed: 'Átlag sebesség',\n\t\tbreakingDistance: 'Fékezés / 100km',\n\t\tharshBreakingDistance: 'Durva fékezés / 100km',\n\t\tharshAccelerationDistance: 'Durva gyorsulás / 100km',\n\t\tfuelConsumptionMovingDistance: 'Haladás fogyasztás / 100km',\n\t\tfuelConsumptionIdle: 'Üres járatas fogyastás',\n\t\tfuelConsumptionTotalDistance: 'Teljes fogyasztás / 100km',\n\t\tdurationIdle: 'Üres járatás ideje',\n\t\tpercentCruiseControl: 'Automata pilóta (%)',\n\t\tpercentInertia: 'Retarder (%)',\n\t\tpercentMoving: 'Vezetés (%)',\n\t\tpercentIdle: 'Üres járatás (%)',\n\n\t\t// performance\n\t\taccBrake100kmAvg: 'Átlagos gyorsulás/lassulás 100 km-enként',\n\t\taccBrakeTimeAvg: 'Átlagos idő a gyorsulástól a lassulásig',\n\t\tangle: 'Szög',\n\t\tauxHeating: 'Segéd-fűtés',\n\t\taxleLoadAvg: 'Átlagos tengelyterhelés',\n\t\tascendPercentage: 'Emelkedési százalék',\n\t\tbrakingCount100kmAvg: 'Átlagos fékezésszám 100 km-enként',\n\t\tcompanyScore: 'Céges pontszám',\n\t\tcompanyScoreAccBr: 'Céges pontszám gyorsulás/lassulás',\n\t\tcompanyScoreAccBrTime: 'Céges pontszám gyorsulás/lassulás idő',\n\t\tcompanyScoreBrk: 'Céges pontszám fékezés',\n\t\tcompanyScoreDeltaAcc: 'Céges pontszám gyorsulásváltozás',\n\t\tcompanyScoreCruise: 'Céges pontszám sebességtartó automatika',\n\t\tcompanyScoreInertia: 'Céges pontszám inerciás haladás',\n\t\tcompanyScoreRetarder: 'Céges pontszám retarder',\n\t\tdeltaAccKmAvg: 'Átlagos gyorsulásváltozás kilométerenként',\n\t\tdescendPercentage: 'Lejtmeneti százalék',\n\t\tdifficultyScore: 'Út nehézségi pontszáma',\n\t\tdistanceCruiseControlKmAvg: 'Átlagos távolság sebességtartóval kilométerenként',\n\t\tdistanceInertiaKmAvg: 'Átlagos távolság inerciával kilométerenként',\n\t\tdurationMoving: 'Mozgás időtartama',\n\t\toverSpeedKm: 'Átlagos távolság a sebességhatáron túl kilométerenként',\n\t\tpanicBraking: 'Pánikfékezés',\n\t\tretarderOnKmAvg: 'Átlagos távolság retarderrel kilométerenként',\n\t\tscoreAccBr: 'Gyorsulás/lassulás pontszám',\n\t\tscoreAccBrTime: 'Gyorsulás/lassulás idő pontszám',\n\t\tscoreBrk: 'Fékezés pontszám',\n\t\tscoreDeltaAcc: 'Gyorsulásváltozás pontszám',\n\t\tscoreCruise: 'Sebességtartó automatika pontszám',\n\t\tscoreInertia: 'Inercia pontszám',\n\t\tscoreRetarder: 'Retarder pontszám',\n\t\tstationEngineOn: 'Motor bekapcsolva állapotban',\n\t\tstops: 'Megállók',\n\t\tavgScore: 'Súlyozott összpontszám (kezdetektől napjainkig)',\n\n\t\taccRedZone: 'Gyorsulás Vörös Zóna',\n\t\taccYellowZone: 'Gyorsulás Sárga Zóna',\n\t\tdccRedZone: 'Fékezés Vörös Zóna',\n\t\tdccYellowZone: 'Fékezés Sárga Zóna',\n\t\tcornerHandling: 'Corner handling',\n\t\tcrashes: 'Ütközés',\n\t\tdistance: 'Távolság',\n\t\tfuelConsumptionDistance: 'Fogyasztás / 100 km',\n\t\tstartTime: 'Kezdés Ideje',\n\t\tendTime: 'Végződés Ideje',\n\t\tharshAccAvg: 'Harsh Acceleration average Durva Gyorsulás átlaga',\n\t\tharshAccWarning: 'Durva Gyorsulás figyelmeztetés',\n\t\tharshAccWarningAvg: 'Durva Gyorsulás figyelmeztetés átlaga',\n\t\tharshAccWarningCount: 'Durva Gyorsulás figyelmeztetés száma',\n\t\tharshDccAvg: 'Durva Fékezés átlaga',\n\t\tharshDccWarning: 'Durva Fékezés figyelmeztetés',\n\t\tharshDccWarningCount: 'Durva Fékezés figyelmeztetés száma',\n\t\tcanDistance: 'CAN Távolság',\n\t\tcanEngineHighRpmDuration: 'Magas fordulatszám (RPM) időtartama',\n\t\tcanEngineHighRpmWarningDuration: 'Magas fordulatszám (RPM) figyelmeztetés időtartama',\n\t\tcanEngineHighRpmWarningDurationOnStationary: 'Magas fordulatszám (RPM) figyelmeztetés időtartama mozdulatlan állapotban',\n\t\tcanEngineLowRpmDurationOnStationary: 'Alacsony fordulatszám (RPM) időtartama  mozdulatlan állapotban',\n\t\tcanEngineOnDurationCount: 'CAN Motor be időtartama száma',\n\t\tcanEngineOnDurationStationary: 'CAN Motor be időtartama mozdulatlan állapotban',\n\t\tcanEngineOnDurationWarningCount: 'CAN Motor be időtartama figyelmeztetések száma',\n\t\tcanFuelConsumption: 'CAN Fogyasztás / 100 km',\n\t\tengineOnDurationStationary: 'Motor be időtartama mozdulatlan állapotban',\n\t\tgpsScore: 'GPS Pontszám',\n\t\tcanScore: 'CAN Pontszám',\n\t\tmobileyeFwdColWarn: 'Fwd Col Warn',\n\t\tmobileyeHeadwayWarn: 'Haladás közbeni figyelmeztetés',\n\t\tmobileyeLaneDepartLeftWarn: 'Sávelhagyás bal figyelmeztetés',\n\t\tmobileyeLaneDepartRightWarn: 'Sávelhagyás jobb figyelmeztetés',\n\t\tmobileyePedDangerWarn: 'PedDangerWarn',\n\t\tmobileyePedFwdColWarn: 'PedFwdColWarn',\n\t\tmobileyeScore: 'MOBILEYE Pontszám',\n\t\ttotalScore: 'Teljes Pontszám',\n\t\tspeedingAvg: 'Sebességtúllépés átlaga',\n\t\tspeedingCount: 'Sebességtúllépés száma',\n\t\tspeedingDistance: 'Gyorshajtás távolsága',\n\t\tuserName: 'Felhasználó neve',\n\t},\n\tselectDriver: 'Kérem válasszon gépkocsivezetőt'\n}\n","﻿export default {\n\temptyName: 'A név szükséges.',\n\tmissingCoordinates: 'Hiányzó koordináta.',\n\tfuelCapacityNotSetted: 'Az üzemanyag kapacitás nincs beálítva. Ha látni akarja a pontos üzemanyag értéket állítsa be a kapacitást!',\n\tinvalidAlertStationaryTimeRange: 'Érvénytelen mozdulatlansági idő. 5 és 60 közötti értéket írjon be.',\n\tinvalidAlertStationaryTimeMultiple: 'Érvénytelen mozdulatlansági idő. 5 többszörösét írja be.',\n\tinsufficientPolygonPoints: 'Kevés pontot adott meg. Minimum 3 szükséges.',\n\terrorsExists: 'Hiba lépett fel',\n\tplaseTryAgainLater: 'Kérem próbálkozzon később',\n\tcheckFileAndTryAgain: 'Ellenőrizze a file-t és próbálja újra',\n\tnumberWithoutComma: 'Pontot (.) használjon decimális érték megadásánál.',\n\terrorsExistsCheckData: 'Hibát találtunk. Kérem ellenőrizze az adatokat.',\n\tvalidation: {\n\t\tpoi: {\n\t\t\tinvalidPoiShape: 'A \"pont\" alakja egy pár koordinátát kell tartalmazzon és a minimum határérték 50 méter.',\n\t\t\tpoiRequiresPoint: 'A POI rögzítése típus pont alakra kell rögzíteni.',\n\t\t\tpoiOrGeofenceExpected: 'Az elvárt POI típus \"poi\" vagy \"geofence\" lehet\".',\n\t\t\tinvalidPolygon: ' A \"Polygon\" alakjának meghatározásához a \"coordinates\" mező egy float típusú tömb, ami legalább 8 értéket tárol',\n\t\t\tboundaryTooSmall: 'A POI határához a számnak 50 fölött kell lennie',\n\t\t\tgeneral: 'Érvénytelen alak',\n\t\t\tinvalidCoordinates: '\"coordinates\" egy tömbnek kell lennie.'\n\t\t},\n\t\ttimetable: {\n\t\t\tinvalidDuration: 'Az időtartamnak nem kevesebb mint 1 óra és nem több mint 24 órának kell lennie. Elvárt formátum: HH:mm',\n\t\t\tinvalidStartTime: ' A kezdő idő szükséges és nem lehet későbbi mint 15 perc. Elvárt formátum:  YYYY-MM-DD HH:mm:ss.',\n\t\t\tinvalidRecurringDuration: 'A menetrend megismétlséhez a kezdő és vég időnek az időtartammal egyeznie kell.',\n\t\t\tinvalidEndTime: 'The end time is set before the duration has expired. A vég idő az időtartam lehárata előtt van.',\n\t\t\tinvalidVehicle: 'A jármű az adatbázisban nem található vagy nincs jogosultsága módosítani azt.',\n\t\t\toverlapping: 'This vehicle already has a timetable starting at the same time as the one uploaded. Ehhez a járműhöz már be lett állítva menetrend arra az időre, ami fel lett töltve.'\n\t\t}\n\t}\n}\n","export default {\n    uits: 'UIT',\n    partners: 'Partnerek',\n    etransport: 'e-Transport'\n}\n","﻿export default {\n\tmaintenances: {\n\t\tlabel: 'Felülvizsgálat értesítés',\n\t\tname: 'Név',\n\t\tcomment: 'Komment',\n\t\tintervalDistance: 'KM intervallum',\n\t\tintervalWorkingHours: 'Munka óra interval',\n\t\tintervalTime: 'Idő intervallum (hónapok)',\n\t\tremainderDistance: 'KM emlékeztető',\n\t\tremainderWorkingHours: 'Munkaóra emlékeztető',\n\t\tremainderTime: 'Idő emlékeztető (napok)',\n\t\tdeleteTitle: 'Karbantartás értesítés szabály törlése',\n\t\tdeleteContent: 'Karbantartási értestée szabály törlésre fog kerülni. Akarja, hogy végrehajtsam?',\n\t\trequiredIntervalOrRemainderInfo: 'Csak az egyik mező kötelező: {{field1}} vagy {{field2}}',\n\t\ttypes: {\n\t\t\t'custom-1': 'Custom 1',\n\t\t\t'custom-2': 'Custom 2',\n\t\t\t'custom-3': 'Custom 3',\n\t\t\t'custom-4': 'Custom 4',\n\t\t\t'custom-5': 'Custom 5',\n\t\t\t'vehicle-licence': 'Jogosítvány',\n\t\t\t'transport-certification': 'Szállítási engedély',\n\t\t\t'medical-notification': 'Orvosi értesítés',\n\t\t\t'registration-certificate': 'Regisztrációs értesítés',\n\t\t\t'mandatory-insurance': 'Kötelező biztosítás',\n\t\t\tvignette: 'Matrica',\n\t\t\t'periodical-technical-inspection': 'Időszakos technikai vizsgálat',\n\t\t\tservice: 'Szervíz',\n\t\t\t'oil-change': 'Olaj csere',\n\t\t\t'tire-change': 'Gumi csere',\n\t\t},\n\t},\n\tmanagement: 'Menedzsment',\n\tdocuments: 'Dokumentumok',\n\tmoreDetails: 'Több hozzáadása',\n\tdocStartDate: 'tól',\n\tdocEndDate: 'ig',\n\tprice: 'Ár',\n\tload: 'Feltölt',\n\tdownload: 'Letölt',\n\taccountInformation: 'Fiók információ',\n\tdocument: {\n\t\tdeleteTittle: 'Dokumentum törlése',\n\t\tsureToDelete: 'A dokumentum{{fileName}} ({{type}}) törlésre fog kerülni',\n\t\tnotifications: {\n\t\t\tdefaultText: 'Értesítés',\n\t\t\tday: 'Egy nap',\n\t\t\tweek: 'Egy hét',\n\t\t\tmonth: 'Egy hónap',\n\t\t}\n\t},\n\theaderFields: {\n\t\tlicensePlate: 'Rendszám',\n\t\tdriver: 'Gépkocsivezető',\n\t\tcar: 'Autó',\n\t\ttype: 'Típus',\n\t\tdivision: 'Divízió',\n\t\tstatus: 'Státusz',\n\t\tname: 'Név',\n\t\temail: 'Email',\n\t\tphoneNumber: 'Telefon',\n\t\trole: 'Típus',\n\t},\n\troles: {\n\t\tnew: 'Szabály hozzáadáse',\n\t\tview: 'Szabály részletek',\n\t\tedit: 'Szabály szerkesztése',\n\t\tdelete: 'Szabály törlése',\n\t\tdeleteUsed: 'A szabály a {{number}} felhasználó(k) által használatban van és nem lehet törölni: {{names}}',\n\t\tsureToDelete: 'A szabály {{name}} ({{type}}) törlésre kerül',\n\t\tneedName: 'A szabálynak nevet kell adni',\n\t\trequiredAtLeastOneGroupOrOneVehicle: 'Egy járműnek vagy egy csoportnak kiválasztásra kell kerülnie.',\n\t},\n\ttimetables: {\n\t\twithoutTimetable: 'Nincs menetrend',\n\t\tto: 'ig',\n\t\tname: 'Menetrend neve',\n\t\tbrowse: 'Böngészés...',\n\t\taddCsv: 'CSV feltöltése',\n\t\tstatus: {\n\t\t\tdefaultText: 'státusz',\n\t\t\tdisabled: 'Tiltva',\n\t\t\tcustom: 'Egyedi',\n\t\t\tfullDay: 'Mindennap',\n\t\t},\n\t\tdelete: {\n\t\t\tsureToDeleteTimetable: 'Biztos, hogy törölni akarja a menetrendet?',\n\t\t\ttitle: 'Menetrend tiltása',\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'Menetrend hozzáadása',\n\t\t\tbuttonText: 'MENT',\n\t\t},\n\t\timport: {\n\t\t\timportedNumber: '{{value}} a menetrend importálásra került',\n\t\t\tnotImportedNumber: '{{value}} a menetrend nincs importálva',\n\t\t\tallImported: '({{value}}) minden menetrend importálásra került',\n\t\t\tnoneImported: 'No schedule was imported',\n\t\t\ttitle: 'Menetrend importálása',\n\t\t\tbuttonText: 'IMOPRT',\n\t\t\tname: 'Menetrend neve',\n\t\t\tlicensePlate: 'Rendszám',\n\n\t\t\taffectedVehicles: 'Jármű váltás meglévő menetrendből',\n\t\t\ttimetablesForRemoval: 'Menetrend eltávolításhoz',\n\n\t\t\tmondayStart: 'Hétfő Kezdés',\n\t\t\tmondayStop: 'Hétfő Vég',\n\n\t\t\ttuesdayStart: 'Kedd Kezdés ',\n\t\t\ttuesdayStop: 'Kedd Vég',\n\n\t\t\twednesdayStart: 'Szerda Kezdés',\n\t\t\twednesdayStop: 'Szerda Vég',\n\n\t\t\tthursdayStart: 'Csütörtök Kezdés',\n\t\t\tthursdayStop: 'Csütörtök Vég',\n\n\t\t\tfridayStart: 'Péntek Kezdés',\n\t\t\tfridayStop: 'Péntek Vég',\n\n\t\t\tsaturdayStart: 'Szombat Kezdés',\n\t\t\tsaturdayStop: 'Szombat Vég',\n\n\t\t\tsundayStart: 'Vasárnap Kezdés',\n\t\t\tsundayStop: 'Vasárnap Vég',\n\t\t\terrors: {\n\t\t\t\tmessage: 'Néhány hiba van a feltöltött file-ba. Kérem javítsa az értékeket és töltse fel újra'\n\t\t\t},\n\t\t\tsuccessful: 'Import sikeres',\n\n\t\t\tdownloadTemplate: 'Sablon letöltése',\n\t\t\tdownloadExample: 'Minta letöltése'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Menetrend szerkesztése',\n\t\t\tbuttonText: 'SZERKESZTÉS',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Menetrend részletei',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tvehicles: {\n\t\t// small modal\n\t\tdivision: 'Divízió',\n\t\tdriverIsAttached: 'A kiválaszott gépkocsivezető egy másik járműhöz van rendelve!',\n\t\tvehicleHasNoDoorSensor: 'A járművön nincs ajtó szenzor',\n\t\tisAssignedToVehicle: 'járműhöz rendelt',\n\t\twillBeAssigned: 'járműhöz lesz rendelve',\n\t\tsureToDeleteVehicle: 'Biztos benne, hogy törölni akarja a járművet?',\n\t\tvehicleHasDeviceAssigned: ' Az eszköz {{deviceID}} a járműhöz lett rendelve',\n\t\tselectDevice: 'Eszköz kiválasztása',\n\t\tselectDispatcher: 'Diszpécser kiválasztása',\n\t\trelayContact: {\n\t\t\ton: {\n\t\t\t\tstate: 'Indítás tiltva',\n\t\t\t\ttitle: 'Indítás tiltása',\n\t\t\t\tconfirm: 'Biztos benne, hogy le akarja tiltani a jármű indítását?'\n\t\t\t},\n\t\t\toff: {\n\t\t\t\tstate: 'Indítás tiltás feloldva',\n\t\t\t\ttitle: 'Indítás engedélyezése',\n\t\t\t\tconfirm: 'Biztos benne, hogy fel akarja oldani a jármű indításának tiltását?',\n\t\t\t},\n\t\t\tibutton: {\n\t\t\t\tstate: 'Indítás tiltva (iButton)',\n\t\t\t\ttitle: 'Indítás tiltása (iButton)',\n\t\t\t\tconfirm: 'Biztos benne, hogy le akarja tiltani a jármű indítását iButton használatával?',\n\t\t\t},\n\t\t},\n\t\tspeedLimit: {\n\t\t\tmax: 'Alapértelmezett riasztás határérték',\n\t\t\tmaxTooltip: 'Riasztás fog történni, ha a határértéket meghaladja, tekintet nélkül a megengedett sebességre (pl 90 km/h járművenként)',\n\t\t\tmin: 'Riasztási határérték ',\n\t\t\tminTooltip: 'Sebesség riasztás nem lesz küldve, ha a határérték alatt marad.',\n\t\t\toffset: 'Megengedett határérték',\n\t\t\toffsetTooltip: '10 km/h túllépés riasztás \\n50 + 10 km/h városban, \\n90 + 10 km/h főúton, \\n130 + 10 km/h autópályán',\n\t\t\terrorMessage: 'Ellenőrizze a pirossal kiemelt sorokat'\n\t\t},\n\t\tdoorAlert: {\n\t\t\tnoAlert: 'Nincs riasztás',\n\t\t\talertOpenDoor: 'Riasztás nyitott ajtóról',\n\t\t\tdoorOpenOutsidePOI: 'Riasztás nyitott ajtóról POI-n kívül',\n\t\t\tdoorOpenOutsidePOIInTimetable: 'Riasztás nyitott ajtóról POI-n kívül a menetrendben',\n\t\t},\n\t\tremoveDevice: 'Eszköz eltávolítás',\n\t\tcannotChangeDeviceUntilRelayContactDisabled: 'Ha a gyújtás blokkolva van az eszköz nem változtatható meg',\n\t\tcannotChangeRelayContactUntilDeviceIsSaved: 'A gyújtás nem blokkolható, amíg az eszköz le nem mentették',\n\t\tdeviceChange: 'Eszköz csere',\n\t\tnoDevices: 'Nincs elérhető eszköz',\n\t\tvehicleDetails: 'Jármű részletei',\n\t\tautoPark: 'Jármű flotta',\n\t\tlicensePlate: 'Rendszám',\n\t\texternalRefuelID: 'Jármű azonosító üzemanyag fiel-ból',\n\t\tvin: 'VIN',\n\t\tmake: 'Make',\n\t\tmodel: 'Model',\n\t\tvehicle: 'Jármű',\n\t\tadblueCapacity: 'Adblue kapacitás (L)',\n\t\tfuel: {\n\t\t\ttypeText: 'Üzemanyag típus',\n\t\t\ttype: {\n\t\t\t\tpetrol: 'Benzin',\n\t\t\t\thybridPetrol: 'Hybrid-Benzin',\n\t\t\t\tdiesel: 'Gázolaj',\n\t\t\t\thybridDiesel: 'Hybrid-Gázolaj',\n\t\t\t\tlpg: 'GPL',\n\t\t\t\telectric: 'Elektromos',\n\t\t\t},\n\t\t\tcapacity: 'Tank kapacitás',\n\t\t\tconsumption: {\n\t\t\t\tsirocol: 'Fűtés fogyasztás L/h',\n\t\t\t\tdistanceWise: 'Átlagos üzemanyag fogyaszát {{unit}}/100KM',\n\t\t\t\ttimeWise: 'Átlagos üzemanyag fogyaszás {{unit}}/h'\n\t\t\t},\n\t\t\tfluctuationFilter: 'Üzemanyag szint ingadozás szűrő',\n\t\t},\n\t\tcategory: 'Kategória',\n\t\ttype: {\n\t\t\tutility: 'Típus',\n\t\t\tcar: 'Autó',\n\t\t\tminibus: 'Minibusz',\n\t\t\tbus: 'Busz',\n\t\t\ttruck: 'Vontató',\n\t\t\ttractor: 'Traktor',\n\t\t\tharvester: 'Kombájn',\n\t\t\tconstruction: 'Munkagép',\n\t\t\ttrailer: 'Pótkocsi',\n\t\t\t'semi-trailer': 'Félpótkocsi'\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: 'Szélesség (m)',\n\t\t\tlength: 'Hossz (m)',\n\t\t\theight: 'Magasság (m)',\n\t\t\tweight: 'Súly (t)'\n\t\t},\n\t\tseats: 'Ülés szám',\n\t\tselectDivision: 'Divízió kiválasztás',\n\t\tselectDriver: 'Gépkocsivezető kiválasztás',\n\t\tremoveDriver: 'Gépkocsivezető eltávolítás',\n\t\tfabricationYear: 'Gyártási év',\n\t\tregistrationDate: 'Bejegyzés dátuma',\n\t\tobuID: 'OBU Azonosító',\n\t\tengine: {\n\t\t\tpower: 'Lóerő (LE)',\n\t\t\tcapacity: 'Motor kapacitás'\n\t\t},\n\t\tpayloadCapacity: 'Hasznos tehet',\n\t\ttireSize: 'Gumi méret',\n\t\tcolor: 'Szín',\n\t\tnew: {\n\t\t\ttitle: 'Jármű hozzáadása',\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Jármű szerkesztése',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Jármű részletek',\n\t\t}\n\t},\n\tusers: {\n\t\tuserDetails: 'Felhasználó részletei',\n\t\t// small modal\n\t\tvehicleHasDriver: 'A kiválasztott járművön már van gépkocsivezető!',\n\t\tuserHasVehicle: 'A felhasználó a járműhöz lett rendelve',\n\t\tifDeleteDetatch: 'Ha törli ezt a felhasználót, nem lesz a járműhöz hozzárendelve.',\n\t\thaveDriver: 'Gépkocsivezetője',\n\t\twichWillBeReplaced: 'amit le fognak cserélni a ',\n\t\tdeleteUser: 'Felhasználó törlése',\n\t\tsureToDeleteThisUser: 'Biztos benne, hogy törlöni akarja a felhasználót?',\n\t\treactivateUser: 'Felhasználó újra aktiválása',\n\t\tsureToReactivateThisUser: 'Biztos benne, hogy újra aktiválni akarja a felhasználót?',\n\t\tsureToResendInvitation: 'Biztos benne, hogy újra akarja küldeni a meghívót?',\n\t\ttheInvitationWillBeSent: 'A meghívó e-mail a következő címre fog küldésre kerülni',\n\t\tresendInvitation: 'Meghívó újraküldése',\n\t\tuserName: 'Felhasználó neve',\n\t\tfirstName: 'Vezeték név',\n\t\tiButton: 'iButton',\n\t\ttachoCardID: 'Tachográf kártya azonosító',\n\t\tlastName: 'Kereszt név',\n\t\temail: 'Email',\n\t\tphotoUpload: 'Fotó feltöltése',\n\t\tdivision: 'Divízió',\n\t\tphoneNumber: 'Telefon',\n\t\tlanguage: 'Nyelv',\n\t\tdrivingLicense: 'Jogosítvány',\n\t\tdrivingLicenseList: {\n\t\t\tcategoryAM: 'AM kategória',\n\t\t\tcategoryA1: 'A1 kategória',\n\t\t\tcategoryA2: 'A2 kategória',\n\t\t\tcategoryA: 'A kategória',\n\t\t\tcategoryB: 'B kategória',\n\t\t\tcategoryBE: 'BE kategória',\n\t\t\tcategoryC: 'C kategória',\n\t\t\tcategoryCE: 'CE kategória',\n\t\t\tcategoryD: 'D kategória',\n\t\t},\n\t\tassignedVehicle: 'Hozzárendelt jármű',\n\t\tdetachVehicle: 'Eltávolított jármű',\n\t\trole: 'Jogosultság',\n\t\tdriver: 'Gépkocsivezető',\n\t\tadmin: 'Administrátor',\n\t\tpartner: 'Partner',\n\t\tmanager: 'Menedzser',\n\t\tsalesAgent: 'Sales ügynök',\n\t\telectrician: 'Villanyszerelő',\n\t\tdocStartDate: 'Tól',\n\t\tdocEndDate: 'Ig',\n\t\tdocPrice: 'Ár',\n\t\tload: 'Betölt',\n\t\tcountry: 'Ország',\n\t\tnew: {\n\t\t\ttitle: 'Felhasználó hozzáadása',\n\t\t\tbuttonText: 'MENT',\n\t\t\theaderText: 'Felhasználói adatok kitöltése. Részletekárt kattintson a \\'Add more details\\' gombra.'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Felhasználó szerkesztése',\n\t\t\tbuttonText: 'SZERKESZTÉS',\n\t\t\theaderText: 'Felhasználói adatok kitöltése. Részletekárt kattintson a \\'Add more details\\' gombra.'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Felhasználói információk',\n\t\t\tbuttonText: 'OK',\n\t\t\theaderText: 'Információ a kiválasztott felhasználóról Részletekárt kattintson a \\'More\\' gombra.'\n\t\t}\n\t},\n\tgroups: {\n\t\tdeleteGroup: 'Biztos benne, hogy törölni akarja a divíziót?',\n\t\tgroup: 'Divízió',\n\t\taddGroup: 'Divizíó hozzáadása',\n\t\ttimetable: 'Ütemezés',\n\t\teditGroup: 'Divízió szerkesztése',\n\t\tgroupName: 'Divízió címe',\n\t\taddSubGroup: 'Aldivízió hozzáadása',\n\t\teditSubGroup: 'Aldivízió szerkesztése',\n\t\tdeleteSubGroup: 'Aldivízió törlése',\n\t\tshare: 'Partner',\n\t\tadd: 'Hozzáad'\n\t},\n\tgeofences: {\n\t\tname: 'POI címe',\n\t\texternalID: 'Külső Azonosító',\n\t\tradio: 'Rádiusz',\n\t\tsureToDeleteGeofence: 'Biztos benne, hogy törölni akarja a POI-t?',\n\t\tdeleteOldGeofences: 'Minden létező Geofence törlése a platformról',\n\t\talertStationaryTimeHoverText: 'Mozdulatlanság percben (5-60). Csak 5 többszöröse megengedett.',\n\t\ticons: {\n\t\t\tselectIcon: 'Ikon kiválasztása',\n\t\t\tnoIcon: 'Nincs ikon',\n\t\t},\n\t\tdownloadCsv: 'CSV letöltése',\n\t\ttype: {\n\t\t\tgeofence: 'Geofence',\n\t\t\tpoi: 'POI'\n\t\t},\n\t\tshape: {\n\t\t\ttype: {\n\t\t\t\tPolygon: 'Geofence',\n\t\t\t\tPoint: 'POI'\n\t\t\t}\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'POI hozzáadása',\n\t\t\tbuttonText: 'MENT',\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Import POI',\n\t\t\tbuttonText: 'IMPORT POI',\n\t\t\timportedGeofencesNumber: '{{value}} POIs importálva',\n\t\t\tupdatedGeofencesNumber: '{{value}} POIs feltöltve',\n\t\t\tdeletedGeofencesNumber: '{{value}} POIs törölve',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POIs nincs importálva',\n\t\t\tallGeofencesImported: 'Minden ({{value}}) POIs importálva',\n\t\t\tpleaseWait: 'Kérem várjon',\n\t\t\tprocessingGeofences: 'Adatok file-ból való feldolgozása',\n\t\t\tdownloadTemplate: 'Sablon letöltése ',\n\t\t\tdownloadExamples: 'Minta letöltése'\n\t\t},\n\t\tsimulate: {\n\t\t\timportedGeofencesNumber: '{{value}} POIs hozzá lesz adva',\n\t\t\tupdatedGeofencesNumber: '{{value}} POIs frissítve lesz',\n\t\t\tdeletedGeofencesNumber: '{{value}} POIs törlésre kerül',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POIs validáció nem sikerült.',\n\t\t\tallGeofencesImported: 'Minden ({{value}}) POIs importálva',\n\t\t\tvalidateFile: 'File ellenőrzése'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'POI SZERKESZTÉSE',\n\t\t\tbuttonText: 'SZERKESZTÉSE',\n\t\t},\n\t\tinfo: {\n\t\t\ttitle: 'POI információ',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tsettings: {\n\t\tspeedLimit: 'Sebesség határ',\n\t\temails: {\n\t\t\t'poi-enter': 'Belépés POI-ba',\n\t\t\t'poi-exit': 'Kilépés POI-ból',\n\t\t\t'poi-stationary': 'Mozdulatlanság POI-n',\n\t\t\t'geofence-enter': 'Belépés geofence-be',\n\t\t\t'geofence-exit': 'Kilépés geofence-ből',\n\t\t\t'geofence-stationary': 'Mozdulatlanság geofence-n',\n\t\t\t'document-expiry': 'Dokumentum lejár',\n\t\t\t'speeding': 'Sebességtúllépés',\n\t\t\t'door-open-outside-poi': 'Ajtó nyitva POI-n kívül',\n\t\t\t'seal-broken': 'Plomba felszakítva',\n\t\t\t'fuel-level-drop-stationary': 'Üzemanyag szint esés (Szenzor)',\n\t\t\t'fuel-consumption-excessive': 'Túlzott üzemanyag fogyasztás',\n\t\t\t'taxi-coasting': 'Kikapcsolt motornál történt fogyasztás',\n\t\t\t'maintenance-notification': 'Karbantartás emlékeztető',\n\t\t\t'maintenance-upcoming': 'Közelgő karbantartás',\n\t\t\t'aux-cooling-while-moving': 'Tetőklíma',\n\t\t\t'aux-heating-while-moving': 'Állófűtés',\n\t\t\t'border-crossing': 'Határátlépés',\n\t\t\t'confirmed-refuel': 'Következő tankolás',\n\t\t\t'temp-poi-enter': 'Ideiglenes POI-ba való belépés',\n\t\t\t\"engine-off\": \"Gyújtás levétel riasztás\",\n\t\t\t\"tacho-break\": \"Sofőr pihenő riasztás\",\n\t\t\t'low-battery': 'Alacsony tápegység töltöttségi szint',\n\t\t\t'fast-battery-discharge': 'Magas tápegység merülési arány',\n\t\t\t'tacho-rest': 'A járművezetői pihenőidő túllépése',\n\t\t\t'panic-button': 'Vészjelző gomb figyelmeztetés',\n\t\t\tinsertEmailsSeparatedByComma: 'Több e-mail cím beillesztése vesszővel elválasztva',\n\t\t\tinsertPhonesSeparatedByComma: 'Telefonszámok beillesztése vesszővel elválasztva',\n\t\t\tnotifications: 'Értesítés',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Telefon',\n\t\t},\n\t\tcountries: {\n\t\t\tat: 'Ausztria',\n\t\t\tbe: 'Belgium',\n\t\t\tbg: 'Bulgária',\n\t\t\thr: 'Horvátország',\n\t\t\tcy: 'Cyprus',\n\t\t\tcz: 'Csehország',\n\t\t\tdk: 'Dánia',\n\t\t\tee: 'Észtország',\n\t\t\tfl: 'Finnország',\n\t\t\tfr: 'Franciaország',\n\t\t\tde: 'Németország',\n\t\t\tgr: 'Görögország',\n\t\t\thu: 'Hungary',\n\t\t\tie: 'Írország',\n\t\t\tit: 'Olaszország',\n\t\t\tlv: 'Lettország',\n\t\t\tlt: 'Litvánia',\n\t\t\tlu: 'Luxembourg',\n\t\t\tmt: 'Málta',\n\t\t\tnl: 'Hollandia',\n\t\t\tpl: 'Lengyelország',\n\t\t\tpt: 'Portugália',\n\t\t\tro: 'Románia',\n\t\t\tsk: 'Szlovákia',\n\t\t\tsl: 'Szlovénia',\n\t\t\tes: 'Spanyolország',\n\t\t\tse: 'Svédország',\n\t\t\tgb: 'Egyesült-Királyság'\n\t\t}\n\t},\n\tintegrations: {\n\t\tenabled: 'Engedélyezve',\n\t\tactiv: 'aktív',\n\t\tinactive: 'inaktíve',\n\t\tserviceWillBe: 'A szolgáltatás lesz ',\n\t\tserviceIs: 'A szolgáltatás',\n\t\tafterSave: 'mentés után.',\n\t\tenable: 'engedélyezve',\n\t\tdisable: 'letiltás',\n\t\tsave: 'Ment',\n\t\tclient: 'Kiliens kiválasztása',\n\t}\n}\n","﻿export default {\n\tat: 'Nál',\n\tfrom: 'Tól',\n\tto: 'Ig',\n\tduration: 'Időtartam',\n\n\tstart: 'Kezd',\n\tstop: 'Megáll',\n\t// stopInProcess: 'Stationary in process',\n\tlastStationary: 'Utolsó mozdulatlan állapot',\n\tstationary: 'Mozdulatlan',\n\n\t//charts-container\n\tspeed: 'Sebesség',\n\taltitude: 'Magasság',\n\tfuelCanLevel: 'CAN Üzemanyag szint',\n\tfuelLevel: 'Üzemanyag szenzor szint',\n\tacceleration: 'Gyorsulás',\n\trpm: 'RPM',\n\n\t//marker names\n\thall: 'Hall',\n\tgrayMarker: 'Szürke Jelölő',\n\tblueMarker: 'Kék Jelölő',\n\tgreenMarker: 'Zöld Jelölő',\n\torangeMarker: 'Narancs Jelölő',\n\tredMarker: 'Vörös Jelölő',\n\tyellowMarker: 'Sárga Jelölő',\n\tgreen1Marker: 'Világos Zöld Jelölő',\n\tturquoiseMarker: 'Türkiz Jelölő',\n\tpurpleMarker: 'Lila Jelölő',\n\tpinkMarker: 'Rózsaszín Jelölő',\n\n\t//map index popup\n\tlastUpdate: 'Utolsó frissítés',\n\tengineState: 'Motor állapot',\n\tgpsPosition: 'GPS pozíció',\n\tgpsSpeed: 'GPS Sebesség',\n\tcanSpeed: 'CAN Sebesség',\n\tcanAcceleration: 'CAN Gyorsulás',\n\tcanRPM: 'CAN Fordulatszám (RPM)',\n\tcanFuelAvailable: 'Elérhető üzemanyagszint (CAN)',\n\tcanFuelUsed: 'Elhasznált üzemanyag (CAN)',\n\tprobeFuelAvailable: 'Elérhető üzemanyag (sensor)',\n\tdistance: 'Távolság',\n\tdoors: 'Ajtók',\n\tagregation: 'Agregált egység',\n\ttemperature: 'Hőmérséklet',\n\topenMessageThread: 'Üzenetek megnyitása'\n}\n","﻿export default {\n\toperationWithSuccess: 'Művelet sikeresen végrehajtva',\n\toperationMayTake5min: 'A művelet végrehajtása több mint 5 perc',\n\tlanguageChangedWithSuccess: 'Nyelv sikeresen megváltoztatva',\n\tpriorityChangedWithSuccess: 'Priorítás sikeresen megváltoztatva',\n\toperationWithError: 'Művelet sikertelen ',\n\tdeletedWithSuccess: 'Sikeresen törölve.',\n\ttemperatureForPeriod: 'Hőmérséklet időszakra',\n\tnoRecords: 'Rekord nem található.',\n\tgeneratingReportPleaseWait: 'Jelentés generálás. Kérem várjon.',\n\tinvalidIntervalMax3Days: 'Érvénytelen intervallum. Maximum intervallum 3 nap.',\n\tgeneratingRoteDetailedReport: 'Részletes útvonal riport generálás',\n\tgenerateDetailedReport: 'Részletes útvonal riport generálás',\n\twillReceiveReportThroughtEmail: 'Pár percen belül megkapja a riportot e-mail-n.',\n\tdeleteFueling: 'Tankolás érték törlése',\n\tareYouSureToDeleteFueling: 'A tankolás értéke törlésre fog kerülni. Folytassam?',\n\tfluctuationFuel: 'Ingadozás jóváhagyása',\n\tareYouSureToConfirmFluctuation: 'Az ingadozás visszaigazolásra kerül. Folytatja?',\n\troutingFailed: 'Útvonal választás sikertelen',\n\tfullFuel: 'Telinek jelölés',\n\tfullFueled: 'Telinek jelölt',\n\tcannotDeleteVehicleWithDeviceAttached: 'Eszközzel felszerelt jármű nem törölhető!',\n\tareYouSureToConfirmFullFuel: 'A tankolás telinek lesz jelölve. Folytatja?',\n\tcoordsCopiedToClipboard: 'Koordináták vágolapra másolva',\n\troutesWithStationaryLowerThanSelectedWillBeMerged: 'Azokon az útvonalakon, ahol a beállítottnál alacsonyabbak a moztudulatnal idők, összevonásra kerülnek',\n}\n","export default {\n\tcrossedBorderFrom: 'Határátkelés honnan',\n\tcrossedBorderTo: 'Határátkelés hova',\n\talerts: {\n\t\tvalidValues: 'Az értékek normál paraméterek',\n\t\tfuel: {\n\t\t\tprocessing: 'Az adatok feldolgozása folyamatban van',\n\t\t\tfluctuation: 'Üzemanyag ingatodáz a felhasználó által jóváhagyva',\n\t\t\tdropStationary: 'Üzemanyag szint esés mozdulatlan állapotban',\n\t\t\tdiffDetectedRefuelBiggerThan5: 'A különbség a rögzített üzemanyag szint és a mért mennyiség között nagyobb mint 5L',\n\t\t},\n\t\tmaxSpeed: {\n\t\t\tred: 'Sebességtúllépési határ {{maxSpeed}}km/h túllépés {{dif}}km/h',\n\t\t},\n\t\tstationary: {\n\t\t\tgreen: 'Mozdulatlan időtartam beindított motornál kevesebb mint 5 perc',\n\t\t\tyellow: 'Mozdulatlan időtartam beindított motornál 5 és 15 perc között van',\n\t\t\tred: 'Mozdulatlan időtartam beindított motornál nagyobb mint 15 perc',\n\t\t},\n\t},\n\ttitle: {\n\t\tafterhours: 'Gépkocsivezetői teljesítés',\n\t\talerts: 'Riasztás',\n\t\tconsumption: 'Fogyasztás',\n\t\t'fleet-summary': 'Flotta Összesítő',\n\t\tfaz: 'Napi aktivitás',\n\t\t'fuel-level': 'Üzemanyag szint',\n\t\tnotifications: 'Értesítés',\n\t\tpoi: 'POI Aktivitás',\n\t\t'poi-temperature': 'POI TK',\n\t\troute: 'Útvonal',\n\t\tstationary: 'Megállások',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Hőmérséklet',\n\t\t'temperature-range': 'TK Hours',\n\t\ttimesheet: 'Jelenléti ív',\n\t\tconstruction: 'Felépítés'\n\t},\n\treports: 'Riportok',\n\tmenu: {\n\t\tafterhours: 'Gépkocsivezetői teljesítés',\n\t\talerts: 'Riasztás',\n\t\tcosts: 'Költségek',\n\t\tcabotage: 'Kabotázs',\n\t\tcountries: 'Országok',\n\t\tconsumption: 'Fogyasztás',\n\t\t'driver-behaviour': 'Vezetési viselkedés',\n\t\t'driver-routes': 'Sofőr útvonalak',\n\t\tengine: 'Motor',\n\t\t'fleet-summary': 'Flotta összesítő',\n\t\t'fleet-summary-extended': 'Bővített flotta összesítő',\n\t\tfaz: 'Napi aktivitás',\n\t\t'fuel-level': 'Üzemanyag szint',\n\t\t'km-day': 'Napi távolság',\n\t\tnotifications: 'Értesítés',\n\t\tpoi: 'POI Aktivitás',\n\t\t'poi-temperature': 'POI TK',\n\t\troute: 'Útvonal',\n\t\tstationary: 'Megállók',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Hőmérséklet',\n\t\t'temperature-range': 'Hűtő egységek',\n\t\ttimesheet: 'Jelenléti ív',\n\t\tconstruction: 'Felépítés',\n\t\t'obu-tickets': 'OBU Jegyek',\n\t\t'tacho-files': 'Tachográf állományok',\n\t\t'tacho-timesheet': 'Tachográf analízis',\n\t\t23: 'Üzemanyag fogyastás',\n\t\ttransits: 'Tranzit',\n\t},\n\tdownloads: 'Letöltés',\n\tsettings: {\n\t\tdensity: 'Sűrűség',\n\t\tspecific: {\n\t\t\t'tacho-files': {\n\t\t\t\tsummarize: 'Filter',\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryDuration: 'Mozdulatlan időtartam',\n\t\t\t\tweeklyBreak: 'Heti pihenő',\n\t\t\t\tdailyBreak: 'Napi pihenő',\n\t\t\t\tborderCrossing: 'Határátlépés',\n\t\t\t\tstoppingPurpose: 'Felrakodás / Lerakodás',\n\t\t\t\tweeklyBreakStart: 'Heti pihenő kezdete',\n\t\t\t\tweeklyBreakEnd: 'Heti pihenő vége',\n\t\t\t\tdailyBreakStart: 'Napi pihenő kezdete',\n\t\t\t\tdailyBreakEnd: 'Napi pihenő vége',\n\t\t\t\tloadStart: 'Felrakodás kezdete',\n\t\t\t\tloadEnd: 'Felrakodás vége',\n\t\t\t\tunloadStart : 'Lerakodás kezdete',\n\t\t\t\tunloadEnd: 'Lerakodás vége',\n\t\t\t\tduration: 'Időtartam',\n\t\t\t\tschedule: 'Útvonalak az ütemtervben',\n\t\t\t\tnoschedule: 'Útvonal 0-24',\n\t\t\t\tpriorityCAN: 'Távolság CAN',\n\t\t\t\tpriorityGPS: 'Távolság GPS',\n\t\t\t\tinfoCAN: 'CAN info',\n\t\t\t\tinfoGPS: 'GPS info',\n\t\t\t\tengineOnTimeCAN: 'CAN Motor be Idő',\n\t\t\t\tengineOnTimeGPS: 'GPS Motor be Idő',\n\t\t\t\tCAN: 'CAN',\n\t\t\t\tcng:{\n\t\t\t\t\tvolume: 'CNG - L',\n\t\t\t\t\tweight: 'CNG - Kg',\n\t\t\t\t\tpercent: 'CNG - %',\n\t\t\t\t},\n\t\t\t\tENGINE: 'Motor',\n\t\t\t\tpoi: 'POI',\n\t\t\t\taddress: 'Cím'\n\t\t\t},\n\t\t\tshipping: {\n\t\t\t\tschedule: 'Szállítás ütemezve',\n\t\t\t\tnoschedule: 'Szállítás 0-24'\n\t\t\t},\n\t\t\tgroupByVehicles: 'Csoportosítás jármű szerint',\n\t\t\tgroupByDrivers: 'Csoportosítás gépkocsivezető szerint'\n\t\t}\n\t},\n\tsubscribe: {\n\t\ttitle: 'Előfizetés',\n\t\tfields: {\n\t\t\tlabel: {\n\t\t\t\temail: 'E-mail cím beillesztése vesszővel elválasztva',\n\t\t\t\tfrequency: 'Értesítés gyakoriságának kiválasztása:',\n\t\t\t\tweekDays: 'Jelentés napjainak kiválasztása:'\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\temail: 'E-mail cím lista:',\n\t\t\t\tfrequency: 'Gyakoriság kiválasztása:',\n\t\t\t\treport: 'Riport kiválasztása:',\n\t\t\t\tdayOfWeek: 'Hét napjainak kiválasztása:'\n\t\t\t}\n\t\t},\n\t\teveryDay: 'Naponta egyszer',\n\t\teveryWeek: 'Hetente egyszer',\n\t\teveryMonth: 'Havonta egyszer',\n\t\tnotifyDate: 'Jelentés napja:'\n\t},\n\theaderFields: { // todo: only the first leter of the header to be uppercase\n\t\ttachoSlot: 'Slot',\n\t\tadblueLevelComposed: 'Adblue szint',\n\t\tday: 'Nap',\n\t\tutcTimezonePopup: 'Ez a riport UTC+0 időzónát használ',\n\t\tacc: 'Gyorsulás pontszáma',\n\t\taccRedZone: 'Gyorsulás Vörös Zóna',\n\t\taccYellowZone: 'Gyorsulás Sárga Zóna',\n\t\tauxHeatingConsumption: 'Álló fűtés fogyastása',\n\t\taverageSpeed: 'Átlagsebesség (km/h)',\n\t\tbreakRedZone: 'Vörös Zóna áttörés',\n\t\tbreakYellowZone: 'Sárga Zóna áttörés',\n\t\tcan: 'CAN',\n\t\tcanDistance: 'Távolság (CAN)',\n\t\tcanEngineOnFirstTime: 'Motor indítás ideje (CAN)',\n\t\tcanEngineOnLastTime: 'Motor leállítás ideje (CAN)',\n\t\tcanEngineOnDuration: 'Motor be időtartam (CAN)',\n\t\tcanFuelConsumption: 'CAN Fogyasztás',\n\t\tcanFuelConsumptionStationary: 'CAN Fogyasztás Mozdulatlan állapotban',\n\t\tcanFuelConsumptionMoving: 'CAN Fogyasztás Haladás közben',\n\t\tcanFuelConsumptionDistance: 'Fogyasztás / 100 (CAN)',\n\t\tcanFuelLevel: 'Üzemanyag szint CAN',\n\t\tcanOdometer: 'CAN Kilométeróra Állás',\n\t\tcurrency: 'Currency',\n\t\todometer: 'Kilométeróra Állás',\n\t\todometerStartComposed: 'Kezdő Kilométeróra Állás',\n\t\todometerComposed: 'Végső Kilométeróra Állás',\n\t\tconsume: 'Fogyasztás',\n\t\tcost: 'Költség (EUR)',\n\t\tcostPopup: '%@ / órával kalkulálva',\n\t\tconsumptionComposed: 'Fogyasztás',\n\t\tconsumptionComposedInfo: 'Ebben az oszlopban a teljes fogyasztást jelenítjük meg mozgásban és álló helyzetben',\n\t\tcountry: 'Ország',\n\t\tcreatedAt: 'Létrehozva',\n\t\tcupolaState: 'Elérhetőség',\n\t\tdate: 'Dátum',\n\t\tdesacc: 'Lassulás pontszám',\n\t\tdistance: 'Távolság (km)',\n\t\tdistanceComposed: 'Távolság (km)',\n\t\tdriver: 'Gépkocsivezető',\n\t\tdriverNames: 'Gépkocsivezetők',\n\t\tduration: 'Időtartam',\n\t\tdurationMoving: 'Haladás Időtartam',\n\t\tdurationStationary: 'Mozdulatlanság Időtartam',\n\t\tdurationStationaryEngineOn: 'Mozdulatlanság Időtartam (Motor be)',\n\t\tdurationWorking: 'Munka Időtartama',\n\t\tendLocation: 'Vég helyszín',\n\t\tendTime: 'Végzés ideje',\n\t\tengineState: 'Motor Állapota',\n\t\tengineFirstTime: 'Motor kezdés idő',\n\t\tengineLastTime: 'Motor végzés idő',\n\t\tengineOnFirstTime: 'Motor kezdés idő',\n\t\tengineOnLastTime: 'Motor végzés idő',\n\t\tengineOnTime: 'Motor be Idő',\n\t\tengineLoadTime: 'Engine load time',\n\t\tentryLocation: 'Belépés helyszínre',\n\t\ttransitDistance: 'Tranzit ideje',\n\t\ttransitCost: 'Tranzit Költség (EUR)',\n\t\tcabotageDistance: 'Kabotázs ideje',\n\t\tcabotageCost: 'Kabotázs Költség (EUR)',\n\t\tentryTime: 'Belépés Ideje',\n\t\texitLocation: 'Kilépés helyszínről',\n\t\texitTime: 'Kilpés ideje',\n\t\tfreezer: 'Hűtő egység',\n\t\tfreezerOnDuration: 'Hűtő egység futás ideje',\n\t\tfuelConsumption: 'Számított fogyasztás',\n\t\tfuelConsumptionStationary: 'Számított fogyasztás mozdulatlan állapotban',\n\t\tfuelConsumptionMoving: 'Számított fogyasztás haladáskor',\n\t\tfuelConsumptionDistanceComposed: 'Fogyasztás / 100km',\n\t\tfuelConsumptionMovingInfo: 'Ez az érték csak a mozgás közbeni fogyasztást tartalmazza. \\nNormális, ha az érték eltér a napi tevékenységi lapon megjelenített fogyasztástól, amely magában foglalja az álló helyzetben is.',\n\t\tfuelConsumptionPer100KMInfo: 'Ez az érték a 100 km-enkénti teljes fogyasztás mozgás közben. \\nNem tartalmazza a fogyasztást álló helyzetben.',\n\t\tfuelConsumptionDurationComposed: 'Fogyasztás / h',\n\t\tfuelConsumptionDistance: 'Fogyasztás / 100km',\n\t\tfuelConsumptionPerHourInfo: 'Ez az érték a teljes fogyasztás álló helyzetben, a motor álló helyzetben járó órák száma alapján. \\nMozgás közbeni fogyasztást nem tartalmaz.',\n\t\tfuelConsumptionNormlized: 'Normalizált fogyasztás',\n\t\tfuelConsumptionAccounting: 'Fogyasztás elszámolás',\n\t\tfuelConsumptionFullToFull: 'Fogyasztás teli tanktól teli tankig',\n\t\tfuelConsumptionFullToFullCan: 'Fogyasztás teli tanktól teli tankig (CAN)',\n\t\tfuelConsumptionFullToFullSensor: 'Fogyasztás teli tanktól teli tankig (Szonda)',\n\t\tfuelConsumptionTotal: 'Teljes fogyasztás',\n\t\tfuelEvent: 'Típus',\n\t\tfuelLevel: 'Üzemanyag szint',\n\t\tfuelLevelComposed: 'Üzemanyag szint',\n\t\tfuelLevelDiff: 'Mennyiség',\n\t\tfuelLevelDiffManual: 'Beírt mennyiség',\n\t\tfuelLevelDiffLiters: 'Mennyiség',\n\t\tfuelSensor: 'Tele tank',\n\t\tgps: 'GPS',\n\t\tgeneratedAt: 'Létrehozva',\n\t\tgpsDistance: 'Távolság (GPS)',\n\t\tgpsEngineOnDuration: 'Motor be időtartam (GPS)',\n\t\tgroupedWith: 'Csoportosított egység',\n\t\tidlingTime: 'Motor be mozdulatlan állapotban',\n\t\tinvoiceNumber: 'Számlaszám',\n\t\tignitionOnTime: 'Gyújtás be idő',\n\t\tlicensePlate: 'Rendszám',\n\t\tlocation: 'Cím',\n\t\tmap: 'Térkép',\n\t\tmaxSpeed: 'Max Sebesség (km/h)',\n\t\tname: 'Rendszám / Név',\n\t\tpersistent: 'Tartós',\n\t\tpoiCount: 'POI-k száma',\n\t\tpoiStationaryDoorsOpenedDuration: 'Mozdulatlan állapot a POI-n nyitott ajtónál',\n\t\tpoiStationaryDuration: 'Mozdulatlan állapot időtartama POI-n',\n\t\tprice: 'Ár',\n\t\tpriceEur: 'Ár (EUR)',\n\t\tprintDetails: 'Részletek',\n\t\trefuelValue: 'Tankolás értéke',\n\t\troadSection: 'Útszakasz',\n\t\trouteType: 'Útvonal típusa',\n\t\tsealEnd: 'Plomba vége',\n\t\tsealStart: 'Plomba kezdete',\n\t\tsensorFuelConsumption: 'Üzemanyag szenzor fogyasztás',\n\t\tsensorFuelConsumptionStationary: 'Üzemanyag szenzor fogyasztás mozdulatlan állapotban',\n\t\tsensorFuelConsumptionMoving: 'Üzemanyag szenzor fogyasztás haladáskor',\n\t\tsensorFuelLevel: 'Üzemanyag szint szenzor',\n\t\tspeed: 'Sebesség pontszám',\n\t\tspeedingAvg: 'Átlagos Gyorshajtás (km/h)',\n\t\tspeedingMax: 'Maximum Gyorshajtás (km/h)',\n\t\tspeedingTime: 'Gyorshajdát ideje',\n\t\tstartLocation: 'Kezdő Helyszín',\n\t\tstartTime: 'Kezdő Idő',\n\t\tstationaries: 'Motor kikapcsolás',\n\t\tstatus: 'Státusz',\n\t\ttemperatureRange1: '4°C alatt',\n\t\ttemperatureRange2: '-4°C és 0°C között',\n\t\ttemperatureRange3: '0°C és 4°C között',\n\t\ttemperatureRange4: '4°C felett',\n\t\ttotalFuelConsumption: 'Teljes kalkulált',\n\t\ttransitNumber: 'Átlépések',\n\t\ttimesheet: 'Jelenléti ív',\n\t\tupdatedAt: 'Frissítve ekkor',\n\t\tvirage: 'Fordulat pontszám',\n\t\tvolumeCan: 'Volumen CAN',\n\t\tvolumeTank: 'Volumen Tank',\n\t\ttotals: {\n\t\t\tcan: 'Teljes CAN',\n\t\t\tcanStationary: 'Teljes CAN Mozdulatlan',\n\t\t\tcanMoving: 'Teljes CAN Haladás',\n\t\t\tcomputed: 'Teljes Kalkulált',\n\t\t\tcomputedStationary: 'Teljes Kalkulált Mozdulatlan állapot',\n\t\t\tcomputedMoving: 'Teljes Kalkulált Haladás',\n\t\t\tcost: 'Teljes költség',\n\t\t\tdistance: 'Teljes Távolság',\n\t\t\tdurationMoving: 'Haladás teljes időtartam',\n\t\t\tdurationStationary: 'Mozdulatlan állapot teljes időtartam',\n\t\t\tgps: 'Teljes GPS',\n\t\t\tsensor: 'Teljes Szenzor',\n\t\t\tsensorStationary: 'Teljes Szenzor Mozdulatlan állapot',\n\t\t\tsensorMoving: 'Teljes Szenzor Haladás',\n\t\t},\n\t\tspecific: {\n\t\t\tafterhours: {\n\t\t\t\tduration: 'Időtartam (órák)'\n\t\t\t},\n\t\t\tconsumption:{\n\t\t\t\tpopups:{\n\t\t\t\t\tnormlizedDistanceConsumption: 'Ön {{distance}} km vezetett {{fuel}} fogyasztással {{fuelUnit}}',\n\t\t\t\t\tnormlizedDistanceConsumptionPerDistance: 'Ön {{distance}} km vezetett {{fuel}} fogyasztással {{fuelUnit}}/100km',\n\t\t\t\t\tnormlizedDistanceUncalculated : 'Ön {{distance}} km vezetett nem kalkulát fogyasztással',\n\t\t\t\t}\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryTypeBefore: 'Indulás előtti megállás típusa',\n\t\t\t\tstationaryTypeAfter: 'Érkezés utáni megállás típusa',\n\t\t\t\tfuelConsumption: 'Kalkulált fogyasztás',\n\t\t\t\tpurpose: 'Cél',\n\t\t\t\tselectPurpose: 'Kiválaszt'\n\t\t\t},\n\t\t\t'driver-routes': {\n\t\t\t\tcardInserted: 'Kártya behelyezve {{number}} helyre.',\n\t\t\t\tcardRemoved: 'Kártya kivéve {{number}} helyről.',\n\t\t\t\ttotalConsumptionNotCalculatedBecauseDiffFuelsType: 'Különböző üzemanyag típus miatt az összegzés nem lehetséges.',\n\t\t\t},\n\t\t\tstation: {\n\t\t\t\tstartTime: 'Kezdő idő',\n\t\t\t\tendTime: 'Vég idő',\n\t\t\t\tduration: 'Időtartam'\n\t\t\t},\n\t\t\tstationary: {\n\t\t\t\tstartTime: 'Kezdő idő',\n\t\t\t\tendTime: 'Vég idő',\n\t\t\t\tduration: 'Időtartam',\n\t\t\t\tstartTimePlanned: 'Kezdő idő (tervezett)',\n\t\t\t\tendTimePlanned: 'Vég idő (tervezett)',\n\t\t\t\tdurationPlanned: 'Időtartam (tervezett)',\n\t\t\t},\n\t\t\ttaxi: {\n\t\t\t\tduration: 'Időtartam',\n\t\t\t\tdistanceAvailable: 'KM Elérhető',\n\t\t\t\tdistanceOccupied: 'KM Foglalt',\n\t\t\t\tdurationAvailable: 'Elérhető Időtartam',\n\t\t\t\tdurationOccupied: 'Foglalt Időtartam',\n\t\t\t\tdurationOff: 'Időtartam ki',\n\t\t\t},\n\t\t\tpoi: {\n\t\t\t\tgeofences: 'POI',\n\t\t\t\twindow: 'Intevallum',\n\t\t\t},\n\t\t\ttachoFiles: {\n\t\t\t\tbuttonLabel: 'Tahográf fájlok letöltése',\n\t\t\t\tvehicles: 'Jármű file-k',\n\t\t\t\tdrivers: 'Gépkocsivezető file-k',\n\t\t\t\tfilename: 'File',\n\t\t\t\tdownloadedAt: 'Letöltés ekkor',\n\t\t\t\tdownloadRequest: {\n\t\t\t\t\ttitle: \"Tachográf fájl letöltés kérés\",\n\t\t\t\t\tbuttonText: \"Kérés elküldése\",\n\t\t\t\t\terrors: {\n\t\t\t\t\t\tvehicleLimitReached: \"Elérte a jármű letöltési korlátot\",\n\t\t\t\t\t\tdownloadLimitReached: \"Elérte a letöltési korlátot\",\n\t\t\t\t\t\t1: \"A kért információ nem teljesíthetó, mert a jármű motor áll. Kérem indítsa be a motort és próbálja újra.\",\n\t\t\t\t\t\t2: \"A kért információ nem teljesíthetó, mert nincs tachográf installálva.\",\n\t\t\t\t\t\t3: \"A kért információ nem teljesíthetó, mert az alvázszám hiányzik. Kérem navigáljon a Menedzsment/Járművek menübe, válassza ki a járművet és Szerkesztést követően rögzítse a VIN számot. Ezt követően próbálja újra a kérést.\"\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: \"A kérést sikeresen elküldtük. Kérem 30 perc múlva ellenőrizze , hogy megérkezett-e a fájl.\",\n\t\t\t\t\twarning: \"A letöltés csak akkor lehetséges, ha a letöltés teljes ideje alatt a gépjármű gyújtás állapotban van.\"\n\t\t\t\t},\n\t\t\t},\n\t\t\ttachoTimesheet: {\n\t\t\t\tstartTime: 'Kezdő idő',\n\t\t\t\tendTime: 'Vég idő',\n\t\t\t\tdrivingDuration: 'Vezetés',\n\t\t\t\tothersDuration: 'Más aktivitás',\n\t\t\t\tavailabilityDuration: 'Elérhetőség',\n\t\t\t\tactivityDuration: 'Teljes munka',\n\t\t\t\trestDuration: 'Pihenés',\n\t\t\t\tnightDuration: 'Éjszakai munka',\n\t\t\t\tdayDuration: 'Nappali munka',\n\t\t\t\tworkingDuration: 'Munka',\n\t\t\t\ttachoCardID: 'Kártyaszám'\n\t\t\t},\n\t\t\t23: {\n\t\t\t\tdistancePaid: 'Távolság (km, fizetett)',\n\t\t\t\tdistanceLoss: 'Távolság (km, veszteség)',\n\t\t\t\tfuelConsumptionDistanceAdjusted: 'Valós üzemanyag fogyasztás / 100km',\n\t\t\t\tfuelDifference: 'Liter különbség (valós / kalkulált)',\n\t\t\t},\n\t\t\tfaz: {\n\t\t\t\tduration: 'Mozgási időtartam'\n\t\t\t}\n\t\t},\n\t},\n\tfuelLevel: {\n\t\teventType: {\n\t\t\tprocessing: 'Feldolgozás folyamatban',\n\t\t\trefuel: 'Tankolás',\n\t\t\tconsumption: 'Fogyasztás'\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Import tankolás',\n\t\t\tbuttonText: 'IMPORT TANKOLÁS',\n\t\t\timported: '{{value}} tankolások importálva ',\n\t\t\tnotImported: '{{value}} tankolások nem importáltak',\n\t\t\tallImported: 'Minden tankolás importálva ({{value}})',\n\t\t},\n\t\tuploadFile: 'File feltöltése'\n\t},\n\tpoi: {\n\t\thit: 'Látogatott',\n\t\tmiss: 'Késett',\n\t\tunplanned: 'Nem tervezett',\n\t\t'no-visit': 'Nem látogatott',\n\t\timportPlan: {\n\t\t\ttitle: 'Import planifications',\n\t\t\tbuttonText: 'TERVEZÉS IMPORTÁLÁSA',\n\t\t\timported: '{{value}} tervezés importálva',\n\t\t\tnotImported: '{{value}} tervezés nem importálható',\n\t\t\tallImported: 'Minden tervezés importálva',\n\t\t},\n\t},\n\t23: {\n\t\tdistanceThreshold: 'Üzemanyg fogyastás csak a 10km-l nagyobb távolság esetén kalulált.'\n\t},\n\ttable: {\n\t\texpand: 'Tábla kiterjesztése',\n\t\tcollapse: 'Tábla összecsukása'\n\t},\n\ttemperature: {\n\t\ttemperatureTable: 'Hőmérséklet tábla'\n\t}\n}\n","﻿export default {\n\tsettings: 'Beállítások',\n\tmenu: {\n\t\tnotifications: 'Értesítés',\n\t\tspeedLimit: 'Sebességhatár',\n\t\tcosts: 'Költségek',\n\t\tcabotage: 'Kabotázs',\n\t\torders: 'Megrendelés',\n\t\tdriverBehaviour: 'Vezetési viselkedés',\n\t\tdataStorage: 'Adattárolás',\n\t\ttms:'TMS',\n\t\tdispatch: 'Dispatch'\n\t},\n\tnotifications: {\n\t\temails: {\n\t\t\tinsertEmailsSeparatedByComma: 'Több e-mail cím beillesztése vesszővel elválasztva',\n\t\t\tinsertPhonesSeparatedByComma: 'Telefonszámok beillesztése vesszővel elválasztva',\n\t\t\tnotifications: 'Értesítés',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Telefon',\n\t\t}\n\t},\n\tspeedLimit: {\n\t\tvehicles: {\n\t\t\tmax: 'Alapértelmezett riasztás határérték (max)',\n\t\t\tmaxTooltip: 'Riasztás fog történni, ha a határértéket meghaladja, tekintet nélkül a megengedett sebességre (pl 90 km/h járművenként)',\n\t\t\tmin: 'Riasztás határérték (min)',\n\t\t\tminTooltip: 'Sebesség riasztás nem lesz küldve, ha a határérték alatt marad.',\n\t\t\toffset: 'Megengedett határérték',\n\t\t\toffsetTooltip: '10 km/h túllépés riasztás \\n50 + 10 km/h városban, \\n90 + 10 km/h főúton, \\n130 + 10 km/h autópályán',\n\t\t\terrorMessage: 'Ellenőrizze a pirossal kiemelt sorokat',\n\t\t\ttype: {\n\t\t\t\tutility: 'Típus',\n\t\t\t\tcar: 'Autó',\n\t\t\t\tminibus: 'Minibusz',\n\t\t\t\tbus: 'Busz',\n\t\t\t\ttruck: 'Vontató',\n\t\t\t\ttractor: 'Traktor',\n\t\t\t\tharvester: 'Kombájn',\n\t\t\t\tconstruction: 'Munkagép',\n\t\t\t\ttrailer: 'Pótkocsi',\n\t\t\t\t'semi-trailer': 'Félpótkocsi'\n\t\t\t}\n\t\t}\n\t},\n\tcosts: {\n\t\ttitle: 'Költségek',\n\t\tdescription: 'Költség/óra beillestése',\n\t\tinsertNumber: 'Költség beillesztése'\n\t},\n\tcountries: {\n\t\tat: 'Ausztria',\n\t\tbe: 'Belgium',\n\t\tbg: 'Bulgária',\n\t\thr: 'Horvátország',\n\t\tcy: 'Cyprus',\n\t\tcz: 'Csehország',\n\t\tdk: 'Dánia',\n\t\tee: 'Észtország',\n\t\tfl: 'Finnország',\n\t\tfr: 'Franciaország',\n\t\tde: 'Németország',\n\t\tgr: 'Görögország',\n\t\thu: 'Hungary',\n\t\tie: 'Írország',\n\t\tit: 'Olaszország',\n\t\tlv: 'Lettország',\n\t\tlt: 'Litvánia',\n\t\tlu: 'Luxembourg',\n\t\tmt: 'Málta',\n\t\tnl: 'Hollandia',\n\t\tpl: 'Lengyelország',\n\t\tpt: 'Portugália',\n\t\tro: 'Románia',\n\t\tsk: 'Szlovákia',\n\t\tsl: 'Szlovénia',\n\t\tes: 'Spanyolország',\n\t\tse: 'Svédország',\n\t\tgb: 'Egyesült-Királyság',\n\t\ttransitCost: 'Tranzit Költségek € / h',\n\t\tcabotageCost: 'Kabotázs Költségek € / h',\n\t\tgeneral: 'Általános'\n\t},\n\tdriverBehaviour: {\n\t\trpm: {\n\t\t\ttitle: 'Fordulatszám (RPM)',\n\t\t\tstationary: 'Mozdulatlan fordulatszám',\n\t\t\tmoving: 'Haladás fordulatszám',\n\t\t\try: 'RPM Vörös-Sárga (%)',\n\t\t\tyg: 'RPM Sárga-Zöld (%)',\n\t\t\tgy: 'RPM Zöld-Sárga (%)',\n\t\t\tyr: 'RPM Sárga-Vörös (%)',\n\t\t\try_allowed: 'Megengedett zóna Vörös-Sárga',\n\t\t\tyg_allowed: 'Megengedett zóna Sárga-Zöld',\n\t\t\tgy_allowed: 'Megengedett zóna Zöld-Sárga',\n\t\t\tyr_allowed: 'Megengedett zóna Sárga-Vörös'\n\t\t},\n\t\tidlingTime: {\n\t\t\ttitle: 'Üresjáratási idő',\n\t\t\ttotal: 'Teljes üresjáratás',\n\t\t\tavg: 'Átlagos üresjáratás',\n\t\t\tavgTime: {\n\t\t\t\tminLabel: 'Átlagos üres járatási idő (perc)',\n\t\t\t\tsecLabel: 'Átlagos üres járatási idő (másodperc)',\n\t\t\t\tminTooltip: 'perc',\n\t\t\t\tsecTooltip: 'másodperc'\n\t\t\t},\n\t\t\tgyr: 'Üres járatás Zöld-Sárga-Vörös zónában',\n\t\t\tgyrTime: {\n\t\t\t\tgyLabel: 'Zöld-Sárga',\n\t\t\t\tgyToolTip: 'Zöld-Sárga üres járatási idő (%)',\n\t\t\t\tyrLabel: 'Sárga-Vörös',\n\t\t\t\tyrToolTip: 'Sárga-Vörös üres járatási idő (%)'\n\t\t\t}\n\t\t},\n\t\tharshAcc: {\n\t\t\ttitle: 'Durva gyorsulás',\n\t\t\tgy: 'Zöld-Sárga',\n\t\t\tyr: 'Sárga-Vörös',\n\t\t\tgy_allowed: 'Zöld-Sárga megengedett',\n\t\t\tyr_allowed: 'Sárga-Vörös megengedett',\n\t\t\tgyTooltip: 'Zöld-Vörös',\n\t\t\tyrTooltip: 'Zöld-Sárga közöett(%)',\n\t\t\tgy_allowedTooltip: 'Zöld-Sárga között megengedett(%)',\n\t\t\tyr_allowedTooltip: 'Sárga-Vörös megengedett(%)'\n\t\t},\n\t\tharshDcc: {\n\t\t\ttitle: 'Durva lassulás',\n\t\t\tgy: 'Zöld-Sárga',\n\t\t\tyr: 'Sárga-Vörös',\n\t\t\tgy_allowed: 'Zöld-Sárga megengedett',\n\t\t\tyr_allowed: 'Sárga-Vörös megengedett',\n\t\t\tgyTooltip: 'Zöld-Vörös',\n\t\t\tyrTooltip: 'Zöld-Sárga között(%)',\n\t\t\tgy_allowedTooltip: 'Zöld-Sárga megengedett(%)',\n\t\t\tyr_allowedTooltip: 'Sárga-Vörös megengedett(%)'\n\t\t},\n\t\tspeeding: {\n\t\t\ttitle: 'Gyorshajtás',\n\t\t\tevtCount: 'Események száma',\n\t\t\tavg: 'Átlagos sebességtúlépés',\n\t\t\tmoving: 'Haladás',\n\t\t\tevtCountTooltip: 'Eseményszám / 100 km',\n\t\t\tavgTooltip: 'Átlagos sebességtúllépési érték km/h',\n\t\t\tmovingTooltip: '(%) haladás km-n'\n\t\t},\n\t\tfuelConsumption: {\n\t\t\ttitle: 'Üzemanyagfogyasztás',\n\t\t\ttooltip: ''\n\t\t},\n\t\try: 'Vörös-Sárga',\n\t\tyg: 'Sárga-Zöld',\n\t\tgy: 'Zöld-Sárga',\n\t\tyr: 'Sárga-Vörös',\n\t\tred: 'Vörös',\n\t\tyellow: 'Sárga',\n\t\tgreen: 'Zöld',\n\t\tselectCarType: 'Kérem válassza ki az autó típusát',\n\t\tcarType: {\n\t\t\tutility: 'Típus',\n\t\t\tcar: 'Autó',\n\t\t\tminibus: 'Minibusz',\n\t\t\tbus: 'Busz',\n\t\t\ttruck: 'Vontató',\n\t\t\ttractor: 'Tractor',\n\t\t\tharvester: 'Kombájn',\n\t\t\tconstruction: 'Munkagép',\n\t\t\ttrailer: 'Pótkocsi',\n\t\t\t'semi-trailer': 'Félpótkocsi'\n\t\t},\n\t\tselectVehicle: 'Kérem válassza ki a járművet',\n\t\tselectVehicleCopy: 'Kérem válassza ki a másolandó járművet'\n\t},\n\torders: {\n\t\tsources: {\n\t\t\ttracknamic: 'Tracknamic',\n\t\t\tsamsung: 'Samsung',\n\t\t\tbibtrack: 'Bibtrack',\n\t\t\tshippeo: 'Shippeo',\n\t\t\tcustom: 'Egyedi'\n\t\t},\n\t},\n\tcabotage: {\n\t\thelper: \"Éjszakai munkavégzés intervallumának beállítása\",\n\t\tnightWorkInterval: \"Éjszakai munkavégzés intervallum\",\n\t\tstartInterval: \"Intervallum kezdete\",\n\t\tendInterval: \"Intervallum vége\",\n\t\tdefault: \"</br> Alapértelmezett: 22-05\"\n\t}\n}\n","﻿export default {\n\tmessages: 'Üzenet',\n\tnewMessageThread: 'Beszélgetés létrehozása',\n\tcancel: 'Elvet',\n\tsearchThreads: 'Keresés...',\n\tdetails: 'Részletek',\n\tthreadName: 'Tárgy',\n\tpriority: 'Priorítás',\n\tlowPriority: 'Normál',\n\tmediumPriority: 'Közepes',\n\thighPriority: 'Magas',\n\tselectPriority: 'Priorítás kiválasztása',\n\tsearchUser: 'Felhasználók keresése...',\n\tselectGroup: 'Divízió kiválasztása',\n\tallGroups: 'Minden divízió',\n\tphone: 'Telefon',\n\temail: 'Email',\n\tadd: 'Hozzáad',\n\tremove: 'Eltávolít',\n\tcreateMessageThread: 'Beszélgetés létrehozása',\n\tupdateMessageThread: 'Beszélgetés frissítése',\n\tdeleteMessageThread: 'Biztos benne, hogy törölni akarja a beszélgetést?',\n\tdeleteConfirmButton: 'Megerősít',\n\tdeleteCancelButton: 'Elvet',\n\tmessageInputPlaceholder: 'Üzenet ítása...',\n\tunreadMessages: ' olvasatlan üzenet',\n\tnoMessages: 'Ebben a beszélgetésben jelenleg nincs üzenet',\n\taddUser: 'Felhasználó hozzáadása',\n\tok: 'Ok',\n\tparticipants: 'Résztvevők',\n\tdocument: 'Dokumentum',\n\tseenBy: 'Megtekintette: '\n}\n","export default {\n\ttitle:'TMS',\n\tdispatch: 'Fuvar feladat',\n\tloadAddress: 'Felrakó címe',\n\tunloadAddress: 'Lerakó címe',\n\tenterQuery: 'Írjon be egy lekérdezést',\n\ttypeToSearch: 'Írjon a kereséshez',\n\tbudget: 'Költségvetés',\n\tstatName: 'Statisztikai címlet',\n\tprofitability: 'Jövedelmezőség',\n\totherStat: 'Egyéb statisztikák',\n\tmenu: {\n\t\tindex: 'Fuvar feladat',\n\t\tmap: 'Térkép',\n\t\torders: 'Megrendelés',\n\t\tclients: 'Kliens',\n\t\tvehicleGroups: 'Jármű csoport',\n\t\troutes: {\n\t\t\tindex: 'Útvonal',\n\t\t\tadd: 'Útvonal hozzáadása'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Útvonal',\n\t\tdistance: 'Távolság (km)',\n\t\tname: 'Név',\n\t\tvehicles: 'Járművek',\n\t\tvehicle: 'Jármű',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Szélesség (m, pl. 2.4m)',\n\t\t\theight: 'Magasság (m, pl. 4.2m)',\n\t\t\tlength: 'Hossz (m, pl. 7m)',\n\t\t\tweight: 'Súly (t, pl. 5t)',\n\t\t},\n\t\tduration: 'Időtaram',\n\t\twaypoints: {\n\t\t\ttitle: 'Pontok',\n\t\t\ttype: 'Típus',\n\t\t\ttypes: {\n\t\t\t\tload: 'Felrakodás',\n\t\t\t\tunload: 'Lerakodás',\n\t\t\t\tstop: 'Megállás'\n\t\t\t},\n\t\t\tlocation: 'Helyszín',\n\t\t\tduration: 'Időtartam (perc)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Veszélyes anyag',\n\t\t\tstrict: 'Szigorú útvonal',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Robbanó',\n\t\t\t\tgas: 'Gáz',\n\t\t\t\tflammable: 'GYúlékony',\n\t\t\t\tcombustible: 'Éghető',\n\t\t\t\torganic: 'Szerves',\n\t\t\t\tpoison: 'Méreg',\n\t\t\t\tradioActive: 'Radioaktive',\n\t\t\t\tcorrosive: 'Maró',\n\t\t\t\tpoisonousInhalation: 'Belélegzéskor mérgező',\n\t\t\t\tharmfulToWater: 'Vízre káros',\n\t\t\t\tother: 'Egyéb',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Útvonal generálása',\n\t\t\toptimize: 'Útvonal optimalizálás',\n\t\t\tnext: 'Következő',\n\t\t\tsave: 'Ment',\n\t\t\tadd: 'Hozzáad',\n\t\t\tsearch: 'Útvonal keresés...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Útvonal generálás...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Optimalizált útvonal',\n\t\t\tuse: 'Optimalizált útvonal használata',\n\t\t\tmessage: 'Az útvonal optimalizálható',\n\t\t\tdiff: 'Az optimalizált útvonal rövidebb <b>{{distance}} km-l</b> és gyorsabb <b>{{time}} idővel</b>.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Menetrend'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Részletek'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Név',\n\t\t\tdistance: 'Távolság',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Vezetés',\n\t\t\t\trest: 'Pohenő',\n\t\t\t\ttotal: 'Időtartam',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Elsődleges',\n\t\t\t\tcheapest: 'Legolcsóbb',\n\t\t\t\tfastest: 'Leggyorsabb',\n\t\t\t\tshortest: 'Legrövidebb',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Eltesz',\n\t\t\t\tsave: 'Ment',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Szállítás típusa',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Hűtött',\n\t\t\t\t\tsecure: 'Biztonságos',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Költség',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Veszteség arány (mozgás/ár)',\n\t\t\tcost: 'Költség',\n\t\t\tcostDetailed: 'Gépkocsivezető költség: {{driverCost}}€\\nJármű költség: {{vehicleCost}}€',\n\t\t\tprofitability: 'Profitabilitás',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Alacsony',\n\t\t\t\tmedium: 'Közepes',\n\t\t\t\thigh: 'Magas',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimalizálás',\n\t\t\tloading: 'Betöltés...',\n\t\t\tcostDetailed: 'Gépkocsivezető költség: {{driverCost}}€\\nJármű költség: {{vehicleCost}}€\\nÚtdíj: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Név',\n\t\t\texternalID: 'Külső azonosító',\n\t\t\tclient: 'Kliens',\n\t\t\tvehicleGroup: 'Jármű csoport',\n\t\t\tstatus: 'Státusz',\n\t\t\tstatusDate: 'Státusz dátuma',\n\t\t\tstartLocation: 'Kezdő helyszín',\n\t\t\tendLocation: 'Vég helyszín',\n\t\t\tdate: 'Dátum',\n\t\t\tattachments: 'Mellékletek',\n\t\t\tupdatedAt: 'Utolso frissítés',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Megrendelés hozzáadása',\n\t\t\t\tname: 'Név',\n\t\t\t\tstatus: 'Státusz',\n\t\t\t\tsource: 'Forrás',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'Külső azonosító',\n\t\t\t\tvehicleGroup: 'Jármű csoport',\n\t\t\t\tclient: 'Kliens',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Cím',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Berakodás',\n\t\t\t\t\t\tunloading: 'Kirakodás',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Melléklet feltöltése',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Név',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Kliens hozzáadása',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Kliens hozzáadása',\n\t\t\t\tname: 'Név',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Név',\n\t\t\ttractorUnit: 'Vontató',\n\t\t\tsemitrailer: 'Félpótkocsi',\n\t\t\tdriver: 'Gépkocsivezető',\n\t\t\tcodriver: 'Gépkocsivezető társ',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Járműcsoport hozzáadása',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Járműcsoport hozzáadása',\n\t\t\t\tname: 'Név',\n\t\t\t\ttractorUnit: 'Vontató',\n\t\t\t\tsemitrailer: 'Félpótkocsi',\n\t\t\t\tdriver: 'Gépkocsivezető',\n\t\t\t\tcodriver: 'Gépkocsivezető társ',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Vontató',\n\t\t\tsemitrailers: 'Félpótkocsi',\n\t\t\tvehicleGroups: 'Jármű csoport',\n\t\t},\n\t},\n}\n","import Alerts from './alerts'\nimport Dispatch from './dispatch'\nimport Driving from './driving'\nimport Errors from './errors'\nimport Etransport from './etransport'\nimport Management from './management'\nimport Markers from './markers'\nimport Messages from './messages'\nimport Reports from './reports'\nimport Settings from './settings'\nimport Threads from './threads'\nimport TMS from './tms'\n\nexport default {\n\ttms: TMS,\n\tdispatch: Dispatch,\n\tdriving: Driving,\n\tmanagement: Management,\n\tetransport: Etransport,\n\tmarkers: Markers,\n\tmessages: Messages,\n\treports: Reports,\n\tsettings: Settings,\n\tthreads: Threads,\n\talerts: {\n\t\ttypes: {\n\t\t\t'fuel-level-drop-stationary': 'Mozdulatlan üzemanyag szint (Szenzor)',\n\t\t\t'fuel-consumption-excessive': 'Túlzott üzemanyag fogyasztás',\n\t\t\t'low-battery': 'Alacsony tápegység töltöttségi szint',\n\t\t\t'fast-battery-discharge': 'Magas tápegység merülési arány',\n\t\t\t'tacho-rest': 'A járművezetői pihenőidő túllépése',\n\t\t\t'panic-button': 'Vészjelző gomb figyelmeztetés'\n\t\t},\n\t\ttachoRestInfo: 'Ha a sofőr az 1-5 ciklusban van, akkor 11 óra és 15 perc normál napi pihenő után értesítést/riasztást küldünk.\\nHa a sofőr a 6-7 ciklusban van, akkor 46 óra normál heti pihenő után értesítést/riasztást küldünk.',\n\t\tmessages: Alerts\n\t},\n\terrors: {\n\t\tsavingVehicle: 'Sikertelen jármű mentés',\n\t\tsavingUser: 'Sikertelen felhasználó mentés',\n\t\trelay: 'Gyújtás blokkolás/feloldás hiba',\n\t\tuserExist: 'Létező felhasználó', // err 409\n\t\temailUsed: 'E-mail haszálatban van', // err 410\n\t\t'5010': 'Csak egyszerű polygon megengedett',\n\t\t'5020': 'A divízió már megosztott',\n\t\tmessages: Errors,\n\t\taccountDisabled: 'Elnézést! A cég fiókja inaktiválódott.',\n\t\tmaintenance_1: 'Az oldal ideiglenesen nem elérhető.',\n\t\tmaintenance_2: 'Hamarosan helyreállításra kerül. Elnézést a kellemetlenségekért.<br/>Köszönjük a türelmét.',\n\t\toops: '<br/><p>Valamilyen hiba történt. A kérését nem sikertült teljesíteni. </p><p>Kérem vegye fel a kapcsolatot a támogató csapattal.</p>',\n\t},\n\tyes: \"Igen\",\n\tno: \"Nem\",\n\tgenerate: \"Generate\",\n\tadblueLevel: \"Adblue szint\",\n\texpandSelected : 'Kibont',\n\tcollapseSelected : 'Összecsuk',\n\ttotalKmSelected : 'Teljes távolság kiválasztva',\n\tselectCustomer: 'Válassza ki az ügyfelet',\n\tselectGroup: 'Válasszon csoportot',\n\tselectStatus: 'Válassza ki az állapotot',\n\tselectColor: 'Válasszon színt',\n\tdisplayName: 'Név',\n\tshowVehicles: 'Járművek megjelenítése',\n\thideVehicles: 'Járművek elrejtése',\n\tshowTraffic: 'Forgalom megjelenítése',\n\thideTraffic: 'Forgalom elrejtése',\n\trequired: 'Szükséges',\n\tpages: 'Oldal',\n\tname: 'Név',\n\trole: 'Jogkör',\n\troles: 'Jogkörök',\n\talways: 'Mindig',\n\tnever: 'Soha',\n\thideGeofences: 'Geofence elrejtése',\n\tsettingsGeofences: 'Geofence befállítása',\n\torderNumber: 'Megrendelés szám',\n\tsimple: 'Egyszerű',\n\tmanual: 'Manuális',\n\tdynamic: 'Dinamikus',\n\tmedium: 'Közepes',\n\tbig: 'Nagy',\n\tclient: 'Kliens',\n\tcompany: 'Vállalat',\n\tengineLoad: 'Engine Load %',\n\tengineLoadShort: 'EL',\n\tnoModuleEmailSms: 'Még nem aktiválta az e-mail vagy SMS modult',\n\tapplyTo: 'Alkalmaz',\n\tsameVehicleType: 'Ugyanaz a jármű típus',\n\tallVehiclesFromGroup: 'Minden jármű a csoportból.',\n\tvehicleNotFound: 'Jármű nem található',\n\tuserNotFound: 'Felhasználó nem található',\n\ton: 'be',\n\toff: 'ki',\n\tprovider: 'Szolgáltató',\n\tallAnothers: 'Mindenki más',\n\ttotals: 'Teljes',\n\tentry: 'Belépés',\n\texit: 'Kilépés',\n\tshowExternalID: 'Külső azonosító mutatása',\n\tshowFluctuations: 'Visszaigazolt ingadozás mutatása',\n\thideFluctuations: 'Visszaigazolt ingadozás elrejtése',\n\tpagination: {\n\t\tfirst: 'Első oldal',\n\t\tlast: 'Második oldal',\n\t\tnext: 'Következő oldal',\n\t\tprevious: 'Előző oldal',\n\t\tof: 'of',\n\t\tresultsPerPage: 'Eredmény oldalanként',\n\t\tgoToPage: 'Lapra ugrás',\n\t\tpageOfTotal: 'Oldal {{page}} / összes oldal {{total}}',\n\t},\n\ttotal: 'Teljes',\n\thistoric: 'Történet',\n\tnow: 'Most',\n\tchangeDate: 'Dátum változtatás',\n\tcountry: 'Ország',\n\tstationaryDurationTotal: 'Időtartam (teljes)',\n\tstationaryDurationEngineOn: 'Időtartam (Motor Be)',\n\tstationaryDurationEngineOff: 'Időtartam (Motor Ki)',\n\tdurationEngineOn: 'Duration Engine On',\n\tdurationFormat: 'DD[n] HH[h] mm[m] ss[s]',\n\tdurationFormatDDHHmm: 'DD[n] HH[h] mm[m]',\n\tdurationFormatHHmm: 'HH[h] mm[m]',\n\tdurationFormatCharDay: 'n',\n\tdurationFormatCharHour: 'h',\n\temail: 'Email',\n\tgranularity: 'Részletesség',\n\ttotalDistance: 'Teljes távolság',\n\ttotalFuelConsumptionMoving: 'Teljes üzemanyag fogyasztás (mozgás alatt)',\n\taverageFuelConsumptionMoving: 'Átlagos üzemanyag fogyasztás (mozgás alatt)',\n\ttotalDurationStationary: 'Teljes időtartam (mozdulatlan állapotban)',\n\ttotalDurationStationaryEngineOn: 'Teljes időtartam (mozdulatlanul, járó motorral)',\n\taverageFuelConsumptionStationary: 'Átlagos üzemanyag fogyasztás (mozdulatlan állapotban)',\n\tmin3kmDistanceForFuelConsumptionCalculation: 'Üzemanyag fogyasztás kalkuláció megtett minimum 3 km után',\n\tmin5kmDistanceForFuelConsumptionCalculation: 'Üzemanyag fogyasztás kalkuláció megtett minimum 5 km után',\n\tconsumptionCannotBeComputed: 'Üzemanyag fogyasztás nem kalkulálható. Ellenőrizze a beállításokat.',\n\tfuelSource: {\n\t\tsensor: 'Szonda',\n\t\tcan: 'CAN',\n\t\tcomputed: 'Kalkulált',\n\t},\n\tshowGraphic: 'Grafikon mitatása',\n\tclusterMarkers: 'Cluster Markers',\n\tactiveSince: 'Aktiválás ideje',\n\tpleaseWait: 'Kérem várjon',\n\tprocessingFileData: 'File feldolgozás',\n\texpand: 'Kiterjeszt',\n\tloading: {\n\t\ttext: 'Betöltés'\n\t},\n\tacl: 'Hozzáférés ellenőrzés',\n\talertsAndNotifications: 'Riasztások és értesítések',\n\tlimit: 'Limit',\n\topenDoorsStatus: 'Ajtók státusza',\n\tdoorsStatus: {\n\t\topen: 'Nyitott ajtók',\n\t\tclosed: 'Zárt ajtók',\n\t},\n\tclosed: 'Zárva',\n\topen: 'Nyitva',\n\tdoors: {\n\t\tdoorFrontLeft: 'Elülső bal ajtó',\n\t\tdoorFrontRight: 'Elülső jobb ajtó',\n\t\tdoorBackLeft: 'Hátulsó bal ajtó',\n\t\tdoorBackRight: 'Hátulsó jobb ajtó',\n\t\tdoorTrunk: 'Hátsó ajtó',\n\t\topen: 'nyitva',\n\t\tclosed: 'zárva',\n\t},\n\topenDoor: {\n\t\t'front-left': 'Elülső bal ajtó nyitva', // todo remove after added on map\n\t\t'front-right': 'Elülső jobb ajtó nyitva', // todo remove after added on map\n\t\t'back-left': 'Hátulsó bal ajtó nyitva', // todo remove after added on map\n\t\t'back-right': 'Hátulsó jobb ajtó nyitva', // todo remove after added on map\n\t\t'trunk': 'Hátsó ajtó nyitva', // todo remove after added on map\n\t\t'door-front-left': 'Elülső bal ajtó nyitva',\n\t\t'door-front-right': 'Elülső jobb ajtó nyitva',\n\t\t'door-back-left': 'Hátulsó bal ajtó nyitva',\n\t\t'door-back-right': 'Hátulsó jobb ajtó nyitva',\n\t\t'door-trunk': 'Hátsó ajtó nyitva',\n\t\t'allClosed': 'Minden ajtó zárva',\n\t\t'na': 'Nincs érzékelő',\n\t\tgeneric: 'Ajtó nyitás'\n\t},\n\tfreezerStatus: 'Hűtő egység státusza',\n\tfreezer: {\n\t\ton: 'Hűtő egység Be',\n\t\toff: 'Hűtő egység Ki',\n\t\tna: 'Nincs hűtő egység',\n\t\tgeneric: 'Hűtő egység',\n\t},\n\tvehicle: {\n\t\tengineOn: 'Motor Be',\n\t\tengineOff: 'Motor Ki',\n\t\tunreachable: 'Nincs jel',\n\t},\n\tvehiclesStatus: 'Jármű státusz',\n\tvehicleStatus: {\n\t\tengineOn: 'Mozgás',\n\t\tengineOff: 'Megállt',\n\t\tunreachable: 'Nincs jel',\n\t\tunreachableSince: 'Nincs jel {{status}} óta',\n\t\tnoLocation: 'Nincs eszköz hozzárendelve',\n\t\tgeneric: 'Jármű státusz',\n\t},\n\ttaxiState: 'Elérhetőség',\n\ttaxiStates: {\n\t\tavailable: 'Elérhető',\n\t\toccupied: 'Foglalt',\n\t\toff: 'Ki',\n\t\tna: 'Nem elérhető',\n\t},\n\tauxAC: {\n\t\tlabel: \"Kiegészítő klíma\",\n\t\tauxCooling: \"Tetőklíma\",\n\t\tauxHeating: \"Állófűtés\",\n\t\tvalues: {\n\t\t\ton: \"Be\",\n\t\t\toff: \"Ki\"\n\t\t}\n\t},\n\tpowerExternal: {\n\t\tlabel: \"Tápegység\",\n\t},\n\tlandingPage: 'Kezdő oldal',\n\tlicensePlate: 'Rendszám',\n\tlicensePlates: 'Rendszámok',\n\tprevious: 'Előző',\n\tnext: 'Következő',\n\tnoResults: 'Nincs eredmény',\n\tfromDate: 'Dátum tól',\n\tuntil: 'Egység',\n\tstops: 'Megállók',\n\ttemperatureIntervals: 'Minden',\n\tinterval: 'Időköz',\n\trouteReport: 'Útvonal',\n\tanotherValue: 'Másik érték',\n\tliters: 'Liter',\n\tconsume: 'Fogyaszt',\n\tconsumption: 'Fogyasztás',\n\tspeedPerHour: 'Sebesség (km/h)',\n\tspeed: 'Sebesség',\n\tspeedLimit: 'Sebesség határ',\n\taltitude: 'Magasság',\n\taltitudeMeters: 'Magasság (m)',\n\tfuelLevelLitres: 'Üzemanyag szint (l)',\n\tfuelCanLevelLitres: 'Üzemanyag szint CAN (l)',\n\trefuel: 'Tankolás',\n\taverageSpeed: 'Átlag sebesség',\n\tmaxSpeed: 'Maximális sebesség',\n\tdistance: 'Távolság',\n\tfuelLevelForPeriod: 'Időszakos üzemanyag szint',\n\tcanFuelLevel: 'CAN Üzemanyag szint',\n\tfuelLevel: 'Üzemanyag szint',\n\tfuelCanLevel: 'CAN Üzemanyag szint',\n\tfuelConsumption: 'Fogyasztás',\n\tcalculateRoute: 'Kalkulált útvonal',\n\tdetails: 'Részletek',\n\tnoDetails: 'Részletek nélkül',\n\tevent_enter: 'Esemény belépés',\n\tevent_exit: 'Esemény kilépés',\n\tevent_stationary: 'Esemény vége',\n\talert_in: 'Riasztás belépés',\n\talert_out: 'Riasztás kilépés',\n\talert_transit: 'Átkelés riasztás',\n\tback: 'Vissza',\n\tminValue: 'Minimum érték',\n\tmaxValue: 'Maximum érték',\n\taverageValue: 'Átlag érték',\n\tm_settings: {\n\t\tmarkers: 'Jelölők beállítása',\n\t\tmap: 'Térkép beállítása',\n\t\t_: 'Beállítások'\n\t},\n\tstatusFeed: 'Flotta állapota',\n\toneVehicle: 'Jármű',\n\tvehicles: 'Járművek',\n\tvehicless: 'Járművek',\n\tgeofences: 'Geofences',\n\tpois: 'Érintési pontok',\n\tusers: 'Felhasználók',\n\tdefault: 'Default',\n\tdivisions: 'Divíziók',\n\tduration: 'Időtartam',\n\taccount: 'Fiók',\n\tpoi: 'POI',\n\tpoiMultiple: 'Érintési pontok',\n\ttimetables: 'Ütemterv',\n\tintegrations: 'Integráció',\n\tshare: 'Megosztás',\n\tshared: 'Megosztott',\n\tdayHours: 'Órák',\n\ttheMinutes: 'Percek',\n\tmonthDays: 'Napok',\n\ttheWeekDays: 'Napok',\n\tday: 'Nap',\n\tweek: 'Hét',\n\tmonth: 'Hónap',\n\tevery: 'Minden',\n\tmap: 'Térkép',\n\ttype: 'Típus',\n\tsearch: 'Keresés',\n\tALL: 'MINDEN',\n\tok: 'OK',\n\tadd: 'HOZZÁAD',\n\tsave: 'MENT',\n\tsaveSuccess: 'Adatok mentve',\n\tedit: 'SZERKESZT',\n\tinvite: 'MEGHÍV',\n\treactivate: 'ÚJRA AKTIVÁL',\n\tcancel: 'ELVET',\n\tsend: 'KÜLD',\n\ttimezone: 'Időzóna',\n\tdelete: 'TÖRÖL',\n\taddFueling: 'Tankolás hozzáadása',\n\taddStoppingPurpose: 'Megállás céljának hozzáadása',\n\tload: 'Rakodás',\n\tunload: 'Lerakódás',\n\tstationary: 'Stationary',\n\taclGroup: 'Csoport',\n\taclGroups: 'Csoportok',\n\taclVehicle: 'Jármű',\n\taclVehicles: 'Járművek',\n\tallVehicles: 'Minden jármű',\n\tselected: 'kiválasztott',\n\tsubscribe: 'Feliratkozás',\n\tacceleration: 'Gyorsulás',\n\trpm: 'Fordulatszám(RPM)',\n\ttemperature: 'Hőmérséklet',\n\tcelsiusTemperature: 'Hőmérséklet (°C)',\n\tsensors: 'Érzékelők',\n\tsensor: {\n\t\t'temperature': 'Hőmérséklet',\n\t\t'temperature-1': 'Érzékelő 1',\n\t\t'temperature-2': 'Érzékelő 2',\n\t\t'temperature-3': 'Érzékelő 3',\n\t\t'temperature-4': 'Érzékelő 4',\n\t\t'temperature-5': 'Érzékelő 5',\n\t\t'temperature-6': 'Érzékelő 6',\n\t\t'temperature-7': 'Érzékelő 7',\n\t\t'temperature-8': 'Érzékelő 8',\n\t},\n\taccelerationG: 'Gyorsulás',\n\talert: 'Riasztás',\n\tnotification: 'Értesítés',\n\tdate: 'Dátum',\n\thour: 'Óra',\n\trecurrent: 'Visszatérő',\n\trecurrentEachWeekDay: 'Visszatér naponta {{day}}',\n\tdisabled: 'Tiltva',\n\tdriver: 'Gépkocsivezető',\n\tdrivers: 'Gépkocsivezetők',\n\tdriverss: 'Gépkocsivezető(k)',\n\tnoDriver: 'Gépkocsivezető nélkül',\n\tallDrivers: 'Minden gépkocsivezető',\n\tunselectAllDrivers: 'Kiválasztás törlése',\n\tselectAllDrivers: 'Minden kiválasztása',\n\tselectedDrivers: 'Kiválasztott gépkocsivezetők',\n\tselectFile: 'File kiválasztása',\n\tselectVehicles: 'Járművek kiválasztása',\n\tselectVehicle: 'Járműv kiválasztása',\n\tselectFilters: 'Szűrő kiválasztása',\n\tselectedFilters: 'Kiválasztott szűrők',\n\tlocations: 'Helyszínek',\n\tunknownLocation: 'Ismeretlen helyszín',\n\tunknown: 'Ismeretlen',\n\tvirtualWorkTime: 'Virtuális munkaidő',\n\tvirtualOdometer: 'Virtuális kilóméter óra',\n\tcanOdometer: 'CAN kilóméter óra',\n\todometer: 'Kilóméter óra',\n\tinsertEmailAddress: 'email cím beillesztés',\n\tengineState: 'Motor állapota',\n\trouteType: {\n\t\tstationary: 'Mozdulatlan',\n\t\tmoving: 'Mozog',\n\t},\n\ttime: {\n\t\tperiod: 'Időszak',\n\t\ttoday: 'Ma',\n\t\tcurrentWeek: 'Aktuális hét',\n\t\tcurrentMonth: 'Aktuális hónap',\n\t\tyesterday: 'Tegnap',\n\t\tlastWeek: 'Múlt hét',\n\t\tlastMonth: 'Múlt hónap'\n\t},\n\tweekDays: {\n\t\tsunday: 'Szombat',\n\t\tmonday: 'Hétfő',\n\t\ttuesday: 'Kedd',\n\t\twednesday: 'Szerda',\n\t\tthursday: 'Csütörtök',\n\t\tfriday: 'Péntek',\n\t\tsaturday: 'Szombat'\n\t},\n\tshortDays: {\n\t\tsunday: 'Szo',\n\t\tmonday: 'H',\n\t\ttuesday: 'K',\n\t\twednesday: 'Sze',\n\t\tthursday: 'Cs',\n\t\tfriday: 'P',\n\t\tsaturday: 'V'\n\t},\n\tmonths: {\n\t\tjanuary: 'Január',\n\t\tfebruary: 'Február',\n\t\tmarch: 'Március',\n\t\tapril: 'Április',\n\t\tmay: 'Május',\n\t\tjune: 'Június',\n\t\tjuly: 'Július',\n\t\taugust: 'Augusztus',\n\t\tseptember: 'Szeptember',\n\t\toctober: 'Octóber',\n\t\tnovember: 'November',\n\t\tdecember: 'December'\n\t},\n\tshortMonths: {\n\t\tjanuary: 'Jan',\n\t\tfebruary: 'Feb',\n\t\tmarch: 'Már',\n\t\tapril: 'Ápr',\n\t\tmay: 'Máj',\n\t\tjune: 'Jún',\n\t\tjuly: 'Júl',\n\t\taugust: 'Aug',\n\t\tseptember: 'Szep',\n\t\toctober: 'Okt',\n\t\tnovember: 'Nov',\n\t\tdecember: 'Dec'\n\t},\n\tmenu: 'Menü',\n\texportSvg: 'SVG letöltés',\n\texportPng: 'PNG letöltés',\n\texportCsv: 'CSV letöltés',\n\tselection: 'Kiválaszt',\n\tselectionZoom: 'Kiválasztott Közelítés',\n\tzoomIn: 'Közelítés',\n\tzoomOut: 'Távolodás',\n\tpan: 'Térkép csúsztatás',\n\treset: 'Közelítés alapállapotba',\n\tdashboard: {\n\t\theatmap: {\n\t\t\ttitle: {\n\t\t\t\tdistance: 'Elmúlt 24 órás aktivitás',\n\t\t\t\twork: 'Elmúlt 24 órás munka',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tdistance: 'Távolság',\n\t\t\t\twork: 'Munka',\n\t\t\t},\n\t\t\tunits: {\n\t\t\t\tkm: 'km',\n\t\t\t\tmin: 'perc',\n\t\t\t},\n\t\t\tshowMore: 'Több mutatása',\n\t\t\tshowLess: 'Kevesebb mutatása',\n\t\t},\n\t\tdailyKm: 'Teljes km az elmúlt 24 órában',\n\t\tdailyConsumption: 'Fogyasztás az elmúlt 24 órában',\n\t\tmonthlyKm: 'Megtett távolság az aktuális hónapban',\n\t\tmonthlyConsumption: 'Teljes fogyasztás az aktuális hónapban',\n\t\tcars: 'autók',\n\t\talerts: 'Riasztások',\n\t\tnotifications: 'Értesítések',\n\t\tshowAlerts: 'Riastások mutatása',\n\t\tshowNotifications: 'Értesítések mutatása',\n\t\tshowAllVehicles: 'Összes jármű mutatása',\n\t\tstoped: 'Megállt',\n\t\tmoving: 'Mozog',\n\t\tcontact: 'Kérdése vagy panasza van?',\n\t\tcontactLink: 'Lépjen kapcsolatba velünk!',\n\t\tcontactTitle: 'Kapcsolat',\n\t\tcontactSendBtn: 'Küld',\n\t\tcontactMsgHint: 'Üzenet hozzáadása',\n\t\terrorOnSendingMessage: 'Hiba lépett fel az üzenet küldése során.',\n\t\tplaseTryAgainLater: 'Kérem póbálkozzon később',\n\t\temptyMessage: 'Üzenet nélkül',\n\t\tpleaseInputMessage: 'Kérem írja be üzenetét',\n\t\tnoAlertData: 'Nincs riasztás',\n\t\tnoNotificationData: 'Nincs értesítés',\n\t\tcomingSoon: 'Hamarosan',\n\t\tnoData: 'Nincs adat',\n\t\tshowDriver: 'Gépkocsivezető neve',\n\t\tshowLicensePlate: 'Rendszám',\n\t\tliveStatus: {\n\t\t\tcupola: 'Elérhetőség',\n\t\t\tcupolaState: {\n\t\t\t\tengineOn: 'Elérhető',\n\t\t\t\tengineOff: 'Foglalt',\n\t\t\t\tnone: 'Ki',\n\t\t\t\tna: 'Nincs elérhetőség',\n\t\t\t},\n\t\t\tvehicle: 'Jármű',\n\t\t\taddress: 'Cím / POI',\n\t\t\tlastPOI: 'Utolsó POI',\n\t\t\tnextPlannedPOI: 'Következő POI',\n\t\t\tavailability: 'Elérhetőség',\n\t\t\tstatus: 'Státusz',\n\t\t\tspeed: 'Sebesség',\n\t\t\tfuelLevel: 'Üzemanyag szint',\n\t\t\ttemperature: 'Összesítés',\n\t\t\tdoors: 'Ajtók',\n\t\t\tseal: 'Vámzár',\n\t\t\tdeactivateSealModal: {\n\t\t\t\theader: 'Vámzár deaktiválása',\n\t\t\t\tcontent: 'Szeretné deaktiválni a vámzárat {{sealNumber}}?',\n\t\t\t}\n\t\t},\n\t\ttacho: {\n\t\t\tvehicle: 'Jármű',\n\t\t\tdriver: 'Gépkocsivezető',\n\t\t\tactivity: 'Aktivitás',\n\t\t\ttime: 'Időtartam',\n\t\t\tdistance: 'Távolság',\n\t\t\tweek: 'Hét',\n\t\t\tday: 'Nap',\n\t\t\tdriveTimeLeft: 'Megmaradt vezetési idő (rest)',\n\t\t\tdriveTimeLeftDay: 'Megmaradt napi vezetési idő (nap)',\n\t\t\tdriveTimeLeftWeek: 'Megmaradt heti vezetési idő (hét)',\n\t\t\tdriveTimeNextWeek: 'Következő heti vezetési idő (következő heti)',\n\t\t\tdrivingCycle: 'Ciklusból fennmaradt vezetési idő',\n\t\t\tdrivingDaily: 'Fennmaradt napi vezetési idő',\n\t\t\tdrivingWeekly: 'Fennmaradt heti vezetési idő',\n\t\t\tamplitudeDaily: 'Fennmaradt munkaidő',\n\t\t\ttotalRecovery: 'Bepótlandó órák',\n\t\t},\n\t\tlogout: 'Kijelentkezés'\n\t},\n\tdocument: {\n\t\ttype: {\n\t\t\tvehicle: {\n\t\t\t\tRCA: 'CTP',\n\t\t\t\tCASCO: 'CASCO',\n\t\t\t\tRovinieta: 'Útdíj',\n\t\t\t\tITADR: 'Szállítási engedély',\n\t\t\t\tAltele: 'Egyéb',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tpermis_conducere: 'Jogosítvány',\n\t\t\t\tatestat: 'Szakmai igazolás ',\n\t\t\t\taviz_medical: 'Orvosi igazolás',\n\t\t\t\tAltele: 'Egyéb',\n\t\t\t},\n\t\t},\n\t},\n\tpurposes: {\n\t\tnoPurpose: 'Nincs cél',\n\t\tcustomers: 'Útazás megbízóhoz',\n\t\tsuppliers: 'Útazás beszállítóhoz',\n\t\tprospectingMarket: 'Útazás piac felderítésére',\n\t\tservice: 'Útazás szolgállati',\n\t\twork: 'Utazás munkába',\n\t\ttraining: 'Útazás tréningre',\n\t\tcustoms: 'Útazás vámláshoz',\n\t\tbank: 'Útazás bankba',\n\t\ttaxAuthorities: 'Útazás adóhatósághoz',\n\t\tpersonalInterest: 'Útazás személyes érdeklődés miatt',\n\t},\n\troutes: 'Útvonal',\n\troutesEta: 'Útvonal-ETA',\n\ttacho: {\n\t\tstatus: 'Tahográf',\n\t\tactivity: 'Aktivitás',\n\t\tweek: 'Hét',\n\t\tday: 'Nap',\n\t\tdriver: {\n\t\t\t1: 'Gépkocsivezető-1',\n\t\t\t2: 'Gépkocsivezető-2',\n\t\t},\n\t\tactivities: {\n\t\t\t'-1': 'Ismeretlen',\n\t\t\t0: 'Pihen',\n\t\t\t1: 'Elérhető',\n\t\t\t2: 'Munka',\n\t\t\t3: 'Vezetés',\n\t\t\t4: 'Hiba',\n\t\t\t5: 'N/A',\n\t\t},\n\t\tactivities2: {\n\t\t\tavailable: 'Available',\n\t\t\tdriving: 'Vezetés',\n\t\t\tworking: 'Munka',\n\t\t\tbreak: 'Rövid szünet',\n\t\t\trest: 'Pihenő',\n\t\t\tunknown: 'Ismeretlen',\n\t\t}\n\t},\n\tobu: {\n\t\tbalance: 'Balance',\n\t\tsection: 'Útszakasz',\n\t\tstatuses: {\n\t\t\t0: 'Normál',\n\t\t\t1: 'Alacsony',\n\t\t\t2: 'Üres',\n\t\t}\n\t},\n\tvehicleList: {\n\t\ttacho: {\n\t\t\tdriveTimeLeft: 'Megmaradt vezetési idő (rest)',\n\t\t\tdriveTimeLeftDay: 'Megmaradt vezetési idő (napi)',\n\t\t\tdriveTimeLeftWeek: 'Megmaradt vezetési idő (heti)',\n\t\t\tdriveTimeNextWeek: 'Következő heti vezetési idő (Következő heti)',\n\t\t}\n\t},\n\tsignup: {\n\t\tinvitation: {\n\t\t\texpired: 'A meghívó lejárt. Kérem vegye fel a kapcsolatot az adminisztrátorral.'\n\t\t}\n\t},\n\tmaintenance: {\n\t\trules: 'Karbantartási szabályok',\n\t\tlist: 'Karbantartási lista'\n\t},\n}\n","export default {\n\t'document-expiry': '{{type}} dla {{driver}} {{vehicle}} wygaśnie {{until}}',\n\t'document-expired': '{{type}} dla {{driver}} {{vehicle}} wygasło {{until}}',\n\n\t'poi-enter': '{{licensePlate}} wjechał do POI {{geofenceName}}',\n\t'poi-exit': '{{licensePlate}} opuścił POI {{geofenceName}}',\n\t'poi-stationary': '{{licensePlate}} zatrzymał się w POI {{geofenceName}}',\n\n\t'geofence-enter': '{{licensePlate}} wjechał do obszaru {{geofenceName}}',\n\t'geofence-exit': '{{licensePlate}} opuścił obszar {{geofenceName}}',\n\t'geofence-stationary': '{{licensePlate}} zatrzymał się w obszarze {{geofenceName}}',\n\n\t'door-open-outside-poi': 'Drzwi otwarte poza POI w {{licensePlate}}',\n\t'seal-broken': 'Plomba {{sealNumber}} zerwana w {{licensePlate}}',\n\t'speeding': '{{licensePlate}} przekracza prędkość o {{diff}}km/h',\n\t'fuel-level-drop-stationary': 'Poziom paliwa spadł podczas postoju (czujnik) w {{licensePlate}}',\n\t'fuel-level-drop-stationary-confirmed': 'The {{amount}} L drop for {{licensePlate}} was confirmed', // todo translate\n\t'fuel-level-drop-stationary-fluctuation': 'The drop for {{licensePlate}} was a fluctuation. We are sorry', // todo translate\n\t'fuel-consumption-excessive': 'Zwiększone zużycie paliwa w {{licensePlate}}',\n\t'taxi-coasting': 'Engine off on moving for {{licensePlate}}', // todo translate,\n\t\"panic-button\": \"Alarm paniki w pojeździe {{licensePlate}} w następującej lokalizacji <a href='https://www.google.com/maps?q={{coordinates}}' target='_blank'>[{{coordinates}}]</a>\"\n}\n","export default {\n\tdispatch: 'Dyspozycja',\n\tloadAddress: 'Załaduj adres',\n\tunloadAddress: 'Odładuj adres',\n\tenterQuery: 'Wpisz zapytanie',\n\ttypeToSearch: 'Wpisz aby wyszukać',\n\tbudget: 'Budżet',\n\tstatName: 'Statystyka',\n\tprofitability: 'Rentowność',\n\totherStat: 'Inne statystyki',\n\tmenu: {\n\t\tindex: 'Dyspozycja',\n\t\tmap: 'Map', // todo translate\n\t\torders: 'Orders', // todo translate\n\t\tclients: 'Clients', // todo translate\n\t\tvehicleGroups: 'Vehicle groups', // todo translate\n\t\troutes: {\n\t\t\tindex: 'Trasy',\n\t\t\tadd: 'Dodaj trasę'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Trasa',\n\t\tdistance: 'Dystans (km)',\n\t\tname: 'Nazwa',\n\t\tvehicles: 'Pojazdy',\n\t\tvehicle: 'Pojazd',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Szerokość (w metrach, np. 2.4)',\n\t\t\theight: 'Wysokość (w metrach, np. 4.2',\n\t\t\tlength: 'Długość (w metrach, np. 7)',\n\t\t\tweight: 'Waga (w tonach, np. 5)',\n\t\t},\n\t\tduration: 'Czas Trwania',\n\t\twaypoints: {\n\t\t\ttitle: 'Punkty',\n\t\t\ttype: 'Typ',\n\t\t\ttypes: {\n\t\t\t\tload: 'Załadunek',\n\t\t\t\tunload: 'Rozładunek',\n\t\t\t\tstop: 'Postój'\n\t\t\t},\n\t\t\tlocation: 'Lokalizacja',\n\t\t\tduration: 'Czas trwania (minuty)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Niebezpieczne materiały',\n\t\t\tstrict: 'Ścisła trasa',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Wybuchowy',\n\t\t\t\tgas: 'Gaz',\n\t\t\t\tflammable: 'Łatwopalny',\n\t\t\t\tcombustible: 'Palny',\n\t\t\t\torganic: 'Organiczny',\n\t\t\t\tpoison: 'Trujący',\n\t\t\t\tradioActive: 'Radioaktywny',\n\t\t\t\tcorrosive: 'Żrący',\n\t\t\t\tpoisonousInhalation: 'Trujący przy wdychaniu',\n\t\t\t\tharmfulToWater: 'Szkodliwy dla wody',\n\t\t\t\tother: 'Inny',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Wygeneruj trasę',\n\t\t\toptimize: 'Optymalizuj trasę',\n\t\t\tnext: 'Następny',\n\t\t\tsave: 'Zapisz',\n\t\t\tadd: 'Dodaj',\n\t\t\tsearch: 'Znajdź trasę...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Generowanie trasy...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Zoptymalizowana trasa',\n\t\t\tuse: 'Użyj zoptymalizowanej trasy',\n\t\t\tmessage: 'Trasa nie można zoptymalizować trasy',\n\t\t\tdiff: 'Zoptymalizowana trasa jest krótsza o <b>{{distance}}</b> i szybsza o <b>{{time}}</b>.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Harmonogramy'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Szczegóły'\n\t\t}\n\t},\n\tmap: { // todo translate all\n\t\troute: {\n\t\t\tname: 'Name',\n\t\t\tdistance: 'Distance',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Drive',\n\t\t\t\trest: 'Rest',\n\t\t\t\ttotal: 'Duration',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Primary',\n\t\t\t\tcheapest: 'Cheapest',\n\t\t\t\tfastest: 'Fastest',\n\t\t\t\tshortest: 'Shortest',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Stash',\n\t\t\t\tsave: 'Save',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Transport type',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Freezer',\n\t\t\t\t\tsecure: 'Secure',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Cost',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / tarifar',\n\t\t\tcost: 'Cost',\n\t\t\tcostDetailed: 'Driver cost: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€',\n\t\t\tprofitability: 'Profitability',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Low',\n\t\t\t\tmedium: 'Medium',\n\t\t\t\thigh: 'High',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimize',\n\t\t\tloading: 'Loading...',\n\t\t\tcostDetailed: 'Driver cost: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€\\nTax: {{tollCost}}€',\n\t\t}\n\t},\n\torders: { // todo translate all\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\texternalID: \"External ID\", // TODO translate\n\t\t\tclient: 'Client',\n\t\t\tvehicleGroup: 'Vehicle group', // TODO translate\n\t\t\tstatus: 'Status',\n\t\t\tstatusDate: 'Status date',\n\t\t\tstartLocation: 'Start location',\n\t\t\tendLocation: 'End location',\n\t\t\tdate: 'Date',\n\t\t\tattachments: 'Attachments', // TODO translate\n\t\t\tupdatedAt: 'Last update',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add order',\n\t\t\t\tname: 'Name',\n\t\t\t\tstatus: 'Status',\n\t\t\t\tsource: 'Source',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'External ID',\n\t\t\t\tvehicleGroup: 'Vehicle group',\n\t\t\t\tclient: 'Client',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Address',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Loading',\n\t\t\t\t\t\tunloading: 'Unloading',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Upload attachment', // todo translate\n\t\t\t},\n\t\t}\n\t},\n\tclients: { // todo translate all\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Add client',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add client',\n\t\t\t\tname: 'Name',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: { // todo translate all\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\ttractorUnit: 'Tractor unit',\n\t\t\tsemitrailer: 'Semitrailer',\n\t\t\tdriver: 'Driver',\n\t\t\tcodriver: 'Co-driver',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Add vehicle group',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add vehicle group',\n\t\t\t\tname: 'Name',\n\t\t\t\ttractorUnit: 'Tractor unit',\n\t\t\t\tsemitrailer: 'Semitrailer',\n\t\t\t\tdriver: 'Driver',\n\t\t\t\tcodriver: 'Co-driver',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Tractor unit',\n\t\t\tsemitrailers: 'Semitrailer',\n\t\t\tvehicleGroups: 'Vehicle groups',\n\t\t},\n\t},\n}\n","export default {\n\tdriverBehaviour: 'Zachowanie kierowcy',\n\tmenu: {\n\t\tfcz: 'FCZ',\n\t\tperformance: 'Wydajność',\n\t\t'engine-load-rpm': 'Engine load / RPM', // translate\n\t},\n\ttotals: {\n\t\trevRecommended: 'Total recommended rev', // translate\n\t\trevMarginal: 'Total marginal rev', // translate\n\t\trevForbidden: 'Total forbidden rev', // translate\n\t\trevOver: 'Total over-rev', // translate\n\t\trevOverLoaded: 'Total over-loaded', // translate\n\t\trevUnder: 'Total under-rev', // translate\n\t},\n\tsettings: {\n\t\tspecific: {\n\t\t\troute: {\n\t\t\t\tpriorityCAN: 'Dystans CAN',\n\t\t\t\tpriorityGPS: 'Dystans GPS'\n\t\t\t}\n\t\t}\n\t},\n\theaderFields: {\n\t\tdriver: 'Driver', // todo translate\n\t\tvehicle: 'Vehicle', // todo translate\n\t\tdate: 'Data',\n\t\tscore: 'Score', // todo translate\n\t\tdistanceTotal: 'Distance (km)', // todo translate\n\t\tfuelConsumptionTotal: 'Consumption', // todo translate\n\t\taverageAxleLoad: 'Total Load', // todo translate\n\t\taverageSpeed: 'Average speed', // todo translate\n\t\tbreakingDistance: 'Brakes / 100km', // todo translate\n\t\tharshBreakingDistance: 'Harsh brakes / 100km', // todo translate\n\t\tharshAccelerationDistance: 'Harsh acceleration / 100km', // todo translate\n\t\tfuelConsumptionMovingDistance: 'Moving consuption / 100km', // todo translate\n\t\tfuelConsumptionIdle: 'Idle consumption', // todo translate\n\t\tfuelConsumptionTotalDistance: 'Total consumption / 100km', // todo translate\n\t\tdurationIdle: 'Iddle time', // todo translate\n\t\tpercentCruiseControl: 'Cruise Control (%)', // todo translate\n\t\tpercentInertia: 'Retarder (%)', // todo translate\n\t\tpercentMoving: 'Driving (%)', // todo translate\n\t\tpercentIdle: 'Idle (%)', // todo translate\n\n\t\t// performance\n\t\taccBrake100kmAvg: 'Średnie przyspieszenie/hamowanie na 100 km',\n\t\taccBrakeTimeAvg: 'Średni czas od przyspieszenia do hamowania',\n\t\tangle: 'Kąt',\n\t\tauxHeating: 'Ogrzewanie dodatkowe',\n\t\taxleLoadAvg: 'Średnie obciążenie osi',\n\t\tascendPercentage: 'Procent nachylenia',\n\t\tbrakingCount100kmAvg: 'Średnia liczba hamowań na 100 km',\n\t\tcompanyScore: 'Ocena firmy',\n\t\tcompanyScoreAccBr: 'Ocena firmy przyspieszenie/hamowanie',\n\t\tcompanyScoreAccBrTime: 'Ocena firmy czas przyspieszenia/hamowania',\n\t\tcompanyScoreBrk: 'Ocena firmy hamowanie',\n\t\tcompanyScoreDeltaAcc: 'Ocena firmy zmiana przyspieszenia',\n\t\tcompanyScoreCruise: 'Ocena firmy tempomat',\n\t\tcompanyScoreInertia: 'Ocena firmy bezwładność',\n\t\tcompanyScoreRetarder: 'Ocena firmy retarder',\n\t\tdeltaAccKmAvg: 'Średnia zmiana przyspieszenia na kilometr',\n\t\tdescendPercentage: 'Procent nachylenia w dół',\n\t\tdifficultyScore: 'Ocena trudności trasy',\n\t\tdistanceCruiseControlKmAvg: 'Średni dystans z kontrolą prędkości na kilometr',\n\t\tdistanceInertiaKmAvg: 'Średni dystans z bezwładnością na kilometr',\n\t\tdurationMoving: 'Czas ruchu',\n\t\toverSpeedKm: 'Średni dystans przekraczania prędkości na kilometr',\n\t\tpanicBraking: 'Hamowanie awaryjne',\n\t\tretarderOnKmAvg: 'Średni dystans z retarderem na kilometr',\n\t\tscoreAccBr: 'Ocena przyspieszenie/hamowanie',\n\t\tscoreAccBrTime: 'Ocena czas przyspieszenie/hamowanie',\n\t\tscoreBrk: 'Ocena hamowanie',\n\t\tscoreDeltaAcc: 'Ocena zmiana przyspieszenia',\n\t\tscoreCruise: 'Ocena tempomat',\n\t\tscoreInertia: 'Ocena bezwładność',\n\t\tscoreRetarder: 'Ocena retarder',\n\t\tstationEngineOn: 'Silnik włączony na postoju',\n\t\tstops: 'Przystanki',\n\t\tavgScore: 'Łączny ważony wynik (początek do teraz)',\n\n\t\taccRedZone: 'Przyspieszenie Strefa Czerwona',\n\t\taccYellowZone: 'Przyspieszenie Strefa Żółta',\n\t\tdccRedZone: 'Hamowanie Strefa Czerwona',\n\t\tdccYellowZone: 'Hamowanie Strefa Żółta',\n\t\tcornerHandling: 'Pokonywanie zakrętów',\n\t\tcrashes: 'Wypadki',\n\t\tdistance: 'Dystans',\n\t\tfuelConsumptionDistance: 'Zużycie / 100 km',\n\t\tstartTime: 'Czas Start',\n\t\tendTime: 'Czas Koniec',\n\t\tharshAccAvg: 'Ostre Przyspieszenie średnio',\n\t\tharshAccWarning: 'Ostre Przyspieszenie ostrzeżenie',\n\t\tharshAccWarningAvg: 'Ostre Przyspieszenie ostrzeżenie średnio',\n\t\tharshAccWarningCount: 'Ostre Przyspieszenie liczba ostrzeżeń',\n\t\tharshDccAvg: 'Ostre Hamowanie średnio',\n\t\tharshDccWarning: 'Ostre Hamowanie ostrzeżenia',\n\t\tharshDccWarningCount: 'Ostre Hamowanie liczba ostrzeżeń',\n\t\tcanDistance: 'Dystans CAN',\n\t\tcanEngineHighRpmDuration: 'Czas trwania na wysokich obrotach',\n\t\tcanEngineHighRpmWarningDuration: 'Czas trwania ostrzeżenia wysokich obrotów',\n\t\tcanEngineHighRpmWarningDurationOnStationary: 'Czas trwania ostrzeżenia wysokich obrotów na postoju',\n\t\tcanEngineLowRpmDurationOnStationary: 'Czas trwania niskie obroty na postoju',\n\t\tcanEngineOnDurationCount: 'CAN engine on duration count',\n\t\tcanEngineOnDurationStationary: 'CAN czas trwania: silnik włączony na postoju',\n\t\tcanEngineOnDurationWarningCount: 'CAN liczba ostrzeżeń: silnik włączony',\n\t\tcanFuelConsumption: 'Zużycie paliwa CAN / 100 km',\n\t\tengineOnDurationStationary: 'Czas Trwania Silnik Włączony Na Postoju',\n\t\tgpsScore: 'GPS Punkty',\n\t\tcanScore: 'CAN Punkty',\n\t\tmobileyeFwdColWarn: 'Fwd Col Warn',\n\t\tmobileyeHeadwayWarn: 'Headway Warning',\n\t\tmobileyeLaneDepartLeftWarn: 'LaneDepartLeftWarn',\n\t\tmobileyeLaneDepartRightWarn: 'LaneDepartRightWarn',\n\t\tmobileyePedDangerWarn: 'PedDangerWarn',\n\t\tmobileyePedFwdColWarn: 'PedFwdColWarn',\n\t\tmobileyeScore: 'Punkty MOBILEYE',\n\t\ttotalScore: 'Łączna Punktacja',\n\t\tspeedingAvg: 'Średnio przekroczeń prędkości',\n\t\tspeedingCount: 'Liczba przekroczeń prędkości',\n\t\tspeedingDistance: 'Dystans przy przekroczeniach prędkości',\n\t\tuserName: 'Nazwa użytkownika'\n\t},\n\tselectDriver: 'Proszę wybrać kierowcę'\n}\n","export default {\n\temptyName: 'Imię jest wymagane..',\n\tmissingCoordinates: 'Brakujące koordynaty.',\n\tfuelCapacityNotSetted: 'Fuel Capacity is not setted. If you want to see the exact fuel value, set it !', // todo translate\n\tinvalidAlertStationaryTimeRange: 'Niewłaściwy czas postoju. Wprowadz liczbę między 5 a 60.',\n\tinvalidAlertStationaryTimeMultiple: 'Niewłaściwy czas postoju. Wprowadź libczę podzielną przez 5.',\n\tinsufficientPolygonPoints: 'Niewystarczająca liczba punktów (minimum 3)',\n\terrorsExists: 'Błąd',\n\tplaseTryAgainLater: 'Proszę spróbować później',\n\tcheckFileAndTryAgain: 'Sprawdź plik i spróbuj ponownie',\n\tnumberWithoutComma: 'Użyj \".\" zeby oddzielić części dziesiętne.',\n\terrorsExistsCheckData: 'Znaleziono błędy. Proszę sprawdzić dane.',\n\tvalidation: {\n\t\tpoi: {\n\t\t\tinvalidPoiShape: '\"Punkt\" może mieć tylko jedną parę koordynatów i minimalna granica to 50 metrów. ',\n\t\t\tpoiRequiresPoint: 'Rekord typu \"poi\" powinien mieć wybrany \"point\" jako kształt.',\n\t\t\tpoiOrGeofenceExpected: 'Wymagany POI typu \"poi\" lub \"geofence\".',\n\t\t\tinvalidPolygon: 'Dla kształtu \"wielokąt\" wymagane są \"koordynaty\" jako tablica liczb zmiennoprzecinkowych o równej długości z przynajmniej 8 wartościami.',\n\t\t\tboundaryTooSmall: 'Granica POI musi być liczbą większą niż 50.',\n\t\t\tgeneral: 'Niewłaściwy kszałt',\n\t\t\tinvalidCoordinates: '\"Koordynaty\" muszą być tablicą koordynatów.'\n\t\t},\n\t\ttimetable: {\n\t\t\tinvalidDuration: 'Czas trwania nie może być krótszy niż jedna godzina i dłuższy niż 24 godziny. Wymagany format: HH:mm',\n\t\t\tinvalidStartTime: 'Czas startu jest wymagany i nie może być wcześniej niż 15 minut. Wymagany format: YYYY-MM-DD HH:mm:ss.',\n\t\t\tinvalidRecurringDuration: 'Dla powtarzających się harmonogramów interwał między czasem startu i czasem końca musi zgadzać się z czasem trwania.',\n\t\t\tinvalidEndTime: 'Czas końca jest przed zakończeniem czasu trwania.',\n\t\t\tinvalidVehicle: 'Pojazd nie został znaleziony w bazie danych lub nie masz uprawnień do modyfikacji.',\n\t\t\toverlapping: 'Ten pojazd już posiada harmonogram rozpoczynający się w tym samym czasie co właśnie przesłany.'\n\t\t}\n\t}\n}\n","export default {\n    uits: 'UIT',\n    partners: 'Wzmacniacz',\n    etransport: 'e-Transport'\n}\n","export default {\n\tmaintenances: { // todo translate all\n\t\tlabel: 'Revisions notifications',\n\t\tname: 'Name',\n\t\tcomment: 'Komentarz',\n\t\tintervalDistance: 'KM interval',\n\t\tintervalWorkingHours: 'Working hours interval',\n\t\tintervalTime: 'Time interval (months)',\n\t\tremainderDistance: 'KM remainder',\n\t\tremainderWorkingHours: 'Working hours remainder',\n\t\tremainderTime: 'Time remainder (days)',\n\t\tdeleteTitle: 'Delete service notification rule',\n\t\tdeleteContent: 'The service notification rule will be deleted. Do you want to proceed?',\n\t\trequiredIntervalOrRemainderInfo: 'Only one of the fields {{field1}} or {{field2}} is mandatory',\n\t\ttypes: {\n\t\t\t'custom-1' : 'Custom 1',\n\t\t\t'custom-2' : 'Custom 2',\n\t\t\t'custom-3' : 'Custom 3',\n\t\t\t'custom-4' : 'Custom 4',\n\t\t\t'custom-5' : 'Custom 5',\n\t\t\tvehicleLicense: 'Driving license',\n\t\t\ttransportCertification: 'Transport certification',\n\t\t\tmedicalNotification: 'Medical notification',\n\t\t\tregistrationCertificate: 'Registration certificate',\n\t\t\tmandatoryInsurance: 'Mandatory insurance',\n\t\t\tvignette: 'Vignette',\n\t\t\tperiodicalTechnicalInspection: 'Periodical technical inspection',\n\t\t\tservice: 'Service',\n\t\t\toilChange: 'Oil change',\n\t\t\ttireChange: 'Tire change',\n\t\t},\n\t},\n\tmanagement: 'Zarządzanie',\n\tdocuments: 'Dokumenty',\n\tmoreDetails: 'Dodaj więcej',\n\tdocStartDate: 'Od',\n\tdocEndDate: 'Do',\n\tprice: 'Cena',\n\tload: 'Załaduj',\n\tdownload: 'Pobierz',\n\taccountInformation: 'Informacje konta',\n\tdocument: {\n\t\tdeleteTittle: 'Usuń dokument',\n\t\tsureToDelete: 'Dokument {{fileName}} ({{type}}) zostanie usunięty',\n\t\tnotifications: {\n\t\t\tdefaultText: 'Powiadomienia',\n\t\t\tday: 'Jeden dzień',\n\t\t\tweek: 'Jeden tydzień',\n\t\t\tmonth: 'Jeden miesiąc',\n\t\t}\n\t},\n\theaderFields: {\n\t\tlicensePlate: 'Numer Rejestracyjny',\n\t\tdriver: 'Kierowca',\n\t\tcar: 'Pojazd',\n\t\ttype: 'Typ',\n\t\tdivision: 'Dział',\n\t\tstatus: 'Status',\n\t\tname: 'Nazwa',\n\t\temail: 'E-mail',\n\t\tphoneNumber: 'Telefon',\n\t\trole: 'Typ',\n\t},\n\troles: {\n\t\tnew: 'Add Role', // todo translate\n\t\tview: 'Role details', // todo translate\n\t\tedit: 'Edit Role', // todo translate\n\t\tdelete: 'Delete Role', // todo translate\n\t\tdeleteUsed: 'The role is used by {{number}} user(s) and cannot be deleted:{{names}}', // todo translate\n\t\tsureToDelete: 'The role {{name}} ({{type}}) will be deleted', // todo translate\n\t\tneedName: 'The role must have a name', // todo translate\n\t\trequiredAtLeastOneGroupOrOneVehicle: 'You have to select at least one group or one vehicle', // todo translate\n\t},\n\ttimetables: {\n\t\twithoutTimetable: 'Brak harmonogramu',\n\t\tto: 'do',\n\t\tname: 'Nazwa harmonogramu',\n\t\tbrowse: 'Przeglądaj...',\n\t\taddCsv: 'Prześlij CSV',\n\t\tstatus: {\n\t\t\tdefaultText: 'Status',\n\t\t\tdisabled: 'Nieaktywny',\n\t\t\tcustom: 'Zmodyfikowany',\n\t\t\tfullDay: 'Cały dzień',\n\t\t},\n\t\tdelete: {\n\t\t\tsureToDeleteTimetable: 'Na pewno usunąć ten harmonogram?',\n\t\t\ttitle: 'Usuń harmonogram',\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'Dodaj Harmonogram',\n\t\t\tbuttonText: 'ZAPISZ',\n\t\t},\n\t\timport: {\n\t\t\timportedNumber: '{{value}} schedules were imported', // todo translate\n\t\t\tnotImportedNumber: '{{value}} schedules were not imported', // todo translate\n\t\t\tallImported: 'All ({{value}}) schedules have been imported', // todo translate\n\t\t\tnoneImported: 'No schedule was imported', // todo translate\n\t\t\ttitle: 'Importuj harmonogram',\n\t\t\tbuttonText: 'IMPORT',\n\t\t\tname: 'Nazwa Harmonogramu',\n\t\t\tlicensePlate: 'Numer rejestracjyjny',\n\n\t\t\taffectedVehicles: 'Pojazdy przeniesione z istniejących harmogramów',\n\t\t\ttimetablesForRemoval: 'Harmonogramy do usunięcia',\n\n\t\t\tmondayStart: 'Poniedziałek Start',\n\t\t\tmondayStop: 'Poniedziałek Stop',\n\n\t\t\ttuesdayStart: 'Wtorek Start',\n\t\t\ttuesdayStop: 'Wtorek Stop',\n\n\t\t\twednesdayStart: 'Środa Start',\n\t\t\twednesdayStop: 'Środa Stop',\n\n\t\t\tthursdayStart: 'Czwartek Start',\n\t\t\tthursdayStop: 'Czwartek Stop',\n\n\t\t\tfridayStart: 'Piątek Start',\n\t\t\tfridayStop: 'Piątek Stop',\n\n\t\t\tsaturdayStart: 'Sobota Start',\n\t\t\tsaturdayStop: 'Sobota Stop',\n\n\t\t\tsundayStart: 'Niedziela Start',\n\t\t\tsundayStop: 'Niedziela Stop',\n\t\t\terrors: {\n\t\t\t\tmessage: 'There were some errors in the uploaded file data. Please correct the values and resubmit the file.'\n\t\t\t},\n\t\t\tsuccessful: 'Import completed successfully',\n\n\t\t\tdownloadTemplate: 'Pobierz szablon',\n\t\t\tdownloadExample: 'Pobierz przykład'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edytuj Harmonogram',\n\t\t\tbuttonText: 'EDYTUJ',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Szczegóły harmonogramu',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tvehicles: {\n\t\t// small modal\n\t\tdivision: 'Dział',\n\t\tdriverIsAttached: 'Wybrany kierowca zostanie przypisany do innego pojazdu!',\n\t\tvehicleHasNoDoorSensor: 'Vehicle has no door sensor',\n\t\tisAssignedToVehicle: 'jest przypisany do pojazdu',\n\t\twillBeAssigned: 'zostanie przypisany do pojazdu',\n\t\tsureToDeleteVehicle: 'Na pewno usunąć pojazd?',\n\t\tvehicleHasDeviceAssigned: 'Urządzenie {{deviceID}} jest przypisane do pojazdu',\n\t\tselectDevice: 'Wybierz urządzenie',\n\t\tselectDispatcher: 'Select dispatcher', //TODO: translate\n\t\trelayContact: {\n\t\t\ton: {\n\t\t\t\tstate: 'Ignition blocked',\n\t\t\t\ttitle: 'Block ignition',\n\t\t\t\tconfirm: 'Are you sure that you want to block the ignition?'\n\t\t\t},\n\t\t\toff: {\n\t\t\t\tstate: 'Ignition unblocked',\n\t\t\t\ttitle: 'Unblock ignition',\n\t\t\t\tconfirm: 'Are you sure that you want to unblock the ignition?',\n\t\t\t},\n\t\t\tibutton: {\n\t\t\t\tstate: 'Ignition blocked (iButton)',\n\t\t\t\ttitle: 'Block ignition (iButton)',\n\t\t\t\tconfirm: 'Are you sure that you want to block the ignition using iButton ?',\n\t\t\t},\n\t\t},\n\t\tspeedLimit: {\n\t\t\tmax: 'Domyślny próg alarmowy',\n\t\t\tmaxTooltip: 'alerty bedą wysłane jeśli próg jest przekroczony niezależnie od limitu prędkości na drodze (np 90 km/h dla pojazdów ciężarowych)',\n\t\t\tmin: 'Próg alarmowy',\n\t\t\tminTooltip: 'alerty prędkości nie będą wysyłane jeśli będą poniżej prog',\n\t\t\toffset: 'Dozwolony próg',\n\t\t\toffsetTooltip: '10 km/h alert zostanie wysłany przy\\n50 + 10 km/h w terenach zabudowanych, \\n90 + 10 km/h na drogach poza terenem zabudowanym, \\n130 + 10 km/h na autostradach',\n\t\t\terrorMessage: 'Sprawdź pola zaznaczone na czerwono'\n\t\t},\n\t\tdoorAlert: {\n\t\t\tnoAlert: 'No alert',\n\t\t\talertOpenDoor: 'Alert otwarte drzwi',\n\t\t\tdoorOpenOutsidePOI: 'Alert otwarte drzwi poza POI',\n\t\t\tdoorOpenOutsidePOIInTimetable: 'Alert otwarte drzwi poza POI w harmonogramie',\n\t\t},\n\t\tremoveDevice: 'Usuń urządzenie',\n\t\tcannotChangeDeviceUntilRelayContactDisabled: 'Jeśli zapłon jest zablokowany urządzenie nie może być zmienione',\n\t\tcannotChangeRelayContactUntilDeviceIsSaved: 'Zapłon nie może zostać zablokowany dopóki urządzenie nie zostanie zapisane',\n\t\tdeviceChange: 'Zmień urządzenie',\n\t\tnoDevices: 'Brak dostępnych urządzeń',\n\t\tvehicleDetails: 'Szczegóły Pojazdu',\n\t\tautoPark: 'Auto Park',\n\t\tlicensePlate: 'Numer Rejestracyjny',\n\t\texternalRefuelID: 'Identyfikator pojazdu z pliku tankowania',\n\t\tvin: 'VIN',\n\t\tmake: 'Marka',\n\t\tmodel: 'Model',\n\t\tvehicle: 'Pojazd',\n\t\tadblueCapacity: 'Pojemność AdBlue (L)',\n\t\tfuel: {\n\t\t\ttypeText: 'Typ Paliwa',\n\t\t\ttype: {\n\t\t\t\tpetrol: 'Benzyna',\n\t\t\t\thybridPetrol: 'Hybryda-benzyna',\n\t\t\t\tdiesel: 'Diesel',\n\t\t\t\thybridDiesel: 'Hybryda-diesel',\n\t\t\t\tlpg: 'LPG',\n\t\t\t\telectric: 'Elektryczny',\n\t\t\t},\n\t\t\tcapacity: 'Pojemność zbiornika paliwa',\n\t\t\tconsumption: {\n\t\t\t\tsirocol: 'Aux heating consumption L/h',  // todo translate\n\t\t\t\tdistanceWise: 'Średnie zużycie paliwa {{unit}}/100km',\n\t\t\t\ttimeWise: 'Średnie zużycie paliwa {{unit}}/h'\n\t\t\t},\n\t\t\tfluctuationFilter: 'Fuel level fluctuation filter', // todo translate\n\t\t},\n\t\tcategory: 'Kategoria',\n\t\ttype: {\n\t\t\tutility: 'Użytkowy',\n\t\t\tcar: 'Samochód',\n\t\t\tminibus: 'Minibus',\n\t\t\tbus: 'Bus',\n\t\t\ttruck: 'Ciężarowy',\n\t\t\ttractor: 'Traktor',\n\t\t\tharvester: 'Kombajn',\n\t\t\tconstruction: 'Budowlany',\n\t\t\ttrailer: 'Przyczepa',\n\t\t\t'semi-trailer': 'Naczepa'\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: 'Width (m)', // TODO translate\n\t\t\tlength: 'Length (m)', // TODO translate\n\t\t\theight: 'Height (m)', // TODO translate\n\t\t\tweight: 'Weight (t)' // TODO translate\n\t\t},\n\t\tseats: 'Ilość siedzeń',\n\t\tselectDivision: 'Wybierz dział',\n\t\tselectDriver: 'Wybierz kierowcę',\n\t\tremoveDriver: 'Usuń kierowcę',\n\t\tfabricationYear: 'Rok produkcji',\n\t\tregistrationDate: 'Data rejestracji',\n\t\tobuID: 'OBU ID', // TODO translate\n\t\tengine: {\n\t\t\tpower: 'Moc (HP)',\n\t\t\tcapacity: 'Pojemność silnika'\n\t\t},\n\t\tpayloadCapacity: 'Ładowność',\n\t\ttireSize: 'Rozmiar opon',\n\t\tcolor: 'Kolor',\n\t\tnew: {\n\t\t\ttitle: 'Dodaj Pojazd',\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edytuj Pojazd',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Szczegóły pojazdu',\n\t\t}\n\t},\n\tusers: {\n\t\tuserDetails: 'Szczegóły użytkownika',\n\t\t// small modal\n\t\tvehicleHasDriver: 'Wybrany pojazd ma juz kierowcę!',\n\t\tuserHasVehicle: 'Użytkownik jest przypisany do pojazdu',\n\t\tifDeleteDetatch: 'Jeśli usuniesz użytkownika zostanie od usunięty z tego pojazdu',\n\t\thaveDriver: 'kierowany przez',\n\t\twichWillBeReplaced: 'zostanie zastąpiony przez',\n\t\tdeleteUser: 'Delete user', // TODO: translate\n\t\tsureToDeleteThisUser: 'Na pewno usunąć użytkownika',\n\t\treactivateUser: 'Reactivate user', // TODO: translate\n\t\tsureToReactivateThisUser: 'Are you sure you want to reactivate this user', // TODO: translate\n\t\tsureToResendInvitation: 'Are you sure you want to resend invitation', // TODO: translate\n\t\ttheInvitationWillBeSent: 'The invitation email will be sent to the following address', // TODO: translate\n\t\tresendInvitation: 'Resend invitation', // TODO: translate\n\t\tuserName: 'Nazwa użytkownika',\n\t\tfirstName: 'Imię',\n\t\tiButton: 'iButton',\n\t\ttachoCardID: 'Tachograph card ID', // TODO: translate\n\t\tlastName: 'Nazwisko',\n\t\temail: 'E-mail',\n\t\tphotoUpload: 'Prześlij zdjęcie',\n\t\tdivision: 'Dział',\n\t\tphoneNumber: 'Telefon',\n\t\tlanguage: 'Język',\n\t\tdrivingLicense: 'Prawo Jazdy',\n\t\tdrivingLicenseList: {\n\t\t\tcategoryAM: 'Kategoria AM',\n\t\t\tcategoryA1: 'Kategoria A1',\n\t\t\tcategoryA2: 'Kategoria A2',\n\t\t\tcategoryA: 'Kategoria A',\n\t\t\tcategoryB: 'Kategoria B',\n\t\t\tcategoryBE: 'Kategoria BE',\n\t\t\tcategoryC: 'Kategoria C',\n\t\t\tcategoryCE: 'Kategoria CE',\n\t\t\tcategoryD: 'Kategoria D',\n\t\t},\n\t\tassignedVehicle: 'Przypisany pojazd',\n\t\tdetachVehicle: 'Usun pojazd',\n\t\trole: 'Rola',\n\t\tdriver: 'Kierowca',\n\t\tadmin: 'Administrator',\n\t\tpartner: 'Partner', // TODO: translate\n\t\tmanager: 'Manager', // TODO: translate\n\t\tsalesAgent: 'Sales agent', // TODO: translate\n\t\telectrician: 'Electrician',// TODO: translate\n\t\tdocStartDate: 'Od',\n\t\tdocEndDate: 'Do',\n\t\tdocPrice: 'Cena',\n\t\tload: 'Ladunek',\n\t\tcountry: 'Kraj',\n\t\tnew: {\n\t\t\ttitle: 'Dodaj użytkownika',\n\t\t\tbuttonText: 'ZAPISZ',\n\t\t\theaderText: 'Wypełnij formularz danymi użytkownika. Dla wiecej szczegółów \\'Dodaj więcej szczegółów\\'.'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edytuj użytkownika',\n\t\t\tbuttonText: 'EDYTUJ',\n\t\t\theaderText: 'Wypełnij formularz danymi użytkownika. Dla więcej szczegółów \\'Dodaj więcej szczegółów\\'.'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Dane Użytkownika',\n\t\t\tbuttonText: 'OK',\n\t\t\theaderText: 'Dane wybranego użytkownika. Dla wiecej szczegółów wciśnij \\'Więcej\\'.'\n\t\t}\n\t},\n\tgroups: {\n\t\tdeleteGroup: 'Na pewno usunąć dział',\n\t\tgroup: 'Dział',\n\t\taddGroup: 'Dodaj dział',\n\t\ttimetable: 'Harmonogram',\n\t\teditGroup: 'Edytuj Dział',\n\t\tgroupName: 'Nazwa działu',\n\t\taddSubGroup: 'Dodaj poddział',\n\t\teditSubGroup: 'Edytuj poddział',\n\t\tdeleteSubGroup: 'Usuń poddział',\n\t\tshare: 'Partnerzy',\n\t\tadd: 'Dodaj'\n\t},\n\tgeofences: {\n\t\tname: 'Nazwa POI',\n\t\texternalID: 'zewnętrzne ID',\n\t\tradio: 'Promień',\n\t\tsureToDeleteGeofence: 'Na pewno usunąć POI',\n\t\tdeleteOldGeofences: 'Usuń wszystkie istniejące obszary',\n\t\talertStationaryTimeHoverText: 'Minuty postoju (5-60). Tylko podzielne przez 5.',\n\t\ticons: {\n\t\t\tselectIcon: 'Wybierz ikonę',\n\t\t\tnoIcon: 'Brak ikony',\n\t\t},\n\t\tdownloadCsv: 'Pobierz CSV',\n\t\ttype: {\n\t\t\tgeofence: 'Geofence',\n\t\t\tpoi: 'POI'\n\t\t},\n\t\tshape: {\n\t\t\ttype: {\n\t\t\t\tPolygon: 'Geofence',\n\t\t\t\tPoint: 'POI'\n\t\t\t}\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'dodaj POI',\n\t\t\tbuttonText: 'ZAPISZ',\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Importuj POI',\n\t\t\tbuttonText: 'IMPORTUJ POI',\n\t\t\timportedGeofencesNumber: '{{value}} POI zostały zaimportowane',\n\t\t\tupdatedGeofencesNumber: '{{value}} POI zostały zaktualizowane',\n\t\t\tdeletedGeofencesNumber: '{{value}} punkty POI zostały usunięte',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POI nie zostały zaimportowane',\n\t\t\tallGeofencesImported: 'Wszystkie ({{value}}) POI zostały importowane',\n\t\t\tpleaseWait: 'Proszę czekać',\n\t\t\tprocessingGeofences: 'Przetwarzanie danych z pliku',\n\t\t\tdownloadTemplate: 'Pobierz szablon',\n\t\t\tdownloadExamples: 'Pobierz przykłady'\n\t\t},\n\t\tsimulate: { // TODO: change to future tense\n\t\t\timportedGeofencesNumber: '{{value}} POI zostaną zaimportowane',\n\t\t\tupdatedGeofencesNumber: '{{value}} POI zostaną zaktualizowane',\n\t\t\tdeletedGeofencesNumber: '{{value}} punkty POI zostaną usunięte',\n\t\t\tnotImportedGeofencesNumber: '{{value}} POI nie zostaną zaimportowane',\n\t\t\tallGeofencesImported: 'Wszystkie ({{value}}) POI zostaną zaimportowane',\n\t\t\tvalidateFile: 'Zweryfikuj plik'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'EDYTUJ POI',\n\t\t\tbuttonText: 'EDYTUJ',\n\t\t},\n\t\tinfo: {\n\t\t\ttitle: 'Dane POI',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tsettings: {\n\t\tspeedLimit: 'Limit Prędkości',\n\t\temails: {\n\t\t\t'poi-enter': 'Wjazd do POI',\n\t\t\t'poi-exit': 'Wyjazd z POI',\n\t\t\t'poi-stationary': 'Postój w POI',\n\t\t\t'geofence-enter': 'Wjazd do obszaru',\n\t\t\t'geofence-exit': 'Wyjazd z obszaru',\n\t\t\t'geofence-stationary': 'Postój w obszarze',\n\t\t\t'document-expiry': 'Data ważności dokumentu',\n\t\t\t'speeding': 'Przekroczenie prędkości',\n\t\t\t'door-open-outside-poi': 'Drzwi otwarte poza POI',\n\t\t\t'seal-broken': 'Zerwana plomba',\n\t\t\t'fuel-level-drop-stationary': 'Spadek poziomu paliwa (czujnik)',\n\t\t\t'fuel-consumption-excessive': 'Wysokie zużycie paliwa',\n\t\t\t'taxi-coasting': 'Engine off on moving', // todo translate\n\t\t\tinsertEmailsSeparatedByComma: 'Podaj adresy e-mail oddzielone przecinkiem',\n\t\t\tinsertPhonesSeparatedByComma: 'Podaj numery telefonów oddzielone przecinkiem',\n\t\t\tnotifications: 'Powiadomienia',\n\t\t\temail: 'E-mail',\n\t\t\tphone: 'Telefon',\n\t\t},\n\t\tcountries: {\n\t\t\tat: 'Austria',\n\t\t\tbe: 'Belgium',\n\t\t\tbg: 'Bulgaria',\n\t\t\thr: 'Croatia',\n\t\t\tcy: 'Cyprus',\n\t\t\tcz: 'Czechia',\n\t\t\tdk: 'Denmark',\n\t\t\tee: 'Estonia',\n\t\t\tfl: 'Finland',\n\t\t\tfr: 'France',\n\t\t\tde: 'Germany',\n\t\t\tgr: 'Greece',\n\t\t\thu: 'Hungary',\n\t\t\tie: 'Ireland',\n\t\t\tit: 'Italy',\n\t\t\tlv: 'Latvia',\n\t\t\tlt: 'Lithuania',\n\t\t\tlu: 'Luxembourg',\n\t\t\tmt: 'Malta',\n\t\t\tnl: 'Netherlands',\n\t\t\tpl: 'Polska',\n\t\t\tpt: 'Portugal',\n\t\t\tro: 'Romania',\n\t\t\tsk: 'Slovakia',\n\t\t\tsl: 'Slovenia',\n\t\t\tes: 'Spain',\n\t\t\tse: 'Sweden',\n\t\t\tgb: 'United Kingdom'\n\t\t}\n\t},\n\tintegrations: {\n\t\tenabled: 'Enabled', // TODO translate\n\t\tactiv: 'aktywny',\n\t\tinactive: 'nieaktywny',\n\t\tserviceWillBe: 'Serwis będzie',\n\t\tserviceIs: 'Serwis jest',\n\t\tafterSave: 'po zapisaniu.',\n\t\tenable: 'aktywuj',\n\t\tdisable: 'deaktywuj',\n\t\tsave: 'Zapisz',\n\t\tclient: 'Select client', // TODO: translate\n\t}\n}\n","export default {\n\tat: 'Przy',\n\tfrom: 'Od',\n\tto: 'Do',\n\tduration: 'Czas trwania',\n\n\tstart: 'Start',\n\tstop: 'Stop',\n\t// stopInProcess: 'Stacjonarny w trakcie',\n\tlastStationary: 'Last stationary', // todo translate\n\tstationary: 'Postój',\n\n\t//charts-container\n\tspeed: 'Prędkość',\n\taltitude: 'Wysokość',\n\tfuelCanLevel: 'Poziom Paliwa CAN ',\n\tfuelLevel: 'Poziom Czujnika Paliwa',\n\tacceleration: 'Przyspieszenie',\n\trpm: 'RPM',\n\n\t//marker names\n\thall: 'Hala',\n\tgrayMarker: 'Szary Znacznik',\n\tblueMarker: 'Niebieski Znacznik',\n\tgreenMarker: 'Zielony Znacznik',\n\torangeMarker: 'Pomarańczowy Znacznik',\n\tredMarker: 'Czerwony Znacznik',\n\tyellowMarker: 'Żółty Znacznik',\n\tgreen1Marker: 'Jasnozielony Znacznik',\n\tturquoiseMarker: 'Turkusowy Znacznik',\n\tpurpleMarker: 'Fioletowy Znacznik',\n\tpinkMarker: 'Różowy Znacznik',\n\n\t//map index popup\n\tlastUpdate: 'Ostania aktualizacja',\n\tengineState: 'Stan silnika',\n\tgpsPosition: 'Pozycja GPS',\n\tgpsSpeed: 'Prędkość GPS',\n\tcanSpeed: 'Prędkość CAN',\n\tcanAcceleration: 'Przyspieszenie CAN',\n\tcanRPM: 'RPM CAN',\n\tcanFuelAvailable: 'Poziom paliwa (CAN)',\n\tcanFuelUsed: 'Fuel used (CAN)',\n\tprobeFuelAvailable: 'Poziom paliwa (sonda)',\n\tdistance: 'Dystans',\n\tdoors: 'Drzwi',\n\tagregation: 'Agregat',\n\ttemperature: 'Temperatura',\n\topenMessageThread: 'Open messages',\n}\n","export default {\n\toperationWithSuccess: 'Operacja zakończona pomyślnie',\n\toperationMayTake5min: 'The confirmation of this operation may take up to 5 minutes.', // todo translate\n\tlanguageChangedWithSuccess: 'Język zmieniony pomyślnie',\n\tpriorityChangedWithSuccess: 'Pomyślna zmiana priorytetu',\n\toperationWithError: 'Operacja nie powiodła się',\n\tdeletedWithSuccess: 'Usunięto pomyślnie.',\n\ttemperatureForPeriod: 'Temperatura dla',\n\tnoRecords: 'Brak danych.',\n\tgeneratingReportPleaseWait: 'Generowanie raportu. Proszę czekać.',\n\tinvalidIntervalMax3Days: 'Niewłaściwy przedział. Max przedział czasowy to 3 dni',\n\tgeneratingRoteDetailedReport: 'Generowanie raportu szczegółów trasy',\n\tgenerateDetailedReport: 'Wygeneruj raport szczegółów trasy',\n\twillReceiveReportThroughtEmail: 'W ciągu kilku minut otrzymasz email z raportem',\n\tdeleteFueling: 'Usuń tankowanie',\n\tareYouSureToDeleteFueling: 'To tankowanie zostanie usunięte. Kontynuować?',\n\tfluctuationFuel: 'Confirm fluctuation', // todo translate\n\tareYouSureToConfirmFluctuation: 'This fluctuation will be confirmed. Continue?', // todo translate\n\troutingFailed: 'Routing failed', // todo translate\n\tfullFuel: 'Mark as full', // todo translate\n\tfullFueled: 'Marked as full', // todo translate\n\tcannotDeleteVehicleWithDeviceAttached: 'You cannot delete a vehicle that has a device attached', // todo translate\n\tareYouSureToConfirmFullFuel: 'This fueling will be marked as full. Continue?', // todo translate\n\tcoordsCopiedToClipboard: 'Coordinates copied to clipboard', // todo translate\n\troutesWithStationaryLowerThanSelectedWillBeMerged: 'The routes with stationary time lower than the selected time will be merged', // todo translate\n}\n","export default {\n\tcrossedBorderFrom: 'Przekroczył granicę z',\n\tcrossedBorderTo: 'do',\n\talerts: {\n\t\tvalidValues: 'Wartości są w normalnych przedziałach',\n\t\tfuel: {\n\t\t\tprocessing: 'Dane są przetwarzane',\n\t\t\tfluctuation: 'Wahania paliwa potwierdzone przez użytkownika',\n\t\t\tdropStationary: 'Spadek poziomu paliwa na postoju',\n\t\t\tdiffDetectedRefuelBiggerThan5: 'Różnica pomiędzy podaną ilością paliwa i odczytaną jest więszka niż 5 litrów',\n\t\t},\n\t\tmaxSpeed: {\n\t\t\tred: 'Przekroczenie prędkości max {{maxSpeed}}km/h o {{dif}}km/h',\n\t\t},\n\t\tstationary: {\n\t\t\tgreen: 'Postój z włączonym silnikiem mniej niż 5 min',\n\t\t\tyellow: 'Postój z włączonym silnikiem między 5 a 15 minut',\n\t\t\tred: 'Postój z włączonym silnikiem więcej niż 15 min',\n\t\t},\n\t},\n\ttitle: {\n\t\tafterhours: 'Po godzinach',\n\t\talerts: 'Alerty',\n\t\tconsumption: 'Zużcie paliwa',\n\t\t'fleet-summary': 'Fleet Summary', // TODO - translate\n\t\tfaz: 'Codzienne aktywności',\n\t\t'fuel-level': 'Poziom paliwa',\n\t\tnotifications: 'Powiadomienia',\n\t\tpoi: 'Aktywność POI',\n\t\troute: 'Trasy',\n\t\t'poi-temperature': 'TK POI',\n\t\tstationary: 'Postoje',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperatura',\n\t\t'temperature-range': 'TK Godziny',\n\t\ttimesheet: 'Timesheet', // TODO - translate\n\t\tconstruction: 'Construction'  // TODO - translate\n\t},\n\treports: 'Raporty',\n\tmenu: {\n\t\tafterhours: 'Po Godzinach',\n\t\talerts: 'Alerty',\n\t\tcosts: 'Koszty',\n\t\tcabotage: 'Cabotage', // TODO - translate\n\t\tcountries: 'Kraje',\n\t\tconsumption: 'Consumption', // TODO - translate\n\t\t'driver-behaviour': 'Zachowanie Kierowcy',\n\t\t'driver-routes': 'Driver routes', // TODO - translate\n\t\tengine: 'Silnik',\n\t\t'fleet-summary': 'Fleet Summary', // TODO - translate\n\t\tfaz: 'Dzienne akrywności',\n\t\t'fuel-level': 'Poziom paliwa',\n\t\t'km-day': 'KM Day', // TODO - translate\n\t\tnotifications: 'Powiadomienia',\n\t\tpoi: 'Aktywność POI',\n\t\t'poi-temperature': 'TK POI',\n\t\troute: 'Trasy',\n\t\tstationary: 'Postoje',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperatura',\n\t\t'temperature-range': 'TK Godziny',\n\t\ttimesheet: 'Timesheet', // TODO - translate\n\t\tconstruction: 'Construction', // TODO - translate\n\t\t'obu-tickets': 'OBU Tickets', // TODO - translate\n\t\t'tacho-files': 'Tachograph files', // TODO - translate\n\t\t'tacho-timesheet': 'Tachograph timesheet', // TODO - translate\n\t\t23: 'Fuel consumption', // TODO - translate\n\t},\n\tdownloads: 'Pobierz',\n\tsettings: {\n\t\tdensity: 'Gęstość',\n\t\tspecific: {\n\t\t\t'tacho-files': {\n\t\t\t\tsummarize: 'Filter',\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryDuration: 'Czas trwania postoju',\n\t\t\t\tweeklyBreak: 'Weekly break', // TODO: translate\n\t\t\t\tdailyBreak: 'Daily break', // TODO: translate\n\t\t\t\tborderCrossing: 'Border crossing', // TODO: translate\n\t\t\t\tstoppingPurpose: 'Load / Unload', // TODO: translate\n\t\t\t\tweeklyBreakStart: 'Weekly break start', // TODO: translate\n\t\t\t\tweeklyBreakEnd: 'Weekly break end', // TODO: translate\n\t\t\t\tdailyBreakStart: 'Daily break start', // TODO: translate\n\t\t\t\tdailyBreakEnd: 'Daily break end', // TODO: translate\n\t\t\t\tloadStart: 'Load start', // TODO: translate\n\t\t\t\tloadEnd: 'Load end', // TODO: translate\n\t\t\t\tunloadStart : 'Unload start', // TODO: translate\n\t\t\t\tunloadEnd: 'Unload end', // TODO: translate\n\t\t\t\tduration: 'Czas trwania',\n\t\t\t\tschedule: 'Trasy w harmonogramie',\n\t\t\t\tnoschedule: 'Trasy 0-24',\n\t\t\t\tpriorityCAN: 'Dystans CAN',\n\t\t\t\tpriorityGPS: 'Dystans GPS',\n\t\t\t\tinfoCAN: 'CAN info',\n\t\t\t\tinfoGPS: 'GPS info',\n\t\t\t\tengineOnTimeCAN: 'CAN Engine on Time', // TODO: translate\n\t\t\t\tengineOnTimeGPS: 'GPS Engine on Time', // TODO: translate\n\t\t\t\tCAN: 'CAN',  // TODO: translate\n\t\t\t\tcng:{\n\t\t\t\t\tvolume: 'CNG - L',\n\t\t\t\t\tweight: 'CNG - Kg',\n\t\t\t\t\tpercent: 'CNG - %',\n\t\t\t\t},\n\t\t\t\tENGINE: 'Engine', // TODO: translate\n\t\t\t\tpoi: 'POI',\n\t\t\t\taddress: 'Adres'\n\t\t\t}\n\t\t},\n\t\tshipping: {\n\t\t\tschedule: 'Dostawy wg harmonogramu',\n\t\t\tnoschedule: 'Dostawy 0-24'\n\t\t}\n\t},\n\tsubscribe: {\n\t\ttitle: 'Subskrybuj',\n\t\tfields: {\n\t\t\tlabel: {\n\t\t\t\temail: 'Podaj adresy email oddzielone przecinkiem.',\n\t\t\t\tfrequency: 'Wybierz czestotliwość powiadomień:',\n\t\t\t\tweekDays: 'Wybierz dzień raportowania:'\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\temail: 'Adres email listy:',\n\t\t\t\tfrequency: 'Wybierz czestotliwość:',\n\t\t\t\treport: 'Wybierz raport:',\n\t\t\t\tdayOfWeek: 'Wybierz dzień tygodnia:'\n\t\t\t}\n\t\t},\n\t\teveryDay: 'Raz na dzień',\n\t\teveryWeek: 'Raz na tydzień',\n\t\teveryMonth: 'Raz na miesiąc',\n\t\tnotifyDate: 'Wybierz dzień raportowania:'\n\t},\n\theaderFields: { // todo: only the first leter of the header to be uppercase\n\t\ttachoSlot: 'Slot', // TODO: translate\n\t\tadblueLevelComposed:'Poziom AdBlue',\n\t\tday: 'Dzień',\n\t\tutcTimezonePopup: 'This report uses UTC+0 timezone', // TODO: translate\n\t\tacc: 'Przyspieszenie',\n\t\taccRedZone: 'Przyspieszanie Strefa Czerwona',\n\t\taccYellowZone: 'Przyspieszanie Strefa Żółta',\n\t\tauxHeatingConsumption: 'Aux heating consumption', // TODO: translate\n\t\taverageSpeed: 'Średnia Prędkość (km/h)',\n\t\tbreakRedZone: 'Hamowanie Strefa Czerwona',\n\t\tbreakYellowZone: 'Hamowanie Strefa Żółta',\n\t\tcan: 'CAN',\n\t\tcanDistance: 'Dystans (CAN)',\n\t\tcanEngineOnFirstTime: 'Engine start time (CAN)', // TODO: translate\n\t\tcanEngineOnLastTime: 'Engine end time (CAN)', // TODO: translate\n\t\tcanEngineOnDuration: 'Engine on duration (CAN)', // TODO: translate\n\t\tcanFuelConsumption: 'Zużycie Paliwa CAN',\n\t\tcanFuelConsumptionStationary: 'CAN Consumption Stationary', // TODO translate\n\t\tcanFuelConsumptionMoving: 'CAN Consumption Moving', // TODO translate\n\t\tcanFuelConsumptionDistance: 'Zużycie Paliwa / 100 (CAN)',\n\t\tcanFuelLevel: 'Poziom Paliwa CAN',\n\t\tcanOdometer: 'Przebieg Końcowy',\n\t\tcurrency: 'Currency',\n\t\todometer: 'Przebieg',\n\t\todometerStartComposed: 'Przebieg Początkowe',\n\t\todometerComposed: 'Przebieg Końcowy',\n\t\tconsume: 'Zużycie Paliwa',\n\t\tcost: 'Koszt (EUR)',\n\t\tcostPopup: 'Obliczone z %@ / godzinę',\n\t\tconsumptionComposed: 'Zużycie Paliwa',\n\t\tconsumptionComposedInfo: 'W tej kolumnie wyświetlamy całkowite zużycie w ruchu i w miejscu',\n\t\tcountry: 'Kraj',\n\t\tcreatedAt: 'Utworzone',\n\t\tcupolaState: 'Dostępność',\n\t\tdate: 'Data',\n\t\tdesacc: 'Zwalnianie',\n\t\tdistance: 'Dystans (km)',\n\t\tdistanceComposed: 'Dystans (km)',\n\t\tdriver: 'Kierowca',\n\t\tdriverNames: 'Drivers', // TODO\n\t\tduration: 'Czas Trwania',\n\t\tdurationMoving: 'Czas Trwania W Ruchu',\n\t\tdurationStationary: 'Czas Trwania Postój',\n\t\tdurationStationaryEngineOn: 'Duration stationary (engine on)', // TODO: translate\n\t\tdurationWorking: 'Duration Working',\n\t\tendLocation: 'Położenie Końcowe',\n\t\tendTime: 'Czas Zakończenia',\n\t\tengineState: 'Stan Silnika',\n\t\tengineFirstTime: 'Engine start time', // TODO: translate\n\t\tengineLastTime: 'Engine end time', // TODO: translate\n\t\tengineOnFirstTime: 'Engine start time', // TODO: translate\n\t\tengineOnLastTime: 'Engine end time', // TODO: translate\n\t\tengineOnTime: 'Engine on time', // TODO: translate\n\t\tengineLoadTime: 'Engine load time', // TODO: translate\n\t\tentryLocation: 'Wjazd Lokacja',\n\t\tentryTime: 'Wjazd Czas',\n\t\ttransitDistance: 'Transit Duration', // TODO: translate\n\t\ttransitCost: 'Transit Cost (EUR)', // TODO: translate\n\t\tcabotageDistance: 'Cabotage Duration', // TODO: translate\n\t\tcabotageCost: 'Cabotage Cost (EUR)', // TODO: translate\n\t\texitLocation: 'Wyjazd Lokacja',\n\t\texitTime: 'Wyjazd Czas',\n\t\tfreezer: 'Agregat chłodniczy',\n\t\tfreezerOnDuration: 'Czas pracy jednostki chłodzącej',\n\t\tfuelConsumption: 'Obliczone Zużycie Paliwa',\n\t\tfuelConsumptionStationary: 'Computed Consumption Stationary', // TODO: translate\n\t\tfuelConsumptionMoving: 'Computed Consumption Moving', // TODO: translate\n\t\tfuelConsumptionDistanceComposed: 'Zużycie Paliwa / 100km',\n\t\tfuelConsumptionMovingInfo: 'Ta wartość obejmuje tylko zużycie podczas ruchu. \\nNormalne jest, że wartość różni się od zużycia wyświetlanego w arkuszu aktywności dziennej, który obejmuje również zużycie podczas postoju.',\n\t\tfuelConsumptionPer100KMInfo: 'Ta wartość to całkowite zużycie podczas jazdy na 100 km. \\nNie obejmuje zużycia podczas postoju.',\n\t\tfuelConsumptionDurationComposed: 'Zużycie Paliwa / h',\n\t\tfuelConsumptionPerHourInfo: 'Ta wartość to całkowite zużycie w stanie spoczynku na liczbę godzin pracy silnika w stanie spoczynku. \\nNie obejmuje zużycia w ruchu.',\n\t\tfuelConsumptionDistance: 'Zużycie Paliwa / 100km',\n\t\tfuelConsumptionNormlized: 'Consumption normlized', // TODO: translate\n\t\tfuelConsumptionAccounting: 'Consumption accounting', // TODO: translate\n\t\tfuelConsumptionFullToFull: 'Consumption full to full', // TODO: translate\n\t\tfuelConsumptionFullToFullCan: 'Consumption full to full (CAN)', // TODO: translate\n\t\tfuelConsumptionFullToFullSensor: 'Consumption full to full (Sensor)', // TODO: translate\n\t\tfuelConsumptionTotal: 'Consumption total', // TODO: translate\n\t\tfuelEvent: 'Typ',\n\t\tfuelLevel: 'Poziom Paliwa',\n\t\tfuelLevelComposed: 'Poziom Paliwa',\n\t\tfuelLevelDiff: 'Ilość',\n\t\tfuelLevelDiffManual: 'Podana ilość',\n\t\tfuelLevelDiffLiters: 'Ilość',\n\t\tfuelSensor: 'Bak',\n\t\tgeneratedAt: 'Wygenerowane',\n\t\tgps: 'GPS',\n\t\tgpsDistance: 'Dystans (GPS)',\n\t\tgpsEngineOnDuration: 'Engine on duration (GPS)', // TODO: translate\n\t\tgroupedWith: 'Grouped with',\n\t\tidlingTime: 'Postój z włączonym silnikiem',\n\t\tinvoiceNumber: 'Numer faktury',\n\t\tignitionOnTime: 'Zapłon na czas',\n\t\tlicensePlate: 'Numery Rejestracyjny',\n\t\tlocation: 'Adres',\n\t\tmap: 'Mapa',\n\t\tmaxSpeed: 'Predkość max(km/h)',\n\t\tpersistent: 'Trwały',\n\t\tpoiCount: 'Liczba POI',\n\t\tpoiStationaryDoorsOpenedDuration: 'Postój w POI z otwartymi drzwiami',\n\t\tpoiStationaryDuration: 'Czas postoju w POI',\n\t\tprice: 'Cena',\n\t\tpriceEur: 'Cena (EUR)',\n\t\tprintDetails: 'Szczegóły',\n\t\trefuelValue: 'Refuel Value', // TODO: translate\n\t\troadSection: 'Road section', // TODO: translate\n\t\trouteType: 'Typ Trasy',\n\t\tsealEnd: 'Liczba plomb koniec',\n\t\tsealStart: 'Liczba plomb start',\n\t\tsensorFuelConsumption: 'Zużycie paliwa wg sondy',\n\t\tsensorFuelConsumptionStationary: 'Fuel sensor consumption Stationary', // TODO: translate\n\t\tsensorFuelConsumptionMoving: 'Fuel sensor consumption Moving', // TODO: translate\n\t\tsensorFuelLevel: 'Poziom Paliwa sondy',\n\t\tspeed: 'Prędkość',\n\t\tspeedingAvg: 'Przekroczona Prędkość Śr. (km/h)',\n\t\tspeedingMax: 'Przekroczona Prędkość Max (km/h)',\n\t\tspeedingTime: 'Czas przy Przekroczonej Prędkości',\n\t\tstartLocation: 'Położenie Początkowe',\n\t\tstartTime: 'Czas Startu',\n\t\tstationaries: 'Przystanki z załączonym silnikiem',\n\t\tstatus: 'Status',\n\t\ttemperatureRange1: 'poniżej -4°C',\n\t\ttemperatureRange2: 'między -4°C and 0°C',\n\t\ttemperatureRange3: 'między 0°C and 4°C',\n\t\ttemperatureRange4: 'powyżej 4°C',\n\t\ttotalFuelConsumption: 'Łącznie wyliczone',\n\t\ttransitNumber: 'Tranzyty',\n\t\ttimesheet: 'Lista obecności',\n\t\tupdatedAt: 'Uaktualniono',\n\t\tvirage: 'Zakręty',\n\t\tvolumeCan: 'Objętość CAN',\n\t\tvolumeTank: 'Objętość bak',\n\t\ttotals: {\n\t\t\tcan: 'Łącznie CAN',\n\t\t\tcanStationary: 'Total CAN Stationary', // TODO: translate\n\t\t\tcanMoving: 'Total CAN Moving', // TODO: translate\n\t\t\tcomputed: 'Łącznie Obliczone',\n\t\t\tcomputedStationary: 'Total Computed Stationary', // TODO: translate\n\t\t\tcomputedMoving: 'Total Computed Moving', // TODO: translate\n\t\t\tcost: 'Łączny Koszt',\n\t\t\tdistance: 'Łączny Dystans',\n\t\t\tdurationMoving: 'Łączny Czas Trwania w Ruchu',\n\t\t\tdurationStationary: 'Łączny Czas Trwania na Postoju',\n\t\t\tgps: 'Łącznie GPS',\n\t\t\tsensor: 'Łącznie Sonda',\n\t\t\tsensorStationary: 'Total Sensor Stationary', // TODO: translate\n\t\t\tsensorMoving: 'Total Sensor Moving', // TODO: translate\n\t\t},\n\t\tspecific: {\n\t\t\tafterhours: {\n\t\t\t\tduration: 'Czas trwania (h)'\n\t\t\t},\n\t\t\tconsumption:{ // TODO: translate\n\t\t\t\tpopups:{\n\t\t\t\t\tnormlizedDistanceConsumption: 'You drove {{distance}} km with a consumption of {{fuel}} {{fuelUnit}}',\n\t\t\t\t\tnormlizedDistanceConsumptionPerDistance: 'You drove {{distance}} km with a consumption of {{fuel}} {{fuelUnit}}/100km',\n\t\t\t\t\tnormlizedDistanceUncalculated : 'You drove {{distance}} km with a uncalculated consumption',\n\t\t\t\t}\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryTypeBefore: 'Stationary type before departure', // TODO: translate\n\t\t\t\tstationaryTypeAfter: 'Stationary type after arrival', // TODO: translate\n\t\t\t\tfuelConsumption: 'Obliczone Zużycie Paliwa',\n\t\t\t\tpurpose: 'Cel',\n\t\t\t\tselectPurpose: 'Wybierz'\n\t\t\t},\n\t\t\t'driver-routes': { // TODO translate all\n\t\t\t\tcardInserted: 'Inserted card in slot {{number}}',\n\t\t\t\tcardRemoved: 'Removed card from slot {{number}}',\n\t\t\t\ttotalConsumptionNotCalculatedBecauseDiffFuelsType: 'Due to the different fuel types used by these vehicles, it is not possible to calculate the sum.',\n\t\t\t},\n\t\t\tstation: {\n\t\t\t\tstartTime: 'Czas Startu',\n\t\t\t\tendTime: 'Czas Zakończenia',\n\t\t\t\tduration: 'Czas Trwania'\n\t\t\t},\n\t\t\tstationary: {\n\t\t\t\tstartTime: 'Czas Startu',\n\t\t\t\tendTime: 'Czas Zakończenia',\n\t\t\t\tduration: 'Czas Trwania',\n\t\t\t\tstartTimePlanned: 'Czas Startu (planowany)',\n\t\t\t\tendTimePlanned: 'Czas Zakończenia (planowany)',\n\t\t\t\tdurationPlanned: 'Czas Trwania (planowany)',\n\t\t\t},\n\t\t\ttaxi: {\n\t\t\t\tduration: 'Czas trwania',\n\t\t\t\tdistanceAvailable: 'Dystans Dostępny',\n\t\t\t\tdistanceOccupied: 'Dystans Zajęty',\n\t\t\t\tdurationAvailable: 'Czas Trwania Dostępny',\n\t\t\t\tdurationOccupied: 'Czas Trwania Zajęty',\n\t\t\t\tdurationOff: 'Czas Trwania Niedostępny',\n\t\t\t},\n\t\t\tpoi: {\n\t\t\t\tgeofences: 'POI',\n\t\t\t\twindow: 'Przedział',\n\t\t\t},\n\t\t\ttachoFiles: { // todo translate all\n\t\t\t\tvehicles: 'Vehicle files',\n\t\t\t\tdrivers: 'Driver files',\n\t\t\t\tfilename: 'File',\n\t\t\t\tdownloadedAt: 'Downloaded at',\n\t\t\t},\n\t\t\ttachoTimesheet: { // todo translate all\n\t\t\t\tstartTime: 'Start time',\n\t\t\t\tendTime: 'End time',\n\t\t\t\tdrivingDuration: 'Driving',\n\t\t\t\tothersDuration: 'Other activities',\n\t\t\t\tavailabilityDuration: 'Availability',\n\t\t\t\tactivityDuration: 'Total work',\n\t\t\t\trestDuration: 'Rest',\n\t\t\t\tnightDuration: 'Night work',\n\t\t\t\tdayDuration: 'Day work',\n\t\t\t\tworkingDuration: 'Work',\n\t\t\t\ttachoCardID: 'Card id'\n\t\t\t},\n\t\t\t23: { // todo translate all\n\t\t\t\tdistancePaid: 'Distance (km, paid)',\n\t\t\t\tdistanceLoss: 'Distance (km, loss)',\n\t\t\t\tfuelConsumptionDistanceAdjusted: 'Real fuel consumption / 100km',\n\t\t\t\tfuelDifference: 'Litres difference (real / computed)',\n\t\t\t},\n\t\t\tfaz: {\n\t\t\t\tduration: 'Czas trwania ruchu'\n\t\t\t}\n\t\t},\n\t},\n\tfuelLevel: {\n\t\teventType: {\n\t\t\tprocessing: 'Przetwarzanie w toku',\n\t\t\trefuel: 'Tankowanie',\n\t\t\tconsumption: 'Zużycie'\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Importuj tankowania',\n\t\t\tbuttonText: 'IMPORTUJ TANKOWANIA',\n\t\t\timported: '{{value}} tankowania zostały importowane',\n\t\t\tnotImported: '{{value}} tankowań nie mogło zostać importowanych',\n\t\t\tallImported: 'Wszystkie tankowania zostały importowane ({{value}})',\n\t\t},\n\t\tuploadFile: 'Prześlij plik'\n\t},\n\tpoi: {\n\t\thit: 'Odwiedzony',\n\t\tmiss: 'Opóźniony',\n\t\tunplanned: 'Niezaplanowany',\n\t\t'no-visit': 'Nieodwiedzony',\n\t\timportPlan: {\n\t\t\ttitle: 'Import rozkładów',\n\t\t\tbuttonText: 'IMPORTUJ ROZKŁADY',\n\t\t\timported: '{{value}} rozkłady zostały importowane',\n\t\t\tnotImported: '{{value}} rozkłady nie mogły zostać importowane',\n\t\t\tallImported: 'Wszysktie rozkłady zostały zaimportowane',\n\t\t},\n\t},\n\t23: {\n\t\tdistanceThreshold: 'Fuel consumption is calculated only for distances greater than 10 km' // todo translate\n\t},\n\ttable: {\n\t\texpand: 'Rozwiń tabele',\n\t\tcollapse: 'Zwiń tabele'\n\t},\n\ttemperature: {\n\t\ttemperatureTable: 'Tabela temperatury'\n\t}\n}\n","export default {\n\tsettings: 'Ustawienia',\n\tmenu: {\n\t\tnotifications: 'Powiadomienia',\n\t\tspeedLimit: 'Limit Prędkości',\n\t\tcosts: 'Koszty',\n\t\tcabotage: 'Cabotage', //TODO\n\t\torders: 'Zamówienia',\n\t\tdriverBehaviour: 'Zachowanie kierowcy',\n\t\tdataStorage: 'Przechowywanie danych',\n\t\ttms:'TMS',\n\t\tdispatch: 'Dispatch'\n\t},\n\tnotifications: {\n\t\temails: {\n\t\t\tinsertEmailsSeparatedByComma: 'Podaj adresy e-mail oddzielone przecinkiem',\n\t\t\tinsertPhonesSeparatedByComma: 'Podaj numery telefonów oddzielone przecinkiem',\n\t\t\tnotifications: 'Powiadomienia',\n\t\t\temail: 'E-mail',\n\t\t\tphone: 'Telefon',\n\t\t},\n\t},\n\tspeedLimit: {\n\t\tvehicles: {\n\t\t\tmax: 'Domyślny próg alarmowy',\n\t\t\tmaxTooltip: 'alerty bedą wysłane jeśli próg jest przekroczony niezależnie od limitu prędkości na drodze (np 90 km/h dla pojazdów ciężarowych)',\n\t\t\tmin: 'Próg alarmowy',\n\t\t\tminTooltip: 'alerty prędkości nie będą wysyłane jeśli będą poniżej prog',\n\t\t\toffset: 'Dozwolony próg',\n\t\t\toffsetTooltip: '10 km/h alert zostanie wysłany przy\\n50 + 10 km/h w terenach zabudowanych, \\n90 + 10 km/h na drogach poza terenem zabudowanym, \\n130 + 10 km/h na autostradach',\n\t\t\terrorMessage: 'Sprawdź pola zaznaczone na czerwono',\n\t\t\ttype: {\n\t\t\t\tutility: 'Użytkowy',\n\t\t\t\tcar: 'Samochód',\n\t\t\t\tminibus: 'Minibus',\n\t\t\t\tbus: 'Bus',\n\t\t\t\ttruck: 'Ciężarowy',\n\t\t\t\ttractor: 'Traktor',\n\t\t\t\tharvester: 'Kombajn',\n\t\t\t\tconstruction: 'Budowlany',\n\t\t\t\ttrailer: 'Przyczepa',\n\t\t\t\t'semi-trailer': 'Naczepa'\n\t\t\t}\n\t\t}\n\t},\n\tcosts: {\n\t\ttitle: 'Koszty',\n\t\tdescription: 'Podaj koszt/godzine', // todo translate\n\t\tinsertNumber: 'Podaj koszt' // todo translate\n\t},\n\tcountries: {\n\t\tat: 'Austria',\n\t\tbe: 'Belgia',\n\t\tbg: 'Bułgaria',\n\t\thr: 'Chorwacja',\n\t\tcy: 'Cypr',\n\t\tcz: 'Czechy',\n\t\tdk: 'Dania',\n\t\tee: 'Estonia',\n\t\tfl: 'Finlandia',\n\t\tfr: 'Francja',\n\t\tde: 'Niemcy',\n\t\tgr: 'Grecja',\n\t\thu: 'Węgry',\n\t\tie: 'Irlandia',\n\t\tit: 'Włochy',\n\t\tlv: 'Łotwa',\n\t\tlt: 'Litwa',\n\t\tlu: 'Luksemburg',\n\t\tmt: 'Malta',\n\t\tnl: 'Holandia',\n\t\tpl: 'Polska',\n\t\tpt: 'Portugalia',\n\t\tro: 'Rumunia',\n\t\tsk: 'Słowacja',\n\t\tsl: 'Słowenia',\n\t\tes: 'Hiszpania',\n\t\tse: 'Szwecja',\n\t\tgb: 'Wielka Brytania',\n\t\ttransitCost: 'Transit Cost € / h', // TODO\n\t\tcabotageCost: 'Cabotage Cost € / h', // TODO\n \t\tgeneral: 'General' // TODO\n\t},\n\tdriverBehaviour: {\n\t\trpm: {\n\t\t\ttitle: 'RPM', // TODO: translate\n\t\t\tstationary: 'RPM Stationary', // TODO: translate\n\t\t\tmoving: 'RPM Moving', // TODO: translate\n\t\t\try: 'RPM Red-Yellow (%)', // TODO: translate\n\t\t\tyg: 'RPM Yellow-Green (%)', // TODO: translate\n\t\t\tgy: 'RPM Green-Yellow (%)', // TODO: translate\n\t\t\tyr: 'RPM Yellow-Red (%)', // TODO: translate\n\t\t\try_allowed: 'Allowed in Red-Yellow', // TODO: translate\n\t\t\tyg_allowed: 'Allowed in Yellow-Green', // TODO: translate\n\t\t\tgy_allowed: 'Allowed in Green-Yellow', // TODO: translate\n\t\t\tyr_allowed: 'Allowed in Yellow-Red' // TODO: translate\n\t\t},\n\t\tidlingTime: {\n\t\t\ttitle: 'Idling time', // TODO: translate\n\t\t\ttotal: 'Total Idling time', // TODO: translate\n\t\t\tavg: 'Average Idling time', // TODO: translate\n\t\t\tavgTime: {\n\t\t\t\tminLabel: 'Average Idling time (min)', // TODO: translate\n\t\t\t\tsecLabel: 'Average Idling time (sec)', // TODO: translate\n\t\t\t\tminTooltip: 'min',\n\t\t\t\tsecTooltip: 'sek'\n\t\t\t},\n\t\t\tgyr: 'Idling time Green-Yellow-Red', // TODO: translate\n\t\t\tgyrTime: {\n\t\t\t\tgyLabel: 'Green-Yellow', // TODO: translate\n\t\t\t\tgyToolTip: 'Green-Yellow Idling time (%)', // TODO: translate\n\t\t\t\tyrLabel: 'Yellow-Red', // TODO: translate\n\t\t\t\tyrToolTip: 'Yellow-Red Idling time (%)' // TODO: translate\n\t\t\t}\n\t\t},\n\t\tharshAcc: {\n\t\t\ttitle: 'Harsh Acceleration', // TODO: translate\n\t\t\tgy: 'Green-Yellow', // TODO: translate\n\t\t\tyr: 'Yellow-Red', // TODO: translate\n\t\t\tgy_allowed: 'Green-Yellow Allowed', // TODO: translate\n\t\t\tyr_allowed: 'Yellow-Red Allowed', // TODO: translate\n\t\t\tgyTooltip: 'Green-Red', // TODO: translate\n\t\t\tyrTooltip: 'Between Green-Yellow (%)', // TODO: translate\n\t\t\tgy_allowedTooltip: 'Green-Yellow Allowed (%)', // TODO: translate\n\t\t\tyr_allowedTooltip: 'Yellow-Red Allowed (%)' // TODO: translate\n\t\t},\n\t\tharshDcc: {\n\t\t\ttitle: 'Harsh Deceleration', // TODO: translate\n\t\t\tgy: 'Green-Yellow', // TODO: translate\n\t\t\tyr: 'Yellow-Red', // TODO: translate\n\t\t\tgy_allowed: 'Green-Yellow Allowed', // TODO: translate\n\t\t\tyr_allowed: 'Yellow-Red Allowed', // TODO: translate\n\t\t\tgyTooltip: 'Green-Red', // TODO: translate\n\t\t\tyrTooltip: 'Between Green-Yellow (%)', // TODO: translate\n\t\t\tgy_allowedTooltip: 'Green-Yellow Allowed (%)', // TODO: translate\n\t\t\tyr_allowedTooltip: 'Yellow-Red Allowed (%)' // TODO: translate\n\t\t},\n\t\tspeeding: {\n\t\t\ttitle: 'Przyśpieszenie',\n\t\t\tevtCount: 'Event count', // TODO: translate\n\t\t\tavg: 'Average overspeeding', // TODO: translate\n\t\t\tmoving: 'Moving', // TODO: translate\n\t\t\tevtCountTooltip: 'Event count / 100 km', // TODO: translate\n\t\t\tavgTooltip: 'Average overspeeding value km/h', // TODO: translate\n\t\t\tmovingTooltip: '(%) of moving in km' // TODO: translate\n\t\t},\n\t\tfuelConsumption: {\n\t\t\ttitle: 'Fuel Consumption',\n\t\t\ttooltip: ''\n\t\t},\n\t\try: 'Red-Yellow', // TODO: translate\n\t\tyg: 'Yellow-Green', // TODO: translate\n\t\tgy: 'Green-Yellow', // TODO: translate\n\t\tyr: 'Yellow-Red', // TODO: translate\n\t\tred: 'Red', // TODO: translate\n\t\tyellow: 'Yellow', // TODO: translate\n\t\tgreen: 'Green', // TODO: translate\n\t\tselectCarType: 'Please select a car type', // TODO: translate\n\t\tcarType: {\n\t\t\tutility: 'Użytkowy',\n\t\t\tcar: 'Samochód',\n\t\t\tminibus: 'Minibus',\n\t\t\tbus: 'Bus',\n\t\t\ttruck: 'Ciężarowy',\n\t\t\ttractor: 'Traktor',\n\t\t\tharvester: 'Kombajn',\n\t\t\tconstruction: 'Budowlany',\n\t\t\ttrailer: 'Przyczepa',\n\t\t\t'semi-trailer': 'Naczepa'\n\t\t},\n\t\tselectVehicle: 'Please select a vehicle', // TODO: translate\n\t\tselectVehicleCopy: 'Please select a vehicle to copy from' // TODO: translate\n\t},\n\torders: {\n\t\tsources: {\n\t\t\ttracknamic: 'Tracknamic',\n\t\t\tsamsung: 'Samsung',\n\t\t\tbibtrack: 'Bibtrack',\n\t\t\tshippeo: 'Shippeo',\n\t\t\tcustom: 'Custom'\n\t\t},\n\t}\n}\n","export default {\n\tmessages: 'Wiadomości',\n\tnewMessageThread: 'Utwórz nową konwersacje',\n\tcancel: 'Anuluj',\n\tsearchThreads: 'Szukaj...',\n\tdetails: 'Szczegóły',\n\tthreadName: 'Temat',\n\tpriority: 'Priorytet',\n\tlowPriority: 'Normalny',\n\tmediumPriority: 'Średni',\n\thighPriority: 'Wysoki',\n\tselectPriority: 'Wybierz priorytet',\n\tsearchUser: 'Szukaj użytkowników...',\n\tselectGroup: 'Wybierz dział',\n\tallGroups: 'Wszyskie działy',\n\tphone: 'Telefon',\n\temail: 'Email',\n\tadd: 'Dodaj',\n\tremove: 'Usuń',\n\tcreateMessageThread: 'Utwórz wiadomość',\n\tupdateMessageThread: 'Aktualizuj wątek',\n\tdeleteMessageThread: 'Napewno usunąć ten wątek?',\n\tdeleteConfirmButton: 'Potwierdzam',\n\tdeleteCancelButton: 'Anuluj',\n\tmessageInputPlaceholder: 'Napisz wiadomość...',\n\tunreadMessages: ' nieprzeczytane wiadomości',\n\tnoMessages: 'Nie ma wiadomości w tym wątku w danej chwili..',\n\taddUser: 'Dodaj użytkownika',\n\tok: 'Ok',\n\tparticipants: 'uczestnicy',\n\tdocument: 'Dokument',\n\tseenBy: 'Widziane przez: '\n}\n","export default {\n   title:'TMS',\n\tdispatch: 'Dyspozycja',\n\tloadAddress: 'Załaduj adres',\n\tunloadAddress: 'Odładuj adres',\n\tenterQuery: 'Wpisz zapytanie',\n\ttypeToSearch: 'Wpisz aby wyszukać',\n\tbudget: 'Budżet',\n\tstatName: 'Statystyka',\n\tprofitability: 'Rentowność',\n\totherStat: 'Inne statystyki',\n\tmenu: {\n\t\tindex: 'Dyspozycja',\n\t\tmap: 'Map', // todo translate\n\t\torders: 'Orders', // todo translate\n\t\tclients: 'Clients', // todo translate\n\t\tvehicleGroups: 'Vehicle groups', // todo translate\n\t\troutes: {\n\t\t\tindex: 'Trasy',\n\t\t\tadd: 'Dodaj trasę'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Trasa',\n\t\tdistance: 'Dystans (km)',\n\t\tname: 'Nazwa',\n\t\tvehicles: 'Pojazdy',\n\t\tvehicle: 'Pojazd',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Szerokość (w metrach, np. 2.4)',\n\t\t\theight: 'Wysokość (w metrach, np. 4.2',\n\t\t\tlength: 'Długość (w metrach, np. 7)',\n\t\t\tweight: 'Waga (w tonach, np. 5)',\n\t\t},\n\t\tduration: 'Czas Trwania',\n\t\twaypoints: {\n\t\t\ttitle: 'Punkty',\n\t\t\ttype: 'Typ',\n\t\t\ttypes: {\n\t\t\t\tload: 'Załadunek',\n\t\t\t\tunload: 'Rozładunek',\n\t\t\t\tstop: 'Postój'\n\t\t\t},\n\t\t\tlocation: 'Lokalizacja',\n\t\t\tduration: 'Czas trwania (minuty)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Niebezpieczne materiały',\n\t\t\tstrict: 'Ścisła trasa',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Wybuchowy',\n\t\t\t\tgas: 'Gaz',\n\t\t\t\tflammable: 'Łatwopalny',\n\t\t\t\tcombustible: 'Palny',\n\t\t\t\torganic: 'Organiczny',\n\t\t\t\tpoison: 'Trujący',\n\t\t\t\tradioActive: 'Radioaktywny',\n\t\t\t\tcorrosive: 'Żrący',\n\t\t\t\tpoisonousInhalation: 'Trujący przy wdychaniu',\n\t\t\t\tharmfulToWater: 'Szkodliwy dla wody',\n\t\t\t\tother: 'Inny',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Wygeneruj trasę',\n\t\t\toptimize: 'Optymalizuj trasę',\n\t\t\tnext: 'Następny',\n\t\t\tsave: 'Zapisz',\n\t\t\tadd: 'Dodaj',\n\t\t\tsearch: 'Znajdź trasę...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Generowanie trasy...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Zoptymalizowana trasa',\n\t\t\tuse: 'Użyj zoptymalizowanej trasy',\n\t\t\tmessage: 'Trasa nie można zoptymalizować trasy',\n\t\t\tdiff: 'Zoptymalizowana trasa jest krótsza o <b>{{distance}}</b> i szybsza o <b>{{time}}</b>.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Harmonogramy'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Szczegóły'\n\t\t}\n\t},\n\tmap: { // todo translate all\n\t\troute: {\n\t\t\tname: 'Name',\n\t\t\tdistance: 'Distance',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Drive',\n\t\t\t\trest: 'Rest',\n\t\t\t\ttotal: 'Duration',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Primary',\n\t\t\t\tcheapest: 'Cheapest',\n\t\t\t\tfastest: 'Fastest',\n\t\t\t\tshortest: 'Shortest',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Stash',\n\t\t\t\tsave: 'Save',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Transport type',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Freezer',\n\t\t\t\t\tsecure: 'Secure',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Cost',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / tarifar',\n\t\t\tcost: 'Cost',\n\t\t\tcostDetailed: 'Driver cost: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€',\n\t\t\tprofitability: 'Profitability',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Low',\n\t\t\t\tmedium: 'Medium',\n\t\t\t\thigh: 'High',\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimize',\n\t\t\tloading: 'Loading...',\n\t\t\tcostDetailed: 'Driver cost: {{driverCost}}€\\nVehicle cost: {{vehicleCost}}€\\nTax: {{tollCost}}€',\n\t\t}\n\t},\n\torders: { // todo translate all\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\texternalID: \"External ID\", // TODO translate\n\t\t\tclient: 'Client',\n\t\t\tvehicleGroup: 'Vehicle group', // TODO translate\n\t\t\tstatus: 'Status',\n\t\t\tstatusDate: 'Status date',\n\t\t\tstartLocation: 'Start location',\n\t\t\tendLocation: 'End location',\n\t\t\tdate: 'Date',\n\t\t\tattachments: 'Attachments', // TODO translate\n\t\t\tupdatedAt: 'Last update',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add order',\n\t\t\t\tname: 'Name',\n\t\t\t\tstatus: 'Status',\n\t\t\t\tsource: 'Source',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'External ID',\n\t\t\t\tvehicleGroup: 'Vehicle group',\n\t\t\t\tclient: 'Client',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Address',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Loading',\n\t\t\t\t\t\tunloading: 'Unloading',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Upload attachment', // todo translate\n\t\t\t},\n\t\t}\n\t},\n\tclients: { // todo translate all\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Add client',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add client',\n\t\t\t\tname: 'Name',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: { // todo translate all\n\t\theader: {\n\t\t\tname: 'Name',\n\t\t\ttractorUnit: 'Tractor unit',\n\t\t\tsemitrailer: 'Semitrailer',\n\t\t\tdriver: 'Driver',\n\t\t\tcodriver: 'Co-driver',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Add vehicle group',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Add vehicle group',\n\t\t\t\tname: 'Name',\n\t\t\t\ttractorUnit: 'Tractor unit',\n\t\t\t\tsemitrailer: 'Semitrailer',\n\t\t\t\tdriver: 'Driver',\n\t\t\t\tcodriver: 'Co-driver',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Tractor unit',\n\t\t\tsemitrailers: 'Semitrailer',\n\t\t\tvehicleGroups: 'Vehicle groups',\n\t\t},\n\t},\n}\n","import Alerts from './alerts'\nimport Dispatch from './dispatch'\nimport Driving from './driving'\nimport Errors from './errors'\nimport Etransport from './etransport'\nimport Management from './management'\nimport Markers from './markers'\nimport Messages from './messages'\nimport Reports from './reports'\nimport Settings from './settings'\nimport Threads from './threads'\nimport TMS from './tms'\n\nexport default {\n\ttms: TMS,\n\tdispatch: Dispatch,\n\tdriving: Driving,\n\tmanagement: Management,\n\tetransport: Etransport,\n\tmarkers: Markers,\n\tmessages: Messages,\n\treports: Reports,\n\tsettings: Settings,\n\tthreads: Threads,\n\talerts: {\n\t\ttypes: {\n\t\t\t'fuel-level-drop-stationary': 'Spadek poziomu paliwa na postoju (czujnik) ',\n\t\t\t'fuel-consumption-excessive': 'Zwiększone zużycie paliwa',\n\t\t\t'panic-button': 'Alert przycisku paniki'\n\t\t},\n\t\ttachoRestInfo: 'Jeśli kierowca jest w cyklu 1-5, po 11 godzinach i 15 minutach normalnego codziennego odpoczynku wyślemy alert/powiadomienie.\\nJeśli kierowca jest w cyklu 6-7, po 46 godzinach normalnego tygodniowego odpoczynku wyślemy alert/powiadomienie.',\n\t\tmessages: Alerts\n\t},\n\terrors: {\n\t\tsavingVehicle: 'Błąd podczas zapisywania pojazdu',\n\t\tsavingUser: 'Błąd podczas zapisywania kierowcy',\n\t\trelay: 'Błąd podczas blokowania/odblokowywania zapłonu',\n\t\tuserExist: 'Użytkownik już istnieje', // err 409\n\t\temailUsed: 'Email jest już używany', // err 410\n\t\t'5010': 'Tylko proste wielokąty są dozwolone.',\n\t\t'5020': 'Sekcja jest już udostępniona.',\n\t\tmessages: Errors,\n\t\taccountDisabled: 'Przepraszamy. Konto tej firmy zostało deaktywowane.'\n\t},\n\tgenerate: \"Generate\", // todo translate\n\texpandSelected : 'Expand selected', // todo translate\n\tcollapseSelected : 'Collapse selected', // todo translate\n\ttotalKmSelected : 'Total KM selected', // todo translate\n\tselectCustomer: 'Wybierz klienta',\n\tselectGroup: 'Wybierz grupę',\n\tselectStatus: 'Wybierz status',\n\tselectColor: 'Wybierz kolor',\n\tdisplayName: 'Nazwa',\n\tshowVehicles: 'Pokaż pojazdy',\n\thideVehicles: 'Ukryj pojazdy',\n\trequired: 'Required', // todo translate\n\tpages: 'Pages', // todo translate\n\tname: 'Name', // todo translate\n\trole: 'Role', // todo translate\n\troles: 'Roles', // todo translate\n\talways: 'Always', // translate\n\tnever: 'Never', // translate\n\thideGeofences: 'Hide geofences', // translate\n\tsettingsGeofences: 'Geofences settings', // translate\n\torderNumber: 'Order number', // translate\n\tsimple: 'Simple', // translate\n\tmanual: 'Manual', // translate\n\tdynamic: 'Dynamic', // translate\n\tmedium: 'Medium',  // translate\n\tbig: 'Big', // translate\n\tclient: 'Client', // translate\n\tcompany: 'Company', // translate\n\tengineLoad: 'Engine Load %', // translate\n\tengineLoadShort: 'EL', // translate\n\tnoModuleEmailSms: 'You didn\\'t have activated the email or sms module', // TODO translate\n\tapplyTo: 'Apply to', // TODO translate\n\tsameVehicleType: 'Same vehicle type', // TODO translate\n\tallVehiclesFromGroup: 'All vehicles from group', // TODO translate\n\tvehicleNotFound: 'Vehicle not found', // TODO translate\n\tuserNotFound: 'User not found', // TODO translate\n\ton: 'on', // TODO translate\n\toff: 'off', // TODO translate\n\tprovider: 'Provider', // TODO translate\n\tallAnothers: 'All anothers', // TODO translate\n\ttotals: 'Łącznie',\n\tadblueLevel: \"Poziom AdBlue\",\n\tentry: 'Wjazd',\n\texit: 'Wyjazd',\n\tshowExternalID: 'Pokaż zewnętrzne ID',\n\tshowFluctuations: 'Show confirmed fluctuations', // todo translate\n\thideFluctuations: 'Hide confirmed fluctuations', // todo translate\n\tpagination: {\n\t\tfirst: 'Pierwsza strona',\n\t\tlast: 'Ostatnia strona',\n\t\tnext: 'Następna strona',\n\t\tprevious: 'Poprzednia strona',\n\t\tof: 'z',\n\t\tresultsPerPage: 'Wyników na stronę',\n\t\tgoToPage: 'Idź do strony',\n\t\tpageOfTotal: 'Strona {{page}} z {{total}}',\n\t},\n\ttotal: 'Łączny',\n\thistoric: 'Historia',\n\tnow: 'Teraz',\n\tchangeDate: 'Zmień date',\n\tcountry: 'Kraj',\n\tstationaryDurationTotal: 'Czas Trwania (Łącznie)',\n\tstationaryDurationEngineOn: 'Czas Trwania (Silnik Wł)',\n\tstationaryDurationEngineOff: 'Czas Trwania (Silnik Wył)',\n\tdurationEngineOn: 'Czas Trwania Silnik Wł.',\n\tdurationFormat: 'DD[d] HH[h] mm[m] ss[s]',\n\tdurationFormatDDHHmm: 'DD[d] HH[h] mm[m]',\n\tdurationFormatHHmm: 'HH[h] mm[m]',\n\tdurationFormatCharDay: 'd',\n\tdurationFormatCharHour: 'h',\n\temail: 'Email',\n\tgranularity: 'Ziarnistość',\n\ttotalDistance: 'Łączny Dystans',\n\ttotalFuelConsumptionMoving: 'Total fuel consumption (while moving)', // TODO translate\n\taverageFuelConsumptionMoving: 'Average fuel consumption (while moving)', // TODO translate\n\ttotalDurationStationary: 'Total duration (while stationary)', // TODO translate\n\ttotalDurationStationaryEngineOn: 'Total duration (while stationary, with engine on)', // TODO translate\n\taverageFuelConsumptionStationary: 'Average fuel consumption (while stationary)', // TODO translate\n\tmin3kmDistanceForFuelConsumptionCalculation: 'Zużycie paliwa jest wyliczone przy minimalnym dystansie 3km',\n\tmin5kmDistanceForFuelConsumptionCalculation: 'Zużycie paliwa jest wyliczone przy minimalnym dystansie 5km',\n\tconsumptionCannotBeComputed: 'Zużycie Paliwa nie może zostać obliczone, sprawdź ustawienia pojazdu',\n\tfuelSource: {\n\t\tsensor: 'Sonda',\n\t\tcan: 'CAN',\n\t\tcomputed: 'Wyliczone',\n\t},\n\tshowGraphic: 'Pokaż graficznie',\n\tclusterMarkers: 'Znaczniki klastra',\n\tactiveSince: 'Aktywny od',\n\tpleaseWait: 'Proszę czekać',\n\tprocessingFileData: 'Przetwarzanie pliku',\n\texpand: 'Rozwiń',\n\tloading: {\n\t\ttext: 'Ładowanie'\n\t},\n\tacl: 'Kontrola dostępu',\n\talertsAndNotifications: 'Alerty i Powiadomienia',\n\tlimit: 'Limit',\n\topenDoorsStatus: 'Status drzwi',\n\tdoorsStatus: {\n\t\topen: 'Otwarte drzwi',\n\t\tclosed: 'Zamknięte drzwi',\n\t},\n\tclosed: 'Zamknięte',\n\topen: 'Otwarte',\n\tdoors: {\n\t\tdoorFrontLeft: 'Przednie lewe drzwi',\n\t\tdoorFrontRight: 'Przednie prawe drzwi',\n\t\tdoorBackLeft: 'Tylne lewe drzwi',\n\t\tdoorBackRight: 'Tylne prawe drzwi',\n\t\tdoorTrunk: 'Bagażnik',\n\t\topen: 'otwarte',\n\t\tclosed: 'zamknięte',\n\t},\n\topenDoor: {\n\t\t'front-left': 'Przednie lewe drzwi otwarte', // todo remove after added on map\n\t\t'front-right': 'Przednie prawe drzwi otwarte', // todo remove after added on map\n\t\t'back-left': 'Tylne lewe drzwi otwarte', // todo remove after added on map\n\t\t'back-right': 'Tylne prawe drzwi otwarte', // todo remove after added on map\n\t\t'trunk': 'Otwarty bagażnik', // todo remove after added on map\n\t\t'door-front-left': 'Przednie lewe drzwi otwarte',\n\t\t'door-front-right': 'Przednie prawe drzwi otwarte',\n\t\t'door-back-left': 'Tylne lewe drzwi otwarte',\n\t\t'door-back-right': 'Tylne prawe drzwi otwarte',\n\t\t'door-trunk': 'Otwarty bagażnik',\n\t\t'allClosed': 'Wszystie drzwi zamknięte.',\n\t\t'na': 'Brak czujnika',\n\t\tgeneric: 'Otwarte drzwi'\n\t},\n\tfreezerStatus: 'Status jednostki chłodzącej',\n\tfreezer: {\n\t\ton: 'Jednostka chłodząca włączona',\n\t\toff: 'Jednostka chłodząca wyłączona',\n\t\tna: 'Brak jednostki chłodzącej',\n\t\tgeneric: 'Refrigeration unit', // todo translate\n\t},\n\tvehicle: {\n\t\tengineOn: 'Silnik włączony',\n\t\tengineOff: 'Silnik wyłączony',\n\t\tunreachable: 'Brak sygnału',\n\t},\n\tvehiclesStatus: 'Vehicles status', // todo translate\n\tvehicleStatus: {\n\t\tengineOn: 'W ruchu',\n\t\tengineOff: 'Postój',\n\t\tunreachable: 'Brak sygnału',\n\t\tunreachableSince: 'Brak sygnału od {{status}}',\n\t\tnoLocation: 'Brak przypisanych urządzeń',\n\t\tgeneric: 'Status pojazdu',\n\t},\n\ttaxiState: 'Dostępność',\n\ttaxiStates: {\n\t\tavailable: 'Dostępny',\n\t\toccupied: 'Zajęty',\n\t\toff: 'Niedostępny',\n\t\tna: 'Brak danych',\n\t},\n\tauxAC: { // TODO translate\n\t\tlabel: \"Auxiliary AC\",\n\t\tauxCooling: \"Auxiliar Cooling\",\n\t\tauxHeating: \"Auxiliar heating\",\n\t\tvalues: {\n\t\t\ton: \"On\",\n\t\t\toff: \"Off\"\n\t\t}\n\t},\n\tlandingPage: 'Landing page',\n\tlicensePlate: 'Tablica Rejestracyjna',\n\tlicensePlates: 'Tablice Rejestracyjne',\n\tprevious: 'Poprzedni',\n\tnext: 'Następny',\n\tnoResults: 'Brak wyników',\n\tfromDate: 'Od',\n\tuntil: 'Do',\n\tstops: 'Zatrzymanie',\n\ttemperatureIntervals: 'Wszystkie',\n\tinterval: 'Przedział',\n\trouteReport: 'Trasy',\n\tanotherValue: 'Inna wartość',\n\tliters: 'Litrów',\n\tconsume: 'Zużycie',\n\tconsumption: 'Zużycie',\n\tspeedPerHour: 'Prędkość (km/h)',\n\tspeed: 'Prędkość',\n\tspeedLimit: 'Limity prędkości',\n\taltitude: 'Wysokość',\n\taltitudeMeters: 'Wysokość (m)',\n\tfuelLevelLitres: 'Poziom Paliwa (l)',\n\tfuelCanLevelLitres: 'Poziom Paliwa CAN (l)',\n\trefuel: 'Tankowanie',\n\taverageSpeed: 'Średnia Prędkość',\n\tmaxSpeed: 'Maksymalna Prędkość',\n\tdistance: 'Dystans',\n\tfuelLevelForPeriod: 'Poziom paliwa dla przedziału',\n\tcanFuelLevel: 'Poziom Paliwa CAN',\n\tfuelLevel: 'Poziom Paliwa',\n\tfuelCanLevel: 'Poziom Paliwa CAN',\n\tfuelConsumption: 'Zużycie paliwa',\n\tcalculateRoute: 'Wylicz trasę',\n\tdetails: 'Szczegóły',\n\tnoDetails: 'Brak szczegółów',\n\tevent_enter: 'Zdarzenie wjazdu',\n\tevent_exit: 'Zdarzenie wyjazdu',\n\tevent_stationary: 'Zdarzenie postoju',\n\talert_in: 'Alert wjazdu',\n\talert_out: 'Alert wyjazdu',\n\talert_transit: 'Alert Tranzytu',\n\tback: 'Powrót',\n\tminValue: 'Minimalna wartość',\n\tmaxValue: 'Maksymalna wartość',\n\taverageValue: 'Średnia wartość',\n\tm_settings: {\n\t\tmarkers: 'Ustawienia marker',\n\t\tmap: 'Ustawienia mapy',\n\t\t_: 'Ustawienia'\n\t},\n\tstatusFeed: 'Stan floty',\n\toneVehicle: 'Pojazd',\n\tvehicles: 'Pojazdy',\n\tvehicless: 'pojazd(y)',\n\tgeofences: 'Obszary',\n\tpois: 'POI',\n\tusers: 'Użytkownicy',\n\tdefault: 'Domyślne',\n\tdivisions: 'Sekcja',\n\tduration: 'Czas trwania',\n\taccount: 'Konto',\n\tpoi: 'POI',\n\tpoiMultiple: 'POI multiple', // TODO: translate\n\ttimetables: 'Harmonogramy',\n\tintegrations: 'Integracje',\n\tshare: 'Udostępnij',\n\tshared: 'Udostępnione',\n\tdayHours: 'Godziny',\n\ttheMinutes: 'Minuty',\n\tmonthDays: 'Dni',\n\ttheWeekDays: 'Dni',\n\tday: 'Dzień',\n\tweek: 'Tydzień',\n\tmonth: 'Miesiąc',\n\tevery: 'Wszystko',\n\tmap: 'Mapa',\n\ttype: 'Typ',\n\tsearch: 'Szukaj',\n\tALL: 'WSZYSTKO',\n\tok: 'OK',\n\tadd: 'DODAJ',\n\tsave: 'ZAPISZ',\n\tsaveSuccess: 'Dane zapisane.',\n\tedit: 'EDYTUJ',\n\tinvite: 'INVITE', // todo translate\n\treactivate: 'REACTIVATE', // todo translate\n\tcancel: 'ANULUJ',\n\tsend: 'WYSLIJ',\n\ttimezone: 'Strefa czasowa',\n\tdelete: 'USUŃ',\n\taddFueling: 'Dodaj tankowanie',\n\taddStoppingPurpose: 'Add Stopping Purpose', //TODO\n\tload: 'Load', //TODO\n\tunload: 'Unload', //TODO\n\tstationary: 'Stationary', //TODO\n\taclGroup: 'Grupa',\n\taclGroups: 'Grupy',\n\taclVehicle: 'Pojazd',\n\taclVehicles: 'Pojazdy',\n\tallVehicles: 'Wszystkie Pojazdy',\n\tselected: 'wybrane',\n\tsubscribe: 'Subskrybuj',\n\tacceleration: 'Przyspieszenie',\n\trpm: 'RPM',\n\ttemperature: 'Temperatura',\n\tcelsiusTemperature: 'Temperatura (°C)',\n\tsensors: 'Czujniki',\n\tsensor: {\n\t\t'temperature': 'Temperatura',\n\t\t'temperature-1': 'Czujnik 1',\n\t\t'temperature-2': 'Czujnik 2',\n\t\t'temperature-3': 'Czujnik 3',\n\t\t'temperature-4': 'Czujnik 4',\n\t\t'temperature-5': 'Czujnik 5',\n\t\t'temperature-6': 'Czujnik 6',\n\t\t'temperature-7': 'Czujnik 7',\n\t\t'temperature-8': 'Czujnik 8',\n\t},\n\taccelerationG: 'Przyspieszenie',\n\talert: 'Alert',\n\tnotification: 'Powiadomienie',\n\tdate: 'Data',\n\thour: 'Godzina',\n\trecurrent: 'Powtarzane',\n\trecurrentEachWeekDay: 'Powtarzane każdego {{day}}',\n\tdisabled: 'Wyłączone',\n\tdriver: 'Kierowca',\n\tdrivers: 'Kierowcy',\n\tdriverss: 'Kierowcy',\n\tnoDriver: 'Brak kierowcy',\n\tallDrivers: 'All drivers', // todo translate\n\tunselectAllDrivers: 'Cancel selections', // todo translate\n\tselectAllDrivers: 'Select all', // todo translate\n\tselectedDrivers: 'wybrani kierowcy',\n\tselectFile: 'Wybierz Plik',\n\tselectVehicles: 'Wybierz pojazdy',\n\tselectVehicle: 'Wybierz pojazd',\n\tselectFilters: 'Wybierz filtry',\n\tselectedFilters: 'wybrane filtry',\n\tlocations: 'Lokalizacje',\n\tunknownLocation: 'Nieznane położenie',\n\tunknown: 'Nieznane',\n\tvirtualOdometer: 'Wirtualny przebieg',\n\tcanOdometer: 'CAN przebieg',\n\todometer: 'Przebieg',\n\tinsertEmailAddress: 'Podaj adres email',\n\tengineState: 'Stan silnika',\n\trouteType: {\n\t\tstationary: 'Postój',\n\t\tmoving: 'W ruchu',\n\t},\n\ttime: {\n\t\tperiod: 'Okres',\n\t\ttoday: 'Dziś',\n\t\tcurrentWeek: 'Obecny tydzień',\n\t\tcurrentMonth: 'Obecny miesiąc',\n\t\tyesterday: 'Wczoraj',\n\t\tlastWeek: 'Poprzedni tydzień',\n\t\tlastMonth: 'Poprzedni miesiąc'\n\t},\n\tweekDays: {\n\t\tsunday: 'Niedziela',\n\t\tmonday: 'Poniedziałek',\n\t\ttuesday: 'Wtorek',\n\t\twednesday: 'Środa',\n\t\tthursday: 'Czwartek',\n\t\tfriday: 'Piątek',\n\t\tsaturday: 'Sobota'\n\t},\n\tshortDays: {\n\t\tsunday: 'Sun', // TODO: translate\n\t\tmonday: 'Mon', // TODO: translate\n\t\ttuesday: 'Tue', // TODO: translate\n\t\twednesday: 'Wed', // TODO: translate\n\t\tthursday: 'Thu', // TODO: translate\n\t\tfriday: 'Fri', // TODO: translate\n\t\tsaturday: 'Sat' // TODO: translate\n\t},\n\tmonths: {\n\t\tjanuary: 'January', // TODO: translate\n\t\tfebruary: 'February', // TODO: translate\n\t\tmarch: 'March', // TODO: translate\n\t\tapril: 'April', // TODO: translate\n\t\tmay: 'May', // TODO: translate\n\t\tjune: 'June', // TODO: translate\n\t\tjuly: 'July', // TODO: translate\n\t\taugust: 'August', // TODO: translate\n\t\tseptember: 'September', // TODO: translate\n\t\toctober: 'October', // TODO: translate\n\t\tnovember: 'November', // TODO: translate\n\t\tdecember: 'December' // TODO: translate\n\t},\n\tshortMonths: {\n\t\tjanuary: 'Jan', // TODO: translate\n\t\tfebruary: 'Feb', // TODO: translate\n\t\tmarch: 'Mar', // TODO: translate\n\t\tapril: 'Apr', // TODO: translate\n\t\tmay: 'May', // TODO: translate\n\t\tjune: 'Jun', // TODO: translate\n\t\tjuly: 'Jul', // TODO: translate\n\t\taugust: 'Aug', // TODO: translate\n\t\tseptember: 'Sep', // TODO: translate\n\t\toctober: 'Oct', // TODO: translate\n\t\tnovember: 'Nov', // TODO: translate\n\t\tdecember: 'Dec' // TODO: translate\n\t},\n\tmenu: 'Meniu', // TODO: translate\n\texportSvg: 'Export SVG', // TODO: translate\n\texportPng: 'Export PNG', // TODO: translate\n\texportCsv: 'Download CSV', // TODO: translate\n\tselection: 'Selection', // TODO: translate\n\tselectionZoom: 'Selection Zoom', // TODO: translate\n\tzoomIn: 'Zoom In', // TODO: translate\n\tzoomOut: 'Zoom Out', // TODO: translate\n\tpan: 'Panning', // TODO: translate\n\treset: 'Reset Zoom', // TODO: translate\n\tdashboard: {\n\t\theatmap: {\n\t\t\ttitle: {\n\t\t\t\tdistance: 'Aktywność w ostatnich 24h',\n\t\t\t\twork: 'Pracujące w ostanich 24h',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tdistance: 'Dystans',\n\t\t\t\twork: 'Pracujące',\n\t\t\t},\n\t\t\tunits: {\n\t\t\t\tkm: 'km',\n\t\t\t\tmin: 'min',\n\t\t\t},\n\t\t\tshowMore: 'Pokaż więcej',\n\t\t\tshowLess: 'Pokaż mniej',\n\t\t},\n\t\tdailyKm: 'Łącznie km w ostatnich 24h',\n\t\tdailyConsumption: 'Zużycie w ostatnich 24h',\n\t\tmonthlyKm: 'Km w tym miesiącu',\n\t\tmonthlyConsumption: 'Całkowite zużycie w tym miesiącu',\n\t\tcars: 'samochody',\n\t\talerts: 'Alerty',\n\t\tnotifications: 'Powiadomienia',\n\t\tshowAlerts: 'Pokaż Alerty',\n\t\tshowNotifications: 'Pokaż Powiadomienia',\n\t\tshowAllVehicles: 'Pokaż wszystkie pojazdy',\n\t\tstoped: 'Postój',\n\t\tmoving: 'W ruchu',\n\t\tcontact: 'Masz sugestię lub skargę?',\n\t\tcontactLink: 'Skontaktuj się z nami',\n\t\tcontactTitle: 'Kontakt',\n\t\tcontactSendBtn: 'Wyślij',\n\t\tcontactMsgHint: 'Dodaj wiadomość',\n\t\terrorOnSendingMessage: 'Błąd podczas wysyłania wiadomości.',\n\t\tplaseTryAgainLater: 'Proszę spróbować później',\n\t\temptyMessage: 'Brak wiadomości',\n\t\tpleaseInputMessage: 'Proszę wpisać wiadomość',\n\t\tnoAlertData: 'Brak alertów',\n\t\tnoNotificationData: 'Brak powiadomień',\n\t\tcomingSoon: 'Wkrótce',\n\t\tnoData: 'Brak Danych',\n\t\tshowDriver: 'Kierowca',\n\t\tshowLicensePlate: 'Tablica Rejestracyjna',\n\t\tliveStatus: {\n\t\t\tcupola: 'Dostępność',\n\t\t\tcupolaState: {\n\t\t\t\tengineOn: 'Dostępny',\n\t\t\t\tengineOff: 'Zajęty',\n\t\t\t\tnone: 'Niedostępny',\n\t\t\t\tna: 'Brak danych',\n\t\t\t},\n\t\t\tvehicle: 'Pojazd',\n\t\t\taddress: 'Adres / POI',\n\t\t\tlastPOI: 'Ostatni POI',\n\t\t\tnextPlannedPOI: 'Następny zaplanowany POI',\n\t\t\tavailability: 'Dostępność',\n\t\t\tstatus: 'Status',\n\t\t\tspeed: 'Prędkość',\n\t\t\tfuelLevel: 'Poziom paliwa',\n\t\t\ttemperature: 'Agregat',\n\t\t\tdoors: 'Drzwi',\n\t\t\tseal: 'Plomba',\n\t\t\tdeactivateSealModal: {\n\t\t\t\theader: 'Dezaktywuj plombe',\n\t\t\t\tcontent: 'Dezaktywować plombę {{sealNumber}}?',\n\t\t\t}\n\t\t},\n\t\ttacho: {\n\t\t\tvehicle: 'Pojazd',\n\t\t\tdriver: 'Kierowca',\n\t\t\tactivity: 'Aktywność',\n\t\t\ttime: 'Czas trwania',\n\t\t\tdistance: 'Dystans',\n\t\t\tweek: 'Week', // TODO translate\n\t\t\tday: 'Day', // TODO translate\n\t\t\tdriveTimeLeft: 'Pozostały czas jazdy (pozostały)',\n\t\t\tdriveTimeLeftDay: 'Pozostały czas jazdy (dzień)',\n\t\t\tdriveTimeLeftWeek: 'Pozostały czas jazdy (tydzień)',\n\t\t\tdriveTimeNextWeek: 'Pozostały czas jazdy (następny tydzień)',\n\t\t},\n\t\tlogout: 'Wyloguj'\n\t},\n\tdocument: {\n\t\ttype: {\n\t\t\tvehicle: {\n\t\t\t\tRCA: 'OC',\n\t\t\t\tCASCO: 'AC',\n\t\t\t\tRovinieta: 'Podatek drogowy',\n\t\t\t\tITADR: 'Certyfikat Transportowy ',\n\t\t\t\tAltele: 'Inne',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tpermis_conducere: 'Prawo jazdy',\n\t\t\t\tatestat: 'Certyfikat zawodowy',\n\t\t\t\taviz_medical: 'Certyfikat medyczny',\n\t\t\t\tAltele: 'Inne',\n\t\t\t},\n\t\t},\n\t},\n\tpurposes: {\n\t\tnoPurpose: 'Bez celu',\n\t\tcustomers: 'Dojazd do klienta',\n\t\tsuppliers: 'Dojazd do dostawców',\n\t\tprospectingMarket: 'Dojazd do potencjalnych klientów/badanie rynku',\n\t\tservice: 'Dojazd do serwisu',\n\t\twork: 'Dojazd do pracy',\n\t\ttraining: 'Dojazd na trening',\n\t\tcustoms: 'Dojazd do Urzędu Celnego',\n\t\tbank: 'Dojazd do banku',\n\t\ttaxAuthorities: 'Dojazd do Urzędu Skarbowego',\n\t\tpersonalInterest: 'Dojazd w celach prywatnych',\n\t},\n\troutes: 'Routes', // TODO translate\n\troutesEta: 'Routes-ETA', // TODO translate\n\ttacho: {\n\t\tstatus: 'Tachograf',\n\t\tactivity: 'Aktywność',\n\t\tweek: 'Week', // TODO translate\n\t\tday: 'Day', // TODO translate\n\t\tdriver: {\n\t\t\t1: 'Kierowca 1',\n\t\t\t2: 'Kierowca 2',\n\t\t},\n\t\tactivities: {\n\t\t\t'-1': 'Nieznany',\n\t\t\t0: 'Odpoczynek',\n\t\t\t1: 'Dostępny',\n\t\t\t2: 'Praca',\n\t\t\t3: 'Jazda',\n\t\t\t4: 'Błąd',\n\t\t\t5: 'Brak danych',\n\t\t},\n\t\tactivities2: {\n\t\t\tavailable: 'Available',\n\t\t\tdriving: 'Driving',\n\t\t\tworking: 'Working',\n\t\t\tbreak: 'Short break',\n\t\t\trest: 'Resting',\n\t\t\tunknown: 'Unknown',\n\t\t}\n\t},\n\tobu: { // TODO translate all\n\t\tbalance: 'Balance',\n\t\tsection: 'Road section',\n\t\tstatuses: {\n\t\t\t0: 'Normal',\n\t\t\t1: 'Low',\n\t\t\t2: 'Empty',\n\t\t}\n\t},\n\tvehicleList: {\n\t\ttacho: {\n\t\t\tdriveTimeLeft: 'Pozostały czas jazdy (pozostały)',\n\t\t\tdriveTimeLeftDay: 'Pozostały czas jazdy (dzień)',\n\t\t\tdriveTimeLeftWeek: 'Pozostały czas jazdy (tydzień)',\n\t\t\tdriveTimeNextWeek: 'Pozostały czas jazdy (przyszły tydzień)',\n\t\t}\n\t},\n\tsignup: {\n\t\tinvitation: {\n\t\t\texpired: 'Zaproszenie przedawniło się. Proszę skontaktować się z administratorem.'\n\t\t}\n\t}\n}\n","export default {\n\t'document-expiry': '{{type}} pentru {{driver}} {{vehicle}} expirã în data de {{until}}',\n\t'document-expired': '{{type}} pentru {{driver}} {{vehicle}} a expirat în data de {{until}}',\n\n\t'poi-enter': 'Intrare POI {{geofenceName}} de {{licensePlate}}',\n\t'poi-exit': 'Ieșire POI {{geofenceName}} de {{licensePlate}}',\n\t'poi-stationary': 'Staționare POI {{geofenceName}} de {{licensePlate}}',\n\n\t'geofence-enter': 'Intrare perimetru {{geofenceName}} de {{licensePlate}}',\n\t'geofence-exit': 'Ieșire perimetru {{geofenceName}} de {{licensePlate}}',\n\t'geofence-stationary': 'Staționare perimetru {{geofenceName}} de {{licensePlate}}',\n\n\t'door-open-outside-poi': 'Deschidere ușă în afara POI de câtre {{licensePlate}}',\n\t'seal-broken': 'S-a rupt sigiliul {{sealNumber}} pe {{licensePlate}}',\n\t'speeding': 'Încãlcare limitã vitezã de câtre {{licensePlate}} cu {{diff}}km/h',\n\t'fuel-level-drop-stationary': 'Scãdere nivel combustibil în staționare (Sondă) pe {{licensePlate}}',\n\t'fuel-level-drop-stationary-confirmed': 'Scãderea de {{amount}} L la {{licensePlate}} s-a confirmat',\n\t'fuel-level-drop-stationary-fluctuation': 'Scãderea la {{licensePlate}} a fost o fluctuație. Ne cerem scuze',\n\t'fuel-consumption-excessive': 'Consum excesiv de combustibil pentru {{licensePlate}}',\n\t'taxi-coasting': 'Motor oprit în mișcare la {{licensePlate}}',\n\t'maintenance-upcoming': '{{type}} viitoare pentru {{licensePlate}} la {{limit}} {{unit}} / {{deadline}}',\n\t'aux-cooling-while-moving': 'Racirea stationara pornita in timpul mersului la vehiculul {{licensePlate}}',\n\t'aux-heating-while-moving': 'Incalzirea stationara pornita in timpul mersului la vehiculul {{licensePlate}}',\n\t\"low-battery\": \"Voltajul bateriei la {{licensePlate}} a scazut sub pragul de {{threshold}}V, momentan este la {{voltage}}V\",\n\t\"fast-battery-discharge\": \"Rata de descarcare ({{dropRatePerHour}}mV/h) a bateriei la {{licensePlate}} este mai mare decat limita admisa ({{allowedDropRatePerHour}}mV/h)\",\n\t\"border-crossing\": \"{{licensePlate}} a trecut granita din {{from}} catre {{to}}\",\n\t\"confirmed-refuel\": \"{{licensePlate}} a alimentat {{amount}}L ({{source}})\",\n\t\"temp-poi-enter\": \"Intrare in POI temporar de catre {{licensePlate}}\",\n\t\"engine-off\": \"Motorul la {{licensePlate}} a fost oprit\",\n\t\"tacho-break\": \"Soferul vehiculului {{licensePlate}} si-a inceput pauza pe tahograf\",\n\t\"uit-sync\": \"Au fost importate {{created}} UIT noi, au fost modificate {{updated}} UIT existente, au dat eroare la import {{failed}} UIT\",\n\t\"tacho-rest\": \"Şoferul {{driverName}} de pe maşina {{licensePlate}} este în ciclu {{daysCycle}} şi este în odihnă de {{hoursRest}}\",\n\t\"panic-button\": \"Alarmă de panică pe vehiculul {{licensePlate}} în următoarea locație <a href='https://www.google.com/maps?q={{coordinates}}' target='_blank'>[{{coordinates}}]</a>\"\n}\n","export default {\n\tdispatch: 'Dispecerat',\n\tloadAddress: 'Adresa încărcare',\n\tunloadAddress: 'Adresa descărcare',\n\tenterQuery: 'Introduceți o interogare',\n\ttypeToSearch: 'Scrieți pentru căutare',\n\tbudget: 'Buget',\n\tstatName: 'Statistica',\n\tprofitability: 'Profitabilitate',\n\totherStat: 'Alte statistici',\n\tmenu: {\n\t\tindex: 'Dispecerat',\n\t\tmap: 'Hartă',\n\t\torders: 'Comenzi',\n\t\tclients: 'Clienți',\n\t\tvehicleGroups: 'Grupaje',\n\t\troutes: {\n\t\t\tindex: 'Rute',\n\t\t\tadd: 'Adaugă ruta'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Ruta',\n\t\tdistance: 'Distanța (km)',\n\t\tname: 'Nume',\n\t\tvehicles: 'Vehicule',\n\t\tvehicle: 'Vehicul',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Lăţime (în metri, ex. 2.4)',\n\t\t\theight: 'Înălţime (în metri, ex. 4.2',\n\t\t\tlength: 'Lungime (în metri, ex. 7)',\n\t\t\tweight: 'Greutate (în tone, ex. 5)',\n\t\t},\n\t\tduration: 'Durata',\n\t\twaypoints: {\n\t\t\ttitle: 'Puncte',\n\t\t\ttype: 'Tip',\n\t\t\ttypes: {\n\t\t\t\tload: 'Încărcare',\n\t\t\t\tunload: 'Descărcare',\n\t\t\t\tstop: 'Staționare'\n\t\t\t},\n\t\t\tlocation: 'Locație',\n\t\t\tduration: 'Durata (minute)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Materiale periculoase',\n\t\t\tstrict: 'Rutare strictă',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Exploziv',\n\t\t\t\tgas: 'Gaz',\n\t\t\t\tflammable: 'Inflamabil',\n\t\t\t\tcombustible: 'Combustibil',\n\t\t\t\torganic: 'Organic',\n\t\t\t\tpoison: 'Otrăvitor',\n\t\t\t\tradioActive: 'Radioactiv',\n\t\t\t\tcorrosive: 'Corosiv',\n\t\t\t\tpoisonousInhalation: 'Otrăvitor prin inhalare',\n\t\t\t\tharmfulToWater: 'Nociv pentru apă',\n\t\t\t\tother: 'Alte',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Generează ruta',\n\t\t\toptimize: 'Optimizează ruta',\n\t\t\tnext: 'Continuă',\n\t\t\tsave: 'Salvează',\n\t\t\tadd: 'Adaugă',\n\t\t\tsearch: 'Căutare rută...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Se generează ruta...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Ruta optimizată',\n\t\t\tuse: 'Folosește ruta optimizată',\n\t\t\tmessage: 'Ruta poate fi optimizată',\n\t\t\tdiff: 'Ruta optimizată este cu <b>{{distance}}</b> km mai scurtă și cu <b>{{time}}</b> mai rapidă.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Program'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Detalii'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Denumire',\n\t\t\tdistance: 'Distanță',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Condus',\n\t\t\t\trest: 'Pauză',\n\t\t\t\ttotal: 'Durată',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Neoptimizată',\n\t\t\t\tcheapest: 'Cea mai ieftină',\n\t\t\t\tfastest: 'Cea mai rapidă',\n\t\t\t\tshortest: 'Cea mai scurtă',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Parchează',\n\t\t\t\tsave: 'Salvează',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Tip transport',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Frigorific',\n\t\t\t\t\tsecure: 'Securizat',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Cost',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / tarifar',\n\t\t\tcost: 'Cost',\n\t\t\tcostDetailed: 'Cost șofer: {{driverCost}}€\\nCost vehicul: {{vehicleCost}}€',\n\t\t\tprofitability: 'Rentabilitate',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Scăzută',\n\t\t\t\tmedium: 'Medie',\n\t\t\t\thigh: 'Ridicată'\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimizează',\n\t\t\tloading: 'Se optimizează...',\n\t\t\tcostDetailed: 'Cost șofer: {{driverCost}}€\\nCost vehicul: {{vehicleCost}}€\\nTaxe: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Nume',\n\t\t\texternalID: \"ID extern\",\n\t\t\tclient: 'Client',\n\t\t\tvehicleGroup: 'Grupaj',\n\t\t\tstatus: 'Stare',\n\t\t\tstatusDate: 'Data stare',\n\t\t\tstartLocation: 'Adresă încărcare',\n\t\t\tendLocation: 'Adresă descărcare',\n\t\t\tdate: 'Data comenzii',\n\t\t\tattachments: 'Atașamente',\n\t\t\tupdatedAt: 'Ultima actualizare',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Adaugă comandă',\n\t\t\t\tname: 'Nume',\n\t\t\t\tstatus: 'Stare',\n\t\t\t\tsource: 'Sursa',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'ID extern',\n\t\t\t\tvehicleGroup: 'Grupaj',\n\t\t\t\tclient: 'Client',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Adresa',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Încărcare',\n\t\t\t\t\t\tunloading: 'Descărcare',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Încarcă atașament',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Nume',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Adaugă client',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Adaugă client',\n\t\t\t\tname: 'Nume',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Nume',\n\t\t\ttractorUnit: 'Cap tractor',\n\t\t\tsemitrailer: 'Semiremorcă',\n\t\t\tdriver: 'Șofer',\n\t\t\tcodriver: 'Co-șofer',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Adaugă grupaj',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Adaugă grupaj',\n\t\t\t\tname: 'Nume',\n\t\t\t\ttractorUnit: 'Cap tractor',\n\t\t\t\tsemitrailer: 'Semiremorcă',\n\t\t\t\tdriver: 'Șofer',\n\t\t\t\tcodriver: 'Co-șofer',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Cap tractor',\n\t\t\tsemitrailers: 'Semiremorcă',\n\t\t\tvehicleGroups: 'Grupaj',\n\t\t},\n\t},\n}\n","export default {\n\tdriverBehaviour: 'Comportament şofer',\n\tmenu: {\n\t\tfcz: 'FCZ',\n\t\tperformance: 'Performanță',\n\t\t'engine-load-rpm': 'Sarcina motor / RPM',\n\t},\n\ttotals: {\n\t\trevRecommended: 'Total plaja optima',\n\t\trevMarginal: 'Total plaja marginala',\n\t\trevForbidden: 'Total plaja interzisa',\n\t\trevOver: 'Total supraturat',\n\t\trevOverLoaded: 'Total in suprasarcina',\n\t\trevUnder: 'Total subturat',\n\t},\n\tsettings: {\n\t\tspecific: {\n\t\t\troute: {\n\t\t\t\tpriorityCAN: 'Distanta CAN',\n\t\t\t\tpriorityGPS: 'Distanta GPS'\n\t\t\t}\n\t\t}\n\t},\n\theaderFields: {\n\t\tdriver: 'Șofer',\n\t\tvehicle: 'Vehicul',\n\t\tdate: 'Data',\n\t\tscore: 'Scor',\n\t\tdistanceTotal: 'Distanța (km)',\n\t\tfuelConsumptionTotal: 'Consum',\n\t\taverageAxleLoad: 'Greutate medie',\n\t\taverageSpeed: 'Viteza medie',\n\t\tbreakingDistance: 'Frânări / 100km',\n\t\tharshBreakingDistance: 'Frânări violente / 100km',\n\t\tharshAccelerationDistance: 'Accelerări violente / 100km',\n\t\tfuelConsumptionMovingDistance: 'Consum mișcare / 100km',\n\t\tfuelConsumptionIdle: 'Consum ralanti',\n\t\tfuelConsumptionTotalDistance: 'Consum / 100km',\n\t\tdurationIdle: 'Durata ralanti',\n\t\tpercentCruiseControl: 'Condus pilot automat (%)',\n\t\tpercentInertia: 'Condus inerție (%)',\n\t\tpercentMoving: 'Condus (%)',\n\t\tpercentIdle: 'Ralanti (%)',\n\n\t\t// performance\n\t\taccBrake100kmAvg: 'Accelerare/frânare medie pe 100 km',\n\t\taccBrakeTimeAvg: 'Timp mediu de la accelerare la frânare',\n\t\tangle: 'Unghi',\n\t\tauxHeating: 'Încălzire auxiliară',\n\t\taxleLoadAvg: 'Greutate medie pe axă',\n\t\tascendPercentage: 'Procentaj de urcare',\n\t\tbrakingCount100kmAvg: 'Număr mediu de frânări pe 100 km',\n\t\tcompanyScore: 'Scor pe companie',\n\t\tcompanyScoreAccBr: 'Scor pe companie accelerare/frânare',\n\t\tcompanyScoreAccBrTime: 'Scor pe companie timp de accelerare/frânare',\n\t\tcompanyScoreBrk: 'Scor pe companie frânare',\n\t\tcompanyScoreDeltaAcc: 'Scor pe companie variație accelerație',\n\t\tcompanyScoreCruise: 'Scor pe companie control de croazieră',\n\t\tcompanyScoreInertia: 'Scor pe companie mers din inerție',\n\t\tcompanyScoreRetarder: 'Scor pe companie retarder',\n\t\tdeltaAccKmAvg: 'Variația medie a accelerației pe kilometru',\n\t\tdescendPercentage: 'Procentaj de coborâre',\n\t\tdifficultyScore: 'Scor dificultate traseu',\n\t\tdistanceCruiseControlKmAvg: 'Distanță medie cu controlul de croazieră pe kilometru',\n\t\tdistanceInertiaKmAvg: 'Distanță medie cu inerție pe kilometru',\n\t\tdurationMoving: 'Durata de mișcare',\n\t\toverSpeedKm: 'Distanță medie peste limita de viteză pe kilometru',\n\t\tpanicBraking: 'Frânare de urgență',\n\t\tretarderOnKmAvg: 'Distanță medie cu retarder pe kilometru',\n\t\tscoreAccBr: 'Scor accelerare/frânare',\n\t\tscoreAccBrTime: 'Scor timp accelerare/frânare',\n\t\tscoreBrk: 'Scor frânare',\n\t\tscoreDeltaAcc: 'Scor variație accelerație',\n\t\tscoreCruise: 'Scor control de croazieră',\n\t\tscoreInertia: 'Scor inerție',\n\t\tscoreRetarder: 'Scor retarder',\n\t\tstationEngineOn: 'Motor pornit în staționare',\n\t\tstops: 'Opriri',\n\t\tavgScore: 'Scor cumulat ponderat (start până în prezent)',\n\t\t\n\n\t\taccRedZone: 'Acceleration Red Zone', // todo translate\n\t\taccYellowZone: 'Acceleration Yellow Zone', // todo translate\n\t\tdccRedZone: 'Deacceleration Red Zone', // todo translate\n\t\tdccYellowZone: 'Deacceleration Yellow Zone', // todo translate\n\t\tcornerHandling: 'Corner handling', // todo translate\n\t\tcrashes: 'Crashes', // todo translate\n\t\tdistance: 'Distanță',\n\t\tfuelConsumptionDistance: 'Consumption / 100 km', // todo translate\n\t\tstartTime: 'Start Time', // todo translate\n\t\tendTime: 'End Time', // todo translate\n\t\tharshAccAvg: 'Harsh Acceleration average', // todo translate\n\t\tharshAccWarning: 'Harsh Acceleration warning', // todo translate\n\t\tharshAccWarningAvg: 'Harsh Acceleration warning average', // todo translate\n\t\tharshAccWarningCount: 'Harsh Acceleration warning count', // todo translate\n\t\tharshDccAvg: 'Harsh Decceleration average', // todo translate\n\t\tharshDccWarning: 'Harsh Decceleration warning', // todo translate\n\t\tharshDccWarningCount: 'Harsh Decceleration warning count', // todo translate\n\t\tcanDistance: 'CAN Distance', // todo translate\n\t\tcanEngineHighRpmDuration: 'High RPM duration', // todo translate\n\t\tcanEngineHighRpmWarningDuration: 'High RPM warning duration', // todo translate\n\t\tcanEngineHighRpmWarningDurationOnStationary: 'High RPM warning duration on stationary', // todo translate\n\t\tcanEngineLowRpmDurationOnStationary: 'Low RPM duration on stationary', // todo translate\n\t\tcanEngineOnDurationCount: 'Can engine on duration count', // todo translate\n\t\tcanEngineOnDurationStationary: 'Can engine on duration stationary', // todo translate\n\t\tcanEngineOnDurationWarningCount: 'Can engine on duration warning count', // todo translate\n\t\tcanFuelConsumption: 'CAN Consumption / 100 km', // todo translate\n\t\tengineOnDurationStationary: 'Engine On Duration Stationary', // todo translate\n\t\tgpsScore: 'GPS Score', // todo translate\n\t\tcanScore: 'CAN Score', // todo translate\n\t\tmobileyeFwdColWarn: 'Fwd Col Warn', // todo translate\n\t\tmobileyeHeadwayWarn: 'Headway Warning', // todo translate\n\t\tmobileyeLaneDepartLeftWarn: 'LaneDepartLeftWarn', // todo translate\n\t\tmobileyeLaneDepartRightWarn: 'LaneDepartRightWarn', // todo translate\n\t\tmobileyePedDangerWarn: 'PedDangerWarn', // todo translate\n\t\tmobileyePedFwdColWarn: 'PedFwdColWarn', // todo translate\n\t\tmobileyeScore: 'MOBILEYE Score', // todo translate\n\t\ttotalScore: 'Total Score', // todo translate\n\t\tspeedingAvg: 'Overspeeding average', // todo translate\n\t\tspeedingCount: 'Overspeeding count', // todo translate\n\t\tspeedingDistance: 'Speeding distance', // todo translate\n\t\tuserName: 'User name', // todo translate\n\t},\n\tselectDriver: 'Selectați un şofer'\n}\n","export default {\n\temptyName: 'Numele este obligatoriu.',\n\tmissingCoordinates: 'Lipsesc coordonatele.',\n\tfuelCapacityNotSetted: 'Capacitatea rezervorului nu este setata. Daca doriti sa vedeti valoarea exacta a combustibilui, setati valoarea !',\n\tinvalidAlertStationaryTimeRange: 'Timpul de staționare este incorect. Introduceți un număr între 5 și 60.',\n\tinvalidAlertStationaryTimeMultiple: 'Timpul de staționare este incorect. Introduceți un număr multiplu de 5.',\n\tinsufficientPolygonPoints: 'Puncte insuficiente (minim 3)',\n\terrorsExists: 'Există erori',\n\tplaseTryAgainLater: 'Vă rugăm să încercați din nou mai târziu',\n\tcheckFileAndTryAgain: 'Verificați fișierul și încercați din nou',\n\tnumberWithoutComma: 'Folosiți \".\" pentru a separa zecimalele.',\n\terrorsExistsCheckData: 'Există erori. Verificați datele.',\n\tvalidation: {\n\t\tpoi: {\n\t\t\tinvalidPoiShape: 'O formă de tip \"point\" poate să aibă numai o pereche de coordonate, iar valoarea minimă pentru boundary este 50.',\n\t\t\tpoiRequiresPoint: 'Când valoarea pe coloană \"type\" este \"poi\", singura valoare acceptată pentru coloana \"shape\" este \"point\".',\n\t\t\tpoiOrGeofenceExpected: 'Valorile acceptate pentru coloana \"type\" sunt: \"poi\" sau \"geofence\".',\n\t\t\tinvalidPolygon: 'Pentru formele de tip \"polygon\" proprietatea \"coordinates\" trebuie să fie un array de numere reale(de ex. float), cu lungimea de cel puțin 8 elemente.',\n\t\t\tboundaryTooSmall: 'Valoarea \"boundary\" a unui POI trebuie să fie un număr mai mare decât 50.',\n\t\t\tgeneral: 'Nu a putut fi validată forma.',\n\t\t\tinvalidCoordinates: '\"coordinates\" trebuie să fie sub forma de array.'\n\t\t},\n\t\ttimetable: {\n\t\t\tinvalidDuration: 'Durata trebuie să fie mai mare sau egală cu o oră și mai mică sau egală cu 24 de ore. Format valid: HH:mm',\n\t\t\tinvalidStartTime: '\"Start time\" este câmp obligatoriu. Nu sunt suportate valori mai vechi de 15 minute pentru acest câmp. Format valid: YYYY-MM-DD HH:mm:ss.',\n\t\t\tinvalidRecurringDuration: 'Pentru orarele recurente valoarea pentru \"Duration\" trebuie să fie egală diferența dintre \"End time\" și \"Start time\"',\n\t\t\tinvalidEndTime: '\"End time\" nu poate să fie înainte de \"Start time\".',\n\t\t\tinvalidVehicle: 'Acest vehicul nu a fost găsit în baza de date sau nu aveți permisiunea să-i modificați orarul.',\n\t\t\toverlapping: 'Acest vehicul are deja un orar înregistrat cu aceeași valoare pentru \"Start time\".'\n\t\t}\n\t}\n}\n","export default {\n    uits: 'UIT',\n    partners: 'Parteneri',\n    etransport: 'e-Transport'\n}\n","export default {\n\tmaintenances: {\n\t\tlabel: 'Notificari revizii',\n\t\tname: 'Denumire',\n\t\tcomment: 'Comentariu',\n\t\tintervalDistance: 'Interval KM',\n\t\tintervalWorkingHours: 'Interval ore lucru',\n\t\tintervalTime: 'Interval timp (luni)',\n\t\tremainderDistance: 'Memento KM',\n\t\tremainderWorkingHours: 'Memento ore lucru',\n\t\tremainderTime: 'Memento interval timp (zile)',\n\t\tdeleteTitle: 'Ștergere regulă notificare revizie',\n\t\tdeleteContent: 'Regula pentru notificări revizii va fi ștearsă. Continuați?',\n\t\trequiredIntervalOrRemainderInfo: 'Doar unul din câmpurile {{field1}} sau {{field2}} este obligatoriu',\n\t\ttypes: {\n\t\t\t'custom-1': 'Custom 1',\n\t\t\t'custom-2': 'Custom 2',\n\t\t\t'custom-3': 'Custom 3',\n\t\t\t'custom-4': 'Custom 4',\n\t\t\t'custom-5': 'Custom 5',\n\t\t\t'vehicle-licence': 'Permis conducere',\n\t\t\t'transport-certification': 'Atestat',\n\t\t\t'medical-notification': 'Aviz medical',\n\t\t\t'registration-certificate': 'Certificat înmatriculare',\n\t\t\t'mandatory-insurance': 'RCA',\n\t\t\tvignette: 'Vinietă',\n\t\t\t'periodical-technical-inspection': 'ITP',\n\t\t\tservice: 'Inspecție service',\n\t\t\t'oil-change': 'Schimb ulei',\n\t\t\t'tire-change': 'Schimb anvelope',\n\t\t},\n\t},\n\tmanagement: 'Management',\n\tdocuments: 'Documente',\n\tmoreDetails: 'Adaugă mai multe detalii',\n\tdocStartDate: 'Din',\n\tdocEndDate: 'Până în',\n\tprice: 'Preț RON',\n\tload: 'Încarcă',\n\tdownload: 'Descarcă',\n\taccountInformation: 'Informație cont',\n\tdocument: {\n\t\tdeleteTittle: 'Ștergere document',\n\t\tsureToDelete: 'Documentul {{fileName}} ({{type}}) va fi șters',\n\t\tnotifications: {\n\t\t\tdefaultText: 'Notificări',\n\t\t\tday: 'O zi',\n\t\t\tweek: 'O săptămână',\n\t\t\tmonth: 'O lună',\n\t\t}\n\t},\n\theaderFields: {\n\t\tlicensePlate: 'Număr înmatriculare',\n\t\tdriver: 'Șofer',\n\t\tcar: 'Mașină',\n\t\ttype: 'Tip',\n\t\tdivision: 'Divizie',\n\t\tstatus: 'Stare',\n\t\tname: 'Nume',\n\t\temail: 'Mail',\n\t\tphoneNumber: 'Telefon',\n\t\trole: 'Tip',\n\t},\n\troles: {\n\t\tnew: 'Adauga Rol',\n\t\tview: 'Informatie Rol',\n\t\tedit: 'Editare Rol',\n\t\tdelete: 'Stergere Rol',\n\t\tdeleteUsed: 'Rolul este folosit de {{number}} utilizator(i) si nu poate fi sters:{{names}}',\n\t\tsureToDelete: 'Rolul {{name}} ({{type}}) va fi șters',\n\t\tneedName: 'Rolul trebuie sa aiba un nume',\n\t\trequiredAtLeastOneGroupOrOneVehicle: 'E nevoie sa selectati cel putin un grup sau un vehicul',\n\t},\n\ttimetables: {\n\t\twithoutTimetable: 'Fără orar',\n\t\tto: 'la',\n\t\tname: 'Nume Orar',\n\t\tbrowse: 'Alege fișier...',\n\t\taddCsv: 'CSV',\n\t\tstatus: {\n\t\t\tdefaultText: 'Stare',\n\t\t\tdisabled: 'Oprit',\n\t\t\tcustom: 'Personalizat',\n\t\t\tfullDay: 'Toată ziua',\n\t\t},\n\t\tdelete: {\n\t\t\tsureToDeleteTimetable: 'Ești sigur că dorești să ștergi acest orar?',\n\t\t\ttitle: 'Ștergere orar',\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'Adaugă Orar',\n\t\t\tbuttonText: 'SALVEAZĂ',\n\t\t},\n\t\timport: {\n\t\t\timportedNumber: 'Au fost importate {{value}} orare',\n\t\t\tnotImportedNumber: 'Nu au fost importate {{value}} orare',\n\t\t\tallImported: 'Toate orarele au fost importate ({{value}})',\n\t\t\tnoneImported: 'Nici un orar nu a fost importat',\n\t\t\ttitle: 'Importă orar',\n\t\t\tbuttonText: 'Importă',\n\t\t\tname: 'Nume orar',\n\t\t\tlicensePlate: 'Număr de înmatriculare',\n\n\t\t\taffectedVehicles: 'Vehicule cărora li se va modifica orarul',\n\t\t\ttimetablesForRemoval: 'Orare care vor fi șterse',\n\n\t\t\tmondayStart: 'Luni start',\n\t\t\tmondayStop: 'Luni stop',\n\n\t\t\ttuesdayStart: 'Marți start',\n\t\t\ttuesdayStop: 'Marți stop',\n\n\t\t\twednesdayStart: 'Miercuri start',\n\t\t\twednesdayStop: 'Miercuri stop',\n\n\t\t\tthursdayStart: 'Joi start',\n\t\t\tthursdayStop: 'Joi stop',\n\n\t\t\tfridayStart: 'Vineri start',\n\t\t\tfridayStop: 'Vineri stop',\n\n\t\t\tsaturdayStart: 'Sâmbătă start',\n\t\t\tsaturdayStop: 'Sâmbătă stop',\n\n\t\t\tsundayStart: 'Duminică start',\n\t\t\tsundayStop: 'Duminică stop',\n\t\t\terrors: {\n\t\t\t\tmessage: 'Vă rugăm să revizuiți fișierul și să-l reîncărcați. Au fost identificate următoarele erori:'\n\t\t\t},\n\t\t\tsuccessful: 'Orarele au fost importate cu success',\n\n\t\t\tdownloadTemplate: 'Descarcă template',\n\t\t\tdownloadExample: 'Descarcă exemplu'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Editează Orar',\n\t\t\tbuttonText: 'MODIFICĂ',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Informație Orar',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tvehicles: {\n\t\t// small modal\n\t\tdivision: 'Divizie',\n\t\tdriverIsAttached: 'Șoferul selectat este asignat la alt vehicul !',\n\t\tvehicleHasNoDoorSensor: 'Vehiculul nu are senzor de ușă',\n\t\tisAssignedToVehicle: 'este asignat la vehiculul',\n\t\twillBeAssigned: 'se va asigna la vehiculul actual',\n\t\tsureToDeleteVehicle: 'Ești sigur că vrei să ștergi acest vehicul',\n\t\tvehicleHasDeviceAssigned: 'Vehiculul are asignat dispozitivul {{deviceID}}',\n\t\tselectDevice: 'Selectează dispozitiv',\n\t\tselectDispatcher: 'Selectează dispecerul',\n\t\trelayContact: {\n\t\t\ton: {\n\t\t\t\tstate: 'Contact blocat',\n\t\t\t\ttitle: 'Blocare contact',\n\t\t\t\tconfirm: 'Sigur doriți blocarea contactului?'\n\t\t\t},\n\t\t\toff: {\n\t\t\t\tstate: 'Contact deblocat',\n\t\t\t\ttitle: 'Deblocare contact',\n\t\t\t\tconfirm: 'Sigur doriți deblocarea contactului?',\n\t\t\t},\n\t\t\tibutton: {\n\t\t\t\tstate: 'Contact blocat (iButton)',\n\t\t\t\ttitle: 'Blocare contact (iButton)',\n\t\t\t\tconfirm: 'Sigur doriți blocarea contactului cu iButton?',\n\t\t\t},\n\t\t},\n\t\tspeedLimit: {\n\t\t\tmax: 'Prag alertă implicită',\n\t\t\tmaxTooltip: 'peste această viteză trimitem alerta din oficiu indiferent de limitele rutiere (ex 90 km /h pt autoutilitare)',\n\t\t\tmin: 'Prag minim activare alertă',\n\t\t\tminTooltip: 'până la această viteză nu verificăm posibilele încălcări',\n\t\t\toffset: 'Încălcare admisă',\n\t\t\toffsetTooltip: 'marja de încălcăre admisă. ex 10km/h pentru a fi alertat la \\n50 + 10 km/h în localitate, \\n90 + 10km/h pe drum național, \\n130 +10 km/h pe autostradă',\n\t\t\terrorMessage: 'Verificați câmpurile marcate cu roșu.'\n\t\t},\n\t\tdoorAlert: {\n\t\t\tnoAlert: 'Fără alertare',\n\t\t\talertOpenDoor: 'Alertare ușă deschisă',\n\t\t\tdoorOpenOutsidePOI: 'Alertare ușă deschisă înafară POI',\n\t\t\tdoorOpenOutsidePOIInTimetable: 'Alertare ușă deschisă înafară POI în orar',\n\t\t},\n\t\tremoveDevice: 'Înlătură dispozitiv',\n\t\tcannotChangeDeviceUntilRelayContactDisabled: 'Nu se poate schimba dispozitivul dacă contactul este blocat.',\n\t\tcannotChangeRelayContactUntilDeviceIsSaved: 'Nu se poate bloca contactul până nu se salvează device-ul.',\n\t\tdeviceChange: 'Schimbare dispozitiv',\n\t\tnoDevices: 'Nu sunt dispozitive libere',\n\t\tvehicleDetails: 'Detalii vehicul',\n\t\tautoPark: 'Parc auto',\n\t\tlicensePlate: 'Număr Înmatriculare',\n\t\texternalRefuelID: 'ID vehicul din fisierul de alimentări',\n\t\tvin: 'Serie sasiu',\n\t\tmake: 'Marcă',\n\t\tmodel: 'Model',\n\t\tvehicle: 'Vehicul',\n\t\tadblueCapacity: 'Capacitate Adblue (L)',\n\t\tfuel: {\n\t\t\ttypeText: 'Tip combustibil',\n\t\t\ttype: {\n\t\t\t\tpetrol: 'Benzină',\n\t\t\t\thybridPetrol: 'Hibrid-benzină',\n\t\t\t\tdiesel: 'Motorină',\n\t\t\t\thybridDiesel: 'Hibrid-motorină',\n\t\t\t\tlpg: 'GPL',\n\t\t\t\telectric: 'Electric',\n\t\t\t},\n\t\t\tcapacity: 'Capacitate rezervor',\n\t\t\tconsumption: {\n\t\t\t\tsirocol: 'Consum incalzire aux L/h',\n\t\t\t\tdistanceWise: 'Consum normal {{unit}}/100KM',\n\t\t\t\ttimeWise: 'Consum normal {{unit}}/h'\n\t\t\t},\n\t\t\tfluctuationFilter: 'Filtru fluctuatie nivel combustibil',\n\t\t},\n\t\tcategory: 'Categoria',\n\t\ttype: {\n\t\t\tutility: 'Autoutilitara',\n\t\t\tcar: 'Autoturism',\n\t\t\tminibus: 'Microbuz',\n\t\t\tbus: 'Autocar',\n\t\t\ttruck: 'Camion',\n\t\t\ttractor: 'Tractor',\n\t\t\tharvester: 'Combina',\n\t\t\tconstruction: 'Utilaj',\n\t\t\ttrailer: 'Remorcă',\n\t\t\t'semi-trailer': 'Semiremorcă'\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: 'Lățime (m)',\n\t\t\tlength: 'Lungime (m)',\n\t\t\theight: 'Înălțime (m)',\n\t\t\tweight: 'Greutate (t)'\n\t\t},\n\t\tseats: 'Număr locuri',\n\t\tselectDivision: 'Selectează divizie',\n\t\tselectDriver: 'Selectează șofer',\n\t\tremoveDriver: 'Înlătură șofer',\n\t\tfabricationYear: 'An fabricare',\n\t\tregistrationDate: 'Data înmatriculare',\n\t\tobuID: 'Identificator OBU',\n\t\tengine: {\n\t\t\tpower: 'Putere (CP)',\n\t\t\tcapacity: 'Capacitate cilindrică'\n\t\t},\n\t\tpayloadCapacity: 'Sarcina utilă',\n\t\ttireSize: 'Dimensiuni anvelope',\n\t\tcolor: 'Culoare',\n\t\tnew: {\n\t\t\ttitle: 'Adaugă vehicul',\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Editează vehicul',\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Informație vehicul',\n\t\t}\n\t},\n\tusers: {\n\t\tuserDetails: 'Detalii utilizator',\n\t\t// small modal\n\t\tvehicleHasDriver: 'Vehiculul selectat are deja un șofer !',\n\t\tuserHasVehicle: 'Acest utilizator este atașat la vehiculul',\n\t\tifDeleteDetatch: 'Dacă ștergeți acest utlizator, el va fi detașat de la vehiculul respectiv',\n\t\thaveDriver: 'are ca șofer pe',\n\t\twichWillBeReplaced: 'care va fi înlocuit cu',\n\t\tdeleteUser: 'Șterge utilizator',\n\t\tsureToDeleteThisUser: 'Ești sigur că dorești să ștergi acest utilizator',\n\t\treactivateUser: 'Reactivează utilizator',\n\t\tsureToReactivateThisUser: 'Ești sigur că dorești să reactivezi acest utilizator',\n\t\tsureToResendInvitation: 'Ești sigur că dorești să retrimiți invitația',\n\t\ttheInvitationWillBeSent: 'Invitația va fi trimisă la următoarea adresă de email',\n\t\tresendInvitation: 'Retrimitere invitație',\n\t\tuserName: 'Nume utilizator',\n\t\tfirstName: 'Prenume',\n\t\tiButton: 'iButton',\n\t\ttachoCardID: 'Număr card tahograf',\n\t\tlastName: 'Nume',\n\t\temail: 'Mail',\n\t\tphotoUpload: 'Încarcă poza',\n\t\tdivision: 'Divizie',\n\t\tphoneNumber: 'Telefon',\n\t\tlanguage: 'Limba',\n\t\tdrivingLicense: 'Categorie permis',\n\t\tdrivingLicenseList: {\n\t\t\tcategoryAM: 'Categoria AM',\n\t\t\tcategoryA1: 'Categoria A1',\n\t\t\tcategoryA2: 'Categoria A2',\n\t\t\tcategoryA: 'Categoria A',\n\t\t\tcategoryB: 'Categoria B',\n\t\t\tcategoryBE: 'Categoria BE',\n\t\t\tcategoryC: 'Categoria C',\n\t\t\tcategoryCE: 'Categoria CE',\n\t\t\tcategoryD: 'Categoria D',\n\t\t},\n\t\tassignedVehicle: 'Vehicul asignat',\n\t\tdetachVehicle: 'Înlătură Vehicul',\n\t\trole: 'Rol',\n\t\tdriver: 'Șofer',\n\t\tadmin: 'Administrator',\n\t\tpartner: 'Partener',\n\t\tmanager: 'Manager',\n\t\tsalesAgent: 'Agent de vânzări',\n\t\telectrician: 'Electrician',\n\t\tdocStartDate: 'Din',\n\t\tdocEndDate: 'Până în',\n\t\tdocPrice: 'Preț RON',\n\t\tload: 'Încarcă',\n\t\tcountry: 'Ţara',\n\t\tnew: {\n\t\t\ttitle: 'Adaugă utilizator',\n\t\t\tbuttonText: 'SALVEAZĂ',\n\t\t\theaderText: 'Completează formularul de mai jos cu datele utilizatorului. Pentru detalii apăsați butonul \\'Adaugă mai multe detalii\\'.'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Editează utilizator',\n\t\t\tbuttonText: 'MODIFICĂ',\n\t\t\theaderText: 'Completează formularul de mai jos cu datele utilizatorului. Pentru detalii apăsați butonul \\'Adaugă mai multe detalii\\'.'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'Informație utilizator',\n\t\t\tbuttonText: 'OK',\n\t\t\theaderText: 'Informații despre utilizatorul selectat. Pentru detalii apăsați butonul \\'Adaugă mai multe detalii\\'.'\n\t\t}\n\t},\n\tgroups: {\n\t\tdeleteGroup: 'Ești sigur că vrei să ștergi această divizie',\n\t\tgroup: 'Divizia',\n\t\taddGroup: 'Adăugare Divizie',\n\t\ttimetable: 'Orar',\n\t\teditGroup: 'Editare Divizie',\n\t\tgroupName: 'Nume Divizie',\n\t\taddSubGroup: 'Adaugă subdivizie',\n\t\teditSubGroup: 'Editează subdivizie',\n\t\tdeleteSubGroup: 'Șterge subdivizie',\n\t\tshare: 'Parteneri',\n\t\tadd: 'Adaugă'\n\t},\n\tgeofences: {\n\t\tname: 'Nume POI',\n\t\texternalID: 'external ID',\n\t\tradio: 'Raza',\n\t\tsureToDeleteGeofence: 'Ești sigur că vrei să ștergi POIul',\n\t\tdeleteOldGeofences: 'Șterge toate POI-urile deja existente',\n\t\talertStationaryTimeHoverText: 'Minute de staționare (5-60). Acceptați doar multipli de 5.',\n\t\ticons: {\n\t\t\tselectIcon: 'Selectați iconiță',\n\t\t\tnoIcon: 'Fără iconiță',\n\t\t},\n\t\tdownloadCsv: 'Descarcă CSV',\n\t\ttype: {\n\t\t\tgeofence: 'Perimetru',\n\t\t\tpoi: 'POI'\n\t\t},\n\t\tshape: {\n\t\t\ttype: {\n\t\t\t\tPolygon: 'Perimetru',\n\t\t\t\tPoint: 'POI'\n\t\t\t}\n\t\t},\n\t\tnew: {\n\t\t\ttitle: 'Adaugă POI',\n\t\t\tbuttonText: 'SALVEAZĂ',\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Import POI',\n\t\t\tbuttonText: 'IMPORTĂ POI',\n\t\t\timportedGeofencesNumber: 'Au fost importate {{value}} POI-uri',\n\t\t\tupdatedGeofencesNumber: 'Au fost modificate {{value}} POI-uri',\n\t\t\tdeletedGeofencesNumber: 'Au fost șterse {{value}} POI-uri',\n\t\t\tnotImportedGeofencesNumber: 'Nu au fost importate {{value}} POI-uri',\n\t\t\tallGeofencesImported: 'Toate POI-urile au fost importate ({{value}})',\n\t\t\tpleaseWait: 'Vă rugăm să așteptați',\n\t\t\tprocessingGeofences: 'Se procesează datele din fișier',\n\t\t\tdownloadTemplate: 'Descarcă template',\n\t\t\tdownloadExamples: 'Descarcă exemple'\n\t\t},\n\t\tsimulate: {\n\t\t\timportedGeofencesNumber: 'Vor fi importate {{value}} POI-uri',\n\t\t\tupdatedGeofencesNumber: 'Vor fi modificate {{value}} POI-uri',\n\t\t\tdeletedGeofencesNumber: 'Vor fi șterse {{value}} POI-uri',\n\t\t\tnotImportedGeofencesNumber: 'Nu vor fi importate {{value}} POI-uri',\n\t\t\tallGeofencesImported: 'Toate POI-urile vor fi importate ({{value}})',\n\t\t\tvalidateFile: 'Verificare CSV'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Editează POI',\n\t\t\tbuttonText: 'MODIFICĂ',\n\t\t},\n\t\tinfo: {\n\t\t\ttitle: 'Informație POI',\n\t\t\tbuttonText: 'OK',\n\t\t}\n\t},\n\tsettings: {\n\t\tspeedLimit: 'Limita viteză',\n\t\temails: {\n\t\t\t'poi-enter': 'Intrare POI',\n\t\t\t'poi-exit': 'Ieșire POI',\n\t\t\t'poi-stationary': 'Staționare POI',\n\t\t\t'geofence-enter': 'Intrare perimetru',\n\t\t\t'geofence-exit': 'Ieșire perimetru',\n\t\t\t'geofence-stationary': 'Staționare perimetru',\n\t\t\t'document-expiry': 'Expirare document',\n\t\t\t'speeding': 'Încălcare limită viteză',\n\t\t\t'door-open-outside-poi': 'Deschidere ușă în afara POI',\n\t\t\t'seal-broken': 'Rupere sigiliu',\n\t\t\t'fuel-level-drop-stationary': 'Scădere combustibil (Sondă)',\n\t\t\t'fuel-consumption-excessive': 'Consum excesiv de combustibil',\n\t\t\t'taxi-coasting': 'Motor oprit în mișcare',\n\t\t\t'maintenance-notification': 'Notificare mentenanță',\n\t\t\t'aux-cooling-while-moving': 'Răcire auxiliară',\n\t\t\t'aux-heating-while-moving': 'Încălzire auxiliară',\n\t\t\t'border-crossing': 'Trecere graniță',\n\t\t\t'confirmed-refuel': 'Urmatoarea alimentare',\n\t\t\t'temp-poi-enter': 'Intrare POI temporar',\n\t\t\t\"engine-off\": \"Alertă contact oprit\",\n\t\t\t\"tacho-break\": \"Alertă odihnă șofer\",\n\t\t\t'low-battery': 'Voltaj baterie scăzut',\n\t\t\t'fast-battery-discharge': 'Rată de descărcare baterie mare',\n\t\t\t'tacho-rest': \"Depăşire odihnă şofer\",\n\t\t\t'panic-button': 'Alertă buton panica',\n\t\t\tinsertEmailsSeparatedByComma: 'Introduceți adresele de email separate cu virgulă',\n\t\t\tinsertPhonesSeparatedByComma: 'Introduceți numerele de telefon separate cu virgulă',\n\t\t\tnotifications: 'Notificări',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Telefon',\n\t\t\t'uit-sync': 'UIT sinc'\n\t\t},\n\t\tcountries: {\n\t\t\tat: 'Austria',\n\t\t\tbe: 'Belgia',\n\t\t\tbg: 'Bulgaria',\n\t\t\thr: 'Croația',\n\t\t\tcy: 'Cyprus',\n\t\t\tcz: 'Cehia',\n\t\t\tdk: 'Danemarca',\n\t\t\tee: 'Estonia',\n\t\t\tfl: 'Finlanda',\n\t\t\tfr: 'Franța',\n\t\t\tde: 'Germania',\n\t\t\tgr: 'Grecia',\n\t\t\thu: 'Ungaria',\n\t\t\tie: 'Irlanda',\n\t\t\tit: 'Italia',\n\t\t\tlv: 'Letonia',\n\t\t\tlt: 'Lituania',\n\t\t\tlu: 'Luxemburg',\n\t\t\tmt: 'Malta',\n\t\t\tnl: 'Țările de Jos',\n\t\t\tpl: 'Polonia',\n\t\t\tpt: 'Portugalia',\n\t\t\tro: 'România',\n\t\t\tsk: 'Slovacia',\n\t\t\tsl: 'Slovenia',\n\t\t\tes: 'Spania',\n\t\t\tse: 'Suedia',\n\t\t\tgb: 'Regatul Unit'\n\t\t}\n\t},\n\tintegrations: {\n\t\tenabled: 'Activ',\n\t\tactiv: 'activ',\n\t\tinactive: 'inactiv',\n\t\tserviceWillBe: 'Serviciul va fi',\n\t\tserviceIs: 'Serviciul este',\n\t\tafterSave: 'după ce salvați.',\n\t\tenable: 'activează',\n\t\tdisable: 'dezactivează',\n\t\tsave: 'Salvează',\n\t\tclient: 'Alege clientul',\n\t}\n}\n","export default {\n\tat: 'La',\n\tfrom: 'De la',\n\tto: 'Până la',\n\tduration: 'Durată',\n\n\tstart: 'Pornire',\n\tstop: 'Oprire',\n\t// stopInProcess: 'Staționare în curs',\n\tlastStationary: 'Ultima staționare',\n\tstationary: 'Staționare',\n\n\t//charts-container\n\tspeed: 'Viteză',\n\taltitude: 'Altitudine',\n\tfuelCanLevel: 'Nivel Combustibil Can',\n\tfuelLevel: 'Nivel Combustibil Sondă',\n\tacceleration: 'Accelerație',\n\trpm: 'RPM',\n\n\t//marker names\n\thall: 'Depozit',\n\tgrayMarker: 'Iconiță Gri',\n\tblueMarker: 'Iconiță Albastru',\n\tgreenMarker: 'Iconiță Verde',\n\torangeMarker: 'Iconiță Portocaliu',\n\tredMarker: 'Iconiță Roșu',\n\tyellowMarker: 'Iconiță Galben',\n\tgreen1Marker: 'Iconiță Verde deschis',\n\tturquoiseMarker: 'Iconiță Turcoaz',\n\tpurpleMarker: 'Iconiță Mov',\n\tpinkMarker: 'Iconiță Roz',\n\n\t//map index popup\n\tlastUpdate: 'Ultima actualizare',\n\tengineState: 'Stare motor',\n\tgpsPosition: 'Poziție GPS',\n\tgpsSpeed: 'Viteză GPS',\n\tcanSpeed: 'Viteză CAN',\n\tcanAcceleration: 'Accelerație CAN',\n\tcanRPM: 'RPM CAN',\n\tcanFuelAvailable: 'Combustibil disponibil (CAN)',\n\tcanFuelUsed: 'Combustibil utilizat (CAN)',\n\tprobeFuelAvailable: 'Combustibil disponibil (sonda)',\n\tdistance: 'Distanță',\n\tdoors: 'Uși',\n\tagregation: 'Agregat frigorific',\n\ttemperature: 'Temperatură',\n\topenMessageThread: 'Deschide conversație',\n}\n","export default {\n\toperationWithSuccess: 'Operațiune completată cu succes.',\n\toperationMayTake5min: 'Confirmarea aceastei operațiuni poate dura până la 5 minute.',\n\tlanguageChangedWithSuccess: 'Limbă schimbată cu succes',\n\tpriorityChangedWithSuccess: 'Prioritate schimbată cu succes',\n\toperationWithError: 'Operațiune nereușită.',\n\tdeletedWithSuccess: 'Ștergere cu succes.',\n\ttemperatureForPeriod: 'Temperatura pentru perioada',\n\tnoRecords: 'Nu sunt înregistrări.',\n\tgeneratingReportPleaseWait: 'Se generează raportul. Vă rugăm așteptați.',\n\tinvalidIntervalMax3Days: 'Interval invalid. Perioada maxima 3 zile',\n\tgeneratingRoteDetailedReport: 'Generare foaie parcurs detaliată',\n\tgenerateDetailedReport: 'Generează foaie parcurs detaliată',\n\twillReceiveReportThroughtEmail: 'În câteva minute veți primi un email cu raportul',\n\tdeleteFueling: 'Ștergere volum introdus',\n\tareYouSureToDeleteFueling: 'Volumul introdus va fi șters. Acceptați?',\n\tfluctuationFuel: 'Confirmă fluctuație',\n\tareYouSureToConfirmFluctuation: 'Fluctuația va fi confirmată. Acceptați?',\n\troutingFailed: 'Rutarea a eșuat',\n\tfullFuel: 'Marchează ca plin',\n\tfullFueled: 'Marcat ca plin',\n\tcannotDeleteVehicleWithDeviceAttached: 'Nu puteți șterge vehiculul dacă are dispozitiv asociat',\n\tareYouSureToConfirmFullFuel: 'Alimentarea va fi marcată ca plin. Acceptați?',\n\tcoordsCopiedToClipboard: 'Coordonatele au fost copiate în clipboard',\n\troutesWithStationaryLowerThanSelectedWillBeMerged: 'Rutele cu stationari de durata mai mica decat cea selectata vor fi unite',\n}\n","export default {\n\tcrossedBorderFrom: 'Trecere granița din',\n\tcrossedBorderTo: 'câtre',\n\talerts: {\n\t\tvalidValues: 'Valorile sunt în parametri normali',\n\t\tfuel: {\n\t\t\tprocessing: 'Datele sunt în curs de procesare',\n\t\t\tfluctuation: 'Fluctuație de combustibil confirmată de către utilizator',\n\t\t\tdropStationary: 'Scădere nivel combustibil în staționare',\n\t\t\tdiffDetectedRefuelBiggerThan5: 'Diferența între volumul introdus și cel detectat este mai mare de 5L',\n\t\t},\n\t\tmaxSpeed: {\n\t\t\tred: 'Încălcare viteză cu {{dif}}km/h peste viteza setată {{maxSpeed}}km/h',\n\t\t},\n\t\tstationary: {\n\t\t\tgreen: 'Durata de staționare cu motor pornit e mai mică de 5 min',\n\t\t\tyellow: 'Durata de staționare cu motor pornit e între 5 si 15 min',\n\t\t\tred: 'Durata de staționare cu motor pornit e mai mare de 15 min',\n\t\t},\n\t\tdailyTarget: {\n\t\t\tdriver: {\n\t\t\t\tgreen: 'Norma zilnică pentru șofer ({{targetDailyDistance}} km) a fost atinsă.\\nDistanță zilnică parcursă {{dailyDistance}} km.',\n\t\t\t\tred: 'Norma zilnică pentru șofer ({{targetDailyDistance}} km) nu a fost atinsă.\\nDistanță zilnică parcursă {{dailyDistance}} km.',\n\t\t\t},\n\t\t\tcrew: {\n\t\t\t\tgreen: 'Norma zilnică pentru echipaj ({{targetDailyDistance}} km) a fost atinsă.\\nDistanță zilnică parcursă {{dailyDistance}} km.',\n\t\t\t\tred: 'Norma zilnică pentru echipaj ({{targetDailyDistance}} km) nu a fost atinsă.\\nDistanță zilnică parcursă {{dailyDistance}} km.',\n\t\t\t},\n\t\t}\n\t},\n\ttitle: {\n\t\tafterhours: 'Activ peste program',\n\t\talerts: 'Alerte',\n\t\tconsumption: 'Consum',\n\t\t'fleet-summary': 'Sumar flotă',\n\t\tfaz: 'Foaie de activitate zilnică',\n\t\t'fuel-level': 'Nivel combustibil',\n\t\tnotifications: 'Notificări',\n\t\tpoi: 'Activ în POI',\n\t\t'poi-temperature': 'Livrări',\n\t\troute: 'Foi Parcurs',\n\t\tstationary: 'Staționări',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperatură',\n\t\t'temperature-range': 'Ore TK',\n\t\ttimesheet: 'Pontaj',\n\t\tconstruction: 'Statistici șantier'\n\t},\n\treports: 'Rapoarte',\n\tmenu: {\n\t\tafterhours: 'Activ peste orar',\n\t\talerts: 'Alerte',\n\t\tcosts: 'Costuri',\n\t\tcabotage: 'Cabotaj',\n\t\tcountries: 'Țări',\n\t\tconsumption: 'Consum',\n\t\t'driver-behaviour': 'Comportament șofer',\n\t\t'driver-routes': 'Rute șofer',\n\t\tengine: 'Porniri',\n\t\t'fleet-summary': 'Sumar Flotă',\n\t\t'fleet-summary-extended': 'Sumar Flotă Extins',\n\t\tfaz: 'FAZ',\n\t\t'fuel-level': 'Alimentări',\n\t\t'km-day': 'KM Zi',\n\t\tnotifications: 'Notificări',\n\t\tpoi: 'Activ în POI',\n\t\t'poi-temperature': 'Livrări',\n\t\troute: 'Foi Parcurs',\n\t\tstationary: 'Staționări',\n\t\ttaxi: 'Taxi',\n\t\ttemperature: 'Temperatură',\n\t\t'temperature-range': 'Ore TK',\n\t\ttimesheet: 'Pontaj',\n\t\tconstruction: 'Statistici șantier',\n\t\t'obu-tickets': 'Tichete OBU',\n\t\t'tacho-files': 'Fișiere tahograf',\n\t\t'tacho-timesheet': 'Pontaj tahograf',\n\t\t23: 'Consum',\n\t\ttransits: 'Tranzituri',\n\t},\n\tdownloads: 'Descarcă',\n\tsettings: {\n\t\tdensity: 'Densitate',\n\t\tspecific: {\n\t\t\t'tacho-files': {\n\t\t\t\tsummarize: 'Filtrează',\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryDuration: 'Durată staționare',\n\t\t\t\tweeklyBreak: 'Odihna saptamanala',\n\t\t\t\tdailyBreak: 'Odihna zilnica',\n\t\t\t\tborderCrossing: 'Trecere granita',\n\t\t\t\tstoppingPurpose: 'Incarcre / Descarcare',\n\t\t\t\tweeklyBreakStart: 'Inceput odihna saptamanala',\n\t\t\t\tweeklyBreakEnd: 'Sfarsit odihna saptamanala',\n\t\t\t\tdailyBreakStart: 'Inceput odihna zilnica',\n\t\t\t\tdailyBreakEnd: 'Sfarsit odihna zilnica',\n\t\t\t\tloadStart: 'Inceput incarcare',\n\t\t\t\tloadEnd: 'Sfarsit incarcare',\n\t\t\t\tunloadStart : 'Inceput descarcare',\n\t\t\t\tunloadEnd: 'Sfarsit descarcare',\n\t\t\t\tduration: 'Durata',\n\t\t\t\tschedule: 'Foi parcurs conform orar',\n\t\t\t\tnoschedule: 'Foi parcurs 0-24',\n\t\t\t\tpriorityCAN: 'Distanța CAN',\n\t\t\t\tpriorityGPS: 'Distanța GPS',\n\t\t\t\tinfoCAN: 'Informații CAN',\n\t\t\t\tinfoGPS: 'Informații GPS',\n\t\t\t\tengineOnTimeCAN: 'Timp motor pornit CAN',\n\t\t\t\tengineOnTimeGPS: 'Timp motor pornit GPS',\n\t\t\t\tCAN: 'CAN',\n\t\t\t\tcng:{\n\t\t\t\t\tvolume: 'CNG - L',\n\t\t\t\t\tweight: 'CNG - Kg',\n\t\t\t\t\tpercent: 'CNG - %',\n\t\t\t\t},\n\t\t\t\tENGINE: 'Motor',\n\t\t\t\tpoi: 'POI',\n\t\t\t\taddress: 'Adresa'\n\t\t\t},\n\t\t\tshipping: {\n\t\t\t\tschedule: 'Livrări conform orar',\n\t\t\t\tnoschedule: 'Livrări 0-24'\n\t\t\t},\n\t\t\tgroupByVehicles: 'Grupează după vehicule',\n\t\t\tgroupByDrivers: 'Grupează după șoferi'\n\t\t}\n\t},\n\tsubscribe: {\n\t\ttitle: 'Subscribe',\n\t\tfields: {\n\t\t\tlabel: {\n\t\t\t\temail: 'Introduceți adresele de email separate prin virgulă.',\n\t\t\t\tfrequency: 'Selectați frecvența notificărilor:',\n\t\t\t\tweekDays: 'Selectați ziua în care doriți să primiți raportul:'\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\temail: 'Lista de adrese email:',\n\t\t\t\tfrequency: 'Alegeți frecvența:',\n\t\t\t\treport: 'Alegeți raportul:',\n\t\t\t\tdayOfWeek: 'Alegeți ziua din săptămână:'\n\t\t\t}\n\t\t},\n\t\teveryDay: 'O dată pe zi',\n\t\teveryWeek: 'O dată pe săptămână',\n\t\teveryMonth: 'O dată pe lună',\n\t\tnotifyDate: 'Selectați data în care doriți să primiți raportul:'\n\t},\n\theaderFields: { // todo: only the first leter of the header to be uppercase\n\t\ttachoSlot: 'Slot',\n\t\tday: 'Ziua',\n\t\tadblueLevelComposed: 'Nivel Adblue',\n\t\tutcTimezonePopup: 'Acest raport folosește fus orar 0',\n\t\tacc: 'Scor accelerări',\n\t\taccRedZone: 'Accelerare Zona Roșie',\n\t\taccYellowZone: 'Accelerare Zona Galbenă',\n\t\tauxHeatingConsumption: 'Consum incalzire aux',\n\t\taverageSpeed: 'Viteza Medie (km/h)',\n\t\tbreakRedZone: 'Frânare Zona Roșie',\n\t\tbreakYellowZone: 'Frânare Zona Galbenă',\n\t\tcan: 'CAN',\n\t\tcanDistance: 'Distanța (CAN)',\n\t\tcanEngineOnFirstTime: 'Prima pornire (CAN)',\n\t\tcanEngineOnLastTime: 'Ultima oprire (CAN)',\n\t\tcanEngineOnDuration: 'Ore funcționare motor (CAN)',\n\t\tcanFuelConsumption: 'Consum CAN',\n\t\tcanFuelConsumptionStationary: 'Consum CAN Staționare',\n\t\tcanFuelConsumptionMoving: 'Consum CAN Mișcare',\n\t\tcanFuelConsumptionDistance: 'Consum / 100 (CAN)',\n\t\tcanFuelLevel: 'Nivel Rezervor CAN',\n\t\tcanOdometer: 'Odometru Sosire',\n\t\tcurrency: 'Monedă',\n\t\todometer: 'Odometru',\n\t\todometerStartComposed: 'Odometru Pornire',\n\t\todometerComposed: 'Odometru Sosire',\n\t\tconsume: 'Consum',\n\t\tcost: 'Cost (EUR)',\n\t\tcostPopup: 'Calculat cu %@ / oră',\n\t\tconsumptionComposed: 'Consum',\n\t\tconsumptionComposedInfo: 'În coloana respectivă afişăm consumurile însumate în mişcare şi staţionare',\n\t\tcountry: 'Țara',\n\t\tcreatedAt: 'Create la',\n\t\tcupolaState: 'Stare Cupola',\n\t\tdate: 'Data',\n\t\tdesacc: 'Scor decelerări',\n\t\tdistance: 'Distanța (km)',\n\t\tdistanceComposed: 'Distanța (km)',\n\t\tdriver: 'Șofer',\n\t\tdriverNames: 'Șoferi',\n\t\tduration: 'Durata',\n\t\tdurationMoving: 'Durata mișcare',\n\t\tdurationStationary: 'Durata staționare',\n\t\tdurationStationaryEngineOn: 'Durata staționare (motor pornit)',\n\t\tdurationWorking: 'Durata lucru',\n\t\tendLocation: 'Adresa Sosire',\n\t\tendTime: 'Timp Sosire',\n\t\tengineState: 'Stare Motor',\n\t\tengineFirstTime: 'Prima pornire',\n\t\tengineLastTime: 'Ultima oprire',\n\t\tengineOnFirstTime: 'Prima pornire motor',\n\t\tengineOnLastTime: 'Ultima oprire motor',\n\t\tengineOnTime: 'Ore funcționare motor',\n\t\tengineLoadTime: 'Durata sarcina motor',\n\t\tentryLocation: 'Adresa Intrare',\n\t\ttransitDistance: 'Durata Transit',\n\t\ttransitCost: 'Cost Transit (EUR)',\n\t\tcabotageDistance: 'Durata Cabotaj',\n\t\tcabotageCost: 'Cost Cabotaj (EUR)',\n\t\tentryTime: 'Data Intrare',\n\t\texitLocation: 'Adresa Ieșire',\n\t\texitTime: 'Data Ieșire',\n\t\tfreezer: 'Agregat frigorific',\n\t\tfreezerOnDuration: 'Ore funcționare agregat frigorific',\n\t\tfuelConsumption: 'Consum Calculat',\n\t\tfuelConsumptionStationary: 'Consum Calculat Staționare',\n\t\tfuelConsumptionMoving: 'Consum Calculat Mișcare',\n\t\tfuelConsumptionDistanceComposed: 'Consum / 100km',\n\t\tfuelConsumptionMovingInfo: 'Această valoare include doar consumul în mișcare. \\nValoarea e normal să difere de consumul afișat în raportul FAZ, care include și consumurile în staționare.',\n\t\tfuelConsumptionPer100KMInfo: 'Această valoare este consumul total în mișcare pe 100 km. \\nNu include consumurile în staționare.',\n\t\tfuelConsumptionDurationComposed: 'Consum / h',\n\t\tfuelConsumptionPerHourInfo: 'Această valoare este consumul total în staționare pe numărul de ore motor pornit în staționare. \\nNu include consumurile în mișcare.',\n\t\tfuelConsumptionDistance: 'Consum / 100km',\n\t\tfuelConsumptionNormlized: 'Consum normat',\n\t\tfuelConsumptionAccounting: 'Consum contabil',\n\t\tfuelConsumptionFullToFull: 'Consum plin la plin',\n\t\tfuelConsumptionFullToFullCan: 'Consum plin la plin (CAN)',\n\t\tfuelConsumptionFullToFullSensor: 'Consum plin la plin (Sonda)',\n\t\tfuelConsumptionTotal: 'Consum total',\n\t\tfuelEvent: 'Tip',\n\t\tfuelLevel: 'Nivel Rezervor',\n\t\tfuelLevelComposed: 'Nivel Rezervor',\n\t\tfuelLevelDiff: 'Volum detectat',\n\t\tfuelLevelDiffManual: 'Volum introdus',\n\t\tfuelLevelDiffLiters: 'Volum',\n\t\tfuelSensor: 'Rezervor',\n\t\tgeneratedAt: 'Generat la',\n\t\tgps: 'GPS',\n\t\tgpsDistance: 'Distanța (GPS)',\n\t\tgpsEngineOnDuration: 'Ore funcționare motor (GPS)',\n\t\tgroupedWith: 'Cuplat cu',\n\t\tidlingTime: 'Staționare Motor Pornit',\n\t\tinvoiceNumber: 'Nr. de factură',\n\t\tignitionOnTime: 'Ore contact',\n\t\tlicensePlate: 'Vehicul',\n\t\tlocation: 'Adresa',\n\t\tmap: 'Harta',\n\t\tmaxSpeed: 'Viteza Maximă (km/h)',\n\t\tname: 'Vehicul / Nume',\n\t\tpersistent: 'Persistent',\n\t\tpoiCount: 'POI-uri atinse',\n\t\tpoiStationaryDoorsOpenedDuration: 'Durata staționare în POI cu ușa deschisă',\n\t\tpoiStationaryDuration: 'Durata staționare in POI',\n\t\tprice: 'Preț',\n\t\tpriceEur: 'Preț (EUR)',\n\t\tprintDetails: 'Detalii',\n\t\trefuelValue: 'Valoare alimentată',\n\t\trefuelCAN: 'Valoare alimentată (CAN)',\n\t\trefuelSensor: 'Valoare alimentată (Sondă)',\n\t\troadSection: 'Secțiune drum',\n\t\trouteType: 'Tip Ruta',\n\t\tsealEnd: 'Sigiliu Sosire',\n\t\tsealStart: 'Sigiliu Pornire',\n\t\tsensorFuelConsumption: 'Consum sonda',\n\t\tsensorFuelConsumptionStationary: 'Consum Sondă Staționare',\n\t\tsensorFuelConsumptionMoving: 'Consum Sondă Mișcare',\n\t\tsensorFuelLevel: 'Nivel Rezervor Sondă',\n\t\tspeed: 'Scor viteză',\n\t\tspeedingAvg: 'Încălcare Viteză Medie (km/h)',\n\t\tspeedingMax: 'Încălcare Viteză Maximă (km/h)',\n\t\tspeedingTime: 'Încălcare Viteză Timp',\n\t\tstartLocation: 'Adresa Pornire',\n\t\tstartTime: 'Timp Pornire',\n\t\tstationaries: 'Staționări cu motor pornit',\n\t\tstatus: 'Stare',\n\t\ttemperatureRange1: 'sub -4°C',\n\t\ttemperatureRange2: 'între -4°C și 0°C',\n\t\ttemperatureRange3: 'între 0°C și 4°C',\n\t\ttemperatureRange4: 'peste 4°C',\n\t\ttotalFuelConsumption: 'Total Calculat',\n\t\ttransitNumber: 'Tranzite',\n\t\ttimesheet: 'Pontaj',\n\t\tupdatedAt: 'Modificat la',\n\t\tvirage: 'Scor viraje',\n\t\tvolumeCan: 'Volum CAN',\n\t\tvolumeTank: 'Volum rezervor',\n\t\ttotals: {\n\t\t\tcan: 'Total CAN',\n\t\t\tcanStationary: 'Total CAN Staționare',\n\t\t\tcanMoving: 'Total CAN Mișcare',\n\t\t\tcomputed: 'Total Calculat',\n\t\t\tcomputedStationary: 'Total Calculat Staționare',\n\t\t\tcomputedMoving: 'Total Calculat Mișcare',\n\t\t\tcost: 'Total Cost',\n\t\t\tdistance: 'Total Distanța',\n\t\t\tdurationMoving: 'Total Durata Mișcare',\n\t\t\tdurationStationary: 'Total Durata Staționare',\n\t\t\tgps: 'Total GPS',\n\t\t\tsensor: 'Total Sonda',\n\t\t\tsensorStationary: 'Total Sonda Staționare',\n\t\t\tsensorMoving: 'Total Sonda Mișcare',\n\t\t},\n\t\tspecific: {\n\t\t\tafterhours: {\n\t\t\t\tduration: 'Durata (ore)'\n\t\t\t},\n\t\t\tconsumption:{\n\t\t\t\tpopups:{\n\t\t\t\t\tnormlizedDistanceConsumption: 'Ați condus {{distance}} km cu un consum de {{fuel}} {{fuelUnit}}',\n\t\t\t\t\tnormlizedDistanceConsumptionPerDistance: 'Ați condus {{distance}} km cu un consum de {{fuel}} {{fuelUnit}}/100km',\n\t\t\t\t\tnormlizedDistanceUncalculated : 'Ați condus {{distance}} km cu consum necalculat',\n\t\t\t\t}\n\t\t\t},\n\t\t\troute: {\n\t\t\t\tstationaryTypeBefore: 'Tip stationare inainte de plecare',\n\t\t\t\tstationaryTypeAfter: 'Tip stationare dupa sosire',\n\t\t\t\tfuelConsumption: 'Consum Calculat',\n\t\t\t\tpurpose: 'Scopul deplasării',\n\t\t\t\tselectPurpose: 'Alege'\n\t\t\t},\n\t\t\t'driver-routes': {\n\t\t\t\tcardInserted: 'Introdus card în slot {{number}}',\n\t\t\t\tcardRemoved: 'Scos card din slot {{number}}',\n\t\t\t\ttotalConsumptionNotCalculatedBecauseDiffFuelsType: 'Din cauza diferențelor între tipurile de combustibil ale autovehiculelor folosite, nu e posibil calculul sumei.',\n\t\t\t},\n\t\t\tstation: {\n\t\t\t\tstartTime: 'Început staționare',\n\t\t\t\tendTime: 'Sfârșit staționare',\n\t\t\t\tduration: 'Durata'\n\t\t\t},\n\t\t\tstationary: {\n\t\t\t\tstartTime: 'Început staționare',\n\t\t\t\tendTime: 'Sfârșit staționare',\n\t\t\t\tduration: 'Durata',\n\t\t\t\tstartTimePlanned: 'Început staționare (plănuită)',\n\t\t\t\tendTimePlanned: 'Sfârșit staționare (plănuită)',\n\t\t\t\tdurationPlanned: 'Durata (plănuită)',\n\t\t\t},\n\t\t\ttaxi: {\n\t\t\t\tduration: 'Durata',\n\t\t\t\tdistanceAvailable: 'KM Liber',\n\t\t\t\tdistanceOccupied: 'KM Ocupat',\n\t\t\t\tdurationAvailable: 'Durata Liber',\n\t\t\t\tdurationOccupied: 'Durata Ocupat',\n\t\t\t\tdurationOff: 'Durata Oprit',\n\t\t\t},\n\t\t\tpoi: {\n\t\t\t\tgeofences: 'POI',\n\t\t\t\twindow: 'Interval',\n\t\t\t},\n\t\t\ttachoFiles: {\n\t\t\t\tbuttonLabel: 'Descărcare fișiere tahograf',\n\t\t\t\tvehicles: 'Fișiere vehicule',\n\t\t\t\tdrivers: 'Fișiere șoferi',\n\t\t\t\tfilename: 'Fișier',\n\t\t\t\tdownloadedAt: 'Descărcat la',\n\t\t\t\tdownloadRequest: {\n\t\t\t\t\ttitle: \"Solicitare descărcare fișier tahograf\",\n\t\t\t\t\tbuttonText: \"Solicită\",\n\t\t\t\t\terrors: {\n\t\t\t\t\t\tvehicleLimitReached: \"Prea multe cereri de descărcări pentru acest vehicul. Vă rugăm reîncercați în 30 de minute.\",\n\t\t\t\t\t\tdownloadLimitReached: \"Prea multe cereri de descărcări. Vă rugăm reîncercați în 30 de minute.\",\n\t\t\t\t\t\t1: \"Informațiile solicitate nu pot fi furnizate, deoarece autovehiculul nu este în funcțiune. Vă rugăm să porniți motorul și încercați din nou.\",\n\t\t\t\t\t\t2: \"Informațiile solicitate nu pot fi furnizate, deoarece autovehiculul nu este dotat cu tahograf.\",\n\t\t\t\t\t\t3: \"Informațiile solicitate nu pot fi furnizate, deoarece din baza de date lipsește seria șasiului vehiculului. Vă rugăm accesați meniul 'Management/Vehicule', selectați vehiculul, optați pentru 'Modifică' și introduceți serie șasiu în câmpul desemnat, după care apăsați ”Salvează”. Mai apoi, reîncercați solicitarea fișierului.\"\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: \"Solicitarea a fost trimisă cu succes! Vă rugăm reveniți în aproximativ 30 de minute pentru a obține fișierul dorit.\",\n\t\t\t\t\twarning: \"Contactul trebuie să fie pus în timpul descărcării\"\n\t\t\t\t},\n\t\t\t},\n\t\t\ttachoTimesheet: {\n\t\t\t\tstartTime: 'Ora începerii',\n\t\t\t\tendTime: 'Ora terminării',\n\t\t\t\tdrivingDuration: 'Condus',\n\t\t\t\tothersDuration: 'Alte activități',\n\t\t\t\tavailabilityDuration: 'Disponibilitate',\n\t\t\t\tactivityDuration: 'Total muncă',\n\t\t\t\trestDuration: 'Odihnă',\n\t\t\t\tnightDuration: 'Lucru noaptea',\n\t\t\t\tdayDuration: 'Lucru ziua',\n\t\t\t\tworkingDuration: 'Lucru',\n\t\t\t\ttachoCardID: 'Card id'\n\t\t\t},\n\t\t\t23: {\n\t\t\t\tdistancePaid: 'Distanța (km, tarifari)',\n\t\t\t\tdistanceLoss: 'Distanța (km, dislocați)',\n\t\t\t\tfuelConsumptionDistanceAdjusted: 'Consum real / 100km',\n\t\t\t\tfuelDifference: 'Diferență litri (real / normat)',\n\t\t\t},\n\t\t\t29: {\n\t\t\t\tloads: 'Încărcări',\n\t\t\t\tunloads: 'Descărcări',\n\t\t\t},\n\t\t\tfaz: {\n\t\t\t\tduration: 'Durata mișcare'\n\t\t\t}\n\t\t}\n\t},\n\tfuelLevel: {\n\t\teventType: {\n\t\t\trefuel: 'Alimentare',\n\t\t\tprocessing: 'În curs de procesare',\n\t\t\tconsumption: 'Consum în staționare'\n\t\t},\n\t\timport: {\n\t\t\ttitle: 'Import alimentări',\n\t\t\tbuttonText: 'IMPORTĂ ALIMENTĂRI',\n\t\t\timported: 'Au fost importate {{value}} alimentări',\n\t\t\tnotImported: 'Nu au fost importate {{value}} alimentări',\n\t\t\tallImported: 'Toate alimentările au fost importate ({{value}})',\n\t\t},\n\t\tuploadFile: 'Încarcă document'\n\t},\n\tpoi: {\n\t\thit: 'Vizitat',\n\t\tunplanned: 'Neplanificat',\n\t\tmiss: 'Întârziere',\n\t\t'no-visit': 'Nevizitat',\n\t\timportPlan: {\n\t\t\ttitle: 'Import planificări',\n\t\t\tbuttonText: 'IMPORTĂ PLANIFICĂRI',\n\t\t\timported: 'Au fost importate {{value}} planificări',\n\t\t\tnotImported: 'Nu au fost importate {{value}} planificări',\n\t\t\tallImported: 'Toate planificările au fost importate',\n\t\t},\n\t},\n\t23: {\n\t\tdistanceThreshold: 'Consumul se calculează doar pentru distanțe de cel puțin 10 km'\n\t},\n\ttable: {\n\t\texpand: 'Afișează tot tabelul',\n\t\tcollapse: 'Micșorează',\n\t},\n\ttemperature: {\n\t\ttemperatureTable: 'Tabel de temperaturi'\n\t}\n}\n","export default {\n\ttitle: 'RER',\n\tmenu: {\n\t\tmap: 'Hartă',\n\t\tsubscribers: 'Abonați',\n\t\tpickups: 'Ridicări',\n\t},\n\tsubscribers: {\n\t\tname: 'Nume',\n\t\tcontainers: 'Recipiente',\n\t\tactions: {\n\t\t\tadd: 'Adaugă abonat',\n\t\t},\n\t},\n\tcontainers: {\n\t\ttypes: {\n\t\t\t'trash-can': 'Pubelă',\n\t\t\tdumpster: 'Tomberon',\n\t\t}\n\t}\n}\n","export default {\n\tsettings: 'Setări',\n\tmenu: {\n\t\tnotifications: 'Notificări',\n\t\tspeedLimit: 'Limita viteză',\n\t\tcosts: 'Costuri',\n\t\tcabotage: 'Cabotaj',\n\t\torders: 'Comenzi',\n\t\tdriverBehaviour: 'Comportament şofer',\n\t\tdailyTarget: 'Normă zilnică',\n\t\tdataStorage: 'Stocare date',\n\t\teTransport: 'e-Transport',\n\t\ttms:'TMS',\n\t\tdispatch: 'Dispecerat'\n\t},\n\tnotifications: {\n\t\temails: {\n\t\t\tinsertEmailsSeparatedByComma: 'Introduceți adresele de email separate cu virgulă',\n\t\t\tinsertPhonesSeparatedByComma: 'Introduceți numerele de telefon separate cu virgulă',\n\t\t\tnotifications: 'Notificări',\n\t\t\temail: 'Email',\n\t\t\tphone: 'Telefon',\n\t\t},\n\t},\n\tspeedLimit: {\n\t\tvehicles: {\n\t\t\tmax: 'Prag alertă implicită',\n\t\t\tmaxTooltip: 'peste această viteză trimitem alerta din oficiu indiferent de limitele rutiere (ex 90 km /h pt autoutilitare)',\n\t\t\tmin: 'Prag minim activare alertă',\n\t\t\tminTooltip: 'până la această viteză nu verificăm posibilele încălcări',\n\t\t\toffset: 'Încălcare admisă',\n\t\t\toffsetTooltip: 'marja de încălcăre admisă. ex 10km/h pentru a fi alertat la \\n50 + 10 km/h în localitate, \\n90 + 10km/h pe drum național, \\n130 +10 km/h pe autostradă',\n\t\t\terrorMessage: 'Verificați câmpurile marcate cu roșu.',\n\t\t\ttype: {\n\t\t\t\tutility: 'Autoutilitara',\n\t\t\t\tcar: 'Autoturism',\n\t\t\t\tminibus: 'Microbuz',\n\t\t\t\tbus: 'Autocar',\n\t\t\t\ttruck: 'Camion',\n\t\t\t\ttractor: 'Tractor',\n\t\t\t\tharvester: 'Combina',\n\t\t\t\tconstruction: 'Utilaj',\n\t\t\t\ttrailer: 'Remorcă',\n\t\t\t\t'semi-trailer': 'Semiremorcă'\n\t\t\t}\n\t\t}\n\t},\n\tcosts: {\n\t\ttitle: 'Costuri',\n\t\tdescription: 'Introduceți cost/ora',\n\t\tinsertNumber: 'Introduceți costul'\n\t},\n\tcountries: {\n\t\tat: 'Austria',\n\t\tbe: 'Belgia',\n\t\tbg: 'Bulgaria',\n\t\thr: 'Croația',\n\t\tcy: 'Cyprus',\n\t\tcz: 'Cehia',\n\t\tdk: 'Danemarca',\n\t\tee: 'Estonia',\n\t\tfl: 'Finlanda',\n\t\tfr: 'Franța',\n\t\tde: 'Germania',\n\t\tgr: 'Grecia',\n\t\thu: 'Ungaria',\n\t\tie: 'Irlanda',\n\t\tit: 'Italia',\n\t\tlv: 'Letonia',\n\t\tlt: 'Lituania',\n\t\tlu: 'Luxemburg',\n\t\tmt: 'Malta',\n\t\tnl: 'Țările de Jos',\n\t\tpl: 'Polonia',\n\t\tpt: 'Portugalia',\n\t\tro: 'România',\n\t\tsk: 'Slovacia',\n\t\tsl: 'Slovenia',\n\t\tes: 'Spania',\n\t\tse: 'Suedia',\n\t\tgb: 'Regatul Unit',\n\t\ttransitCost: 'Transit Cost € / h',\n\t\tcabotageCost: 'Cabotaj Cost € / h',\n\t\tgeneral: 'General'\n\t},\n\tdriverBehaviour: {\n\t\trpm: {\n\t\t\ttitle: 'RPM',\n\t\t\tstationary: 'RPM Staționare',\n\t\t\tmoving: 'RPM În mișcare',\n\t\t\try: 'RPM Red-Yellow (%)', // TODO: translate\n\t\t\tyg: 'RPM Yellow-Green (%)', // TODO: translate\n\t\t\tgy: 'RPM Green-Yellow (%)', // TODO: translate\n\t\t\tyr: 'RPM Yellow-Red (%)', // TODO: translate\n\t\t\try_allowed: 'Allowed in Red-Yellow', // TODO: translate\n\t\t\tyg_allowed: 'Allowed in Yellow-Green', // TODO: translate\n\t\t\tgy_allowed: 'Allowed in Green-Yellow', // TODO: translate\n\t\t\tyr_allowed: 'Allowed in Yellow-Red' // TODO: translate\n\t\t},\n\t\tidlingTime: {\n\t\t\ttitle: 'Idling time', // TODO: translate\n\t\t\ttotal: 'Total Idling time', // TODO: translate\n\t\t\tavg: 'Average Idling time', // TODO: translate\n\t\t\tavgTime: {\n\t\t\t\tminLabel: 'Average Idling time (min)', // TODO: translate\n\t\t\t\tsecLabel: 'Average Idling time (sec)', // TODO: translate\n\t\t\t\tminTooltip: 'min',\n\t\t\t\tsecTooltip: 'sec'\n\t\t\t},\n\t\t\tgyr: 'Idling time Green-Yellow-Red', // TODO: translate\n\t\t\tgyrTime: {\n\t\t\t\tgyLabel: 'Green-Yellow', // TODO: translate\n\t\t\t\tgyToolTip: 'Green-Yellow Idling time (%)', // TODO: translate\n\t\t\t\tyrLabel: 'Yellow-Red', // TODO: translate\n\t\t\t\tyrToolTip: 'Yellow-Red Idling time (%)' // TODO: translate\n\t\t\t}\n\t\t},\n\t\tharshAcc: {\n\t\t\ttitle: 'Harsh Acceleration', // TODO: translate\n\t\t\tgy: 'Green-Yellow', // TODO: translate\n\t\t\tyr: 'Yellow-Red', // TODO: translate\n\t\t\tgy_allowed: 'Green-Yellow Allowed', // TODO: translate\n\t\t\tyr_allowed: 'Yellow-Red Allowed', // TODO: translate\n\t\t\tgyTooltip: 'Green-Red', // TODO: translate\n\t\t\tyrTooltip: 'Between Green-Yellow (%)', // TODO: translate\n\t\t\tgy_allowedTooltip: 'Green-Yellow Allowed (%)', // TODO: translate\n\t\t\tyr_allowedTooltip: 'Yellow-Red Allowed (%)' // TODO: translate\n\t\t},\n\t\tharshDcc: {\n\t\t\ttitle: 'Harsh Deceleration', // TODO: translate\n\t\t\tgy: 'Green-Yellow', // TODO: translate\n\t\t\tyr: 'Yellow-Red', // TODO: translate\n\t\t\tgy_allowed: 'Green-Yellow Allowed', // TODO: translate\n\t\t\tyr_allowed: 'Yellow-Red Allowed', // TODO: translate\n\t\t\tgyTooltip: 'Green-Red', // TODO: translate\n\t\t\tyrTooltip: 'Between Green-Yellow (%)', // TODO: translate\n\t\t\tgy_allowedTooltip: 'Green-Yellow Allowed (%)', // TODO: translate\n\t\t\tyr_allowedTooltip: 'Yellow-Red Allowed (%)' // TODO: translate\n\t\t},\n\t\tspeeding: {\n\t\t\ttitle: 'Încălcare limită viteză',\n\t\t\tevtCount: 'Număr evenimente',\n\t\t\tavg: 'Încălcarea medie',\n\t\t\tmoving: 'În mișcare',\n\t\t\tevtCountTooltip: 'Număr evenimente / 100 km',\n\t\t\tavgTooltip: 'Încălcarea medie km/h',\n\t\t\tmovingTooltip: '(%) of moving in km'\n\t\t},\n\t\tfuelConsumption: {\n\t\t\ttitle: 'Consum',\n\t\t\ttooltip: ''\n\t\t},\n\t\try: 'Red-Yellow', // TODO: translate\n\t\tyg: 'Yellow-Green', // TODO: translate\n\t\tgy: 'Green-Yellow', // TODO: translate\n\t\tyr: 'Yellow-Red', // TODO: translate\n\t\tred: 'Red', // TODO: translate\n\t\tyellow: 'Yellow', // TODO: translate\n\t\tgreen: 'Green', // TODO: translate\n\t\tselectCarType: 'Tip auto',\n\t\tcarType: {\n\t\t\tutility: 'Autoutilitara',\n\t\t\tcar: 'Autoturism',\n\t\t\tminibus: 'Microbuz',\n\t\t\tbus: 'Autocar',\n\t\t\ttruck: 'Camion',\n\t\t\ttractor: 'Tractor',\n\t\t\tharvester: 'Combina',\n\t\t\tconstruction: 'Utilaj',\n\t\t\ttrailer: 'Remorcă',\n\t\t\t'semi-trailer': 'Semiremorcă'\n\t\t},\n\t\tselectVehicle: 'Selectați un vehicul',\n\t\tselectVehicleCopy: 'Selectați un vehicul de copiat'\n\t},\n\torders: {\n\t\tsources: {\n\t\t\ttracknamic: 'Tracknamic',\n\t\t\tsamsung: 'Samsung',\n\t\t\tbibtrack: 'Bibtrack',\n\t\t\tshippeo: 'Shippeo',\n\t\t\tcustom: 'Particular'\n\t\t},\n\t},\n\tcabotage: {\n\t\thelper: \"Setarea intervalului de lucru pe timp de noapte\",\n\t\tnightWorkInterval: \"Intervalul de lucru pe timp de noapte\",\n\t\tstartInterval: \"Începutul intervalului\",\n\t\tendInterval: \"Sfârșitul intervalului\",\n\t\tdefault: \"</br> Interval implicit: 22-05\"\n\t}\n}\n","export default {\n\tmessages: 'Mesaje',\n\tnewMessageThread: 'Inițiază conversație',\n\tcancel: 'Anulează',\n\tsearchThreads: 'Caută...',\n\tdetails: 'Detalii',\n\tthreadName: 'Subiect',\n\tpriority: 'Prioritate',\n\tlowPriority: 'Obișnuită',\n\tmediumPriority: 'Medie',\n\thighPriority: 'Crescută',\n\tselectPriority: 'Alege prioritatea',\n\tsearchUser: 'Caută utilizatori',\n\tselectGroup: 'Alege divizia',\n\tallGroups: 'Toate diviziile',\n\tphone: 'Telefon',\n\temail: 'Email',\n\tadd: 'Adaugă',\n\tremove: 'Șterge',\n\tcreateMessageThread: 'Creează conversația',\n\tupdateMessageThread: 'Actualizează conversația',\n\tdeleteMessageThread: 'Confirmați faptul că doriți să ștergeți această conversație?',\n\tdeleteConfirmButton: 'Confirm',\n\tdeleteCancelButton: 'Anulează',\n\tmessageInputPlaceholder: 'Tastează un mesaj...',\n\tunreadMessages: ' mesaje necitite',\n\tnoMessages: 'Momentan nu există mesaje în această conversație.',\n\taddUser: 'Adaugă utilizator',\n\tok: 'Ok',\n\tparticipants: 'participanți',\n\tdocument: 'Document',\n\tseenBy: 'Văzut de: '\n}\n","export default {\n\ttitle:'TMS',\n\tdispatch: 'Dispecerat',\n\tloadAddress: 'Adresa încărcare',\n\tunloadAddress: 'Adresa descărcare',\n\tenterQuery: 'Introduceți o interogare',\n\ttypeToSearch: 'Scrieți pentru căutare',\n\tbudget: 'Buget',\n\tstatName: 'Statistica',\n\tprofitability: 'Profitabilitate',\n\totherStat: 'Alte statistici',\n\tmenu: {\n\t\tindex: 'Dispecerat',\n\t\tmap: 'Hartă',\n\t\torders: 'Comenzi',\n\t\tclients: 'Clienți',\n\t\tvehicleGroups: 'Grupaje',\n\t\troutes: {\n\t\t\tindex: 'Rute',\n\t\t\tadd: 'Adaugă ruta'\n\t\t}\n\t},\n\troute: {\n\t\ttitle: 'Ruta',\n\t\tdistance: 'Distanța (km)',\n\t\tname: 'Nume',\n\t\tvehicles: 'Vehicule',\n\t\tvehicle: 'Vehicul',\n\t\tvehicleDimensions: {\n\t\t\twidth: 'Lăţime (în metri, ex. 2.4)',\n\t\t\theight: 'Înălţime (în metri, ex. 4.2',\n\t\t\tlength: 'Lungime (în metri, ex. 7)',\n\t\t\tweight: 'Greutate (în tone, ex. 5)',\n\t\t},\n\t\tduration: 'Durata',\n\t\twaypoints: {\n\t\t\ttitle: 'Puncte',\n\t\t\ttype: 'Tip',\n\t\t\ttypes: {\n\t\t\t\tload: 'Încărcare',\n\t\t\t\tunload: 'Descarcare',\n\t\t\t\tstop: 'Staționare'\n\t\t\t},\n\t\t\tlocation: 'Locație',\n\t\t\tduration: 'Durata (minute)'\n\t\t},\n\t\tmaterials: {\n\t\t\ttype: 'Materiale periculoase',\n\t\t\tstrict: 'Rutare strictă',\n\t\t\ttypes: {\n\t\t\t\texplosive: 'Exploziv',\n\t\t\t\tgas: 'Gaz',\n\t\t\t\tflammable: 'Inflamabil',\n\t\t\t\tcombustible: 'Combustibil',\n\t\t\t\torganic: 'Organic',\n\t\t\t\tpoison: 'Otrăvitor',\n\t\t\t\tradioActive: 'Radioactiv',\n\t\t\t\tcorrosive: 'Corosiv',\n\t\t\t\tpoisonousInhalation: 'Otrăvitor prin inhalare',\n\t\t\t\tharmfulToWater: 'Nociv pentru apă',\n\t\t\t\tother: 'Alte',\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\troute: 'Generează ruta',\n\t\t\toptimize: 'Optimizează ruta',\n\t\t\tnext: 'Continuă',\n\t\t\tsave: 'Salvează',\n\t\t\tadd: 'Adaugă',\n\t\t\tsearch: 'Căutare rută...'\n\t\t},\n\t\tstate: {\n\t\t\tgenerating: 'Se generează ruta...'\n\t\t},\n\t\toptimized: {\n\t\t\ttitle: 'Ruta optimizată',\n\t\t\tuse: 'Folosește ruta optimizată',\n\t\t\tmessage: 'Ruta poate fi optimizată',\n\t\t\tdiff: 'Ruta optimizată este cu <b>{{distance}}</b> km mai scurtă și cu <b>{{time}}</b> mai rapidă.'\n\t\t},\n\t\tschedule: {\n\t\t\ttitle: 'Program'\n\t\t},\n\t\tdetails: {\n\t\t\ttitle: 'Detalii'\n\t\t}\n\t},\n\tmap: {\n\t\troute: {\n\t\t\tname: 'Denumire',\n\t\t\tdistance: 'Distanță',\n\t\t\tduration: {\n\t\t\t\tdrive: 'Condus',\n\t\t\t\trest: 'Pauză',\n\t\t\t\ttotal: 'Durată',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tprimary: 'Neoptimizată',\n\t\t\t\tcheapest: 'Cea mai ieftină',\n\t\t\t\tfastest: 'Cea mai rapidă',\n\t\t\t\tshortest: 'Cea mai scurtă',\n\t\t\t},\n\t\t\tactions: {\n\t\t\t\tstash: 'Parchează',\n\t\t\t\tsave: 'Salvează',\n\t\t\t},\n\t\t\ttransport: {\n\t\t\t\ttype: 'Tip transport',\n\t\t\t\ttypes: {\n\t\t\t\t\tstandard: 'Standard',\n\t\t\t\t\tadr: 'ADR',\n\t\t\t\t\tfreezer: 'Frigorific',\n\t\t\t\t\tsecure: 'Securizat',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcost: 'Cost',\n\t\t},\n\t\tsummary: {\n\t\t\tlossPaidRatio: 'Dislocat / tarifar',\n\t\t\tcost: 'Cost',\n\t\t\tcostDetailed: 'Cost șofer: {{driverCost}}€\\nCost vehicul: {{vehicleCost}}€',\n\t\t\tprofitability: 'Rentabilitate',\n\t\t\tprofitabilities: {\n\t\t\t\tunknown: '-',\n\t\t\t\tlow: 'Scăzută',\n\t\t\t\tmedium: 'Medie',\n\t\t\t\thigh: 'Ridicată'\n\t\t\t}\n\t\t},\n\t\toptimized: {\n\t\t\taction: 'Optimizează',\n\t\t\tloading: 'Se optimizează...',\n\t\t\tcostDetailed: 'Cost șofer: {{driverCost}}€\\nCost vehicul: {{vehicleCost}}€\\nTaxe: {{tollCost}}€',\n\t\t}\n\t},\n\torders: {\n\t\theader: {\n\t\t\tname: 'Nume',\n\t\t\texternalID: \"ID extern\",\n\t\t\tclient: 'Client',\n\t\t\tvehicleGroup: 'Grupaj',\n\t\t\tstatus: 'Stare',\n\t\t\tstatusDate: 'Data stare',\n\t\t\tstartLocation: 'Adresă încărcare',\n\t\t\tendLocation: 'Adresă descărcare',\n\t\t\tdate: 'Data comenzii',\n\t\t\tattachments: 'Atașamente',\n\t\t\tupdatedAt: 'Ultima actualizare',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Adaugă comandă',\n\t\t\t\tname: 'Nume',\n\t\t\t\tstatus: 'Stare',\n\t\t\t\tsource: 'Sursa',\n\t\t\t\tsources: {\n\t\t\t\t\ttracknamic: 'Tracknamic',\n\t\t\t\t\tsamsung: 'Samsung',\n\t\t\t\t},\n\t\t\t\texternalID: 'ID extern',\n\t\t\t\tvehicleGroup: 'Grupaj',\n\t\t\t\tclient: 'Client',\n\t\t\t\twaypoint: {\n\t\t\t\t\taddress: 'Adresa',\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\tloading: 'Încărcare',\n\t\t\t\t\t\tunloading: 'Descărcare',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tattachmentUpload: {\n\t\t\t\ttitle: 'Încarcă atașament',\n\t\t\t},\n\t\t}\n\t},\n\tclients: {\n\t\theader: {\n\t\t\tname: 'Nume',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Adaugă client',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Adaugă client',\n\t\t\t\tname: 'Nume',\n\t\t\t},\n\t\t},\n\t},\n\tvehicleGroups: {\n\t\theader: {\n\t\t\tname: 'Nume',\n\t\t\ttractorUnit: 'Cap tractor',\n\t\t\tsemitrailer: 'Semiremorcă',\n\t\t\tdriver: 'Șofer',\n\t\t\tcodriver: 'Co-șofer',\n\t\t},\n\t\tactions: {\n\t\t\tadd: 'Adaugă grupaj',\n\t\t},\n\t\tmodal: {\n\t\t\tcreate: {\n\t\t\t\ttitle: 'Adaugă grupaj',\n\t\t\t\tname: 'Nume',\n\t\t\t\ttractorUnit: 'Cap tractor',\n\t\t\t\tsemitrailer: 'Semiremorcă',\n\t\t\t\tdriver: 'Șofer',\n\t\t\t\tcodriver: 'Co-șofer',\n\t\t\t},\n\t\t},\n\t\tpicker: {\n\t\t\ttractorUnits: 'Cap tractor',\n\t\t\tsemitrailers: 'Semiremorcă',\n\t\t\tvehicleGroups: 'Grupaj',\n\t\t},\n\t},\n}\n","import Alerts from './alerts'\nimport Dispatch from './dispatch'\nimport Driving from './driving'\nimport Errors from './errors'\nimport Management from './management'\nimport Markers from './markers'\nimport Messages from './messages'\nimport Reports from './reports'\nimport Settings from './settings'\nimport Threads from './threads'\nimport RER from './rer'\nimport TMS from './tms'\nimport Etransport from './etransport'\n\nexport default {\n\ttms: TMS,\n\tdispatch: Dispatch,\n\tdriving: Driving,\n\tmanagement: Management,\n\tetransport: Etransport,\n\tmarkers: Markers,\n\tmessages: Messages,\n\treports: Reports,\n\tsettings: Settings,\n\tthreads: Threads,\n\trer: RER,\n\talerts: {\n\t\ttypes: {\n\t\t\t'fuel-level-drop-stationary': 'Scădere combustibil staționare (Sondă)',\n\t\t\t'fuel-consumption-excessive': 'Consum excesiv de combustibil',\n\t\t\t'low-battery': 'Voltaj baterie scăzut',\n\t\t\t'fast-battery-discharge': 'Rată de descărcare baterie mare',\n\t\t\t'tacho-rest': 'Depăşire odihnă şofer',\n\t\t\t'panic-button': 'Alertă buton panica',\n\t\t},\n\t\ttachoRestInfo: 'Dacă șoferul este în ciclul 1-5, după 11 ore și 15 minute de pauză zilnică normală, vom trimite alertă/notificare.\\nDacă șoferul este în ciclul 6-7, după 46 de ore de pauză săptămânală normală, vom trimite alertă/notificare.',\n\t\tmessages: Alerts\n\t},\n\terrors: {\n\t\tsavingVehicle: 'Eroare la salvare vehicul',\n\t\tsavingUser: 'Eroare la salvare utilizator',\n\t\trelay: 'Eroare la blocare/deblocare contact',\n\t\tuserExist: 'Utilizatorul există deja', // err 409\n\t\temailUsed: 'Emailul exită deja în sistem', // err 410\n\t\t'5010': 'Nu sunt permise decât poligoane simple.',\n\t\t'5020': 'Divizia este deja partajată.',\n\t\tmessages: Errors,\n\t\taccountDisabled: 'Ne pare rău. Contul companiei dumneavoastră a fost dezactivat.',\n\t\tmaintenance_1: 'Site-ul este temporar indisponibil',\n\t\tmaintenance_2: 'Vom reveni cât mai curând posibil. Ne cerem scuze pentru neplăcerile cauzate.<br/>Mulțumim pentru răbdare.',\n\t\toops: '<br/><p>A apărut o eroare și nu am putut finaliza solicitarea dvs.</p><p>Vă rugăm să contactați echipa noastră de asistență.</p>',\n\t},\n\tyes: \"Da\",\n\tno: \"Nu\",\n\tUIT: \"UIT\",\n\tpartners:\"Parteneri\",\n\tgenerate: \"Generează\", // todo translate\n\tadblueLevel: \"Nivel Adblue\",\n\texpandSelected : 'Extinde selecția',\n\tcollapseSelected : 'Restrânge selecția',\n\ttotalKmSelected : 'Total KM selectați',\n\tselectCustomer: 'Alege clientul',\n\tselectGroup: 'Alege grupajul',\n\tselectData: 'Alege starea',\n\tselectColor: 'Alege culoarea',\n\tdisplayName: 'Denumire',\n\tshowVehicles: 'Afișează vehicule',\n\thideVehicles: 'Ascunde vehicule',\n\tshowTraffic: 'Afișează traficul',\n\thideTraffic: 'Ascunde traficul',\n\trequired: 'Obligatoriu',\n\tpages: 'Pagini',\n\tname: 'Nume',\n\trole: 'Rol',\n\troles: 'Roluri',\n\talways: 'Intotdeauna',\n\tnever: 'Niciodata',\n\thideGeofences: 'Ascundere perimetre',\n\tsettingsGeofences: 'Setări perimetre',\n\torderNumber: 'Numar comanda',\n\tsimple: 'Simplu',\n\tmanual: 'Manual',\n\tdynamic: 'Dinamic',\n\tmedium: 'Medii',\n\tbig: 'Mari',\n\tclient: 'Client',\n\tcompany: 'Companie',\n\tengineLoad: 'Sarcina Motor %',\n\tengineLoadShort: 'SM',\n\tnoModuleEmailSms: 'Nu aveți activat modulul de email sau sms',\n\tapplyTo: 'Aplică la',\n\tsameVehicleType: 'Același tip vehicule',\n\tallVehiclesFromGroup: 'Toate vehiculele din divizie',\n\tvehicleNotFound: 'Vehiculul nu a fost găsit',\n\tuserNotFound: 'Utilizatorul nu a fost găsit',\n\ton: 'pornit',\n\toff: 'oprit',\n\tprovider: 'Provider',\n\tallAnothers: 'Toate altele',\n\ttotals: 'Totaluri',\n\tentry: 'Intrare',\n\texit: 'Ieșire',\n\tshowExternalID: 'Arată external ID',\n\tshowFluctuations: 'Afișează fluctuații marcate',\n\thideFluctuations: 'Ascunde fluctuații marcate',\n\tpagination: {\n\t\tfirst: 'Prima pagină',\n\t\tlast: 'Ultima pagină',\n\t\tnext: 'Pagina următoare',\n\t\tprevious: 'Pagina precedentă',\n\t\tof: 'din',\n\t\tresultsPerPage: 'Rezultate pe pagină',\n\t\tgoToPage: 'Mergi la pagina',\n\t\tpageOfTotal: 'Pagina {{page}} din {{total}}',\n\t},\n\ttotal: 'Total',\n\thistoric: 'Istoric',\n\tnow: 'Acum',\n\tchangeDate: 'Schimbă data',\n\tcountry: 'Țara',\n\tstationaryDurationTotal: 'Durata (Total)',\n\tstationaryDurationEngineOn: 'Durata (Motor Pornit)',\n\tstationaryDurationEngineOff: 'Durata (Motor Oprit)',\n\tdurationEngineOn: 'Durata Motor Pornit',\n\tdurationFormat: 'DD[z] HH[h] mm[m] ss[s]',\n\tdurationFormatDDHHmm: 'DD[d] HH[h] mm[m]',\n\tdurationFormatHHmm: 'HH[h] mm[m]',\n\tdurationFormatCharDay: 'z',\n\tdurationFormatCharHour: 'h',\n\temail: 'Email',\n\tgranularity: 'Granulație',\n\ttotalDistance: 'Total distanță',\n\ttotalFuelConsumptionMoving: 'Total consum (în mișcare)',\n\taverageFuelConsumptionMoving: 'Consum mediu (în mișcare)',\n\ttotalDurationStationary: 'Durată staționare',\n\ttotalDurationStationaryEngineOn: 'Durată staționare (cu motor pornit)',\n\taverageFuelConsumptionStationary: 'Consum mediu (în staționare)',\n\tmin3kmDistanceForFuelConsumptionCalculation: 'Consumul se calculează doar pentru distanțe de cel puțin 3 km',\n\tmin5kmDistanceForFuelConsumptionCalculation: 'Consumul se calculează doar pentru distanțe de cel puțin 5 km',\n\tconsumptionCannotBeComputed: 'Consumul nu poate fi calculat, verificați setările vehiculului',\n\tfuelSource: {\n\t\tsensor: 'Sonda',\n\t\tcan: 'CAN',\n\t\tcomputed: 'Calculat',\n\t},\n\tshowGraphic: 'Afișare grafic',\n\tclusterMarkers: 'Grupare Markere',\n\tactiveSince: 'Activ de',\n\tpleaseWait: 'Vă rugăm să așteptați',\n\tprocessingFileData: 'Se procesează datele din fișier',\n\texpand: 'Mărește',\n\tloading: {\n\t\ttext: 'Se încarcă'\n\t},\n\tacl: 'Control access',\n\talertsAndNotifications: 'Alerte și Notificări',\n\tlimit: 'Limita',\n\topenDoorsStatus: 'Stare uși',\n\tdoorsStatus: {\n\t\topen: 'Uși deschise',\n\t\tclosed: 'Uși închise',\n\t},\n\tclosed: 'Închis',\n\topen: 'Deschis',\n\tdoors: {\n\t\tdoorFrontLeft: 'Ușa stânga față',\n\t\tdoorFrontRight: 'Ușa dreapta față',\n\t\tdoorBackLeft: 'Ușa stânga spate',\n\t\tdoorBackRight: 'Ușa dreapta spate',\n\t\tdoorTrunk: 'Ușa spate',\n\t\topen: 'deschisă',\n\t\tclosed: 'închisă',\n\t},\n\topenDoor: {\n\t\t'front-left': 'Ușa din stânga față deschisă', // todo remove after added on map\n\t\t'front-right': 'Ușa din dreapta față deschisă', // todo remove after added on map\n\t\t'back-left': 'Ușa din stânga spate deschisă', // todo remove after added on map\n\t\t'back-right': 'Ușa din dreapta spate deschisă', // todo remove after added on map\n\t\t'trunk': 'Ușa din spate deschisă', // todo remove after added on map\n\t\t'door-front-left': 'Ușa din stânga față deschisă',\n\t\t'door-front-right': 'Ușa din dreapta față deschisă',\n\t\t'door-back-left': 'Ușa din stânga spate deschisă',\n\t\t'door-back-right': 'Ușa din dreapta spate deschisă',\n\t\t'door-trunk': 'Ușa din spate deschisă',\n\t\t'allClosed': 'Toate ușile sunt închise',\n\t\t'na': 'Fără senzori',\n\t\tgeneric: 'Ușă deschisă'\n\t},\n\tfreezerStatus: 'Agregat frigorific',\n\tfreezer: {\n\t\ton: 'Agregat frigorific pornit',\n\t\toff: 'Agregat frigorific oprit',\n\t\tna: 'Fără agregat frigorific',\n\t\tgeneric: 'Agregat frigorific',\n\t},\n\tvehicle: {\n\t\tengineOn: 'Pornit',\n\t\tengineOff: 'Oprit',\n\t\tunreachable: 'Fără semnal',\n\t},\n\tvehiclesStatus: 'Stare vehicule',\n\tvehicleStatus: {\n\t\tengineOn: 'În mișcare',\n\t\tengineOff: 'Oprit',\n\t\tunreachable: 'Fără semnal',\n\t\tunreachableSince: 'Fără semnal de {{status}}',\n\t\tnoLocation: 'Fără dispozitiv atașat',\n\t\tgeneric: 'Stare vehicul',\n\t},\n\ttaxiState: 'Cupola',\n\ttaxiStates: {\n\t\tavailable: 'Liber',\n\t\toccupied: 'Ocupat',\n\t\toff: 'Oprit',\n\t\tna: 'Fără cupola',\n\t},\n\tauxAC: {\n\t\tlabel: \"Climă auxiliară\",\n\t\tauxCooling: \"Răcire auxiliară\",\n\t\tauxHeating: \"Încălzire auxiliară\",\n\t\tvalues: {\n\t\t\ton: \"Pornit\",\n\t\t\toff: \"Oprit\"\n\t\t}\n\t},\n\tpowerExternal: {\n\t\tlabel: \"Alimentare\",\n\t},\n\tlandingPage: 'Pagină de pornire',\n\tlicensePlate: 'Număr înmatriculare',\n\tlicensePlates: 'Numere de înmatriculare',\n\tprevious: 'Precedent',\n\tnext: 'Următor',\n\tnoResults: 'Fără rezultate',\n\tfromDate: 'Din data',\n\tuntil: 'Până în',\n\tstops: 'Opriri',\n\ttemperatureIntervals: 'La fiecare',\n\tinterval: 'Interval',\n\trouteReport: 'Foaie parcurs',\n\tanotherValue: 'Altă valoare',\n\tliters: 'Litri',\n\tconsume: 'Consum',\n\tconsumption: 'Consum',\n\tspeedPerHour: 'Viteza (km/h)',\n\tspeed: 'Viteza',\n\tspeedLimit: 'Limita viteze',\n\taltitude: 'Altitudinea',\n\taltitudeMeters: 'Altitudinea (m)',\n\tfuelLevelLitres: 'Nivel rezervor (l)',\n\tfuelCanLevelLitres: 'Nivel rezervor CAN (l)',\n\trefuel: 'Alimentare',\n\taverageSpeed: 'Viteza medie',\n\tmaxSpeed: 'Viteza maxima',\n\tdistance: 'Distanța',\n\tfuelLevelForPeriod: 'Nivel rezervor pentru perioada',\n\tcanFuelLevel: 'Nivel Rezervor CAN',\n\tfuelLevel: 'Nivel Rezervor',\n\tfuelCanLevel: 'Nivel Rezervor CAN',\n\tfuelConsumption: 'Consum',\n\tcalculateRoute: 'Calculare rută',\n\tdetails: 'Detalii',\n\tnoDetails: 'Fără detalii',\n\tevent_enter: 'Eveniment intrare',\n\tevent_exit: 'Eveniment ieșire',\n\tevent_stationary: 'Eveniment staționare',\n\talert_in: 'Alerta intrare',\n\talert_out: 'Alerta ieșire',\n\talert_transit: 'Alerta tranzit',\n\tback: 'Înapoi',\n\tminValue: 'Valoare minimă',\n\tmaxValue: 'Valoare maximă',\n\taverageValue: 'Valoare medie',\n\tm_settings: {\n\t\tmarkers: 'Setări markeri',\n\t\tmap: 'Setări harta',\n\t\t_: 'Setări'\n\t},\n\tstatusFeed: 'Stare flotă',\n\toneVehicle: 'Vehicul',\n\tvehicles: 'Vehicule',\n\tvehicless: 'vehicul(e)',\n\tgeofences: 'Perimetre',\n\tpois: 'POI-uri',\n\tusers: 'Utilizatori',\n\tdefault: 'Implicit',\n\tdivisions: 'Divizii',\n\tduration: 'Durata',\n\taccount: 'Cont',\n\tpoi: 'POI',\n\tpoiMultiple: 'POI multiple', // TODO: translate\n\ttimetables: 'Orare',\n\tintegrations: 'Integrări',\n\tshare: 'Partajare',\n\tshared: 'Partajate',\n\tdayHours: 'Ore',\n\ttheMinutes: 'Minute',\n\tmonthDays: 'Zile',\n\ttheWeekDays: 'Zile',\n\tday: 'Zi',\n\tweek: 'Săptămâna',\n\tmonth: 'Luna',\n\tevery: 'În fiecare',\n\tmap: 'Harta',\n\ttype: 'Tip',\n\tsearch: 'Caută',\n\tALL: 'TOATE',\n\tok: 'OK',\n\tadd: 'ADAUGĂ',\n\tsave: 'SALVEAZĂ',\n\tsaveSuccess: 'Datele au fost salvate.',\n\tinvite: 'INVITĂ',\n\treactivate: 'REACTIVEAZĂ',\n\tedit: 'MODIFICĂ',\n\tcancel: 'ANULARE',\n\tsend: 'TRIMITE',\n\ttimezone: 'Fus Orar',\n\tdelete: 'ȘTERGE',\n\taddFueling: 'Adaugă alimentare',\n\taddStoppingPurpose: 'Adaugă Scop Staționare',\n\tload: 'Încărcare',\n\tunload: 'Descărcare',\n\tstationary: 'Staționare',\n\taclGroup: 'Grup',\n\taclGroups: 'Grupuri',\n\taclVehicle: 'vehicul',\n\taclVehicles: 'vehicule',\n\tallVehicles: 'Toate vehiculele',\n\tselected: 'selectate',\n\tsubscribe: 'Subscribe',\n\tacceleration: 'Accelerația',\n\trpm: 'RPM',\n\ttemperature: 'Temperatură',\n\tcelsiusTemperature: 'Temperatură (°C)',\n\tsensors: 'Senzori',\n\tsensor: {\n\t\t'temperature': 'Temperatură',\n\t\t'temperature-1': 'Senzor 1',\n\t\t'temperature-2': 'Senzor 2',\n\t\t'temperature-3': 'Senzor 3',\n\t\t'temperature-4': 'Senzor 4',\n\t\t'temperature-5': 'Senzor 5',\n\t\t'temperature-6': 'Senzor 6',\n\t\t'temperature-7': 'Senzor 7',\n\t\t'temperature-8': 'Senzor 8',\n\t},\n\taccelerationG: 'Accelerație',\n\talert: 'Alertă',\n\tnotification: 'Notificare',\n\tdate: 'Data',\n\thour: 'Ora',\n\trecurrent: 'Recurent',\n\trecurrentEachWeekDay: 'Recurent săptămânal, în fiecare {{day}}',\n\tdisabled: 'Dezactivat',\n\tdriver: 'Șofer',\n\tdrivers: 'Șoferi',\n\tdriverss: 'șofer(i)',\n\tnoDriver: 'Fără șofer',\n\tunselectAllDrivers: 'Șterge selecția',\n\tselectAllDrivers: 'Selectează toți',\n\tallDrivers: 'Toți șoferii',\n\tselectedDrivers: 'șoferi selectați',\n\tselectFile: 'Selectează fișier',\n\tselectVehicles: 'Selectează vehicule',\n\tselectVehicle: 'Selectează vehicul',\n\tselectFilters: 'Selectează filtre',\n\tselectedFilters: 'filtre selectate',\n\tlocations: 'Locații',\n\tunknownLocation: 'Locație necunoscută',\n\tunknown: 'Necunoscut',\n\tvirtualWorkTime: 'Timp lucru virtual',\n\tvirtualOdometer: 'Odometru virtual',\n\tcanOdometer: 'Odometru CAN',\n\todometer: 'Odometru',\n\tinsertEmailAddress: 'Introduceți adresa de email',\n\tengineState: 'Motor',\n\trouteType: {\n\t\tstationary: 'Staționare',\n\t\tmoving: 'În mișcare',\n\t},\n\ttime: {\n\t\tperiod: 'Perioada',\n\t\ttoday: 'Astăzi',\n\t\tcurrentWeek: 'Săptămâna curentă',\n\t\tcurrentMonth: 'Luna curentă',\n\t\tyesterday: 'Ieri',\n\t\tlastWeek: 'Săptămâna trecută',\n\t\tlastMonth: 'Luna trecută'\n\t},\n\tweekDays: {\n\t\tsunday: 'duminică',\n\t\tmonday: 'luni',\n\t\ttuesday: 'marți',\n\t\twednesday: 'miercuri',\n\t\tthursday: 'joi',\n\t\tfriday: 'vineri',\n\t\tsaturday: 'sâmbătă'\n\t},\n\tshortDays: {\n\t\tsunday: 'Dum',\n\t\tmonday: 'Lun',\n\t\ttuesday: 'Mar',\n\t\twednesday: 'Mie',\n\t\tthursday: 'Joi',\n\t\tfriday: 'Vin',\n\t\tsaturday: 'Sam'\n\t},\n\tmonths: {\n\t\tjanuary: 'Ianuarie',\n\t\tfebruary: 'Februarie',\n\t\tmarch: 'Martie',\n\t\tapril: 'Aprilie',\n\t\tmay: 'Mai',\n\t\tjune: 'Junie',\n\t\tjuly: 'Julie',\n\t\taugust: 'August',\n\t\tseptember: 'Septemberie',\n\t\toctober: 'Octombrie',\n\t\tnovember: 'Noiembrie',\n\t\tdecember: 'Decembrie'\n\t},\n\tshortMonths: {\n\t\tjanuary: 'Ian',\n\t\tfebruary: 'Feb',\n\t\tmarch: 'Mar',\n\t\tapril: 'Apr',\n\t\tmay: 'Mai',\n\t\tjune: 'Jun',\n\t\tjuly: 'Jul',\n\t\taugust: 'Aug',\n\t\tseptember: 'Sep',\n\t\toctober: 'Oct',\n\t\tnovember: 'Nov',\n\t\tdecember: 'Dec'\n\t},\n\tmenu: 'Meniu',\n\texportSvg: 'Exportă SVG',\n\texportPng: 'Exportă PNG',\n\texportCsv: 'Download CSV', // TODO: translate\n\tselection: 'Selectare',\n\tselectionZoom: 'Selectare Zoom',\n\tzoomIn: 'Mărește',\n\tzoomOut: 'Micșorează',\n\tpan: 'Panoramare',\n\treset: 'Resetare Zoom',\n\tdashboard: {\n\t\theatmap: {\n\t\t\ttitle: {\n\t\t\t\tdistance: 'Activitate în ultimele 24 h',\n\t\t\t\twork: 'Lucru în ultimele 24 h',\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\tdistance: 'Distanța',\n\t\t\t\twork: 'Lucru',\n\t\t\t},\n\t\t\tunits: {\n\t\t\t\tkm: 'km',\n\t\t\t\tmin: 'min',\n\t\t\t},\n\t\t\tshowMore: 'Arată mai multe',\n\t\t\tshowLess: 'Arată mai puține',\n\t\t},\n\t\tdailyKm: 'Total km ultimele 24h',\n\t\tdailyConsumption: 'Consum ultimele 24h',\n\t\tmonthlyKm: 'Km parcurși în luna curentă',\n\t\tmonthlyConsumption: 'Consum total în luna curentă',\n\t\tcars: 'mașini',\n\t\talerts: 'Alerte',\n\t\tnotifications: 'Notificări',\n\t\tshowAlerts: 'Toate alertele',\n\t\tshowNotifications: 'Toate notificările',\n\t\tshowAllVehicles: 'Arată toate vehiculele',\n\t\tstoped: 'oprit',\n\t\tmoving: 'în mișcare',\n\t\tcontact: 'Ai o idee, propunere sau reclamație?',\n\t\tcontactLink: 'Contactează-ne',\n\t\tcontactTitle: 'Contact',\n\t\tcontactSendBtn: 'Trimite',\n\t\tcontactMsgHint: 'Adaugă mesaj',\n\t\terrorOnSendingMessage: 'A apărut o eroare în încercarea de a trimite mesajul dvs.',\n\t\tplaseTryAgainLater: 'Vă rugăm să încercați din nou mai târziu',\n\t\temptyMessage: 'Fără mesaj',\n\t\tpleaseInputMessage: 'Vă rugăm să introduceți mesajul dvs.',\n\t\tnoAlertData: 'Nu sunt alerte',\n\t\tnoNotificationData: 'Nu sunt notificări',\n\t\tcomingSoon: 'În curând',\n\t\tnoData: 'Nu sunt date',\n\t\tshowDriver: 'Nume șofer',\n\t\tshowLicensePlate: 'Număr de înmatriculare',\n\t\tliveStatus: {\n\t\t\tcupola: 'Cupola',\n\t\t\tcupolaState: {\n\t\t\t\tengineOn: 'Liber',\n\t\t\t\tengineOff: 'Ocupat',\n\t\t\t\tnone: 'Oprit',\n\t\t\t\tna: 'Fără cupola',\n\t\t\t},\n\t\t\tvehicle: 'Vehicul',\n\t\t\taddress: 'Adresa / POI',\n\t\t\tlastPOI: 'Ultimul POI',\n\t\t\tnextPlannedPOI: 'Urmatorul POI planificat',\n\t\t\tavailability: 'Disponibilitate',\n\t\t\tstatus: 'Stare',\n\t\t\tspeed: 'Viteză',\n\t\t\tfuelLevel: 'Combustibil',\n\t\t\ttemperature: 'Agregat',\n\t\t\tdoors: 'Uși',\n\t\t\tseal: 'Sigiliu',\n\t\t\tdeactivateSealModal: {\n\t\t\t\theader: 'Dezactivare sigiliu',\n\t\t\t\tcontent: 'Doriți să dezactivați sigiliul {{sealNumber}}?',\n\t\t\t}\n\t\t},\n\t\ttacho: {\n\t\t\tvehicle: 'Vehicul',\n\t\t\tdriver: 'Șofer',\n\t\t\tactivity: 'Activitate',\n\t\t\ttime: 'Durata',\n\t\t\tdistance: 'Distanța',\n\t\t\tweek: 'Săptămâna',\n\t\t\tday: 'Ziua',\n\t\t\tdriveTimeLeft: 'Timp condus rămas (pauză)',\n\t\t\tdriveTimeLeftDay: 'Timp condus rămas (zi)',\n\t\t\tdriveTimeLeftWeek: 'Timp condus rămas (săpt.)',\n\t\t\tdriveTimeNextWeek: 'Timp condus rămas (săpt. urm.)',\n\t\t\tdrivingCycle: 'Ciclu de conducere',\n\t\t\tdrivingDaily: 'Timp de condus rămas per zi',\n\t\t\tdrivingWeekly: 'Timp de condus rămas din săptămână',\n\t\t\tamplitudeDaily: 'Ore rămase din amplitudine',\n\t\t\ttotalRecovery: 'Numărul orelor care trebuie recuperate',\n\t\t},\n\t\tlogout: 'Logout'\n\t},\n\tdocument: {\n\t\ttype: {\n\t\t\tvehicle: {\n\t\t\t\tRCA: 'RCA',\n\t\t\t\tCASCO: 'CASCO',\n\t\t\t\tRovinieta: 'Rovinieta',\n\t\t\t\tITADR: 'ITADR',\n\t\t\t\tAltele: 'Altele',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tpermis_conducere: 'Permis de conducere',\n\t\t\t\tatestat: 'Atestat',\n\t\t\t\taviz_medical: 'Aviz Medical',\n\t\t\t\tAltele: 'Altele',\n\t\t\t},\n\t\t},\n\t},\n\tpurposes: {\n\t\tnoPurpose: 'Fără scop',\n\t\tcustomers: 'Deplasări la clienți',\n\t\tsuppliers: 'Deplasări la furnizori',\n\t\tprospectingMarket: 'Prospectarea pieței',\n\t\tservice: 'Deplasări pentru instalări',\n\t\twork: 'Deplasări pentru service',\n\t\ttraining: 'Deplasări la traininguri',\n\t\tcustoms: 'Deplasări la vama',\n\t\tbank: 'Deplasări la banca',\n\t\ttaxAuthorities: 'Deplasări la autoritățile fiscale',\n\t\tpersonalInterest: 'Deplasare în interes personal',\n\t},\n\troutes: 'Rute',\n\troutesEta: 'Rute-ETA',\n\ttacho: {\n\t\tstatus: 'Tahograf',\n\t\tactivity: 'Activitate',\n\t\tweek: 'Săptămâna',\n\t\tday: 'Ziua',\n\t\tdriver: {\n\t\t\t1: 'Șofer 1',\n\t\t\t2: 'Șofer 2',\n\t\t},\n\t\tactivities: {\n\t\t\t'-1': 'Necunoscut',\n\t\t\t0: 'Odihnă',\n\t\t\t1: 'Disponibil',\n\t\t\t2: 'Lucru',\n\t\t\t3: 'Condus',\n\t\t\t4: 'Eroare',\n\t\t\t5: 'Indisponibil',\n\t\t},\n\t\tactivities2: {\n\t\t\tavailable: 'Disponibil',\n\t\t\tdriving: 'Condus',\n\t\t\tworking: 'Lucru',\n\t\t\tbreak: 'Pauză scurtă',\n\t\t\trest: 'Odihnă',\n\t\t\tunknown: 'Indisponibil',\n\t\t}\n\t},\n\tobu: {\n\t\tbalance: 'Sold',\n\t\tsection: 'Secțiune drum',\n\t\tstatuses: {\n\t\t\t0: 'Normal',\n\t\t\t1: 'Scăzut',\n\t\t\t2: 'Insuficient',\n\t\t}\n\t},\n\tvehicleList: {\n\t\ttacho: {\n\t\t\tdriveTimeLeft: 'Timp condus rămas (pauză)',\n\t\t\tdriveTimeLeftDay: 'Timp condus rămas (zi)',\n\t\t\tdriveTimeLeftWeek: 'Timp condus rămas (săpt.)',\n\t\t\tdriveTimeNextWeek: 'Timp condus rămas (săpt. urm.)',\n\t\t}\n\t},\n\tsignup: {\n\t\tinvitation: {\n\t\t\texpired: 'Invitația a expirat. Vă rugăm contactați administratorul.'\n\t\t}\n\t},\n\tmaintenance: {\n\t\trules: 'Reguli mentenanta',\n\t\tlist: 'Mentenanțe'\n\t},\n\t'temporary-links': 'Link-uri temporare',\n}\n","import Mixin from '@ember/object/mixin'\nimport { inject as service } from '@ember/service'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\n\nexport default Mixin.create(AuthenticatedRouteMixin, {\n\tmenuService: service('main-menu'),\n\n\tbeforeModel() {\n\t\tlet route = this.get('routeName')\n\t\tlet category = route.indexOf('.') != -1 ? route.substring(0, route.indexOf('.')) : route\n\n\t\tlet categoryCapitalized = category.charAt(0).toUpperCase() + category.slice(1)\n\t\tif (this.get(`menuService.has${categoryCapitalized}`)) {\n\t\t\tif (!this.get(`menuService.${category}`).mapBy('route').includes(route)) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn('Access denied to page because of user module or role page restriction', route)\n\n\t\t\t\tthis.transitionTo(this.get(`menuService.${category}`)[0].route) // Load first category page available\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconsole.info(`category:${category} has no value REDIRECTING TO HOME`) // eslint-disable-line no-console\n\t\t\tthis.transitionTo('index')\n\t\t}\n\t},\n})\n","import Ember from 'ember'\n\nexport default Ember.Mixin.create({\n\t/**\n\t * Return an array of labels.\n\t * Lines are identified by labels.\n\t */\n\tgetLinesLabels(data) {\n\t\tif (Ember.isEmpty(data)) { return null }\n\t\tlet labels = []\n\t\tdata.forEach(item => {\n\t\t\tif (labels.indexOf(item.label) > -1) { return false }\n\t\t\tlabels.push(item.label)\n\t\t})\n\t\treturn labels\n\t},\n\n\tremoveConsecutiveSameValues(data, column) {\n\t\tif (Ember.isEmpty(data)) { return null }\n\t\tlet filtered = data.filter((item, pos, arr) => {\n\t\t\tif (arr[pos + 1]) {\n\t\t\t\treturn pos === 0 || (item[column] !== arr[pos-1][column] || item[column] !== arr[pos + 1][column])\n\t\t\t} else {\n\t\t\t\treturn true\n\t\t\t}\n\t\t})\n\n\t\treturn filtered\n\t}\n})\n","import Mixin from '@ember/object/mixin'\nimport moment from 'moment'\nimport { inject as service } from '@ember/service'\n\nexport default Mixin.create({\n\ti18n: service(),\n\tcurrentUser: service('current-user'),\n\n    /**\n     * Return duration in format H[h] mm[m] ss[s]\"\n     * @param {number} diff miliseconds\n     */\n\tdurationAsDHMS (diff) {\n\t\tconst i18n = this.get('i18n')\n\t\tlet days = Math.trunc(moment.duration(diff).asDays())\n\t\tlet hours = Math.trunc(moment.duration(diff).asHours())\n\t\tlet minutes = Math.trunc(moment.duration(diff).asMinutes())\n\t\t// let seconds = Math.trunc(moment.duration(diff).asSeconds())\n\n\t\tconst dayChar = i18n.t('durationFormatCharDay')\n\t\tconst hourChar = i18n.t('durationFormatCharHour')\n\t\tif (days > 0) {\n\t\t\treturn `${days}${dayChar} ${(hours - (24 * days))}${hourChar} ${moment.utc(diff).format(\"mm[m] ss[s]\")}`\n\t\t}\n\t\telse if (hours > 0) {\n\t\t\treturn moment.utc(diff).format(`H[${hourChar}] mm[m] ss[s]`)\n\t\t}\n\t\telse if (minutes > 0) {\n\t\t\treturn moment.utc(diff).format(\"mm[m] ss[s]\")\n\t\t}\n\t\telse {\n\t\t\treturn moment.utc(diff).format(\"ss[s]\")\n\t\t}\n\t},\n\n\tdurationAsDHMSShort (diff) {\n\t\tconst i18n = this.get('i18n')\n\t\tlet days = Math.trunc(moment.duration(diff).asDays())\n\t\tlet hours = Math.trunc(moment.duration(diff).asHours())\n\t\tlet minutes = Math.trunc(moment.duration(diff).asMinutes())\n\n\t\tconst dayChar = i18n.t('durationFormatCharDay')\n\t\tconst hourChar = i18n.t('durationFormatCharHour')\n\t\tif (days > 0) {\n\t\t\treturn `${days}${dayChar} ${(hours - (24 * days))}${hourChar}`\n\t\t}\n\t\telse if (hours > 0) {\n\t\t\treturn moment.utc(diff).format(`H[${hourChar}] mm[m] ss[s]`)\n\t\t}\n\t\telse if (minutes > 0) {\n\t\t\treturn moment.utc(diff).format(\"mm[m] ss[s]\")\n\t\t}\n\t\telse {\n\t\t\treturn moment.utc(diff).format(\"ss[s]\")\n\t\t}\n\t},\n\n\tdurationAsHM (time, unit) {\n\t\tconst hourChar = this.get('i18n').t('durationFormatCharHour')\n\t\treturn moment.duration(time, unit).format(`H[${hourChar}] m[m]`)\n\t},\n\n\t// same function as durationAsHM but value are only hours and tooltip is full\n\tonlyHoursAndTooltipFull (time, unit) {\n\t\tconst hourChar = this.get('i18n').t('durationFormatCharHour')\n\t\treturn {\n\t\t\tvalue: moment.duration(time, unit).format(`H[${hourChar}]`),\n\t\t\ttooltip: moment.duration(time, unit).format(`H[${hourChar}] m[m]`)\n\t\t}\n\t},\n\n\t/**\n\t * if the date is endOfDay, add 1 ms, because the routes are cut at 00:00 wich is the first ms of the next day.\n\t * @param {number} date timestamp\n\t */\n\tgetRealEndDate (date) {\n\t\tif (!date) return date\n\t\tconst lastMsOfDay = moment(date).endOf('day').valueOf()\n\t\tconst lastMinOfDay = moment(lastMsOfDay).startOf('minute').valueOf()\n\t\treturn date >= lastMinOfDay ? lastMsOfDay + 1 : date\n\t},\n\n\tconvertDateToCompanyTZ (ts){\n\t\tconst tz = this.get('currentUser.timezone')\n\t\tconst date = moment(ts).format('YYYY-MM-DD HH:mm:ss.SSS')\n\t\tconst convertedDate = moment.tz(date, tz).valueOf()\n\t\treturn convertedDate\n\t},\n\n\tconvertDateToBrowserTZ (ts){\n\t\tconst tz = this.get('currentUser.timezone')\n\t\treturn moment(moment.tz(ts, tz).format('YYYY-MM-DD HH:mm:ss.SSS')).valueOf()\n\t},\n\n\tformatDateToCompanyTZ (date, format){\n\t\tconst tz = this.get('currentUser.timezone')\n\t\treturn moment.tz(date, tz).format(format)\n\t},\n\n\tformatDateToUTC (date){\n\t\treturn moment.utc(moment(date).format('YYYY-MM-DD HH:mm')).valueOf()\n\t},\n})\n","import Ember from 'ember'\n\nexport default Ember.Mixin.create({\n    /**\n     * function for get the center of and array of coordinates.\n     * @param {array} latlngs array of coordinates {lat, lng}\n     * @returns {lat,lng} center\n     */\n    getCenter(latlngs) {\n        if (!latlngs || !Array.isArray(latlngs) || latlngs.length < 3) { return false }\n        let pts = latlngs\n        let off = pts[0]\n        let twicearea = 0\n        let x = 0\n        let y = 0\n        let nPts = pts.length\n        let p1, p2\n        let f\n        for (let i = 0, j = nPts - 1; i < nPts; j = i++) {\n            p1 = pts[i]\n            p2 = pts[j]\n            f = (p1.lat - off.lat) * (p2.lng - off.lng) - (p2.lat - off.lat) * (p1.lng - off.lng)\n            twicearea += f\n            x += (p1.lat + p2.lat - 2 * off.lat) * f\n            y += (p1.lng + p2.lng - 2 * off.lng) * f\n        }\n        f = twicearea * 3\n        return {\n            lat: x / f + off.lat,\n            lng: y / f + off.lng\n        }\n    },\n\n    /**\n     * Takes two points coordinates and returns distance between them.\n     * @return {number} meters\n     */\n    getDistance(latlng1, latlng2) {\n        let lat1 = latlng1.lat\n        let lng1 = latlng1.lng\n        let lat2 = latlng2.lat\n        let lng2 = latlng2.lng\n        var pi = 0.017453292519943295;    // Math.PI / 180\n        var cos = Math.cos;\n        var a = 0.5 - cos((lat2 - lat1) * pi) / 2 + cos(lat1 * pi) * cos(lat2 * pi) * (1 - cos((lng2 - lng1) * pi)) / 2;\n\n        return 12742000 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km   added the extra zeros for meters\n    },\n})\n","import ModelValidator from 'ember-model-validator/mixins/model-validator';\n\nexport default ModelValidator;\n","import ObjectValidator from 'ember-model-validator/mixins/object-validator';\n\nexport default ObjectValidator;\n","import Mixin from '@ember/object/mixin'\nimport { camelize } from '@ember/string'\nimport { isArray } from '@ember/array';\nimport { inject as service } from '@ember/service'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\nimport scrollingPaddingMixin from 'tracknamic-smb/mixins/scrolling-padding'\n\nconst cngLiterToKg = 0.14\n\nexport default Mixin.create(scrollingPaddingMixin, datesMixin, {\n\ti18n: service(),\n\tcurrentUser: service('current-user'),\n\n\t/**\n\t * return value, popup and display based on values and priorities\n\t * @param {*} showPercentCNG option for cng vehicles to show the % value on popup or display\n\t * @param {*} canVal (priority 1) if can fail show calculated\n\t * @param {*} sensorVal (priority 2) if sensor fail: show can. if can fail show calculated\n\t * @param {*} calculatedVal (priority 3) if no sensor and no can show calculated\n\t * @param {*} vehicle ember object of vehicle from DS, can be pojo too\n\t * @param {*} alwaysShowCalculatedValue obvious\n\t * @param {*} isTotal change the string of popup\n\t */\n\tfuelValuePopup(showPercentCNG, sensorVal, canVal, calculatedVal, vehicle, alwaysShowCalculatedValue, isTotal) {\n\t\tsensorVal = sensorVal ? Number(sensorVal) : 0\n\t\tcanVal = canVal ? Number(canVal) : 0\n\t\tcalculatedVal = calculatedVal ? Number(calculatedVal) : 0\n\t\tlet finalVal = { value: 0, popup: '', display: 0.00 }\n\t\tif (!vehicle) { return finalVal }\n\t\tlet hasProbe, hasCan, isCng, fuelCapacity\n\t\tlet fuelUnit = 'L'\n\t\tlet addCalculatedPopup = alwaysShowCalculatedValue ?? false\n\t\tlet setCalculatedAsValueAndDisplay = false\n\t\tconst cngUnit = this.get('currentUser.cngUnit') || 'weight'\n\n\t\tif (vehicle.get) {\n\t\t\thasProbe = vehicle.get('hasProbe')\n\t\t\thasCan = vehicle.get('hasCan')\n\t\t\tfuelUnit = vehicle.get('fuel.unit')\n\t\t\tfuelCapacity = vehicle.get('fuel.capacity')\n\t\t\tisCng = vehicle.get('isCng')\n\t\t}\n\t\telse {\n\t\t\thasProbe = vehicle.hasProbe\n\t\t\thasCan = vehicle.hasCan\n\t\t\tfuelUnit = vehicle.fuel.unit\n\t\t\tfuelCapacity = vehicle.fuel.capacity\n\t\t\tisCng = vehicle.isCng\n\t\t}\n\t\tlet i18n = this.get('i18n')\n\n\t\tlet sensorString = i18n.t(isTotal ? 'reports.headerFields.totals.sensor' : 'reports.headerFields.sensorFuelConsumption')\n\t\tlet canString = i18n.t(isTotal ? 'reports.headerFields.totals.can' : 'reports.headerFields.canFuelConsumption')\n\t\tlet calculatedString = i18n.t(isTotal ? 'reports.headerFields.totals.computed' : 'reports.headerFields.fuelConsumption')\n\n\t\tif (hasCan) { // priority 1 CAN\n\t\t\tlet canFail = !canVal && calculatedVal || (hasProbe && !canVal && sensorVal)\n\t\t\tlet cng\n\t\t\tif (isCng) {\n\t\t\t\tcng = this.getCngValues(canVal, fuelCapacity, showPercentCNG)\n\t\t\t\tfinalVal.popup += `${canString} (CNG): ${cng.display.join('  |  ')}\\n`\n\t\t\t} else {\n\t\t\t\tfinalVal.popup += `${canString} ${canVal.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t}\n\t\t\tif (!canFail) {\n\t\t\t\tfinalVal.value = canVal\n\t\t\t\tif (isCng) { // only can values\n\t\t\t\t\tfinalVal.display = cngUnit === 'percent' && showPercentCNG && fuelCapacity ? cng.display[2] : cngUnit === 'weight' ? cng.display[1] : cng.display[0]\n\t\t\t\t} else {\n\t\t\t\t\tfinalVal.display = `${canVal.toFixed(2)} ${fuelUnit}`\n\t\t\t\t}\n\t\t\t\tif (hasProbe) {\n\t\t\t\t\tfinalVal.popup += `${sensorString} ${sensorVal.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\t}\n\t\t\t}\n\t\t\telse { // fail prioirty 1 CAN\n\t\t\t\tif (hasProbe) { // if has priority 2 Sensor\n\t\t\t\t\tlet sensorFail = !sensorVal && calculatedVal\n\t\t\t\t\tfinalVal.popup += `${sensorString} ${sensorVal.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\t\tif (!sensorFail) {\n\t\t\t\t\t\tfinalVal.value = sensorVal\n\t\t\t\t\t\tfinalVal.display = `${sensorVal.toFixed(2)} ${fuelUnit}`\n\t\t\t\t\t}\n\t\t\t\t\telse { // fail prioirty 2 Sensor\n\t\t\t\t\t\tsetCalculatedAsValueAndDisplay = true\n\t\t\t\t\t\taddCalculatedPopup = true\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetCalculatedAsValueAndDisplay = true\n\t\t\t\t\taddCalculatedPopup = true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (hasProbe) { // if has priority 2 Sensor\n\t\t\tlet sensorFail = !sensorVal && calculatedVal\n\t\t\tfinalVal.popup += `${sensorString} ${sensorVal.toFixed(2)} ${fuelUnit}\\n`\n\t\t\tif (!sensorFail) {\n\t\t\t\tfinalVal.value = sensorVal\n\t\t\t\tfinalVal.display = `${sensorVal.toFixed(2)} ${fuelUnit}`\n\t\t\t}\n\t\t\telse { // fail prioirty 2 Sensor\n\t\t\t\tsetCalculatedAsValueAndDisplay = true\n\t\t\t\taddCalculatedPopup = true\n\t\t\t}\n\t\t}\n\t\telse { // if noCan and noProbe >> show calculated\n\t\t\tsetCalculatedAsValueAndDisplay = true\n\t\t\taddCalculatedPopup = true\n\t\t}\n\t\tif (setCalculatedAsValueAndDisplay) {\n\t\t\tfinalVal.value = calculatedVal\n\t\t\tif (isCng) {\n\t\t\t\tconst cngCalculated = this.getCngValues(calculatedVal, fuelCapacity, showPercentCNG)\n\t\t\t\tfinalVal.display = cngUnit === 'percent' && showPercentCNG && fuelCapacity ? cngCalculated.display[2] : cngUnit === 'weight' ? cngCalculated.display[1] : cngCalculated.display[0]\n\t\t\t} else {\n\t\t\t\tfinalVal.display = `${calculatedVal.toFixed(2)} ${fuelUnit}`\n\t\t\t}\n\t\t}\n\t\tif (addCalculatedPopup) {\n\t\t\tif (isCng) {\n\t\t\t\tconst cngCalculated = this.getCngValues(calculatedVal, fuelCapacity, showPercentCNG)\n\t\t\t\tfinalVal.popup += `${calculatedString} (CNG): ${cngCalculated.display.join('  |  ')}\\n`\n\t\t\t} else {\n\t\t\t\tfinalVal.popup += `${calculatedString} ${calculatedVal.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t}\n\t\t}\n\t\treturn finalVal\n\t},\n\n\t/**\n\t * function to add spaces between or after a string until string.length = max\n\t * @param {String} string \n\t * @param {Number} max the length of string with added spaces\n\t * @param {Boolean} after \n\t * @returns {String} \n\t */\n\taddSpaces(string, max, after = false) {\n\t\tif (!string || !max) return string\n\t\tconst length = string.length\n\t\tif (!length || length >= max) return string\n\t\tif (after) return string + new Array(max - length + 1).join(' ')\n\t\treturn new Array(max - length + 1).join(' ') + string\n\t},\n\n\t/**\n\t * get cng values in liters, kg, %\n\t * @param {Number} can value in liters\n\t * @param {Number} maxCapacity fuel capacity\n\t * @returns {values:[], display:[]}\n\t */\n\tgetCngValues(can, maxCapacity, showPercent) {\n\t\tconst litersVal = Number(can)\n\t\tconst liters = Number(can).toFixed(2) + 'L'\n\t\tconst kgVal = litersVal * cngLiterToKg\n\t\tconst kg = Number(kgVal).toFixed(2) + 'Kg'\n\t\tif (!showPercent) return { values: [litersVal, kgVal], display: [liters, kg] }\n\t\tconst percentVal = Number(can * 100 / maxCapacity)\n\t\tconst percent = (maxCapacity ? percentVal.toFixed(0) : '--') + '%'\n\t\treturn { values: [litersVal, kgVal, percentVal], display: [liters, kg, percent] }\n\t},\n\n\t/**\n\t * return value, popup and display based on values and priorities\n\t * @param {*} showPercentCNG option for cng vehicles to show the % value on popup or display\n\t * @param {*} canVal (priority 1) if can fail show calculated\n\t * @param {*} sensorVal (priority 2) if sensor fail: show can. if can fail show calculated\n\t * @param {*} calculatedVal (priority 3) if no sensor and no can show calculated\n\t * @param {*} vehicle ember object of vehicle from DS, can be pojo too\n\t * @param {*} alwaysShowCalculatedValue obvious\n\t * @param {*} isTotal change the string of popup\n\t */\n\tfuelValuePopupWithStationary(showPercentCNG, sensorMoving, canMoving, calculatedMoving, sensorStationary, canStationary, calculatedStationary, vehicle, alwaysShowCalculatedValue, isTotal) {\n\t\tsensorMoving = sensorMoving ? Number(sensorMoving) : 0\n\t\tcanMoving = canMoving ? Number(canMoving) : 0\n\t\tcalculatedMoving = calculatedMoving ? Number(calculatedMoving) : 0\n\t\tsensorStationary = sensorStationary ? Number(sensorStationary) : 0\n\t\tcanStationary = canStationary ? Number(canStationary) : 0\n\t\tcalculatedStationary = calculatedStationary ? Number(calculatedStationary) : 0\n\n\t\tlet sensor = sensorMoving + sensorStationary\n\t\tlet can = canMoving + canStationary\n\t\tlet calculated = calculatedMoving + calculatedStationary\n\n\t\tlet finalVal = { value: 0, popup: '', display: 0.00 }\n\t\tif (!vehicle) { return finalVal }\n\t\tlet hasProbe, hasCan, isCng, fuelCapacity\n\t\tlet fuelUnit = 'L'\n\t\tlet addCalculatedPopup = alwaysShowCalculatedValue ?? false\n\t\tlet setCalculatedAsValueAndDisplay = false\n\t\tconst cngUnit = this.get('currentUser.cngUnit') ? this.get('currentUser.cngUnit') : 'volume'\n\n\t\tif (vehicle.get) {\n\t\t\thasProbe = vehicle.get('hasProbe')\n\t\t\thasCan = vehicle.get('hasCan')\n\t\t\tfuelUnit = vehicle.get('fuel.unit')\n\t\t\tfuelCapacity = vehicle.get('fuel.capacity')\n\t\t\tisCng = vehicle.get('isCng')\n\t\t}\n\t\telse {\n\t\t\thasProbe = vehicle.hasProbe\n\t\t\thasCan = vehicle.hasCan\n\t\t\tfuelUnit = vehicle.fuel.unit\n\t\t\tfuelCapacity = vehicle.fuel.capacity\n\t\t\tisCng = vehicle.isCng\n\t\t}\n\t\tlet i18n = this.get('i18n')\n\n\t\tlet sensorString = i18n.t(isTotal ? 'reports.headerFields.totals.sensor' : 'reports.headerFields.sensorFuelConsumption')\n\t\tlet canString = i18n.t(isTotal ? 'reports.headerFields.totals.can' : 'reports.headerFields.canFuelConsumption')\n\t\tlet calculatedString = i18n.t(isTotal ? 'reports.headerFields.totals.computed' : 'reports.headerFields.fuelConsumption')\n\t\tlet sensorStationaryString = i18n.t(isTotal ? 'reports.headerFields.totals.sensorStationary' : 'reports.headerFields.sensorFuelConsumptionStationary')\n\t\tlet canStationaryString = i18n.t(isTotal ? 'reports.headerFields.totals.canStationary' : 'reports.headerFields.canFuelConsumptionStationary')\n\t\tlet calculatedStationaryString = i18n.t(isTotal ? 'reports.headerFields.totals.computedStationary' : 'reports.headerFields.fuelConsumptionStationary')\n\t\tlet sensorMovingString = i18n.t(isTotal ? 'reports.headerFields.totals.sensorMoving' : 'reports.headerFields.sensorFuelConsumptionMoving')\n\t\tlet canMovingString = i18n.t(isTotal ? 'reports.headerFields.totals.canMoving' : 'reports.headerFields.canFuelConsumptionMoving')\n\t\tlet calculatedMovingString = i18n.t(isTotal ? 'reports.headerFields.totals.computedMoving' : 'reports.headerFields.fuelConsumptionMoving')\n\n\t\tif (hasCan) { // priority 1 CAN\n\t\t\tlet canFail = !can && calculated || (hasProbe && !can && sensor)\n\t\t\tlet cng\n\t\t\tif (isCng) {\n\t\t\t\tcng = this.getCngValues(can, fuelCapacity, showPercentCNG)\n\t\t\t\tconst cngMovingDisplay = this.getCngValues(canMoving, fuelCapacity, showPercentCNG).display.map((item, index) => this.addSpaces(item, cng.display[index].length))\n\t\t\t\tconst cngStationaryDisplay = this.getCngValues(canStationary, fuelCapacity, showPercentCNG).display.map((item, index) => this.addSpaces(item, cng.display[index].length))\n\n\t\t\t\tfinalVal.popup += `${canString} (CNG): ${cng.display.join('  |  ')}\\n`\n\t\t\t\tfinalVal.popup += `${canMovingString} (CNG): ${cngMovingDisplay.join('  |  ')}\\n`\n\t\t\t\tfinalVal.popup += `${canStationaryString} (CNG): ${cngStationaryDisplay.join('  |  ')}\\n`\n\t\t\t} else {\n\t\t\t\tfinalVal.popup += `${canString} ${can.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\tfinalVal.popup += `${canMovingString} ${canMoving.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\tfinalVal.popup += `${canStationaryString} ${canStationary.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t}\n\t\t\tif (!canFail) {\n\t\t\t\tfinalVal.value = can\n\t\t\t\tif (isCng) { // only can values\n\t\t\t\t\tfinalVal.display = cngUnit === 'percent' && showPercentCNG && fuelCapacity ? cng.display[2] : cngUnit === 'weight' ? cng.display[1] : cng.display[0]\n\t\t\t\t} else {\n\t\t\t\t\tfinalVal.display = `${can.toFixed(2)} ${fuelUnit}`\n\t\t\t\t}\n\t\t\t\tif (hasProbe) {\n\t\t\t\t\tfinalVal.popup += `${sensorString} ${sensor.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\t\tfinalVal.popup += `${sensorMovingString} ${sensorMoving.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\t\tfinalVal.popup += `${sensorStationaryString} ${sensorStationary.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\t}\n\t\t\t}\n\t\t\telse { // fail prioirty 1 CAN\n\t\t\t\tif (hasProbe) { // if has priority 2 Sensor\n\t\t\t\t\tlet sensorFail = !sensor && calculated\n\t\t\t\t\tfinalVal.popup += `${sensorString} ${sensor.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\t\tfinalVal.popup += `${sensorMovingString} ${sensorMoving.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\t\tfinalVal.popup += `${sensorStationaryString} ${sensorStationary.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\t\tif (!sensorFail) {\n\t\t\t\t\t\tfinalVal.value = sensor\n\t\t\t\t\t\tfinalVal.display = `${sensor.toFixed(2)} ${fuelUnit}`\n\t\t\t\t\t}\n\t\t\t\t\telse { // fail prioirty 2 Sensor\n\t\t\t\t\t\tsetCalculatedAsValueAndDisplay = true\n\t\t\t\t\t\taddCalculatedPopup = true\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetCalculatedAsValueAndDisplay = true\n\t\t\t\t\taddCalculatedPopup = true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (hasProbe) { // if has priority 2 Sensor\n\t\t\tlet sensorFail = !sensor && calculated\n\t\t\tfinalVal.popup += `${sensorString} ${sensor.toFixed(2)} ${fuelUnit}\\n`\n\t\t\tfinalVal.popup += `${sensorMovingString} ${sensorMoving.toFixed(2)} ${fuelUnit}\\n`\n\t\t\tfinalVal.popup += `${sensorStationaryString} ${sensorStationary.toFixed(2)} ${fuelUnit}\\n`\n\t\t\tif (!sensorFail) {\n\t\t\t\tfinalVal.value = sensor\n\t\t\t\tfinalVal.display = `${sensor.toFixed(2)} ${fuelUnit}`\n\t\t\t}\n\t\t\telse { // fail prioirty 2 Sensor\n\t\t\t\tsetCalculatedAsValueAndDisplay = true\n\t\t\t\taddCalculatedPopup = true\n\t\t\t}\n\t\t}\n\t\telse { // if noCan and noProbe >> show calculated\n\t\t\tsetCalculatedAsValueAndDisplay = true\n\t\t\taddCalculatedPopup = true\n\t\t}\n\n\t\tif (setCalculatedAsValueAndDisplay) {\n\t\t\tfinalVal.value = calculated\n\t\t\tif (isCng) {\n\t\t\t\tconst cngCalculated = this.getCngValues(calculated, fuelCapacity, showPercentCNG)\n\t\t\t\tfinalVal.display = cngUnit === 'percent' && showPercentCNG && fuelCapacity ? cngCalculated.display[2] : cngUnit === 'weight' ? cngCalculated.display[1] : cngCalculated.display[0]\n\t\t\t} else {\n\t\t\t\tfinalVal.display = `${calculated.toFixed(2)} ${fuelUnit}`\n\t\t\t}\n\t\t}\n\t\tif (addCalculatedPopup) {\n\t\t\tif (isCng) {\n\t\t\t\tconst cngCalculated = this.getCngValues(calculated, fuelCapacity, showPercentCNG)\n\t\t\t\tconst cngCalculatedMovingDisplay = this.getCngValues(calculatedMoving, fuelCapacity, showPercentCNG).display.map((item, index) => this.addSpaces(item, cngCalculated.display[index].length))\n\t\t\t\tconst cngCalculatedStationaryDisplay = this.getCngValues(calculatedStationary, fuelCapacity, showPercentCNG).display.map((item, index) => this.addSpaces(item, cngCalculated.display[index].length))\n\n\t\t\t\tfinalVal.popup += `${calculatedString} (CNG): ${cngCalculated.display.join('  |  ')}\\n`\n\t\t\t\tfinalVal.popup += `${calculatedMovingString} (CNG): ${cngCalculatedMovingDisplay.join('  |  ')}\\n`\n\t\t\t\tfinalVal.popup += `${calculatedStationaryString} (CNG): ${cngCalculatedStationaryDisplay.join('  |  ')}\\n`\n\t\t\t} else {\n\t\t\t\tfinalVal.popup += `${calculatedString} ${calculated.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\tfinalVal.popup += `${calculatedMovingString} ${calculatedMoving.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t\tfinalVal.popup += `${calculatedStationaryString} ${calculatedStationary.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t}\n\t\t}\n\t\tlet coolPopupArr = finalVal.popup.split('\\n').filter(it => { return it.length })\n\t\tlet maxLength = 0\n\t\tlet headersIdxs = []\n\t\tcoolPopupArr.forEach((row, idx) => {\n\t\t\tif (row.length > maxLength)\n\t\t\t\tmaxLength = row.length\n\t\t\tif (idx % 3 === 0) {\n\t\t\t\theadersIdxs.push(idx)\n\t\t\t\tif (idx !== 0) {\n\t\t\t\t\tcoolPopupArr[idx] = `\\n${row}` // separate each 3 rows with a white space\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\theadersIdxs.reverse()\n\t\theadersIdxs.forEach(idx => {\n\t\t\tif (isTotal)\n\t\t\t\tcoolPopupArr.splice(idx + 1, 0, '-'.repeat(maxLength))\n\t\t\telse\n\t\t\t\tcoolPopupArr.splice(idx + 1, 0, '–'.repeat(maxLength))\n\t\t})\n\n\t\tfinalVal.popup = coolPopupArr.join('\\n')\n\t\treturn finalVal\n\t},\n\n\t/**\n\t * Function to show the fuel level popup based on these values\n\t * @param {*} sensorFuelLevel \n\t * @param {*} canFuelLevel\n\t * @param {*} vehicle\n\t */\n\tfuelLevelCompose(sensorFuelLevel, canFuelLevel, vehicle) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet hasProbe, hasCan, isCng, fuelCapacity\n\t\tlet fuelUnit = 'L'\n\t\tif (vehicle.get) {\n\t\t\thasProbe = vehicle.get('hasProbe')\n\t\t\thasCan = vehicle.get('hasCan')\n\t\t\tfuelUnit = vehicle.get('fuel.unit')\n\t\t\tfuelCapacity = vehicle.get('fuel.capacity')\n\t\t\tisCng = vehicle.get('isCng')\n\t\t} else {\n\t\t\thasProbe = vehicle.hasProbe\n\t\t\thasCan = vehicle.hasCan\n\t\t\tfuelUnit = vehicle.fuel?.unit\n\t\t\tfuelCapacity = vehicle.fuel?.capacity\n\t\t\tisCng = vehicle.isCng\n\t\t}\n\n\t\tlet canVal = canFuelLevel ? Number(canFuelLevel) : 0\n\t\tlet sensorVal = sensorFuelLevel ? Number(sensorFuelLevel) : 0\n\t\tlet result = {\n\t\t\tvalue: canVal,\n\t\t\tdisplay: 0,\n\t\t\tpopup: ''\n\t\t}\n\n\t\tif (!hasCan && !hasProbe) { return result }\n\t\tconst canString = i18n.t('reports.headerFields.canFuelLevel')\n\n\t\tif (isCng) {\n\t\t\tconst cngUnit = this.get('currentUser.cngUnit') ? this.get('currentUser.cngUnit') : 'volume'\n\t\t\tlet cng = this.getCngValues(canVal, fuelCapacity, true)\n\t\t\tresult.popup += `${canString} (CNG): ${cng.display.join('  |  ')}\\n`\n\t\t\tresult.display = cngUnit === 'percent' && fuelCapacity ? cng.display[2] : cngUnit === 'weight' ? cng.display[1] : cng.display[0]\n\t\t} else {\n\t\t\tif (hasProbe) { // cng cannot have probe\n\t\t\t\tresult.value = sensorVal\n\t\t\t\tresult.popup += `${i18n.t('reports.headerFields.sensorFuelLevel')} ${sensorVal.toFixed(2)} ${fuelUnit}\\n`\n\t\t\t}\n\t\t\tresult.display = `${result.value.toFixed(2)} ${fuelUnit}`\n\t\t\tresult.popup += `${canString} ${canVal.toFixed(2)} ${fuelUnit}\\n`\n\t\t}\n\t\treturn result\n\t},\n\n\n\t/**\n\t * Function to show the adblue level popup based on these values\n\t * @param {*} canAdblueLevel percentage\n\t * @param {*} vehicle\n\t */\n\tadblueLevelCompose(canAdblueLevel, vehicle) {\n\t\tlet adblueLevelUnit = 'L'\n\t\tconst adblueCapacity = vehicle.get ? vehicle.get('adblueCapacity') : vehicle.adblueCapacity\n\n\t\tif (!adblueCapacity) return\n\n\t\tconst val = canAdblueLevel ? adblueCapacity * Number(canAdblueLevel) / 100 : 0\n\t\tlet result = {\n\t\t\tvalue: val,\n\t\t\tdisplay: `${val.toFixed(2)} ${adblueLevelUnit}`,\n\t\t}\n\n\t\treturn result\n\t},\n\n\t/**\n\t * Function to show the refuel level\n\t * @param {*} refuelLevel \n\t * @param {*} vehicle\n\t */\n\tparseRefuelLevel(refuelLevel, vehicle) {\n\t\tlet isCng, fuelCapacity\n\t\tlet fuelUnit = 'L'\n\t\tif (vehicle.get) {\n\t\t\tfuelUnit = vehicle.get('fuel.unit')\n\t\t\tfuelCapacity = vehicle.get('fuel.capacity')\n\t\t\tisCng = vehicle.get('isCng')\n\t\t} else {\n\t\t\tfuelUnit = vehicle.fuel?.unit\n\t\t\tfuelCapacity = vehicle.fuel?.capacity\n\t\t\tisCng = vehicle.isCng\n\t\t}\n\n\t\tlet refuelVal = refuelLevel ? Number(refuelLevel) : 0\n\t\tlet result = {\n\t\t\tvalue: refuelVal,\n\t\t\tdisplay: 0,\n\t\t\tpopup: ''\n\t\t}\n\n\t\tif (isCng) {\n\t\t\tconst cngUnit = this.get('currentUser.cngUnit') ? this.get('currentUser.cngUnit') : 'volume'\n\t\t\tlet cng = this.getCngValues(refuelVal, fuelCapacity, true)\n\t\t\tresult.popup += `CNG: ${cng.display.join('  |  ')}\\n`\n\t\t\tresult.display = cngUnit === 'percent' && fuelCapacity ? cng.display[2] : cngUnit === 'weight' ? cng.display[1] : cng.display[0]\n\t\t} else {\n\t\t\tresult.display = `${refuelVal.toFixed(2)} ${fuelUnit}`\n\t\t}\n\t\treturn result\n\t},\n\n\t/**\n\t * Function to calculate the distance and popup based on appPriority can and gps values\n\t * @param {*} canDistance \n\t * @param {*} gpsDistance\n\t * @param {*} isTotal change the string of popup\n\t */\n\tdistanceValuePopupWithoutVehicle(canDistance, gpsDistance, isTotal) {\n\t\tlet hasCan = canDistance !== null ? true : false\n\t\tcanDistance = canDistance ? Number(canDistance) : 0\n\t\tgpsDistance = gpsDistance ? Number(gpsDistance) : 0\n\t\tlet finalVal = { value: gpsDistance, display: gpsDistance, popup: '' }\n\t\tlet canString = isTotal ? 'reports.headerFields.totals.can' : 'reports.headerFields.canDistance'\n\t\tlet gpsString = isTotal ? 'reports.headerFields.totals.gps' : 'reports.headerFields.gpsDistance'\n\n\t\tlet priority = this.get('currentUser.priority') ? this.get('currentUser.priority') : 'gps'\n\t\tlet i18n = this.get('i18n')\n\n\t\tif (hasCan) {\n\t\t\tlet canFail = !canDistance && gpsDistance\n\t\t\tfinalVal.popup += `${i18n.t(canString)} ${canDistance.toFixed(2)}\\n`\n\t\t\tif (!canFail && priority && priority === 'can') {\n\t\t\t\tfinalVal.value = canDistance\n\t\t\t}\n\t\t}\n\n\t\tfinalVal.display = finalVal.value.toFixed(2)\n\t\tfinalVal.popup += `${i18n.t(gpsString)} ${gpsDistance.toFixed(2)}\\n`\n\n\t\treturn finalVal\n\t},\n\n\tfuelValuePopupPerDistance(showPercentCNG, distance, sensorVal, canVal, calculatedVal, vehicle, alwaysShowCalculatedValue, isTotal) {\n\t\tif (distance >= 3) {\n\t\t\tsensorVal = sensorVal / distance * 100\n\t\t\tcanVal = canVal / distance * 100\n\t\t\tcalculatedVal = calculatedVal / distance * 100\n\t\t\treturn this.fuelValuePopup(showPercentCNG, sensorVal, canVal, calculatedVal, vehicle, alwaysShowCalculatedValue, isTotal)\n\t\t}\n\t\treturn {\n\t\t\tvalue: 0,\n\t\t\tdisplay: `${Number(0).toFixed(2)} ${vehicle.get('fuel.unit')}`,\n\t\t\tpopup: this.get('i18n').t('min3kmDistanceForFuelConsumptionCalculation')\n\t\t}\n\t},\n\n\tfuelValuePopupPerDuration(showPercentCNG, duration, sensorVal, canVal, calculatedVal, vehicle, alwaysShowCalculatedValue, isTotal) {\n\t\tsensorVal = sensorVal / duration * 3600\n\t\tcanVal = canVal / duration * 3600\n\t\tcalculatedVal = calculatedVal / duration * 3600\n\t\treturn this.fuelValuePopup(showPercentCNG, sensorVal, canVal, calculatedVal, vehicle, alwaysShowCalculatedValue, isTotal)\n\t},\n\n\todometerCompose(canOdometer, virtualOdometer, hasCan) {\n\t\tlet can = canOdometer ? Number(canOdometer) : 0\n\t\tlet virtual = virtualOdometer ? Number(virtualOdometer) : 0\n\t\tlet i18n = this.get('i18n')\n\t\tlet result = {\n\t\t\tvalue: virtual,\n\t\t\tdisplay: virtual,\n\t\t\tpopup: `${i18n.t('virtualOdometer').string} ${virtual}`\n\t\t}\n\t\tif (hasCan && can) {\n\t\t\tresult.value = can\n\t\t\tresult.display = can\n\t\t\tresult.popup = `${i18n.t('canOdometer').string} ${result.display}`\n\t\t}\n\t\tif (hasCan && !can && !virtual) {\n\t\t\tresult.popup = `${i18n.t('canOdometer').string} ${result.display}`\n\t\t}\n\n\t\treturn result\n\t},\n\n\t/**\n\t * Group data by vehicleID. without formatting\n\t * @param {array} data array of rows\n\t * @returns {array} array of objects with the structure: { vehicleID, content }\n\t */\n\tgroupByVehicle(data) {\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet vehicles = []\n\t\tdata.forEach(row => {\n\t\t\tif (!row.vehicleID) { return }\n\n\t\t\tlet vehicle = vehicles.findBy('vehicleID', row.vehicleID)\n\t\t\tif (vehicle && vehicle.content) {\n\t\t\t\tvehicle.content.push(row)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvehicles.push({\n\t\t\t\t\tvehicleID: row.vehicleID,\n\t\t\t\t\tcontent: [row]\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn vehicles\n\t},\n\n\t/**\n\t * @param {string} prop property to group by\n\t * @param {array} data array of data\n\t */\n\tgroupBy(prop, data) {\n\t\tif (!data || !data.length || !prop) { return [] }\n\n\t\tlet result = []\n\t\tdata.forEach(row => {\n\t\t\tif (!row[prop]) { return }\n\n\t\t\tlet group = result.findBy(prop, row[prop])\n\t\t\tif (group && group.content) {\n\t\t\t\tgroup.content.push(row)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet obj = { content: [row] }\n\t\t\t\tobj[prop] = row[prop]\n\t\t\t\tresult.push(obj)\n\t\t\t}\n\t\t})\n\n\t\treturn result\n\t},\n\n\tgroupByDriver(data, allowEmpty) {\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet drivers = []\n\t\tdata.forEach(row => {\n\t\t\tif (!allowEmpty && !row.driverID) { return }\n\n\t\t\tlet driver = drivers.findBy('driverID', row.driverID)\n\t\t\tif (driver && driver.content) {\n\t\t\t\tdriver.content.push(row)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdrivers.push({\n\t\t\t\t\tdriverID: row.driverID,\n\t\t\t\t\tcontent: [row]\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn drivers\n\t},\n\n\tgroupByUser(data) {\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet users = []\n\t\tdata.forEach(row => {\n\t\t\tif (!row.userID) { return }\n\n\t\t\tlet user = users.findBy('userID', row.userID)\n\t\t\tif (user && user.content) {\n\t\t\t\tuser.content.push(row)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tusers.push({\n\t\t\t\t\tuserID: row.userID,\n\t\t\t\t\tcontent: [row]\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn users\n\t},\n\n\tgroupByCardID(data) {\n\t\tif (!data || !data.length) { return [] }\n\n\t\tlet cards = []\n\t\tdata.forEach(row => {\n\t\t\tif (!row.cardID) { return }\n\n\t\t\tlet card = cards.findBy('cardID', row.cardID)\n\t\t\tif (card && card.content) {\n\t\t\t\tcard.content.push(row)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcards.push({\n\t\t\t\t\tcardID: row.cardID,\n\t\t\t\t\tcontent: [row]\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn cards\n\t},\n\n\t/**\n\t * function to get location bassed on selectedFilter, and if there are geofences\n\t */\n\tgetLocation(address, geofences) {\n\t\tlet showPoi = this.get('currentUser.poiAddress') === 'poi'\n\t\tlet result = {\n\t\t\tdisplay: address,\n\t\t\tpopup: null\n\t\t}\n\t\tlet geofencesCount = geofences && geofences.length ? geofences.length : false\n\t\tif (showPoi && geofencesCount) {\n\t\t\tif (geofencesCount > 1) {\n\t\t\t\tlet txt = ''\n\t\t\t\tgeofences.forEach((item, idx) => { txt += `\\n${idx + 1}.- ${item}` })\n\t\t\t\tresult.display = `${this.get('i18n').t('poiMultiple')} (${geofencesCount})`\n\t\t\t\tresult.popup = txt\n\t\t\t}\n\t\t\telse {\n\t\t\t\tresult.display = geofences[0]\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t},\n\n\t/**\n\t * function to get sequence between 1 and the passed number\n\t * @param {*} number \n\t */\n\tgetSequenceUntil(number) {\n\t\tif (!number || isNaN(number)) { return false }\n\t\tlet text = ''\n\t\tfor (let i = 1; i <= number; i++) {\n\t\t\ttext += i === number ? i : `${i},`\n\t\t}\n\t\treturn text\n\t},\n\n\tremoveWhiteSpaces(string) {\n\t\tif (!string) { return '' }\n\t\treturn string.replace(/ /g, '').trim()\n\t},\n\n\tmissingSignal(updatedAt) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet unsyncTime = this.get('currentUser.unsyncTime')\n\t\tif (updatedAt == null) { return i18n.t('vehicleStatus.unreachable') }\n\t\tlet diff = moment(moment()).diff(moment(updatedAt))\n\t\tif (diff > unsyncTime) {\n\t\t\tlet humanized = moment.duration(diff).humanize()\n\t\t\treturn i18n.t('vehicleStatus.unreachableSince', { status: humanized })\n\t\t}\n\t\treturn false\n\t},\n\n\tprocessStatus(updatedAt, engineState) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet missingSignalValue = this.missingSignal(updatedAt)\n\t\tlet color = 'yellow'\n\t\tlet popup = missingSignalValue\n\n\t\tif (!missingSignalValue) {\n\t\t\tif (engineState === true) {\n\t\t\t\tcolor = 'green'\n\t\t\t\tpopup = i18n.t('vehicle.engineOn')\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcolor = 'red'\n\t\t\t\tpopup = i18n.t('vehicle.engineOff')\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\ticon: `circle ${color}`,\n\t\t\tpopup,\n\t\t}\n\t},\n\n\tparseFuelLevel(sensor, can, fuelCapacity, fuelType) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet unit = fuelType === 'electric' ? 'kWh' : 'L'\n\t\tlet result = {\n\t\t\tvalue: null,\n\t\t\tdisplay: null,\n\t\t\tpopup: '',\n\t\t}\n\t\tlet value = null\n\t\tif (!sensor && !can) { return result }\n\t\tif (sensor) {\n\t\t\tvalue = sensor.value\n\t\t\tresult.popup += sensor.popup\n\t\t}\n\n\t\tif (can?.fuel?.level) {\n\t\t\tif (can.fuel.level[0] || can.fuel.level[0] === 0) {\n\t\t\t\tif (!value) { value = can.fuel.level[0] }\n\t\t\t\tconst isCng = fuelType === 'cng'\n\t\t\t\tif (isCng) {\n\t\t\t\t\tconst liters = Number(value).toFixed(2) + 'L'\n\t\t\t\t\tconst kg = (Number(value) * cngLiterToKg).toFixed(2) + 'Kg'\n\t\t\t\t\tresult.popup += `\\nCNG: ${liters} | ${kg}`\n\t\t\t\t} else {\n\t\t\t\t\tresult.popup += `\\nCAN: ${can.fuel.level[0]} ${unit}`\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (can.fuel.level[1]) {\n\t\t\t\tlet percent = parseInt(can.fuel.level[1])\n\t\t\t\tif (value || value === 0) {\n\t\t\t\t\tresult.popup += ` (${percent} %)`\n\t\t\t\t} else {\n\t\t\t\t\tresult.popup += `${percent} % -- ${i18n.t('errors.messages.fuelCapacityNotSetted')}`\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (value != null) {\n\t\t\tresult.display = `${value} ${unit}`\n\t\t}\n\t\tresult.value = value\n\t\treturn result\n\t},\n\n\t/**\n\t * @param {array} aSensors array of object with sensors\n\t * @param {object} status object with camelCase for status\n\t * @param {string} fuelType type of fuel\n\t */\n\tprocessSensors(aSensors, status, fuelType) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet sensors = []\n\t\tif (!aSensors || !isArray(aSensors) || !status) { return sensors }\n\t\tlet selectedLanguage = this.get('currentUser.locale') || 'en'\n\n\t\tlet taxiSensors = []\n\t\tlet fuelSensors = []\n\t\taSensors.forEach(sensor => {\n\t\t\tsensor = JSON.parse(JSON.stringify(sensor))\n\t\t\tif (!sensor.type) { return }\n\t\t\tlet camelType = camelize(sensor.type)\n\t\t\tsensor.key = camelType\n\t\t\tlet value = status[camelType]\n\t\t\tsensor.value = value\n\t\t\tlet translation = null\n\t\t\tsensor.header = {\n\t\t\t\tkey: camelType,\n\t\t\t\ttext: '',\n\t\t\t}\n\t\t\tif (!sensor.translation || !sensor.translation.length) { // default translations for sensor which doesn't have them\n\t\t\t\tlet defaultTranslation = null\n\t\t\t\tif (~camelType.indexOf('door')) {\n\t\t\t\t\tdefaultTranslation = [{\n\t\t\t\t\t\tlocale: selectedLanguage,\n\t\t\t\t\t\ttext: i18n.t(`doors.${camelType}`),\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{ value: 1, text: i18n.t('doors.open') },\n\t\t\t\t\t\t\t{ value: 0, text: i18n.t('doors.closed') },\n\t\t\t\t\t\t]\n\t\t\t\t\t}]\n\t\t\t\t} else if (~camelType.indexOf('freezer')) {\n\t\t\t\t\t// defaultTranslation = i18n.t('dashboard.liveStatus.temperature')\n\t\t\t\t\tdefaultTranslation = [{\n\t\t\t\t\t\tlocale: selectedLanguage,\n\t\t\t\t\t\ttext: i18n.t('freezer.generic'),\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{ value: 1, text: i18n.t('on') },\n\t\t\t\t\t\t\t{ value: 0, text: i18n.t('off') },\n\t\t\t\t\t\t]\n\t\t\t\t\t}]\n\t\t\t\t} else if (~camelType.indexOf('temperature')) {\n\t\t\t\t\t// defaultTranslation = i18n.t('temperature')\n\t\t\t\t\tdefaultTranslation = [{ locale: selectedLanguage, text: i18n.t(`sensor.${sensor.type}`) }]\n\n\t\t\t\t\tif (!sensor.outputUnit) {\n\t\t\t\t\t\tsensor.outputUnit = '°C'\n\t\t\t\t\t}\n\t\t\t\t} else if (~camelType.indexOf('taxi')) {\n\t\t\t\t\tdefaultTranslation = [{ locale: selectedLanguage, text: i18n.t('taxiState') }]\n\t\t\t\t} else if (~camelType.indexOf('powerExternal')) {\n\t\t\t\t\tdefaultTranslation = [{ locale: selectedLanguage, text: i18n.t('powerExternal.label') }]\n\t\t\t\t} else if (~camelType.indexOf('auxCooling')) {\n\t\t\t\t\tdefaultTranslation = [{ locale: selectedLanguage, text: i18n.t('auxAC.auxCooling') }]\n\t\t\t\t} else if (~camelType.indexOf('auxHeating')) {\n\t\t\t\t\tdefaultTranslation = [{ locale: selectedLanguage, text: i18n.t('auxAC.auxHeating') }]\n\t\t\t\t}\n\t\t\t\tif (defaultTranslation) {\n\t\t\t\t\tsensor.translation = defaultTranslation\n\t\t\t\t\ttranslation = defaultTranslation[0]\n\t\t\t\t\tsensor.header.text = translation.text\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttranslation = sensor.translation.findBy('locale', selectedLanguage)\n\t\t\t\tif (!translation) { // if selectedLanguage is not disponible get the en translation\n\t\t\t\t\ttranslation = sensor.translation.findBy('locale', 'en')\n\t\t\t\t}\n\t\t\t\tif (translation?.text) {\n\t\t\t\t\tsensor.header.text = translation.text\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (~sensor.type.indexOf('taxi-')) { // taxi sensors will be processed later\n\t\t\t\ttaxiSensors.push(sensor)\n\t\t\t} else if (~sensor.type.indexOf('fuel-')) { // fuel sensors will be processed later\n\t\t\t\tfuelSensors.push(sensor)\n\t\t\t} else if (~sensor.type.indexOf('power-external')) {\n\t\t\t\tlet outputUnit = sensor.outputUnit || 'V'\n\t\t\t\tlet valunit = `${sensor.value ? (sensor.value / 1000).toFixed(1) : '--'} ${outputUnit}`\n\t\t\t\tsensor.display = valunit\n\t\t\t\tsensor.popup = `${sensor.header.text} ${valunit}`\n\t\t\t\tsensors.push(sensor)\n\t\t\t} else if (~sensor.type.indexOf('tacho-d8')) {\n\t\t\t\tsensor.display = sensor.input === 'always-true' ? i18n.t('yes') : i18n.t('no')\n\t\t\t\tsensors.push(sensor)\n\t\t\t} else if (~sensor.type.indexOf('aux-cooling') || ~sensor.type.indexOf('aux-heating')) {\n\t\t\t\tsensor.display = sensor.value ? i18n.t('auxAC.values.on') : i18n.t('auxAC.values.off')\n\t\t\t\tsensors.push(sensor)\n\t\t\t} else if (~sensor.type.indexOf('temperature')) {\n\t\t\t\tlet outputUnit = sensor.outputUnit || '°C'\n\t\t\t\tlet valunit = `${sensor.value ? Number(sensor.value).toFixed(1) : '--'} ${outputUnit}`\n\t\t\t\tsensor.display = valunit\n\t\t\t\tsensor.translatedValue = valunit\n\t\t\t\tsensor.popup = `${sensor.header.text} ${valunit}`\n\t\t\t\tsensors.push(sensor)\n\t\t\t} else {\n\t\t\t\tif (~sensor.input.indexOf('analog-')) { // analog-input\n\t\t\t\t\tlet outputUnit = sensor.outputUnit ? sensor.outputUnit : ''\n\t\t\t\t\tlet valunit = `${sensor.value ? Number(sensor.value).toFixed(1) : '--'} ${outputUnit}`\n\t\t\t\t\tsensor.display = valunit\n\t\t\t\t\tsensor.translatedValue = valunit\n\t\t\t\t\tsensor.popup = `${sensor.header.text} ${valunit}`\n\t\t\t\t} else { // digital-input\n\t\t\t\t\tlet digitalTranslationValue = sensor.value ? 1 : 0\n\t\t\t\t\tlet translationValue = translation?.values ? translation.values.findBy('value', digitalTranslationValue) : false\n\t\t\t\t\tif (translationValue) {\n\t\t\t\t\t\tlet translatedVal = translationValue.text\n\t\t\t\t\t\tsensor.popup = `${sensor.header.text} ${translatedVal}`\n\t\t\t\t\t\tsensor.display = `${translatedVal}`\n\t\t\t\t\t\tsensor.translatedValue = sensor.display\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsensor.popup = i18n.t('dashboard.noData')\n\t\t\t\t\t}\n\t\t\t\t\tlet hasIcon = ~sensor.type.indexOf('door-') || ~sensor.type.indexOf('freezer')\n\t\t\t\t\tif (hasIcon) {\n\t\t\t\t\t\tif (~sensor.type.indexOf('door-')) {\n\t\t\t\t\t\t\tsensor.display = ''\n\t\t\t\t\t\t\t// doors will have values 0(closed) and 1(open) or na\n\t\t\t\t\t\t\tlet status = sensor.value ? 'open' : sensor.value === 0 ? 'closed' : 'na'\n\t\t\t\t\t\t\tsensor.icon = `vehicleDoor ${status}`\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (~sensor.type.indexOf('freezer')) {\n\t\t\t\t\t\t\tlet status = sensor.value ? 'on' : sensor.value === 0 ? 'off' : 'na'\n\t\t\t\t\t\t\tsensor.display = ''\n\t\t\t\t\t\t\tsensor.icon = `freezer ${status}`\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsensors.push(sensor)\n\t\t\t}\n\t\t})\n\t\tif (fuelSensors.length) { // fuel sensors\n\t\t\tlet item = {\n\t\t\t\tkey: 'fuel',\n\t\t\t\theader: {\n\t\t\t\t\tkey: 'fuel',\n\t\t\t\t\ttext: '',\n\t\t\t\t},\n\t\t\t\tvalue: null,\n\t\t\t\tdisplay: '',\n\t\t\t\tpopup: '',\n\t\t\t}\n\n\t\t\tlet total = 0\n\t\t\tlet outputUnit = fuelType === 'electric' ? 'kWh' : 'L'\n\t\t\tfuelSensors.forEach((fuel, idx) => {\n\t\t\t\tif (!item.header.text && fuel.header.text) {\n\t\t\t\t\titem.header.text = fuel.header.text\n\t\t\t\t}\n\t\t\t\tlet sensorNumber = idx + 1\n\t\t\t\tlet txt = `\\n${fuel.header.text ? fuel.header.text : i18n.t('fuelSource.sensor') + ' ' + sensorNumber}`\n\t\t\t\tif (fuel.value) {\n\t\t\t\t\ttotal += fuel.value\n\t\t\t\t\titem.popup += `${txt}: ${fuel.value} ${outputUnit}`\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\titem.popup += `${txt}: ${i18n.t('dashboard.noData')}`\n\t\t\t\t}\n\t\t\t})\n\t\t\ttotal = total ? total : '--'\n\t\t\titem.value = total\n\t\t\titem.display = `${total} ${outputUnit}`\n\t\t\titem.translatedValue = item.display\n\t\t\tsensors.push(item)\n\t\t}\n\t\tif (taxiSensors.length === 2) { // taxi sensors\n\t\t\tlet item = {\n\t\t\t\tkey: 'taxi',\n\t\t\t\theader: {\n\t\t\t\t\tkey: 'taxi',\n\t\t\t\t\ttext: '',\n\t\t\t\t},\n\t\t\t}\n\t\t\tlet available = taxiSensors.findBy('type', 'taxi-available')\n\t\t\tlet occupied = taxiSensors.findBy('type', 'taxi-occupied')\n\t\t\tlet status = 'none' // default off\n\t\t\tif (available && available.header || occupied && occupied.header) {\n\t\t\t\titem.header.text = available.header.text ? available.header.text : occupied.header.text\n\t\t\t}\n\t\t\tif (!item.header.text) {\n\t\t\t\titem.header.text = i18n.t('taxiState')\n\t\t\t}\n\t\t\tif (available && occupied) {\n\t\t\t\tif (available.value === true && occupied.value === false) { // available\n\t\t\t\t\tstatus = 'engineOn'\n\t\t\t\t}\n\t\t\t\telse if (available.value === false && occupied.value === true) { // occupied\n\t\t\t\t\tstatus = 'engineOff'\n\t\t\t\t}\n\t\t\t\telse if (available.value === null || occupied.value === null) { // no availability\n\t\t\t\t\tstatus = 'na'\n\t\t\t\t}\n\t\t\t\tif (status === 'na') {\n\t\t\t\t\titem.popup = i18n.t('dashboard.noData')\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\titem.popup = i18n.t(`dashboard.liveStatus.cupolaState.${status}`)\n\t\t\t\t}\n\t\t\t}\n\t\t\titem.display = ''\n\t\t\titem.translatedValue = item.popup\n\t\t\titem.icon = `circle status ${status}`\n\t\t\tsensors.push(item)\n\t\t}\n\t\treturn sensors\n\t}\n})","import Mixin from '@ember/object/mixin'\nimport { computed } from '@ember/object'\n\nexport default Mixin.create({\n\ttHeaders: computed('selectedColumns', 'report.columns', 'triggerFormat', function () {\n\t\tlet repColumns = this.get('report.columns')\n\t\tlet selColumns = this.get('selectedColumns')\n\t\tif (!repColumns || !selColumns) { return [] }\n\n\t\tlet headers = []\n\t\tselColumns.forEach(col => {\n\t\t\tlet column = repColumns.findBy('key', col)\n\t\t\tif (column) {\n\t\t\t\theaders.push(column)\n\t\t\t}\n\t\t})\n\t\treturn headers\n\t}),\n})\n","import Ember from 'ember'\nimport { uniqBy } from 'lodash'\n\nconst altitudeTolerance = 20\nconst { service } = Ember.inject\n\nexport default Ember.Mixin.create({\n    i18n: service(),\n    currentUser: service('current-user'),\n    modules: Ember.computed.readOnly('currentUser.modules'),\n\n    /**\n     * @param {*} routes A collection of route objects described by the \"route\" model\n     * @param {boolean} processUnknownRoute Handle route with id unknown or not\n     * @param {boolean}\n     */\n    makeRoutes(routes, geofences, selectedVehicle) {\n        if (!selectedVehicle) { return [] }\n        let allRoutes = []\n        let i18n = this.get('i18n')\n        var lastAltitude = 0\n\n        routes.forEach(route => {\n            if (!route.get(\"points\") || (route.get(\"points\") && !route.get(\"points.mapMatched\") && !route.get(\"points.simplified\")) /*|| (isStationary && !routes.length)*/) {\n                return\n            }\n\n            // let previousLocation = null\n            let points = []\n\n            route.get(\"points.simplified\").forEach(point => {\n                let locationDetails = this._getLocationGeneralDetails(point, selectedVehicle)\n\n                // lineLocations.push(locationDetails)\n                /**\n                 * If altitude is equal 0 and last altitude is smaller than 20 (altitude tolerance)\n                 * then let it to 0, else set it to last altitude.\n                 */\n                if ((locationDetails.altitude == 0) && ((Math.abs(locationDetails.altitude - lastAltitude) > altitudeTolerance))) {\n                    locationDetails.altitude = lastAltitude\n                } else {\n                    lastAltitude = locationDetails.altitude\n                }\n\n                points.push(locationDetails)\n            })\n            let nrOfPoints = points.length\n\n            let startLocation = Ember.isEmpty(route.get(\"start.location\")) ? `${points[0].lat.toFixed(4)} N, ${points[0].lng.toFixed(4)} E` : route.get(\"start.location\")\n            let endLocation = Ember.isEmpty(route.get(\"end.location\")) ? `${points[nrOfPoints - 1].lat.toFixed(4)} N, ${points[nrOfPoints - 1].lng.toFixed(4)} E` : route.get(\"end.location\")\n\n            // move this to a function\n            let startGeofencesIDs = route.get(\"start.geofences\") || []\n            let startText = startLocation\n            let startPopupText = ''\n            let geofencesStartCount = startGeofencesIDs.length\n            if (geofencesStartCount === 1) {\n                let geofence = geofences.findBy('id', startGeofencesIDs[0])\n                if (geofence) {\n                    let geofenceName = geofence.get('fullName') || ''\n                    startText = geofenceName\n                }\n            }\n            else if (geofencesStartCount > 1) {\n                startText = `${i18n.t('poiMultiple')} (${geofencesStartCount})`\n                startGeofencesIDs.forEach((geofID, index) => {\n                    let geofence = geofences.findBy('id', geofID)\n                    if (geofence) {\n                        let geofenceName = geofence.get('fullName') || ''\n                        startPopupText += index > 0 ? '\\n' + geofenceName : geofenceName\n                    }\n                })\n            }\n\n            let endGeofencesIDs = route.get(\"end.geofences\") || []\n            let endText = endLocation\n            let endPopupText = ''\n            let geofencesEndCount = endGeofencesIDs.length\n            if (geofencesEndCount === 1) {\n                let geofence = geofences.findBy('id', endGeofencesIDs[0])\n                if (geofence) {\n                    let geofenceName = geofence.get('name') || ''\n                    endText = geofenceName\n                }\n            }\n            else if (geofencesEndCount > 1) {\n                endText = `${i18n.t('poiMultiple')} (${geofencesEndCount})`\n                endGeofencesIDs.forEach((geofID, index) => {\n                    let geofence = geofences.findBy('id', geofID)\n                    if (geofence) {\n                        let geofenceName = geofence.get('name') || ''\n                        endPopupText += index > 0 ? '\\n' + geofenceName : geofenceName\n                    }\n                })\n            }\n\n            let rt = {\n                distance: route.get('distance'),\n                duration: route.get('duration'),\n                engineOnDuration: route.get('engineOnDuration'),\n                engineOffDuration: route.get('engineOffDuration'),\n                type: route.get('type'),\n                fuelConsumption: route.get('fuelConsumption'),\n                fuelConsumptionPerDistance: route.get('fuelConsumptionPerDistance'),\n                // totals, WIP - REFACTOR THIS WHERE USED. use route. distance, fuelConsumption, fc/dist\n                // isSelected: false,\n                stationary: route.get('isStationary'),\n                isUnknown: route.get('isUnknown'),\n                id: route.get('id'),\n                points: points.sortBy('timestamp'),\n                start: {\n                    location: startLocation,\n                    text: startText,\n                    popupText: startPopupText,\n                    time: route.get('start.time'),\n                    timestamp: route.get('start.time').getTime()\n                },\n                end: {\n                    location: endLocation,\n                    text: endText,\n                    popupText: endPopupText,\n                    time: route.get('end.time'),\n                    timestamp: route.get('end.time').getTime()\n                },\n            }\n\n            allRoutes.push(rt)\n        })\n\n        // MERGE ROUTES if needed\n\n        return this.mergeRoutes(allRoutes, selectedVehicle.get('isMoving'))\n    },\n\n    /**\n     * Merge routes \n     * - if route type of current and next is the same, concatenate them (should be cuts from 00:00)\n     * - if processUnknownRoute add them at the end of route [TODO optimization: manage,update new points appart, without need to generate all routes again]\n     */\n    mergeRoutes(routes, isMoving) {\n        let mergedRoutes = []\n\n        routes.forEach((route, index) => { // if two consecutive routes are the same type, merge them\n            let prevRoute = (index > 0) ? mergedRoutes[mergedRoutes.length - 1] : null\n            if (!prevRoute) { // firstRoute\n                // no need to merge. ADD\n                mergedRoutes.push(route)\n                return\n            }\n\n            if (route.id === 'unknown') { // processUnknownRoute\n                let unknownIsMovingRoute = false\n                if (isMoving) { // vehicle status moving -> processUnknownRoute\n                    // process\n                    unknownIsMovingRoute = true\n                }\n                let uniqPoints = uniqBy(route.points, i => i.lat + '-' + i.lng)\n\n                if (uniqPoints.length > 2) { // route with > 2 diff coordinates. Probably it is moving -> processUnknownRoute\n                    // process\n                    unknownIsMovingRoute = true\n                }\n\n                if (unknownIsMovingRoute) {\n                    route.type = 'moving'\n                    route.stationary = false\n                    route.start.location = prevRoute.end.location\n                    route.start.text = prevRoute.end.text\n                    route.start.popupText = prevRoute.end.popupText\n                    \n                    if (prevRoute.stationary) {\n                        mergedRoutes.push(route)\n                        return\n                    }\n                    // do something with this\n                }\n                else { // unknown is stationary\n                    if (!prevRoute.stationary) { // prev is moving\n                        route.type = 'stationary'\n                        route.stationary = true\n                        route.start.location = prevRoute.end.location\n                        route.start.text = prevRoute.end.text\n                        route.start.popupText = prevRoute.end.popupText\n\n                        mergedRoutes.push(route)\n                        return\n                    }\n                }\n            }\n            else {\n                if (route.type !== prevRoute.type) {\n                    mergedRoutes.push(route)\n                    return\n                }\n            }\n\n            // merge routes\n            let mr = this.mergeRoute(prevRoute, route)\n            mergedRoutes.pop()\n            mergedRoutes.push(mr)\n        })\n\n        let mrl = mergedRoutes.length\n        if (mrl) {\n            if (mergedRoutes[0].type === 'stationary') {\n                mergedRoutes[0].type = 'stationary-start'\n            }\n            if (mrl > 1 && mergedRoutes[mrl - 1].type === 'stationary') {\n                mergedRoutes[mrl - 1].type = 'stationary-end'\n            }\n        }\n\n        return mergedRoutes\n    },\n\n    mergeRoute(r1, r2) {\n        let stationary = r1.stationary\n        let type = r1.type\n        if (r1.type && r2.type) { // r[moving, stationary, null] null when isUnknown\n            if (r1.stationary !== r2.stationary) {\n                stationary = false\n                type = 'moving'\n            }\n        }\n        else {\n            stationary = null\n        }\n\n        return {\n            distance: r1.distance + r2.distance,\n            duration: r1.duration + r2.duration,\n            engineOnDuration: r1.engineOnDuration + r2.engineOnDuration,\n            engineOffDuration: r1.engineOffDuration + r2.engineOffDuration,\n            fuelConsumption: r1.fuelConsumption + r2.fuelConsumption,\n            fuelConsumptionPerDistance: r1.fuelConsumptionPerDistance + r2.fuelConsumptionPerDistance,\n            // totals, WIP - REFACTOR THIS WHERE USED. use route. distance, fuelConsumption, fc/dist\n            // isSelected: false,\n            stationary: stationary,\n            type: type,\n            isUnknown: r1.isUnknown || r2.isUnknown,\n            id: r1.id,\n            points: r1.points.concat(r2.points), // concat points\n            //  WIP REPLACE options.entityID\n            // options.entityID: route.get(\"id\"),\n            start: {\n                location: r1.start.location,\n                text: r1.start.text,\n                popupText: r1.start.popupText,\n                time: r1.start.time,\n                timestamp: r1.start.timestamp,\n            },\n            end: {\n                location: r2.end.location,\n                text: r2.end.text,\n                popupText: r2.end.popupText,\n                time: r2.end.time,\n                timestamp: r2.end.timestamp,\n            },\n        }\n    },\n\n    mergeByStopDuration(routes, maxStop) {\n        let mr = []\n        let nrOfRoutes = routes.length\n        routes.forEach((rt, idx) => {\n            if ((!rt.stationary && !rt.hasMerged) || (rt.stationary && rt.duration >= maxStop)) { // moving route(not merged) or stationary > maxStop\n                mr.push(rt)\n                return\n            }\n            if (rt.hasMerged) { // if has merged go to next interation\n                rt.hasMerged = false\n                return\n            }\n\n            // rt in this case in stationary \n            let prevMvRt = (idx > 0) ? mr.length ? mr.pop() : routes[idx - 1] : null // prev moving route\n            let nextMvRt = (idx < nrOfRoutes - 1) ? routes[idx + 1] : null // next moving route\n            if (nextMvRt) {\n                nextMvRt.hasMerged = true\n            }\n\n            if (prevMvRt && nextMvRt) {\n                mr.push({\n                    distance: prevMvRt.distance + nextMvRt.distance,\n                    duration: prevMvRt.duration + rt.duration + nextMvRt.duration,\n                    engineOnDuration: prevMvRt.engineOnDuration + rt.engineOnDuration + nextMvRt.engineOnDuration,\n                    engineOffDuration: prevMvRt.engineOffDuration + rt.engineOffDuration + nextMvRt.engineOffDuration,\n                    fuelConsumption: prevMvRt.fuelConsumption + rt.fuelConsumption + nextMvRt.fuelConsumption,\n                    fuelConsumptionPerDistance: prevMvRt.fuelConsumptionPerDistance + rt.fuelConsumptionPerDistance + nextMvRt.fuelConsumptionPerDistance,\n                    // totals, WIP - REFACTOR THIS WHERE USED. use route. distance, fuelConsumption, fc/dist\n                    // isSelected: false,\n                    stationary: false,\n                    type: 'moving',\n                    isUnknown: prevMvRt.isUnknown || rt.isUnknown || nextMvRt.isUnknown,\n                    id: prevMvRt.id,\n                    points: prevMvRt.points.concat(rt.points).concat(nextMvRt.points), // concat points\n                    start: {\n                        location: prevMvRt.start.location,\n                        text: prevMvRt.start.text,\n                        popupText: prevMvRt.start.popupText,\n                        time: prevMvRt.start.time,\n                        timestamp: prevMvRt.start.timestamp,\n                    },\n                    end: {\n                        location: nextMvRt.end.location,\n                        text: nextMvRt.end.text,\n                        popupText: nextMvRt.end.popupText,\n                        time: nextMvRt.end.time,\n                        timestamp: nextMvRt.end.timestamp,\n                    },\n                })\n            }\n            else if (prevMvRt) {\n                mr.push(this.mergeRoute(prevMvRt, rt))\n            }\n            else if (nextMvRt) {\n                mr.push(this.mergeRoute(rt, nextMvRt))\n            }\n        })\n        return mr\n    },\n\n    /**\n     * Takes to points coordinates and returns distance between them.\n     * @return {number} meters\n     */\n    distance(lat1, lon1, lat2, lon2) {\n        var pi = 0.017453292519943295;    // Math.PI / 180\n        var cos = Math.cos;\n        var a = 0.5 - cos((lat2 - lat1) * pi) / 2 + cos(lat1 * pi) * cos(lat2 * pi) * (1 - cos((lon2 - lon1) * pi)) / 2;\n\n        return 12742000 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km   added the extra zeros for meters\n    },\n\n    _getLocationGeneralDetails(point, selectedVehicle) {\n        if (!point) { return null }\n        let fuelCanLevel = this._getCanFuelLevel(point, selectedVehicle)\n        let adblueLevel = this._getCanAdblueLevel(point, selectedVehicle)\n        let hasTaxiSensor = selectedVehicle.get('hasTaxiSensor')\n\n        let obj = {\n            lat: point.get('gps.coordinates')[0].lat,\n            lng: point.get('gps.coordinates')[0].lng,\n            altitude: Ember.isEmpty(point.get('gps.altitude')) ? 0 : point.get('gps.altitude'),\n            speed: Ember.isEmpty(point.get('gps.speed')) ? 0 : point.get('gps.speed'),\n            bearing: point.get('gps.bearing'),\n            timestamp: point.get('timestamp'),\n            fuelCanLevel: fuelCanLevel,\n            fuelLevel: Ember.isEmpty(point.get('fuel_level')) ? 0 : point.get('fuel_level'),\n            auxHeatingState: (point.get('sensors') && point.get('sensors.aux-heating')) ? 4 : 1,\n            auxCoolingState: (point.get('sensors') && point.get('sensors.aux-cooling')) ? 4 : 1,\n            powerExternal: Ember.isEmpty(point.get('sensors.power-external')) ? 0 : point.get('sensors.power-external') / 1000,\n            freezerStatus: (point.get('sensors') && point.get('sensors.freezer')) ? 1 : 0,\n            taxiState: hasTaxiSensor ? (point.get('taxi_state') ? 1 : (point.get('taxi_state') === false ? 0 : 0.5)) : 0.5,\n            acceleration: Ember.isEmpty(point.get('can')) ? 0 : Ember.isEmpty(point.get('can.acceleration')) ? 0 : point.get('can.acceleration'),\n            engineState: point.get('engine_state') ? 4 : 1,\n            rpm: Ember.isEmpty(point.get('can')) ? 0 : Ember.isEmpty(point.get('can.rpm')) ? 0 : point.get('can.rpm'),\n            odometer: Ember.isEmpty(point.get('tacho.odometer')) ? point.get('tacho.odometer') : point.get('can.distance'),\n            adblueLevel: adblueLevel\n        }\n\n        if (selectedVehicle.get('hasDoorSensor')) {\n            const sensors = point.get('sensors')\n            const doorSensors = Object.keys(sensors).filter(type => type.startsWith('door'))\n            obj.doors = doorSensors.reduce((obj, key) => ({ ...obj, [key]: sensors[key] ? 4 : 1 }), {})\n        }\n\n        if (this.get('modules.freezer')) {\n            const sensors = point.get('sensors')\n            const tempSensors = Object.keys(sensors).filter(type => type.startsWith('temperature'))\n            obj.temperature = tempSensors.reduce((obj, key) => ({ ...obj, [key]: sensors[key] }), {})\n        }\n\n        if (this.get('modules.tachograph')) {\n            obj.tacho = []\n\n            for (let i = 1; i < 3; i++) {\n                const cardID = (point.get(`tacho.driver_id_${i}`) || '').trim()\n                if (cardID.length < 1) { continue }\n\n                const activity = point.get(`tacho.driver_activity_${i}`)\n\n                obj.tacho.push({\n                    cardID,\n                    activity\n                })\n            }\n        }\n\n        return obj\n    },\n\n    _getCanFuelLevel(point, selectedVehicle) {\n        if (!point) { return null }\n\n        if (!point.get('can')) { return 0 }\n\n        if (!Ember.isNone(point.get('can.fuel_level')) && point.get('can.fuel_level')) {\n            return Number(point.get('can.fuel_level'))\n        }\n\n        if (!Ember.isNone(point.get('can.fuel_level_percent') && point.get('can.fuel_level_percent'))) {\n            let fuelCapacity = Number(selectedVehicle.get('fuel.capacity'))\n            return fuelCapacity * Number(point.get('can.fuel_level_percent')) / 100\n        }\n\n        return 0\n    },\n    _getCanAdblueLevel(point, selectedVehicle) {\n        if (!point) { return null }\n\n        if (!point.get('can')) { return 0 }\n\n        if (!Ember.isNone(point.get('can.adblue_level') && point.get('can.adblue_level'))) {\n            let adblueCapacity = Number(selectedVehicle.get('adblueCapacity'))\n            return adblueCapacity * Number(point.get('can.adblue_level')) / 100\n        }\n\n        return 0\n    },\n})\n","import Ember from 'ember';\n\nexport default Ember.Mixin.create({\n    fixScrollPadding() {\n        let elementName = '.pageContent'\n        //on reportsPage\n        if (document.getElementsByTagName(\"body\")[0].className.indexOf('reports') != -1) {\n            elementName = '.infinite-scroller'\n        }\n        //on driverBehaviourPage\n        if (document.getElementsByTagName(\"body\")[0].className.indexOf('driving') != -1) {\n            elementName = '.infinite-scroller'\n        }\n        //on dispatch page\n        if (document.getElementsByTagName(\"body\")[0].className.indexOf('dispatch') != -1) {\n            elementName = '.dispatchPage'\n        }\n        //on widgets page\n        if (document.getElementsByTagName(\"body\")[0].className.indexOf('widgets') != -1) {\n            elementName = '.widgetContent > .content'\n        }\n        //on settings page\n        if (document.getElementsByTagName(\"body\")[0].className.indexOf('settings') != -1) {\n            elementName = '.pageContent > .content'\n        }\n        let $scrollerElement = Ember.$(elementName)\n        if ($scrollerElement && $scrollerElement.length) {\n            let hasScroll = $scrollerElement.hasScrollBar()\n            $scrollerElement.toggleClass('hasScrollBar', hasScroll)\n        }\n    },\n\n    fixScrollPaddingBySelector(elementName) {\n        if (!elementName) { return false }\n        let $scrollerElement = Ember.$(elementName)\n        if ($scrollerElement && $scrollerElement.length) {\n            let hasScroll = $scrollerElement.hasScrollBar()\n            $scrollerElement.toggleClass('hasScrollBar', hasScroll)\n        }\n    },\n});\n","import Mixin from '@ember/object/mixin'\n\nexport default Mixin.create({\n    getVehicleTypes() {\n        const types = [\n            { name: 'car', translationKey: 'management.vehicles.type.car' },\n            { name: 'minibus', translationKey: 'management.vehicles.type.minibus' },\n            { name: 'bus', translationKey: 'management.vehicles.type.bus' },\n            { name: 'truck', translationKey: 'management.vehicles.type.truck' },\n            { name: 'tractor', translationKey: 'management.vehicles.type.tractor' },\n            { name: 'harvester', translationKey: 'management.vehicles.type.harvester' },\n            { name: 'construction', translationKey: 'management.vehicles.type.construction' },\n            { name: 'trailer', translationKey: 'management.vehicles.type.trailer' },\n            { name: 'semi-trailer', translationKey: 'management.vehicles.type.semi-trailer' },\n            { name: 'utility', translationKey: 'management.vehicles.type.utility' },\n        ]\n\n        return types\n    }\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\nexport default MF.Fragment.extend({\n    time: DS.attr('date'),\n    location: DS.attr('string'),\n    geofences: DS.attr(),\n    fuelLevel: DS.attr(),\n    fuelLevels: DS.attr(),\n    can: DS.attr(),\n    seal: DS.attr(),\n});","import DS from 'ember-data'\n\nexport default DS.Model.extend({\n\tgroupID: DS.attr('string'),\n\tcompanyID: DS.attr('string'),\n\tname: DS.attr('string'),\n})","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    sn: DS.attr('string'),\n    vehicleID: DS.attr('string'),\n    groupID: DS.attr('string'),\n    companyID: DS.attr('string'),\n    type: DS.attr('string'),\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    alertInterval: DS.attr('number')\n});","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    name: DS.attr('string'),\n    type: DS.attr('string'),\n    size: DS.attr('number'),\n    hash: DS.attr('string')\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    value:      DS.attr('number'),\n    currency:   DS.attr('string')\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    from: DS.attr('date'),\n    until: DS.attr('date')\n});\n\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default DS.Model.extend({\n    groupID: DS.attr('string'),\n    companyID: DS.attr('string'),\n    type: DS.attr('string'),\n    category: DS.attr('string'),\n    number: DS.attr('string'),\n    valid: DS.attr(),\n    price: MF.fragment('doc-price'),\n    file: MF.fragment('doc-file'),\n    document: DS.attr('file'),\n\n    details: MF.fragment('doc-details'),\n\tuser: DS.belongsTo('user'),\n    vehicle: DS.belongsTo(\"vehicle\"),\n\n    downloading: false\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    stationary: DS.attr('number'),\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    enter: DS.attr('string'),\n    exit: DS.attr('string'),\n    stationary: DS.attr('string'),\n});\n","import MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    event_trigger: MF.fragment('fragments/geofence/event-trigger', { defaultValue: { stationary: null } }),\n    event_type: MF.fragment('fragments/geofence/event-type')\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\nimport Ember from 'ember';\nimport mapMixin from 'tracknamic-smb/mixins/map'\n\nexport default MF.Fragment.extend(mapMixin, {\n    type: DS.attr('string'),\n    coordinates: DS.attr('coordinate'),\n\n    centerLatLng: Ember.computed('type', 'coordinates', function () {\n        if (this.get(\"type\") === \"Polygon\") {\n            // is Polygon get center\n            return this.getCenter(this.get('coordinates'))\n        }\n        else {\n            return this.get('coordinates')[0]\n        }\n    })\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({    \n    night_end_time: DS.attr('string'),\n    night_start_time: DS.attr('string'),\n})","import MF from 'ember-data-model-fragments';\nimport DS from 'ember-data';\n\nexport default MF.Fragment.extend({    \n    at: DS.attr('number'),\n    be: DS.attr('number'),\n    bg: DS.attr('number'),\n    hr: DS.attr('number'),\n    cy: DS.attr('number'),\n    cz: DS.attr('number'),\n    dk: DS.attr('number'),\n    ee: DS.attr('number'),\n    fl: DS.attr('number'),\n    fr: DS.attr('number'),\n    de: DS.attr('number'),\n    gr: DS.attr('number'),            \n    hu: DS.attr('number'),\n    ie: DS.attr('number'),\n    it: DS.attr('number'),\n    lv: DS.attr('number'),\n    lt: DS.attr('number'),\n    lu: DS.attr('number'),\n    mt: DS.attr('number'),\n    nl: DS.attr('number'),\n    pl: DS.attr('number'),\n    pt: DS.attr('number'),\n    ro: DS.attr('number'),\n    sk: DS.attr('number'),\n    sl: DS.attr('number'),\n    es: DS.attr('number'),\n    se: DS.attr('number'),\n    gb: DS.attr('number')\n});\n","import MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({    \n    rpm: MF.fragment('fragments/rpm'),\n})","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    'poi-enter': DS.attr(),\n    'poi-exit': DS.attr(),\n    'poi-stationary': DS.attr(),\n    'geofence-enter': DS.attr(),\n    'geofence-exit': DS.attr(),\n    'geofence-stationary': DS.attr(),\n    'document-expiry': DS.attr(),\n    'speeding': DS.attr(),\n    'door-open-outside-poi': DS.attr(),\n    'seal-broken': DS.attr(),\n    'fuel-level-drop-stationary': DS.attr(),\n    'fuel-consumption-excessive': DS.attr(),\n    'maintenance-notification': DS.attr({ defaultValue: [] }),\n    'aux-cooling-while-moving': DS.attr({ defaultValue: [] }),\n    'aux-heating-while-moving': DS.attr({ defaultValue: [] }),\n\t'low-battery': DS.attr({ defaultValue: [] }),\n\t'fast-battery-discharge': DS.attr({ defaultValue: [] }),\n\t'taxi-coasting': DS.attr({ defaultValue: [] }),\n\t'tacho-rest': DS.attr({ defaultValue: [] }),\n\t'panic-button': DS.attr({ defaultValue: [] }),\n});\n","import MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    status: MF.fragment('fragments/group-settings/order/status', { defaultValue: () => { return {} }})\n})\n","import MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    colors: MF.fragmentArray('fragments/group-settings/order/status/colors', { defaultValue: () => { return [] } }),\n    labels: MF.fragmentArray('fragments/group-settings/order/status/labels', { defaultValue: () => { return [] } }),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\n\nexport default MF.Fragment.extend({\n\tcolor: DS.attr('string'),\n\tstatus_id: DS.attr('string'),\n\n\tstatus: Ember.computed('status_id', function () {\n        return this.get('store').peekAll('order-status').findBy('id', this.get('status_id'))\n    }),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\n\nexport default MF.Fragment.extend({\n\ttext: DS.attr('string'),\n\tstatus_id: DS.attr('string'),\n\n\tstatus: Ember.computed('status_id', function () {\n        return this.get('store').peekAll('order-status').findBy('id', this.get('status_id'))\n    }),\n})\n","import MF from 'ember-data-model-fragments'\nimport DS from 'ember-data'\n\nexport default MF.Fragment.extend({\n    16: DS.attr(),\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n\tlocale: DS.attr('string'),\n\ttimezone: DS.attr('string'),\n\tshowExternalID: DS.attr('boolean', { defaultValue: true }),\n\tshare: DS.attr(),\n\tdriver: DS.attr(),\n\torderLoadTimespan: DS.attr('number', { defaultValue: 7 }),\n\tspeedLimit: MF.fragment('fragments/group-settings/speedLimit'),\n\tcountryCosts: MF.fragment('fragments/group-settings/country-costs'),\n\tcabotage: MF.fragment('fragments/group-settings/cabotage'),\n\treports: MF.fragment('fragments/group-settings/reports'),\n\temailList: MF.fragment('fragments/group-settings/email-list', {\n\t\tdefaultValue: {\n\t\t\t'poi-enter': [],\n\t\t\t'poi-exit': [],\n\t\t\t'poi-stationary': [],\n\t\t\t'geofence-enter': [],\n\t\t\t'geofence-exit': [],\n\t\t\t'geofence-stationary': [],\n\t\t\t'document-expiry': [],\n\t\t\t'speeding': [],\n\t\t\t'door-open-outside-poi': [],\n\t\t\t'seal-broken': [],\n\t\t\t'fuel-level-drop-stationary': [],\n\t\t\t'fuel-consumption-excessive': [],\n\t\t\t'maintenance-reminder': [],\n\t\t\t'aux-cooling-while-moving': [],\n\t\t\t'aux-heating-while-moving': [],\n\t\t\t'low-battery': [],\n\t\t\t'fast-battery-discharge': [],\n\t\t\t'taxi-coasting': [],\n\t\t\t'tacho-rest': [],\n\t\t\t'panic-button': [],\n\t\t}\n\t}),\n\tphoneList: MF.fragment('fragments/group-settings/email-list', {\n\t\tdefaultValue: {\n\t\t\t'poi-enter': [],\n\t\t\t'poi-exit': [],\n\t\t\t'poi-stationary': [],\n\t\t\t'geofence-enter': [],\n\t\t\t'geofence-exit': [],\n\t\t\t'geofence-stationary': [],\n\t\t\t'document-expiry': [],\n\t\t\t'speeding': [],\n\t\t\t'door-open-outside-poi': [],\n\t\t\t'seal-broken': [],\n\t\t\t'fuel-level-drop-stationary': [],\n\t\t\t'fuel-consumption-excessive': [],\n\t\t\t'maintenance-reminder': [],\n\t\t\t'aux-cooling-while-moving': [],\n\t\t\t'aux-heating-while-moving': [],\n\t\t\t'low-battery': [],\n\t\t\t'fast-battery-discharge': [],\n\t\t\t'taxi-coasting': [],\n\t\t\t'panic-button': [],\n\t\t}\n\t}),\n\torder: MF.fragment('fragments/group-settings/order', { defaultValue: () => { return {} } }),\n});\n","import MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n\tcar: MF.fragment('fragments/vehicleType'),\n\tutility: MF.fragment('fragments/vehicleType'),\n\tminibus: MF.fragment('fragments/vehicleType'),\n\tbus: MF.fragment('fragments/vehicleType'),\n\ttruck: MF.fragment('fragments/vehicleType'),\n\ttractor: MF.fragment('fragments/vehicleType'),\n\tharvester: MF.fragment('fragments/vehicleType'),\n\tconstruction: MF.fragment('fragments/vehicleType'),\n\ttrailer: MF.fragment('fragments/vehicleType'),\n\t'semi-trailer': MF.fragment('fragments/vehicleType')\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    user_id: DS.attr('string'),\n    received_at: DS.attr('date'),\n    opened_at: DS.attr('date')\n});\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n\tname: DS.attr('string'),\n\ttype: DS.attr('date'),\n\tsize: DS.attr('number'),\n\thash: DS.attr('string'),\n})","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\n\nexport default MF.Fragment.extend({\n\ttimestamp: DS.attr('date'),\n\tstatus_id: DS.attr('string'),\n\n\tstatus: Ember.computed('status_id', function () {\n        return this.get('store').peekAll('order-status').findBy('id', this.get('status_id'))\n    }),\n})","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\n\nexport default MF.Fragment.extend({\n\taddress: DS.attr('string'),\n\tarrival_actual: DS.attr('date'),\n\tarrival_expected: DS.attr('date'),\n\tcoordinates: DS.attr(),\n\tdeparture_actual: DS.attr('date'),\n\tdeparture_expected: DS.attr('date'),\n\tgeofence_id: DS.attr('string'),\n\toperation_duration_actual: DS.attr('date'),\n\toperation_duration_expected: DS.attr('date'),\n\ttype: DS.attr('string'),\n\n\tdisplayAddress: Ember.computed('address', 'coordinates', function () {\n\t\tconst address = this.get('address')\n\t\tif (address != null && address.length > 0) { return address }\n\n\t\tconst coordinates = this.get('coordinates') || []\n\t\tif (coordinates.length === 2) {\n\t\t\treturn `${coordinates[1].toFixed(4)}, ${coordinates[0].toFixed(4)}`\n\t\t}\n\t})\n})","import MF from 'ember-data-model-fragments'\nimport { array } from 'ember-data-model-fragments/attributes'\n\nexport default MF.Fragment.extend({\n\tgroups: array('string'),\n\tvehicles: array('string'),\n\tpages: array('string'),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    coordinates: DS.attr('coordinate'),\n    altitude: DS.attr('number'), // m\n    speed: DS.attr('number'), // km/h\n    bearing: DS.attr('number'), // degrees (float)\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    simplified: MF.fragmentArray('fragments/route/route-point'),\n    mapMatched: DS.attr(),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    can: DS.attr(),\n    engine_state: DS.attr('boolean'),\n    fuel_level: DS.attr('number'), // float\n    geofences: DS.attr(),\n    gps: MF.fragment('fragments/route/point-gps'),\n    imu: DS.attr(),\n    sensors: DS.attr(),\n    tacho: DS.attr(),\n    taxi_state: DS.attr('boolean'),\n    timestamp: DS.attr(), // date-time\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    groups: DS.attr(),\n    vehicles: DS.attr(),\n    users: DS.attr(),\n    modules: DS.attr(),\n    pages: DS.attr(),\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    categories: DS.attr()\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    iButtonID: DS.attr('string'),\n    tachoCardID: DS.attr('string'),\n    drivingLicense: MF.fragment('fragments/user/details-driving-license'),\n    locale: DS.attr(\"string\"),\n    timezone: DS.attr(\"string\"),\n    countryCode: DS.attr('string')\n});\n","import MF from 'ember-data-model-fragments'\nimport DS from 'ember-data'\n\nexport default MF.Fragment.extend({\n\treports: MF.fragment('fragments/user/settings/reports'),\n\twidgets: MF.fragment('fragments/user/settings/widgets'),\n\tmap: MF.fragment('fragments/user/settings/map'),\n\tdispatch: MF.fragment('fragments/user/settings/dispatch'),\n\tlandingPage: DS.attr('string'),\n})\n","import MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    orders: MF.fragment('fragments/user/settings/report'),\n    clients: MF.fragment('fragments/user/settings/report'),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n\tmarkerType: DS.attr('string', { defaultValue: 'simple' }),\n\tmarkerTop: DS.attr('string', { defaultValue: 'speed' }),\n\tmarkerText: DS.attr('string', { defaultValue: 'licensePlate' }),\n\tmanualVehicles: DS.attr(),\n\thistoryInterval: DS.attr('number', { defaultValue: 3 }),\n\tstopLimit: DS.attr('number', { defaultValue: 120 }),\n\tdisableGeofencesOnZoomLevel: DS.attr('number', { defaultValue: 30 }),\n\tshowClusters: DS.attr('boolean', { defaultValue: true }),\n\tstatesFilter: DS.attr(),\n\tvehiclesFilter: DS.attr(),\n\tgroupsFilter: DS.attr(),\n\tdispatchersFilter: DS.attr(),\n\tmarkerSize: DS.attr('string'),\n\tmarkerBigSelectable: DS.attr('boolean'),\n\tmarkerBigTopText: DS.attr('string'),\n\tgeofenceShapeVisibility: DS.attr('string'),\n\ttoggledMarkerVehicles: DS.attr(),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n\tcolumnOrder: DS.attr(),\n\tfilters: DS.attr(),\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    fuelSource: DS.attr('string', { defaultValue: 'sensor' }), // [sensor,can] option for distance\n    consumptionFormat: DS.attr('string', { defaultValue: 'total' }), // [total,distance] option for report consumption\n    showFluctuations: DS.attr('boolean', { defaultValue: true }), // [sensor,can] option for fuel-level\n    priority: DS.attr('string', { defaultValue: 'gps' }), // [gps,can] option for distance\n    cngUnit: DS.attr('string', { defaultValue: 'weight' }), // [volume,weight,percent] option for cng prefference\n    poiAddress: DS.attr('string', { defaultValue: 'poi' }), // [poi,address] option for report route and stationary\n    reportsTimetable: DS.attr('boolean', { defaultValue: false }),\n    readingInterval: DS.attr('number', { defaultValue: 15 }), // option for temperature report\n    optionHeatmap: DS.attr('string', { defaultValue: 'distanceComposed' }), // faz report\n    stationaryDuration: DS.attr('number', { defaultValue: 1 }),\n    windowDuration: DS.attr('number', { defaultValue: 15 }),\n    density: DS.attr('number', { defaultValue: 5 }),\n\tgrouping: DS.attr('string', { defaultValue: 'vehicle' }),\n\tsummarize: DS.attr('boolean', { defaultValue: true }),\n    // reports\n    report1: MF.fragment('fragments/user/settings/report'), // FAZ\n    report2: MF.fragment('fragments/user/settings/report'), // Routes\n    report3: MF.fragment('fragments/user/settings/report'), // Stationary\n    report5: MF.fragment('fragments/user/settings/report'), // AfterHours\n    report6: MF.fragment('fragments/user/settings/report'), // POI Activity\n    report7: MF.fragment('fragments/user/settings/report'), // Temperature\n    report8: MF.fragment('fragments/user/settings/report'), // Temp-range\n    report11: MF.fragment('fragments/user/settings/report'), // Fuel Level\n    report12: MF.fragment('fragments/user/settings/report'), // Engine\n    report13: MF.fragment('fragments/user/settings/report'), // Taxi\n    report14: MF.fragment('fragments/user/settings/report'), // Countries\n    report16: MF.fragment('fragments/user/settings/report'), // Costs\n    report17: MF.fragment('fragments/user/settings/report'), // Fleet Summary\n    report18: MF.fragment('fragments/user/settings/report'), // Timesheet\n    report19: MF.fragment('fragments/user/settings/report'), // Construction\n    report21: MF.fragment('fragments/user/settings/report'), // OBU Tickets\n    report24: MF.fragment('fragments/user/settings/report'), // Consumption\n    report26: MF.fragment('fragments/user/settings/report'), // Tacho timesheet\n    report27: MF.fragment('fragments/user/settings/report'), // Temperature\n    report28: MF.fragment('fragments/user/settings/report'), // Cabotage\n    report29: MF.fragment('fragments/user/settings/report'), // Transits\n\treport34: MF.fragment('fragments/user/settings/report'), // Fleet Summary Extended\n    // driver beahaviour\n    report25: MF.fragment('fragments/user/settings/report'), // KM-DAY\n    report30: MF.fragment('fragments/user/settings/report'), // FCZ\n    report31: MF.fragment('fragments/user/settings/report'), // Engine-load-rpm\n    report33: MF.fragment('fragments/user/settings/report'), // Driver routes\n    report40: MF.fragment('fragments/user/settings/report'), // Driver Performance\n});\n","import MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n\tliveStatus: MF.fragment('fragments/user/settings/report'),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n\tmax: DS.attr('number'),\n\tmin: DS.attr('number'),\n\toffset: DS.attr('number'),\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    auxiliaryHeatingTime: DS.attr('string'),\n    distanceWise: DS.attr('number'),\n    timeWise: DS.attr('number'),\n    weightWise: DS.attr('number'),\n});\n","import MF from 'ember-data-model-fragments';\nimport DS from 'ember-data';\n\nexport default MF.Fragment.extend({\n\twidth: DS.attr('number'),\n\theight: DS.attr('number'),\n\tlength: DS.attr('number'),\n\tweight: DS.attr('number'),\n});","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    power: DS.attr('number'),\n    capacity: DS.attr('number'),\n});\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport { computed } from '@ember/object'\n\nexport default MF.Fragment.extend({\n\ttype: DS.attr('string'),\n\tcapacity: DS.attr('number'),\n\tconsumption: MF.fragment('fragments/vehicle/consumptionFragment'),\n\n\tunit: computed('type', function () {\n\t\tif (this.get('type') === 'electric') {\n\t\t\treturn 'kWh'\n\t\t}\n\t\treturn 'L'\n\t}),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    popupText: DS.attr('string'),\n\tgeofencesCount: DS.attr('number')\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\nimport Ember from 'ember'\nimport { camelize } from '@ember/string'\nimport { inject as service } from '@ember/service'\n\nexport default MF.Fragment.extend({\n    currentUser: service('current-user'),\n    i18n: service(),\n\n    type: DS.attr('string'),\n    input: DS.attr('string'),\n    outputUnit: DS.attr('string'),\n    translation: DS.attr(),\n\n    localizedText: Ember.computed('translation', 'type', 'currentUser.locale', function () {\n        const locale = this.getWithDefault('currentUser.locale', 'en')\n        const translation = this.get('translation').find(translation => translation.locale === locale)\n        if (!Ember.isEmpty(translation)) { return translation.get('text') }\n\n\t\tif (this.get('type').startsWith('door')) {\n\t\t\treturn this.get('i18n').t(`doors.${camelize(this.get('type'))}`)\n\t\t}\n\n        return this.get('i18n').t(`sensor.${this.get('type')}`)\n    }),\n});\n","import MF from 'ember-data-model-fragments'\nimport DS from 'ember-data'\n\nexport default MF.Fragment.extend({\n\troute: MF.fragment('fragments/vehicle/settings/route'),\n\tsensor: MF.fragment('fragments/vehicle/settings/sensor', {\n\t\tdefaultValue: {\n\t\t\tfuelLevelFluctuation: null,\n\t\t}\n\t}),\n\tcan: MF.fragment('fragments/vehicle/settings/can', {\n\t\tdefaultValue: {\n\t\t\tfuelLevelCompensation: null,\n\t\t\tfuelLevelValueType: null,\n\t\t\tfuelUsedParameter: null,\n\t\t}\n\t}),\n\talerts: MF.fragment('fragments/vehicle/settings/alerts', {\n\t\tdefaultValue: {\n\t\t\tdoorOpenOutsidePOI: null,\n\t\t\tfuelLevelDropStationary: 'disabled',\n\t\t\tfuelConsumptionExcessive: 'disabled',\n\t\t\tlowBattery: 'disabled',\n\t\t\tfastBatteryDischarge: 'disabled',\n\t\t\ttachoRest: 'disabled'\n\t\t}\n\t}),\n\talertTriggers: MF.fragment('fragments/vehicle/settings/alert-triggers', {\n\t\tdefaultValue: {\n\t\t\tfuelLevelDropStationary: 1,\n\t\t\tfuelConsumptionExcessive: 1,\n\t\t\tlowBatteryThreshold: 9.3,\n\t\t\tdailyBatteryDischargeThreshold: 0.5,\n\t\t}\n\t}),\n\tfuelLevelFluctuationThreshold: DS.attr('number'),\n})","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    fuelLevelDropStationary: DS.attr('number', { defaultValue: 1 }),\n    fuelConsumptionExcessive: DS.attr('number', { defaultValue: 1 }),\n\tlowBatteryThreshold: DS.attr('number', { defaultValue: 9.3 }),\n\tdailyBatteryDischargeThreshold: DS.attr('number', { defaultValue: 0.5 }),\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    doorOpenOutsidePOI: DS.attr('string'),\n    fuelLevelDropStationary: DS.attr('string', { defaultValue: 'disabled' }),\n    fuelConsumptionExcessive: DS.attr('string', { defaultValue: 'disabled' }),\n    lowBattery: DS.attr('string', { defaultValue: 'disabled' }),\n    fastBatteryDischarge: DS.attr('string', { defaultValue: 'disabled' }),\n    tachoRest: DS.attr('string', { defaultValue: 'disabled' }),\n    panicButton: DS.attr('string', { defaultValue: 'disabled' }),\n});\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    fuelLevelCompensation: DS.attr(\"number\"),\n    fuelLevelValueType: DS.attr(\"string\"),\n    fuelUsedParameter: DS.attr(\"string\"),\n    fuelConsumptionSource: DS.attr(\"string\"),\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n\tpurpose: DS.attr('string')\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    fuelLevelFluctuation: DS.attr('number')\n});\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n\tmax: DS.attr('number'),\n\tmin: DS.attr('number'),\n\toffset: DS.attr('number')\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\n\nexport default MF.Fragment.extend({\n    location: DS.attr(),\n    speed: DS.attr('number'),\n    fuelLevel: DS.attr('number'),\n    engineState: DS.attr('boolean'),\n    relayState: DS.attr('boolean'),\n    taxiState: DS.attr('boolean', { allowNull: true }),\n    freezer: DS.attr('boolean'),\n    temperature: DS.attr('number'),\n    odometer: DS.attr('number'),\n    workTime: DS.attr('number'),\n    geofences: DS.attr(),\n    doors: MF.array('string'),\n    can: MF.fragment('fragments/vehicle/status/can'),\n    tacho: MF.fragment('fragments/vehicle/status/tacho'),\n    bearing: DS.attr(\"number\"),\n    updatedAt: DS.attr(),\n    sensors: DS.attr(),\n    nextGeofence: DS.attr('string'),\n    nextGeofenceTimestamp: DS.attr('number'),\n\n    locationLatLng: Ember.computed('location.[]', function () {\n        if (!this.get('location')) { return null }\n\n        return {\n            lat: this.get('location')[1],\n            lng: this.get('location')[0],\n        }\n    })\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    speed: DS.attr('number'),\n    rpm: DS.attr('number'),\n    acceleration: DS.attr('number'),\n    distance: DS.attr('number'),\n    workTime: DS.attr('number'),\n    fuel: MF.fragment('fragments/vehicle/status/can/fuel'),\n});\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\n\nexport default MF.Fragment.extend({\n    used: DS.attr('number'),\n    level: DS.attr(),\n    usedLiters: Ember.computed(\"used\", function () {\n        return this.get(\"used\") / 10\n    })\n})\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    odometer: DS.attr('number'),\n    driver1: MF.fragment('fragments/vehicle/status/tacho/driver'),\n    driver2: MF.fragment('fragments/vehicle/status/tacho/driver'),\n});\n","import DS from 'ember-data'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\n\nexport default MF.Fragment.extend(datesMixin, {\n    i18n: Ember.inject.service(),\n\n    card: DS.attr('string'),\n    activity: DS.attr('number'),\n    distance: DS.attr('number'),\n    time: DS.attr('number'),\n    computed: MF.fragment('fragments/vehicle/status/tacho/driver/computed'),\n\n    present: Ember.computed('card', function () {\n        const card = this.get('card') || ''\n        return card.trim().length > 0\n    }),\n    activityName: Ember.computed('activity', function () {\n        return this.get('i18n').t(`tacho.activities.${this.get('activity') || -1}`)\n    }),\n    timeFormatted: Ember.computed('time', function () {\n        return this.durationAsHM(this.get('time'), 's')\n    }),\n    distanceFormatted: Ember.computed('distance', function () {\n        const distance = Math.round((this.get('distance') / 1000) || 0)\n        return `${distance} km`\n    }),\n\n    user: Ember.computed('card', function () {\n        return this.get('store').peekAll('user').findBy('details.tachoCardID', this.get('card'))\n    }),\n    fullName: Ember.computed('user.fullName', function () {\n        const fullName = this.get('user.fullName')\n        if (Ember.isEmpty(fullName)) {\n            if (!this.get('present')) { return this.get('i18n').t('unknown') }\n            return this.get('card')\n        }\n        return fullName\n    }),\n})\n","import DS from 'ember-data'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\nimport MF from 'ember-data-model-fragments'\nimport { computed } from '@ember/object'\n\nexport default MF.Fragment.extend(datesMixin, {\n    week: DS.attr('number'),\n    day: DS.attr('number'),\n    driveTimeLeft: DS.attr('number'),\n    driveTimeLeftDay: DS.attr('number'),\n    driveTimeLeftWeek: DS.attr('number'),\n    remainAmplitude: DS.attr('number'),\n    totalRecovery: DS.attr('number'),\n    lastDailyDuration: DS.attr('number'),\n    amplitudeStartTime: DS.attr('number'),\n\n    // Because we don't always know if the current week will be extended, we assume a next week of 34 hours + an extension (22 hours)\n    extendedDriveTimeNextWeek: computed('driveTimeNextWeek', function () { return this.get('driveTimeNextWeek') - 122400 }),\n\n    driveTimeLeftFormatted: computed('driveTimeLeft', function () {\n        return (this.get('driveTimeLeft') || 0) > 0 ? this.durationAsHM(this.get('driveTimeLeft') || 0, 's') : '-'\n    }),\n    driveTimeLeftDayFormatted: computed('driveTimeLeftDay', function () {\n        return (this.get('driveTimeLeftDay') || 0) > 0 ? this.durationAsHM(this.get('driveTimeLeftDay') || 0, 's') : '-'\n    }),\n    driveTimeLeftWeekFormatted: computed('driveTimeLeftWeek', function () {\n        return (this.get('driveTimeLeftWeek') || 0) > 0 ? this.durationAsHM(this.get('driveTimeLeftWeek') || 0, 's') : '-'\n    }),\n    remainAmplitudeFormatted: computed('remainAmplitude', function () { \n        return (this.get('remainAmplitude') || 0) > 0 ? this.durationAsHM(this.get('remainAmplitude') || 0, 's') : '-'\n    }),\n    totalRecoveryFormatted: computed('totalRecovery', function () { \n        return (this.get('totalRecovery') || 0) > 0 ? this.durationAsHM(this.get('totalRecovery') || 0, 's') : '-'\n    }),\n    lastDailyDurationFormatted: computed('lastDailyDuration', function () { \n        return (this.get('lastDailyDuration') || 0) > 0 ? this.durationAsHM(this.get('lastDailyDuration') || 0, 's') : '-'\n    }),\n    amplitudeStartTimeFormatted: computed('amplitudeStartTime', function () { \n        return (this.get('amplitudeStartTime') || 0) > 0 ? this.durationAsHM(this.get('amplitudeStartTime') || 0, 's') : '-'\n    }),\n    driveTimeLeftDayFormattedHoursAndTooltip: computed('driveTimeLeftDay', function () {\n        return this.onlyHoursAndTooltipFull(this.get('driveTimeLeftDay') || 0, 's')\n    }),\n    driveTimeLeftWeekFormattedHoursAndTooltip: computed('driveTimeLeftWeek', function () {\n        return this.onlyHoursAndTooltipFull(this.get('driveTimeLeftWeek') || 0, 's')\n    }),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport { computed } from '@ember/object'\nimport urlHelper from 'tracknamic-smb/helpers/url'\nimport { inject as service } from '@ember/service'\n\nexport default DS.Model.extend({\n\tcurrentUser: service('current-user'),\n\n\tboundary: DS.attr('number'),\n\tname: DS.attr('string'),\n\ttype: DS.attr('string'),\n\tshape: MF.fragment('fragments/geofence/shape'),\n\tglobal: DS.attr('boolean'),\n\tcolor: DS.attr('string'),\n\tsettings: MF.fragment('fragments/geofence/settings'),\n\tgroupID: DS.attr('string'),\n\texternalID: DS.attr('string'),\n\tgroup: DS.belongsTo('group'),\n\tvehicles: DS.attr(),\n\ticon: DS.attr('string', { defaultValue: 'home-marker gray' }),\n\n\tcompanyID: computed('groupID', function () {\n\t\tlet group = this.get(\"groupID\")\n\t\tlet isSubgroup = group.indexOf('-') != -1\n\t\tif (isSubgroup) {\n\t\t\treturn group.substring(0, group.indexOf('-'))\n\t\t} else {\n\t\t\treturn group\n\t\t}\n\t}),\n\n\tcompany: computed('companyID', function () {\n\t\tlet id = this.get('companyID')\n\t\tif (!id) { return null }\n\n\t\tlet group = this.store.peekRecord('group', id)\n\t\treturn group ? group : this.store.findRecord('group', id)\n\t}),\n\n\tshowExternalID: computed.alias('company.settings.showExternalID'),\n\n\tfullName: computed('name', 'externalID', 'showExternalID', function () {\n\t\tlet name = this.get('name') ? this.get('name') : ''\n\t\treturn this.get('externalID') && this.get('showExternalID') ? this.get('externalID') + ' ' + name : name\n\t}),\n\n\ticonURL: computed('icon', function () {\n\t\tconst icon = this.get('icon')\n\t\tconst defaultIcon = this.get('currentUser.defaultIcon')\n\t\tconst className = icon ? icon : defaultIcon\n\t\tlet url\n\n\t\tswitch (className) {\n\t\t\tcase 'mega-image megaImage':\n\t\t\t\turl = 'assets/images/mi-mi.png'\n\t\t\t\tbreak\n\t\t\tcase 'mega-image hall':\n\t\t\t\turl = 'assets/images/mi-hall.png'\n\t\t\t\tbreak\n\t\t\tcase 'mega-image shopGo':\n\t\t\t\turl = 'assets/images/mi-go.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker blue':\n\t\t\t\turl = 'assets/images/icoane_blue.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker green':\n\t\t\t\turl = 'assets/images/icoane_green.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker orange':\n\t\t\t\turl = 'assets/images/icoane_orange.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker red':\n\t\t\t\turl = 'assets/images/icoane_red.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker yellow':\n\t\t\t\turl = 'assets/images/icoane_galben.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker green1':\n\t\t\t\turl = 'assets/images/icoane_verde.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker turquoise':\n\t\t\t\turl = 'assets/images/icoane_turcoaz.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker purple':\n\t\t\t\turl = 'assets/images/icoane_mov.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker pink':\n\t\t\t\turl = 'assets/images/icoane_roz.png'\n\t\t\t\tbreak\n\t\t\tcase 'home-marker gray':\n\t\t\tdefault:\n\t\t\t\turl = 'assets/images/icoane_gray.png'\n\t\t}\n\n\t\treturn urlHelper.compute([url])\n\t})\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport { computed } from '@ember/object'\n\nexport default DS.Model.extend({\n\tcompanyID: DS.attr('string'),\n\tparentID: DS.attr('string'),\n\tname: DS.attr('string'),\n\tdetails: DS.attr(),\n\n\tvehicles: DS.hasMany(\"vehicle\", { inverse: \"group\", allowNull: true }),\n\tusers: DS.hasMany(\"user\", { inverse: \"group\" }),\n\tsettings: MF.fragment('fragments/group-settings/settings'),\n\n\tlevel: computed('id', function () {\n\t\treturn (this.get('id').match(/-/g) || []).length + 1\n\t}),\n})","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default MF.Fragment.extend({\n    name:       DS.attr(\"string\"),\n    value:      DS.attr(\"string\"),\n    type:       DS.attr(\"string\"),\n    disabled:   DS.attr(\"boolean\")\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\n\nexport default DS.Model.extend({\n    groupID:    DS.attr(\"string\"),\n    enabled:    DS.attr(\"boolean\"),\n    options:    MF.fragmentArray(\"integration-option-fragment\"),\n    template:   DS.attr(\"string\"),\n    name:       DS.attr(\"string\"),\n    logoUrl:    DS.attr(\"string\"),\n    homepage:   DS.attr(\"string\"),\n    createdAt:  DS.attr(\"date\")\n});","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n\tvalue: DS.attr('number'), // km | hours\n\ttime: DS.attr('number') // days\n})\n","import DS from 'ember-data'\nimport { computed } from '@ember/object'\nimport MF from 'ember-data-model-fragments'\nimport { inject as service } from '@ember/service'\nimport { isEmpty } from '@ember/utils'\nimport { truncate } from 'lodash'\n\nexport default DS.Model.extend({\n\ti18n: service(),\n\n\tgroupID: DS.attr('string'),\n\tcompanyID: DS.attr('string'),\n\tscope: DS.attr('string'), // vehicle || machinery || users\n\ttype: DS.attr('string'),\n\tentityIDs: DS.attr(),\n\ttarget: MF.fragment('maintenance-rule-fragment', { defaultValue: { value: null, time: null } }),\n\tthreshold: MF.fragment('maintenance-rule-fragment', { defaultValue: { value: null, time: null } }),\n\tcreatedAt: DS.attr(\"string\"),\n\tcomments: DS.attr(\"string\"),\n\n\tisStandard: computed('entityIDs.[]', function () {\n\t\tconst entityIDs = this.get('entityIDs')\n\t\treturn !entityIDs || !entityIDs.length\n\t}),\n\n\tisValid: computed('type', 'target.value', 'target.time', function () {\n\t\tif (!this.get('type')) return false\n\t\tif (this.get('target.value') || this.get('target.time')) return true\n\t\treturn false\n\t}),\n\n\tlocalizedType: computed('type', 'comments', function () {\n\t\tconst type = this.get('type')\n\t\tif (isEmpty(type)) { return '' }\n\t\tconst comments = truncate(this.get('comments'), {length: 13})\n\t\tconst translatedType = this.get('i18n').t(`management.maintenances.types.${type}`)\n\t\tif (comments){\n\t\t\treturn type.indexOf('custom') !== -1 ? this.get('i18n').t(`maintenance:rule.types.${type}`) : `${translatedType} (${comments})`\n\t\t}\n\t\treturn translatedType\n\t}),\n\n\tunit: computed('scope', function () {\n\t\treturn this.get('scope') === 'vehicle' ? 'km' : 'h'\n\t}),\n})\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    userID: DS.attr('string'),\n    groupID: DS.attr('string'),\n    channelID: DS.attr('string'),\n    category: DS.attr('string'),\n    subject: DS.attr('string'),\n    users: DS.attr(),\n    messages: DS.hasMany('message', {async: true}),\n    unread: DS.attr('number', { defaultValue: 0 }),\n    createdAt: DS.attr('date'),\n    updatedAt: DS.attr('date'),\n\n    token: DS.attr('string', {allowNull: true})\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments';\nimport Ember from 'ember';\nimport ENV from '../config/environment';\n\nexport default DS.Model.extend({\n    messageThread: DS.belongsTo('message-thread'),\n    category: DS.attr('string'),\n    user: DS.belongsTo('user'),\n    content: DS.attr('string'),\n    receivers: MF.fragmentArray('fragments/message-receiver'),\n\n    openedBy: DS.attr(),\n\n    createdAt: DS.attr('date', { allowNull: true }),\n    updatedAt: DS.attr('date', { allowNull: true }),\n\n    // Use a token to distinguish between browsers. It will not be saved to the database.\n    // This will be returned by the API back to the client only on message creation to make sure that the message will appear in clients other than the client it was sent from.\n    // The token will be stored in the messages service and once it's received back it will be removed from there.\n    token: DS.attr('string', { allowNull: true }),\n    document: Ember.computed('category', 'content', function () {\n        if (this.get('category') === 'attachment') {\n            return this.get('content').replace('attachment:', `${ENV.api.host}/${ENV.api.namespace}/messages/attachment/`);\n        } else {\n            return null;\n        }\n    }),\n\n    detailsOpened: DS.attr('boolean', {allowNull: true}),\n    seenBy: DS.attr('string', {allowNull: true})\n});","import Ember from 'ember'\nimport DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    vehicle_id: DS.attr('string'),\n    vehicle: Ember.computed('vehicle_id', function () {\n        let id = this.get('vehicle_id')\n        if (!id) { return null }\n\n        let vehicle = this.store.peekRecord('vehicle', id)\n        return vehicle ? vehicle : this.store.findRecord('vehicle', id)\n    }),\n    geofence_id: DS.attr('string'),\n    geofence: Ember.computed('geofence_id', function () {\n        let id = this.get('geofence_id')\n        if (!id) { return null }\n\n        let geofence = this.store.peekRecord('geofence', id)\n        return geofence ? geofence : this.store.findRecord('geofence', id)\n    }),\n    document_id: DS.attr('string'),\n    document: Ember.computed('document_id', function () {\n        let id = this.get('document_id')\n        if (!id) { return null }\n\n        let document = this.store.peekRecord('document', id)\n        return document ? document : this.store.findRecord('document', id)\n    }),\n    seal_id: DS.attr('string'),\n    seal: Ember.computed('seal_id', function () {\n        let id = this.get('seal_id')\n        if (!id) { return null }\n\n        let seal = this.store.peekRecord('seal', id)\n        return seal ? seal : this.store.findRecord('seal', id)\n    }),\n    rule_id: DS.attr('string'),\n    rule: Ember.computed('rule_id', function () {\n        let id = this.get('rule_id')\n        if (!id) { return null }\n\n        let rule = this.store.peekRecord('maintenance-rule', id)\n        return rule ? rule : this.store.findRecord('maintenance-rule', id)\n    }),\n\n    limit: DS.attr('number'),\n    speed: DS.attr('number'),\n    amount: DS.attr('number'),\n    deadline: DS.attr('date'),\n\tvoltage: DS.attr('number'),\n\tthreshold: DS.attr('number'),\n\tdrop_rate_per_hour: DS.attr('number'),\n\tallowed_drop_rate_per_hour: DS.attr('number'),\n\tfrom_country: DS.attr('string'),\n\tto_country: DS.attr('string'),\n\tsource: DS.attr('string'),\n\tdays_cycle: DS.attr('number'),\n\thours_rest: DS.attr('string'),\n    driver_name: DS.attr('string'),\n\n\tformatedAmount: Ember.computed('amount', function () {\n        if (!this.get('amount')) { return '-' }\n        return Math.abs(this.get('amount')).toFixed()\n    }),\n    speedDiff: Ember.computed('limit', 'speed', function () {\n        if (!this.get('limit') || !this.get('speed')) { return null }\n        return this.get('speed') - this.get('limit')\n    }),\n    uits: DS.attr(),\n    coordinates: DS.attr(),\n})\n","import Ember from 'ember'\nimport DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport moment from 'moment'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\nconst poiEnter = 'poi-enter'\nconst poiExit = 'poi-exit'\nconst geofence = 'geofence-'\nconst documentExpiry = 'document-expiry'\nconst doorOpenOutsidePOI = 'door-open-outside-poi'\nconst speeding = 'speeding'\nconst sealBroken = 'seal-broken'\nconst fuelDrop = 'fuel-level-drop-stationary'\nconst fuelDropConfirmed = 'fuel-level-drop-stationary-confirmed'\nconst fuelDropFluctuation = 'fuel-level-drop-stationary-fluctuation'\nconst fuelExcessive = 'fuel-consumption-excessive'\n\nexport default DS.Model.extend(datesMixin, {\n\tgroupID: DS.attr('string'),\n\tcompanyID: DS.attr('string'),\n\ttype: DS.attr('string'),\n\tstatus: DS.attr('string'),\n\tpersistent: DS.attr('boolean'),\n\tdetails: MF.fragment('not-details', { allowNull: true }),\n\tcreatedAt: DS.attr('date'),\n\tupdatedAt: DS.attr('date'),\n\ttimestamp: DS.attr('date'),\n\tdeletedAt: DS.attr('date'),\n\n\tstart: Ember.computed('timestamp', function () {\n\t\tif (!this.get('timestamp')) { return null }\n\t\treturn moment(this.convertDateToBrowserTZ(this.get('timestamp').getTime())).startOf('day').valueOf()\n\t}),\n\n\tend: Ember.computed('timestamp', function () {\n\t\tif (!this.get('timestamp')) { return null }\n\t\treturn moment(this.convertDateToBrowserTZ(this.get('timestamp').getTime())).endOf('day').valueOf()\n\t}),\n\n\tisAlert: Ember.computed('persistent', function () {\n\t\treturn this.get('persistent')\n\t}),\n\n\tisDocumentExpiry: Ember.computed('type', function () {\n\t\treturn this.get('type') === documentExpiry\n\t}),\n\n\tisPoi: Ember.computed('type', function () {\n\t\treturn this.get('type') === poiEnter || this.get('type') === poiExit\n\t}),\n\n\tisDoorOpen: Ember.computed('type', function () {\n\t\treturn this.get('type') === doorOpenOutsidePOI\n\t}),\n\n\tisGeofence: Ember.computed('type', function () {\n\t\treturn this.get('type').indexOf(geofence) > -1\n\t}),\n\n\tisSealBroken: Ember.computed('type', function () {\n\t\treturn this.get('type') === sealBroken\n\t}),\n\n\tisSpeeding: Ember.computed('type', function () {\n\t\treturn this.get('type') === speeding\n\t}),\n\n\tisFuelDrop: Ember.computed('type', function () {\n\t\treturn this.get('type') === fuelDrop\n\t}),\n\n\tisFuelDropConfirmed: Ember.computed('type', function () {\n\t\treturn this.get('type') === fuelDropConfirmed\n\t}),\n\n\tisFuelDropFluctuation: Ember.computed('type', function () {\n\t\treturn this.get('type') === fuelDropFluctuation\n\t}),\n\n\tisFuelExcessive: Ember.computed('type', function () {\n\t\treturn this.get('type') === fuelExcessive\n\t}),\n\n\tisSeen: Ember.computed.not('deletedAt'),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\n\nexport default DS.Model.extend({\n\ttransportOrder: DS.belongsTo('order-transport'),\n    groupID: DS.attr('string'),\n\tcompanyID: DS.attr('string'),\n\tsource: DS.attr('string'),\n\tdescription: DS.attr('string'),\n\tdate: DS.attr('date'),\n\tstatusHistory: MF.fragmentArray('fragments/order/freight/status-history'),\n\twaypoints: MF.fragmentArray('fragments/order/freight/waypoint'),\n\tattachments: MF.fragmentArray('fragments/order/freight/attachment'),\n\tcreatedAt: DS.attr('date'),\n\tupdatedAt: DS.attr('date'),\n\tpendingUpdate: DS.attr('boolean'),\n\n\tstatus: Ember.computed('statusHistory.[]', function () {\n\t\treturn this.get('statusHistory.firstObject')\n\t}),\n\tpossibleStatuses: Ember.computed('source', function () {\n\t\treturn this.get('store').peekAll('order-status').filterBy('source', this.get('source'))\n\t}),\n})\n","import DS from 'ember-data'\nimport { computed } from '@ember/object'\n\nexport default DS.Model.extend({\n    groupID: DS.attr('string'),\n\tcompanyID: DS.attr('string'),\n\tname: DS.attr('string'),\n\tdescription: DS.attr('string'),\n\tsource: DS.attr('string'),\n\tcustomName: DS.attr('string'),\n\n\tdisplayName: computed('name', 'customName', function () {\n\t\treturn this.get('customName') || this.get('name')\n\t}),\n})\n","import DS from 'ember-data'\nimport Ember from 'ember'\n\nexport default DS.Model.extend({\n    name: DS.attr('string'),\n    comment: DS.attr('string'),\n    source: DS.attr('string'),\n    type: DS.attr('string'),\n    client: DS.belongsTo('client'),\n    freightOrders: DS.hasMany('order-freight', { async: true }),\n    groupID: DS.attr('string'),\n    companyID: DS.attr('string'),\n    externalID: DS.attr('string'),\n    vehicleGroup: DS.belongsTo('vehicle-group'),\n    createdAt: DS.attr('date'),\n\tupdatedAt: DS.attr('date'),\n\n    isSingle: Ember.computed.equal('freightOrders.length', 1),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    width: DS.attr('number'),\n    height: DS.attr('number'),\n    length: DS.attr('number'),\n    weight: DS.attr('number'),\n    material: DS.attr('string'),\n    strict: DS.attr('boolean'),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default MF.Fragment.extend({\n    name: DS.attr('string'),\n    location: DS.attr(),\n    type: DS.attr('string'),\n    duration: DS.attr('number'),\n})\n","import DS from 'ember-data'\nimport Ember from 'ember'\nimport polyline from \"@mapbox/polyline\"\nimport MF from 'ember-data-model-fragments'\n\nexport default DS.Model.extend({\n    group: DS.belongsTo('group'),\n    startDate: DS.attr('date'),\n    name: DS.attr('string'),\n    distance: DS.attr('number'),\n    duration: DS.attr('number'),\n    schedule: DS.attr('string'),\n    polyline: DS.attr('string'),\n    vehicles: DS.hasMany('vehicle'),\n    profile: MF.fragment('planned-route-profile', { defaultValue: {} } ),\n    waypoints: MF.fragmentArray('planned-route-waypoint'),\n\n    distanceInKM: Ember.computed('distance', function() {\n        return (this.get('distance') / 1000).toFixed(2)\n    }),\n    vehicleLicensePlates: Ember.computed('vehicles.@each.licensePlate', function() {\n        return this.get('vehicles').mapBy('licensePlate').join(', ')\n    }),\n    decodedPolyline: Ember.computed('polyline', function() {\n        let encoded = this.get('polyline')\n\n        if (encoded == null || !encoded.length) {\n            return []\n        }\n\n        return polyline.decode(encoded)\n    })\n})\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    vehicleID: DS.attr(\"string\"),\n    amount: DS.attr(\"number\"),\n    timestamp: DS.attr(),\n    price: DS.attr(\"number\"),\n    groupID: DS.attr(\"string\"),\n    location: DS.attr(\"string\"),\n    invoice: DS.attr(\"string\"),\n    createdAt: DS.attr(\"string\"),\n    updatedAt: DS.attr(\"string\"),\n});\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\n\nexport default DS.Model.extend({\n\tacl: MF.fragment('fragments/role-acl', { defaultValue: { groups: [], vehicles: [], pages: [] } }),\n\tname: DS.attr(\"string\"),\n\ttype: DS.attr(\"string\", { defaultValue: 'driver' }),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport Ember from 'ember'\nimport moment from 'moment'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\nexport default DS.Model.extend(datesMixin, {\n    deviceSN: DS.attr('string'),\n    userID: DS.attr('string'),\n    start: MF.fragment('checkpoint'),\n    end: MF.fragment('checkpoint'),\n    details: DS.attr(),\n    events: DS.attr(),\n    points: MF.fragment('fragments/route/points'),\n    // points: DS.attr(),\n    type: DS.attr('string'),\n    vehicle: DS.belongsTo(\"vehicle\"),\n\n    startTime: Ember.computed('start', function () {\n\t\tif (!this.get('start.time')) return null\n        return moment(this.get('start.time')).valueOf()\n    }),\n    duration: Ember.computed('start', 'end', function () {\n        return Math.abs(moment(this.get('start.time')).diff(this.get('end.time')))\n    }),\n    humanizedDuration: Ember.computed('duration', function () { // used where ?\n        return this.durationAsDHMS(this.get('duration'))\n    }),\n    engineOnDuration: Ember.computed('details.engineOnDuration', function () {\n        return this.get('details.engineOnDuration') ? parseInt(Number(this.get('details.engineOnDuration'))) : 0\n    }),\n    engineOffDuration: Ember.computed('duration', 'engineOnDuration', function () {\n        return this.get('duration') - this.get('engineOnDuration')\n    }),\n    distance: Ember.computed('details.distance', function () { // float [km]\n        return this.get('details.distance') ? Number(this.get('details.distance')) / 1000 : 0\n    }),\n    isUnknown: Ember.computed.equal('id', 'unknown'),\n    isStationary: Ember.computed('type', 'isUnknown', function () {\n        return this.get('type') === 'stationary' && !this.get('isUnknown')\n    }),\n    fuelConsumption: Ember.computed('start', 'end', 'details.fuelConsumption', 'vehicle', function () {\n        if (!this.get('vehicle') || !this.get('start') || !this.get('end')) { return 0 }\n\n        if (this.get('vehicle.hasProbe')) {\n            return this.get('end.fuelLevel') && this.get('start.fuelLevel') ? Number(this.get('start.fuelLevel')) - Number(this.get('end.fuelLevel')) : 0\n        }\n        if (this.get('vehicle.hasCan')) {\n            if (this.get('end.can.fuel.used') && this.get('start.can.fuel.used')) {\n                return (Number(this.get('end.can.fuel.used')) - Number(this.get('start.can.fuel.used'))) / 10\n            }\n            else if (this.get('end.can.fuel.level') && this.get('start.can.fuel.level')) {\n                return Number(this.get('start.can.fuel.level')) - Number(this.get('end.can.fuel.level'))\n            }\n            else if (this.get('end.can.fuel.levelPercent') && this.get('start.can.fuel.levelPercent') && this.get('vehicle.fuel.capacity')) {\n                let percent = Number(this.get('start.can.fuel.levelPercent')) - Number(this.get('end.can.fuel.levelPercent'))\n                let fuelCapacity = this.get('vehicle.fuel.capacity')\n                return percent / 100 * fuelCapacity\n            }\n            return 0\n        }\n        return this.get('details.fuelConsumption') ? Number(this.get('details.fuelConsumption')) : 0\n    }),\n    fuelConsumptionPerDistance: Ember.computed('distance', 'fuelConsumption', function () {\n        return this.get('fuelConsumption') && this.get('distance') ? this.get('fuelConsumption') / this.get('distance') * 100 : 0\n    }),\n})","import DS from 'ember-data';\nimport Ember from 'ember';\n\nexport default DS.Model.extend({\n    groupID: DS.attr('string'),\n    vehicleID: DS.attr('string'),\n    number: DS.attr('string'),\n    status: DS.attr('string'),\n    createdAt: DS.attr('string'),\n    updatedAt: DS.attr('string'),\n\n    isBroken: Ember.computed('status', function () {\n        return this.get('status') === 'broken'\n    }),\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    location: DS.attr(\"string\"),\n    stationaryPurpose: DS.attr(\"string\"),\n    timestamp: DS.attr(),\n    vehicleID: DS.attr(\"string\"),\n});\n","import DS from 'ember-data';\nimport Ember from 'ember';\nimport moment from 'moment'\nimport DatesMixin from 'tracknamic-smb/mixins/dates'\n\nexport default DS.Model.extend(DatesMixin, {\n    // groupID: DS.attr('string'),\n    companyID: DS.attr('string'),\n    // vehicleID: DS.attr('string'),\n    startTime: DS.attr('string'),\n    endTime: DS.attr('string'),\n    duration: DS.attr('number'),     // min 30m max 24h\n    timezone: DS.attr('string'),\n    recurrent: DS.attr('boolean'),\n\n    vehicle: DS.belongsTo('vehicle', { allowNull: true }),\n    group: DS.belongsTo('group', { allowNull: true }),\n\n    humanizedDuration: Ember.computed(\"duration\", function () {\n        return this.durationAsDHMS(this.get(\"duration\") * 1000)\n    }),\n\n    expired: Ember.computed(\"endTime\", function () { // endTime < now()\n        return this.get(\"endTime\") ? moment(this.get(\"endTime\")).valueOf() < moment().valueOf() : false\n    }),\n});\n","import DS from 'ember-data';\nimport MF from 'ember-data-model-fragments'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nexport default DS.Model.extend({\n    currentUser: service('current-user'),\n    currentUserIsAdmin: computed.readOnly('currentUser.isAdmin'),\n\n    groupID: DS.attr('string'),\n    roleID: DS.attr('string'),\n    companyID: DS.attr('string'),\n    chatID: DS.attr('string'),\n    authID: DS.attr('string'),\n    email: DS.attr('string'),\n    phoneNumber: DS.attr('string'),\n    firstName: DS.attr('string'),\n    lastName: DS.attr('string'),\n    deletedAt: DS.attr('string'),\n    fullName: computed('firstName', 'lastName', function () {\n        const text = `${this.get('firstName')} ${this.get('lastName')}`\n\t\tif ((text.match(/\\0/g) || []).length > 3) {\n\t\t\treturn '-'\n\t\t}\n\t\treturn text\n    }),\n    type: DS.attr('string'),\n    avatar: DS.attr('string'),\n    details: MF.fragment('fragments/user/details'),\n    acl: MF.fragment('fragments/user/acl'),\n    settings: MF.fragment('fragments/user/settings'),\n\n    canBeEdited: computed('role.type', 'currentUserIsAdmin', function () {\n        if (!this.get('currentUserIsAdmin') && this.get('role') && this.get('role.type') === 'admin') {\n            return false\n        }\n        return true\n    }),\n    isActivated: computed('authID', function () {\n        return (this.get('authID') && this.get('authID').length > 0) ? true : false\n    }),\n\n    needReactivation: computed('authID', 'email', 'deletedAt', function () {\n        // email != null && authID == null && deletedAt == nul\n        return !this.get('deletedAt') && this.get('email') && !this.get('authID')\n    }),\n\n    role: DS.belongsTo(\"role\", { inverse: null }),\n    vehicle: DS.belongsTo(\"vehicle\", { allowNull: true, inverse: 'user' }),\n    group: DS.belongsTo(\"group\"),\n    vehicles: DS.hasMany('vehicle', { inverse: 'dispatcher' }),\n});\n","import DS from 'ember-data'\nimport { computed } from '@ember/object'\nimport { isEmpty } from '@ember/utils'\n\nexport default DS.Model.extend({\n\tname: DS.attr('string'),\n\ttype: DS.attr('string'),\n\tsource: DS.attr('string'),\n\tstartTime: DS.attr('date'),\n\tendTime: DS.attr('date'),\n\n\ttractorUnit: DS.belongsTo('vehicle'),\n\tsemitrailer: DS.belongsTo('vehicle'),\n\tdriver: DS.belongsTo('user'),\n\tcodriver: DS.belongsTo('user'),\n\n\tisValid: computed('name', 'tractorUnit', 'semitrailer', function () {\n\t\treturn !isEmpty(this.get('name')) && (!isEmpty(this.get('tractorUnit.id')) || !isEmpty(this.get('semitrailer.id')))\n\t}),\n})\n","import DS from 'ember-data'\nimport MF from 'ember-data-model-fragments'\nimport config from 'tracknamic-smb/config/environment'\nimport { dasherize } from '@ember/string'\nimport Ember from 'ember'\nimport moment from 'moment'\nimport { get } from 'lodash'\nimport Formatter from 'tracknamic-smb/mixins/reports/formatter'\n\nconst { service } = Ember.inject\nconst machineriesTypes = ['harvester', 'tractor', 'construction']\n\nexport default DS.Model.extend(Formatter, {\n\ti18n: service(),\n\taddress: service('address-service'),\n\tcurrentUser: service('current-user'),\n\tloggedCompanyID: Ember.computed.alias('currentUser.companyID'),\n\thasMapRoutesAccess: Ember.computed.readOnly('currentUser.hasMapRoutesAccess'),\n\thasMapEtaAccess: Ember.computed.readOnly('currentUser.hasMapEtaAccess'),\n\n\thasUser: DS.attr('string'),\n\tgroupID: DS.attr('string'),\n\tuserID: DS.attr('string'),\n\tdeviceID: DS.attr('string'),\n\tmake: DS.attr('string'),\n\tmodel: DS.attr('string'),\n\tvin: DS.attr('string'),\n\tyear: DS.attr('number'),\n\tcolor: DS.attr('string'),\n\tseats: DS.attr('number'),\n\tadblueCapacity: DS.attr('number'),\n\ttype: DS.attr('string'),\n\tlicensePlate: DS.attr('string'),\n\texternalRefuelID: DS.attr('string'),\n\tregistrationDate: DS.attr('date'),\n\ttireSize: DS.attr('string'),\n\thasRelay: DS.attr('boolean', { defaultValue: false }),\n\tpayloadCapacity: DS.attr('number'),\n\tobuID: DS.attr('string'),\n\t// The following can be set to fragments if needed.\n\tfuel: MF.fragment('fragments/vehicle/fuel'),\n\tengine: MF.fragment('fragments/vehicle/engine'),\n\tstatus: MF.fragment('fragments/vehicle/status'),\n\tsensors: MF.fragmentArray('fragments/vehicle/sensor'),\n\tsettings: MF.fragment('fragments/vehicle/settings'),\n\tconversions: DS.attr(),\n\tdimensions: MF.fragment('fragments/vehicle/dimensions', { defaultValue: {} }),\n\n\tgeolocation: MF.fragment('fragments/vehicle/geolocation'),\n\tspeedLimit: MF.fragment('fragments/vehicle/speedLimit'),\n\n\tgroup: DS.belongsTo('group', { allowNull: true, inverse: 'vehicles' }),\n\tdevice: DS.belongsTo('device', { allowNull: true }),\n\tuser: DS.belongsTo('user', { allowNull: true, inverse: 'vehicle' }),\n\tdispatcher: DS.belongsTo('user', { allowNull: true, inverse: 'vehicles' }),\n\n\tcompanyID: Ember.computed('groupID', function () {\n\t\tlet group = this.get(\"groupID\")\n\t\tlet isSubgroup = group ? group.indexOf('-') != -1 : false\n\t\tif (isSubgroup) {\n\t\t\treturn group.substring(0, group.indexOf('-'))\n\t\t} else {\n\t\t\treturn group\n\t\t}\n\t}),\n\n\tisCompanyVehicle: Ember.computed('companyID', 'loggedCompanyID', function () {\n\t\treturn this.get('companyID') === this.get('loggedCompanyID')\n\t}),\n\n\tsensorsStatus: Ember.computed('sensors.@each', 'status.sensors', function () {\n\t\tlet sensors = this.get('sensors')\n\t\tlet status = this.get('status.sensors')\n\t\tlet fuelType = this.get('fueltype')\n\t\treturn this.processSensors(sensors, status, fuelType)\n\t}),\n\n\thasAuxHeatingSensor: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('aux-heating')\n\t}),\n\n\thasAuxCoolingSensor: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('aux-cooling')\n\t}),\n\n\thasAuxACSensor: Ember.computed.or('hasAuxHeatingSensor', 'hasAuxCoolingSensor'),\n\n\thasPowerExternalSensor: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('power-external')\n\t}),\n\n\thasDoorSensor: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('door-')\n\t}),\n\n\thasTaxiSensor: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('taxi-')\n\t}),\n\n\thasFreezerSensor: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('freezer')\n\t}),\n\n\thasTemperatureSensors: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('temperature')\n\t}),\n\n\thasProbe: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('fuel-')\n\t}),\n\n\thasiButton: Ember.computed('sensors.@each.type', function () {\n\t\treturn this.hasSensor('ibutton')\n\t}),\n\n\thasSensor (type) {\n\t\tif (!this.get(\"sensors\") || !type) { return false }\n\n\t\treturn this.get(\"sensors\").any((item) => {\n\t\t\treturn (item.get('type') || '').indexOf(type) != -1\n\t\t})\n\t},\n\n\topenDoors: Ember.computed('hasDoorSensor', 'status.sensors', function () {\n\t\tif (!this.get('hasDoorSensor')) { return false }\n\t\tlet sensors = this.get('status.sensors')\n\t\tlet doors = 0\n\n\t\tif (sensors) {\n\t\t\tfor (var sensor in sensors) {\n\t\t\t\tif (sensor && sensor.indexOf('door') != -1 && sensors[sensor]) {\n\t\t\t\t\tdoors += 1\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn doors\n\t}),\n\n\tdoorHoverText: Ember.computed('hasDoorSensor', 'status.sensors', function () {\n\t\tif (!this.get('hasDoorSensor')) { return false }\n\t\tlet i18n = this.get('i18n')\n\t\tlet sensors = this.get('status.sensors')\n\t\tlet text = ''\n\n\t\tif (sensors) {\n\t\t\tfor (var sensor in sensors) {\n\t\t\t\tif (sensor && sensor.indexOf('door') != -1 && sensors[sensor]) {\n\t\t\t\t\ttext += '\\n' + i18n.t(`openDoor.${dasherize(sensor)}`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn text ? text : i18n.t(\"openDoor.allClosed\")\n\t}),\n\n\tcarName: Ember.computed('make', 'model', function () {\n\t\treturn this.get('model') ? `${this.get('make')} ${this.get('model')}` : this.get('make')\n\t}),\n\n\tcurrentLocation: Ember.computed('status.location.@each', function () {\n\t\tlet geofencesCount = this.get('geolocation.geofencesCount')\n\t\tlet popupText = this.get('geolocation.popupText')\n\t\tif (!geofencesCount && popupText) {\n\t\t\treturn popupText\n\t\t}\n\n\t\tif (geofencesCount > 1) {\n\t\t\treturn `${this.get('i18n').t('poiMultiple')} (${geofencesCount})`\n\t\t}\n\n\t\tif (geofencesCount === 1) {\n\t\t\treturn this.get('geolocation.popupText')\n\t\t}\n\n\t\treturn `${this.get('status.location.lastObject').toFixed(4)} N, ${this.get('status.location.firstObject').toFixed(4)} E`\n\t}),\n\n\tpromiseAddress: Ember.computed('status.location.@each', function () {\n\t\tlet geofencesCount = this.get('geolocation.geofencesCount')\n\t\tif (!geofencesCount) {\n\t\t\treturn this.get('address').getAddress({\n\t\t\t\tid: this.get('id'),\n\t\t\t\tcoords: this.get('status.location'),\n\t\t\t\tpoi: this.get('geolocation') ? this.get('geolocation.geofences') : [],\n\t\t\t})\n\t\t}\n\n\t\treturn false\n\t}),\n\n\tisMoving: Ember.computed.or('status.speed', 'status.can.speed'),\n\n\thasCan: Ember.computed('status.can.fuel', function () {\n\t\tconst canFuel = this.get('status.can.fuel')\n\t\treturn get(canFuel, 'used', null) !== null || get(canFuel, 'level.1', null) !== null\n\t}),\n\n\thasTacho: Ember.computed('status.tacho.odometer', function () {\n\t\treturn this.get('status.tacho.odometer') > 0 || (this.get('status.tacho.driver1') != null && this.get('status.tacho.driver1.card') != null && this.get('status.tacho.driver1.card').trim().length > 2)\n\t}),\n\n\tisMachinery: Ember.computed('type', function () {\n\t\treturn machineriesTypes.indexOf(this.get('type')) !== -1\n\t}),\n\n\tisCng: Ember.computed('type', function () {\n\t\treturn this.get('fuel.type') === 'cng'\n\t}),\n\n\thasValidCan: Ember.computed('hasCan', function () {\n\t\tlet hasCan = this.get('hasCan')\n\t\tif (!hasCan) { return false }\n\t\tlet hasCapacitySet = !Ember.isNone(this.get('fuel.capacity'))\n\t\tlet hasCanInPercent = !Ember.isNone(this.get('status.percent'))\n\t\tif (hasCanInPercent && !hasCapacitySet) { return false }\n\t\treturn true\n\t}),\n\n\tdiff: Ember.computed('status.updatedAt', function () {\n\t\treturn moment(moment()).diff(this.get('status.updatedAt'))\n\t}),\n\n\tstatusIndicator: Ember.computed('diff', function () {\n\t\tlet diff = this.get('diff')\n\t\tlet speed = this.get('status.speed')\n\t\tlet updated = this.get('status.updatedAt')\n\n\t\tlet unsyncTime = this.get('currentUser.unsyncTime')\n\t\tif (diff < unsyncTime && updated != null) {\n\t\t\treturn (parseInt(speed) > 0) ? 'engineOn' : 'engineOff'\n\t\t} else {\n\t\t\treturn 'unreachable'\n\t\t}\n\t}),\n\n\ttaxiState: Ember.computed('status.sensors', 'hasTaxiSensor', function () {\n\t\tif (!this.get('hasTaxiSensor')) { return false }\n\t\tlet sensors = this.get('status.sensors')\n\t\tif (!sensors) { return false }\n\t\tif (sensors.taxiAvailable === true && sensors.taxiOccupied === false) { // available\n\t\t\treturn 'engineOn'\n\t\t}\n\t\telse if (sensors.taxiAvailable === false && sensors.taxiOccupied === true) { // occupied\n\t\t\treturn 'engineOff'\n\t\t}\n\t\telse if (sensors.taxiAvailable === null || sensors.taxiOccupied === null) { // no availability\n\t\t\treturn 'na'\n\t\t}\n\t\treturn 'none' // unknow\n\t}),\n\n\trelayState: Ember.computed('status.sensors', 'hasiButton', 'hasRelay', function () {\n\t\tconst iButtonEnabled = this.get('hasiButton') && this.get('status.sensors.ibutton')\n\t\tconst relayState = this.hasRelay && this.get('status.relayState')\n\n\t\tif (iButtonEnabled) {\n\t\t\treturn 'ibutton'\n\t\t} else if (relayState) {\n\t\t\treturn 'on'\n\t\t}\n\n\t\treturn 'off'\n\t}),\n\n\tstatusHumanized: Ember.computed('statusIndicator', function () {\n\t\tlet diff = this.get('diff')\n\t\tif (this.get('statusIndicator') === 'unreachable' && diff > 0) {\n\t\t\treturn moment.duration(diff).humanize()\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}),\n\n\ticonTextTop: Ember.computed('currentUser.user.settings.map.markerTop', 'status.speed', 'hasTacho', 'statusIndicator', function () {\n\t\tlet statusIndicator = this.get('statusIndicator')\n\t\tlet result = {\n\t\t\tvalue: '---',\n\t\t\ttooltip: '',\n\t\t}\n\t\tif (!statusIndicator || statusIndicator === 'unreachable') return result\n\t\tlet modules = this.get('currentUser.modules')\n\t\tlet selectedTop = this.get('currentUser.user.settings.map.markerTop')\n\t\tif (this.get('hasTacho') && selectedTop !== 'speed' && modules.tachograph) {\n\t\t\tif (selectedTop === 'tachoDay')\n\t\t\t\treturn this.get('status.tacho.driver1.computed.driveTimeLeftDayFormattedHoursAndTooltip')\n\t\t\tif (selectedTop === 'tachoWeek')\n\t\t\t\treturn this.get('status.tacho.driver1.computed.driveTimeLeftWeekFormattedHoursAndTooltip')\n\t\t}\n\n\t\tresult.value = this.get('status.speed')\n\t\tresult.tooltip = this.get('status.speed') + ' km/h'\n\n\t\treturn result\n\t}),\n\n\ticonText: Ember.computed('currentUser.user.settings.map.markerText', 'licensePlate', 'user', function () {\n\t\tlet markerText = this.get('currentUser.user.settings.map.markerText')\n\t\tif (markerText === 'driverName' && this.get('user') && this.get('user.fullName'))\n\t\t\treturn this.get('user.fullName')\n\t\t// WIP\n\t\t// if (markerText === 'order_number')\n\t\t// \treturn this.get('user.fullName')\n\t\treturn this.get('licensePlate')\n\t}),\n\n\tmanualBig: Ember.computed('currentUser.manualVehicles.[]', 'currentUser.markerType', 'currentUser.triggerHack', 'id', function () {\n\t\tif (this.get('currentUser.markerType') === \"big\") return true\n\t\tif (this.get('currentUser.markerType') === \"manual\")\n\t\t\treturn this.get('currentUser.manualVehicles').indexOf(this.get('id')) != -1\n\t\treturn false\n\t}),\n\n\ticonUrl: Ember.computed('statusIndicator', 'currentUser.markerType', function () {\n\t\tlet selectedMarkerType = this.get('currentUser.markerType')\n\t\tlet status = this.get('statusIndicator')\n\t\tlet url = ''\n\t\tlet isMediumMarker = selectedMarkerType === 'medium'\n\t\tswitch (status) {\n\t\t\tcase 'unreachable':\n\t\t\t\turl = isMediumMarker ? `${config.rootURL}assets/images/yellow_pin.png` : `${config.rootURL}assets/images/default_marker_neutral.png`\n\t\t\t\tbreak\n\t\t\tcase 'engineOn':\n\t\t\t\turl = isMediumMarker ? `${config.rootURL}assets/images/green_pin.png` : `${config.rootURL}assets/images/default_marker_green.png`\n\t\t\t\tbreak\n\t\t\tcase 'engineOff':\n\t\t\t\turl = isMediumMarker ? `${config.rootURL}assets/images/red_pin.png` : `${config.rootURL}assets/images/default_marker_red.png`\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\turl = isMediumMarker ? `${config.rootURL}assets/images/yellow_pin.png` : `${config.rootURL}assets/images/default_marker.png`\n\t\t}\n\n\t\treturn url\n\t}),\n\n\ttooltip: Ember.computed('statusIndicator', 'hasMapRoutesAccess', 'hasMapEtaAccess', function () {\n\t\treturn this.makeInfo()\n\t}),\n\tmakeInfo () {\n\t\tlet i18n = this.get('i18n')\n\t\tlet driverName = this.get(\"user\") && this.get(\"user.fullName\") ? this.get(\"user.fullName\") : \"\"\n\t\tlet sensorsColumns = ''\n\t\tif (this.get('sensorsStatus.length')) {\n\t\t\tthis.get('sensorsStatus').forEach(s => {\n\t\t\t\tif (s.key !== 'fuel') {\n\t\t\t\t\tsensorsColumns += `<tr><td>${s.header.text}</td><td>${s.icon ? `<i class=\"${s.icon} icon\"></i>` : ''} ${s.translatedValue}</td><td></tr>`\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\treturn '<table><tbody>'\n\t\t\t+ \"<tr><td>\" + this.get(\"licensePlate\") + \" </td><td>\" + driverName + \"</td></tr>\"\n\t\t\t+ \"<tr><td>\" + i18n.t(\"markers.lastUpdate\") + \": </td><td>\" + moment(this.get(\"status.updatedAt\")).format(\"HH:mm DD/MM - YYYY\") + \"</td></tr>\"\n\t\t\t+ (this.get('status.nextGeofence') && this.get('status.nextGeofenceTimestamp') ? \"<tr><td>\" + i18n.t(\"dashboard.liveStatus.nextPlannedPOI\") + \": </td><td>\" + moment(this.get('status.nextGeofenceTimestamp')).format('HH:mm DD/MM - YYYY') + ' (' + this.get('status.nextGeofence') + \")</td></tr>\" : \"\")\n\t\t\t+ \"<tr><td>\" + i18n.t(\"markers.engineState\") + \": </td><td>\" + (this.get(\"status.engineState\") ? i18n.t(\"vehicle.engineOn\") : i18n.t(\"vehicle.engineOff\")) + \"</td></tr>\"\n\t\t\t+ (this.get(\"status.locationLatLng\") ? \"<tr><td>\" + i18n.t(\"markers.gpsPosition\") + \": </td><td>\" + `${this.get(\"status.locationLatLng\").lat.toFixed(4)} N, ${this.get(\"status.locationLatLng\").lng.toFixed(4)} E` + \"</td></tr>\" : '')\n\t\t\t+ \"<tr><td>\" + i18n.t(\"markers.gpsSpeed\") + \": </td><td>\" + this.get(\"status.speed\") + \" km/h</td></tr>\"\n\t\t\t+ (this.get('hasCan') ? \"<tr><td>\" + i18n.t(\"markers.canSpeed\") + \": </td><td>\" + (this.get(\"status.can.speed\") ? this.get(\"status.can.speed\") : \"0\") + \" km/h</td></tr>\" : \"\")\n\t\t\t+ (this.get('hasCan') ? \"<tr><td>\" + i18n.t(\"markers.canAcceleration\") + \": </td><td>\" + (this.get(\"status.can.acceleration\") ? this.get(\"status.can.acceleration\") : \"0\") + \"</td></tr>\" : \"\")\n\t\t\t+ (this.get(\"status.can.rpm\") ? \"<tr><td>\" + i18n.t(\"markers.canRPM\") + \": </td><td>\" + this.get(\"status.can.rpm\") + \"</td></tr>\" : \"\")\n\t\t\t+ (this.get(\"status.can.fuel.level.firstObject\") ?\n\t\t\t\t`<tr><td>${i18n.t(\"markers.canFuelAvailable\")}: </td><td>${this.get(\"status.can.fuel.level.firstObject\")} ${this.get('fuel.unit')}</td></tr>`\n\t\t\t\t:\n\t\t\t\tthis.get(\"status.can.fuel.level.lastObject\") ?\n\t\t\t\t\t`<tr><td>${i18n.t(\"markers.canFuelAvailable\")}: </td><td>${this.get(\"status.can.fuel.level.lastObject\")} %</td></tr>`\n\t\t\t\t\t: ''\n\t\t\t)\n\t\t\t+ (this.get(\"status.can.fuel.used\") ?\n\t\t\t\t(\n\t\t\t\t\t\"<tr><td>\" + i18n.t(\"markers.canFuelUsed\") + \": </td><td>\"\n\t\t\t\t\t+ this.get(\"status.can.fuel.usedLiters\")\n\t\t\t\t\t+ ` ${this.get('fuel.unit')}</td></tr>`\n\t\t\t\t)\n\t\t\t\t:\n\t\t\t\t\"\"\n\t\t\t)\n\t\t\t+ (this.get(\"status.fuelLevel\") ?\n\t\t\t\t(\n\t\t\t\t\t\"<tr><td>\" + i18n.t(\"markers.probeFuelAvailable\") + \": </td><td>\"\n\t\t\t\t\t+ this.get(\"status.fuelLevel\")\n\t\t\t\t\t+ ` ${this.get('fuel.unit')}</td></tr>`\n\t\t\t\t)\n\t\t\t\t:\n\t\t\t\t\"\"\n\t\t\t)\n\t\t\t+ (this.get(\"status.odometer\") ? (\"<tr><td>\" + i18n.t(\"markers.distance\") + \": </td><td>\" + this.get(\"status.odometer\") + \"km</td></tr>\") : \"\")\n\t\t\t+ (sensorsColumns ? sensorsColumns : '')\n\t\t\t+ (this.get('hasMapRoutesAccess') ? ('<tr><td colspan=\"2\"><a href=\"' + config.rootURL + 'map/routes/' + this.get('id') + '\">' + i18n.t('details') + '</a><td></tr>') : '')\n\t\t\t+ (this.get('hasMapEtaAccess') ? ('<tr><td colspan=\"2\"><a href=\"' + config.rootURL + 'map/route-eta/' + this.get('id') + '\">' + i18n.t('calculateRoute') + '</a><td></tr>') : '')\n\t\t\t+ '</tbody></table>'\n\t},\n})\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst CallModalAudio = ({ name, text, onReject }) => {\n\treturn (\n\t\t<div className='call-modal audio'>\n\t\t\t<div className='name'>{name}</div>\n\t\t\t<div className='calling-text'>{text}</div>\n\t\t\t{onReject ? (\n\t\t\t\t<img src='../../assets/images/chat/end-call-audio.svg' className='end-call' onClick={() => onReject()} />\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n\nCallModalAudio.propTypes = {\n\tname: PropTypes.string,\n\ttext: PropTypes.string,\n\tonReject: PropTypes.func,\n}\n\nexport default CallModalAudio\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\n\nconst CallModal = ({\n\tcurrentCall,\n\tshowCallingModal,\n\tstopCall,\n}) => {\n\tconst [videoLayout, setVideoLayout] = useState('v1')\n\tconst [isMuted, setIsMuted] = useState(false)\n\n\tconst muteAudio = () => {\n\t\tif (!currentCall?.session) return\n\n\t\tif (isMuted) {\n\t\t\tcurrentCall.session.unmute('audio')\n\t\t} else {\n\t\t\tcurrentCall.session.mute('audio')\n\t\t}\n\t\tsetIsMuted(!isMuted)\n\t}\n\n\treturn (\n\t\t// todo make video tags visible when callings\n\t\t<div className={`call-modal video ${videoLayout}${currentCall?.isVideo ? '' : ' hidden'}`}>\n\t\t\t<video id='my-video' className={`${showCallingModal ? 'main' : 'secondary'}-frame`} muted />\n\t\t\t<video id='his-video' className={`${!showCallingModal ? 'main' : 'hidden secondary'}-frame`} />\n\t\t\t<div className='actions'>\n\t\t\t\t<img src='../../assets/images/chat/maximize.svg' className='maximize' onClick={() => setVideoLayout('v2')} />\n\t\t\t\t<img src='../../assets/images/chat/minimize.svg' className='minimize' onClick={() => setVideoLayout('v1')} />\n\t\t\t\t<img src='../../assets/images/chat/end-call.svg' className='end-call' onClick={() => stopCall()} />\n\t\t\t\t<img src={`../../assets/images/chat/${isMuted ? 'microphone-muted.svg' : 'microphone.svg'}`} className='mute' onClick={() => muteAudio()} />\n\t\t\t\t<div>\n\t\t\t\t\t{/* <img src='../../assets/images/chat/icon-volume.svg' className='volume' onClick={() => alert('volume')} /> */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nCallModal.propTypes = {\n\tcurrentCall: PropTypes.object,\n\tshowCallingModal: PropTypes.bool,\n\tstopCall: PropTypes.func,\n}\n\nexport default CallModal\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nimport InfoMessage from '../InfoMessage'\n\nconst Calls = ({ p1 }) => {\n\tconst { t } = useTranslation(['chat/chat'])\n\treturn (\n\t\t<InfoMessage message={t('chat/chat:noCalls')} />\n\t)\n}\n\nCalls.propTypes = {\n\tp1: PropTypes.bool,\n}\n\nexport default Calls\n","import React, { useState, useEffect, useMemo, useRef } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { Input, Icon, TextArea } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { useReactive, useKeyPress, useSize } from 'ahooks'\nimport PropTypes from 'prop-types'\n\nfunction InputMessage ({ scrollToBottom }) {\n\tconst sendIsTypingStatus = useStoreActions(actions => actions.chat.sendIsTypingStatus)\n\tconst sendIsStopTypingStatus = useStoreActions(actions => actions.chat.sendIsStopTypingStatus)\n\tconst sendMessage = useStoreActions(actions => actions.chat.sendMessage)\n\tconst sendFile = useStoreActions(actions => actions.chat.sendFile)\n\n\tconst refFile = useRef(null)\n\tconst [expandedInput, setExpandedInput] = useState(false)\n\tconst [full, setFull] = useState(false)\n\tconst [file, setFile] = useState(null)\n\tconst [typingValue, setTypingValue] = useState(null)\n\tconst [lastSentValue, setLastSentValue] = useState(null) // used for not sent the typing event if is the same as last sent value\n\tconst { t } = useTranslation(['chat/chat'])\n\tconst state = useReactive({ lastStatusWasIsTyping: false })\n\n\tconst toggleExpandedInput = () => {\n\t\tif (file) return\n\t\tsetExpandedInput(!expandedInput)\n\t\tscrollToBottom()\n\t}\n\n\tuseKeyPress(['ctrl.up'], () => {\n\t\tif (file) return\n\t\tif (!expandedInput) toggleExpandedInput()\n\t\tsetFull(true)\n\t})\n\n\tuseKeyPress(['ctrl.down'], () => {\n\t\tif (file) return\n\t\tif (!expandedInput) toggleExpandedInput()\n\t\tsetFull(false)\n\t})\n\n\tuseKeyPress(['ctrl.enter'], () => {\n\t\tsendTypedValue()\n\t})\n\n\tuseKeyPress(['shift.space'], e => {\n\t\ttoggleExpandedInput()\n\t\te.preventDefault()\n\t})\n\n\tuseEffect(() => {\n\t\tif (typingValue === null || (lastSentValue !== null && !lastSentValue === !typingValue)) return\n\t\tsetLastSentValue(typingValue)\n\t\tstate.lastStatusWasIsTyping = !!typingValue\n\t\t!typingValue\n\t\t\t? sendIsStopTypingStatus()\n\t\t\t: sendIsTypingStatus()\n\t}, [typingValue, lastSentValue])\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (state.lastStatusWasIsTyping) {\n\t\t\t\tsendIsStopTypingStatus()\n\t\t\t}\n\t\t}\n\t}, [])\n\n\tconst removeSelectedFile = () => {\n\t\trefFile.current.value = ''\n\t\tsetTypingValue('')\n\t\tsetFile(null)\n\t}\n\n\tconst handleKeyPress = (event) => {\n\t\t// todo NTH: after 30s if isTyping & no changes set isTyping to false\n\t\tif (!expandedInput && event.key === 'Enter') {\n\t\t\tsendTypedValue()\n\t\t}\n\t}\n\n\tconst loadedFile = event => {\n\t\tconst file = event?.target?.files?.[0]\n\t\tif (file) {\n\t\t\tif (expandedInput) setExpandedInput(false)\n\t\t\tconst name = file.name\n\t\t\tsetTypingValue(name)\n\t\t\tsetFile(file)\n\t\t} else {\n\t\t\tsetTypingValue('')\n\t\t\tsetFile(null)\n\t\t}\n\t}\n\n\tconst sendTypedValue = () => {\n\t\tif (!typingValue) return\n\t\tsendMessage({ text: typingValue })\n\t\tsetTypingValue('')\n\t}\n\n\tconst handleSendButtonClick = () => {\n\t\tif (file) {\n\t\t\tsendFile(file)\n\t\t\tremoveSelectedFile()\n\t\t} else {\n\t\t\tsendTypedValue()\n\t\t}\n\t}\n\n\tconst domSidebar = document.querySelector('.sidebar')\n\tconst domBody = document.body\n\n\tconst sidebarSize = useSize(domSidebar)\n\tconst bodySize = useSize(domBody)\n\n\tconst width = useMemo(() => {\n\t\tif (!expandedInput) return null\n\t\tif (!full) return '400px'\n\t\tconst result = (bodySize.width ?? 0) - (sidebarSize.width ?? 0) - 400\n\t\tif (result <= 0) return null\n\t\treturn result + 'px'\n\t}, [expandedInput, full, sidebarSize, bodySize])\n\n\tconst expandDirection = useMemo(() => {\n\t\tlet val = null\n\t\tif (full) {\n\t\t\tif (expandedInput) {\n\t\t\t\tval = 'deg-90'\n\t\t\t} else {\n\t\t\t\tval = 'deg-270'\n\t\t\t}\n\t\t} else {\n\t\t\tif (expandedInput) {\n\t\t\t\tval = 'deg-180'\n\t\t\t}\n\t\t}\n\t\treturn val ? (' rotate ' + val) : ''\n\t}, [expandedInput, full])\n\n\treturn (\n\t\t<>\n\t\t\t{expandedInput ? (\n\t\t\t\t<div className={`text-area-wrapper${full ? ' full' : ''}`} style={{ width: width || '0px' }}>\n\t\t\t\t\t<TextArea\n\t\t\t\t\t\tclassName='text-area'\n\t\t\t\t\t\tplaceholder={t('chat/chat:message', { count: 1 })}\n\t\t\t\t\t\ttransparent\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\trows={15}\n\t\t\t\t\t\tvalue={typingValue}\n\t\t\t\t\t\tonChange={(el, data) => {\n\t\t\t\t\t\t\tsetTypingValue(el?.target?.value)\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<div className={`hotkeys-info${typingValue ? ' hidden' : ''}`}>\n\t\t\t\t\t\t<div className='place-end'>[ SHIFT SPACE ]</div><div>:</div><div>{t('chat/chat:expandCollapse')}</div>\n\t\t\t\t\t\t<div className='place-end'>[ CTRL ENTER ]</div><div>:</div><div>{t('chat/chat:sendMessage')}</div>\n\t\t\t\t\t\t<div className='place-end'>[ CTRL <Icon fitted name='long arrow alternate up' /> ]</div><div>:</div><div>{t('chat/chat:expandFull')}</div>\n\t\t\t\t\t\t<div className='place-end'>[ CTRL <Icon fitted name='long arrow alternate down' /> ]</div><div>:</div><div>{t('chat/chat:expandInput')}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='full-area-icon'>\n\t\t\t\t\t\t{full ? <div /> : null}\n\t\t\t\t\t\t{full ? <div className='doc-button'>{t('chat/chat:sendMessage')}</div> : null}\n\t\t\t\t\t\t<div className='svg-icon pointer place-end' onClick={() => setFull(!full)}><Icon fitted name={`${full ? 'compress' : 'expand'}`} /></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div className='actions'>\n\t\t\t\t<div className='svg-icon attachment pointer' onClick={() => { refFile.current.click() }} />\n\t\t\t\t<div className={`svg-icon expand pointer${expandDirection}`} onClick={toggleExpandedInput}><Icon disabled={file} fitted name='external square alternate' /></div>\n\t\t\t\t{file ? (\n\t\t\t\t\t<div className='files-area'>\n\t\t\t\t\t\t<div className='selected-file'>\n\t\t\t\t\t\t\t<div className='svg-icon file' />\n\t\t\t\t\t\t\t<div className='file-name'>{typingValue}</div>\n\t\t\t\t\t\t\t<div className='svg-icon close pointer' onClick={removeSelectedFile} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (!expandedInput ? (\n\t\t\t\t\t<div className='input-wrapper'>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\ttransparent\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\tdisabled={!!file}\n\t\t\t\t\t\t\tplaceholder={t('chat/chat:message', { count: 1 })}\n\t\t\t\t\t\t\tclassName='text'\n\t\t\t\t\t\t\tvalue={typingValue}\n\t\t\t\t\t\t\tonChange={(el, data) => {\n\t\t\t\t\t\t\t\tsetTypingValue(el?.target?.value)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyPress={handleKeyPress}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className={`hotkeys-info${typingValue ? ' hidden' : ''}`}>\n\t\t\t\t\t\t\t<div className='place-end'>[ SHIFT SPACE ]</div><div>{t('chat/chat:expandCollapse')}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : <div />)}\n\t\t\t\t<div className='svg-icon send pointer' onClick={handleSendButtonClick} />\n\t\t\t\t<input\n\t\t\t\t\ttype='file'\n\t\t\t\t\tid='file'\n\t\t\t\t\tref={refFile}\n\t\t\t\t\tonChange={selectedFile => { loadedFile(selectedFile) }}\n\t\t\t\t\tstyle={{ display: 'none' }}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nInputMessage.propTypes = {\n\tscrollToBottom: PropTypes.func,\n}\n\nexport default InputMessage\n","import React, { useEffect, useState } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport PropTypes from 'prop-types'\n\nimport { isImage, isAudio } from '../../../utils/strings'\n\nfunction Message ({\n\tmessage,\n\topponentID,\n\tauthor,\n\texpandImage,\n\tscrollToBottom,\n}) {\n\tconst attachmentID = message?.attachmentID\n\tconst msgText = message?.message\n\tconst isMine = message?.isMine\n\tconst fileIsImage = attachmentID && isImage(msgText)\n\tconst fileIsAudio = attachmentID && isAudio(msgText)\n\n\tconst [file, setFile] = useState(null)\n\tconst getFile = useStoreActions(actions => actions.file.getFile)\n\n\tuseEffect(() => {\n\t\tif (!fileIsImage && !fileIsAudio) return\n\t\tgetFile(attachmentID).then(blob => {\n\t\t\tsetFile(URL.createObjectURL(blob))\n\t\t\tscrollToBottom()\n\t\t})\n\t}, [fileIsImage, fileIsAudio])\n\n\tconst saveFile = () => {\n\t\tif (!attachmentID || !msgText || !file) return\n\n\t\tvar a = document.createElement('a')\n\t\ta.href = file\n\t\ta.download = msgText\n\t\tdocument.body.appendChild(a)\n\t\ta.click()\n\t\ta.remove()\n\t}\n\n\tconst onMessageClick = () => {\n\t\tif (!attachmentID || fileIsAudio) return\n\t\tif (fileIsImage) {\n\t\t\texpandImage(file)\n\t\t} else {\n\t\t\tif (file) {\n\t\t\t\tsaveFile()\n\t\t\t} else {\n\t\t\t\tgetFile(attachmentID).then(blob => {\n\t\t\t\t\tconst theFile = URL.createObjectURL(blob)\n\t\t\t\t\tsetFile(theFile)\n\t\t\t\t\tvar a = document.createElement('a')\n\t\t\t\t\ta.href = theFile\n\t\t\t\t\ta.download = msgText\n\t\t\t\t\tdocument.body.appendChild(a)\n\t\t\t\t\ta.click()\n\t\t\t\t\ta.remove()\n\t\t\t\t\tscrollToBottom()\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t// sent, delivered, read\n\tconst getStatus = message => {\n\t\tif (!opponentID) return 'sent'\n\t\treturn (message?.read_ids ?? []).includes(opponentID) ? 'read' : (message?.delivered_ids ?? []).includes(opponentID) ? 'delivered' : 'sent'\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tid={message?._id}\n\t\t\tonClick={() => onMessageClick()}\n\t\t\tclassName={`message${isMine ? ' mine' : ''}${attachmentID ? ' file' : ''}${fileIsImage ? ' image' : fileIsAudio ? ' audio' : ''}${author ? ' hasAuthor' : ''}`}\n\t\t>\n\t\t\t{!isMine && author && <div className='author'>{author}</div>}\n\t\t\t{fileIsImage\n\t\t\t\t? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tstyle={{ maxWidth: '100%' }}\n\t\t\t\t\t\t\tid={attachmentID}\n\t\t\t\t\t\t\tsrc={file || 'assets/images/chat/image.svg'}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{file &&\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName='download' onClick={e => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tsaveFile()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>}\n\t\t\t\t\t</>\n\t\t\t\t) : fileIsAudio ? (\n\t\t\t\t\t<audio controls id={attachmentID} src={file} />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className={`svg-icon${attachmentID ? ' file' : ''}`} />\n\t\t\t\t\t\t<div className='text'>\n\t\t\t\t\t\t\t{msgText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span className='time'>{moment(message?.date_sent).format('HH:mm')}</span>\n\t\t\t\t\t\t{opponentID && <span className={`status ${message?.status ? message.status : getStatus(message)}`} />}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t</div>\n\t)\n}\n\nMessage.propTypes = {\n\tmessage: PropTypes.object,\n\topponentID: PropTypes.number,\n\tauthor: PropTypes.string,\n\texpandImage: PropTypes.func,\n\tscrollToBottom: PropTypes.func,\n}\n\nexport default Message\n","import React, { useEffect, useState, useMemo } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { lowerCase, map, filter, sortBy } from 'lodash'\nimport { Input } from 'semantic-ui-react'\nimport toast from 'react-hot-toast'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nimport { arraysAreEquals } from '../../../utils/arrays'\n\nconst Settings = ({ dialog, user, users, onClose }) => {\n\tconst updateDialog = useStoreActions(actions => actions.chat.updateDialog)\n\n\tconst [searchText, setSearchText] = useState('')\n\tconst [name, setName] = useState(dialog?.name)\n\tconst [selectedUsers, setSelectedUsers] = useState([])\n\tconst { t } = useTranslation(['common', 'chat/chat'])\n\tconst sortedUsers = useMemo(() => sortBy(users, 'full_name'), [users])\n\n\tuseEffect(() => {\n\t\tif (!dialog) return\n\t\tsetSelectedUsers((sortedUsers || []).filter(u => dialog.occupants_ids.includes(u.id)))\n\t}, [dialog, sortedUsers])\n\n\tconst handleUpdateDialog = () => {\n\t\tif (!name) return\n\t\tconst toUpdateParams = {}\n\t\tconst changedName = dialog?.name !== name\n\t\tconst selectedIDs = selectedUsers.map(u => u.id)\n\t\tconst occupantsIDs = dialog.occupants_ids\n\t\tconst changedOpponents = !arraysAreEquals(occupantsIDs, selectedIDs)\n\n\t\tif (!changedName && !changedOpponents) {\n\t\t\tonClose()\n\t\t\treturn\n\t\t}\n\n\t\tif (changedName) toUpdateParams.name = name\n\t\tif (changedOpponents) {\n\t\t\tconst toAdd = selectedIDs.filter(id => !occupantsIDs.includes(id))\n\t\t\tconst toRemove = occupantsIDs.filter(id => !selectedIDs.includes(id))\n\t\t\tif (toAdd?.length) toUpdateParams.push_all = { occupants_ids: toAdd }\n\t\t\tif (toRemove?.length) toUpdateParams.pull_all = { occupants_ids: toRemove }\n\t\t}\n\n\t\tupdateDialog(toUpdateParams)\n\t\t\t.then(() => onClose())\n\t\t\t.catch(() => toast.error(t('common:messages.operationFailed')))\n\t}\n\n\tconst scrollToBottom = () => {\n\t\tconst list = document.getElementById('tags')\n\t\tif (!list) return\n\t\tlist.scrollTop = list.scrollHeight\n\t\tsetTimeout(() => {\n\t\t\tlist.scrollTop = 9999999\n\t\t}, 100)\n\t}\n\n\tconst selectUser = user => {\n\t\tif (selectedUsers.indexOf(user) === -1) {\n\t\t\tsetSelectedUsers([...selectedUsers, user])\n\t\t\tif (selectedUsers?.length > 7) scrollToBottom()\n\t\t} else {\n\t\t\tsetSelectedUsers(selectedUsers.filter(u => u !== user))\n\t\t}\n\t\tif (searchText) setSearchText('')\n\t}\n\n\tconst availableUsers = useMemo(() => {\n\t\tif (!selectedUsers?.length) return sortedUsers\n\t\treturn filter(sortedUsers, user => selectedUsers.indexOf(user) === -1)\n\t}, [sortedUsers, selectedUsers])\n\n\tconst filteredUsers = useMemo(() => {\n\t\tif (!searchText) return availableUsers\n\t\treturn filter(availableUsers, u => u.full_name && lowerCase(u.full_name).indexOf(lowerCase(searchText)) !== -1)\n\t}, [availableUsers, searchText])\n\n\treturn (\n\t\t<div className='settings isGroup'>\n\t\t\t<div className='group-header'>\n\t\t\t\t<div className='svg-icon cancel' onClick={() => { onClose() }} />\n\t\t\t\t<div className='name'>{dialog?.name}</div>\n\t\t\t\t<div className='svg-icon save' onClick={handleUpdateDialog} />\n\t\t\t\t<div className='full-header-width'>\n\t\t\t\t\t<label>{t('chat/chat:groupName')} <span className='required-asterix'>*</span></label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={name}\n\t\t\t\t\t\tonChange={(event, data) => setName(data?.value)}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\ttransparent\n\t\t\t\t\t\terror={!name}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className='full-header-width pos-relative'>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tplaceholder={t('chat/chat:searchContact')}\n\t\t\t\t\t\tvalue={searchText}\n\t\t\t\t\t\tonChange={(event, data) => setSearchText(data?.value)}\n\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\ticonPosition='left'\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\ttransparent\n\t\t\t\t\t/>\n\t\t\t\t\t{searchText && <div className='closeWrapper pointer pos-absolute-right' onClick={() => setSearchText('')}><div className='close' /></div>}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div id='tags' className={`tags${selectedUsers?.length ? '' : ' empty'}`}>\n\t\t\t\t{map(selectedUsers, item => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className='tag'>\n\t\t\t\t\t\t\t<div className='text' title={item?.full_name}>{item?.full_name}</div>\n\t\t\t\t\t\t\t{item?.id === user?.id ? <div /> : (\n\t\t\t\t\t\t\t\t<div className='closeWrapper pointer' onClick={() => selectUser(item)}>\n\t\t\t\t\t\t\t\t\t<div className='close svg-icon' />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t<div className='users-list'>\n\t\t\t\t{map(filteredUsers, item => {\n\t\t\t\t\tconst imgLink = item?.avatar\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className='user' onClick={() => selectUser(item)}>\n\t\t\t\t\t\t\t<div className='avatar'>\n\t\t\t\t\t\t\t\t{imgLink ? (\n\t\t\t\t\t\t\t\t\t<img className='profile-picture' src={imgLink} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className='profile-picture default-profile-picture' />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='name'>\n\t\t\t\t\t\t\t\t{item?.full_name}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nSettings.propTypes = {\n\tdialog: PropTypes.object,\n\tuser: PropTypes.object,\n\tusers: PropTypes.array,\n\tonClose: PropTypes.func,\n}\n\nexport default Settings\n","import React, { useEffect, useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Dimmer, Loader } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nimport InfoMessage from '../../InfoMessage'\nimport InputMessage from './InputMessage'\nimport Settings from './Settings'\nimport Message from './Message'\n\nconst Dialog = ({ user, users, close }) => {\n\tconst trkUser = useStoreState(state => state.session.user)\n\tconst dialog = useStoreState(state => state.chat.dialog)\n\tconst currentCall = useStoreState(state => state.chat.currentCall)\n\tconst loading = useStoreState(state => state.chat.loadingDialogMessages)\n\tconst messages = useStoreState(state => state.chat.messages)\n\tconst typingDialogs = useStoreState(state => state.chat.typingDialogs)\n\n\tconst getChatMessages = useStoreActions(actions => actions.chat.getChatMessages)\n\tconst makeCall = useStoreActions(actions => actions.chat.makeCall)\n\n\tconst [showSettings, setShowSettings] = useState(false)\n\tconst [firstMessageIDBeforeLoadOldMessages, setFirstMessageIDBeforeLoadOldMessages] = useState(null) // used for scroll position after load old messages\n\tconst { t } = useTranslation(['chat/chat'])\n\n\tconst isGroup = useMemo(() => dialog?.type === 2, [dialog])\n\tconst opponentID = useMemo(() => dialog?.type === 2 ? null : dialog?.opponentsIDs?.[0], [dialog])\n\tconst dialogUsers = useMemo(() => users?.filter(u => dialog?.occupants_ids.includes(u.id)), [dialog, users])\n\n\tconst hasSettingsAccess = useMemo(() => trkUser?.type === 'admin' || user?.chatID === dialog?.user_id, [trkUser, user, dialog])\n\n\tconst isTyping = useMemo(() => {\n\t\tif (!dialog || !typingDialogs.length) return\n\t\tconst typingDialog = typingDialogs?.find(d => d.id === dialog?._id)\n\t\tif (!typingDialog) return\n\t\tif (dialog.type === 3) return true\n\t\tconst joinText = typingDialog.occupantsIDs?.length === 2 ? ` ${t('chat/chat:and')} ` : ', '\n\t\tconst endText = typingDialog.occupantsIDs?.length > 1 ? ` ${t('chat/chat:areTyping')} ...` : ` ${t('chat/chat:isTyping')} ...`\n\t\treturn typingDialog.occupantsIDs.map(uID => users?.find(u => u.id === uID)?.full_name ?? uID).join(joinText) + endText\n\t}, [dialog, users, typingDialogs])\n\n\tconst days = useMemo(() => {\n\t\tif (!messages.length) return []\n\t\tconst days = []\n\t\tmessages.forEach((message, idx) => {\n\t\t\tconst sentDate = message?.date_sent\n\t\t\tconst startOfDay = moment(sentDate).startOf('day').valueOf()\n\t\t\tif (days.map(d => d.timestamp).indexOf(startOfDay) !== -1) return\n\n\t\t\tif (startOfDay >= moment().subtract(1, 'days').startOf('day').valueOf()) { // if date is big or equal than yesterday show humanized date\n\t\t\t\tconst dayString = moment(startOfDay).calendar()\n\t\t\t\tdays.push({ idx, day: dayString.substr(0, dayString.indexOf(' ')), timestamp: startOfDay })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tlet day = moment(startOfDay).format('D MMM')\n\t\t\tif (moment(sentDate).startOf('year').valueOf() !== moment().startOf('year').valueOf()) { // if date is from another year\n\t\t\t\tday += moment(sentDate).format(' YYYY')\n\t\t\t}\n\t\t\tdays.push({ idx, day, timestamp: startOfDay })\n\t\t})\n\t\treturn days\n\t}, [messages])\n\n\tuseEffect(() => {\n\t\tif (!isTyping) return\n\t\tscrollToBottom()\n\t}, [isTyping])\n\n\tuseEffect(() => {\n\t\tif (firstMessageIDBeforeLoadOldMessages) {\n\t\t\tconst list = document.getElementById('messagesList')\n\t\t\tconst lastElement = document.getElementById(firstMessageIDBeforeLoadOldMessages)\n\t\t\tif (!lastElement?.offsetTop) return\n\t\t\tlist.scrollTop = lastElement.offsetTop\n\t\t\tsetFirstMessageIDBeforeLoadOldMessages(null)\n\t\t} else {\n\t\t\tscrollToBottom()\n\t\t}\n\t}, [messages])\n\n\tconst expandImage = image => {\n\t\tconst expandedImageDiv = document.getElementById('expanded-image')\n\t\tconst expandedImage = document.getElementById('expanded-image-img')\n\t\texpandedImage.src = image\n\t\texpandedImageDiv.classList.remove('hidden')\n\t}\n\n\tconst closeExpandedImage = attachmentID => {\n\t\tconst expandedImage = document.getElementById('expanded-image')\n\t\texpandedImage.classList.add('hidden')\n\t}\n\n\tconst scrollToBottom = () => {\n\t\tif (firstMessageIDBeforeLoadOldMessages) return\n\t\tconst list = document.getElementById('messagesList')\n\t\tif (!list) return\n\t\tlist.scrollTop = list.scrollHeight\n\t\tsetTimeout(() => {\n\t\t\tlist.scrollTop = 9999999\n\t\t}, 100)\n\t}\n\n\tconst handleScroll = e => {\n\t\tif (loading) return\n\t\tconst target = e?.target\n\t\tif (!target || target.scrollTop !== 0) return\n\t\tconst firstMessageFromListID = document.getElementById('messagesList')?.getElementsByClassName('message')?.[0]?.id\n\t\tsetFirstMessageIDBeforeLoadOldMessages(firstMessageFromListID)\n\t\tgetChatMessages(dialog)\n\t}\n\n\tconst handleSettingsClick = () => hasSettingsAccess ? setShowSettings(true) : null\n\n\tconst getMessageAuthor = senderID => {\n\t\treturn dialogUsers.find(u => u.id === senderID)?.full_name\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div id='expanded-image' className='hidden'>\n\t\t\t\t<img id='expanded-image-img' />\n\t\t\t\t<div className='close-button pointer' onClick={closeExpandedImage} />\n\t\t\t</div>\n\t\t\t{showSettings ? <Settings dialog={dialog} user={user} users={users} onClose={() => setShowSettings(false)} /> : (\n\t\t\t\t<div className='dialog'>\n\t\t\t\t\t<div className={`header${isGroup ? ' isGroup' : ''}`}>\n\t\t\t\t\t\t<div className='d-icon svg-icon back' onClick={() => { close() }} />\n\t\t\t\t\t\t<div className='name'>\n\t\t\t\t\t\t\t{dialog?.name}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{isGroup ? (\n\t\t\t\t\t\t\t<div className={`d-icon svg-icon settings${hasSettingsAccess ? '' : ' disabled'}`} onClick={handleSettingsClick} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<div className={`d-icon svg-icon call${currentCall ? ' disabled' : ''}`} onClick={() => { makeCall() }} />\n\t\t\t\t\t\t\t\t<div className={`d-icon svg-icon video${currentCall ? ' disabled' : ''}`} onClick={() => { makeCall(true) }} />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='content' id='messagesList' onScroll={handleScroll}>\n\t\t\t\t\t\t{loading ? <Dimmer active inverted><Loader /></Dimmer> : ''}\n\t\t\t\t\t\t{messages?.length ? messages.map((message, idx) => {\n\t\t\t\t\t\t\tconst index = days.map(d => d.idx).indexOf(idx)\n\t\t\t\t\t\t\tlet author = null\n\t\t\t\t\t\t\tif (isGroup) { // only for groups\n\t\t\t\t\t\t\t\tconst sameAuthorAsPrevMessage = idx && messages[idx - 1].sender_id === message?.sender_id\n\t\t\t\t\t\t\t\tif (!sameAuthorAsPrevMessage) author = getMessageAuthor(message?.sender_id)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{index !== -1 ? <div className='day' id={days[index].timestamp}>{days[index].day}</div> : ''}\n\t\t\t\t\t\t\t\t\t<Message\n\t\t\t\t\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\t\t\t\t\tauthor={author}\n\t\t\t\t\t\t\t\t\t\topponentID={opponentID}\n\t\t\t\t\t\t\t\t\t\texpandImage={expandImage}\n\t\t\t\t\t\t\t\t\t\tscrollToBottom={scrollToBottom}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}) : <InfoMessage message={t('chat/chat:noMessages')} />}\n\t\t\t\t\t\t{isTyping ? (\n\t\t\t\t\t\t\t<div className='message transparent isTyping'>\n\t\t\t\t\t\t\t\t<div className='is-typing padding-left' />{isTyping}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<InputMessage scrollToBottom={scrollToBottom} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t)\n}\n\nDialog.propTypes = {\n\tuser: PropTypes.object,\n\tusers: PropTypes.array,\n\tclose: PropTypes.func,\n}\n\nexport default Dialog\n","import React from 'react'\nimport { Label } from 'semantic-ui-react'\nimport PropTypes from 'prop-types'\n\nconst icon = ({ unreadCount, onClick }) => {\n\treturn (\n\t\t<>\n\t\t\t<div className='svg-icon chatIcon' onClick={onClick} />\n\t\t\t{unreadCount ? (\n\t\t\t\t<Label size='small' circular color='red' className='unread-messages-count pointer' onClick={onClick}>{unreadCount}</Label>\n\t\t\t) : null}\n\t\t</>\n\t)\n}\n\nicon.propTypes = {\n\tunreadCount: PropTypes.number,\n\tonClick: PropTypes.func,\n}\n\nexport default icon\n","import React, { useState, useMemo } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { Icon, Input } from 'semantic-ui-react'\nimport { lowerCase, map, filter, sortBy } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nconst NewDialog = ({ isGroup, user, users, close, cancel }) => {\n\tconst createDialog = useStoreActions(actions => actions.chat.createDialog)\n\n\tconst [searchText, setSearchText] = useState('')\n\tconst [name, setName] = useState('')\n\tconst [saveButtonPressed, setSaveButtonPressed] = useState(false)\n\tconst [selectedUsers, setSelectedUsers] = useState([])\n\tconst { t } = useTranslation(['chat/chat'])\n\tconst sortedUsers = useMemo(() => sortBy(users, 'full_name'), [users])\n\n\tconst makeDialog = (usersIDs, name) => {\n\t\tclose()\n\t\tlet params = {\n\t\t\ttype: 3,\n\t\t\toccupants_ids: usersIDs,\n\t\t}\n\t\tif (isGroup) {\n\t\t\tparams = {\n\t\t\t\ttype: 2,\n\t\t\t\tname,\n\t\t\t\toccupants_ids: usersIDs?.length ? usersIDs : [user?.id],\n\t\t\t}\n\t\t}\n\t\tcreateDialog(params)\n\t}\n\n\tconst selectUser = user => {\n\t\tif (isGroup) {\n\t\t\tif (selectedUsers.indexOf(user) === -1) {\n\t\t\t\tsetSelectedUsers([...selectedUsers, user])\n\t\t\t\tif (selectedUsers?.length > 7) scrollToBottom()\n\t\t\t} else {\n\t\t\t\tsetSelectedUsers(selectedUsers.filter(u => u !== user))\n\t\t\t}\n\t\t\tif (searchText) setSearchText('')\n\t\t} else {\n\t\t\tmakeDialog([user.id])\n\t\t}\n\t}\n\n\tconst save = () => {\n\t\tif (!name) {\n\t\t\tsetSaveButtonPressed(true)\n\t\t\treturn\n\t\t}\n\t\tmakeDialog(selectedUsers.map(u => u.id), name)\n\t}\n\n\tconst availableUsers = useMemo(() => {\n\t\tif (!selectedUsers?.length) return sortedUsers\n\t\treturn filter(sortedUsers, user => selectedUsers.indexOf(user) === -1)\n\t}, [sortedUsers, selectedUsers])\n\n\tconst filteredUsers = useMemo(() => {\n\t\treturn filter(availableUsers, u => u?.full_name && lowerCase(u?.full_name).indexOf(lowerCase(searchText)) !== -1)\n\t}, [availableUsers, searchText])\n\n\tconst scrollToBottom = () => {\n\t\tconst list = document.getElementById('tags')\n\t\tif (!list) return\n\t\tlist.scrollTop = list.scrollHeight\n\t\tsetTimeout(() => {\n\t\t\tlist.scrollTop = 9999999\n\t\t}, 100)\n\t}\n\n\treturn (\n\t\t<div className={`${isGroup ? 'isGroup ' : ''}new-dialog`}>\n\t\t\t{isGroup ? (\n\t\t\t\t<div className='group-header'>\n\t\t\t\t\t<div className='svg-icon cancel' onClick={() => { cancel() }} />\n\t\t\t\t\t<div className='name'>{t('chat/chat:new.group')}</div>\n\t\t\t\t\t<div className='svg-icon save' onClick={() => save()} />\n\t\t\t\t\t<div className='full-header-width'>\n\t\t\t\t\t\t<label>{t('chat/chat:groupName')} <span className='required-asterix'>*</span></label>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tvalue={name}\n\t\t\t\t\t\t\tonChange={(event, data) => setName(data?.value)}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\ttransparent\n\t\t\t\t\t\t\terror={!name && saveButtonPressed}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='full-header-width pos-relative'>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tplaceholder={t('chat/chat:searchContact')}\n\t\t\t\t\t\t\tvalue={searchText}\n\t\t\t\t\t\t\tonChange={(event, data) => setSearchText(data?.value)}\n\t\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\t\ticonPosition='left'\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\ttransparent\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{searchText && <div className='closeWrapper pointer pos-absolute-right' onClick={() => setSearchText('')}><div className='close' /></div>}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div className='search'>\n\t\t\t\t\t<div className='back-icon pointer'>\n\t\t\t\t\t\t<Icon name='arrow left' size='large' onClick={() => { cancel() }} />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Input\n\t\t\t\t\t\ttransparent\n\t\t\t\t\t\tplaceholder={t('chat/chat:searchContact')}\n\t\t\t\t\t\tvalue={searchText}\n\t\t\t\t\t\tonChange={(event, data) => setSearchText(data?.value)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<input />\n\t\t\t\t\t\t{searchText && <div className='closeWrapper pointer' onClick={() => setSearchText('')}><div className='close svg-icon' /></div>}\n\t\t\t\t\t</Input>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{isGroup ? (\n\t\t\t\t<div id='tags' className={`tags${selectedUsers?.length ? '' : ' empty'}`}>\n\t\t\t\t\t{map(selectedUsers, item => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div className='tag'>\n\t\t\t\t\t\t\t\t<div className='text' title={item?.full_name}>{item?.full_name}</div>\n\t\t\t\t\t\t\t\t<div className='closeWrapper pointer' onClick={() => selectUser(item)}>\n\t\t\t\t\t\t\t\t\t<div className='close svg-icon' />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t) : ''}\n\t\t\t<div className='users-list'>\n\t\t\t\t{map(filteredUsers, item => {\n\t\t\t\t\tconst imgLink = item?.avatar\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className='user' onClick={() => selectUser(item)}>\n\t\t\t\t\t\t\t<div className='avatar'>\n\t\t\t\t\t\t\t\t{imgLink ? (\n\t\t\t\t\t\t\t\t\t<img className='profile-picture' src={imgLink} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className='profile-picture default-profile-picture' />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='name'>\n\t\t\t\t\t\t\t\t{item?.full_name}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nNewDialog.propTypes = {\n\tisGroup: PropTypes.bool,\n\tuser: PropTypes.object,\n\tusers: PropTypes.array,\n\tclose: PropTypes.func,\n\tcancel: PropTypes.func,\n}\n\nexport default NewDialog\n","import React, { useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Tab, List, Label, Dimmer, Loader, Input } from 'semantic-ui-react'\nimport { map, filter } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nimport { formatTimeHumanized } from '../../utils/date'\nimport Dialog from './Dialog'\nimport NewDialog from './NewDialog'\nimport Calls from './Calls'\n\nconst ChatWindow = ({ user }) => {\n\tconst loading = useStoreState(state => state.chat.loading)\n\tconst dialogs = useStoreState(state => state.chat.dialogs)\n\tconst dialog = useStoreState(state => state.chat.dialog)\n\tconst users = useStoreState(state => state.chat.users)\n\tconst typingDialogs = useStoreState(state => state.chat.typingDialogs)\n\n\tconst selectDialog = useStoreActions(actions => actions.chat.selectDialog)\n\n\t// ---------------------\n\tconst { t } = useTranslation(['chat/chat'])\n\n\tconst [adding, setAdding] = useState(false)\n\tconst [isGroup, setIsGroup] = useState(false)\n\tconst [showAddMenu, setShowAddMenu] = useState(false)\n\tconst [showAddButton, setShowAddButton] = useState(true)\n\tconst [searchText, setSearchText] = useState('')\n\n\tconst isConversationsList = useMemo(() => !adding && !dialog, [adding, dialog])\n\n\tconst filteredDialogs = useMemo(() => {\n\t\tif (!searchText) return dialogs\n\t\tconst search = searchText.toLowerCase()\n\t\treturn dialogs.filter(i => i?.name?.toLowerCase()?.includes(search))\n\t}, [dialogs, searchText])\n\n\tconst closeMessages = () => {\n\t\tselectDialog(null)\n\t\tsetShowAddButton(true)\n\t}\n\n\tconst cancelCreateDialog = () => {\n\t\tsetAdding(false)\n\t\tsetShowAddButton(true)\n\t\tsetShowAddMenu(false)\n\t}\n\n\tconst newChat = isGroup => {\n\t\tsetIsGroup(isGroup)\n\t\tsetShowAddMenu(false)\n\t\tsetShowAddButton(false)\n\t\tsetAdding(true)\n\t}\n\n\tconst handleDialogClick = dialog => {\n\t\tif (!dialog) return\n\t\tselectDialog(dialog)\n\t}\n\n\tconst getTypingUsers = dialogID => {\n\t\tconst typingDialog = typingDialogs?.find(d => d.id === dialogID)\n\t\tif (!typingDialog) return\n\t\tconst joinText = typingDialog.occupantsIDs?.length === 2 ? ` ${t('chat/chat:and')} ` : ', '\n\t\tconst endText = typingDialog.occupantsIDs?.length > 1 ? ` ${t('chat/chat:areTyping')} ...` : ` ${t('chat/chat:isTyping')} ...`\n\t\treturn typingDialog.occupantsIDs.map(uID => users?.find(u => u.id === uID)?.full_name ?? uID).join(joinText) + endText\n\t}\n\n\tconst panes = [{\n\t\tmenuItem: t('chat/chat:message_plural', { count: 0 }).toUpperCase(),\n\t\trender: () => (\n\t\t\t<>\n\t\t\t\t{isConversationsList && (\n\t\t\t\t\t<div className='search-conversation'>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tplaceholder={t('chat/chat:searchConversation')}\n\t\t\t\t\t\t\tvalue={searchText}\n\t\t\t\t\t\t\tonChange={(event, data) => setSearchText(data?.value)}\n\t\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\t\ticonPosition='left'\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\ttransparent\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<List className={dialog || adding ? 'nopadding' : 'conversations'}>\n\t\t\t\t\t{loading ? <Dimmer active inverted><Loader /></Dimmer> : ''}\n\t\t\t\t\t{adding ? (\n\t\t\t\t\t\t<NewDialog\n\t\t\t\t\t\t\tisGroup={isGroup}\n\t\t\t\t\t\t\tuser={user}\n\t\t\t\t\t\t\tusers={isGroup ? filter(users, u => u?.id !== user?.id) : filter(users, u => {\n\t\t\t\t\t\t\t\tconst usedUsers = map(filter(dialogs, d => d?.type === 3), d => {\n\t\t\t\t\t\t\t\t\tconst opponents = (d?.occupants_ids ?? []).filter(id => id !== user?.id)\n\t\t\t\t\t\t\t\t\treturn opponents[0]\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tusedUsers.push(user?.id) // self\n\n\t\t\t\t\t\t\t\treturn usedUsers.indexOf(u?.id) === -1\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tclose={() => setAdding(false)}\n\t\t\t\t\t\t\tcancel={cancelCreateDialog}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (dialog ? (\n\t\t\t\t\t\t<Dialog\n\t\t\t\t\t\t\tuser={user}\n\t\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\t\tclose={closeMessages}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tmap(filteredDialogs, item => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<List.Item onClick={() => handleDialogClick(item)}>\n\t\t\t\t\t\t\t\t\t<div className='avatar'>\n\t\t\t\t\t\t\t\t\t\t{item.photo ? (\n\t\t\t\t\t\t\t\t\t\t\t<img className='profile-picture' src={item.photo} />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<div className={`profile-picture default-profile-picture${item.type === 2 ? ' group' : ''}`} />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{item.unread_messages_count ? <Label color='black' circular floating>{item.unread_messages_count}</Label> : ''}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='content'>\n\t\t\t\t\t\t\t\t\t\t<div className='c-header' title={item.name}>{item.name}</div>\n\t\t\t\t\t\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\t\t\t\t\t\t{typingDialogs.mapBy('id').indexOf(item._id) !== -1 ? (<><div className='is-typing' />{item.type === 2 ? getTypingUsers(item._id) : ''}</>) : item.last_message}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='time'>\n\t\t\t\t\t\t\t\t\t\t{formatTimeHumanized(item.last_message_date_sent * 1000)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t\t)}\n\t\t\t\t</List>\n\t\t\t\t{!dialog && !adding && showAddButton ? (\n\t\t\t\t\t<div className='new'>\n\t\t\t\t\t\t{showAddMenu ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<div className='text' onClick={() => { newChat(false) }}>{t('chat/chat:new.chat')}</div>\n\t\t\t\t\t\t\t\t<div className='user svg-icon' onClick={() => { newChat(false) }} />\n\t\t\t\t\t\t\t\t<div className='text' onClick={() => { newChat(true) }}>{t('chat/chat:new.group')}</div>\n\t\t\t\t\t\t\t\t<div className='group svg-icon' onClick={() => { newChat(true) }} />\n\t\t\t\t\t\t\t\t<div />\n\t\t\t\t\t\t\t\t<div className='cancel bigger svg-icon' onClick={() => { setShowAddMenu(false) }} />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<div />\n\t\t\t\t\t\t\t\t<div className='edit bigger svg-icon' onClick={() => { setShowAddMenu(true) }} />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</>\n\t\t)\n\t}, {\n\t\tmenuItem: t('chat/chat:calls').toUpperCase(),\n\t\trender: () => <Calls />,\n\t}]\n\n\treturn (\n\t\t<Tab className='chatWindow' menu={{ secondary: true, pointing: true }} panes={panes} />\n\t)\n}\n\nChatWindow.propTypes = {\n\tuser: PropTypes.object,\n}\n\nexport default ChatWindow\n","import React from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Button } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\n\nimport CallModalAudio from './CallModalAudio'\nimport CallModalVideo from './CallModalVideo'\nimport ChatWindow from './Window'\nimport ChatIcon from './Icon'\n\nconst Chat = () => {\n\t// #region\n\tconst user = useStoreState(state => state.chat.ccUser) // ConnectyCube user\n\tconst showChat = useStoreState(state => state.chat.showChat)\n\tconst unreadMessagesCount = useStoreState(state => state.chat.unreadMessages)\n\n\tconst handleShowChat = useStoreActions(actions => actions.chat.handleShowChat)\n\n\tconst currentCall = useStoreState(state => state.chat.currentCall)\n\tconst incomingCalls = useStoreState(state => state.chat.incomingCalls)\n\tconst showRejectedModal = useStoreState(state => state.chat.showRejectedModal)\n\tconst showCallingModal = useStoreState(state => state.chat.showCallingModal)\n\n\tconst stopCall = useStoreActions(actions => actions.chat.stopCall)\n\tconst acceptCall = useStoreActions(actions => actions.chat.acceptCall)\n\tconst rejectCall = useStoreActions(actions => actions.chat.rejectCall)\n\t// #endregion\n\n\tconst { t } = useTranslation(['chat/chat'])\n\n\tconst handleIconClick = () => {\n\t\tif (!user) return\n\t\thandleShowChat(!showChat)\n\t\tif (showChat) {\n\t\t\tdocument.getElementsByClassName('application')[0].classList.remove('openedChat')\n\t\t} else {\n\t\t\tdocument.getElementsByClassName('application')[0].classList.add('openedChat')\n\t\t}\n\t}\n\n\tif (!user) return null\n\n\treturn (\n\t\t<div className='react-chat'>\n\t\t\t<audio id='ringtones' />\n\t\t\t<audio id='my-audio' muted />\n\t\t\t<audio id='his-audio' />\n\t\t\t<ChatIcon unreadCount={unreadMessagesCount} onClick={handleIconClick} />\n\t\t\t{incomingCalls?.length ? (\n\t\t\t\t<div id='incoming-calls'>\n\t\t\t\t\t{incomingCalls.map(incomingCall => (\n\t\t\t\t\t\t<div key={incomingCall.id} className='incoming-call'>\n\t\t\t\t\t\t\t<div className='text'>\n\t\t\t\t\t\t\t\t{t('chat/chat:call.status.incoming')} <b>{incomingCall.name}</b>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='actions'>\n\t\t\t\t\t\t\t\t<Button color='green' onClick={() => acceptCall(incomingCall)}>Accept</Button>\n\t\t\t\t\t\t\t\t<Button color='red' onClick={() => rejectCall(incomingCall)}>Reject</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div className={`content${showChat ? ((currentCall || showRejectedModal) ? ' has-modals' : '') : ' hidden-chat'}`}>\n\t\t\t\t{showRejectedModal ? (\n\t\t\t\t\t<CallModalAudio\n\t\t\t\t\t\tname={showRejectedModal}\n\t\t\t\t\t\ttext={t('chat/chat:call.status.rejected')}\n\t\t\t\t\t/>\n\t\t\t\t) : (currentCall && !currentCall.isVideo) ? (\n\t\t\t\t\t<CallModalAudio\n\t\t\t\t\t\tname={currentCall?.name}\n\t\t\t\t\t\ttext={t(`chat/chat:call.status.${showCallingModal ? 'calling' : 'ongoing'}`) + '...'}\n\t\t\t\t\t\tonReject={stopCall}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<CallModalVideo\n\t\t\t\t\tcurrentCall={currentCall}\n\t\t\t\t\tshowCallingModal={showCallingModal}\n\t\t\t\t\tstopCall={stopCall}\n\t\t\t\t/>\n\t\t\t\t{showChat ? <ChatWindow user={user} /> : null}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default Chat\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Icon } from 'semantic-ui-react'\nimport toast from 'react-hot-toast'\nimport PropTypes from 'prop-types'\n\n/**\n\t- EXAMPLE -\n\tconst toastProps = {\n\t\tcontent: 'error integration',\n\t\tbuttonText: 'Reload',\n\t\taction: (closeToast) => {\n\t\t\t// my stuff\n\t\t\treloadMyStuff()\n\t\t\tsetTimeout(() => closeToast(), 5000)\n\t\t},\n\t}\n\ttoast.error(myToast => <ToastContent {...toastProps} myToast={myToast} />, { duration: 9999999 })\n*/\nfunction CustomToastContent ({ myToast, content, buttonText, action, closable = true }) {\n\tconst { t } = useTranslation(['common'])\n\tconst toastContent = content || t('messages.operationFailed')\n\n\tconst closeToast = () => toast.dismiss(myToast?.id)\n\n\tconst handleButtonClick = () => {\n\t\tif (action) action(closeToast)\n\t\t// if (closable) closeToast()\n\t}\n\n\treturn (\n\t\t<div className='custom-toast'>\n\t\t\t<div>{toastContent}</div>\n\t\t\t{action && buttonText &&\n\t\t\t\t<div className='doc-button' onClick={handleButtonClick}>\n\t\t\t\t\t{buttonText}\n\t\t\t\t</div>}\n\t\t\t{closable &&\n\t\t\t\t<div className='pointer' onClick={closeToast}>\n\t\t\t\t\t<Icon fitted name='cancel' />\n\t\t\t\t</div>}\n\t\t</div>\n\t)\n}\n\nCustomToastContent.propTypes = {\n\tmyToast: PropTypes.object,\n\tcontent: PropTypes.node,\n\tbuttonText: PropTypes.string,\n\taction: PropTypes.func,\n\tclosable: PropTypes.bool,\n}\n\nexport default CustomToastContent\n","import React, { useRef, useEffect } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { get } from 'lodash'\nimport { useSelections } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nconst DropdownMultiple = ({ options, defaultSelected, onChange, placeholder = null, ...otherProps }) => {\n\tconst refInstantiated = useRef()\n\tconst { t } = useTranslation(['common'])\n\n\tconst { selected, isSelected, toggle, setSelected, unSelectAll } = useSelections(options.map(option => get(option, 'value')), defaultSelected)\n\n\tuseEffect(() => {\n\t\tif (refInstantiated?.current || !defaultSelected?.length) return\n\t\trefInstantiated.current = true\n\t\tsetSelected(defaultSelected)\n\t}, [defaultSelected]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\tif (onChange) {\n\t\t\tonChange(selected)\n\t\t}\n\t}, [selected])\n\n\tuseEffect(() => {\n\t\tif (onChange) {\n\t\t\tonChange(selected)\n\t\t}\n\t}, [selected])\n\n\treturn (\n\t\t<Dropdown\n\t\t\ttext={selected.length > 0 ? t('selected', { count: selected.length }) : placeholder}\n\t\t\tvalue={selected}\n\t\t\tonChange={() => unSelectAll()}\n\t\t\tclearable multiple selection\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t<Dropdown.Menu>\n\t\t\t\t{options.map(option => (\n\t\t\t\t\t<Dropdown.Item\n\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\ticon={isSelected(option.value) ? 'check' : ''}\n\t\t\t\t\t\tactive={isSelected(option.value)}\n\t\t\t\t\t\tonClick={() => toggle(option.value)}\n\t\t\t\t\t\t{...option}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Dropdown.Menu>\n\t\t</Dropdown>\n\t)\n}\n\nDropdownMultiple.propTypes = {\n\toptions: PropTypes.array,\n\tdefaultSelected: PropTypes.array,\n\tonChange: PropTypes.func,\n\tplaceholder: PropTypes.string,\n}\n\nexport default DropdownMultiple\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useFormContext } from 'react-hook-form'\nimport PropTypes from 'prop-types'\nimport { get, isEmpty, set } from 'lodash'\n\nconst Field = ({ p, tKey, required, readOnly, noLabel, ...props }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst { register, formState: { errors } } = useFormContext()\n\n\tconst error = errors ? get(errors, p) : null\n\tconst text = useMemo(() => t(tKey || `column.${p}`), [t, p, tKey])\n\n\tconst reg = useMemo(() => {\n\t\tconst obj = {}\n\n\t\tif (required) set(obj, 'required', true)\n\t\tif (isEmpty(obj)) return register\n\t\treturn register(obj)\n\t}, [required, register])\n\n\treturn (\n\t\t<div className='dc-field' {...props}>\n\t\t\t{!noLabel && (\n\t\t\t\t<label>\n\t\t\t\t\t{text}{required ? <span className='color yellow'> *</span> : null}\n\t\t\t\t</label>\n\t\t\t)}\n\t\t\t<div>\n\t\t\t\t<input name={p} ref={reg} readOnly={readOnly} />\n\t\t\t\t<span style={{ color: 'yellow', display: 'inherit' }}>\n\t\t\t\t\t{error ? get(error, 'message') || (text + ' ' + t(`error.${get(error, 'type')}`)) : null}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nField.propTypes = {\n\tp: PropTypes.string,\n\ttKey: PropTypes.string,\n\trequired: PropTypes.bool,\n\treadOnly: PropTypes.bool,\n\tnoLabel: PropTypes.bool,\n}\n\nexport default Field\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nfunction InfoMessage ({ message }) {\n\treturn (\n\t\t<div className='info-message'>\n\t\t\t<div className='box'>\n\t\t\t\t<i className='info circle icon fitted' />\n\t\t\t\t<p>{message}.</p>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nInfoMessage.propTypes = {\n\tmessage: PropTypes.string,\n}\n\nexport default InfoMessage\n","import React, { useState, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { Card, Button, Icon } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { find } from 'lodash'\n\nconst Title = ({ name, status }) => {\n\tconst { t } = useTranslation(['integration'])\n\treturn (\n\t\t<>\n\t\t\t<div className='title'>{name}</div>\n\t\t\t<label className='status-label'>{status ? t('options.status1') : t('options.status2')}</label>\n\t\t</>\n\t)\n}\n\nconst EditableCard = ({\n\tintegration,\n\tsharedIntegrations,\n\tselectIntegration,\n\t...restProps\n}) => {\n\tconst { t } = useTranslation(['integration'])\n\tconst [hasVehicle, setHasVehicle] = useState(true)\n\tconst [hasToken, setHasToken] = useState(false)\n\n\tuseEffect(() => {\n\t\tconst vehicleFound = find(sharedIntegrations, sharedIntegration => sharedIntegration?.raw?.integrationID === integration?.raw?.id)\n\t\tif (integration?.raw?.enabled) {\n\t\t\tsetHasVehicle(!!vehicleFound)\n\t\t} else {\n\t\t\tsetHasVehicle(true)\n\t\t}\n\n\t\tconst tokenExpireDate = integration?.raw?.options.find(option => option.name === 'expires_in')\n\t\tif (integration?.raw?.enabled && integration?.raw?.template === 'e-transport' && tokenExpireDate) {\n\t\t\tsetHasToken(true)\n\t\t} else {\n\t\t\tsetHasToken(false)\n\t\t}\n\t}, [integration, sharedIntegrations])\n\n\treturn (\n\t\t<Card className={`integration-card ${integration?.raw?.enabled ? 'card-active' : 'card-inactive'}`}>\n\t\t\t<Card.Content>\n\t\t\t\t<Card.Header className='card-header'><Title name={integration?.raw?.name || '-'} status={integration?.raw?.enabled} /></Card.Header>\n\t\t\t\t{hasToken ? <div className='token'>{`${t('options.expires_in')} ${moment(Number(integration?.raw?.options.find(option => option.name === 'expires_in').value)).tz('Europe/Bucharest').format('YYYY-MM-DD HH:mm:ss')}`}</div> : ''}\n\t\t\t\t{!hasVehicle && (integration?.raw?.category !== 'refuel-parser' && integration?.raw?.category !== 'toll') ? <div className='warning'><Icon name='exclamation triangle' />{t('warning')}</div> : null}\n\t\t\t\t<div className='card-actions'>\n\t\t\t\t\t<div className='website'>\n\t\t\t\t\t\t{integration?.raw?.homepage\n\t\t\t\t\t\t\t? <a href={integration?.raw?.homepage} target='_blank' rel='noopener noreferrer'>{t('website')}</a>\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button className='card-btn' onClick={selectIntegration}>{t('buttons.edit')}</Button>\n\t\t\t\t</div>\n\t\t\t</Card.Content>\n\t\t</Card>\n\t)\n}\n\nEditableCard.propTypes = {\n\tintegration: PropTypes.array,\n\tsharedIntegrations: PropTypes.array,\n\tselectIntegration: PropTypes.func,\n}\n\nTitle.propTypes = {\n\tname: PropTypes.string,\n\tstatus: PropTypes.bool,\n}\n\nexport default EditableCard\n","import React, { useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { Button, Modal, Checkbox } from 'semantic-ui-react'\nimport { map, has, forEach } from 'lodash'\nimport { useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState } from 'easy-peasy'\n\nconst ModalWindow = ({ integration, sharedIntegration, divisions, closeModal, clients, onSubmit }) => {\n\tconst { register, handleSubmit, setValue, watch, formState } = useForm({\n\t\tdefaultValues: {\n\t\t\tsharedGroupID: sharedIntegration?.raw?.entityID,\n\t\t\tenabled: integration?.raw?.enabled,\n\t\t\tduration: sharedIntegration?.raw?.end === null ? 'permanent' : '1'\n\t\t}\n\t})\n\tconst { t } = useTranslation(['integration'])\n\n\tconst spv = useStoreState(state => state.global.spv)\n\n\tconst sharedIntegrationID = watch('sharedGroupID')\n\tconst integrationEnabled = watch('enabled')\n\tconst handleCheckboxValueChange = (e, data) => {\n\t\tsetValue('enabled', data?.checked)\n\t}\n\n\tuseEffect(() => {\n\t\tregister('enabled')\n\t}, [register])\n\n\tuseEffect(() => {\n\t\tif (!integration?.raw?.options || !setValue) return\n\t\tforEach(integration?.raw?.options, (option, index) => {\n\t\t\tconst fieldName = ['options', index, option?.name].join('.')\n\t\t\tif (option?.name === 'expires_in') {\n\t\t\t\tconst val = moment(Number(option?.value)).tz('Europe/Bucharest').format('YYYY-MM-DD HH:mm:ss')\n\t\t\t\tsetValue(fieldName, val)\n\t\t\t} else {\n\t\t\t\tsetValue(fieldName, option?.value)\n\t\t\t}\n\t\t})\n\t}, [integration, setValue])\n\n\tfunction displayRemainingTime (timestamp) {\n\t\tif (timestamp === null) return t('durationDropdown.permanent')\n\t\tif (!timestamp) return ''\n\t\tconst diff = moment(timestamp).diff(moment(), 'm') || 0\n\t\tconst diffObj = {\n\t\t\tminutes: Math.trunc(diff),\n\t\t\thours: Math.trunc(diff / 60),\n\t\t\tdays: Math.trunc((diff / 60) / 24)\n\t\t}\n\n\t\tif (diffObj.days >= 1) return `${diffObj.days} ${t('remainingTime.day', { count: diffObj.days })}`\n\t\tif (diffObj.hours >= 1) return `${diffObj.hours} ${t('remainingTime.hour', { count: diffObj.hours })}`\n\t\tif (diffObj.minutes >= 1) return `${diffObj.minutes} ${t('remainingTime.minute', { count: diffObj.minutes })}`\n\t}\n\n\tconst openLinkInNewTab = (groupID) => {\n\t\tcloseModal()\n\t\tconst newWindow = window.open(`https://logincert.anaf.ro/anaf-oauth2/v1/authorize?response_type=code&token_content_type=jwt&client_id=${spv.clientID}&state=${groupID}&redirect_uri=${spv.redirect_uri}`, '_blank')\n\t\tsetTimeout(() => {\n\t\t\tnewWindow.close()\n\t\t\twindow.location.reload()\n\t\t}, 10000) // Adjust the duration in milliseconds (e.g., 5000 for 5 seconds)\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName='dc-modal ba-modal'\n\t\t\topen={integration}\n\t\t>\n\t\t\t<Modal.Header>\n\t\t\t\t{integration?.raw?.name}\n\t\t\t</Modal.Header>\n\t\t\t<Modal.Content>\n\t\t\t\t<div />\n\t\t\t\t<form id='my-form' className='dc-form ui form' onSubmit={handleSubmit(onSubmit)}>\n\t\t\t\t\t<div className='duration-status-wrapper'>\n\t\t\t\t\t\t<div className='duration'>{integration?.raw?.enabled && sharedIntegration?.raw?.id ? displayRemainingTime(sharedIntegration?.raw?.end) : ''}</div>\n\t\t\t\t\t\t<div className='dcg c2-right'>\n\t\t\t\t\t\t\t<div className='form-label'>{t(integrationEnabled ? 'options.enabled' : 'options.disabled')}</div>\n\t\t\t\t\t\t\t<Checkbox toggle className='toggle-status' defaultChecked={integration?.raw?.enabled} value={integration?.raw?.enabled} onChange={handleCheckboxValueChange} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{map(integration?.raw?.options, (option, index) => {\n\t\t\t\t\t\tconst fieldName = ['options', index, option?.name].join('.')\n\t\t\t\t\t\tconst isClientID = option.name === 'client_id'\n\t\t\t\t\t\tif (!option?.name) return null\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div className='dcg c2'>\n\t\t\t\t\t\t\t\t<div className='form-label'>{t(`options.${option.name}`)}</div>\n\t\t\t\t\t\t\t\t<div className='field'>\n\t\t\t\t\t\t\t\t\t{isClientID ? (\n\t\t\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\t\t\tclassName='form-select'\n\t\t\t\t\t\t\t\t\t\t\tname={fieldName}\n\t\t\t\t\t\t\t\t\t\t\tref={register({ required: !option.disabled })}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{map(clients, client => <option key={client?.raw?.id} value={client?.raw?.id}>{client?.raw?.name}</option>)}\n\t\t\t\t\t\t\t\t\t\t</select>\n\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\tname={fieldName}\n\t\t\t\t\t\t\t\t\t\t\treadOnly={option.disabled}\n\t\t\t\t\t\t\t\t\t\t\tclassName={has(formState, `errors.${fieldName}`) ? 'error' : null}\n\t\t\t\t\t\t\t\t\t\t\tref={register({ required: !option.disabled })}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t\t{integration?.raw?.category !== 'refuel-parser' && integration?.raw?.template !== 'hugo' ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className='dcg c2'>\n\t\t\t\t\t\t\t\t<div className='form-label'>{t('options.division')}</div>\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tclassName='form-select'\n\t\t\t\t\t\t\t\t\tname='sharedGroupID'\n\t\t\t\t\t\t\t\t\tref={register({ required: true })}\n\t\t\t\t\t\t\t\t\tdefaultValue={sharedIntegration?.raw?.entityID ?? 'none'}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<option value='none'>{t('divisionDropdown.none')}</option>\n\t\t\t\t\t\t\t\t\t<option value={integration?.raw?.groupID}>{t('divisionDropdown.company')}</option>\n\t\t\t\t\t\t\t\t\t{map(divisions, division => (\n\t\t\t\t\t\t\t\t\t\t<option value={division?.raw?.id}>{division?.raw?.name}</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='dcg c2'>\n\t\t\t\t\t\t\t\t<div className='form-label'>{t('options.duration')}</div>\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tclassName='form-select'\n\t\t\t\t\t\t\t\t\tname='duration'\n\t\t\t\t\t\t\t\t\tdisabled={(integrationEnabled === false && sharedIntegrationID) || !sharedIntegrationID || sharedIntegrationID === 'none'}\n\t\t\t\t\t\t\t\t\tref={register({ required: true })}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<option value='1'>{t('durationDropdown.1_day')}</option>\n\t\t\t\t\t\t\t\t\t<option value='7'>{t('durationDropdown.7_days')}</option>\n\t\t\t\t\t\t\t\t\t<option value='30'>{t('durationDropdown.30_days')}</option>\n\t\t\t\t\t\t\t\t\t<option value='permanent'>{t('durationDropdown.permanent')}</option>\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>) : ''}\n\t\t\t\t\t{integration && integration?.raw?.template === 'e-transport' ? (\n\t\t\t\t\t\t<div className='doc-button green' onClick={() => openLinkInNewTab(integration?.raw?.groupID)}>{t('token')}</div>\n\t\t\t\t\t) : ''}\n\t\t\t\t\t{integration?.options?.expires_in ? (\n\t\t\t\t\t\t<div className='form-label'>{t('token')}</div>\n\t\t\t\t\t) : ''}\n\t\t\t\t</form>\n\t\t\t\t<div />\n\t\t\t</Modal.Content>\n\t\t\t<Modal.Actions>\n\t\t\t\t<Button\n\t\t\t\t\tclassName='doc-button deny'\n\t\t\t\t\tcontent={t('buttons.cancel')}\n\t\t\t\t\tonClick={() => closeModal()}\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\tform='my-form'\n\t\t\t\t\ttype='submit'\n\t\t\t\t\tclassName='doc-button approve'\n\t\t\t\t>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</button>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalWindow.propTypes = {\n\tintegration: PropTypes.array,\n\tsharedIntegration: PropTypes.object,\n\tclients: PropTypes.array,\n\tdivisions: PropTypes.array,\n\tcloseModal: PropTypes.func,\n\tonSubmit: PropTypes.func,\n}\n\nexport default ModalWindow\n","import React, { useEffect, useCallback } from 'react'\nimport PropTypes from 'prop-types'\nimport { Search } from 'semantic-ui-react'\nimport { useReactive } from 'ahooks'\nimport { debounce, get } from 'lodash'\nimport fuzzy from 'fuzzy'\n\n/**\n * Debounced search of vehicles, geofences and places/locations (Google)\n */\nconst LocationPicker = ({\n\tvehicles,\n\tgeofences,\n\tonChange,\n\tmapsAPI,\n\tdefaultValue,\n\tclearOnSelect,\n\t...props\n}) => {\n\tconst state = useReactive({\n\t\tisLoading: false,\n\t\tresults: [],\n\t\tvalue: defaultValue || '',\n\t\tgeocoder: null,\n\t\t_placesAPI: null,\n\t\t_autocompleteService: null,\n\t\t_placesService: null,\n\t})\n\n\tuseEffect(() => {\n\t\tstate.value = defaultValue\n\t}, [defaultValue])\n\n\tconst isCoordinate = (text) => {\n\t\tconst arr = text.split(',')\n\t\tif (arr.length === 2) {\n\t\t\tlet lat = arr[0]\n\t\t\tlet lng = arr[1]\n\t\t\tif (lat && lng) {\n\t\t\t\t// if a coordinate is not number return invalid\n\t\t\t\tif (isNaN(lat) || isNaN(lng)) return false\n\t\t\t\tconst latNumber = Number(lat)\n\t\t\t\tconst lngNumber = Number(lng)\n\t\t\t\t// coordinates should be between -90 and 90\n\t\t\t\tif (latNumber > 90 || latNumber < -90 || lngNumber > 90 || lngNumber < -90) return false\n\n\t\t\t\tconst countDecimals = value => value % 1 ? value.toString().split('.')[1].length : 0\n\t\t\t\tif (countDecimals(latNumber) < 4) {\n\t\t\t\t\tlat = latNumber.toFixed(4)\n\t\t\t\t}\n\t\t\t\tif (countDecimals(lngNumber) < 4) {\n\t\t\t\t\tlng = lngNumber.toFixed(4)\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tname: `${lat}, ${lng}`,\n\t\t\t\t\tcoordinates: {\n\t\t\t\t\t\tlat: latNumber,\n\t\t\t\t\t\tlng: lngNumber\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\n\t// Debounced search of vehicles, geofences and places/locations (Google)\n\tconst search = useCallback(\n\t\tdebounce(\n\t\t\t(value) => {\n\t\t\t\tconst searches = [\n\t\t\t\t\t// Locations / Places\n\t\t\t\t\tstate._autocompleteService != null ? new Promise(resolve => {\n\t\t\t\t\t\tconst isCoord = isCoordinate(value)\n\t\t\t\t\t\tisCoord ? state.geocoder.geocode({ location: isCoord.coordinates }, (results, status) => {\n\t\t\t\t\t\t\tif (status !== 'OK') {\n\t\t\t\t\t\t\t\tconsole.warn('geocode failed:', status)\n\t\t\t\t\t\t\t\treturn resolve([])\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresolve(results.filter(result => { if (result?.types.includes('plus_code')) return result }))\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: state._autocompleteService.getPlacePredictions({\n\t\t\t\t\t\t\t\tinput: value\n\t\t\t\t\t\t\t}, (predictions, status) => {\n\t\t\t\t\t\t\t\tif (status !== state._placesAPI.PlacesServiceStatus.OK) {\n\t\t\t\t\t\t\t\t\tconsole.warn('getPlacePredictions failed:', status)\n\t\t\t\t\t\t\t\t\treturn resolve([])\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tresolve(predictions)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}) : [],\n\t\t\t\t\t// Vehicles\n\t\t\t\t\tfuzzy\n\t\t\t\t\t\t.filter(value, vehicles || [], {\n\t\t\t\t\t\t\textract: vehicle => get(vehicle, 'raw.licensePlate')\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.slice(0, 5)\n\t\t\t\t\t\t.map(filtered => filtered.original),\n\t\t\t\t\t// Geofences\n\t\t\t\t\tfuzzy\n\t\t\t\t\t\t.filter(value, geofences || [], {\n\t\t\t\t\t\t\textract: geofence => get(geofence, 'raw.name')\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.slice(0, 5)\n\t\t\t\t\t\t.map(filtered => filtered.original),\n\t\t\t\t]\n\n\t\t\t\tPromise.all(searches)\n\t\t\t\t\t.then(([places, vehicles, geofences]) => {\n\t\t\t\t\t\tstate.results = [\n\t\t\t\t\t\t\t// Locations / Places\n\t\t\t\t\t\t\t...(places.plus_code ? [{\n\t\t\t\t\t\t\t\tname: 'location',\n\t\t\t\t\t\t\t\tresults: {\n\t\t\t\t\t\t\t\t\ttitle: `${places.geometry.location.lat()}, ${places.geometry.location.lng()}`,\n\t\t\t\t\t\t\t\t\tplaceId: places.place_id\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}] : places.length > 0 ? [{\n\t\t\t\t\t\t\t\tname: 'location',\n\t\t\t\t\t\t\t\tresults: places.map(place => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\ttitle: place.description || `${place.geometry.location.lat()}, ${place.geometry.location.lng()}`,\n\t\t\t\t\t\t\t\t\t\tplaceId: place.place_id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}] : []),\n\n\t\t\t\t\t\t\t// Vehicles\n\t\t\t\t\t\t\t...(vehicles.length > 0 ? [{\n\t\t\t\t\t\t\t\tname: 'vehicle',\n\t\t\t\t\t\t\t\tresults: vehicles.map(vehicle => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\ttitle: get(vehicle, 'raw.licensePlate'),\n\t\t\t\t\t\t\t\t\t\tcoordinates: [get(vehicle, 'lat'), get(vehicle, 'lng')]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}] : []),\n\n\t\t\t\t\t\t\t// Geofences\n\t\t\t\t\t\t\t...(geofences.length > 0 ? [{\n\t\t\t\t\t\t\t\tname: 'geofence',\n\t\t\t\t\t\t\t\tresults: geofences.map(geofence => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\ttitle: get(geofence, 'raw.name'),\n\t\t\t\t\t\t\t\t\t\t// shape: geofence.shape,\n\t\t\t\t\t\t\t\t\t\tcoordinates: [get(geofence, 'center.lat'), get(geofence, 'center.lng')]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}] : []),\n\t\t\t\t\t\t]\n\n\t\t\t\t\t\tstate.isLoading = false\n\t\t\t\t\t})\n\t\t\t},\n\t\t\t500\n\t\t),\n\t\t[vehicles, geofences]\n\t)\n\n\tconst handleSearchChange = (e, { value }) => {\n\t\tstate.isLoading = value\n\t\tstate.value = value\n\t\tstate.results = []\n\t\tif (state.value === '' && props.callOnResultSelectWhenNoInputValue) onChange(value)\n\t\tsearch(value)\n\t}\n\n\t// Load Places/Autocomplete service\n\tuseEffect(() => {\n\t\tconst placesAPI = get(mapsAPI, 'places')\n\t\tif (placesAPI == null) { return }\n\t\tstate._placesAPI = placesAPI\n\n\t\tconst attrib = document.createElement('div')\n\t\tconst autocompleteService = new placesAPI.AutocompleteService(attrib)\n\t\tstate._autocompleteService = autocompleteService\n\n\t\tconst attrib2 = document.createElement('div')\n\t\tconst placesService = new placesAPI.PlacesService(attrib2)\n\t\tstate._placesService = placesService\n\n\t\tstate.geocoder = new mapsAPI.Geocoder()\n\t}, [mapsAPI])\n\n\treturn <Search\n\t\tcategory\n\t\tloading={state.isLoading}\n\t\tonResultSelect={(e, { result }) => {\n\t\t\tif (clearOnSelect) { state.value = '' }\n\t\t\tif (onChange) {\n\t\t\t\tif (result.placeId) {\n\t\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\t\tstate._placesService.getDetails({\n\t\t\t\t\t\t\tplaceId: result.placeId,\n\t\t\t\t\t\t\tfields: ['geometry.location'],\n\t\t\t\t\t\t}, (location, status) => {\n\t\t\t\t\t\t\tif (status !== state._placesAPI.PlacesServiceStatus.OK) {\n\t\t\t\t\t\t\t\tconsole.warn('getDetails failed:', status)\n\t\t\t\t\t\t\t\treturn resolve([])\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresult.coordinates = [location.geometry.location.lat(), location.geometry.location.lng()]\n\t\t\t\t\t\t\tresolve(result)\n\t\t\t\t\t\t})\n\t\t\t\t\t}).then(value => onChange(value))\n\t\t\t\t}\n\t\t\t\tonChange(result)\n\t\t\t}\n\t\t}}\n\t\tonSearchChange={handleSearchChange}\n\t\tresults={state.results}\n\t\tvalue={state.value}\n\t\t{...props}\n\t/>\n}\n\nLocationPicker.propTypes = {\n\tvehicles: PropTypes.array,\n\tgeofences: PropTypes.array,\n\tonChange: PropTypes.func,\n\tmapsAPI: PropTypes.object,\n\tdefaultValue: PropTypes.string,\n\tclearOnSelect: PropTypes.bool,\n}\n\nexport default LocationPicker\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst GeofenceIcon = ({ url, name = '' }) => {\n\treturn <img\n\t\tclassName='geofence-icon'\n\t\tsrc={url}\n\t\ttitle={name}\n\t/>\n}\n\nGeofenceIcon.propTypes = {\n\turl: PropTypes.string,\n\tname: PropTypes.string,\n}\n\nexport default GeofenceIcon\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nfunction generateUrlByColor (color, assetsPath) {\n\tlet url = `${assetsPath}/images/default_marker.png`\n\tif (!color) {\n\t\treturn url\n\t}\n\tif (color === 'green') {\n\t\turl = `${assetsPath}/images/default_marker_green.png`\n\t} else if (color === 'red') {\n\t\turl = `${assetsPath}/images/default_marker_red.png`\n\t} else if (color === 'yellow') {\n\t\turl = `${assetsPath}/images/default_marker_neutral.png`\n\t} else if (color === 'gray') {\n\t\turl = `${assetsPath}/images/default_marker.png`\n\t}\n\treturn url\n}\n\nconst Marker = ({ color, assetsPath, text, onLeftClick, onRightClick }) => {\n\treturn (\n\t\t<img\n\t\t\ttitle={text}\n\t\t\tclassName='marker-simple'\n\t\t\tsrc={generateUrlByColor(color, assetsPath)}\n\t\t\tonClick={onLeftClick}\n\t\t\tonContextMenu={onRightClick}\n\t\t/>\n\t)\n}\n\nMarker.propTypes = {\n\tcolor: PropTypes.string,\n\tassetsPath: PropTypes.string,\n\ttext: PropTypes.string,\n\tonLeftClick: PropTypes.func,\n\tonRightClick: PropTypes.func,\n}\n\nexport default Marker\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nfunction generateUrlByFillColor (color, assetsPath) {\n\tlet url = `${assetsPath}/images/lolipop90.png` // gray\n\tif (color === 'green') {\n\t\turl = `${assetsPath}/images/loli-green.png`\n\t} else if (color === 'red') {\n\t\turl = `${assetsPath}/images/loli-red.png`\n\t}\n\treturn url\n}\n\nconst MarkerBig = ({ color, isMoving, fillColor, bearing, topText, topTooltip, middleText, middleTooltip, bottomText, bottomTooltip, assetsPath, onLeftClick, onRightClick }) => {\n\treturn (\n\t\t<div className='MarkerBig' onClick={onLeftClick} onContextMenu={onRightClick}>\n\t\t\t<div className='big-icon'>\n\t\t\t\t{color === 'green' ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName='img-status-green' src={`${assetsPath}/images/green-new-border${isMoving ? '-green' : ''}.png`}\n\t\t\t\t\t\tstyle={{ transform: `rotate(${bearing - 90}deg)` }}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<div className={`status-circle-color ${color}`} />\n\t\t\t\t)}\n\t\t\t\t<img className='img-lolipoop' src={generateUrlByFillColor(fillColor, assetsPath)} />\n\t\t\t\t<div className='status-circle-text'>\n\t\t\t\t\t<div className='circle-top' title={topTooltip}>{topText}</div>\n\t\t\t\t\t<div className='circle-mid bold' title={middleTooltip}>{middleText}</div>\n\t\t\t\t\t<div className='circle-bottom' title={bottomTooltip}>{bottomText}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nMarkerBig.propTypes = {\n\tcolor: PropTypes.string,\n\tisMoving: PropTypes.bool,\n\tfillColor: PropTypes.string,\n\tbearing: PropTypes.string,\n\ttopText: PropTypes.string,\n\ttopTooltip: PropTypes.string,\n\tmiddleText: PropTypes.string,\n\tmiddleTooltip: PropTypes.string,\n\tbottomText: PropTypes.string,\n\tbottomTooltip: PropTypes.string,\n\tassetsPath: PropTypes.string,\n\tonLeftClick: PropTypes.func,\n\tonRightClick: PropTypes.func,\n}\n\nexport default MarkerBig\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { truncateAndUpperCase } from '../../utils/strings'\n\nconst generateUrlByColor = (color, assetsPath) => {\n\tlet url = `${assetsPath}/images/yellow_pin.png`\n\tif (color === 'green') {\n\t\turl = `${assetsPath}/images/green_pin.png`\n\t} else if (color === 'red') {\n\t\turl = `${assetsPath}/images/red_pin.png`\n\t} else if (color === 'gray') {\n\t\turl = `${assetsPath}/images/gray_pin.png`\n\t}\n\treturn url\n}\n\n/**\n * @param {string} color the icon color\n * @param {string} bearing the vehicle direction\n * @param {string} text the text on the icon\n * @param {number} truncateLenght the lenght to truncate text. if you don'w want truncate, set it to 0\n */\nconst MarkerMedium = ({ color, bearing, text, assetsPath, truncateLenght = 11, isStopped, onLeftClick, onRightClick }) => {\n\treturn (\n\t\t<div className='MarkerMedium' onClick={onLeftClick} onContextMenu={onRightClick}>\n\t\t\t<img\n\t\t\t\tclassName='img-medium'\n\t\t\t\tsrc={generateUrlByColor(color, assetsPath)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName='text-medium'\n\t\t\t\ttitle={text}\n\t\t\t>\n\t\t\t\t{color === 'green' ? (\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{truncateAndUpperCase(text, truncateLenght - 3)}\n\t\t\t\t\t\t<i className={`fitted location ${isStopped ? 'circle' : 'arrow'} icon`} style={{ transform: `rotate(${bearing - 45}deg)` }} />\n\t\t\t\t\t</span>\n\t\t\t\t) : truncateAndUpperCase(text, truncateLenght)}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nMarkerMedium.propTypes = {\n\tcolor: PropTypes.oneOf(['green', 'red']),\n\tbearing: PropTypes.string,\n\ttext: PropTypes.string,\n\tassetsPath: PropTypes.string,\n\ttruncateLenght: PropTypes.number,\n\tisStopped: PropTypes.bool,\n\tonLeftClick: PropTypes.func,\n\tonRightClick: PropTypes.func,\n}\n\nexport default MarkerMedium\n","import React from 'react'\nimport { useStoreState } from 'easy-peasy'\n\nconst MarkerStationary = () => {\n\tconst assetsPath = useStoreState(state => state.global.assetsPath)\n\treturn (\n\t\t<img\n\t\t\tclassName='MarkerStationary'\n\t\t\tsrc={`${assetsPath}/images/info-marker-stop.png`}\n\t\t/>\n\t)\n}\n\nexport default MarkerStationary\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Popup } from 'semantic-ui-react'\n\nconst MenuLocation = ({ latlng, hasDislocation, hasSplit, hideSplit, addViaPoint, copyGeolocation }) => {\n\tconst content = (\n\t\t<div className='list-interactive'>\n\t\t\t<div className='item' onClick={() => addViaPoint('start')}>Add {hasDislocation ? 'Start' : 'Dislocation'}</div>\n\t\t\t<div className='item' onClick={() => addViaPoint('via')}>Add ViaPoint</div>\n\t\t\t{!hasSplit && !hideSplit ? (\n\t\t\t\t<div className='item' onClick={() => addViaPoint('split')}>Add Split</div>\n\t\t\t) : null}\n\t\t\t<div className='item' onClick={() => addViaPoint('end')}>Add End</div>\n\t\t\t<div className='item' onClick={copyGeolocation}>Copy Location </div>\n\t\t</div>\n\t)\n\n\treturn (\n\t\t<Popup\n\t\t\topen\n\t\t\tcontent={content}\n\t\t\tlat={latlng.lat}\n\t\t\tlng={latlng.lng}\n\t\t\tplacement='rightTop'\n\t\t\toverlayClassName='with-shadow map-location-popover'\n\t\t/>\n\t)\n}\n\nMenuLocation.propTypes = {\n\tlatlng: PropTypes.object,\n\thasDislocation: PropTypes.bool,\n\thideSplit: PropTypes.bool,\n\thasSplit: PropTypes.bool,\n\taddViaPoint: PropTypes.func,\n\tcopyGeolocation: PropTypes.func,\n}\n\nexport default MenuLocation\n","import React from 'react'\nimport { Icon } from 'semantic-ui-react'\n\nexport default function MapSettingsControl ({ ...otherProps }) {\n\treturn (\n\t\t<button type='button' className='gm-control-active gm-settings-control' {...otherProps}>\n\t\t\t<Icon name='setting' size='large' />\n\t\t</button>\n\t)\n}\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { Radio, List, Checkbox, Button, Dropdown } from 'semantic-ui-react'\n\nimport { getItemLS, setItemLS } from 'tracknamic-smb/react/utils/ls'\n\nconst Window = ({\n\tmarkerSizeDefault, markerTextDefault, markerBigTopTextDefault, marketBigBottomTextDefault, mapHistoryIntervalDefault,\n\tmapTypeDefault, mapShowTrafficDefault, mapShowLabelsDefault, mapShowTerrainDefault, hasTachoModule,\n\tgeofenceShapeVisibilityDefault,\n\tonChange, hasFreezerModule,\n\t...otherProps\n}) => {\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst [defaultVehicleTabName, setDefaultVehicleTabName] = useState()\n\tconst [markerSize, setMarkerSize] = useState(markerSizeDefault)\n\tconst [markerText, setMarkerText] = useState(markerTextDefault)\n\tconst [markerBigTopText, setMarkerBigTopText] = useState(markerBigTopTextDefault)\n\tconst [markerBigBottomText, setMarkerBigBottomText] = useState(marketBigBottomTextDefault)\n\tconst [mapHistoryInterval, setMapHistoryInterval] = useState(mapHistoryIntervalDefault)\n\tconst [mapType, setMapType] = useState(mapTypeDefault)\n\tconst [mapShowTraffic, setMapShowTraffic] = useState(mapShowTrafficDefault)\n\tconst [mapShowLabels, setMapShowLabels] = useState(mapShowLabelsDefault)\n\tconst [mapShowTerrain, setMapShowTerrain] = useState(mapShowTerrainDefault)\n\tconst [geofenceShapeVisibility, setGeofenceShapeVisibility] = useState(geofenceShapeVisibilityDefault)\n\tconst geofenceVisibilityOptions = [\n\t\t{ key: 'always', text: t('map:settings.geofences.visibility.options.always'), value: 'always' },\n\t\t{ key: 'never', text: t('map:settings.geofences.visibility.options.never'), value: 'never' },\n\t\t{ key: 'zoom-9', text: t('map:settings.geofences.visibility.options.zoom-9'), value: 'zoom-9' },\n\t\t{ key: 'zoom-12', text: t('map:settings.geofences.visibility.options.zoom-12'), value: 'zoom-12' },\n\t\t{ key: 'zoom-15', text: t('map:settings.geofences.visibility.options.zoom-15'), value: 'zoom-15' },\n\t]\n\tconst mapHistoryIntervalOptions = [\n\t\t{ key: 1, text: '1h', value: 1 },\n\t\t{ key: 3, text: '3h', value: 3 },\n\t\t{ key: 6, text: '6h', value: 6 },\n\t\t{ key: 10, text: '10h', value: 10 },\n\t]\n\tconst frigoSensorsOptions = [\n\t\t{ key: 'freezerStatus', text: t('map:settings.frigo.sensor.temperature'), value: 'freezerStatus' },\n\t\t{ key: 'temperature-1', text: t('map:settings.frigo.sensor.temperature-1'), value: 'temperature-1' },\n\t\t{ key: 'temperature-2', text: t('map:settings.frigo.sensor.temperature-2'), value: 'temperature-2' },\n\t\t{ key: 'temperature-3', text: t('map:settings.frigo.sensor.temperature-3'), value: 'temperature-3' },\n\t\t{ key: 'temperature-4', text: t('map:settings.frigo.sensor.temperature-4'), value: 'temperature-4' },\n\t\t{ key: 'temperature-5', text: t('map:settings.frigo.sensor.temperature-5'), value: 'temperature-5' },\n\t\t{ key: 'temperature-6', text: t('map:settings.frigo.sensor.temperature-6'), value: 'temperature-6' },\n\t\t{ key: 'temperature-7', text: t('map:settings.frigo.sensor.temperature-7'), value: 'temperature-7' },\n\t\t{ key: 'temperature-8', text: t('map:settings.frigo.sensor.temperature-8'), value: 'temperature-8' }\n\t]\n\n\tconst tabsOptions = [\n\t\t{ key: 'info', text: t('map:vehPopup.tabs.info'), value: 'info' },\n\t\t{ key: 'tacho', text: t('map:vehPopup.tabs.tacho'), value: 'tacho' },\n\t\t{ key: 'uit', text: t('map:vehPopup.tabs.uit'), value: 'uit' },\n\t\t{ key: 'integrations', text: t('map:vehPopup.tabs.integrations'), value: 'integrations' },\n\t\t{ key: 'alerts', text: t('map:vehPopup.tabs.alerts'), value: 'alerts' },\n\t]\n\n\tuseEffect(() => {\n\t\tconst tabName = getItemLS('mapVehPopupTab')\n\t\tif (tabName) setDefaultVehicleTabName(tabName)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (onChange) {\n\t\t\tonChange({\n\t\t\t\tmarkerSize,\n\t\t\t\tmarkerText,\n\t\t\t\tmarkerBigTopText,\n\t\t\t\tmarkerBigBottomText,\n\t\t\t\tmapHistoryInterval,\n\t\t\t\tmapType,\n\t\t\t\tmapShowTraffic,\n\t\t\t\tmapShowLabels,\n\t\t\t\tmapShowTerrain,\n\t\t\t\tgeofenceShapeVisibility,\n\t\t\t})\n\t\t}\n\t}, [\n\t\tmarkerSize, markerText, markerBigTopText, markerBigBottomText, mapHistoryInterval,\n\t\tmapType, mapShowTraffic, mapShowLabels, mapShowTerrain,\n\t\tgeofenceShapeVisibility\n\t])\n\n\treturn (\n\t\t<div className='map-settings' {...otherProps}>\n\t\t\t<h3>{t('map:settings.markers.content.label')}</h3>\n\t\t\t<List.Item>\n\t\t\t\t<List>\n\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\tlabel={t('map:settings.markers.content.options.license-plate')}\n\t\t\t\t\t\t\tvalue='license-plate'\n\t\t\t\t\t\t\tchecked={markerText === 'license-plate'}\n\t\t\t\t\t\t\tonChange={() => setMarkerText('license-plate')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</List.Item>\n\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\tlabel={t('map:settings.markers.content.options.driver-name')}\n\t\t\t\t\t\t\tvalue='driver-name'\n\t\t\t\t\t\t\tchecked={markerText === 'driver-name'}\n\t\t\t\t\t\t\tonChange={() => setMarkerText('driver-name')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</List.Item>\n\t\t\t\t</List>\n\t\t\t</List.Item>\n\t\t\t<h3>{t('map:vehPopup.label')}</h3>\n\t\t\t<span>{t('map:vehPopup.defaultTab')}</span>\n\t\t\t<Dropdown\n\t\t\t\tplaceholder={t('map:vehPopup.defaultTab')}\n\t\t\t\tfluid search selection\n\t\t\t\tvalue={defaultVehicleTabName}\n\t\t\t\toptions={tabsOptions}\n\t\t\t\tonChange={(e, d) => {\n\t\t\t\t\tsetItemLS('mapVehPopupTab', d.value)\n\t\t\t\t\tsetDefaultVehicleTabName(d.value)\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{hasFreezerModule &&\n\t\t\t\t<>\n\t\t\t\t\t<h3>{t('map:settings.frigo.label')}</h3>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tplaceholder={t('map:settings.frigo.label')}\n\t\t\t\t\t\tfluid search selection\n\t\t\t\t\t\tvalue={markerBigBottomText}\n\t\t\t\t\t\toptions={frigoSensorsOptions}\n\t\t\t\t\t\tonChange={(e, d) => setMarkerBigBottomText(d.value)}\n\t\t\t\t\t/>\n\t\t\t\t</>}\n\t\t\t<h3>{t('map:settings.markers.label')}</h3>\n\t\t\t<Button.Group basic widths='3'>\n\t\t\t\t<Button active={markerSize === 'small'} onClick={() => setMarkerSize('small')}>\n\t\t\t\t\t{t('map:settings.markers.size.options.small')}\n\t\t\t\t</Button>\n\t\t\t\t<Button active={markerSize === 'medium'} onClick={() => setMarkerSize('medium')}>\n\t\t\t\t\t{t('map:settings.markers.size.options.medium')}\n\t\t\t\t</Button>\n\t\t\t\t<Button active={markerSize === 'big'} onClick={() => setMarkerSize('big')}>\n\t\t\t\t\t{t('map:settings.markers.size.options.big')}\n\t\t\t\t</Button>\n\t\t\t</Button.Group>\n\t\t\t<List>\n\t\t\t\t{hasTachoModule ? (\n\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t<List.Header>{t('map:settings.markers.top-content.label')}</List.Header>\n\t\t\t\t\t\t<List>\n\t\t\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\tlabel={t('map:settings.markers.top-content.options.speed')}\n\t\t\t\t\t\t\t\t\tdisabled={markerSize !== 'big'}\n\t\t\t\t\t\t\t\t\tvalue='speed'\n\t\t\t\t\t\t\t\t\tchecked={markerBigTopText === 'speed'}\n\t\t\t\t\t\t\t\t\tonChange={() => setMarkerBigTopText('speed')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\tlabel={t('map:settings.markers.top-content.options.drive-time-day')}\n\t\t\t\t\t\t\t\t\tdisabled={markerSize !== 'big'}\n\t\t\t\t\t\t\t\t\tvalue='drive-time-day'\n\t\t\t\t\t\t\t\t\tchecked={markerBigTopText === 'drive-time-day'}\n\t\t\t\t\t\t\t\t\tonChange={() => setMarkerBigTopText('drive-time-day')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\tlabel={t('map:settings.markers.top-content.options.drive-time-week')}\n\t\t\t\t\t\t\t\t\tdisabled={markerSize !== 'big'}\n\t\t\t\t\t\t\t\t\tvalue='drive-time-week'\n\t\t\t\t\t\t\t\t\tchecked={markerBigTopText === 'drive-time-week'}\n\t\t\t\t\t\t\t\t\tonChange={() => setMarkerBigTopText('drive-time-week')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t</List>\n\t\t\t\t\t</List.Item>\n\t\t\t\t) : ''}\n\t\t\t\t<h5>{t('map:settings.markers.history-interval.label')}</h5>\n\t\t\t\t<Dropdown\n\t\t\t\t\tplaceholder={t('map:settings.markers.history-interval.label')}\n\t\t\t\t\tfluid selection\n\t\t\t\t\tvalue={mapHistoryInterval}\n\t\t\t\t\toptions={mapHistoryIntervalOptions}\n\t\t\t\t\tonChange={(e, d) => setMapHistoryInterval(d.value)}\n\t\t\t\t/>\n\t\t\t</List>\n\n\t\t\t<h3>{t('map:label')}</h3>\n\t\t\t<Button.Group basic widths='2'>\n\t\t\t\t<Button active={mapType === 'roadmap'} onClick={() => setMapType('roadmap')}>\n\t\t\t\t\t{t('map:settings.type.options.roadmap')}\n\t\t\t\t</Button>\n\t\t\t\t<Button active={mapType === 'satellite'} onClick={() => setMapType('satellite')}>\n\t\t\t\t\t{t('map:settings.type.options.satellite')}\n\t\t\t\t</Button>\n\t\t\t</Button.Group>\n\t\t\t<List>\n\t\t\t\t<List.Item>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={mapType === 'satellite' && !mapShowLabels}\n\t\t\t\t\t\tlabel={t('map:settings.traffic')}\n\t\t\t\t\t\tchecked={mapShowTraffic}\n\t\t\t\t\t\tonChange={(e, d) => setMapShowTraffic(d.checked)}\n\t\t\t\t\t/>\n\t\t\t\t</List.Item>\n\t\t\t\t<List.Item>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={mapType !== 'satellite'}\n\t\t\t\t\t\tlabel={t('map:settings.labels')}\n\t\t\t\t\t\tchecked={mapShowLabels}\n\t\t\t\t\t\tonChange={(e, d) => setMapShowLabels(d.checked)}\n\t\t\t\t\t/>\n\t\t\t\t</List.Item>\n\t\t\t\t<List.Item>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={mapType !== 'roadmap'}\n\t\t\t\t\t\tlabel={t('map:settings.terrain')}\n\t\t\t\t\t\tchecked={mapShowTerrain}\n\t\t\t\t\t\tonChange={(e, d) => setMapShowTerrain(d.checked)}\n\t\t\t\t\t/>\n\t\t\t\t</List.Item>\n\t\t\t</List>\n\t\t\t<h5>{t('map:settings.geofences.visibility.label')}</h5>\n\t\t\t<Dropdown\n\t\t\t\tplaceholder={t('map:settings.geofences.visibility.label')}\n\t\t\t\tfluid search selection upward\n\t\t\t\tvalue={geofenceShapeVisibility}\n\t\t\t\toptions={geofenceVisibilityOptions}\n\t\t\t\tonChange={(e, d) => setGeofenceShapeVisibility(d.value)}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nWindow.propTypes = {\n\tmarkerSizeDefault: PropTypes.oneOf(['small', 'medium', 'big']),\n\tmarkerTextDefault: PropTypes.oneOf(['driver-name', 'license-plate']),\n\tmarkerBigTopTextDefault: PropTypes.oneOf(['speed', 'drive-time-day', 'drive-time-week']),\n\tmarketBigBottomTextDefault: PropTypes.oneOf(['temperature-1', 'temperature-2', 'temperature-3', 'temperature-4', 'temperature-5', 'temperature-6', 'temperature-7', 'temperature-8']),\n\tmapTypeDefault: PropTypes.oneOf(['roadmap', 'satellite']),\n\tmapHistoryIntervalDefault: PropTypes.number,\n\tmapShowTrafficDefault: PropTypes.bool,\n\tmapShowLabelsDefault: PropTypes.bool,\n\tmapShowTerrainDefault: PropTypes.bool,\n\tgeofenceShapeVisibilityDefault: PropTypes.oneOf(['always', 'never', 'zoom-9', 'zoom-12', 'zoom-15']),\n\tonChange: PropTypes.func,\n\thasTachoModule: PropTypes.bool,\n\thasFreezerModule: PropTypes.bool,\n}\n\nexport default Window\n","import React, { useRef, useEffect, useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { filter, get, map, round, set, toInteger } from 'lodash'\nimport moment from 'moment'\nimport { Popup, Icon } from 'semantic-ui-react'\nimport { RiDashboard2Fill } from 'react-icons/ri'\n\nimport GeoService from 'tracknamic-smb/react/services/geo'\nimport { formatCoordinate } from 'tracknamic-smb/react/utils/strings'\n\nconst convertDateToBrowserTZ = (date, tz = 'Europe/Bucharest') => {\n\treturn moment(moment.tz(date, tz).format('YYYY-MM-DD HH:mm:ss.SSS')).valueOf()\n}\n\nconst VehiclePopup = ({ vehicle, closePopup, markerSize }) => {\n\tconst refCoordinates = useRef()\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst [coordinateCopiedIsOpen, setCoordinateCopiedIsOpen] = useState(false)\n\tconst [postalCodeCopiedIsOpen, setPostalCodeCopiedIsOpen] = useState(false)\n\tconst [locationCopiedIsOpen, setLocationCopiedIsOpen] = useState(false)\n\tconst [address, setAddress] = useState()\n\tconst [postalCode, setPostalCode] = useState()\n\tconst [formattedCoordinates, setFormattedCoordinates] = useState()\n\n\tuseEffect(() => {\n\t\tconst { id, lat, lng } = vehicle\n\t\tif (!lat || !lng) return\n\t\tGeoService.reverseGeocode(lat, lng, ['address.postcode']).then(r => setPostalCode(r))\n\t\tGeoService.reverseGeocode(lat, lng).then(r => setAddress(r))\n\t\tconst { id: _id, lat: _lat, lng: _lng } = refCoordinates?.current || {}\n\t\tif (_id === id && _lat === lat && _lng === lng) return\n\t\tset(refCoordinates, 'current', vehicle)\n\t\tconst arr = [formatCoordinate(lat, 'N')]\n\t\tif (lng > 0) arr.push(formatCoordinate(lng, 'E'))\n\t\telse arr.push(formatCoordinate(-lng, 'W'))\n\t\tsetFormattedCoordinates(arr.join(', '))\n\t}, [vehicle])\n\n\tconst updatedAt = useMemo(() => convertDateToBrowserTZ(get(vehicle, 'status.updatedAt')), [vehicle])\n\n\tconst vehicleMakeModelYear = useMemo(() =>\n\t\tfilter(map(['make', 'model', 'year'], p => get(vehicle, p))).join(', ')\n\t, [vehicle])\n\n\tconst copyToClipboard = (n, e) => { // todo-react replace when full transition to react\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = round(e, 6) > 0 ? `${round(n, 6)}N, ${round(e, 6)}E` : `${round(n, 6)}N, ${-round(e, 6)}W`\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\n\t\tsetCoordinateCopiedIsOpen(true)\n\n\t\tsetTimeout(() => {\n\t\t\tsetCoordinateCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\tconst copyPostalCodeToClipboard = (e) => { // todo-react replace when full transition to react\n\t\tconst cp = e.target.innerText\n\t\tif (!cp) return\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = cp.split(',').join('')\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\n\t\tsetPostalCodeCopiedIsOpen(true)\n\n\t\tsetTimeout(() => {\n\t\t\tsetPostalCodeCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\tconst copyLocationToClipboard = (e) => { // todo-react replace when full transition to react\n\t\tconst cp = e.target.innerText\n\t\tif (!cp) return\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = cp\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\n\t\tsetLocationCopiedIsOpen(true)\n\n\t\tsetTimeout(() => {\n\t\t\tsetLocationCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\treturn (\n\t\t<div className={`VehiclePopupWrapper bottom center ${markerSize}`}>\n\t\t\t<div className='VehiclePopup'>\n\t\t\t\t<div className='mainHeader'>\n\t\t\t\t\t<div className='licensePlate mainLeftPadding mainTopPadding'>\n\t\t\t\t\t\t<a style={{ color: '#ffdc36' }}>{get(vehicle, 'licensePlate')}</a>{get(vehicle, 'status.state') ? ' - ' + t(`vehicle.manualState.${get(vehicle, 'status.state')}`) : null}\n\t\t\t\t\t\t<div className='dateTimeWrapper'>\n\t\t\t\t\t\t\t{vehicleMakeModelYear ? <div>{vehicleMakeModelYear}</div> : null}\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<b>{moment(updatedAt).format('HH:mm')}</b>\n\t\t\t\t\t\t\t\t{moment(updatedAt).format('DD.MM.YYYY')}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='mainHeaderButtons' />\n\t\t\t\t\t<div className='closeIcon pointer' onClick={closePopup}>\n\t\t\t\t\t\t<Icon name='fitted close' />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Popup\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<div className='icon-text coordinate pointer mainLeftPadding' title={t('copy')} onClick={() => { copyToClipboard(get(vehicle, 'lat'), get(vehicle, 'lng')) }}>\n\t\t\t\t\t\t\t\t<Icon fitted name='map marker alternate' className='color-gray' />\n\t\t\t\t\t\t\t\t<span>{formattedCoordinates}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\topen={coordinateCopiedIsOpen}\n\t\t\t\t\t\tcontent={t('map:coordinatesCopied')}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className='icon-text'>\n\t\t\t\t\t\t<RiDashboard2Fill className='color-gray fs20' />\n\t\t\t\t\t\t<span>{toInteger(get(vehicle, 'status.speed', 0))} km/h</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div />\n\t\t\t\t\t<div className='icon-text location mainLeftPadding mainBottomPadding'>\n\t\t\t\t\t\t<Icon fitted name='map' className='color-gray px14' />\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<strong title={t('copy')} onClick={e => copyPostalCodeToClipboard(e)} className='pointer'>\n\t\t\t\t\t\t\t\t\t\t{postalCode || '...'}\n\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\topen={postalCodeCopiedIsOpen}\n\t\t\t\t\t\t\t\tcontent={t('map:postalCodeCopied')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<strong title={t('copy')} onClick={e => copyLocationToClipboard(e)} className='pointer'>\n\t\t\t\t\t\t\t\t\t\t{address || '...'}\n\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\topen={locationCopiedIsOpen}\n\t\t\t\t\t\t\t\tcontent={t('map:locationCopied')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='icon-text mainBottomPadding' />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='triangleWrapper'>\n\t\t\t\t<div className='triangle' />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nVehiclePopup.propTypes = {\n\tvehicle: PropTypes.object,\n\tclosePopup: PropTypes.func,\n\tmarkerSize: PropTypes.string,\n}\n\nexport default VehiclePopup\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useStoreState } from 'easy-peasy'\nimport { get, toUpper, find } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport { truncateAndUpperCase } from '../../utils/strings'\nimport MarkerBig from './MarkerBig'\nimport MarkerMedium from './MarkerMedium'\nimport Marker from './Marker'\n\nfunction onlyHoursAndTooltipFull (time, unit) {\n\treturn {\n\t\tvalue: moment.duration(time, unit).format('H[h]'),\n\t\ttooltip: moment.duration(time, unit).format('H[h] m[m]')\n\t}\n}\n\nfunction getStatusColor (status) {\n\tlet color = 'yellow'\n\tif (status === 'moving' || status === 'stopped') {\n\t\tcolor = 'green'\n\t} else if (status === 'off') {\n\t\tcolor = 'red'\n\t} else if (status === 'powerOutage') {\n\t\tcolor = 'gray'\n\t}\n\treturn color\n}\n\nfunction getFillColor (taxiState) {\n\tlet fillColor = 'gray'\n\tif (taxiState === 'available') {\n\t\tfillColor = 'green'\n\t} else if (taxiState === 'occupied') {\n\t\tfillColor = 'red'\n\t}\n\treturn fillColor\n}\n\nfunction getIconTopText (vehicle, hasTachoModule, markerTop) {\n\tconst status = get(vehicle, 'status')\n\tconst hasTacho = get(vehicle, 'hasTacho')\n\tconst result = {\n\t\tvalue: '---',\n\t\ttooltip: '',\n\t}\n\tif (!status || status === 'unreachable') return result\n\tif (hasTacho && markerTop !== 'speed' && hasTachoModule) {\n\t\tif (markerTop === 'drive-time-day') {\n\t\t\tconst driveTimeLeftDay = get(vehicle, 'raw.status.tacho.driver1.computed.driveTimeLeftDay', 0)\n\t\t\treturn onlyHoursAndTooltipFull(driveTimeLeftDay, 's')\n\t\t} else if (markerTop === 'drive-time-week') {\n\t\t\tconst driveTimeLeftWeek = get(vehicle, 'raw.status.tacho.driver1.computed.driveTimeLeftWeek', 0)\n\t\t\treturn onlyHoursAndTooltipFull(driveTimeLeftWeek, 's')\n\t\t}\n\t}\n\n\tconst speed = get(vehicle, 'raw.status.speed', 0)\n\n\tresult.value = speed\n\tresult.tooltip = `${speed} km/h`\n\n\treturn result\n}\n\nfunction getIconMiddleText (markerText, vehicle, users) {\n\tif (markerText === 'driver-name') {\n\t\tconst userName = getUser(get(vehicle, 'raw.userID'), users)\n\t\tif (userName) {\n\t\t\treturn toUpper(userName)\n\t\t}\n\t}\n\treturn toUpper(get(vehicle, 'raw.licensePlate'))\n}\n\nfunction getUser (id, users, from = 'raw.id') {\n\tif (!id || !users || !users.length) return null\n\tconst user = find(users, [from, id])\n\tif (!user) return null\n\treturn get(user, 'name')\n}\n\nfunction getIconBottomText (markerBigBottomText, vehicle, assetsPath) {\n\tconst result = {\n\t\tvalue: '---',\n\t\ttooltip: '',\n\t}\n\n\tconst hasTaxiSensor = vehicle.hasSensor('taxi')\n\tif (hasTaxiSensor) {\n\t\tconst { t } = useTranslation(['common'])\n\t\tconst text = (t(`vehicle.sensors.taxi.values.${get(vehicle, 'taxiState')}`)) || ''\n\t\tresult.tooltip = text\n\t\tresult.value = truncateAndUpperCase(result.tooltip, 3)\n\t\treturn result\n\t} else {\n\t\tswitch (markerBigBottomText) {\n\t\tcase 'freezerStatus': {\n\t\t\tconst hasFreezerSensor = vehicle.hasSensor('freezer')\n\t\t\tif (!hasFreezerSensor) return result\n\t\t\tresult.value = vehicle.raw.status?.freezer ? <img className='freezer-status' src={`${assetsPath}/images/tracknamic_icon_snowflake_blue.png`} /> : <img className='freezer-status' src={`${assetsPath}/images/tracknamic_icon_snowflake_darkgrey.png`} />\n\t\t\treturn result\n\t\t}\n\t\tcase 'temperature-1':\n\t\tcase 'temperature-2':\n\t\tcase 'temperature-3':\n\t\tcase 'temperature-4':\n\t\tcase 'temperature-5':\n\t\tcase 'temperature-6':\n\t\tcase 'temperature-7':\n\t\tcase 'temperature-8': {\n\t\t\tconst hasTemperatureSensor = vehicle.hasSensor('freezer')\n\t\t\tif (!hasTemperatureSensor) return result\n\t\t\tresult.value = vehicle.raw.status?.sensors[markerBigBottomText.replace('-', '')]\n\t\t\tif (isNaN(result.value) || result.value === null) return result\n\t\t\tresult.value !== '---' ? result.value = <span>{Math.round(result.value * 10) / 10} &#8451;</span> : result.value = ''\n\t\t\treturn result\n\t\t}\n\t\tdefault:\n\t\t\treturn result\n\t\t}\n\t}\n}\n\nconst UserMarker = ({ vehicle, users, manualVehicles, markerSize, markerText, markerBigTopText, markerBigBottomText, selectVehicle, handleRightClick, hasTachoModule }) => {\n\tconst assetsPath = useStoreState(state => state.global.assetsPath)\n\n\tconst textTop = getIconTopText(vehicle, hasTachoModule, markerBigTopText)\n\tconst textMid = getIconMiddleText(markerText, vehicle, users)\n\tconst textBottom = getIconBottomText(markerBigBottomText, vehicle, assetsPath)\n\n\tconst onLeftClick = () => {\n\t\tif (!selectVehicle) return\n\t\tselectVehicle(vehicle)\n\t}\n\n\tconst onRightClick = () => {\n\t\tif (!handleRightClick) return\n\t\thandleRightClick(vehicle)\n\t}\n\n\tswitch (markerSize) {\n\tcase 'big':\n\t\treturn <MarkerBig\n\t\t\tcolor={getStatusColor(get(vehicle, 'status'))}\n\t\t\tisMoving={get(vehicle, 'status') === 'moving'}\n\t\t\tfillColor={getFillColor(get(vehicle, 'taxiState'))}\n\t\t\tbearing={get(vehicle, 'raw.status.bearing')}\n\t\t\ttopText={textTop.value}\n\t\t\ttopTooltip={textTop.tooltip}\n\t\t\tmiddleText={textMid}\n\t\t\tmiddleTooltip={textMid}\n\t\t\tbottomText={textBottom?.value}\n\t\t\tbottomTooltip={textBottom?.tooltip}\n\t\t\tassetsPath={assetsPath}\n\t\t\tonLeftClick={onLeftClick}\n\t\t\tonRightClick={onRightClick}\n\t\t/>\n\tcase 'medium':\n\t\treturn <MarkerMedium\n\t\t\tcolor={getStatusColor(get(vehicle, 'status'))}\n\t\t\tbearing={get(vehicle, 'raw.status.bearing')}\n\t\t\tisStopped={get(vehicle, 'status') === 'stopped'}\n\t\t\ttext={textMid}\n\t\t\tassetsPath={assetsPath}\n\t\t\tonLeftClick={onLeftClick}\n\t\t\tonRightClick={onRightClick}\n\t\t/>\n\tdefault: // small\n\t\treturn <Marker\n\t\t\ttext={textMid}\n\t\t\tcolor={getStatusColor(get(vehicle, 'status'))}\n\t\t\tassetsPath={assetsPath}\n\t\t\tonLeftClick={onLeftClick}\n\t\t\tonRightClick={onRightClick}\n\t\t/>\n\t}\n}\n\nUserMarker.propTypes = {\n\tvehicle: PropTypes.object,\n\tusers: PropTypes.array,\n\tmanualVehicles: PropTypes.array,\n\tmarkerSize: PropTypes.oneOf(['small', 'medium', 'big']),\n\tmarkerText: PropTypes.oneOf(['driver-name', 'license-plate']),\n\tmarkerBigTopText: PropTypes.oneOf(['speed', 'drive-time-day', 'drive-time-week']),\n\tmarkerBigBottomText: PropTypes.oneOf(['freezerStatus', 'temperature-1', 'temperature-2', 'temperature-3', 'temperature-4', 'temperature-5', 'temperature-6', 'temperature-7', 'temperature-8']),\n\tselectVehicle: PropTypes.func,\n\thandleRightClick: PropTypes.func,\n\thasTachoModule: PropTypes.bool,\n}\n\nexport default UserMarker\n","import React, { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreActions } from 'easy-peasy'\nimport { Checkbox } from 'semantic-ui-react'\nimport { get } from 'lodash'\nimport PropTypes from 'prop-types'\nimport ModalPOI from './ModalPOI'\n\nfunction AlertDisposable ({\n\tvehicle,\n\talerts,\n\tassetsPath,\n\thasTachoModule,\n\turlGoogleMapKeys,\n}) {\n\tconst { t } = useTranslation(['map'])\n\tconst createTemporaryAlerts = useStoreActions(actions => actions.temporaryAlerts.add)\n\tconst removeTemporaryAlerts = useStoreActions(actions => actions.temporaryAlerts.remove)\n\tconst [openModal, setOpenModal] = useState(false)\n\tconst vehicleID = useMemo(() => vehicle?.raw?.id, [vehicle])\n\tconst vehicleFuelSource = useMemo(() => vehicle.hasSensor('fuel') ? 'sensor' : get(vehicle, 'hasCan') ? 'can' : null, [vehicle])\n\n\tconst borderCrossingAlert = useMemo(() => {\n\t\tif (!alerts) return null\n\t\treturn alerts?.find(a => a?.raw?.type === 'border-crossing')\n\t}, [alerts])\n\n\tconst refuelAlert = useMemo(() => {\n\t\tif (!alerts) return null\n\t\treturn alerts?.find(a => a?.raw?.type === 'confirmed-refuel')\n\t}, [alerts])\n\n\tconst poiAlert = useMemo(() => {\n\t\tif (!alerts) return null\n\t\treturn alerts?.find(a => a?.raw?.type === 'temp-poi-enter')\n\t}, [alerts])\n\n\tconst engineAlert = useMemo(() => {\n\t\tif (!alerts) return null\n\t\treturn alerts?.find(a => a?.raw?.type === 'engine-off')\n\t}, [alerts])\n\n\tconst tachoAlert = useMemo(() => {\n\t\tif (!alerts || !hasTachoModule) return null\n\t\treturn alerts?.find(a => a?.raw?.type === 'tacho-break')\n\t}, [hasTachoModule, alerts])\n\n\tconst toggleBorderCrossing = () => {\n\t\tif (borderCrossingAlert) removeTemporaryAlerts(borderCrossingAlert)\n\t\telse {\n\t\t\tcreateTemporaryAlerts({\n\t\t\t\ttype: 'border-crossing',\n\t\t\t\tentityID: vehicleID,\n\t\t\t})\n\t\t}\n\t}\n\n\tconst toggleRefuel = () => {\n\t\tif (!vehicleFuelSource) return\n\t\tif (refuelAlert) removeTemporaryAlerts(refuelAlert)\n\t\telse {\n\t\t\tcreateTemporaryAlerts({\n\t\t\t\ttype: 'confirmed-refuel',\n\t\t\t\tentityID: vehicleID,\n\t\t\t\tdetails: {\n\t\t\t\t\tsource: vehicleFuelSource\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tconst toggleEngine = () => {\n\t\tif (engineAlert) removeTemporaryAlerts(engineAlert)\n\t\telse {\n\t\t\tcreateTemporaryAlerts({\n\t\t\t\ttype: 'engine-off',\n\t\t\t\tentityID: vehicleID,\n\t\t\t})\n\t\t}\n\t}\n\n\tconst toggleTacho = () => {\n\t\tif (!hasTachoModule) return\n\t\tif (tachoAlert) removeTemporaryAlerts(tachoAlert)\n\t\telse {\n\t\t\tcreateTemporaryAlerts({\n\t\t\t\ttype: 'tacho-break',\n\t\t\t\tentityID: vehicleID,\n\t\t\t})\n\t\t}\n\t}\n\n\tconst togglePoi = () => {\n\t\tif (poiAlert) removeTemporaryAlerts(poiAlert)\n\t\telse openCreatePOIModal()\n\t}\n\n\tconst openCreatePOIModal = () => {\n\t\tsetOpenModal(true)\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<div className='dc-grid'>\n\t\t\t\t<div className='dc-flex sb'>\n\t\t\t\t\t{t('oneTimeAlerts.type.borderCrossing')}\n\t\t\t\t\t<Checkbox toggle fitted checked={!!borderCrossingAlert} onChange={toggleBorderCrossing} />\n\t\t\t\t</div>\n\t\t\t\t{vehicleFuelSource && (\n\t\t\t\t\t<div className='dc-flex sb'>\n\t\t\t\t\t\t{t('oneTimeAlerts.type.refuel')}\n\t\t\t\t\t\t<Checkbox toggle fitted checked={!!refuelAlert} onChange={toggleRefuel} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div className='dc-flex sb'>\n\t\t\t\t\t<span className={poiAlert && 'pointer'} onClick={() => poiAlert && openCreatePOIModal()}>{t('oneTimeAlerts.type.tempPoiEnter')}</span>\n\t\t\t\t\t<Checkbox toggle fitted checked={!!poiAlert} onChange={togglePoi} />\n\t\t\t\t</div>\n\t\t\t\t<div className='dc-flex sb'>\n\t\t\t\t\t{t('oneTimeAlerts.type.engineOff')}\n\t\t\t\t\t<Checkbox toggle fitted checked={!!engineAlert} onChange={toggleEngine} />\n\t\t\t\t</div>\n\t\t\t\t{hasTachoModule && get(vehicle, 'hasTacho') && (\n\t\t\t\t\t<div className='dc-flex sb'>\n\t\t\t\t\t\t{t('oneTimeAlerts.type.tachoBreak')}\n\t\t\t\t\t\t<Checkbox toggle fitted checked={!!tachoAlert} onChange={toggleTacho} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<ModalPOI\n\t\t\t\tvehicle={vehicle}\n\t\t\t\tentityID={vehicleID}\n\t\t\t\tpoiAlert={poiAlert}\n\t\t\t\turlGoogleMapKeys={urlGoogleMapKeys}\n\t\t\t\topen={openModal}\n\t\t\t\tclose={() => setOpenModal(false)}\n\t\t\t\tsave={newAlert => {\n\t\t\t\t\tcreateTemporaryAlerts(newAlert)\n\t\t\t\t\tsetOpenModal(false)\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nAlertDisposable.propTypes = {\n\tassetsPath: PropTypes.string,\n\turlGoogleMapKeys: PropTypes.object,\n\thasTachoModule: PropTypes.bool,\n\talerts: PropTypes.array,\n\tvehicle: PropTypes.object,\n}\n\nexport default AlertDisposable\n","import React, { useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { get, toInteger, round, map } from 'lodash'\n\nimport { processSensors, durationAsHMin, cngLiterToKg } from 'tracknamic-smb/react/utils/mapVehiclePopup'\n\nexport const getItem = item => (\n\t<div className='item'>\n\t\t<div className='header'>{item.header}</div>\n\t\t<div className='value'>{item.value}</div>\n\t</div>\n)\n\nconst Info = ({ vehicle }) => {\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst engineState = useMemo(() => {\n\t\tconst state = get(vehicle, 'raw.status.engineState') // state = [true, false, null]\n\t\tconst engineState = state ? 'on' : state === false ? 'off' : ''\n\t\treturn engineState ? t(engineState) : '--'\n\t}, [vehicle, t])\n\n\tconst sensors = useMemo(() => {\n\t\tconst vehSensors = get(vehicle, 'raw.sensors')\n\t\tconst vehStatus = get(vehicle, 'raw.status.sensors')\n\t\tconst fuelUnit = get(vehicle, 'fuelUnit')\n\t\treturn processSensors(t, vehSensors, vehStatus, fuelUnit)\n\t}, [vehicle, t])\n\n\t// return available fuel based on vehicle configuration (sensor > can)\n\tconst fuelLevel = useMemo(() => {\n\t\tconst unit = get(vehicle, 'fuelUnit')\n\t\tconst result = {\n\t\t\theader: t('fuel-level'),\n\t\t\tvalue: '--',\n\t\t\tpopup: '',\n\t\t}\n\t\tconst hasSensor = vehicle.hasSensor('fuel')\n\t\tconst hasCan = get(vehicle, 'hasCan')\n\t\tif (hasSensor) {\n\t\t\tresult.header = t('fuel-level', { context: 'sensor' })\n\t\t\tconst value = get(vehicle, 'raw.status.fuelLevel')\n\t\t\tresult.value = (value || value === 0) ? `${toInteger(value)}${unit}` : '--'\n\t\t} else if (hasCan) {\n\t\t\tresult.header = t('fuel-level', { context: 'can' })\n\t\t\tconst canFuel = get(vehicle, 'raw.status.can.fuel.level')\n\t\t\tif (Array.isArray(canFuel) && canFuel.length) {\n\t\t\t\tconst fuelValue = canFuel[0]\n\t\t\t\tif (fuelValue || fuelValue === 0) {\n\t\t\t\t\tif (get(vehicle, 'isCng')) {\n\t\t\t\t\t\tconst kg = (Number(fuelValue) * cngLiterToKg).toFixed(2) + 'Kg'\n\t\t\t\t\t\tresult.header = `${t('fuel-level')} (CNG)`\n\t\t\t\t\t\tresult.value = kg\n\t\t\t\t\t\tif (!canFuel[1]) { // if not can percentage, show the percent from fuelCapacity\n\t\t\t\t\t\t\tconst fuelCapacity = get(vehicle, 'fuelCapacity')\n\t\t\t\t\t\t\tconst percentVal = Number(fuelValue * 100 / fuelCapacity)\n\t\t\t\t\t\t\tresult.value += ` | ${fuelCapacity ? percentVal.toFixed(0) : '--'}%`\n\t\t\t\t\t\t\tif (!fuelCapacity) {\n\t\t\t\t\t\t\t\tresult.popup = t('vehicle.fuel-capacity-missing-percentage')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.value = `${toInteger(fuelValue)}${unit}`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (canFuel[1]) {\n\t\t\t\t\tconst percent = toInteger(canFuel[1])\n\t\t\t\t\tresult.value += ` (${percent}%)`\n\t\t\t\t\tif (!fuelValue && fuelValue !== 0) {\n\t\t\t\t\t\tresult.popup = `${percent}% -- ${t('vehicle.fuel-capacity-missing')}`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result\n\t}, [vehicle, t])\n\n\tconst workingTime = useMemo(() => {\n\t\tlet duration = 0\n\t\tif (get(vehicle, 'workingTime') && ['construction', 'tractor', 'harvester'].includes(get(vehicle, 'raw.type'))) {\n\t\t\tduration = get(vehicle, 'workingTime')\n\t\t}\n\t\tif (duration) {\n\t\t\treturn durationAsHMin(duration, 'm')\n\t\t}\n\t\treturn ''\n\t}, [vehicle])\n\n\tconst adblue = useMemo(() => {\n\t\tconst result = {\n\t\t\theader: t('adblueLevel'),\n\t\t\tvalue: '--',\n\t\t\tpopup: '',\n\t\t}\n\t\tconst adblueCapacity = get(vehicle, 'adblueCapacity')\n\t\tconst adblueLevel = round(get(vehicle, 'adblueLevel'))\n\t\tif (adblueCapacity) {\n\t\t\tconst adblueValue = Number(adblueLevel / 100 * adblueCapacity)\n\t\t\tresult.value = `${toInteger(adblueValue)}L (${adblueLevel}%)`\n\t\t} else {\n\t\t\tresult.value = `-L (${adblueLevel}%)`\n\t\t}\n\t\treturn result\n\t}, [vehicle, t])\n\n\treturn (\n\t\t<div className='mainStatuses2'>\n\t\t\t<div className='status c1'>\n\t\t\t\t{getItem({ header: t('engine'), value: engineState })}\n\t\t\t\t{workingTime\n\t\t\t\t\t? getItem({ header: t('workingTime'), value: workingTime })\n\t\t\t\t\t: getItem({ header: t('odometer'), value: vehicle.odometer > 0 ? `${vehicle.odometer} km` : '--' })}\n\t\t\t\t{getItem({ header: t('acceleration'), value: `${round(vehicle?.acceleration)} %` })}\n\t\t\t\t{getItem({ header: t('retarder'), value: vehicle?.retarder ? t('on') : t('off') })}\n\t\t\t\t{getItem({ header: t('cruiseControl'), value: vehicle?.cruiseControl ? t('on') : t('off') })}\n\t\t\t</div>\n\t\t\t<div className='status c2' title={fuelLevel.popup}>\n\t\t\t\t{getItem(fuelLevel)}\n\t\t\t\t{vehicle?.adblueLevel ? getItem(adblue) : null}\n\t\t\t\t{vehicle?.engineTemperature >= -15\n\t\t\t\t\t? getItem({ header: t('engineTemperature'), value: `${vehicle?.engineTemperature || ''} °C` })\n\t\t\t\t\t: null}\n\t\t\t\t{sensors.map((sensor, idx) => getItem({ ...sensor, header: sensor?.label }))}\n\t\t\t</div>\n\t\t\t<div className='status c3'>\n\t\t\t\t{vehicle?.grossWeight\n\t\t\t\t\t? getItem({ header: t('grossWeight'), value: `${vehicle?.grossWeight} kg` })\n\t\t\t\t\t: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{map(new Array(5), (_, i) => getItem({ header: `${t('axleWeight')} ${i + 1}`, value: `${vehicle?.['axleWeight' + (i + 1)] || 0} kg` }))}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nInfo.propTypes = {\n\tvehicle: PropTypes.object,\n}\n\nexport default Info\n","import React from 'react'\nimport { Button, Modal, Icon } from 'semantic-ui-react'\nimport PropTypes from 'prop-types'\nimport { map } from 'lodash'\nimport { useForm, useFieldArray } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\n\nfunction IntegrationsPopup ({ filteredIntegrations, sharedIntegrations, open, closeModal, onSubmit }) {\n\tconst { t } = useTranslation(['common'])\n\n\tconst { register, control, handleSubmit } = useForm({\n\t\tdefaultValues: {\n\t\t\tintegrations: [{ duration: '', integrationID: filteredIntegrations[0]?.id }]\n\t\t}\n\t})\n\tconst { fields, append } = useFieldArray({ control, name: 'integrations' })\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName='integrations-popup'\n\t\t\topen={open}\n\t\t\tsize='mini'\n\t\t>\n\t\t\t<Modal.Header className='integrations-popup-header'>\n\t\t\t\t<div>{t('integrations_popup.integration')}</div>\n\t\t\t\t<div>{t('integrations_popup.time')}</div>\n\t\t\t</Modal.Header>\n\t\t\t<Modal.Content>\n\t\t\t\t<form id='my-form' onSubmit={handleSubmit(onSubmit)}>\n\t\t\t\t\t{fields.map((item, index) => {\n\t\t\t\t\t\tconst availableIntegrations = filteredIntegrations.filter(integration => !fields.any(field => field.integrationID === integration.raw?.id) || integration.raw?.id === item.integrationID)\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div className='list-wrapper' key={item.id}>\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tclassName='form-select'\n\t\t\t\t\t\t\t\t\tname={`integrations[${index}].integrationID`}\n\t\t\t\t\t\t\t\t\tdefaultValue={item.integrationID}\n\t\t\t\t\t\t\t\t\tref={register({ required: true })}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{map(availableIntegrations, integration => (\n\t\t\t\t\t\t\t\t\t\t<option value={integration.raw?.id}>{integration.raw?.name || '-'}</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tclassName='form-select'\n\t\t\t\t\t\t\t\t\tname={`integrations[${index}].duration`}\n\t\t\t\t\t\t\t\t\tdefaultValue={`${item.duration}`}\n\t\t\t\t\t\t\t\t\tref={register({ required: true })}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<option value='1'>{t('integrations_popup.options.1_day')}</option>\n\t\t\t\t\t\t\t\t\t<option value='7'>{t('integrations_popup.options.7_days')}</option>\n\t\t\t\t\t\t\t\t\t<option value='30'>{t('integrations_popup.options.30_days')}</option>\n\t\t\t\t\t\t\t\t\t<option value='permanent'>{t('integrations_popup.options.permanent')}</option>\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t{fields.length < filteredIntegrations.length && <Icon\n\t\t\t\t\t\t\t\t\t\tname='plus'\n\t\t\t\t\t\t\t\t\t\tclassName='add-row-icon'\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\tappend({ integrationID: availableIntegrations[1]?.id })}\n\t\t\t\t\t\t\t\t\t/>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</form>\n\t\t\t</Modal.Content>\n\t\t\t<Modal.Actions>\n\t\t\t\t<Button\n\t\t\t\t\tclassName='my-button gray'\n\t\t\t\t\tcontent={t('integrations_popup.cancel')}\n\t\t\t\t\tonClick={() => closeModal()}\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\tform='my-form'\n\t\t\t\t\ttype='submit'\n\t\t\t\t\tclassName='my-button'\n\t\t\t\t>\n\t\t\t\t\t{t('integrations_popup.save')}\n\t\t\t\t</button>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nIntegrationsPopup.propTypes = {\n\tfilteredIntegrations: PropTypes.array,\n\tsharedIntegrations: PropTypes.array,\n\topen: PropTypes.bool,\n\tcloseModal: PropTypes.func,\n\tonSubmit: PropTypes.func,\n}\n\nexport default IntegrationsPopup\n","import React, { useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { find, map, filter, concat } from 'lodash'\nimport { Icon, Label, Button } from 'semantic-ui-react'\n\nimport IntegrationsPopup from './IntegrationsPopup'\n\nconst TabIntegrations = ({ vehicle, integrations, sharedIntegrations }) => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst addSharedIntegration = useStoreActions(actions => actions.sharedIntegrations.add)\n\tconst updateSharedIntegration = useStoreActions(actions => actions.sharedIntegrations.update)\n\tconst deleteSharedIntegration = useStoreActions(actions => actions.sharedIntegrations.remove)\n\n\tconst [integrationsModalIsOpen, setIntegrationsModalIsOpen] = useState(false)\n\n\tconst activeSharedIntegrations = useMemo(() => {\n\t\tif (!sharedIntegrations) { return [] }\n\t\tconst sharedForVehicle = filter(sharedIntegrations, sharedIntegration => {\n\t\t\treturn (\n\t\t\t\tsharedIntegration?.raw?.entityType === 'vehicle' &&\n\t\t\t\tsharedIntegration?.raw?.entityID === vehicle?.raw?.id\n\t\t\t)\n\t\t})\n\t\tconst sharedForGroup = filter(sharedIntegrations, sharedIntegration => {\n\t\t\treturn (\n\t\t\t\tsharedIntegration?.raw?.entityType === 'group' &&\n\t\t\t\t(vehicle?.raw?.groupID || '').indexOf(sharedIntegration?.raw?.entityID) > -1\n\t\t\t)\n\t\t})\n\t\tconst allSharedIntegrations = concat(sharedForVehicle, sharedForGroup)\n\t\treturn map(allSharedIntegrations, element => {\n\t\t\telement.integration = find(integrations, ['raw.id', element.raw?.integrationID])\n\t\t\telement.allowEditing = element.raw?.entityType === 'vehicle'\n\t\t\treturn element\n\t\t})\n\t}, [sharedIntegrations, integrations, vehicle])\n\n\tconst filteredIntegrations = filter(integrations, (integration) => ['platform', 'tms'].includes(integration.raw?.category) && integration.raw?.enabled === true)\n\n\tconst displayRemainingTime = timestamp => {\n\t\tif (!timestamp) return t('integrations_popup.options.permanent')\n\t\tconst diff = moment(timestamp).diff(moment(), 'm') || 0\n\t\tconst diffObj = {\n\t\t\tminutes: Math.trunc(diff),\n\t\t\thours: Math.trunc(diff / 60),\n\t\t\tdays: Math.trunc((diff / 60) / 24)\n\t\t}\n\n\t\tif (diffObj.days >= 1) return `${diffObj.days} ${t('duration.day', { count: diffObj.days })}`\n\t\tif (diffObj.hours >= 1) return `${diffObj.hours} ${t('duration.hour', { count: diffObj.hours })}`\n\t\tif (diffObj.minutes >= 1) return `${diffObj.minutes} ${t('duration.minute', { count: diffObj.minutes })}`\n\t}\n\n\tconst onSubmit = data => {\n\t\t(data?.integrations || []).forEach(element => {\n\t\t\tconst oldItem = find(activeSharedIntegrations, ['raw.integrationID', element.integrationID]) || {}\n\t\t\tconst newItem = {\n\t\t\t\tid: oldItem?.raw?.entityType === 'group' ? null : oldItem?.raw?.id,\n\t\t\t\tentityID: vehicle?.raw?.id,\n\t\t\t\tentityType: 'vehicle',\n\t\t\t\tend: (element?.duration === 'permanent' || !element?.duration)\n\t\t\t\t\t? null : moment(new Date().getTime()).add(element?.duration, 'd').valueOf(),\n\t\t\t\t...element\n\t\t\t}\n\t\t\tif (!newItem?.id) { addSharedIntegration(newItem) } else updateSharedIntegration({ newItem, oldItem })\n\t\t\tsetIntegrationsModalIsOpen(false)\n\t\t})\n\t}\n\n\treturn (\n\t\t<div className='integrations'>\n\t\t\t<div className='label-wrapper'>\n\t\t\t\t{map(activeSharedIntegrations, sharedIntegration => (\n\t\t\t\t\t<Label className='integration-label'>\n\t\t\t\t\t\t{sharedIntegration.integration?.raw?.name}\n\t\t\t\t\t\t<div className='remaining-time'>\n\t\t\t\t\t\t\t<Icon size='small' name='clock outline' />\n\t\t\t\t\t\t\t{displayRemainingTime(sharedIntegration.raw?.end)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{sharedIntegration.allowEditing && <Icon name='close' onClick={() => deleteSharedIntegration(sharedIntegration)} />}\n\t\t\t\t\t</Label>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t{filteredIntegrations?.length ? (\n\t\t\t\t<div style={{ paddingTop: '10px' }}>\n\t\t\t\t\t<Button size='mini' inverted color='yellow' onClick={() => setIntegrationsModalIsOpen(true)}>\n\t\t\t\t\t\t{t('integrations_button')}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t) : ''}\n\t\t\t{integrationsModalIsOpen ? (\n\t\t\t\t<IntegrationsPopup\n\t\t\t\t\topen={integrationsModalIsOpen}\n\t\t\t\t\tintegrations={integrations}\n\t\t\t\t\tsharedIntegrations={activeSharedIntegrations}\n\t\t\t\t\tfilteredIntegrations={filteredIntegrations}\n\t\t\t\t\tcloseModal={() => {\n\t\t\t\t\t\tsetIntegrationsModalIsOpen(false)\n\t\t\t\t\t}}\n\t\t\t\t\tonSubmit={onSubmit}\n\t\t\t\t/>) : ''}\n\t\t</div>\n\t)\n}\n\nTabIntegrations.propTypes = {\n\tvehicle: PropTypes.object,\n\tintegrations: PropTypes.array,\n\tsharedIntegrations: PropTypes.array,\n}\n\nexport default TabIntegrations\n","import React, { useState, useEffect, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Modal, Icon } from 'semantic-ui-react'\nimport GoogleMapReact from 'google-map-react'\nimport toast from 'react-hot-toast'\nimport PropTypes from 'prop-types'\nimport UserMarker from '../UserMarker'\n\nfunction ModalPOI ({\n\turlGoogleMapKeys,\n\tvehicle,\n\tentityID,\n\tpoiAlert,\n\topen,\n\tclose,\n\tsave,\n}) {\n\tconst { t } = useTranslation(['map'])\n\tconst [coordinates, setCoordinates] = useState(null)\n\tconst [geoShape, setGeoShape] = useState(null)\n\tconst [map, setMap] = useState(null)\n\tconst [gMaps, setGMaps] = useState(null)\n\n\tconst vehicleLocation = useMemo(() => {\n\t\treturn { lat: vehicle?.raw?.status?.location?.[1], lng: vehicle?.raw?.status?.location?.[0] }\n\t}, [vehicle])\n\n\tconst onGoogleAPILoaded = ({ map, maps }) => {\n\t\tsetMap(map)\n\t\tsetGMaps(maps)\n\t}\n\n\tuseEffect(() => {\n\t\tif (!gMaps || !map || !poiAlert) return\n\t\tconst latlng = { lat: poiAlert?.raw?.details?.coords?.[1], lng: poiAlert?.raw?.details?.coords?.[0] }\n\t\tconst circle = new gMaps.Circle({\n\t\t\tcenter: latlng,\n\t\t\tradius: poiAlert?.raw?.details?.radius,\n\t\t\tstrokeColor: 'red',\n\t\t\tfillColor: 'red',\n\t\t})\n\t\tcircle.setMap(map)\n\t}, [gMaps, map, poiAlert])\n\n\tconst addPoi = ({ lat, lng }) => {\n\t\tif (poiAlert) return\n\t\tconst latlng = { lat, lng }\n\t\tsetCoordinates(latlng)\n\t\tif (!geoShape) {\n\t\t\tconst circle = new gMaps.Circle({\n\t\t\t\tcenter: latlng,\n\t\t\t\tradius: 300,\n\t\t\t\tstrokeColor: 'red',\n\t\t\t\tfillColor: 'red',\n\t\t\t})\n\t\t\tcircle.setMap(map)\n\t\t\tsetGeoShape(circle)\n\t\t} else {\n\t\t\tgeoShape.setCenter(latlng)\n\t\t}\n\t\tmap.setCenter(latlng)\n\t\tmap.setZoom(15)\n\t}\n\n\tconst savePOI = () => {\n\t\tif (!coordinates) {\n\t\t\ttoast.error(t('oneTimeAlerts.message.missingCoordinates'))\n\t\t\treturn\n\t\t}\n\n\t\tsave({\n\t\t\ttype: 'temp-poi-enter',\n\t\t\tentityID,\n\t\t\tdetails: {\n\t\t\t\tradius: 300,\n\t\t\t\tcoords: [coordinates.lng, coordinates.lat],\n\t\t\t},\n\t\t})\n\n\t\tresetValues()\n\t}\n\n\tconst onClose = () => {\n\t\tresetValues()\n\t\tclose()\n\t}\n\n\tconst resetValues = () => {\n\t\tsetCoordinates(null)\n\t\tsetGeoShape(null)\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tsize='fullscreen'\n\t\t\tclassName='modal-poi'\n\t\t\tonClose={onClose}\n\t\t\topen={open}\n\t\t>\n\t\t\t<GoogleMapReact\n\t\t\t\tbootstrapURLKeys={urlGoogleMapKeys}\n\t\t\t\tdefaultCenter={vehicleLocation}\n\t\t\t\tdefaultZoom={12}\n\t\t\t\toptions={{\n\t\t\t\t\tdraggableCursor: !poiAlert ? 'crosshair' : '',\n\t\t\t\t\tstreetViewControl: true,\n\t\t\t\t\tfullscreenControl: false,\n\t\t\t\t}}\n\t\t\t\tonClick={addPoi}\n\t\t\t\tyesIWantToUseGoogleMapApiInternals\n\t\t\t\tonGoogleApiLoaded={onGoogleAPILoaded}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tlat={vehicle.lat}\n\t\t\t\t\tlng={vehicle.lng}\n\t\t\t\t>\n\t\t\t\t\t<UserMarker\n\t\t\t\t\t\tvehicle={vehicle}\n\t\t\t\t\t\tmarkerSize='big'\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</GoogleMapReact>\n\t\t\t{!poiAlert &&\n\t\t\t\t<div className='poi-actions'>\n\t\t\t\t\t<div className='dc-button-round' onClick={() => savePOI()}>\n\t\t\t\t\t\t{t('oneTimeAlerts.createPoiAlert')}\n\t\t\t\t\t</div>\n\t\t\t\t</div>}\n\t\t\t<div className='poi-close doc-button approve' onClick={() => close()}>\n\t\t\t\t<Icon name='close' fitted />\n\t\t\t</div>\n\t\t</Modal>\n\t)\n}\n\nModalPOI.propTypes = {\n\tvehicle: PropTypes.object,\n\tpoiAlert: PropTypes.array,\n\tentityID: PropTypes.string,\n\turlGoogleMapKeys: PropTypes.object,\n\topen: PropTypes.bool,\n\tclose: PropTypes.func,\n\tsave: PropTypes.func,\n}\n\nexport default ModalPOI\n","import React, { useEffect, useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm, Controller } from 'react-hook-form'\nimport { filter, find, forEach, get, isEmpty, map, replace, set, toLower } from 'lodash'\nimport { Modal, Input, Icon } from 'semantic-ui-react'\n\nimport DatePicker from 'react-datepicker'\nimport Field from 'tracknamic-smb/react/components/Field'\n\nconst PROPS = ['name', 'licensePlate', 'licensePlateSMR1', 'licensePlateSMR2']\nconst lowerWithoutSpaces = txt => toLower(replace(txt, /\\s+/g, ''))\n\nconst ModalUitMap = ({ vehicle, record, hide }) => {\n\tconst methods = useForm({ shouldUnregister: false })\n\tconst { control, getValues, setValue, handleSubmit } = methods\n\n\tconst { t } = useTranslation(['common'])\n\n\tconst update = useStoreActions(actions => actions.uits.update)\n\tconst changeResources = useStoreActions(actions => actions.uits.changeResources)\n\tconst rawVehicles = useStoreState(state => state.vehicles.items)\n\n\tconst vehiclesLPs = useMemo(() => map(rawVehicles, v => lowerWithoutSpaces(v?.raw?.externalRefuelID || v?.raw?.licensePlate)), [rawVehicles])\n\tconst isNew = useMemo(() => !record?.id, [record])\n\n\tconst [expanded, setExpanded] = useState()\n\tconst [errUit, setErrUit] = useState()\n\n\tuseEffect(() => {\n\t\tif (isEmpty(record)) return\n\t\tforEach(PROPS, p => {\n\t\t\tsetValue(p, get(record, p))\n\t\t})\n\t}, [record]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst headerTxt = useMemo(() => !record?.id ? t('uit.addNew') : t('uit.changeResources'), [record]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst create = async () => {\n\t\tconst fields = getValues()\n\t\tconst { licensePlate, deviceSN, groupID, id: vehicleID } = vehicle?.raw || {}\n\t\tconst obj = {\n\t\t\t...fields,\n\t\t\tlicensePlate,\n\t\t\tdeviceSN,\n\t\t\tvehicleID,\n\t\t\tgroupID\n\t\t}\n\t\tconst name = fields?.name\n\t\tif (name?.includes(',')) {\n\t\t\tconst promises = filter(name.split(',')).map(i => update({\n\t\t\t\t...obj,\n\t\t\t\tname: i,\n\t\t\t}))\n\t\t\tawait Promise.all(promises)\n\t\t} else {\n\t\t\tawait update(obj)\n\t\t}\n\t}\n\n\tconst updateUit = async () => {\n\t\tconst fields = getValues()\n\t\tconst { licensePlate, licensePlateSMR1, licensePlateSMR2, observations } = fields\n\t\tif (!licensePlate) return\n\n\t\tconst lp = lowerWithoutSpaces(licensePlate)\n\t\tlet vehicle = find(rawVehicles, i => lowerWithoutSpaces(i?.raw?.externalRefuelID) === lp)?.raw\n\t\tif (!vehicle) vehicle = find(rawVehicles, i => lowerWithoutSpaces(i?.raw?.licensePlate) === lp)?.raw\n\n\t\tconst obj = {\n\t\t\tid: record?.id,\n\t\t\tname: record?.name,\n\t\t\tvehicleID: vehicle?.id || null,\n\t\t\tdeviceSN: vehicle?.deviceSN || null,\n\t\t\texternalRefuelID: vehicle?.externalRefuelID || null,\n\t\t\tlicensePlate,\n\t\t\tlicensePlateSMR1: licensePlateSMR1 || null,\n\t\t\tlicensePlateSMR2: licensePlateSMR2 || null,\n\t\t\tobservations,\n\t\t}\n\n\t\tconst fieldDate = get(fields, 'date')\n\t\tif (fieldDate) {\n\t\t\tconst date = moment(fieldDate)\n\t\t\tconst dateVal = date.isValid() ? date.toISOString() : null\n\t\t\tset(obj, 'date', dateVal)\n\t\t\tawait changeResources(obj)\n\t\t} else {\n\t\t\tawait update(obj)\n\t\t}\n\t}\n\n\tconst validate = async () => {\n\t\tconst fields = getValues()\n\n\t\tconst name = fields?.name\n\n\t\tsetErrUit(null)\n\n\t\tif (!name?.length) return\n\t\tif (name.length !== 16) {\n\t\t\tsetErrUit(t('uit.uitInvalid'))\n\t\t\treturn\n\t\t}\n\t\tif (!validateUIT(name)) {\n\t\t\tsetErrUit(t('uit.uitInvalid'))\n\t\t\treturn\n\t\t}\n\n\t\tif (fields?.licensePlateSMR1 != null && fields?.licensePlateSMR1.length > 10) {\n\t\t\tsetErrUit(t('uit.licensePlateSMR1Invalid'))\n\t\t\treturn\n\t\t}\n\n\t\tif (fields?.licensePlateSMR2 != null && fields?.licensePlateSMR2.length > 10) {\n\t\t\tsetErrUit(t('uit.licensePlateSMR2Invalid'))\n\t\t\treturn\n\t\t}\n\n\t\tawait (isNew ? create() : updateUit())\n\t\thide(true)\n\t}\n\tconst validateUIT = (input) => {\n\t\tconst pattern = /^[0-9ACDEFHJKLMNPQRTUVWXY]{14}[0-9]{2}$/\n\n\t\tif (!pattern.test(input)) {\n\t\t\treturn false // Invalid format\n\t\t}\n\n\t\tconst first14 = input.slice(0, 14)\n\t\tconst lastTwo = input.slice(14, 16)\n\n\t\tconst asciiSum = [...first14].reduce((sum, char) => sum + char.charCodeAt(0), 0)\n\t\tconst expectedLastTwo = String(asciiSum).slice(-2).padStart(2, '0') // Last two numbers\n\n\t\treturn lastTwo === expectedLastTwo\n\t}\n\n\tconst handleInputChange = (e, onChange) => {\n\t\te.preventDefault()\n\t\t// remove non number or alphanumeric characters\n\t\tconst input = e?.target?.value?.toUpperCase()\n\t\tconst validTxt = input.replace(/[^0-9a-z,]/gi, '')\n\t\te.target.value = validTxt\n\t\tonChange(validTxt)\n\t}\n\n\treturn (\n\t\t<Modal className='dc-modal ba-modal' open style={{ width: '400px' }}>\n\t\t\t<Modal.Header>\n\t\t\t\t{headerTxt}\n\t\t\t</Modal.Header>\n\t\t\t<FormProvider {...methods}>\n\t\t\t\t<form className='ui form dc-grid' style={{ padding: '1em 0px' }}>\n\t\t\t\t\t<div className='dc-field'>\n\t\t\t\t\t\t<label>{t('column.uit')} <span className='color yellow'>*</span></label>\n\t\t\t\t\t\t<Controller\n\t\t\t\t\t\t\tname='name'\n\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\trules={{ required: t('required') }}\n\t\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\tname='name'\n\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\treadOnly={!isNew}\n\t\t\t\t\t\t\t\t\tplaceholder={t('column.uit')}\n\t\t\t\t\t\t\t\t\tonChange={e => handleInputChange(e, onChange)}\n\t\t\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='dc-field'>\n\t\t\t\t\t\t<label>{t('column.licensePlate')} <span className='color yellow'>*</span></label>\n\t\t\t\t\t\t<Controller\n\t\t\t\t\t\t\tname='licensePlate'\n\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\trules={{ required: t('required') }}\n\t\t\t\t\t\t\trender={({ value, onChange }) => {\n\t\t\t\t\t\t\t\tconst lp = lowerWithoutSpaces(value)\n\t\t\t\t\t\t\t\tconst vehicleColor = vehiclesLPs?.includes(lp) ? 'green' : 'yellow'\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\tname='licensePlate'\n\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\treadOnly={isNew}\n\t\t\t\t\t\t\t\t\t\ticon={`circle ${vehicleColor}`}\n\t\t\t\t\t\t\t\t\t\tonChange={e => !isNew && handleInputChange(e, onChange)}\n\t\t\t\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='dc-field'>\n\t\t\t\t\t\t<label>{t('column.licensePlateSMR1')} </label>\n\t\t\t\t\t\t<Controller\n\t\t\t\t\t\t\tname='licensePlateSMR1'\n\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\tname='licensePlateSMR1'\n\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\tplaceholder={t('column.licensePlateSMR1')}\n\t\t\t\t\t\t\t\t\tonChange={e => handleInputChange(e, onChange)}\n\t\t\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='dc-field'>\n\t\t\t\t\t\t<label>{t('column.licensePlateSMR2')} </label>\n\t\t\t\t\t\t<Controller\n\t\t\t\t\t\t\tname='licensePlateSMR2'\n\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\tname='licensePlateSMR2'\n\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\tplaceholder={t('column.licensePlateSMR2')}\n\t\t\t\t\t\t\t\t\tonChange={e => handleInputChange(e, onChange)}\n\t\t\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!isNew && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Field p='observations' required />\n\t\t\t\t\t\t\t<div className='more linkStyle' onClick={() => setExpanded(!expanded)}><Icon name='dropdown' /> {t('uit.scheduleChanges')}</div>\n\t\t\t\t\t\t\t{expanded && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<div className='dc-field'>\n\t\t\t\t\t\t\t\t\t\t<Controller\n\t\t\t\t\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\t\t\t\t\tname='date'\n\t\t\t\t\t\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\t\t\t\t\tselected={value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttimeInputLabel='Time:'\n\t\t\t\t\t\t\t\t\t\t\t\t\tdateFormat='dd/MM/yyyy HH:mm'\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholderText='DD/MM/YYYY HH:mm'\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowTimeInput\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t{record?.scheduledModifications?.popup?.split('\\n').map((item, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<div key={index}>{item}</div>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{errUit && (\n\t\t\t\t\t\t<span style={{ color: '#ffbcbc', display: 'inherit', paddingTop: '5px', paddingBottom: '5px' }}>\n\t\t\t\t\t\t\t{errUit}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</form>\n\t\t\t</FormProvider>\n\t\t\t<Modal.Actions>\n\t\t\t\t<div className='doc-button deny' onClick={() => hide()}>\n\t\t\t\t\t{t('buttons.cancel')}\n\t\t\t\t</div>\n\t\t\t\t<div className='doc-button approve' onClick={handleSubmit(validate)}>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalUitMap.propTypes = {\n\tvehicle: PropTypes.object,\n\trecord: PropTypes.object,\n\thide: PropTypes.func,\n}\n\nexport default ModalUitMap\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { Popup } from 'semantic-ui-react'\nimport { get } from 'lodash'\nimport { useTranslation } from 'react-i18next'\n\nconst TachoDriver = ({ driver, nr = 1, assetsPath }) => {\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst [phoneNumberCopiedIsOpen, setPhoneNumberCopiedIsOpen] = useState(false)\n\n\tconst copyPhoneNumber = e => { // todo-react replace when full transition to react\n\t\tconst cp = e.target.innerText\n\t\tif (!cp) return\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = cp.split(',').join('')\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\n\t\tsetPhoneNumberCopiedIsOpen(true)\n\n\t\tsetTimeout(() => {\n\t\t\tsetPhoneNumberCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\tif (!driver) return null\n\n\treturn (\n\t\t<>\n\t\t\t<div className='tachoDriver1'>\n\t\t\t\t<div><b>{t('driver')} {nr}:</b> {driver.name}</div>\n\t\t\t\t<div>\n\t\t\t\t\t<span className='bold'>{t(`vehicle.tacho.activities.${driver.activity}`)}</span>\n\t\t\t\t\t&nbsp;<i>({get(driver, 'activityTime')}{get(driver, 'activityDistance')})</i>\n\t\t\t\t</div>\n\t\t\t\t{driver?.phoneNumber ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<strong title={t('copy')} onClick={copyPhoneNumber} className='pointer'>\n\t\t\t\t\t\t\t\t\t{driver?.phoneNumber}\n\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topen={phoneNumberCopiedIsOpen}\n\t\t\t\t\t\t\tcontent={t('map:phoneNumberCopied')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<div className='tachoDriver2'>\n\t\t\t\t<div className='status'>\n\t\t\t\t\t<div className='header'>{t('drivingCycle')}:</div>\n\t\t\t\t\t<div className='value'>{get(driver, 'driveTimeLeft')}</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='status'>\n\t\t\t\t\t<div className='header'>{t('drivingDaily')}:</div>\n\t\t\t\t\t<div className='value'>{get(driver, 'driveTimeLeftDay')}</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='status'>\n\t\t\t\t\t<div className='header'>{t('drivingWeekly')}:</div>\n\t\t\t\t\t<div className='value'>{get(driver, 'driveTimeLeftWeek')}</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='status'>\n\t\t\t\t\t<div className='header'>{t('amplitudeDaily')}:</div>\n\t\t\t\t\t<div className='value'>{get(driver, 'remainAmplitude')}</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='status'>\n\t\t\t\t\t<div className='header'>{t('totalRecovery')}:</div>\n\t\t\t\t\t<div className='value'>{get(driver, 'totalRecovery')}</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='status'>\n\t\t\t\t\t<div className='header'>{t('lastDailyRestDuration')}:</div>\n\t\t\t\t\t<div className='value'>{get(driver, 'lastDailyDuration')}</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='status'>\n\t\t\t\t\t<div className='header'>{t('amplitudeStartTime')}:</div>\n\t\t\t\t\t<div className='value'>{get(driver, 'amplitudeStartTime')}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nTachoDriver.propTypes = {\n\tdriver: PropTypes.object,\n\tnr: PropTypes.number,\n\tassetsPath: PropTypes.string,\n}\n\nexport default TachoDriver\n","import React, { useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\nimport { Popup } from 'semantic-ui-react'\n\nimport { getTachoDriver, getUser } from 'tracknamic-smb/react/utils/mapVehiclePopup'\n\nimport TachoDriver from './TachoDriver'\n\nconst TabTacho = ({ vehicle, users, hasTachoModule, assetsPath, userTimezone }) => {\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst [phoneNumberCopiedIsOpen, setPhoneNumberCopiedIsOpen] = useState(false)\n\n\tconst driverNamePhone = useMemo(() => {\n\t\tconst user = getUser(get(vehicle, 'raw.userID'), users)\n\t\treturn { name: get(user, 'name', null), phoneNumber: get(user, 'raw.phoneNumber', null) }\n\t}, [vehicle, users])\n\n\tconst copyPhoneNumber = e => { // todo-react replace when full transition to react\n\t\tconst cp = e.target.innerText\n\t\tif (!cp) return\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = cp.split(',').join('')\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\t\tsetPhoneNumberCopiedIsOpen(true)\n\t\tsetTimeout(() => {\n\t\t\tsetPhoneNumberCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{hasTachoModule && get(vehicle, 'hasTacho') ? (\n\t\t\t\t<>\n\t\t\t\t\t<TachoDriver driver={getTachoDriver(get(vehicle, 'raw.status.tacho.driver1'), users, userTimezone)} nr='1' assetsPath={assetsPath} />\n\t\t\t\t\t<TachoDriver driver={getTachoDriver(get(vehicle, 'raw.status.tacho.driver2'), users, userTimezone)} nr='2' assetsPath={assetsPath} />\n\t\t\t\t</>\n\t\t\t) : driverNamePhone ? (\n\t\t\t\t<div className='tachoDriver1'>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<b>{t('driver')}:</b> {driverNamePhone.name}\n\t\t\t\t\t\t{driverNamePhone?.phoneNumber ? (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t\t<strong title={t('copy')} onClick={copyPhoneNumber} className='pointer'>\n\t\t\t\t\t\t\t\t\t\t\t{driverNamePhone?.phoneNumber}\n\t\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\topen={phoneNumberCopiedIsOpen}\n\t\t\t\t\t\t\t\t\tcontent={t('map:phoneNumberCopied')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</>\n\t)\n}\n\nTabTacho.propTypes = {\n\tvehicle: PropTypes.object,\n\tusers: PropTypes.array,\n\thasTachoModule: PropTypes.bool,\n\tassetsPath: PropTypes.string,\n\tuserTimezone: PropTypes.string,\n}\n\nexport default TabTacho\n","import React, { useEffect, useMemo, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Checkbox, Icon, Popup } from 'semantic-ui-react'\nimport { map, set, pick, filter, uniq } from 'lodash'\nimport toast from 'react-hot-toast'\n\nimport ModalUitMap from './ModalUITMap'\n\nconst Uit = ({ vehicle, hasTokenETransport }) => {\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst getVehicleUits = useStoreActions(actions => actions.uits.getVehicleUits)\n\tconst update = useStoreActions(actions => actions.uits.update)\n\tconst remove = useStoreActions(actions => actions.uits.remove)\n\n\tconst vehicleID = useMemo(() => vehicle?.raw?.id, [vehicle])\n\n\tconst [isOpen, setIsOpen] = useState()\n\n\tconst handleOpen = id => setIsOpen(id)\n\tconst handleClose = () => setIsOpen(false)\n\n\tconst [changing, setChanging] = useState()\n\n\tconst [items, setItems] = useState([])\n\n\tuseEffect(() => {\n\t\tif (!vehicleID) return\n\t\tsetItems([])\n\t\tgetVehicleUits(vehicleID).then(res => setItems(res))\n\t}, [vehicleID])\n\n\tconst toggleActivate = item => {\n\t\tconst isActivated = !item?.activated\n\t\tconst ts = moment()?.valueOf()\n\n\t\tif (isActivated) {\n\t\t\t// Step 1: Find other active items\n\t\t\tconst otherActiveUITS = items.filter(i => i.id !== item.id && i.activated)\n\n\t\t\t// Step 2: Gather unique trailers from those items\n\t\t\tconst trailers = uniq(otherActiveUITS.reduce((acc, obj) => {\n\t\t\t\tif (obj?.licensePlateSMR1 != null && obj?.licensePlateSMR1 !== '') acc.push(obj.licensePlateSMR1)\n\t\t\t\tif (obj?.licensePlateSMR2 != null && obj?.licensePlateSMR2 !== '') acc.push(obj.licensePlateSMR2)\n\t\t\t\treturn acc\n\t\t\t}, []))\n\n\t\t\t// Step 3: Add current item's trailers if not already included\n\t\t\tif (item?.licensePlateSMR1 && !trailers.includes(item.licensePlateSMR1)) {\n\t\t\t\ttrailers.push(item.licensePlateSMR1)\n\t\t\t}\n\t\t\tif (item?.licensePlateSMR2 && !trailers.includes(item.licensePlateSMR2)) {\n\t\t\t\ttrailers.push(item.licensePlateSMR2)\n\t\t\t}\n\n\t\t\t// Step 4: Check if trailer count exceeds limit\n\t\t\tif (trailers.length > 3) {\n\t\t\t\ttoast.error(t('uit.tooManyUITSActivatedwithMultipleSMRS'))\n\t\t\t\t// Optionally show a user-facing message or dialog here\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Step 5: Proceed with activation\n\t\t\tset(item, 'activatedAt', ts)\n\t\t\tset(item, 'disabledAt', null)\n\t\t\tupdate(pick(item, ['id', 'activatedAt', 'disabledAt']))\n\t\t} else {\n\t\t\t// Deactivation logic\n\t\t\tset(item, 'disabledAt', ts)\n\t\t\tupdate(pick(item, ['id', 'disabledAt']))\n\t\t}\n\n\t\t// Final step: toggle the activated flag and update state\n\t\tset(item, 'activated', isActivated)\n\t\tsetItems([...items])\n\t}\n\n\tconst handleRemove = async item => {\n\t\tawait remove(item)\n\t\tconst filtered = filter(items, i => i.id !== item?.id)\n\t\tsetItems(filtered)\n\t}\n\n\tconst handleHide = async makeRefresh => {\n\t\tsetChanging(null)\n\t\tif (makeRefresh) {\n\t\t\tawait new Promise(resolve => setTimeout(resolve, 1000))\n\t\t\tgetVehicleUits(vehicleID).then(res => setItems(res))\n\t\t}\n\t}\n\n\treturn (\n\t\t<div className='uit'>\n\t\t\t<div className='list-uits'>\n\t\t\t\t<div className='header'>\n\t\t\t\t\t<div className='name'>UIT</div>\n\t\t\t\t\t<div>{t('disabled')}/{t('activated')}</div>\n\t\t\t\t\t<div style={{ position: 'absolute', right: '5px' }}>\n\t\t\t\t\t\t<Button size='mini' inverted color='yellow' onClick={() => setChanging({ licensePlate: vehicle?.raw?.licensePlate })}>\n\t\t\t\t\t\t\t{t('add')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{map(items, i => (\n\t\t\t\t\t<div className='item'>\n\t\t\t\t\t\t<div className='name'>\n\t\t\t\t\t\t\t<div className='dc-flex column'>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={i?.scheduledModifications && 'color yellow'}\n\t\t\t\t\t\t\t\t\ttitle={i?.scheduledModifications?.popup}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{i?.name}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span style={{ opacity: '0.7' }}>\n\t\t\t\t\t\t\t\t\t{filter([\n\t\t\t\t\t\t\t\t\t\ti?.licensePlateSMR1 && 'SMR1: ' + i?.licensePlateSMR1,\n\t\t\t\t\t\t\t\t\t\ti?.licensePlateSMR2 && 'SMR2: ' + i?.licensePlateSMR2\n\t\t\t\t\t\t\t\t\t]).join(', ')}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div onClick={() => toggleActivate(i)}><Checkbox checked={i?.activated} toggle /></div>\n\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\ttrigger={<div onClick={() => handleOpen(i?.id)}><Icon name='trash pointer' /></div>}\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t{t('delete')}\n\t\t\t\t\t\t\t\t\t<div className='dc-grid column-flow' style={{ marginTop: '1em' }}>\n\t\t\t\t\t\t\t\t\t\t<Button size='mini' onClick={() => handleRemove(i)}>{t('yes')}</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size='mini' onClick={() => handleClose()}>{t('no')}</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ton='click'\n\t\t\t\t\t\t\tposition='top right'\n\t\t\t\t\t\t\topen={isOpen === i.id}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{hasTokenETransport ? (\n\t\t\t\t\t\t\t<div onClick={() => setChanging(i)}><Icon name='exchange pointer' /></div>\n\t\t\t\t\t\t) : <div />}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t{changing ? (\n\t\t\t\t<ModalUitMap\n\t\t\t\t\tvehicle={vehicle}\n\t\t\t\t\trecord={changing}\n\t\t\t\t\thide={handleHide}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n\nUit.propTypes = {\n\tvehicle: PropTypes.object,\n\thasTokenETransport: PropTypes.bool,\n}\n\nexport default Uit\n","import React, { useRef, useEffect, useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { get, set, toInteger, find, findIndex, filter, round } from 'lodash'\nimport { Popup, Icon, TabPane, MenuItem, Tab } from 'semantic-ui-react'\nimport { AiFillDashboard } from 'react-icons/ai'\nimport { RiDashboard2Fill } from 'react-icons/ri'\n\nimport { getItemLS } from 'tracknamic-smb/react/utils/ls'\nimport useAddress from 'tracknamic-smb/react/hooks/useAddress'\nimport { getVehicleMakeModelYear } from 'tracknamic-smb/react/utils/mapVehiclePopup'\nimport { formatCoordinate } from 'tracknamic-smb/react/utils/strings'\n\nimport Uit from './Uit'\nimport Info from './Info'\nimport Tacho from './Tacho'\nimport Integrations from './Integrations'\nimport AlertDisposable from './AlertDisposable'\n\nconst generateMenuItem = (txt, icon) => (\n\t<MenuItem key={txt}>\n\t\t<div className='dc-grid g6'>\n\t\t\t<Icon name={`fitted ${icon}`} />\n\t\t\t{txt}\n\t\t</div>\n\t</MenuItem>\n)\n\nfunction getPostalCode (vehicle) {\n\tconst cpPromise = useAddress(vehicle, ['address.postcode'])\n\tif (get(cpPromise, 'loading')) {\n\t\treturn '...'\n\t}\n\tif (get(cpPromise, 'result')) {\n\t\treturn get(cpPromise, 'result') + ', '\n\t}\n\treturn ''\n}\n\nfunction getLocation (vehicle) {\n\tconst addressPromise = useAddress(vehicle)\n\tif (get(addressPromise, 'loading')) {\n\t\treturn '...'\n\t}\n\treturn get(addressPromise, 'result')\n}\n\nfunction convertDateToBrowserTZ (date, tz = 'Europe/Bucharest') {\n\treturn moment(moment.tz(date, tz).format('YYYY-MM-DD HH:mm:ss.SSS')).valueOf()\n}\n\nconst VehiclePopup = ({\n\tvehicle,\n\tusers,\n\tpopupDirection,\n\tuserTimezone,\n\tassetsPath,\n\turlGoogleMapKeys,\n\tclosePopup,\n\tmarkerSize,\n\thasTachoModule,\n\thasMapRoutesAccess,\n\thasMapEtaAccess,\n\thasMapEtaPTVAccess,\n\tintegrations,\n\tsharedIntegrations,\n\ttemporaryAlerts,\n\tpopupActiveTabIndex,\n\tsetPopupActiveTabIndex,\n}) => {\n\tconst refVehicle = useRef()\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst [coordinateCopiedIsOpen, setCoordinateCopiedIsOpen] = useState(false)\n\tconst [postalCodeCopiedIsOpen, setPostalCodeCopiedIsOpen] = useState(false)\n\tconst [locationCopiedIsOpen, setLocationCopiedIsOpen] = useState(false)\n\n\tconst vehicleID = useMemo(() => vehicle?.raw?.id, [vehicle])\n\tconst hasTokenETransport = useMemo(() => {\n\t\tconst integration = find(integrations, el => el.raw.template === 'e-transport')?.raw\n\t\tif (!integration) return false\n\t\tconst option = find(integration?.options, i => i?.name === 'access_token')\n\t\treturn option?.value\n\t}, [integrations])\n\n\tconst hasTabUit = useMemo(() => {\n\t\tconst hasIntegrationsETransport = find(integrations, el => el.raw.template === 'e-transport')?.raw?.enabled === true\n\t\treturn !vehicle?.noDevice && hasIntegrationsETransport\n\t}, [vehicle, integrations])\n\n\tconst hasTabTacho = useMemo(() => {\n\t\tconst tacho = hasTachoModule && get(vehicle, 'hasTacho')\n\t\tconst driver = get(vehicle, 'raw.userID')\n\t\treturn tacho || driver\n\t}, [vehicle, hasTachoModule])\n\n\tconst hasTabIntegrations = useMemo(() => {\n\t\tconst filtered = filter(integrations, integration => ['platform', 'tms'].includes(integration.raw?.category) && integration.raw?.enabled === true)\n\t\treturn filtered?.length\n\t}, [integrations])\n\n\t// #region Panes\n\tconst panes = useMemo(() => filter([{\n\t\tname: 'info',\n\t\tmenuItem: generateMenuItem(t('map:vehPopup.tabs.info'), 'info circle'),\n\t\trender: () => <TabPane><Info vehicle={vehicle} /></TabPane>,\n\t}, hasTabTacho && {\n\t\tname: 'tacho',\n\t\tmenuItem: generateMenuItem(t('map:vehPopup.tabs.tacho'), 'users'),\n\t\trender: () => (\n\t\t\t<TabPane>\n\t\t\t\t<Tacho\n\t\t\t\t\tvehicle={vehicle}\n\t\t\t\t\thasTachoModule={hasTachoModule}\n\t\t\t\t\tusers={users}\n\t\t\t\t\tuserTimezone={userTimezone}\n\t\t\t\t\tassetsPath={assetsPath}\n\t\t\t\t/>\n\t\t\t</TabPane>\n\t\t),\n\t}, hasTabUit && {\n\t\tname: 'uit',\n\t\tmenuItem: generateMenuItem(t('map:vehPopup.tabs.uit'), 'truck'),\n\t\trender: () => (\n\t\t\t<TabPane>\n\t\t\t\t<Uit vehicle={vehicle} hasTokenETransport={hasTokenETransport} />\n\t\t\t</TabPane>\n\t\t),\n\t}, hasTabIntegrations && {\n\t\tname: 'integrations',\n\t\tmenuItem: generateMenuItem(t('map:vehPopup.tabs.integrations'), 'settings'),\n\t\trender: () => (\n\t\t\t<TabPane>\n\t\t\t\t<Integrations\n\t\t\t\t\tvehicle={vehicle}\n\t\t\t\t\tintegrations={integrations}\n\t\t\t\t\tsharedIntegrations={sharedIntegrations}\n\t\t\t\t/>\n\t\t\t</TabPane>\n\t\t),\n\t}, {\n\t\tname: 'alerts',\n\t\tmenuItem: generateMenuItem(t('map:vehPopup.tabs.alerts'), 'alarm'),\n\t\trender: () => (\n\t\t\t<TabPane>\n\t\t\t\t<AlertDisposable\n\t\t\t\t\tvehicle={vehicle}\n\t\t\t\t\talerts={temporaryAlerts.filter(a => a?.raw?.entityID === vehicle?.raw?.id)}\n\t\t\t\t\tassetsPath={assetsPath}\n\t\t\t\t\thasTachoModule={hasTachoModule}\n\t\t\t\t\turlGoogleMapKeys={urlGoogleMapKeys}\n\t\t\t\t/>\n\t\t\t</TabPane>\n\t\t),\n\t}]), [vehicle, hasTabTacho, hasTabUit, hasTabIntegrations]) // eslint-disable-line react-hooks/exhaustive-deps\n\t// #endregion\n\n\tuseEffect(() => {\n\t\tif (!panes?.length) return\n\t\tif (!vehicleID || refVehicle?.current === vehicleID) return\n\t\tset(refVehicle, 'current', vehicleID)\n\t\tconst tabName = getItemLS('mapVehPopupTab')\n\t\tif (!tabName) return\n\t\tconst idx = findIndex(panes, i => i.name === tabName)\n\t\tconst res = idx !== -1 ? idx : 0\n\t\tsetPopupActiveTabIndex(res)\n\t}, [panes, vehicleID]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\t// conver updatedAt to company tz\n\tconst updatedAt = useMemo(() => {\n\t\tconst updated = get(vehicle, 'raw.status.updatedAt')\n\t\treturn convertDateToBrowserTZ(updated, userTimezone)\n\t}, [vehicle, userTimezone])\n\n\tconst vehicleMakeModelYear = useMemo(() => getVehicleMakeModelYear(vehicle), [vehicle])\n\n\tfunction copyToClipboard (n, e) { // todo-react replace when full transition to react\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = round(e, 6) > 0 ? `${round(n, 6)}N, ${round(e, 6)}E` : `${round(n, 6)}N, ${-round(e, 6)}W`\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\n\t\tsetCoordinateCopiedIsOpen(true)\n\n\t\tsetTimeout(() => {\n\t\t\tsetCoordinateCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\tfunction copyPostalCodeToClipboard (e) { // todo-react replace when full transition to react\n\t\tconst cp = e.target.innerText\n\t\tif (!cp) return\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = cp.split(',').join('')\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\n\t\tsetPostalCodeCopiedIsOpen(true)\n\n\t\tsetTimeout(() => {\n\t\t\tsetPostalCodeCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\tfunction copyLocationToClipboard (e) { // todo-react replace when full transition to react\n\t\tconst cp = e.target.innerText\n\t\tif (!cp) return\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = cp\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\n\t\tsetLocationCopiedIsOpen(true)\n\n\t\tsetTimeout(() => {\n\t\t\tsetLocationCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\tconst handleTabChange = (e, { activeIndex }) => {\n\t\tsetPopupActiveTabIndex(activeIndex)\n\t}\n\n\treturn (\n\t\t<div className={`VehiclePopupWrapper ${popupDirection[0]} ${popupDirection[1]} ${markerSize}`}>\n\t\t\t<div className='VehiclePopup'>\n\t\t\t\t<div className='mainHeader'>\n\t\t\t\t\t<div className='licensePlate mainLeftPadding mainTopPadding'>\n\t\t\t\t\t\t<a href={`/map/vehicle/${get(vehicle, 'raw.id')}`} style={{ color: '#ffdc36' }}>{get(vehicle, 'raw.licensePlate')}</a>{get(vehicle, 'raw.status.state') ? ' - ' + t(`vehicle.manualState.${get(vehicle, 'raw.status.state')}`) : null}\n\t\t\t\t\t\t<div className='dateTimeWrapper'>\n\t\t\t\t\t\t\t{vehicleMakeModelYear ? <div>{vehicleMakeModelYear}</div> : null}\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<b>{moment(updatedAt).format('HH:mm')}</b>\n\t\t\t\t\t\t\t\t{moment(updatedAt).format('DD.MM.YYYY')}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='mainHeaderButtons'>\n\t\t\t\t\t\t{hasMapRoutesAccess\n\t\t\t\t\t\t\t? <a href={`${assetsPath}/../map/routes/${get(vehicle, 'raw.id')}`} target='_blank' rel='noreferrer'>{t('map:history')}</a>\n\t\t\t\t\t\t\t: <a className='disabled' href={`${assetsPath}/../map/routes/${get(vehicle, 'raw.id')}`} target='_blank' rel='noreferrer'>{t('map:history')}</a>}\n\t\t\t\t\t\t{hasMapEtaPTVAccess\n\t\t\t\t\t\t\t? <a href={`${assetsPath}/../map/eta-ptv/${get(vehicle, 'raw.id')}`} target='_blank' rel='noreferrer'>{t('map:eta')}</a>\n\t\t\t\t\t\t\t: hasMapEtaAccess\n\t\t\t\t\t\t\t\t? <a href={`${assetsPath}/../map/route-eta/${get(vehicle, 'raw.id')}`} target='_blank' rel='noreferrer'>{t('map:eta')}</a>\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='closeIcon pointer' onClick={closePopup}>\n\t\t\t\t\t\t<Icon name='fitted close' />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Popup\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<div className='icon-text coordinate pointer mainLeftPadding' title={t('copy')} onClick={() => { copyToClipboard(get(vehicle, 'lat'), get(vehicle, 'lng')) }}>\n\t\t\t\t\t\t\t\t<Icon fitted name='map marker alternate' className='color-gray' />\n\t\t\t\t\t\t\t\t<span>{formatCoordinate(get(vehicle, 'lat'), 'N')}, {get(vehicle, 'lng') > 0 ? formatCoordinate(get(vehicle, 'lng'), 'E') : formatCoordinate(-get(vehicle, 'lng'), 'W')}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\topen={coordinateCopiedIsOpen}\n\t\t\t\t\t\tcontent={t('map:coordinatesCopied')}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className='icon-text'>\n\t\t\t\t\t\t<RiDashboard2Fill className='color-gray fs20' />\n\t\t\t\t\t\t<span>{toInteger(get(vehicle, 'raw.status.speed', 0))} km/h</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div />\n\t\t\t\t\t<div className='icon-text location mainLeftPadding mainBottomPadding'>\n\t\t\t\t\t\t<Icon fitted name='map' className='color-gray px14' />\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<strong title={t('copy')} onClick={e => copyPostalCodeToClipboard(e)} className='pointer'>\n\t\t\t\t\t\t\t\t\t\t{getPostalCode(vehicle)}\n\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\topen={postalCodeCopiedIsOpen}\n\t\t\t\t\t\t\t\tcontent={t('map:postalCodeCopied')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<strong title={t('copy')} onClick={e => copyLocationToClipboard(e)} className='pointer'>\n\t\t\t\t\t\t\t\t\t\t{getLocation(vehicle)}\n\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\topen={locationCopiedIsOpen}\n\t\t\t\t\t\t\t\tcontent={t('map:locationCopied')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='icon-text mainBottomPadding'>\n\t\t\t\t\t\t<AiFillDashboard className='color-gray fs20' />\n\t\t\t\t\t\t<span>{get(vehicle, 'raw.status.can.rpm') !== null ? get(vehicle, 'raw.status.can.rpm') : '--'} {t('common:rpm')}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<Tab panes={panes} activeIndex={popupActiveTabIndex} onTabChange={handleTabChange} />\n\t\t\t</div>\n\t\t\t<div className='triangleWrapper'>\n\t\t\t\t<div className='triangle' />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nVehiclePopup.propTypes = {\n\tvehicle: PropTypes.object,\n\tusers: PropTypes.array,\n\tpopupDirection: PropTypes.array,\n\tuserTimezone: PropTypes.string,\n\tassetsPath: PropTypes.string,\n\turlGoogleMapKeys: PropTypes.object,\n\tclosePopup: PropTypes.func,\n\tmarkerSize: PropTypes.string,\n\thasTachoModule: PropTypes.bool,\n\thasMapRoutesAccess: PropTypes.bool,\n\thasMapEtaAccess: PropTypes.bool,\n\thasMapEtaPTVAccess: PropTypes.bool,\n\tintegrations: PropTypes.array,\n\tsharedIntegrations: PropTypes.array,\n\ttemporaryAlerts: PropTypes.array,\n\tpopupActiveTabIndex: PropTypes.number,\n\tsetPopupActiveTabIndex: PropTypes.func,\n}\n\nexport default VehiclePopup\n","import PropTypes from 'prop-types'\nimport React, { useEffect, useMemo } from 'react'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { forEach, get, isEmpty, map, set } from 'lodash'\nimport { FormProvider, useForm, Controller } from 'react-hook-form'\nimport DatePicker from 'react-datepicker'\nimport { Modal } from 'semantic-ui-react'\n\nimport Field from './Field'\nimport DropdownMultiple from './DropdownMultiple'\n\nconst ModalTemporaryLink = ({ record, hide }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst methods = useForm()\n\tconst { setValue, getValues, handleSubmit, control, formState: { isSubmitted }, watch } = methods\n\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst update = useStoreActions(actions => actions.temporaryLinks.update)\n\n\tconst vehicleIDs = watch('vehicleIDs')\n\n\tconst vehiclesOptions = useMemo(() => map(vehicles, i => ({ key: i?.raw?.id, text: i?.raw?.licensePlate, value: i?.raw?.id })), [vehicles])\n\n\tuseEffect(() => {\n\t\tif (isEmpty(record)) return\n\t\tconst PROPS = ['vehicleIDs', 'name', 'expiredAt']\n\t\tforEach(PROPS, prop => {\n\t\t\tsetValue(prop, get(record, prop))\n\t\t})\n\t}, [record]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst validate = async () => {\n\t\tconst fields = getValues()\n\t\tconst date = moment(fields?.expiredAt)\n\t\tconst expiredAt = date.isValid() ? date.valueOf() : null\n\t\tif (!fields?.vehicleIDs?.length) return\n\t\tset(fields, 'expiredAt', expiredAt)\n\n\t\tawait update({ ...record, ...fields })\n\t\thide()\n\t}\n\n\treturn (\n\t\t<Modal className='dc-modal ba-modal' open style={{ width: '300px' }}>\n\t\t\t<Modal.Header>\n\t\t\t\t{t('temporary-link.label')}\n\t\t\t</Modal.Header>\n\t\t\t<FormProvider {...methods}>\n\t\t\t\t<form className='ui form' style={{ padding: '1em 0px' }}>\n\t\t\t\t\t<div className='dc-grid'>\n\t\t\t\t\t\t<div className='dc-field'>\n\t\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t\t{t('vehicles')} <span style={{ color: 'yellow', padding: '0 5px' }}>*</span>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Controller\n\t\t\t\t\t\t\t\t\tname='vehicleIDs'\n\t\t\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\t\t\trules={{ required: true }}\n\t\t\t\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t\t\t\t<DropdownMultiple\n\t\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\t\tclassName='fluid'\n\t\t\t\t\t\t\t\t\t\t\tdefaultSelected={value}\n\t\t\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t\t\t\toptions={vehiclesOptions}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span style={{ color: 'yellow', display: 'inherit' }}>\n\t\t\t\t\t\t\t\t\t{isSubmitted && !vehicleIDs?.length && 'Min 1'}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Field p='name' tKey='name' isReq />\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t\t{t('validUntil')} <span style={{ color: 'yellow', padding: '0 5px' }}>*</span>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Controller\n\t\t\t\t\t\t\t\t\tname='expiredAt'\n\t\t\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\t\t\trules={{ required: true }}\n\t\t\t\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\t\t\tselected={value}\n\t\t\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t\t\t\tminDate={moment().add(0, 'd').startOf('d').valueOf()}\n\t\t\t\t\t\t\t\t\t\t\tdateFormat='dd/MM/yyyy HH:mm'\n\t\t\t\t\t\t\t\t\t\t\tplaceholderText='DD/MM/YYYY HH:mm'\n\t\t\t\t\t\t\t\t\t\t\tshowTimeInput\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</FormProvider>\n\t\t\t<Modal.Actions>\n\t\t\t\t<div className='doc-button deny' onClick={() => hide()}>\n\t\t\t\t\t{t('buttons.cancel')}\n\t\t\t\t</div>\n\t\t\t\t<div className='doc-button approve' onClick={handleSubmit(validate)}>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalTemporaryLink.propTypes = {\n\trecord: PropTypes.object,\n\thide: PropTypes.func,\n}\n\nexport default ModalTemporaryLink\n","import React, { useState, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport toast from 'react-hot-toast'\nimport { Popup, Icon, Message, Input } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState } from 'easy-peasy'\n\nconst validateFormat = name => {\n\tif (!name) return false\n\tconst arr = name.split('.')\n\tif (arr.length < 2) return false\n\tconst extension = arr.pop().toLowerCase()\n\tif (extension === 'xlsx' || extension === 'csv') return true\n\treturn false\n}\n\nfunction ModalImport ({ parse, hide }) {\n\tconst { t } = useTranslation('common')\n\n\tconst assetsPath = useStoreState(state => state.global.assetsPath)\n\n\tconst refFile = useRef(null)\n\tconst [headerRow, setheaderRow] = useState()\n\n\tconst handleInput = (e, b, c) => {\n\t\tconst val = e?.target?.value\n\t\tif (!val || isNaN(val) || val <= 0) {\n\t\t\tsetheaderRow(null)\n\t\t\te.target.value = null\n\t\t\treturn\n\t\t}\n\t\tsetheaderRow(val)\n\t}\n\n\tconst handleButtonSelectFilesClick = () => {\n\t\tif (!headerRow) return\n\t\trefFile.current.click()\n\t}\n\n\tconst loadedFile = event => {\n\t\tconst selectedFile = event?.target?.files?.[0]\n\t\tif (selectedFile) {\n\t\t\tconst validFile = validateFormat(selectedFile.name)\n\t\t\tif (!validFile) {\n\t\t\t\ttoast.error(t('fuelImport.invalidFileAddFileWithCsvOrXlsxExtension'))\n\t\t\t\treturn\n\t\t\t}\n\t\t\tparse(selectedFile, headerRow)\n\t\t}\n\t}\n\n\treturn (\n\t\t<div style={{ textAlign: 'center' }}>\n\t\t\t<div style={{ display: 'grid', gridGap: '1em', placeItems: 'center', fontSize: '14px' }}>\n\t\t\t\t<input\n\t\t\t\t\ttype='file'\n\t\t\t\t\tid='file'\n\t\t\t\t\taccept='.xlsx, .csv'\n\t\t\t\t\tref={refFile}\n\t\t\t\t\tonChange={loadedFile}\n\t\t\t\t\tstyle={{ display: 'none' }}\n\t\t\t\t/>\n\t\t\t\t<div>\n\t\t\t\t\t<Popup\n\t\t\t\t\t\ttrigger={<div style={{ marginBottom: '4px' }}><Icon name='info' /> {t('fuelImport.headerLineNumber')}:</div>}\n\t\t\t\t\t\tposition='left center'\n\t\t\t\t\t>\n\t\t\t\t\t\t<Popup.Header>{t('fuelImport.headerLineNumberPopupText')}</Popup.Header>\n\t\t\t\t\t\t<Popup.Content>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclassName='info-refuel-excel-index'\n\t\t\t\t\t\t\t\tstyle={{ width: '500px', borderRadius: '8px' }}\n\t\t\t\t\t\t\t\tsrc={`${assetsPath}/images/excel_example_heading.png`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popup.Content>\n\t\t\t\t\t</Popup>\n\t\t\t\t\t<Input type='number' min={1} style={{ width: 70 }} value={headerRow} onChange={handleInput} />\n\t\t\t\t</div>\n\t\t\t\t<div className={`doc-button${!headerRow ? ' disabled' : ''}`} icon='upload' onClick={handleButtonSelectFilesClick}>{t('fuelImport.selectFile')}</div>\n\t\t\t\t<Message>\n\t\t\t\t\t<Icon name='info' /> {t('fuelImport.onlyCsvOrXlsxFileAreSuported')}\n\t\t\t\t</Message>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nModalImport.propTypes = {\n\tparse: PropTypes.func,\n\thide: PropTypes.func,\n}\n\nexport default ModalImport\n","import React, { useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { Dropdown } from 'semantic-ui-react'\n\nconst Req = () => <span style={{ color: '#9F3A38' }}>*</span>\n\nconst TIMESTAMP = [\n\t{ key: '1', value: 'DD/MM/YYYY HH:mm:ss', text: 'DD/MM/YYYY HH:mm:ss' },\n\t{ key: '2', value: 'DD/MM/YY HH:mm:ss', text: 'DD/MM/YY HH:mm:ss' },\n\t{ key: '3', value: 'MM/DD/YY HH:mm:ss', text: 'MM/DD/YY HH:mm:ss' },\n\t{ key: '4', value: 'YYYY-MM-DD HH:mm:ss', text: 'YYYY-MM-DD HH:mm:ss' },\n]\n\nfunction ContentOptions ({ response, hide, upload }) {\n\tconst { t } = useTranslation('common')\n\n\tconst [validated, setValidated] = useState(false)\n\tconst [licensePlate, setLicensePlate] = useState()\n\tconst [amount, setAmount] = useState()\n\tconst [date, setDate] = useState()\n\tconst [price, setPrice] = useState()\n\tconst [odometer, setOdometer] = useState()\n\tconst [timestamp, setTimestamp] = useState('DD/MM/YYYY HH:mm:ss')\n\n\tconst used = useMemo(() => [licensePlate, amount, date, price, odometer].filter(i => i), [licensePlate, amount, date, price, odometer])\n\n\tconst validate = () => {\n\t\tsetValidated(true)\n\t\tif (!licensePlate || !amount || !date || !timestamp) return\n\t\tconst data = {\n\t\t\tvehicleIndex: licensePlate,\n\t\t\tamountIndex: amount,\n\t\t\ttimestampIndex: date,\n\t\t\ttimestampFormat: timestamp,\n\t\t\tpriceIndex: price,\n\t\t\todometerIndex: odometer,\n\t\t}\n\t\tupload(data)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div style={{\n\t\t\t\tdisplay: 'grid',\n\t\t\t\tgridTemplateColumns: '1fr 1fr',\n\t\t\t\twidth: '100%',\n\t\t\t\tgridGap: '1.5em 2em',\n\t\t\t\tpadding: '30px 0px 0px 0px',\n\t\t\t\tfontSize: '14px'\n\t\t\t}}\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t<div style={{ marginBottom: '4px' }}>{t('vehicle.licensePlate')} <Req /></div>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tvalue={licensePlate}\n\t\t\t\t\t\toptions={response.filter(i => (!used.includes(i.value) || i.value === licensePlate))}\n\t\t\t\t\t\tselectOnBlur={false}\n\t\t\t\t\t\tonChange={(_, obj) => setLicensePlate(obj.value)}\n\t\t\t\t\t\tclassName={`fluid selection${validated && !licensePlate ? ' error' : ''}`}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div style={{ marginBottom: '4px' }}>{t('fuelImport.amount')} <Req /></div>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tvalue={amount}\n\t\t\t\t\t\toptions={response.filter(i => (!used.includes(i.value) || i.value === amount))}\n\t\t\t\t\t\tselectOnBlur={false}\n\t\t\t\t\t\tonChange={(_, obj) => setAmount(obj.value)}\n\t\t\t\t\t\tclassName={`fluid selection${validated && !amount ? ' error' : ''}`}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div style={{ marginBottom: '4px' }}>{t('fuelImport.date')} <Req /></div>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tvalue={date}\n\t\t\t\t\t\toptions={response.filter(i => (!used.includes(i.value) || i.value === date))}\n\t\t\t\t\t\tselectOnBlur={false}\n\t\t\t\t\t\tclassName={`fluid selection${validated && !date ? ' error' : ''}`}\n\t\t\t\t\t\tonChange={(_, obj) => setDate(obj.value)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div style={{ marginBottom: '4px' }}>{t('fuelImport.dateFormat')} <Req /></div>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tvalue={timestamp}\n\t\t\t\t\t\toptions={TIMESTAMP}\n\t\t\t\t\t\tclassName='fluid selection'\n\t\t\t\t\t\tonChange={(_, obj) => setTimestamp(obj.value)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div style={{ marginBottom: '4px' }}>{t('priceEur')} <Req /></div>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tvalue={price}\n\t\t\t\t\t\toptions={response.filter(i => (!used.includes(i.value) || i.value === price))}\n\t\t\t\t\t\tselectOnBlur={false}\n\t\t\t\t\t\tclassName={`fluid selection${validated && !price ? ' error' : ''}`}\n\t\t\t\t\t\tonChange={(_, obj) => setPrice(obj.value)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div style={{ marginBottom: '4px' }}>{t('odometer')} <Req /></div>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tvalue={odometer}\n\t\t\t\t\t\toptions={response.filter(i => (!used.includes(i.value) || i.value === odometer))}\n\t\t\t\t\t\tselectOnBlur={false}\n\t\t\t\t\t\tclassName={`fluid selection${validated && !odometer ? ' error' : ''}`}\n\t\t\t\t\t\tonChange={(_, obj) => setOdometer(obj.value)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='actions' style={{ fontSize: '14px' }}>\n\t\t\t\t<div className='doc-button deny' onClick={hide}>{t('buttons.cancel').toUpperCase()}</div>\n\t\t\t\t<div className='doc-button approve' onClick={validate}>{t('fuelImport.ok').toUpperCase()}</div>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nContentOptions.propTypes = {\n\tupload: PropTypes.func,\n\thide: PropTypes.func,\n\tresponse: PropTypes.array,\n}\n\nexport default ContentOptions\n","import React, { useState, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon, Message } from 'semantic-ui-react'\nimport { useTranslation, Trans } from 'react-i18next'\n\nconst ContentResponse = ({ results, hide }) => {\n\tconst { t } = useTranslation('common')\n\tconst imported = results.imported\n\tconst parsed = results.parsed\n\tconst [notImported, setNotImported] = useState(0)\n\tconst [hasError, setHasError] = useState(false)\n\n\tuseEffect(() => {\n\t\tif (!parsed || imported < 0 || parsed < 0 || (imported === 0 && parsed === 0) || (imported > parsed)) {\n\t\t\tsetHasError(true)\n\t\t\treturn\n\t\t}\n\t\tsetNotImported(parsed - (imported || 0))\n\t}, [imported, parsed])\n\n\tif (hasError) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className='content' style={{ fontSize: '16px' }}>\n\t\t\t\t\t<Message error>\n\t\t\t\t\t\t<Icon name='times circle outline' /> {t('fuelImport.anErrorOccuredPleaseTryAgain')}\n\t\t\t\t\t</Message>\n\t\t\t\t</div>\n\t\t\t\t<div className='actions' style={{ fontSize: '14px' }}>\n\t\t\t\t\t<div className='doc-button' onClick={hide}>{t('fuelImport.close')}</div>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className='content' style={{ fontSize: '16px' }}>\n\t\t\t\t<div>\n\t\t\t\t\t<Icon name='check circle outline green' />\n\t\t\t\t\t<Trans i18nKey='common:fuelImport.imported' values={{ count: imported }} />\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<Icon name='times circle outline red' />\n\t\t\t\t\t<Trans i18nKey='common:fuelImport.notImported' values={{ count: notImported }} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='actions' style={{ fontSize: '14px' }}>\n\t\t\t\t<div className='doc-button approve' onClick={hide}>{t('fuelImport.ok').toUpperCase()}</div>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nContentResponse.propTypes = {\n\tresults: PropTypes.array,\n\thide: PropTypes.func,\n}\n\nexport default ContentResponse\n","import React, { useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport toast from 'react-hot-toast'\nimport { useTranslation } from 'react-i18next'\nimport { Modal } from 'semantic-ui-react'\n\nimport api from '../../../services/api'\nimport Loading from '../../Spinner'\nimport ContentFile from './ContentFile'\nimport ContentOptions from './ContentOptions'\nimport ContentResponse from './ContentResponse'\n\nconst urlParse = 'refuels/parse'\nconst urlUpload = 'refuels/import'\n\nconst ModalImport = ({ hide }) => {\n\tconst { t } = useTranslation('common')\n\tconst [step, setStep] = useState(1)\n\tconst [file, setFile] = useState()\n\tconst [title, setTitle] = useState(`${t('fuelImport.selectFile')}`)\n\tconst [headerRow, setHeaderRow] = useState()\n\tconst [results, setResults] = useState([])\n\tconst [response, setResponse] = useState([])\n\tconst [loading, setLoading] = useState(false)\n\n\tconst handleResponse = res => {\n\t\tconst tempArray = []\n\t\tconst r = res.header\n\t\tfor (let i = 0; i < r.length; i++) {\n\t\t\ttempArray.push({ key: i, value: `${i}`, text: r[i] })\n\t\t}\n\t\tsetResponse(tempArray)\n\t}\n\n\tconst parse = (fileToParse, headerRowToParse) => {\n\t\tsetLoading(true)\n\t\tsetFile(fileToParse)\n\t\tsetHeaderRow(headerRowToParse)\n\t\tapi.upload(urlParse, fileToParse, 'file', null, [{ headerRow: headerRowToParse - 1 }], null, 'v2')\n\t\t\t.then(res => {\n\t\t\t\tif (!res) return\n\t\t\t\thandleResponse(res)\n\t\t\t\tsetTitle(`${t('fuelImport.selectOptions')}`)\n\t\t\t\tsetStep(2)\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\ttoast.error(t('messages.operationFailed'))\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tsetLoading(false)\n\t\t\t})\n\t}\n\n\tconst upload = data => {\n\t\tsetLoading(true)\n\t\tapi.upload(urlUpload, file, 'file', null, [\n\t\t\t{ headerRow: headerRow - 1 },\n\t\t\t{ amountIndex: data.amountIndex },\n\t\t\t{ timestampFormat: data.timestampFormat },\n\t\t\t{ timestampIndex: data.timestampIndex },\n\t\t\t{ vehicleIndex: data.vehicleIndex },\n\t\t\t{ priceIndex: data.priceIndex },\n\t\t\t{ odometerIndex: data.odometerIndex },\n\t\t], null, 'v2')\n\t\t\t.then(res => {\n\t\t\t\tif (!res) return\n\t\t\t\tsetResults(res)\n\t\t\t\tsetTitle(`${t('fuelImport.results')}`)\n\t\t\t\tsetStep(3)\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\ttoast.error(t('messages.operationFailed'))\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tsetLoading(false)\n\t\t\t})\n\t}\n\n\tconst Content = useMemo(() => {\n\t\tswitch (step) {\n\t\tcase 1: return <ContentFile parse={parse} hide={hide} />\n\t\tcase 2: return <ContentOptions upload={upload} response={response} hide={hide} />\n\t\tcase 3: return <ContentResponse results={results} hide={hide} />\n\t\tdefault: return null\n\t\t}\n\t}, [step]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\treturn (\n\t\t<Modal\n\t\t\tonClose={() => hide()}\n\t\t\topen\n\t\t\tsize='tiny'\n\t\t\tclassName='dc-modal'\n\t\t>\n\t\t\t<Modal.Header>{title}</Modal.Header>\n\t\t\t{loading ? <Loading /> : Content}\n\t\t</Modal>\n\t)\n}\n\nModalImport.propTypes = {\n\thide: PropTypes.func,\n}\n\nexport default ModalImport\n","import React, { useState, useEffect, useCallback } from 'react'\nimport { Modal, Form, Button, Grid, Input, Dropdown, Select, Checkbox } from 'semantic-ui-react'\nimport { useReactive } from 'ahooks'\nimport { get, filter } from 'lodash'\nimport DatePicker from 'react-datepicker'\nimport moment from 'moment'\nimport { setHours, setMinutes } from 'date-fns'\nimport DateUtils from '../../../utils/date'\nimport { useTranslation } from 'react-i18next'\nimport LocationPicker from '../../LocationPicker'\nimport matchSorter, { rankings } from 'match-sorter'\nimport VehicleGroupForm from './vehicleGroupForm'\n\nconst regexPrefix = /^\\+*[\\d]{2}$/\nconst regexBase = /^[0-9\\-]{9,15}$/\nconst regexEmail = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/\n\nconst SaveOrderModal = ({\n\tmapsAPI,\n\tmappedVehicleGroups,\n\tclients,\n\tonSave,\n\tallProperties,\n\tselectedRoute,\n\taddressCache,\n\tselectedVehicleGroup,\n\tsetSelectedVehicleGroup,\n\thandleVehicleDimensions,\n\tclearSaveOrderTimestamp,\n\tvehicles,\n\tusers,\n\t...props\n}) => {\n\tconst state = useReactive({\n\t\topen: false,\n\t\torder: {\n\t\t\tname: '',\n\t\t\tsource: 'tracknamic',\n\t\t\texternalID: '',\n\t\t\tvehicleGroupID: '',\n\t\t\tclientID: '',\n\t\t\tproperties: [],\n\t\t}\n\t})\n\n\tconst dateState = useReactive({\n\t\tstartDateForLoading: '',\n\t\tendDateForLoading: '',\n\t\tstartDateForArrival: '',\n\t\tendDateForArrival: ''\n\t})\n\tconst [address, setAddress] = useState([{ location: '' }, { location: '' }])\n\tconst [selectedProperty, setSelectedProperty] = useState('')\n\tconst [locationName, setLocationName] = useState('')\n\tconst [vehicleGroupWarning, setVehicleGroupWarning] = useState('')\n\tconst [maintainRoute, setMaintainRoute] = useState(true)\n\tconst [showVehicleGroupForm, setShowVehicleGroupForm] = useState(false)\n\n\tconst { t } = useTranslation(['common', 'tms/map', 'maintenance', 'settings-tms', 'vehicle-groups'])\n\n\tuseEffect(() => {\n\t\tif (!selectedVehicleGroup) return\n\t\tstate.order.vehicleGroupID = selectedVehicleGroup\n\t}, [selectedVehicleGroup])\n\n\tuseEffect(() => {\n\t\tif (!state.order.vehicleGroupID || maintainRoute) return\n\t\thandleVehicleDimensions({ value: state.order.vehicleGroupID })\n\t\tsetVehicleGroupWarning(t('tms/map:messages.changeVehicleGroup'))\n\t\tdateState.startDateForLoading = ''\n\t\tdateState.endDateForLoading = ''\n\t\tdateState.startDateForArrival = ''\n\t\tdateState.endDateForArrival = ''\n\t}, [state.order.vehicleGroupID])\n\n\tuseEffect(() => {\n\t\tif (!allProperties?.length) return\n\t\tconst propertiesArray = allProperties.map(property => {\n\t\t\treturn {\n\t\t\t\tvalue: '',\n\t\t\t\tid: property?.raw?.id,\n\t\t\t\tlabel: translateLabel(property?.raw?.name),\n\t\t\t\trequired: property?.raw?.required,\n\t\t\t\torderType: property?.raw?.orderType,\n\t\t\t\tdataType: property?.raw?.dataType,\n\t\t\t\tvisible: property?.raw?.visible,\n\t\t\t\tvalid: true\n\t\t\t}\n\t\t})\n\t\tstate.order.properties = propertiesArray\n\t}, [allProperties])\n\n\tuseEffect(() => {\n\t\tif (!addressCache?.fetches) return\n\t\tconst arrayOfAddress = Object.values(addressCache?.fetches)\n\t\tif (arrayOfAddress.length > 1) {\n\t\t\tsetAddress([{ location: arrayOfAddress[0].data }, { location: arrayOfAddress[arrayOfAddress.length - 1].data }])\n\t\t}\n\t}, [addressCache])\n\n\tuseEffect(() => {\n\t\tif (!clearSaveOrderTimestamp) return\n\n\t\tconst orderProperties = [...state.order.properties]\n\t\tfor (const property of orderProperties) {\n\t\t\tproperty.value = ''\n\t\t}\n\t\tstate.open = false\n\t\tstate.order = {\n\t\t\tname: '',\n\t\t\tsource: 'tracknamic',\n\t\t\texternalID: '',\n\t\t\tvehicleGroupID: '',\n\t\t\tclientID: '',\n\t\t\tproperties: orderProperties,\n\t\t}\n\t\tdateState.startDateForLoading = ''\n\t\tdateState.endDateForLoading = ''\n\t\tdateState.startDateForArrival = ''\n\t\tdateState.endDateForArrival = ''\n\t\tsetLocationName('')\n\t\tsetAddress([{ location: '' }, { location: '' }])\n\t}, [clearSaveOrderTimestamp])\n\n\tconst save = () => {\n\t\tif (onSave) {\n\t\t\tonSave(state.order, dateState)\n\t\t}\n\t\tstate.open = false\n\t}\n\n\tconst translateLabel = (label) => {\n\t\tif (!label.includes('tms.order.properties')) return label\n\t\treturn t(`settings-tms:${label}`)\n\t}\n\n\tconst disableSaveBtn = () => {\n\t\tif (showVehicleGroupForm) {\n\t\t\treturn true\n\t\t}\n\t\tfor (const property of state.order.properties) {\n\t\t\tif (!property?.value && property?.required) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (!property?.valid) return true\n\t\t}\n\t\tif (!state.order.name) {\n\t\t\treturn true\n\t\t}\n\t\tif (!dateState.endDateForLoading || !dateState.startDateForArrival || !dateState.endDateForArrival) {\n\t\t\treturn true\n\t\t}\n\t\tif (state.order.source === 'samsung' && !state.order.externalID) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}\n\n\tconst onChangeStartDate = (date) => {\n\t\tdateState.startDateForLoading = moment(date).utc().valueOf()\n\t\tif (!dateState.endDateForLoading || (moment(date).utc().valueOf() >= moment(dateState.endDateForLoading).utc().valueOf())) {\n\t\t\tdateState.endDateForLoading = moment(date).utc().valueOf()\n\t\t\t// CHANGE ARRIVAL DATES\n\t\t\tonChangeStartDateArrival(moment(date).utc().valueOf() + (selectedRoute?.duration * 1000))\n\t\t\tonChangeEndDateArrival(moment(date).utc().valueOf() + (selectedRoute?.duration * 1000))\n\t\t}\n\t}\n\tconst onChangeEndDate = (date) => {\n\t\tdateState.endDateForLoading = moment(date).utc().valueOf()\n\n\t\t// CHANGE ARRIVAL DATES\n\t\tonChangeStartDateArrival(moment(date).utc().valueOf() + (selectedRoute?.duration * 1000))\n\t\tonChangeEndDateArrival(moment(date).utc().valueOf() + (selectedRoute?.duration * 1000))\n\t}\n\n\tconst onChangeStartDateArrival = (date) => {\n\t\tdateState.startDateForArrival = moment(date).utc().valueOf()\n\t\tif (!dateState.endDateForArrival || (moment(date).utc().valueOf() >= moment(dateState.endDateForArrival).utc().valueOf())) {\n\t\t\tdateState.endDateForArrival = moment(date).utc().valueOf()\n\t\t}\n\t}\n\tconst onChangeEndDateArrival = (date) => {\n\t\tdateState.endDateForArrival = moment(date).utc().valueOf()\n\t}\n\n\tconst onChangeInputValue = (value, property, type = null) => {\n\t\tif (type === 'email' && value) {\n\t\t\tproperty.valid = regexEmail.test(value)\n\t\t} else {\n\t\t\tproperty.valid = true\n\t\t}\n\t\tconst indexOfProperty = state.order.properties.findIndex(prop => prop?.id === property?.id)\n\t\tif (indexOfProperty !== -1) {\n\t\t\tstate.order.properties[indexOfProperty].value = value\n\t\t}\n\t}\n\n\tconst onChange = useCallback((e, data) => {\n\t\tif (!selectedProperty) return\n\t\tconst indexOfProperty = state.order.properties.findIndex(prop => prop?.id === selectedProperty)\n\t\tif (indexOfProperty !== -1) {\n\t\t\tstate.order.properties[indexOfProperty].value = data.value\n\t\t}\n\t}, [selectedProperty])\n\n\tconst onChangeCheckbox = (value, indexOfProperty) => {\n\t\tif (indexOfProperty <= -1) return\n\t\tif (indexOfProperty !== -1) {\n\t\t\tstate.order.properties[indexOfProperty].value = value\n\t\t}\n\t}\n\n\tconst onLocationPicked = e => {\n\t\tsetLocationName(e.title)\n\t\tif (!selectedProperty) return\n\t\tconst indexOfProperty = state.order.properties.findIndex(prop => prop?.id === selectedProperty)\n\t\tif (indexOfProperty !== -1) {\n\t\t\tstate.order.properties[indexOfProperty].value = e.title\n\t\t}\n\t}\n\n\tconst onChangePhoneInput = (value, property, place) => {\n\t\tconst indexOfProperty = state.order.properties.findIndex(prop => prop?.id === property?.id)\n\t\tif (indexOfProperty !== -1) {\n\t\t\tconst number = state.order.properties[indexOfProperty]?.value.split('/')\n\t\t\tswitch (place) {\n\t\t\tcase 'prefix': {\n\t\t\t\tif (regexPrefix.test(value) === false || (number[0] && !number[1])) {\n\t\t\t\t\tproperty.valid = false\n\t\t\t\t} else {\n\t\t\t\t\tproperty.valid = true\n\t\t\t\t}\n\t\t\t\tconst phoneNumber = `${value}/${number[1] || ''}`\n\t\t\t\tstate.order.properties[indexOfProperty].value = phoneNumber === '/' ? '' : phoneNumber\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'base': {\n\t\t\t\tif (regexBase.test(value) === false || (!number[0] && number[1])) {\n\t\t\t\t\tproperty.valid = false\n\t\t\t\t} else {\n\t\t\t\t\tproperty.valid = true\n\t\t\t\t}\n\t\t\t\tif (!number[0] && !number[1] && !property.required) {\n\t\t\t\t\tproperty.valid = true\n\t\t\t\t}\n\t\t\t\tconst phoneNumber = `${number[0] || ''}/${value}`\n\t\t\t\tstate.order.properties[indexOfProperty].value = phoneNumber === '/' ? '' : phoneNumber\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\n\t\t\tif (!state.order.properties[indexOfProperty].value.split('/')[0] && !state.order.properties[indexOfProperty].value.split('/')[1] && !property.required) {\n\t\t\t\tproperty.valid = true\n\t\t\t}\n\t\t}\n\t}\n\n\tconst checkboxClassName = (property) => {\n\t\tif (!property?.required) return 'checkbox-property'\n\t\tif (!property?.value) return 'mandatory-checkbox checkbox-property'\n\t\treturn 'checkbox-property'\n\t}\n\n\tconst showInputByDataType = (orderProperty, value) => {\n\t\tif (orderProperty?.dataType?.split(':')[0] === 'list') {\n\t\t\tconst arrayOfChoices = (orderProperty.dataType.split(':')[1]).split(',')\n\t\t\tconst options = arrayOfChoices.map((choice) => {\n\t\t\t\tconst choiceWhitoutWhiteSpaces = choice.replace(/\\s+/g, '')\n\t\t\t\treturn {\n\t\t\t\t\tkey: choiceWhitoutWhiteSpaces,\n\t\t\t\t\ttext: choiceWhitoutWhiteSpaces,\n\t\t\t\t\tvalue: choiceWhitoutWhiteSpaces\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (!options?.length) return null\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<label>{orderProperty?.label}</label>\n\t\t\t\t\t<Grid.Column>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tclassName={(!value && orderProperty?.required) ? 'mandatory-input' : ''}\n\t\t\t\t\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tonClick={() => setSelectedProperty(orderProperty?.id)}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\tselection fluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\t\tswitch (orderProperty?.dataType) {\n\t\tcase 'number': {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<label>{orderProperty?.label}</label>\n\t\t\t\t\t<Grid.Column>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tplaceholder='number'\n\t\t\t\t\t\t\ttype='number' step='0.01'\n\t\t\t\t\t\t\tclassName={(orderProperty?.required && !value) ? 'mandatory-input string-input' : 'string-input'}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tonChange={(e) => onChangeInputValue(e.target.value, orderProperty)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\t\tcase 'date': {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<label>{orderProperty?.label}</label>\n\t\t\t\t\t<Grid.Column>\n\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\tplaceholderText='Select date'\n\t\t\t\t\t\t\tselected={+value || false}\n\t\t\t\t\t\t\tonChange={date => onChangeInputValue(moment(date).utc().valueOf(), orderProperty)}\n\t\t\t\t\t\t\tshowTimeSelect\n\t\t\t\t\t\t\tclassName={(orderProperty?.required && !value) ? 'mandatory-input' : ''}\n\t\t\t\t\t\t\tdateFormat='MMMM d, yyyy h:mm aa'\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\t\tcase 'email': {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<label>{orderProperty?.label}</label>\n\t\t\t\t\t<Grid.Column>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tclassName={((orderProperty?.required && !value) || (value && !regexEmail.test(value))) ? 'mandatory-input' : ''}\n\t\t\t\t\t\t\tplaceholder='email'\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tonChange={(e) => onChangeInputValue(e.target.value, orderProperty, 'email')}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\t\tcase 'telephone': {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<label>{orderProperty?.label}</label>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tplaceholder='prefix'\n\t\t\t\t\t\t\tclassName={`${(((!value || value === '/') && !orderProperty.required) || regexPrefix.test(value.split('/')[0])) ? '' : 'mandatory-input'} prefix-input  `}\n\t\t\t\t\t\t\tvalue={value.split('/')[0] || ''}\n\t\t\t\t\t\t\tonChange={(e) => onChangePhoneInput(e.target.value, orderProperty, 'prefix')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tplaceholder='number'\n\t\t\t\t\t\t\tclassName={`${(((!value || value === '/') && !orderProperty.required) || regexBase.test(value.split('/')[1])) ? '' : 'mandatory-input'} number-input`}\n\t\t\t\t\t\t\tvalue={value.split('/')[1] || ''}\n\t\t\t\t\t\t\tonChange={(e) => onChangePhoneInput(e.target.value, orderProperty, 'base')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\t\tcase 'checkbox': {\n\t\t\tconst indexOfProperty = state.order.properties.findIndex(prop => prop?.id === orderProperty?.id)\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<Grid.Column width={8}>\n\t\t\t\t\t\t<label>{orderProperty?.label}</label>\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tclassName={checkboxClassName(state.order.properties[indexOfProperty])}\n\t\t\t\t\t\t\tradio\n\t\t\t\t\t\t\tlabel={t('common:yes')}\n\t\t\t\t\t\t\tname='checkboxRadioGroup'\n\t\t\t\t\t\t\tvalue='true'\n\t\t\t\t\t\t\tchecked={state.order.properties[indexOfProperty].value === 'true'}\n\t\t\t\t\t\t\tonClick={() => onChangeCheckbox('true', indexOfProperty)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tclassName={checkboxClassName(state.order.properties[indexOfProperty])}\n\t\t\t\t\t\t\tradio\n\t\t\t\t\t\t\tlabel={t('common:no')}\n\t\t\t\t\t\t\tname='checkboxRadioGroup'\n\t\t\t\t\t\t\tvalue='false'\n\t\t\t\t\t\t\tchecked={state.order.properties[indexOfProperty].value === 'false'}\n\t\t\t\t\t\t\tonClick={() => onChangeCheckbox('false', indexOfProperty)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t<br />\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\t\tcase 'location': {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<label>{orderProperty?.label}</label>\n\t\t\t\t\t<Grid.Column>\n\t\t\t\t\t\t<LocationPicker\n\t\t\t\t\t\t\tclassName={(orderProperty?.required && !locationName) ? 'waypoint-location-picker mandatory-input' : 'waypoint-location-picker'}\n\t\t\t\t\t\t\tplaceholder={t('tms/map:routeSelect.search')}\n\t\t\t\t\t\t\tcallOnResultSelectWhenNoInputValue\n\t\t\t\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t\t\t\tinput={{ fluid: true }}\n\t\t\t\t\t\t\tonChange={onLocationPicked}\n\t\t\t\t\t\t\tonClick={() => setSelectedProperty(orderProperty?.id)}\n\t\t\t\t\t\t\tdefaultValue={locationName}\n\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\t\tdefault: {\n\t\t\tconst regex = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/\n\t\t\treturn (\n\t\t\t\t<Grid.Column width={8}>\n\t\t\t\t\t<label>{orderProperty?.label}</label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tplaceholder='text...'\n\t\t\t\t\t\tonChange={(e) => onChangeInputValue(e.target.value, orderProperty)}\n\t\t\t\t\t\tclassName={((orderProperty?.required && !value) || regex.test(value))\n\t\t\t\t\t\t\t? 'mandatory-input string-input' : 'string-input'}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</Grid.Column>\n\t\t\t)\n\t\t}\n\t\t}\n\t}\n\n\tconst vehicleGroupSearch = (options, searchText) => {\n\t\treturn matchSorter(options, searchText, { keys: ['text', 'tractorUnit', 'semiTrailerUnit'], threshold: rankings.CONTAINS })\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tonClose={() => { state.open = false }}\n\t\t\tonOpen={() => { state.open = true }}\n\t\t\topen={state.open}\n\t\t\tsize='small'\n\t\t\tclassName='modal-save-order'\n\t\t\ttrigger={<Button disabled={!selectedRoute?.segments?.length} onClick={() => { setVehicleGroupWarning('') }}>{t('common:buttons.save')}</Button>}\n\t\t>\n\t\t\t<Modal.Header>{t('tms/map:saveModal.title')}</Modal.Header>\n\t\t\t<Modal.Content className='nonscrollable'>\n\t\t\t\t<Form>\n\t\t\t\t\t<Form.Group widths='equal'>\n\t\t\t\t\t\t<Form.Input\n\t\t\t\t\t\t\tclassName={!state.order.name ? 'invalid-input' : ''}\n\t\t\t\t\t\t\tlabel={t('tms/map:saveModal.name')}\n\t\t\t\t\t\t\tplaceholder={t('tms/map:saveModal.name')}\n\t\t\t\t\t\t\tvalue={state.order.name}\n\t\t\t\t\t\t\tonChange={(_e, { value }) => {\n\t\t\t\t\t\t\t\tstate.order.name = value\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Form.Select\n\t\t\t\t\t\t\tlabel={t('tms/map:saveModal.source')}\n\t\t\t\t\t\t\tplaceholder={t('tms/map:saveModal.source')}\n\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t{ key: 'tracknamic', value: 'tracknamic', text: 'Tracknamic' },\n\t\t\t\t\t\t\t\t{ key: 'samsung', value: 'samsung', text: 'Samsung' },\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tvalue={state.order.source}\n\t\t\t\t\t\t\tonChange={(_e, { value }) => { state.order.source = value }}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Form.Group>\n\t\t\t\t\t<Form.Group widths='equal'>\n\t\t\t\t\t\t<Form.Input\n\t\t\t\t\t\t\tclassName={(state.order.source === 'samsung' && !state.order.externalID)\n\t\t\t\t\t\t\t\t? 'invalid-input external-id-input' : 'external-id-input'}\n\t\t\t\t\t\t\tlabel={t('tms/map:saveModal.externalID')}\n\t\t\t\t\t\t\tplaceholder={t('tms/map:saveModal.externalID')}\n\t\t\t\t\t\t\tvalue={state.order.externalID}\n\t\t\t\t\t\t\tonChange={(_e, { value }) => { state.order.externalID = value }}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Form.Field\n\t\t\t\t\t\t\tcontrol={Select}\n\t\t\t\t\t\t\tclassName='vehicle-group-dropdown'\n\t\t\t\t\t\t\tlabel={t('tms/map:saveModal.vehicleGroup')}\n\t\t\t\t\t\t\tplaceholder={t('tms/map:saveModal.vehicleGroup')}\n\t\t\t\t\t\t\toptions={(mappedVehicleGroups || []).map(vehicleGroup => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tkey: get(vehicleGroup, 'raw.id'),\n\t\t\t\t\t\t\t\t\tvalue: get(vehicleGroup, 'raw.id'),\n\t\t\t\t\t\t\t\t\ttext: get(vehicleGroup, 'raw.name'),\n\t\t\t\t\t\t\t\t\ttractorUnit: get(vehicleGroup, 'raw.tractorUnit'),\n\t\t\t\t\t\t\t\t\tsemiTrailerUnit: get(vehicleGroup, 'raw.semiTrailerUnit')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tvalue={state.order.vehicleGroupID}\n\t\t\t\t\t\t\tonChange={(_e, { value }) => { state.order.vehicleGroupID = value }}\n\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\tselection\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\tsearch={vehicleGroupSearch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className='add-vehicle-group-div'>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={showVehicleGroupForm}\n\t\t\t\t\t\t\t\tclassName='tracknamic '\n\t\t\t\t\t\t\t\tonClick={() => setShowVehicleGroupForm(true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('vehicle-groups:actions.add')}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Form.Group>\n\n\t\t\t\t\t{showVehicleGroupForm &&\n\t\t\t\t\t\t<VehicleGroupForm\n\t\t\t\t\t\t\ttractorUnits={filter(vehicles, vehicle => vehicle.raw?.type === 'truck')}\n\t\t\t\t\t\t\tsemitrailers={filter(vehicles, vehicle => vehicle.raw?.type === 'semi-trailer')}\n\t\t\t\t\t\t\tdrivers={filter(users, user => user.raw?.type === 'driver')}\n\t\t\t\t\t\t\tsetShowVehicleGroupForm={setShowVehicleGroupForm}\n\t\t\t\t\t\t\tsetSelectedVehicleGroup={setSelectedVehicleGroup}\n\t\t\t\t\t\t/>}\n\n\t\t\t\t\t<Grid.Row className='maintain-route-row'>\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tlabel={t('tms/map:saveModal.checkbox.maintainRouteLabel')}\n\t\t\t\t\t\t\tchecked={maintainRoute}\n\t\t\t\t\t\t\tonChange={() => setMaintainRoute(!maintainRoute)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t{vehicleGroupWarning &&\n\t\t\t\t\t\t<Grid className='duration-grid'>\n\t\t\t\t\t\t\t<Grid.Row> <b>{vehicleGroupWarning}</b> </Grid.Row>\n\t\t\t\t\t\t</Grid>}\n\t\t\t\t\t<Form.Select\n\t\t\t\t\t\tlabel={t('tms/map:saveModal.client')}\n\t\t\t\t\t\tplaceholder={t('tms/map:saveModal.client')}\n\t\t\t\t\t\toptions={(clients || []).map(client => {\n\t\t\t\t\t\t\treturn { key: get(client, 'raw.id'), value: get(client, 'raw.id'), text: get(client, 'raw.name') }\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tvalue={state.order.clientID}\n\t\t\t\t\t\tonChange={(_e, { value }) => { state.order.clientID = value }}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\tsearch\n\t\t\t\t\t\tclearable\n\t\t\t\t\t/>\n\t\t\t\t\t{state.order.properties.filter(prop => prop.orderType === 'transport')?.map((property) => {\n\t\t\t\t\t\tconst index = state.order.properties.findIndex(prop => prop.id === property.id)\n\t\t\t\t\t\treturn showInputByDataType(property, state.order.properties[index].value)\n\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t\t<Grid className='duration-grid'>\n\t\t\t\t\t\t<Grid.Row> <b>{t('tms/map:saveModal.estimatedRouteDuration')}: {DateUtils.formatDurationByDuration(selectedRoute.duration * 1000)}</b> </Grid.Row>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<br />\n\t\t\t\t\t<Grid columns={2}>\n\t\t\t\t\t\t<span>{t('tms/map:saveModal.loading')}: <b>{address[0].location}</b> </span>\n\t\t\t\t\t\t<Grid.Row>\n\t\t\t\t\t\t\t<Grid.Column>\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\tisClearable\n\t\t\t\t\t\t\t\t\tselected={dateState.startDateForLoading}\n\t\t\t\t\t\t\t\t\tonChange={date => onChangeStartDate(date)}\n\t\t\t\t\t\t\t\t\tselectsStart\n\t\t\t\t\t\t\t\t\tshowTimeSelect\n\t\t\t\t\t\t\t\t\ttimeFormat='p'\n\t\t\t\t\t\t\t\t\ttimeIntervals={60}\n\t\t\t\t\t\t\t\t\tdateFormat='Pp'\n\t\t\t\t\t\t\t\t\tstartDate={dateState.startDateForLoading}\n\t\t\t\t\t\t\t\t\tendDate={dateState.endDateForLoading}\n\t\t\t\t\t\t\t\t\tplaceholderText={t('tms/map:saveModal.unlimited')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t<Grid.Column className={!dateState.endDateForLoading ? 'invalid-input' : ''}>\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\tisClearable\n\t\t\t\t\t\t\t\t\tselected={dateState.endDateForLoading}\n\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\tdate => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeEndDate(date)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tshowTimeSelect\n\t\t\t\t\t\t\t\t\tselectsEnd\n\t\t\t\t\t\t\t\t\ttimeFormat='p'\n\t\t\t\t\t\t\t\t\ttimeIntervals={60}\n\t\t\t\t\t\t\t\t\tdateFormat='Pp'\n\t\t\t\t\t\t\t\t\tstartDate={dateState.startDateForLoading}\n\t\t\t\t\t\t\t\t\tendDate={dateState.endDateForLoading}\n\t\t\t\t\t\t\t\t\tminDate={dateState.startDateForLoading} // IMPORTANT\n\t\t\t\t\t\t\t\t\tminTime={moment(dateState.startDateForLoading).format('YYYY-MM-DD') === moment(dateState.endDateForLoading).format('YYYY-MM-DD') ? setHours(setMinutes(moment(dateState.startDateForLoading).valueOf(), 0), moment(dateState.startDateForLoading).hour()) : ''}\n\t\t\t\t\t\t\t\t\tmaxTime={moment(dateState.startDateForLoading).format('YYYY-MM-DD') === moment(dateState.endDateForLoading).format('YYYY-MM-DD') ? setHours(setMinutes(moment(dateState.startDateForLoading).valueOf(), 30), 23) : ''}\n\n\t\t\t\t\t\t\t\t\tplaceholderText={t('tms/map:saveModal.unlimited')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid columns={2}>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span>{t('tms/map:saveModal.unloading')}: <b>{address[1].location}</b> </span>\n\t\t\t\t\t\t<Grid.Row>\n\t\t\t\t\t\t\t<Grid.Column className={!dateState.startDateForArrival ? 'invalid-input' : ''}>\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\tisClearable\n\t\t\t\t\t\t\t\t\tselected={dateState.startDateForArrival}\n\t\t\t\t\t\t\t\t\tonChange={date => {\n\t\t\t\t\t\t\t\t\t\tonChangeStartDateArrival(date)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tselectsStart\n\t\t\t\t\t\t\t\t\tshowTimeSelect\n\t\t\t\t\t\t\t\t\ttimeFormat='p'\n\t\t\t\t\t\t\t\t\ttimeIntervals={60}\n\t\t\t\t\t\t\t\t\tdateFormat='Pp'\n\t\t\t\t\t\t\t\t\tstartDate={dateState.startDateForArrival}\n\t\t\t\t\t\t\t\t\tendDate={dateState.endDateForArrival}\n\t\t\t\t\t\t\t\t\tminDate={dateState.endDateForLoading} // IMPORTANT\n\t\t\t\t\t\t\t\t\tplaceholderText={t('tms/map:saveModal.unlimited')}\n\t\t\t\t\t\t\t\t\tminTime={moment(dateState.startDateForArrival).format('YYYY-MM-DD') === moment(dateState.endDateForArrival).format('YYYY-MM-DD') ? setHours(setMinutes(moment(dateState.startDateForArrival).valueOf(), 0), moment(dateState.startDateForArrival).hour()) : ''}\n\t\t\t\t\t\t\t\t\tmaxTime={moment(dateState.startDateForArrival).format('YYYY-MM-DD') === moment(dateState.endDateForArrival).format('YYYY-MM-DD') ? setHours(setMinutes(moment(dateState.startDateForArrival).valueOf(), 30), 23) : ''}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t<Grid.Column className={!dateState.endDateForArrival ? 'invalid-input' : ''}>\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\tisClearable\n\t\t\t\t\t\t\t\t\tselected={dateState.endDateForArrival}\n\t\t\t\t\t\t\t\t\tonChange={date => {\n\t\t\t\t\t\t\t\t\t\tonChangeEndDateArrival(date)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tshowTimeSelect\n\t\t\t\t\t\t\t\t\tselectsEnd\n\t\t\t\t\t\t\t\t\ttimeFormat='p'\n\t\t\t\t\t\t\t\t\ttimeIntervals={60}\n\t\t\t\t\t\t\t\t\tdateFormat='Pp'\n\t\t\t\t\t\t\t\t\tstartDate={dateState.startDateForArrival}\n\t\t\t\t\t\t\t\t\tendDate={dateState.endDateForArrival}\n\t\t\t\t\t\t\t\t\tminDate={dateState.startDateForArrival} // IMPORTANT\n\t\t\t\t\t\t\t\t\tminTime={moment(dateState.startDateForArrival).format('YYYY-MM-DD') === moment(dateState.endDateForArrival).format('YYYY-MM-DD') ? setHours(setMinutes(moment(dateState.startDateForArrival).valueOf(), 0), moment(dateState.startDateForArrival).hour()) : ''}\n\t\t\t\t\t\t\t\t\tmaxTime={moment(dateState.startDateForArrival).format('YYYY-MM-DD') === moment(dateState.endDateForArrival).format('YYYY-MM-DD') ? setHours(setMinutes(moment(dateState.startDateForArrival).valueOf(), 30), 23) : ''}\n\t\t\t\t\t\t\t\t\tplaceholderText={t('tms/map:saveModal.unlimited')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<br />\n\t\t\t\t\t{state.order.properties.filter(prop => prop.orderType === 'freight')?.map((property) => {\n\t\t\t\t\t\tconst index = state.order.properties.findIndex(prop => prop.id === property.id)\n\t\t\t\t\t\treturn showInputByDataType(property, state.order.properties[index].value)\n\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t</Form>\n\t\t\t</Modal.Content>\n\t\t\t<Modal.Actions>\n\t\t\t\t<Button\n\t\t\t\t\tcolor='black'\n\t\t\t\t\tonClick={() => { state.open = false }}\n\t\t\t\t>\n\t\t\t\t\t{t('common:buttons.cancel')}\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\tdisabled={disableSaveBtn()}\n\t\t\t\t\tclassName='tracknamic'\n\t\t\t\t\tonClick={save}\n\t\t\t\t>\n\t\t\t\t\t{t('common:buttons.save')}\n\t\t\t\t</Button>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nexport default SaveOrderModal\n","import React from 'react'\nimport { Form, Button, Grid, Select } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { useReactive } from 'ahooks'\nimport { maxBy } from 'lodash'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\nimport useErrorHandler from '../../../hooks/useErrorHandler'\nimport toast from 'react-hot-toast'\nimport api from '../../../services/api'\n\nconst VehicleGroupForm = ({\n\ttractorUnits,\n\tsemitrailers,\n\tdrivers,\n\tsetShowVehicleGroupForm,\n\tsetSelectedVehicleGroup,\n\t...props\n}) => {\n\tconst vehicleGroupBody = useReactive({\n\t\tvehicleGroup: {\n\t\t\tdrivers: [],\n\t\t\tendTime: null,\n\t\t\tname: '',\n\t\t\tsource: null,\n\t\t\tstartTime: null,\n\t\t\ttype: 'manual',\n\t\t\tvehicles: []\n\t\t}\n\t})\n\n\tconst addVehicleGroup = useStoreActions(actions => actions.vehicleGroups.add)\n\n\tconst { t } = useTranslation(['common', 'vehicle-groups', 'tms/map'])\n\n\tuseErrorHandler()\n\n\tconst disableSaveBtn = () => {\n\t\tif (!vehicleGroupBody.vehicleGroup.name) return true\n\t\tif (!vehicleGroupBody.vehicleGroup.drivers[0] && vehicleGroupBody.vehicleGroup?.drivers[1]) return true\n\t\tif (!vehicleGroupBody.vehicleGroup.vehicles[0] && !vehicleGroupBody.vehicleGroup.vehicles[1] &&\n\t\t\t!vehicleGroupBody.vehicleGroup.drivers[0] && !vehicleGroupBody.vehicleGroup?.drivers[1]) return true\n\t\treturn false\n\t}\n\n\tconst saveVehicleGroup = () => {\n\t\tconst body = {\n\t\t\tdrivers: (!vehicleGroupBody.vehicleGroup.drivers[0] && !vehicleGroupBody.vehicleGroup.drivers[1])\n\t\t\t\t? [] : vehicleGroupBody.vehicleGroup.drivers,\n\t\t\tendTime: null,\n\t\t\tname: vehicleGroupBody.vehicleGroup.name,\n\t\t\tsource: null,\n\t\t\tstartTime: null,\n\t\t\ttype: 'manual',\n\t\t\tvehicles: (!vehicleGroupBody.vehicleGroup.vehicles[0] && !vehicleGroupBody.vehicleGroup.vehicles[1])\n\t\t\t\t? [] : vehicleGroupBody.vehicleGroup.vehicles\n\t\t}\n\t\taddVehicleGroup(body)\n\t\t\t.then((res) => {\n\t\t\t\tsetSelectedVehicleGroup(res.id)\n\t\t\t\tvehicleGroupBody.vehicleGroup.drivers = []\n\t\t\t\tvehicleGroupBody.vehicleGroup.vehicles = []\n\t\t\t\tvehicleGroupBody.vehicleGroup.name = ''\n\t\t\t\tsetShowVehicleGroupForm(false)\n\t\t\t\ttoast.success(`${t('vehicle-groups:messages.vehicleGroupCreation')}`)\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tapi.get('tms/vehicle-groups?%24where%5Btype%5D=manual')\n\t\t\t})\n\t}\n\n\treturn (\n\t\t<div className='vehicle-group-creation-form'>\n\n\t\t\t<div className='header'>{t('vehicle-groups:header.createHeader')}</div>\n\t\t\t<hr />\n\t\t\t<Form.Group widths='equal'>\n\t\t\t\t<Form.Input\n\t\t\t\t\tclassName={!vehicleGroupBody.vehicleGroup.name ? 'invalid-input' : ''}\n\t\t\t\t\tlabel={t('vehicle-groups:header.name')}\n\t\t\t\t\tplaceholder={t('vehicle-groups:header.name')}\n\t\t\t\t\tvalue={vehicleGroupBody.vehicleGroup.name}\n\t\t\t\t\tonChange={(_e, { value }) => {\n\t\t\t\t\t\tvehicleGroupBody.vehicleGroup.name = value\n\t\t\t\t\t}}\n\t\t\t\t\tfluid\n\t\t\t\t/>\n\t\t\t</Form.Group>\n\n\t\t\t<Form.Group widths='equal'>\n\t\t\t\t<Form.Field\n\t\t\t\t\tcontrol={Select}\n\t\t\t\t\tlabel={t('vehicle-groups:header.tractorUnit')}\n\t\t\t\t\tplaceholder={t('common:generalDropdown.placeholder')}\n\t\t\t\t\toptions={(tractorUnits || []).map(tractorUnit => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tkey: tractorUnit?.raw?.id,\n\t\t\t\t\t\t\tvalue: tractorUnit?.raw?.id,\n\t\t\t\t\t\t\ttext: tractorUnit?.raw?.licensePlate,\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\tvalue={vehicleGroupBody.vehicleGroup.vehicles[0]}\n\t\t\t\t\tonChange={(_e, { value }) => { vehicleGroupBody.vehicleGroup.vehicles[0] = value || null }}\n\t\t\t\t\tclearable\n\t\t\t\t\tselection\n\t\t\t\t\tfluid\n\t\t\t\t\tsearch\n\t\t\t\t/>\n\t\t\t\t<Form.Field\n\t\t\t\t\tcontrol={Select}\n\t\t\t\t\tlabel={t('vehicle-groups:header.semitrailer')}\n\t\t\t\t\tplaceholder={t('common:generalDropdown.placeholder')}\n\t\t\t\t\toptions={(semitrailers || []).map(semitrailer => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tkey: semitrailer?.raw?.id,\n\t\t\t\t\t\t\tvalue: semitrailer?.raw?.id,\n\t\t\t\t\t\t\ttext: semitrailer?.raw?.licensePlate,\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\tvalue={vehicleGroupBody.vehicleGroup.vehicles[1]}\n\t\t\t\t\tonChange={(_e, { value }) => { vehicleGroupBody.vehicleGroup.vehicles[1] = value || null }}\n\t\t\t\t\tclearable\n\t\t\t\t\tselection\n\t\t\t\t\tfluid\n\t\t\t\t\tsearch\n\t\t\t\t/>\n\t\t\t</Form.Group>\n\n\t\t\t<Form.Group widths='equal'>\n\t\t\t\t<Form.Field\n\t\t\t\t\tcontrol={Select}\n\t\t\t\t\tclassName={(!vehicleGroupBody.vehicleGroup?.drivers[0] && vehicleGroupBody.vehicleGroup.drivers[1])\n\t\t\t\t\t\t? 'invalid-input' : ''}\n\t\t\t\t\tlabel={t('vehicle-groups:header.driver')}\n\t\t\t\t\tplaceholder={t('common:generalDropdown.placeholder')}\n\t\t\t\t\toptions={(drivers || []).map(driver => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tkey: driver?.raw?.id,\n\t\t\t\t\t\t\tvalue: driver?.raw?.id,\n\t\t\t\t\t\t\ttext: `${driver?.raw?.firstName} ${driver?.raw?.lastName}`,\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\tvalue={vehicleGroupBody.vehicleGroup.drivers[0]}\n\t\t\t\t\tonChange={(_e, { value }) => { vehicleGroupBody.vehicleGroup.drivers[0] = value || null }}\n\t\t\t\t\tclearable\n\t\t\t\t\tselection\n\t\t\t\t\tfluid\n\t\t\t\t\tsearch\n\t\t\t\t/>\n\t\t\t\t<Form.Field\n\t\t\t\t\tcontrol={Select}\n\t\t\t\t\tlabel={t('vehicle-groups:header.codriver')}\n\t\t\t\t\tplaceholder={t('common:generalDropdown.placeholder')}\n\t\t\t\t\toptions={(drivers || []).map(driver => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tkey: driver?.raw?.id,\n\t\t\t\t\t\t\tvalue: driver?.raw?.id,\n\t\t\t\t\t\t\ttext: `${driver?.raw?.firstName} ${driver?.raw?.lastName}`,\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\tvalue={vehicleGroupBody.vehicleGroup.drivers[1]}\n\t\t\t\t\tonChange={(_e, { value }) => { vehicleGroupBody.vehicleGroup.drivers[1] = value || null }}\n\t\t\t\t\tclearable\n\t\t\t\t\tselection\n\t\t\t\t\tfluid\n\t\t\t\t\tsearch\n\t\t\t\t/>\n\t\t\t</Form.Group>\n\n\t\t\t<Grid>\n\t\t\t\t<Grid.Row columns={2}>\n\t\t\t\t\t<Grid.Column width={3}>\n\t\t\t\t\t\t<Button onClick={() => { setShowVehicleGroupForm(false) }}>\n\t\t\t\t\t\t\t{t('common:buttons.cancel')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t<Grid.Column width={3}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdisabled={disableSaveBtn()}\n\t\t\t\t\t\t\tclassName='tracknamic'\n\t\t\t\t\t\t\tonClick={() => { saveVehicleGroup() }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('common:buttons.save')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</Grid.Row>\n\t\t\t</Grid>\n\t\t\t<hr />\n\t\t</div>\n\n\t)\n}\n\nexport default VehicleGroupForm\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\n\nconst DebouncedInput = ({ value: initialValue, onChange, debounce = 250, ...props }) => {\n\t// A typical debounced input react component\n\tconst [value, setValue] = useState(initialValue)\n\n\tuseEffect(() => {\n\t\tsetValue(initialValue)\n\t}, [initialValue])\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tonChange(value)\n\t\t}, debounce)\n\n\t\treturn () => clearTimeout(timeout)\n\t}, [value])\n\n\treturn (\n\t\t<input\n\t\t\tvalue={value}\n\t\t\tonChange={e => setValue(e.target.value)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nDebouncedInput.propTypes = {\n\tvalue: PropTypes.string,\n\tonChange: PropTypes.func,\n\tdebounce: PropTypes.number,\n}\n\nexport default DebouncedInput\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport DebouncedInput from './DebouncedInput'\n\nconst Filter = ({ column }) => {\n\treturn (\n\t\t<DebouncedInput\n\t\t\tonChange={v => column.setFilterValue(v)}\n\t\t\tplaceholder='Search...'\n\t\t\tstyle={{ padding: '2px 4px', width: '100%' }}\n\t\t/>\n\t)\n}\n\nFilter.propTypes = {\n\tcolumn: PropTypes.object,\n}\n\nexport default Filter\n","import PropTypes from 'prop-types'\nimport React, { useRef } from 'react'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { flexRender, getCoreRowModel, getSortedRowModel, getFilteredRowModel, useReactTable } from '@tanstack/react-table'\n\nimport Filter from './Filter'\n\nconst RTable = ({ columns, data, searchTxt, ...props }) => {\n\tconst refTableContainer = useRef()\n\n\tconst table = useReactTable({\n\t\tdata,\n\t\tcolumns,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tglobalFilterFn: 'includesString',\n\t\t...props,\n\t})\n\n\tconst { rows } = table.getRowModel()\n\n\tconst rowVirtualizer = useVirtualizer({\n\t\tcount: rows.length,\n\t\testimateSize: () => 34, // estimate row height for accurate scrollbar dragging\n\t\tgetScrollElement: () => refTableContainer?.current?.parentNode,\n\t\t// measure dynamic row height, except in firefox because it measures table border height incorrectly\n\t\tmeasureElement:\n\t\t\ttypeof window !== 'undefined' &&\n\t\t\t\tnavigator.userAgent.indexOf('Firefox') === -1\n\t\t\t\t? element => element?.getBoundingClientRect().height\n\t\t\t\t: undefined,\n\t\toverscan: 5,\n\t})\n\n\treturn (\n\t\t<table ref={refTableContainer} className='ui celled inverted selectable table' style={{ minWidth: '100%' }}>\n\t\t\t<thead style={{\n\t\t\t\tdisplay: 'grid',\n\t\t\t\tposition: 'sticky',\n\t\t\t\ttop: 0,\n\t\t\t\tzIndex: 1,\n\t\t\t}}\n\t\t\t>\n\t\t\t\t{table.getHeaderGroups().map(headerGroup => (\n\t\t\t\t\t<tr key={headerGroup?.id} style={{ display: 'flex', width: '100%' }}>\n\t\t\t\t\t\t{headerGroup?.headers?.map(header => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={header?.id}\n\t\t\t\t\t\t\t\t\tcolSpan={header?.colSpan}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tdisplay: 'grid',\n\t\t\t\t\t\t\t\t\t\twidth: header.getSize() + 22,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{header?.isPlaceholder ? null : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'grid',\n\t\t\t\t\t\t\t\t\t\t\t\t\tgridTemplateColumn: '1fr auto',\n\t\t\t\t\t\t\t\t\t\t\t\t\tgridGap: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\t// whiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={header?.column.getToggleSortingHandler()}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={header?.column.getCanSort() ? 'cursor-pointer select-none' : ''}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{flexRender(header?.column?.columnDef?.header, header?.getContext())}\n\t\t\t\t\t\t\t\t\t\t\t\t{{ asc: '🔼', desc: '🔽' }[header?.column?.getIsSorted()] ?? null}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{header?.column?.getCanFilter() ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div><Filter column={header?.column} /></div>\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</tr>\n\t\t\t\t))}\n\t\t\t</thead>\n\t\t\t<tbody style={{\n\t\t\t\tdisplay: 'grid',\n\t\t\t\theight: `${rowVirtualizer.getTotalSize()}px`, // tells scrollbar how big the\n\t\t\t\tposition: 'relative', // needed for absolute positioning of rows\n\t\t\t}}\n\t\t\t>\n\t\t\t\t{rowVirtualizer.getVirtualItems().map(virtualRow => {\n\t\t\t\t\tconst row = rows[virtualRow.index]\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\tclassName={`hasState ${row?.original?.statusColor}`}\n\t\t\t\t\t\t\tkey={row?.id}\n\t\t\t\t\t\t\tref={node => rowVirtualizer.measureElement(node)}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\ttransform: `translateY(${virtualRow.start}px)`, // this should always be a `style` as it changes on scroll\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{row?.getVisibleCells()?.map(cell => (\n\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\twidth: cell.column.getSize() + 22,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className='ellipsis' title={cell.getValue()}>\n\t\t\t\t\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</tbody>\n\t\t</table>\n\t)\n}\n\nRTable.propTypes = {\n\tcolumns: PropTypes.array,\n\tdata: PropTypes.array,\n\tsearchTxt: PropTypes.string,\n}\n\nexport default RTable\n","import React, { useState, useEffect, useMemo } from 'react'\nimport { List, Icon, Card, Grid } from 'semantic-ui-react'\nimport DateUtils from '../../utils/date'\nimport { useTranslation } from 'react-i18next'\nimport { sumBy } from 'lodash'\n\nconst RouteCard = ({\n\tselectedRoute,\n\tactive,\n\ttype\n}) => {\n\tconst [expanded, setExpanded] = useState(false)\n\tconst [expandedCountryArray, setExpandedCountryArray] = useState([])\n\n\tconst { t } = useTranslation(['tms/map'])\n\n\tconst tollByCountries = useMemo(() => {\n\t\tconst tolls = selectedRoute?.toll?.sections || []\n\t\tif (!tolls.length) return tolls\n\n\t\tconst reducedTolls = tolls.reduce((countries, currentValue) => {\n\t\t\tconst countryIndex = countries.findIndex(item => item.country === currentValue.country)\n\t\t\tif (countryIndex === -1) {\n\t\t\t\tcountries.push({\n\t\t\t\t\tcountry: currentValue.country,\n\t\t\t\t\ttotal: +currentValue.cost?.amount || 0,\n\t\t\t\t\tsections: [currentValue] || []\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tcountries[countryIndex].sections.push(currentValue)\n\t\t\t\tcountries[countryIndex] = {\n\t\t\t\t\t...countries[countryIndex],\n\t\t\t\t\ttotal: countries[countryIndex].total + (+currentValue.cost?.amount || 0),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn countries\n\t\t}, [])\n\t\treturn reducedTolls\n\t}, [selectedRoute])\n\n\tuseEffect(() => {\n\t\tif (!tollByCountries?.length) return\n\t\tconst tempExpendedCountryArray = []\n\t\tfor (const item of tollByCountries) {\n\t\t\ttempExpendedCountryArray.push({\n\t\t\t\tcountry: item?.country,\n\t\t\t\texpanded: false\n\t\t\t})\n\t\t}\n\t\tsetExpandedCountryArray(tempExpendedCountryArray)\n\t}, [tollByCountries])\n\n\tconst expandCountry = (countryTag) => {\n\t\tif (!expandedCountryArray?.length) return\n\t\tconst tempExpandedCountryArray = JSON.parse(JSON.stringify(expandedCountryArray))\n\t\tconst elementIndex = tempExpandedCountryArray.findIndex(item => item?.country === countryTag)\n\t\ttempExpandedCountryArray[elementIndex].expanded = !tempExpandedCountryArray[elementIndex]?.expanded\n\t\tsetExpandedCountryArray(tempExpandedCountryArray)\n\t}\n\n\tconst calculateTollCosts = () => {\n\t\tif (!tollByCountries?.length) return 0\n\t\treturn sumBy(tollByCountries, 'total').toFixed(2)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Card\n\t\t\t\tclassName={`inverted ${type} ${active ? 'active' : ''}`}\n\t\t\t>\n\t\t\t\t<Card.Content>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname={expanded ? 'chevron up' : 'chevron down'}\n\t\t\t\t\t\tstyle={{ float: 'right' }}\n\t\t\t\t\t\tcolor='grey'\n\t\t\t\t\t\tonClick={() => setExpanded(!expanded)}\n\t\t\t\t\t\tinverted\n\t\t\t\t\t/>\n\t\t\t\t\t<Card.Header>{t(`tms/map:routeDetails.header.routeTypes.${type}`)}</Card.Header>\n\t\t\t\t\t<Card.Description>\n\t\t\t\t\t\t<List horizontal divided inverted size='mini'>\n\t\t\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t\t\t<List.Content>\n\t\t\t\t\t\t\t\t\t<List.Header>\n\t\t\t\t\t\t\t\t\t\t<Icon name='map marker alternate' />\n\t\t\t\t\t\t\t\t\t\t{selectedRoute.distance} km\n\t\t\t\t\t\t\t\t\t</List.Header>\n\t\t\t\t\t\t\t\t</List.Content>\n\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t\t\t<List.Content>\n\t\t\t\t\t\t\t\t\t<List.Header>\n\t\t\t\t\t\t\t\t\t\t<Icon name='clock outline' />\n\t\t\t\t\t\t\t\t\t\t{DateUtils.formatDurationByDuration(selectedRoute.duration * 1000)}\n\t\t\t\t\t\t\t\t\t</List.Header>\n\t\t\t\t\t\t\t\t</List.Content>\n\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t\t\t<List.Content>\n\t\t\t\t\t\t\t\t\t<List.Header>\n\t\t\t\t\t\t\t\t\t\t<Icon name='euro sign' />\n\t\t\t\t\t\t\t\t\t\t{selectedRoute.cost.total}\n\t\t\t\t\t\t\t\t\t</List.Header>\n\t\t\t\t\t\t\t\t</List.Content>\n\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t</List>\n\t\t\t\t\t\t{expanded && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<h4 className='card-header'>{t('tms/map:routeDetails.cost')}</h4>\n\t\t\t\t\t\t\t\t\t<div className='event-details-container'>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.total')}: `}<b>{selectedRoute.cost.total}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.vehicle')}: `}<b>{selectedRoute.cost.vehicle}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.driver')}: `}<b>{selectedRoute.cost.driver}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.toll')}: `}<b>{calculateTollCosts()}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.ferry')}: `}<b>{selectedRoute.cost.boat}</b></p>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<h4 className='card-header tolls-header'>{t('tms/map:routeDetails.tolls')}</h4>\n\t\t\t\t\t\t\t\t\t{tollByCountries?.length && tollByCountries.map((item, index) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid key={index}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Row columns={3}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='event-details-header'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name='font awesome flag' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h4>{item.country}</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={10}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/map:routeDetails.total')}: <b>{item.total.toFixed(2)}</b></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={2}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname={expandedCountryArray[index]?.expanded ? 'chevron up' : 'chevron down'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ float: 'right' }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor='grey'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => expandCountry(item.country)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinverted\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t{expandedCountryArray[index]?.expanded && (item?.sections || []).map((section, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='event-details-container' key={index}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.road')}: `}<b>{section.name}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.roadType')}: `}<b>{section.road_type}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.totalCost')}: `}<b>{section.cost.amount.toFixed(2)} {section.cost.currency}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.paymentMethods')}: `}<b>{section.paymentMethods.map(method => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn method.replaceAll('_', ' ')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</b>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<h4 className='card-header'>{t('tms/map:routeDetails.events')}</h4>\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t(selectedRoute.events || []).map((event, index) => {\n\t\t\t\t\t\t\t\t\t\t\tif (event.type === 'COUNTRY_ENTER') {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='event-details-container'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='event-details-header'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name='spy' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h4>{t('tms/map:routeDetails.border')}</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.border')}: `}<b>{event.name}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.name')}: `}<b>{`${event.lat}, ${event.lng}`}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t} else if (event.type === 'BOAT_ENTER') {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='event-details-container'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='event-details-header'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name='ship' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h4>{t('tms/map:routeDetails.ferry')}</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.name')}: `}<b>{event.name}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.location')}: `}<b>{`${event.lat}, ${event.lng}`}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.cost')}: `}<b>{`${event.cost}`}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t} else if (event.type === 'TRAIN_ENTER') {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='event-details-container'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='event-details-header'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name='train' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h4>{t('tms/map:routeDetails.train')}</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.name')}: `}<b>{event.name}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{`${t('tms/map:routeDetails.location')}: `}<b>{`${event.lat}, ${event.lng}`}</b></p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Card.Description>\n\t\t\t\t</Card.Content>\n\t\t\t</Card>\n\t\t</>\n\t)\n}\n\nexport default RouteCard\n","import React, { useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { find } from 'lodash'\nimport Select from 'react-select'\n\nconst customTheme = theme => ({\n\t...theme,\n\tborderRadius: 0,\n\tcolors: {\n\t\t...theme.colors,\n\t\tprimary25: '#2b2b2b', // hover\n\t\tneutral0: '#4b4b4d', // bg\n\t\tneutral50: '#b0b0b0', // placeholder\n\t\tneutral80: 'white', // selected hover chevron when open\n\t\t// ------------------\n\t\t// primary: '#2684FF', // Primary color for selected item\n\t\t// primary75: 'red',\n\t\t// primary50: 'blue',\n\t\t// danger: '#DE350B',\n\t\t// dangerLight: '#FFBDAD',\n\t\t// neutral5: 'green',\n\t\t// neutral10: 'red',\n\t\t// neutral20: 'transparent', // border + chevron\n\t\t// neutral30: 'red', // hover border\n\t\t// neutral40: 'green', // hover chevron\n\t\t// neutral60: 'blue', // expanded border and chevron color\n\t\t// neutral70: 'yellow',\n\t\t// neutral90: 'black',\n\t},\n})\n\nconst SelectDC = ({ options, value, onChange, forceValue, ...props }) => {\n\tconst selectedOption = useMemo(() => find(options, option => option.value == value) || null, [options, value]) // eslint-disable-line eqeqeq\n\n\treturn (\n\t\t<Select\n\t\t\toptions={options}\n\t\t\tvalue={forceValue ? value : selectedOption}\n\t\t\tonChange={i => onChange(i?.value, i)}\n\t\t\tclassName='dc-select'\n\t\t\tisSearchable\n\t\t\tisClearable\n\t\t\ttheme={customTheme}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nSelectDC.propTypes = {\n\toptions: PropTypes.array,\n\tvalue: PropTypes.string,\n\tforceValue: PropTypes.bool,\n\tonChange: PropTypes.func,\n}\n\nexport default SelectDC\n","import React, { useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon } from 'semantic-ui-react'\n\nconst Spinner = ({ size, style: _style = {} }) => {\n\tconst style = useMemo(() => {\n\t\tconst obj = { display: 'grid', placeItems: 'center', ..._style }\n\n\t\tif (size) obj.padding = '30px'\n\n\t\treturn obj\n\t}, [_style, size])\n\n\treturn (\n\t\t<div style={style}>\n\t\t\t<Icon loading name='spinner' size={size} />\n\t\t</div>\n\t)\n}\n\nSpinner.propTypes = {\n\tsize: PropTypes.string,\n\tstyle: PropTypes.object,\n}\n\nexport default Spinner\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ActionsCell ({ cell, onSave, onRemove, makeArrayOfInputs = null, isDeletable = true }) {\n\tif (get(cell.row, 'state.isEditing')) {\n\t\tconst cancelRow = () => {\n\t\t\tif (!cell?.row?.original?.raw?.id && onRemove) { // if not id remove item\n\t\t\t\tonRemove(cell.row.original)\n\t\t\t}\n\t\t\tfinishEditing()\n\t\t}\n\t\tconst finishEditing = () => {\n\t\t\tcell.row.setState({ isEditing: false, edited: {} })\n\t\t\tif (makeArrayOfInputs) { makeArrayOfInputs() }\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Icon name='check' onClick={() => onSave ? onSave(cell.row.state.edited, cell.row.original, finishEditing) : null} />\n\t\t\t\t<Icon name='close' onClick={cancelRow} />\n\t\t\t</>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Icon name='edit outline' onClick={() => cell.row.setState({ isEditing: true, edited: {} })} />\n\t\t\t{isDeletable && <Icon name='trash alternate outline' onClick={() => onRemove ? onRemove(cell.row.original) : null} />}\n\t\t</>\n\t)\n}\n\nActionsCell.propTypes = {\n\tcell: PropTypes.object.isRequired,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tmakeArrayOfInputs: PropTypes.func,\n\tisDeletable: PropTypes.boolean,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ActionsCellForContactPersons ({ cell, onSave, onRemove, makeArrayOfInputs = null, isDeletable = true }) {\n\tif (get(cell.row, 'state.isEditing')) {\n\t\tconst cancelRow = () => {\n\t\t\tif (cell?.row?.original?.isEditing) {\n\t\t\t\tonRemove(cell?.row?.index)\n\t\t\t}\n\t\t\tfinishEditing()\n\t\t}\n\t\tconst finishEditing = () => {\n\t\t\tcell.row.setState({ isEditing: false, edited: {} })\n\t\t\tif (makeArrayOfInputs) { makeArrayOfInputs() }\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Icon name='check' onClick={() => onSave ? onSave(cell.row.state.edited, cell?.row?.index, finishEditing,) : null} />\n\t\t\t\t<Icon name='close' onClick={cancelRow} />\n\t\t\t</>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Icon name='edit outline' onClick={() => cell.row.setState({ isEditing: true, edited: {} })} />\n\t\t\t{isDeletable && <Icon name='trash alternate outline' onClick={() => onRemove ? onRemove(cell.row?.index) : null} />}\n\t\t</>\n\t)\n}\n\nActionsCellForContactPersons.propTypes = {\n\tcell: PropTypes.object.isRequired,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tmakeArrayOfInputs: PropTypes.func,\n\tisDeletable: PropTypes.boolean,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon } from 'semantic-ui-react'\nimport { get, isEmpty } from 'lodash'\n\nexport default function ActionsCellForTmsClients ({ cell, onSave, onRemove, editable, setEditable, makeArrayOfInputs = null, clientProperties, validObject, disableSaveButton }) {\n\tconst validRow = () => {\n\t\tconst propertiesInitialValues = cell.row.original.raw?.properties || []\n\t\tconst objectOfValidations = cell.row.state.edited?.valid\n\n\t\tif (!(propertiesInitialValues.length && clientProperties?.length)) { return true }\n\t\tfor (const property of propertiesInitialValues) {\n\t\t\tconst propertyDetail = clientProperties.find(clientProperty => clientProperty.raw.id === property.id)?.raw\n\t\t\tconst existsInObjectOfValidations = isEmpty(objectOfValidations) ? false : (property.id in objectOfValidations)\n\t\t\tif (!propertyDetail) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\t// validation for when you open the row first time and you don't have values in edited cells\n\t\t\tif (!existsInObjectOfValidations) {\n\t\t\t\tif (propertyDetail.required && !property.value) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif ((propertyDetail?.dataType === 'checkbox' && propertyDetail?.required && property.value && (property.value !== 'true' && property.value !== 'false'))) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\t// validation for cells that were edited and you need to validate the actual value\n\t\t\tif (existsInObjectOfValidations && !objectOfValidations[property.id]) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\n\tif (get(cell.row, 'state.isEditing')) {\n\t\tconst finishEditing = () => {\n\t\t\tif (!cell.row.original?.name) {\n\t\t\t\tonRemove(cell.row.original)\n\t\t\t}\n\t\t\tcell.row.setState({ isEditing: false, edited: {} })\n\t\t\tif (makeArrayOfInputs) { makeArrayOfInputs() }\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{!validRow()\n\t\t\t\t\t? <Icon name='check' onClick={() => validRow()} className='disabled-icon' />\n\t\t\t\t\t: <Icon name='check' onClick={() => onSave ? onSave(cell.row.state.edited, cell.row.original, finishEditing) : null} />}\n\t\t\t\t<Icon name='close' onClick={finishEditing} />\n\t\t\t</>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!editable\n\t\t\t\t? <Icon\n\t\t\t\t\tname='edit outline' onClick={() => {\n\t\t\t\t\t\tsetEditable(true)\n\t\t\t\t\t\tcell.row.setState({ isEditing: true, edited: {} })\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t: <Icon\n\t\t\t\t\tname='edit outline' className='disabled-icon'\n\t\t\t\t/>}\n\n\t\t</>\n\t)\n}\n\nActionsCellForTmsClients.propTypes = {\n\tcell: PropTypes.object.isRequired,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tmakeArrayOfInputs: PropTypes.func,\n\tclientProperties: PropTypes.array,\n\tdisableSaveButton: PropTypes.bool,\n\tvalidObject: PropTypes.object,\n\teditable: PropTypes.bool,\n\tsetEditable: PropTypes.func,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ActionsCellForTmsCombinedTransportCosts ({ cell, onSave, onRemove }) {\n\tif (get(cell.row, 'state.isEditing')) {\n\t\tconst cancelRow = () => {\n\t\t\tif (!cell?.row?.original?.raw?.id && onRemove != null) { // if not id remove item\n\t\t\t\tonRemove(cell.row.original)\n\t\t\t}\n\t\t\tfinishEditing()\n\t\t}\n\t\tconst finishEditing = () => {\n\t\t\tcell.row.setState({ isEditing: false, edited: {} })\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Icon name='check' onClick={() => onSave != null ? onSave(cell.row.state.edited, cell.row.original, finishEditing) : null} />\n\t\t\t\t<Icon name='close' onClick={cancelRow} />\n\t\t\t</>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Icon name='edit outline' onClick={() => cell.row.setState({ isEditing: true, edited: {} })} />\n\t\t\t{cell.row.original.raw.source === 'custom' && <Icon name='trash alternate outline' onClick={() => onRemove != null ? onRemove(cell.row.original) : null} />}\n\t\t</>\n\t)\n}\n\nActionsCellForTmsCombinedTransportCosts.propTypes = {\n\tcell: PropTypes.object.isRequired,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ActionsCellForTmsOrderStatus ({ cell, onSave, onRemove, validObj }) {\n\tconst validRow = () => {\n\t\tif (!validObj?.indexInput || !validObj?.purposeInput) return false\n\t\treturn true\n\t}\n\n\tif (get(cell.row, 'state.isEditing')) {\n\t\tconst finishEditing = () => {\n\t\t\tcell.row.setState({ isEditing: false, edited: {} })\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{!validRow()\n\t\t\t\t\t? <Icon name='check' onClick={() => validRow()} className='disabled-icon' />\n\t\t\t\t\t: <Icon name='check' onClick={() => onSave(cell.row.state.edited, cell?.row?.original, finishEditing)} />}\n\t\t\t\t<Icon name='close' onClick={finishEditing} />\n\t\t\t</>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Icon name='edit outline' onClick={() => cell.row.setState({ isEditing: true, edited: {} })} />\n\t\t\t{cell.row.original.raw.source === 'custom' && <Icon name='trash alternate outline' onClick={() => onRemove != null ? onRemove(cell.row.original) : null} />}\n\t\t</>\n\t)\n}\n\nActionsCellForTmsOrderStatus.propTypes = {\n\tcell: PropTypes.object.isRequired,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tvalidObj: PropTypes.object\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon } from 'semantic-ui-react'\nimport { get, isEmpty } from 'lodash'\n\nexport default function ActionsCellForTmsOrders ({ cell, orderProperties, validObject, onSave, onRemove, onRemoveFreight, setEditable = null, editable, makeArrayOfInputs = null, notMap, disableSaveButton, typeOfOrder = 'transport', ...props }) {\n\tconst validRow = () => {\n\t\tconst propertiesInitialValues = cell.row?.original.raw?.properties || []\n\t\tconst objectOfValidations = cell.row.state.edited?.valid // = { id: true } | {}\n\n\t\tif (cell.row.state.edited?.source === 'samsung' && !cell.row.state.edited?.externalID) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (!(propertiesInitialValues.length && orderProperties?.length)) { return true }\n\t\tfor (const property of propertiesInitialValues) {\n\t\t\tconst propertyDetail = orderProperties.find(orderProperty => orderProperty.raw.id === property.id)?.raw\n\t\t\tconst existsInObjectOfValidations = isEmpty(objectOfValidations) ? false : (property.id in objectOfValidations)\n\t\t\tif (propertyDetail?.orderType === typeOfOrder && !propertyDetail?.locked && !propertyDetail?.dataType?.includes('ref')) {\n\t\t\t\tif (!propertyDetail) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\t// validation for when you open the row first time and you don't have values in edited cells\n\t\t\t\tif (!existsInObjectOfValidations) {\n\t\t\t\t\tif (propertyDetail.required && !property.value) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t\tif ((propertyDetail?.dataType === 'checkbox' && propertyDetail?.required && property.value && (property.value !== 'true' && property.value !== 'false'))) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// validation for cells that were edited and you need to validate the actual value\n\t\t\t\tif (existsInObjectOfValidations && !objectOfValidations[property.id]) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\n\tif (get(cell.row, 'state.isEditing') && get(cell.row, 'original')) {\n\t\tconst finishEditing = () => {\n\t\t\tif ((!cell.row.original?.name && typeOfOrder === 'transport')) {\n\t\t\t\tonRemove(cell.row?.original)\n\t\t\t}\n\t\t\tif ((!cell.row?.original?.id && typeOfOrder === 'freight')) {\n\t\t\t\tonRemoveFreight({\n\t\t\t\t\tindex: cell?.row?.index,\n\t\t\t\t\ttransportOrderID: cell?.row?.original?.raw?.transportOrderID,\n\t\t\t\t\tactionTime: new Date().getTime()\n\t\t\t\t})\n\t\t\t}\n\t\t\tcell.row.setState({ isEditing: false, edited: {} })\n\t\t\tif (makeArrayOfInputs) { makeArrayOfInputs() }\n\t\t}\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{!validRow()\n\t\t\t\t\t? <Icon name='check' onClick={() => validRow()} className='disabled-icon' />\n\t\t\t\t\t: <Icon name='check' onClick={() => onSave(cell.row.state.edited, cell?.row?.original, finishEditing)} />}\n\t\t\t\t<Icon name='close' onClick={finishEditing} />\n\t\t\t</>\n\t\t)\n\t}\n\treturn (\n\t\t<>\n\t\t\t{!editable\n\t\t\t\t? <Icon\n\t\t\t\t\tname='edit outline' onClick={() => {\n\t\t\t\t\t\tcell.row.setState({ isEditing: true, edited: {} })\n\t\t\t\t\t\tif (typeOfOrder === 'transport') {\n\t\t\t\t\t\t\tsetEditable(true)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t: <Icon\n\t\t\t\t\tname='edit outline' className='disabled-icon'\n\t\t\t\t/>}\n\t\t\t{!notMap && cell?.row?.original?.raw?.id && <a href={`/tms/orders/order-details/${cell.row?.original?.raw?.id}`} target='_blank' rel='noreferrer'><Icon name='map icon' /></a>}\n\t\t</>\n\t)\n}\n\nActionsCellForTmsOrders.propTypes = {\n\tcell: PropTypes.object.isRequired,\n\tprops: PropTypes.object,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tonRemoveFreight: PropTypes.func,\n\tmakeArrayOfInputs: PropTypes.func,\n\tnotMap: PropTypes.bool,\n\tdisableSaveButton: PropTypes.bool,\n\tvalidObject: PropTypes.object,\n\torderProperties: PropTypes.array,\n\ttypeOfOrder: PropTypes.string,\n\tsetEditable: PropTypes.func,\n\teditable: PropTypes.bool,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Icon } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ActionsCellForVehicleGroups ({ cell, onSave, onRemove, makeArrayOfInputs = null, isDeletable = true }) {\n\tconst validateRow = (edited, original) => {\n\t\tif (edited['raw.drivers[0]'] || (!edited['raw.drivers[1]'] && !original?.raw?.drivers[1])) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (edited['raw.drivers[0]'] === '' && original?.raw?.drivers[0] && edited['raw.drivers[1]'] !== '' && original?.raw?.drivers[1]) {\n\t\t\treturn true\n\t\t}\n\t\tif (!edited['raw.drivers[0]'] && !original?.raw?.drivers[0] && edited['raw.drivers[1]']) {\n\t\t\treturn true\n\t\t}\n\t}\n\n\tif (get(cell.row, 'state.isEditing')) {\n\t\tconst cancelRow = () => {\n\t\t\tif (!cell?.row?.original?.raw?.id && onRemove) {\n\t\t\t\tonRemove(cell.row.original)\n\t\t\t}\n\t\t\tfinishEditing()\n\t\t}\n\t\tconst finishEditing = () => {\n\t\t\tcell.row.setState({ isEditing: false, edited: {} })\n\t\t\tif (makeArrayOfInputs) { makeArrayOfInputs() }\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Icon name='check' disabled={validateRow(cell.row.state.edited, cell.row.original)} onClick={() => onSave ? onSave(cell.row.state.edited, cell.row.original, finishEditing) : null} />\n\t\t\t\t<Icon name='close' onClick={cancelRow} />\n\t\t\t</>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Icon name='edit outline' onClick={() => cell.row.setState({ isEditing: true, edited: {} })} />\n\t\t\t{isDeletable && <Icon name='trash alternate outline' onClick={() => onRemove ? onRemove(cell.row.original) : null} />}\n\t\t</>\n\t)\n}\n\nActionsCellForVehicleGroups.propTypes = {\n\tcell: PropTypes.object.isRequired,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tmakeArrayOfInputs: PropTypes.func,\n\tisDeletable: PropTypes.boolean,\n}\n","import React, { useState } from 'react'\nimport { Select } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, type, colors }) {\n\tconst [displayValue, setDisplayValue] = useState(get(row, `state.edited[\"${column.id}\"]`)\n\t\t? get(row, `state.edited[\"${column.id}\"]`) : value)\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Select\n\t\t\tclearable\n\t\t\tplaceholder='Select color'\n\t\t\tclassName='colors-picker'\n\t\t\tvalue={displayValue}\n\t\t\toptions={colors}\n\t\t\tonChange={onChange}\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React, { useState, useEffect } from 'react'\nimport DayPickerInput from 'react-day-picker/DayPickerInput'\nimport { formatDate, parseDate } from 'react-day-picker/moment'\nimport { get } from 'lodash'\n\nfunction convertDateToBrowserTZ (date, tz = 'Europe/Bucharest') {\n\treturn moment(moment.tz(date, tz).format('YYYY-MM-DD HH:mm:ss.SSS')).valueOf()\n}\n\nexport default function ({ value, row, column, timezone, format = 'DD/MM/YYYY' }) {\n\tconst [browserValue, setBrowserValue] = useState(null)\n\n\tuseEffect(() => {\n\t\tif (!value) return\n\t\tsetBrowserValue(convertDateToBrowserTZ(value, timezone))\n\t}, [value])\n\n\tconst onDayChange = day => {\n\t\tif (row.state == null) { return }\n\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: day.getTime(),\n\t\t\t},\n\t\t})\n\t}\n\n\tlet displayValue = get(row, `state.edited[\"${column.id}\"]`) || browserValue\n\tif (displayValue != null) { displayValue = new Date(displayValue) }\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <DayPickerInput\n\t\t\tvalue={displayValue}\n\t\t\tformatDate={formatDate}\n\t\t\tparseDate={parseDate}\n\t\t\tplaceholder='-'\n\t\t\tformat={format}\n\t\t\tclassNames={{\n\t\t\t\tcontainer: 'DayPickerInput ui input fluid',\n\t\t\t\toverlayWrapper: 'DayPickerInput-OverlayWrapper',\n\t\t\t\toverlay: 'DayPickerInput-Overlay',\n\t\t\t}}\n\t\t\tdayPickerProps={{\n\t\t\t\tdisabledDays: {\n\t\t\t\t\tafter: new Date(),\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonDayChange={onDayChange}\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn formatDate(displayValue, format)\n}\n","import React from 'react'\nimport { get } from 'lodash'\nimport DatePicker from 'react-datepicker'\nimport moment from 'moment'\n\nexport default function ({ value, row, column, type, disabled = false, required, propertyID = null, setValidObject }) {\n\tconst onChange = date => {\n\t\tconst value = date ? moment(date).utc().valueOf() : date\n\t\tlet valid = true\n\n\t\tif (required === true && !value) {\n\t\t\tvalid = false\n\t\t}\n\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tvalidObj[propertyID] = valid\n\t\tsetValidObject(validObj)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`) ? get(row, `state.edited[\"${column.id}\"]`) : value\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<DatePicker\n\t\t\t\t\tplaceholderText='Select date'\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tselected={+displayValue || false}\n\t\t\t\t\tonChange={date => onChange(date)}\n\t\t\t\t\tshowTimeInput\n\t\t\t\t\tclassName={((required && !displayValue) && !disabled) ? 'mandatory-input table-calendar' : 'table-calendar'}\n\t\t\t\t\tdateFormat='MMMM d, yyyy h:mm aa'\n\t\t\t\t/>\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (!displayValue) { return '-' }\n\n\treturn moment(+displayValue).format('LLL')\n}\n","import React, { useState, useEffect } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ row, column, users, vehicleGroups, propertyName, driverInput = false }) {\n\tconst { t } = useTranslation(['common'])\n\tconst [displayValue, setDisplayValue] = useState(null)\n\n\tuseEffect(() => {\n\t\tif (!propertyName) return\n\t\tif (propertyName === 'driver') {\n\t\t\tsetDisplayValue(get(row, `state.edited[\"${column.id}\"]`) ? get(row, `state.edited[\"${column.id}\"]`) : (vehicleGroups[row.id]?.raw?.drivers?.length >= 1 ? vehicleGroups[row.id]?.raw?.drivers[0] : ''))\n\t\t} else if (propertyName === 'coDriver') {\n\t\t\tsetDisplayValue(get(row, `state.edited[\"${column.id}\"]`) ? get(row, `state.edited[\"${column.id}\"]`) : (vehicleGroups[row.id]?.raw?.drivers?.length === 2 ? vehicleGroups[row.id]?.raw?.drivers[1] : ''))\n\t\t}\n\t}, [propertyName])\n\n\tconst options = users.map(user => {\n\t\treturn {\n\t\t\tkey: user.raw.id,\n\t\t\ttext: user.name,\n\t\t\tvalue: user.raw.id,\n\t\t}\n\t})\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tconst validationForDriverInput = (edited, original) => {\n\t\tif (!driverInput) return ''\n\t\tif (edited['raw.drivers[0]'] || (!edited['raw.drivers[1]'] && !original?.raw?.drivers[1])) {\n\t\t\treturn ''\n\t\t}\n\n\t\tif (edited['raw.drivers[0]'] === '' && original?.raw?.drivers[0] && edited['raw.drivers[1]'] !== '' && original?.raw?.drivers[1]) {\n\t\t\treturn 'mandatory-input'\n\t\t}\n\t\tif (!edited['raw.drivers[0]'] && !original?.raw?.drivers[0] && edited['raw.drivers[1]']) {\n\t\t\treturn 'mandatory-input'\n\t\t}\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tsearch\n\t\t\t\tclassName={validationForDriverInput(row?.state?.edited, row?.original)}\n\t\t\t\tplaceholder={t('common:generalDropdown.placeholder')}\n\t\t\t\tvalue={displayValue}\n\t\t\t\tonChange={onChange}\n\t\t\t\toptions={options}\n\t\t\t\tclearable selection fluid\n\t\t\t/>\n\t\t)\n\t}\n\n\tconst user = users.find(user => user.raw.id === displayValue)\n\treturn get(user, 'name') || '-'\n}\n","import React from 'react'\nimport { Input } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, required, setValidObject = null, ...props }) {\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`, value)\n\n\tconst onChange = e => {\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: e.target.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Input\n\t\t\t\t\tclassName={(required && !displayValue) ? 'mandatory-input' : ''}\n\t\t\t\t\tplaceholder='Ext. ID'\n\t\t\t\t\tvalue={displayValue || ''}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\tfluid\n\t\t\t\t/>\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React from 'react'\nimport { Input } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, type, placeholder = null }) {\n\tconst onChange = e => {\n\t\tlet value = e.target.value\n\t\tif (type === 'number') {\n\t\t\tconst parsed = isNaN(parseInt(value)) ? null : parseInt(value)\n\t\t\tvalue = parsed\n\t\t}\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t},\n\t\t})\n\t}\n\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`) !== undefined ? get(row, `state.edited[\"${column.id}\"]`) : value\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Input\n\t\t\tplaceholder={placeholder || ''}\n\t\t\tvalue={displayValue || ''}\n\t\t\tonChange={onChange}\n\t\t\ttype={type}\n\t\t\tfluid\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React from 'react'\nimport { Checkbox } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, vehicleGroups, required, disabled = false, property = null, setValidObject, ...props }) {\n\tconst { t } = useTranslation(['common'])\n\tconst options = [\n\t\t{\n\t\t\tvalue: 'true',\n\t\t\tkey: t('common:yes'),\n\t\t\ttext: t('common:yes')\n\t\t},\n\t\t{\n\t\t\tvalue: 'false',\n\t\t\tkey: t('common:no'),\n\t\t\ttext: t('common:no')\n\t\t},\n\t]\n\tconst displayValue = row.state.edited[column.id] || value\n\n\tconst onChange = (e, data) => {\n\t\tlet valid = true\n\t\tconst value = data.value\n\t\tif (required === true && (!value || (value !== 'true' && value !== 'false'))) {\n\t\t\tvalid = false\n\t\t}\n\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tvalidObj[property?.raw?.id] = valid\n\t\tsetValidObject(validObj)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: `${data.value}`,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tconst checkboxClassName = (value) => {\n\t\tif (!property?.raw?.required) return ''\n\t\tif (!value) return 'mandatory-checkbox'\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Checkbox\n\t\t\t\t\tclassName={checkboxClassName(displayValue)}\n\t\t\t\t\tradio\n\t\t\t\t\tlabel={t('common:yes')}\n\t\t\t\t\tname='checkboxRadioGroup'\n\t\t\t\t\tvalue='true'\n\t\t\t\t\tchecked={displayValue === 'true'}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t/>\n\t\t\t\t<br />\n\t\t\t\t<Checkbox\n\t\t\t\t\tclassName={checkboxClassName(displayValue)}\n\t\t\t\t\tradio\n\t\t\t\t\tlabel={t('common:no')}\n\t\t\t\t\tname='checkboxRadioGroup'\n\t\t\t\t\tvalue='false'\n\t\t\t\t\tchecked={displayValue === 'false'}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t/>\n\t\t\t\t<br />\n\t\t\t</>\n\t\t)\n\t}\n\n\tconst selectedOption = options.find(option => option.value === displayValue)\n\treturn `${get(selectedOption, 'text', '-')}`\n}\n","import React, { useState } from 'react'\nimport { Input } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, type, placeholder = null, customStatuses, onChangeInput }) {\n\tconst [displayValue, setDisplayValue] = useState(get(row, `state.edited[\"${column.id}\"]`) !== undefined\n\t\t? get(row, `state.edited[\"${column.id}\"]`) : value)\n\tconst initialValue = get(row, 'original.raw.index', '')\n\tconst [validInput, setValidInput] = useState(true)\n\n\tconst onChange = e => {\n\t\tsetDisplayValue(e.target.value)\n\t\tvalidateInput(e.target.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: e.target.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tconst changeValidOject = (value) => {\n\t\tsetValidInput(value)\n\t\tonChangeInput('indexInput', value)\n\t}\n\n\tconst validateInput = (value) => {\n\t\tif ((!value || !customStatuses?.length) || initialValue === +value) {\n\t\t\tchangeValidOject(true)\n\t\t\treturn\n\t\t}\n\t\tif ((value && isNaN(+value)) || +value < 0) {\n\t\t\tchangeValidOject(false)\n\t\t\treturn\n\t\t}\n\t\tif (+value >= 0) {\n\t\t\tif (customStatuses.find(status => status?.raw?.index === +value)) {\n\t\t\t\tchangeValidOject(false)\n\t\t\t} else {\n\t\t\t\tchangeValidOject(true)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tchangeValidOject(true)\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Input\n\t\t\tclassName={!validInput ? 'mandatory-input' : ''}\n\t\t\tplaceholder={placeholder || ''}\n\t\t\tvalue={displayValue || ''}\n\t\t\tonChange={onChange}\n\t\t\ttype={type}\n\t\t\tfluid\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React, { useState, useEffect } from 'react'\nimport { get } from 'lodash'\nimport LocationPicker from '../../LocationPicker'\nimport { useTranslation } from 'react-i18next'\nimport GeoService from '../../../services/geo'\n\nexport default function ({ value, row, column, mapsAPI, waypoint, ...props }) {\n\tconst { t } = useTranslation(['tms/map'])\n\tconst [locationName, setLocationName] = useState('')\n\tconst [displayValue, setDisplayValue] = useState(get(waypoint, 'address', value))\n\n\tuseEffect(() => {\n\t\tif (!waypoint) return\n\t\tif (waypoint.coordinates && !waypoint?.address) {\n\t\t\treverseGeocode(waypoint?.coordinates[1], waypoint?.coordinates[0])\n\t\t}\n\t}, [waypoint])\n\n\tuseEffect(() => {\n\t\tif (displayValue) setLocationName(displayValue)\n\t}, [displayValue])\n\n\tconst reverseGeocode = async (lat, long) => {\n\t\tconst result = await GeoService.reverseGeocode(lat, long)\n\t\tsetDisplayValue(result)\n\t}\n\n\tconst onChange = e => {\n\t\tsetLocationName(e.title)\n\t\tconst value = e.title\n\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<LocationPicker\n\t\t\t\t\tclassName='waypoint-location-picker'\n\t\t\t\t\tplaceholder={t('tms/map:routeSelect.search')}\n\t\t\t\t\tcallOnResultSelectWhenNoInputValue\n\t\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t\tinput={{ fluid: true }}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\tdefaultValue={locationName}\n\t\t\t\t\tsize='small'\n\t\t\t\t/>\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (displayValue == null) { return '-' }\n\treturn String(locationName || displayValue)\n}\n","import React, { useState, useEffect } from 'react'\nimport { get } from 'lodash'\nimport LocationPicker from '../../LocationPicker'\nimport { useTranslation } from 'react-i18next'\n\nexport default function ({ value, row, column, type, disabled = false, required, propertyID = null, setValidObject = null, regexValidation, nameValidation = false, mapsAPI, ...props }) {\n\tconst { t } = useTranslation(['tms/map'])\n\tconst [locationName, setLocationName] = useState('')\n\tconst [showRedBorder, setShowRedBorder] = useState(false)\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`, value)\n\n\tuseEffect(() => {\n\t\tif (displayValue) setLocationName(displayValue)\n\t}, [displayValue])\n\n\tuseEffect(() => {\n\t\tsetShowRedBorder(false)\n\t\tif (required && !locationName) setShowRedBorder(true)\n\t}, [locationName])\n\n\tconst onChange = e => {\n\t\tsetLocationName(e.title)\n\t\tlet valid = true\n\t\tconst value = e.title\n\t\tif (required && !value) {\n\t\t\tvalid = false\n\t\t}\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tif (setValidObject) {\n\t\t\tnameValidation ? validObj.name = valid : validObj[propertyID] = valid\n\t\t\tsetValidObject(validObj)\n\t\t}\n\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<LocationPicker\n\t\t\t\t\tclassName={!showRedBorder ? 'waypoint-location-picker' : 'waypoint-location-picker mandatory-input'}\n\t\t\t\t\tplaceholder={t('tms/map:routeSelect.search')}\n\t\t\t\t\tcallOnResultSelectWhenNoInputValue\n\t\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t\tinput={{ fluid: true }}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\tdefaultValue={locationName}\n\t\t\t\t\tsize='small'\n\t\t\t\t/>\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React, { useState } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { get } from 'lodash'\nimport { useTranslation } from 'react-i18next'\n\nexport default function ({\n\tvalue,\n\trow,\n\tcolumn,\n\ttype,\n\tplaceholder = null,\n\tcustomStatuses,\n\tonChangeInput,\n\toptions\n}) {\n\tconst [displayValue, setDisplayValue] = useState(get(row, `state.edited[\"${column.id}\"]`) !== undefined\n\t\t? get(row, `state.edited[\"${column.id}\"]`) : value)\n\tconst [validInput, setValidInput] = useState(true)\n\n\tconst initialValue = get(row, 'original.raw.purpose', '')\n\n\tconst { t } = useTranslation(['common', 'settings-tms'])\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\tvalidateInput(data.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tconst changeValidOject = (value) => {\n\t\tsetValidInput(value)\n\t\tonChangeInput('purposeInput', value)\n\t}\n\n\tconst validateInput = (value) => {\n\t\tif (!customStatuses?.length) {\n\t\t\tchangeValidOject(false)\n\t\t\treturn\n\t\t}\n\t\tif (initialValue === value) {\n\t\t\tchangeValidOject(true)\n\t\t\treturn\n\t\t}\n\t\tconst hasLoadPurpose = !!customStatuses.find(status => status?.raw?.purpose === 'load')\n\t\tconst hasUnloadPurpose = !!customStatuses.find(status => status?.raw?.purpose === 'unload')\n\n\t\tif (hasLoadPurpose && value === 'load') {\n\t\t\tchangeValidOject(false)\n\t\t\treturn\n\t\t}\n\t\tif (hasUnloadPurpose && value === 'unload') {\n\t\t\tchangeValidOject(false)\n\t\t\treturn\n\t\t}\n\t\tchangeValidOject(true)\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tclassName={!validInput ? 'mandatory-input' : ''}\n\t\t\tplaceholder={placeholder || ''}\n\t\t\tvalue={displayValue || ''}\n\t\t\toptions={options}\n\t\t\tonChange={onChange}\n\t\t\ttype={type}\n\t\t\tclearable selection fluid\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn t(`common:puposeDropdown.${displayValue}`)\n}\n","import React, { useEffect, useState } from 'react'\nimport { Input } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, clients, users, vehicles, vehicleGroups, dataType, selectedTransportOrder, orderProperties, clientProperties, row, column, ...props }) {\n\tconst [displayValue, setDisplayValue] = useState(get(row, `state.edited[\"${column.id}\"]`, value))\n\n\tuseEffect(() => {\n\t\tconst model = dataType.split(':')[1].split(',')[0]\n\t\tconst isField = dataType?.includes('field')\n\t\tif (!model) return\n\n\t\tif (model === 'client' && selectedTransportOrder.raw?.clientID && clientProperties?.length) {\n\t\t\tconst selectedClient = clients.find(client => client.raw.id === selectedTransportOrder.raw.clientID)?.raw\n\t\t\tif (selectedClient) {\n\t\t\t\t// prop\n\t\t\t\tif (dataType.split(':')[1].split(',')[1].split(';')[0] === 'prop' && selectedClient.properties?.length) {\n\t\t\t\t\tconst selectedOrderProperty = clientProperties.find(prop => prop.raw.id === dataType.split(':')[1].split(',')[1].split(';')[1])\n\t\t\t\t\tconst valueForInput = selectedClient.properties.find(prop => prop.id === dataType.split(':')[1].split(',')[1].split(';')[1])?.value || ''\n\t\t\t\t\tswitch (selectedOrderProperty.raw.dataType) {\n\t\t\t\t\tcase 'checkbox': {\n\t\t\t\t\t\tif (valueForInput === 'true') {\n\t\t\t\t\t\t\tsetDisplayValue('Yes')\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (valueForInput === 'false') {\n\t\t\t\t\t\t\tsetDisplayValue('No')\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'date': {\n\t\t\t\t\t\tsetDisplayValue(moment(+valueForInput).format('DD.MM.YYYY HH:mm'))\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetDisplayValue(valueForInput)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// field\n\t\t\t\tif (dataType.split(':')[1].split(',')[1].split(';')[0] === 'field') {\n\t\t\t\t\tif (get(selectedClient, dataType.split(':')[1].split(',')[1].split(';')[1])) {\n\t\t\t\t\t\tsetDisplayValue(get(selectedClient, dataType.split(':')[1].split(',')[1].split(';')[1], ''))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!isField) return\n\n\t\tconst selectedVehicleGroup = vehicleGroups.find(group => group.raw.id === selectedTransportOrder.raw?.vehicleGroupID)?.raw\n\t\tconst key = dataType.split(':')[1].split(',')[1].split(';')[1]\n\n\t\tif (model === 'driver' && selectedTransportOrder.raw?.vehicleGroupID && users?.length && vehicleGroups?.length) {\n\t\t\tif (selectedVehicleGroup?.drivers?.length && selectedVehicleGroup.drivers[0]) {\n\t\t\t\tconst selectedDriver = users.find(user => user.raw.id === selectedVehicleGroup?.drivers[0])?.raw\n\t\t\t\tif (selectedDriver) {\n\t\t\t\t\tsetDisplayValue(get(selectedDriver, key, ''))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!vehicleGroups?.length || !selectedTransportOrder.raw?.vehicleGroupID || !vehicles?.length) return\n\n\t\tlet selectedVehicleID\n\t\tif (model === 'vehicle') {\n\t\t\tif (selectedVehicleGroup?.vehicles?.length && selectedVehicleGroup.vehicles[0]) {\n\t\t\t\tselectedVehicleID = selectedVehicleGroup?.vehicles[0]\n\t\t\t}\n\t\t} else if (model === 'semitrailer') {\n\t\t\tif (selectedVehicleGroup?.vehicles?.length === 2 && selectedVehicleGroup.vehicles[1]) {\n\t\t\t\tselectedVehicleID = selectedVehicleGroup?.vehicles[1]\n\t\t\t}\n\t\t}\n\t\tif (!selectedVehicleID) return\n\t\tconst selectedVehicle = vehicles.find(vehicle => vehicle.raw.id === selectedVehicleID)?.raw\n\t\tif (!selectedVehicle) return\n\t\tsetDisplayValue(get(selectedVehicle, key, ''))\n\t}, [dataType, clientProperties, users, vehicles])\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Input\n\t\t\t\t\tvalue={displayValue}\n\t\t\t\t\tdisabled\n\t\t\t\t\tfluid\n\t\t\t\t/>\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (!displayValue) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React from 'react'\nimport { Input } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, type, disabled = false, required, propertyID = null, setValidObject = null, regexValidation, nameValidation = false, ...props }) {\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`, value)\n\tconst regex = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/\n\n\tconst onChange = e => {\n\t\tlet valid = true\n\t\tlet value = e.target.value\n\t\tif (type === 'number') {\n\t\t\tvalue = isNaN(value) ? null : parseInt(value)\n\t\t} else {\n\t\t\tif (required && !value) {\n\t\t\t\tvalid = false\n\t\t\t}\n\t\t\tif (value) {\n\t\t\t\tvalid = !regex.test(value)\n\t\t\t}\n\t\t}\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tif (setValidObject) {\n\t\t\tnameValidation ? validObj.name = valid : validObj[propertyID] = valid\n\t\t\tsetValidObject(validObj)\n\t\t}\n\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Input placeholder='text...' disabled={disabled} className={(((required && !displayValue) || (regexValidation && regex.test(displayValue))) && !disabled) ? 'mandatory-input string-input' : 'string-input'} value={displayValue || ''} onChange={onChange} type={type} fluid />\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React from 'react'\nimport { Input } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, type, required, propertyID = null, setValidObject, regexValidation, nameValidation = false, ...props }) {\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`, value)\n\tconst regex = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/\n\n\tconst onChange = e => {\n\t\tlet valid = true\n\t\tlet value = e.target.value\n\t\tif (type === 'number') {\n\t\t\tconst parsed = isNaN(parseInt(value)) ? null : parseInt(value)\n\t\t\tvalue = parsed\n\t\t} else {\n\t\t\tif (required && !value) {\n\t\t\t\tvalid = false\n\t\t\t}\n\t\t\tif (value) {\n\t\t\t\tvalid = !regex.test(value)\n\t\t\t}\n\t\t}\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tnameValidation ? validObj.name = valid : validObj[propertyID] = valid\n\t\tsetValidObject(validObj)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Input placeholder='text...' className={((required && !displayValue) || (regexValidation && regex.test(displayValue))) ? 'mandatory-input string-input' : 'string-input'} value={displayValue || ''} onChange={onChange} type={type} fluid />\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React, { useState } from 'react'\nimport { Input } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, type, needTranslation = false, valueTranslated }) {\n\tconst onChange = e => {\n\t\tlet value = e.target.value\n\t\tsetDisplayValue(value)\n\t\tif (type === 'number') {\n\t\t\tconst parsed = isNaN(parseInt(value)) ? null : parseInt(value)\n\t\t\tvalue = parsed\n\t\t}\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t},\n\t\t})\n\t}\n\n\tconst [displayValue, setDisplayValue] = useState(valueTranslated || get(row, `state.edited[\"${column.id}\"]`))\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Input value={displayValue || ''} onChange={onChange} type={type} fluid />\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React from 'react'\nimport { Input } from 'semantic-ui-react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, type, required, propertyID = null, disabled = false, setValidObject, emailValidation, ...props }) {\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`, value)\n\tconst regex = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/\n\n\tconst onChange = e => {\n\t\tlet valid = true\n\t\tconst value = e.target.value\n\t\tif (required === true && !value) {\n\t\t\tvalid = false\n\t\t}\n\t\tif (value) {\n\t\t\tvalid = regex.test(value)\n\t\t}\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tvalidObj[propertyID] = valid\n\t\tsetValidObject(validObj)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Input\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName={(((required && !displayValue) || (displayValue && emailValidation && !regex.test(displayValue))) && !disabled) ? 'mandatory-input' : ''}\n\t\t\t\t\tplaceholder='email'\n\t\t\t\t\tvalue={displayValue}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\tfluid\n\t\t\t\t/>\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React from 'react'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, type, required, disabled = false, propertyID = null, setValidObject, numberValidation }) {\n\tlet displayValue = ((row.state.edited[column.id] || row.state.edited[column.id] === '') ? row.state.edited[column.id] : value)\n\n\tconst onChange = (e) => {\n\t\tlet valid = true\n\t\tconst value = e.target?.value || ''\n\t\tdisplayValue = value\n\t\tif ((required === true && !value)) {\n\t\t\tvalid = false\n\t\t}\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tvalidObj[propertyID] = valid\n\t\tsetValidObject(validObj)\n\t\trow.setState({\n\t\t\t...row?.state,\n\t\t\tedited: {\n\t\t\t\t...row.state?.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<input\n\t\t\t\tdisabled={disabled}\n\t\t\t\tplaceholder='number'\n\t\t\t\ttype='number' step='0.01'\n\t\t\t\tclassName={((required && !displayValue) && !disabled) ? 'mandatory-input string-input' : 'string-input'}\n\t\t\t\tvalue={displayValue}\n\t\t\t\tonChange={(e) => {\n\t\t\t\t\tonChange(e)\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t}\n\n\tif (!displayValue) { return '-' }\n\treturn displayValue\n}\n","import React, { useState } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { find, get } from 'lodash'\n\nexport default function ({ value, row, column, options, disabled = false, setValidObject, propertyID, required }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst [displayValue, setDisplayValue] = useState(row.state.edited[column.id] || value)\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\tlet valid = true\n\t\tconst value = data.value\n\t\tif (required && !value) {\n\t\t\tvalid = false\n\t\t}\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tvalidObj[propertyID] = valid\n\n\t\tsetValidObject(validObj)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: value,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tdisabled={disabled}\n\t\t\tclassName={((!displayValue && required) && !disabled) ? 'mandatory-input' : ''}\n\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\tvalue={displayValue}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tselection fluid\n\t\t/>\n\t}\n\n\tif (displayValue === null) { return '-' }\n\n\treturn find(options, { value: displayValue })?.text || '-'\n}\n","import React, { useMemo, useState } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, orderStatus, ordersTmsFreightFromTransport, freight }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst [displayValue, setDisplayValue] = useState(row.state.edited[column.id] || value)\n\n\tconst options = useMemo(\n\t\t() => {\n\t\t\treturn orderStatus.map(status => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: status.raw.id,\n\t\t\t\t\ttext: status.raw.label || status.raw.name,\n\t\t\t\t\tvalue: status.raw.id\n\t\t\t\t}\n\t\t\t})\n\t\t}, [orderStatus])\n\n\tconst showStatusLabel = (value) => {\n\t\tif (!value) return '-'\n\t\tconst statusOrder = orderStatus.find(status => status?.raw?.id === displayValue)\n\n\t\treturn (\n\t\t\t<span style={{ color: `${statusOrder?.raw?.color ? statusOrder?.raw?.color : ''}` }}>\n\t\t\t\t<b>{value}</b>\n\t\t\t</span>\n\t\t)\n\t}\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\tvalue={displayValue}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tselection fluid\n\t\t\tclearable\n\t\t\tsearch\n\t\t/>\n\t}\n\n\tconst status = orderStatus.find(status => status.raw.id === displayValue)\n\treturn showStatusLabel(get(status, 'raw.name') || '')\n}\n","import React, { useEffect, useState } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { find, get } from 'lodash'\n\nexport default function ({ value, row, column, options, arrayOfInputs, onChangeInput }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst [displayValue, setDisplayValue] = useState()\n\n\tuseEffect(() => {\n\t\tif (arrayOfInputs && arrayOfInputs.length > 0 && arrayOfInputs.length > row.index) {\n\t\t\tsetDisplayValue(arrayOfInputs[row.index].requiredInput)\n\t\t}\n\t}, [arrayOfInputs])\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\tonChangeInput(row.index, 'requiredInput', data.value)\n\t\tif (data.value === true) {\n\t\t\tonChangeInput(row.index, 'visibleInput', data.value)\n\t\t}\n\t\tif (data.value) {\n\t\t\trow.setState({\n\t\t\t\t...row.state,\n\t\t\t\tedited: {\n\t\t\t\t\t...row.state.edited,\n\t\t\t\t\t'raw.required': data.value,\n\t\t\t\t\t'raw.visible': data.value\n\t\t\t\t},\n\t\t\t})\n\t\t} else {\n\t\t\trow.setState({\n\t\t\t\t...row.state,\n\t\t\t\tedited: {\n\t\t\t\t\t...row.state.edited,\n\t\t\t\t\t[column.id]: data.value,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\tvalue={displayValue}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tselection fluid\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn find(options, { value: displayValue }).text\n}\n","import React from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { find, get } from 'lodash'\n\nexport default function ({ value, row, column, options }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst displayValue = row.state.edited[column.id] || value\n\n\tconst onChange = (e, data) => {\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data?.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\tvalue={displayValue}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tselection fluid\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn find(options, { value: displayValue })?.text || '-'\n}\n","import React, { useState, useEffect } from 'react'\nimport { get } from 'lodash'\nimport { Input } from 'semantic-ui-react'\n\nexport default function ({ value, row, column, type, required, propertyID = null, disabled = false, setValidObject }) {\n\tconst [phoneNumber, setPhoneNumber] = useState({ prefix: '', baseNumber: '' })\n\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`, value)\n\n\tuseEffect(() => {\n\t\tif (!displayValue) return\n\t\tsetPhoneNumber({ prefix: displayValue.split('/')[0], baseNumber: displayValue.split('/')[1] })\n\t}, [displayValue])\n\n\tconst verifyWithRegex = (type, value) => {\n\t\tif (disabled) return true\n\t\tif (type === 'prefix') {\n\t\t\tconst regex = /^\\+*[\\d]{2}$/\n\t\t\treturn regex.test(value)\n\t\t}\n\t\tif (type === 'baseNumber') {\n\t\t\tconst regex = /^[0-9\\-]{9,15}$/\n\t\t\treturn regex.test(value)\n\t\t}\n\t}\n\n\tconst onChange = (value, property) => {\n\t\tlet valid = true\n\t\tswitch (property) {\n\t\tcase 'prefix':\n\t\t\tsetPhoneNumber({ prefix: value, baseNumber: phoneNumber.baseNumber })\n\t\t\tbreak\n\t\tcase 'baseNumber':\n\t\t\tsetPhoneNumber({ prefix: phoneNumber.prefix, baseNumber: value })\n\t\t\tbreak\n\t\t}\n\n\t\tif (required && !(phoneNumber.baseNumber && phoneNumber.prefix)) {\n\t\t\tvalid = false\n\t\t}\n\t\tif (property === 'prefix') {\n\t\t\tif (!verifyWithRegex('prefix', value) || !verifyWithRegex('baseNumber', phoneNumber.baseNumber)) {\n\t\t\t\tvalid = false\n\t\t\t}\n\t\t}\n\n\t\tif (property === 'baseNumber') {\n\t\t\tif (!verifyWithRegex('prefix', phoneNumber.prefix) || !verifyWithRegex('baseNumber', value)) {\n\t\t\t\tvalid = false\n\t\t\t}\n\t\t}\n\n\t\tconst validObj = row.state.edited?.valid || {}\n\t\tvalidObj[propertyID] = valid\n\t\tsetValidObject(validObj)\n\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: property === 'prefix' ? `${value}/${phoneNumber.baseNumber}` : `${phoneNumber.prefix}/${value}`,\n\t\t\t\tvalid: validObj\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className='telephone-row'>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tplaceholder='prefix'\n\t\t\t\t\t\tclassName={`${verifyWithRegex('prefix', phoneNumber.prefix) ? '' : 'mandatory-input'} prefix-input`}\n\t\t\t\t\t\tvalue={phoneNumber.prefix}\n\t\t\t\t\t\tonChange={(e) => { onChange(e.target.value, 'prefix') }}\n\t\t\t\t\t/>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tplaceholder='number'\n\t\t\t\t\t\tclassName={`${verifyWithRegex('baseNumber', phoneNumber.baseNumber) ? '' : 'mandatory-input'} number-input`}\n\t\t\t\t\t\tvalue={phoneNumber.baseNumber}\n\t\t\t\t\t\tonChange={(e) => { onChange(e.target.value, 'baseNumber') }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t)\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn String(displayValue)\n}\n","import React, { useState, useEffect } from 'react'\nimport { Input, Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nfunction toPeriod (days) {\n\tdays = days || 0\n\n\tconst years = days / 365\n\tconst months = days / 30\n\tconst weeks = days / 7\n\tif (years > 0 && days % 365 === 0) {\n\t\treturn { value: years, period: 'year' }\n\t} else if (months > 0 && days % 30 === 0) {\n\t\treturn { value: months, period: 'month' }\n\t} else if (weeks > 0 && days % 7 === 0) {\n\t\treturn { value: weeks, period: 'week' }\n\t}\n\n\treturn { value: days, period: 'day' }\n}\nfunction toDays (value, period) {\n\tswitch (period) {\n\tcase 'year': return value * 365\n\tcase 'month': return value * 30\n\tcase 'week': return value * 7\n\t}\n\treturn value\n}\n\nexport default function ({ value, row, column, defaultCount = 0, defaultPeriod = 'month' }) {\n\tconst { t } = useTranslation(['common'])\n\tconst [period, setPeriod] = useState(defaultPeriod)\n\tconst [count, setCount] = useState(defaultCount)\n\n\tconst onChangeValue = e => {\n\t\tsetCount(parseInt(e.target.value))\n\t}\n\tconst onChangePeriod = (e, data) => {\n\t\tsetPeriod(data.value)\n\t}\n\n\tuseEffect(() => {\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: toDays(count, period),\n\t\t\t},\n\t\t})\n\t}, [period, count])\n\n\tuseEffect(() => {\n\t\tconst displayValue = parseInt(get(row, `state.edited[\"${column.id}\"]`) !== undefined ? get(row, `state.edited[\"${column.id}\"]`) : value) || 0\n\t\tconst converted = toPeriod(displayValue)\n\t\tif (displayValue === 0) {\n\t\t\tconverted.value = defaultCount\n\t\t\tconverted.period = defaultPeriod\n\t\t}\n\n\t\tsetCount(converted.value)\n\t\tsetPeriod(converted.period)\n\t}, [value, row.state.edited[column.id]])\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Input\n\t\t\tvalue={count}\n\t\t\tonChange={onChangeValue}\n\t\t\taction={<Dropdown\n\t\t\t\tplaceholder='Alege perioada'\n\t\t\t\tvalue={period}\n\t\t\t\tonChange={onChangePeriod}\n\t\t\t\toptions={[\n\t\t\t\t\t{ key: 'year', text: t('periods.year', { count: 10 }), value: 'year' },\n\t\t\t\t\t{ key: 'month', text: t('periods.month', { count: 10 }), value: 'month' },\n\t\t\t\t\t{ key: 'week', text: t('periods.week', { count: 10 }), value: 'week' },\n\t\t\t\t\t{ key: 'day', text: t('periods.day', { count: 10 }), value: 'day' },\n\t\t\t\t]}\n\t\t\t\tselection\n\t\t\t\tfluid\n\t\t\t/>}\n\t\t\tfluid\n\t\t/>\n\t}\n\n\tif (count < 1) { return '-' }\n\n\treturn String(`${count} ${t(`periods.${period}`, { count })}`)\n}\n","import React, { useState, useEffect } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, vehicles, vehicleGroups, propertyName }) {\n\tconst { t } = useTranslation(['common'])\n\tconst [displayValue, setDisplayValue] = useState(null)\n\n\tuseEffect(() => {\n\t\tif (!propertyName) return\n\t\tif (propertyName === 'tractor') {\n\t\t\tsetDisplayValue(get(row, `state.edited[\"${column.id}\"]`) || vehicleGroups[row.id].raw.vehicles[0] || '')\n\t\t} else if (propertyName === 'semitrailer') {\n\t\t\tsetDisplayValue(get(row, `state.edited[\"${column.id}\"]`) || vehicleGroups[row.id].raw.vehicles[1] || '')\n\t\t}\n\t}, [propertyName])\n\n\tconst options = vehicles.map(vehicle => {\n\t\treturn {\n\t\t\tkey: vehicle.raw.id,\n\t\t\ttext: vehicle.raw.licensePlate,\n\t\t\tvalue: vehicle.raw.id,\n\t\t}\n\t})\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tsearch\n\t\t\t\tplaceholder={t('common:generalDropdown.placeholder')}\n\t\t\t\tvalue={displayValue}\n\t\t\t\tonChange={onChange}\n\t\t\t\toptions={options}\n\t\t\t\tclearable selection fluid\n\t\t\t/>\n\t\t)\n\t}\n\tconst vehicle = vehicles.find(vehicle => vehicle.raw.id === displayValue)\n\treturn get(vehicle, 'raw.licensePlate') || '-'\n}\n","import React, { useMemo } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, scope }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst displayValue = row.state.edited[column.id] || value\n\tconst options = useMemo(() => {\n\t\tif (scope === 'user') {\n\t\t\treturn [\n\t\t\t\t{ key: 'vehicle-licence', value: 'vehicle-licence', text: t('maintenance:rule.types.vehicle-licence') },\n\t\t\t\t{ key: 'transport-certification', value: 'transport-certification', text: t('maintenance:rule.types.transport-certification') },\n\t\t\t\t{ key: 'medical-notification', value: 'medical-notification', text: t('maintenance:rule.types.medical-notification') },\n\t\t\t\t{ key: 'custom-1', value: 'custom-1', text: t('maintenance:rule.types.custom-1') },\n\t\t\t\t{ key: 'custom-2', value: 'custom-2', text: t('maintenance:rule.types.custom-2') },\n\t\t\t\t{ key: 'custom-3', value: 'custom-3', text: t('maintenance:rule.types.custom-3') },\n\t\t\t\t{ key: 'custom-4', value: 'custom-4', text: t('maintenance:rule.types.custom-4') },\n\t\t\t\t{ key: 'custom-5', value: 'custom-5', text: t('maintenance:rule.types.custom-5') },\n\t\t\t]\n\t\t}\n\t\treturn [\n\t\t\t{ key: 'oil-change', value: 'oil-change', text: t('maintenance:rule.types.oil-change') },\n\t\t\t{ key: 'tire-change', value: 'tire-change', text: t('maintenance:rule.types.tire-change') },\n\t\t\t{ key: 'periodical-technical-inspection', value: 'periodical-technical-inspection', text: t('maintenance:rule.types.periodical-technical-inspection') },\n\t\t\t{ key: 'service', value: 'service', text: t('maintenance:rule.types.service') },\n\t\t\t{ key: 'registration-certificate', value: 'registration-certificate', text: t('maintenance:rule.types.registration-certificate') },\n\t\t\t{ key: 'mandatory-insurance', value: 'mandatory-insurance', text: t('maintenance:rule.types.mandatory-insurance') },\n\t\t\t{ key: 'vignette', value: 'vignette', text: t('maintenance:rule.types.vignette') },\n\t\t\t{ key: 'custom-1', value: 'custom-1', text: t('maintenance:rule.types.custom-1') },\n\t\t\t{ key: 'custom-2', value: 'custom-2', text: t('maintenance:rule.types.custom-2') },\n\t\t\t{ key: 'custom-3', value: 'custom-3', text: t('maintenance:rule.types.custom-3') },\n\t\t\t{ key: 'custom-4', value: 'custom-4', text: t('maintenance:rule.types.custom-4') },\n\t\t\t{ key: 'custom-5', value: 'custom-5', text: t('maintenance:rule.types.custom-5') },\n\t\t]\n\t}, [scope])\n\n\tconst onChange = (e, data) => {\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\tvalue={displayValue}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tselection fluid\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn t(`maintenance:rule.types.${displayValue}`)\n}\n","import React, { useEffect, useState } from 'react'\nimport { Dropdown, Grid, Input } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { find, get, uniqBy } from 'lodash'\n\nconst clientsSchemaProperties = ['name', 'contactPersons']\nconst vehiclesSchemaProperties = ['licensePlate', 'type']\nconst semitrailerSchemaProperties = ['licensePlate']\nconst usersSchemaProperties = ['firstName', 'lastName', 'email', 'phoneNumber', 'type']\n\nexport default function ({ value, row, column, options, arrayOfInputs, clientProperties, onChangeInput, models, clients, users, vehicles }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst [displayValue, setDisplayValue] = useState()\n\tconst [refModel, setRefModel] = useState(null)\n\tconst [modelOptions, setModelOptions] = useState(null)\n\n\tuseEffect(() => {\n\t\tif (arrayOfInputs?.length > row?.index) {\n\t\t\tsetDisplayValue(arrayOfInputs[row?.index]?.dataType)\n\t\t}\n\t}, [arrayOfInputs])\n\n\tuseEffect(() => {\n\t\tif (arrayOfInputs?.length > row?.index) {\n\t\t\tsetDisplayValue(arrayOfInputs[row?.index]?.dataType)\n\t\t}\n\t}, [arrayOfInputs])\n\n\tuseEffect(() => {\n\t\tif (!refModel) return\n\t\tif (refModel === 'client') {\n\t\t\tlet clientOptions = []\n\t\t\tif (clientProperties?.length) {\n\t\t\t\tclientOptions = clientProperties.map((property) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: `prop;${property?.raw?.id}`,\n\t\t\t\t\t\ttext: property?.raw.name,\n\t\t\t\t\t\tkey: property?.raw.name\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tfor (const client of clients) {\n\t\t\t\tfor (const key of clientsSchemaProperties) {\n\t\t\t\t\tif (client.raw[key]) {\n\t\t\t\t\t\tswitch (key) {\n\t\t\t\t\t\tcase 'name': {\n\t\t\t\t\t\t\tclientOptions.push(\n\t\t\t\t\t\t\t\t{ value: 'field;name', text: 'Name', key: 'Name' }\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase 'contactPersons': {\n\t\t\t\t\t\t\tclientOptions.push(\n\t\t\t\t\t\t\t\t{ value: 'field;contactPersons.0.email', text: 'contact person -> email', key: 'contact person -> email' },\n\t\t\t\t\t\t\t\t{ value: 'field;contactPersons.0.first_name', text: 'contact person -> first name', key: 'ontact person -> first name' },\n\t\t\t\t\t\t\t\t{ value: 'field;contactPersons.0.last_name', text: 'contact person -> last name', key: 'contact person -> last name' },\n\t\t\t\t\t\t\t\t{ value: 'field;contactPersons.0.phone', text: 'contact person -> phone', key: 'contact person -> phone' },\n\t\t\t\t\t\t\t\t{ value: 'field;contactPersons.0.position', text: 'contact person -> position', key: 'contact person -> position' }\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetModelOptions(uniqBy(clientOptions, 'value'))\n\t\t}\n\t\tif (refModel === 'vehicle') {\n\t\t\tconst vehicleOptions = []\n\t\t\tfor (const vehicle of vehicles) {\n\t\t\t\tfor (const key of vehiclesSchemaProperties) {\n\t\t\t\t\tif (vehicle.raw[key]) {\n\t\t\t\t\t\tvehicleOptions.push({\n\t\t\t\t\t\t\tvalue: `field;${key}`,\n\t\t\t\t\t\t\ttext: `${key}`,\n\t\t\t\t\t\t\tkey: `${key}`\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetModelOptions(uniqBy(vehicleOptions, 'value'))\n\t\t}\n\t\tif (refModel === 'semitrailer') {\n\t\t\tconst semitrailerOptions = []\n\t\t\tfor (const vehicle of vehicles) {\n\t\t\t\tfor (const key of semitrailerSchemaProperties) {\n\t\t\t\t\tif (vehicle.raw[key]) {\n\t\t\t\t\t\tsemitrailerOptions.push({\n\t\t\t\t\t\t\tvalue: `field;${key}`,\n\t\t\t\t\t\t\ttext: `${key}`,\n\t\t\t\t\t\t\tkey: `${key}`\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetModelOptions(uniqBy(semitrailerOptions, 'value'))\n\t\t}\n\t\tif (refModel === 'driver') {\n\t\t\tconst usersOption = []\n\n\t\t\tfor (const user of users) {\n\t\t\t\tfor (const key of usersSchemaProperties) {\n\t\t\t\t\tif (user.raw[key]) {\n\t\t\t\t\t\tusersOption.push({\n\t\t\t\t\t\t\tvalue: `field;${key}`,\n\t\t\t\t\t\t\ttext: `${key}`,\n\t\t\t\t\t\t\tkey: `${key}`\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetModelOptions(uniqBy(usersOption, 'value'))\n\t\t}\n\t}, [refModel])\n\n\tuseEffect(() => {\n\t\tif (displayValue) {\n\t\t\tif (displayValue.includes('ref')) {\n\t\t\t\tif (displayValue.split(':')[1]) {\n\t\t\t\t\tsetRefModel(displayValue.split(':')[1].split(',')[0])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [displayValue])\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\tonChangeInput(row.index, 'dataType', data.value)\n\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tconst onChangeList = (e, data) => {\n\t\tsetRefModel(null)\n\t\tsetDisplayValue(`list:${e.target.value}`)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: `list:${e.target.value}`,\n\t\t\t},\n\t\t})\n\t}\n\n\t// REFF\n\tconst onChangeModel = (e, data) => {\n\t\tsetDisplayValue(`ref:${data?.value},`)\n\t\tsetRefModel(data?.value)\n\t}\n\n\tconst onChangeSchemaProperty = (e, data) => {\n\t\tif (!refModel) return\n\t\tsetDisplayValue(`ref:${refModel},${data.value}`)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: `ref:${refModel},${data.value}`,\n\t\t\t},\n\t\t})\n\t}\n\n\tconst showRef = (value) => {\n\t\tif (!value) return '-'\n\n\t\tlet str = 'Refference'\n\t\tstr += ` -> ${value.split(',')[0].split(':')[1]}`\n\t\tif (value.split(',')[1].split(';')[0] === 'prop') {\n\t\t\tconst propName = clientProperties.find(prop => prop.raw.id === value.split(',')[1].split(';')[1])?.raw?.name\n\t\t\tstr += ` -> ${propName || ''}`\n\t\t}\n\t\tif (value.split(',')[1].split(';')[0] === 'field') {\n\t\t\tconst arrayOfKeys = value.split(',')[1].split(';')[1].split('.')\n\t\t\tfor (const item of arrayOfKeys) {\n\t\t\t\tstr += ` -> ${item}`\n\t\t\t}\n\t\t}\n\t\treturn str\n\t}\n\n\tconst showTypeDropdownValue = () => {\n\t\tif (!displayValue) return 'string'\n\t\tif (displayValue.includes('list')) return 'list'\n\t\tif (displayValue.includes('ref')) return 'ref'\n\t\treturn displayValue\n\t}\n\n\tconst showModelValue = () => {\n\t\tif (!displayValue || displayValue === 'ref') return ''\n\t\treturn displayValue.split(':')[1].split(',')[0]\n\t}\n\tconst showPropertyValue = () => {\n\t\tif (displayValue.split(':')[0] === 'ref' && displayValue.split(',')[1].split(';')[0]) {\n\t\t\treturn displayValue.split(',')[1]\n\t\t}\n\t\treturn ''\n\t}\n\t// end region REFF\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<Grid>\n\t\t\t\t<Grid.Row columns={2}>\n\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tclassName='property-type-dropdown'\n\t\t\t\t\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\t\t\t\t\tvalue={showTypeDropdownValue()}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\tselection fluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Column>\n\n\t\t\t\t\t{/* LIST DROPDOWN */}\n\t\t\t\t\t{displayValue && displayValue.split(':')[0] === 'list' &&\n\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tonChange={(e) => { onChangeList(e) }}\n\t\t\t\t\t\t\t\tvalue={(displayValue && displayValue.includes('list')) ? displayValue.split(':')[1] : ''}\n\t\t\t\t\t\t\t\tplaceholder='item1,item2,item3,...'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Grid.Column>}\n\n\t\t\t\t\t{/* REFERENCE MODELS DROPDOWN */}\n\t\t\t\t\t{displayValue && displayValue.includes('ref') &&\n\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tplaceholder='Model'\n\t\t\t\t\t\t\t\tvalue={showModelValue()}\n\t\t\t\t\t\t\t\tonChange={onChangeModel}\n\t\t\t\t\t\t\t\toptions={models}\n\t\t\t\t\t\t\t\tselection fluid\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Grid.Column>}\n\n\t\t\t\t\t{/* REFERENCE PROPERTIES DROPDOWN */}\n\t\t\t\t\t{modelOptions && modelOptions?.length && showModelValue() &&\n\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tclassName='property-dropdown'\n\t\t\t\t\t\t\t\tvalue={showPropertyValue()}\n\t\t\t\t\t\t\t\tplaceholder='Property'\n\t\t\t\t\t\t\t\tonChange={onChangeSchemaProperty}\n\t\t\t\t\t\t\t\toptions={modelOptions}\n\t\t\t\t\t\t\t\tselection fluid\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Grid.Column>}\n\t\t\t\t</Grid.Row>\n\t\t\t</Grid>\n\t\t)\n\t}\n\tif (!displayValue) { return '-' }\n\tif (displayValue && displayValue.includes('list')) {\n\t\treturn `List: ${displayValue.split(':')[1]}`\n\t}\n\tif (displayValue && displayValue.includes('ref')) {\n\t\treturn showRef(displayValue)\n\t}\n\treturn find(options, { value: displayValue })?.text || '-'\n}\n","import React from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, users }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`) || value\n\tconst options = users.map(user => {\n\t\treturn {\n\t\t\tkey: user.raw.id,\n\t\t\ttext: user.name,\n\t\t\tvalue: user.raw.id,\n\t\t}\n\t})\n\n\tconst onChange = (e, data) => {\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tplaceholder={t('maintenance:userDropdown.placeholder')}\n\t\t\t\tvalue={displayValue}\n\t\t\t\tonChange={onChange}\n\t\t\t\toptions={options}\n\t\t\t\tclearable selection fluid\n\t\t\t/>\n\t\t)\n\t}\n\n\tconst user = users.find(user => user.raw.id === displayValue)\n\treturn get(user, 'name') || '-'\n}\n","import React, { useEffect } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useSelections } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, users }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`) || value\n\tconst options = users.map(user => {\n\t\treturn {\n\t\t\tkey: user.raw.id,\n\t\t\ttext: user.name,\n\t\t\tvalue: user.raw.id,\n\t\t}\n\t})\n\n\tconst { selected, isSelected, toggle, unSelectAll, setSelected } = useSelections(options.map(option => option.value), value)\n\tconst isEditing = get(row, 'state.isEditing')\n\n\tuseEffect(() => {\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: selected,\n\t\t\t},\n\t\t})\n\t}, [selected])\n\n\tuseEffect(() => {\n\t\tsetSelected(displayValue || [])\n\t}, [value, isEditing])\n\n\tif (isEditing) {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tplaceholder={t('maintenance:userDropdown.placeholder')}\n\t\t\t\ttext={selected.length > 0 ? t('maintenance:userDropdown.label', { count: selected.length }) : null}\n\t\t\t\tvalue={selected}\n\t\t\t\tonChange={() => unSelectAll()}\n\t\t\t\tclearable multiple selection fluid\n\t\t\t>\n\t\t\t\t<Dropdown.Menu>\n\t\t\t\t\t{options.map(option =>\n\t\t\t\t\t\t<Dropdown.Item\n\t\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\t\t{...option}\n\t\t\t\t\t\t\tactive={isSelected(option.value)}\n\t\t\t\t\t\t\tonClick={() => toggle(option.value)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Dropdown.Menu>\n\t\t\t</Dropdown>\n\t\t)\n\t}\n\n\tlet text = t('maintenance:userDropdown.empty')\n\tif (Array.isArray(value) && value.length > 0) {\n\t\ttext = t('maintenance:userDropdown.label', { count: value.length })\n\t}\n\n\treturn text\n}\n","import React from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, vehicles }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`) || value\n\tconst options = vehicles.map(vehicle => {\n\t\treturn {\n\t\t\tkey: vehicle.raw.id,\n\t\t\ttext: vehicle.raw.licensePlate,\n\t\t\tvalue: vehicle.raw.id,\n\t\t}\n\t})\n\n\tconst onChange = (e, data) => {\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tplaceholder={t('maintenance:vehicleDropdown.placeholder')}\n\t\t\t\tvalue={displayValue}\n\t\t\t\tonChange={onChange}\n\t\t\t\toptions={options}\n\t\t\t\tclearable selection fluid\n\t\t\t/>\n\t\t)\n\t}\n\n\tconst vehicle = vehicles.find(vehicle => vehicle.raw.id === displayValue)\n\treturn get(vehicle, 'raw.licensePlate') || '-'\n}\n","import React, { useMemo, useState } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nexport default function ({ value, row, column, vehicleGroups }) {\n\tconst { t } = useTranslation(['maintenance'])\n\tconst [displayValue, setDisplayValue] = useState(row.state.edited[column.id] || value || null)\n\n\tconst options = useMemo(\n\t\t() => {\n\t\t\treturn vehicleGroups.map(vehicleGroup => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: vehicleGroup.raw.id,\n\t\t\t\t\ttext: vehicleGroup.raw.name,\n\t\t\t\t\tvalue: vehicleGroup.raw.id\n\t\t\t\t}\n\t\t\t})\n\t\t}, [vehicleGroups])\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tclassName='vehicle-group-dropdown'\n\t\t\tsearch\n\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\tvalue={displayValue}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tselection fluid\n\t\t\tclearable\n\t\t/>\n\t}\n\n\tconst vehicleGroup = vehicleGroups.find(group => group.raw.id === displayValue)\n\treturn get(vehicleGroup, 'raw.name') || '-'\n}\n","import React, { useEffect } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useSelections } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport { get, isEqual } from 'lodash'\n\nexport default function ({ value, row, column, vehicles, scope }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst dropdownType = scope === 'machinery' ? 'machineryDropdown' : 'vehicleDropdown'\n\tconst displayValue = get(row, `state.edited[\"${column.id}\"]`) || value\n\tconst options = vehicles.map(vehicle => {\n\t\treturn {\n\t\t\tkey: vehicle.raw.id,\n\t\t\ttext: vehicle.raw.licensePlate,\n\t\t\tvalue: vehicle.raw.id,\n\t\t}\n\t})\n\tconst getTextLabel = selected => selected.length > 1 ? 'label_plural' : 'label'\n\n\tconst { selected, isSelected, toggle, selectAll, unSelectAll, setSelected } = useSelections(options.map(option => option.value), value)\n\tconst isEditing = get(row, 'state.isEditing')\n\n\tuseEffect(() => {\n\t\tlet newValue = selected\n\t\tif (isEqual(selected, options.map(option => option.value))) {\n\t\t\tnewValue = null\n\t\t}\n\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: newValue,\n\t\t\t},\n\t\t})\n\t}, [selected])\n\n\tuseEffect(() => {\n\t\tif (value == null || value?.length === 0) { return selectAll() }\n\n\t\tsetSelected(displayValue || [])\n\t}, [value, isEditing])\n\n\tif (isEditing) {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tplaceholder={t(`maintenance:${dropdownType}.placeholder`)}\n\t\t\t\ttext={selected?.length > 0\n\t\t\t\t\t? t(`maintenance:${dropdownType}.${getTextLabel(selected)}`, { count: selected?.length })\n\t\t\t\t\t: null}\n\t\t\t\tvalue={selected}\n\t\t\t\tonChange={() => unSelectAll()}\n\t\t\t\tclearable multiple selection fluid\n\t\t\t>\n\t\t\t\t<Dropdown.Menu>\n\t\t\t\t\t{options.map(option =>\n\t\t\t\t\t\t<Dropdown.Item\n\t\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\t\t{...option}\n\t\t\t\t\t\t\tactive={isSelected(option.value)}\n\t\t\t\t\t\t\tonClick={() => toggle(option.value)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Dropdown.Menu>\n\t\t\t</Dropdown>\n\t\t)\n\t}\n\n\tlet text = t('maintenance:vehicleDropdown.empty')\n\tif (Array.isArray(selected) && selected.length > 0) {\n\t\ttext = t(`maintenance:${dropdownType}.${getTextLabel(selected)}`, { count: selected.length })\n\t}\n\n\treturn text\n}\n","import React, { useEffect, useState } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { find, get } from 'lodash'\n\nexport default function ({ value, row, column, options, arrayOfInputs, onChangeInput }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst [displayValue, setDisplayValue] = useState(row.state.edited[column.id] || value)\n\n\tuseEffect(() => {\n\t\tif (arrayOfInputs && arrayOfInputs.length > 0 && arrayOfInputs.length > row.index) {\n\t\t\tsetDisplayValue(arrayOfInputs[row.index].visibleInput)\n\t\t}\n\t}, [arrayOfInputs, row])\n\n\tconst isDisabled = () => {\n\t\treturn ('raw.required' in row.state.edited) ? row.state.edited['raw.required'] : row.values['raw.required']\n\t}\n\n\tuseEffect(() => {\n\t\tif (isDisabled()) {\n\t\t\tsetDisplayValue(true)\n\t\t}\n\t}, [row])\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\tonChangeInput(row.index, 'visibleInput', data.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row.state.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\tdisabled={isDisabled()}\n\t\t\tvalue={displayValue}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tselection fluid\n\t\t/>\n\t}\n\n\tif (displayValue == null) { return '-' }\n\n\treturn find(options, { value: displayValue }).text\n}\n","import React, { useState } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { find, get } from 'lodash'\n\nexport default function ({ value, row, column, options }) {\n\tconst { t } = useTranslation(['maintenance'])\n\n\tconst [displayValue, setDisplayValue] = useState(row?.state?.edited[column.id] || value)\n\n\tconst onChange = (e, data) => {\n\t\tsetDisplayValue(data.value)\n\t\trow.setState({\n\t\t\t...row.state,\n\t\t\tedited: {\n\t\t\t\t...row?.state?.edited,\n\t\t\t\t[column.id]: data.value,\n\t\t\t},\n\t\t})\n\t}\n\n\tif (get(row, 'state.isEditing')) {\n\t\treturn <Dropdown\n\t\t\tplaceholder={t('maintenance:typePicker.placeholder')}\n\t\t\tvalue={displayValue}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tselection fluid\n\t\t/>\n\t}\n\n\tif (displayValue === null) { return '-' }\n\n\treturn find(options, { value: displayValue })?.text || '-'\n}\n","import React, { useMemo, useState, Fragment } from 'react'\nimport { Table, Icon, Loader } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters, useExpanded } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has } from 'lodash'\nimport PropTypes from 'prop-types'\nimport EditableInputCellForTmsClients from './Cell/EditableInputCellForTmsClients'\nimport ActionsCellForTmsClients from './Cell/ActionsCellForTmsClients'\nimport EditableDateTimePicker from './Cell/EditableDateTimePicker'\nimport EditableInputNumberWithDecimales from './Cell/EditableInputNumberWithDecimales'\nimport EditableInputForEmailAddress from './Cell/EditableInputForEmailAddress'\nimport EditableTelephoneNumberCell from './Cell/EditableTelephoneNumberCell'\nimport EditableInputCellForBooleanCheckbox from './Cell/EditableInputCellForBooleanCheckbox'\nimport EditableListOptionsCell from './Cell/EditableListOptionsCell'\nimport EditableInputCell from './Cell/EditableInputCell'\n\nconst ClientsTable = ({\n\tdata,\n\tisLoading = false,\n\tclientProperties,\n\teditable,\n\tonSave,\n\trenderRowSubComponent,\n\tonRemove,\n\tsetEditable,\n\t...props\n}) => {\n\tconst { t } = useTranslation(['common', 'clients-tms'])\n\n\tconst [validObject, setValidObject] = useState({})\n\n\tconst showInputByDataType = (clientProperty, props) => {\n\t\tif (clientProperty.raw?.dataType && clientProperty.raw.dataType.split(':')[0] === 'list') {\n\t\t\tconst options = []\n\t\t\tconst arrayOfChoices = (clientProperty.raw.dataType.split(':')[1]).split(',')\n\t\t\tfor (const choice of arrayOfChoices) {\n\t\t\t\toptions.push({\n\t\t\t\t\tkey: choice,\n\t\t\t\t\ttext: choice,\n\t\t\t\t\tvalue: choice,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (options?.length) {\n\t\t\t\treturn <EditableListOptionsCell\n\t\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\t\tpropertyID={clientProperty.raw.id}\n\t\t\t\t\trequired={clientProperty.raw.required}\n\t\t\t\t\toptions={options}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t}\n\t\t}\n\t\tswitch (clientProperty.raw.dataType) {\n\t\tcase 'string':\n\t\t\treturn <EditableInputCellForTmsClients\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={clientProperty.raw.id}\n\t\t\t\trequired={clientProperty.raw.required}\n\t\t\t\ttype='text'\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'date':\n\t\t\treturn <EditableDateTimePicker\n\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={clientProperty.raw.id}\n\t\t\t\trequired={clientProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'number':\n\t\t\treturn <EditableInputNumberWithDecimales\n\t\t\t\tnumberValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={clientProperty.raw.id}\n\t\t\t\trequired={clientProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'email':\n\t\t\treturn <EditableInputForEmailAddress\n\t\t\t\temailValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={clientProperty.raw.id}\n\t\t\t\trequired={clientProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'telephone':\n\t\t\treturn <EditableTelephoneNumberCell\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={clientProperty.raw.id}\n\t\t\t\trequired={clientProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'checkbox':\n\t\t\treturn <EditableInputCellForBooleanCheckbox\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tproperty={clientProperty}\n\t\t\t\trequired={clientProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tdefault:\n\t\t\treturn <EditableInputCellForTmsClients\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={clientProperty.raw.id}\n\t\t\t\trequired={clientProperty.raw.required}\n\t\t\t\ttype='text' {...props}\n\t\t\t/>\n\t\t}\n\t}\n\n\tconst columns = useMemo(() => {\n\t\tif (data) {\n\t\t\tconst tempColumn = [\n\t\t\t\t{\n\t\t\t\t\tHeader: t('clients-tms:header.name'),\n\t\t\t\t\taccessor: 'raw.name',\n\t\t\t\t\tCell: props => <EditableInputCell\n\t\t\t\t\t\tplaceholder={t('clients-tms:header.name')}\n\t\t\t\t\t\ttype='text'\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: 'Contact persons',\n\t\t\t\t\tCell: props => <span>{props?.row?.original?.raw?.contactPersons?.length || '-'}</span>,\n\t\t\t\t}\n\t\t\t]\n\t\t\tif (clientProperties && clientProperties.length > 0) {\n\t\t\t\tclientProperties.map((clientProperty, index) => {\n\t\t\t\t\tif (clientProperty.raw.visible) {\n\t\t\t\t\t\ttempColumn.push({\n\t\t\t\t\t\t\tHeader: clientProperty.raw.groupID === '000000' ? t(`settings-tms:${clientProperty.raw.name}`) : clientProperty.raw.name,\n\t\t\t\t\t\t\taccessor: client => client.raw.properties.find(property => property?.id === clientProperty.raw.id)?.value,\n\t\t\t\t\t\t\tid: `raw.properties[${index}].value`,\n\t\t\t\t\t\t\tCell: props => showInputByDataType(clientProperty, props),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\ttempColumn.push({\n\t\t\t\tid: 'actions',\n\t\t\t\tstyle: {\n\t\t\t\t\twidth: 90,\n\t\t\t\t},\n\t\t\t\tCell: props => <ActionsCellForTmsClients\n\t\t\t\t\t{...props}\n\t\t\t\t\tclientProperties={clientProperties}\n\t\t\t\t\tvalidObject={validObject}\n\t\t\t\t\tdisableSaveButton={false}\n\t\t\t\t\tsetEditable={setEditable}\n\t\t\t\t\tonSave={onSave}\n\t\t\t\t\tonRemove={onRemove}\n\t\t\t\t\teditable={editable}\n\t\t\t\t/>,\n\t\t\t})\n\t\t\treturn tempColumn\n\t\t}\n\t}, [clientProperties, data])\n\n\tconst rowClassName = (row) => {\n\t\tif (!row) return\n\t\tlet className = ''\n\t\tif (row?.expanded) className = 'expanded'\n\t\tif (!row?.original?.raw?.id) className = `${className} new-line-color`\n\t\treturn className\n\t}\n\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {}, isExpanded: false })\n\t\t},\n\t}, useRowState, useFilters, useExpanded)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tvisibleColumns,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\tisLoading ? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t: <Table {...getTableProps()} {...props}>\n\t\t\t\t<Table.Header>\n\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t))}\n\t\t\t\t</Table.Header>\n\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t{rows.map(row => {\n\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Fragment key={row.id} {...row.getRowProps()}>\n\t\t\t\t\t\t\t\t<Table.Row\n\t\t\t\t\t\t\t\t\tclassName={rowClassName(row)}\n\t\t\t\t\t\t\t\t\tonClick={() => !editable && row.toggleRowExpanded(!row.isExpanded)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t\t{(row.isExpanded && row.original?.raw.id) ? (\n\t\t\t\t\t\t\t\t\t<Table.Row className={row.isExpanded ? 'expanded expansion noHover' : null}>\n\t\t\t\t\t\t\t\t\t\t<Table.Cell colSpan={visibleColumns.length}>\n\t\t\t\t\t\t\t\t\t\t\t{renderRowSubComponent({ row })}\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</Table.Body>\n\t\t\t</Table>\n\t)\n}\n\nClientsTable.propTypes = {\n\tdata: PropTypes.array,\n\tisLoading: PropTypes.bool,\n\trenderRowSubComponent: PropTypes.func,\n\tclientProperties: PropTypes.array,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\teditable: PropTypes.bool,\n\tsetEditable: PropTypes.func,\n}\n\nexport default ClientsTable\n","import React, { useMemo, useEffect, useState } from 'react'\nimport { Table, Loader } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters, usePagination } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has } from 'lodash'\nimport PropTypes from 'prop-types'\nimport ActionsCellForTmsCombinedTransportCosts from './Cell/ActionsCellForTmsCombinedTransportCosts'\nimport EditableInputCell from './Cell/EditableInputCell'\n\nconst CombinedTransportCostTable = ({ data, onSave, onRemove, isLoading, reloadFirstPageOfCombinedTransportCost, ...props }) => {\n\tconst { t } = useTranslation(['common', 'settings-tms'])\n\n\tconst [pageNumberState, setPageNumberState] = useState(null)\n\tconst [pageSizeState, setPageSizeState] = useState(null)\n\n\tconst columns = useMemo(() => [\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.name'),\n\t\t\taccessor: 'raw.name',\n\t\t},\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.cost'),\n\t\t\taccessor: 'raw.cost',\n\t\t\tCell: props => <EditableInputCell type='text' {...props} />,\n\t\t},\n\t\t{\n\t\t\tid: 'actions',\n\t\t\tstyle: {\n\t\t\t\twidth: 90,\n\t\t\t},\n\t\t\tCell: props => {\n\t\t\t\treturn (<ActionsCellForTmsCombinedTransportCosts\n\t\t\t\t\t{...props}\n\t\t\t\t\tonSave={onSave}\n\t\t\t\t\tonRemove={onRemove}\n\t\t\t\t/>)\n\t\t\t},\n\t\t},\n\t], [data])\n\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialState: { pageIndex: 0, pageSize: 20 },\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {}, isVisible: row?.raw?.groupID !== '000000' })\n\t\t},\n\t}, useRowState, useFilters, usePagination)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\tpage,\n\t\tprepareRow,\n\t\tgotoPage,\n\t\tnextPage,\n\t\tpreviousPage,\n\t\tsetPageSize,\n\t\tstate: { pageIndex, pageSize },\n\t} = tableInstance\n\n\tuseEffect(() => {\n\t\tif (!(pageNumberState + 1)) return\n\t\treloadFirstPageOfCombinedTransportCost({ limit: pageSizeState || 20, page: pageNumberState + 1 })\n\t}, [pageNumberState, pageSizeState])\n\n\treturn (\n\t\tisLoading ? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t: (\n\t\t\t\t<>\n\t\t\t\t\t<Table {...getTableProps()} {...props}>\n\t\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Header>\n\t\t\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t\t\t{page.map((row, index) => {\n\t\t\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<tr key={index} {...row.getRowProps()}>\n\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, cellIndex) => {\n\t\t\t\t\t\t\t\t\t\t\treturn <td key={cellIndex} {...cell.getCellProps()}>{cell.render('Cell')}</td>\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Table.Body>\n\t\t\t\t\t</Table>\n\t\t\t\t\t<div className='pagination'>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tpreviousPage()\n\t\t\t\t\t\t\t\tsetPageNumberState(pageNumberState - 1)\n\t\t\t\t\t\t\t}} disabled={!pageNumberState}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{'<'}\n\t\t\t\t\t\t</button>{' '}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tnextPage()\n\t\t\t\t\t\t\t\tsetPageNumberState(pageNumberState + 1)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{'>'}\n\t\t\t\t\t\t</button>{' '}\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\tPage{' '}\n\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\t{pageNumberState + 1} {/* of {pageOptions.length} */}\n\t\t\t\t\t\t\t</strong>{' '}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\t\t\tvalue={pageNumberState + 1 || 1}\n\t\t\t\t\t\t\t\tonChange={e => {\n\t\t\t\t\t\t\t\t\tconst page = e.target.value ? Number(e.target.value) - 1 : 0\n\t\t\t\t\t\t\t\t\tsetPageNumberState(page)\n\t\t\t\t\t\t\t\t\tgotoPage(page)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tstyle={{ width: '100px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>{' '}\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\tvalue={pageSize} onChange={e => {\n\t\t\t\t\t\t\t\tsetPageSize(Number(e.target.value))\n\t\t\t\t\t\t\t\tsetPageSizeState(Number(e.target.value))\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{[10, 20, 30, 40, 50].map(pageSize => (\n\t\t\t\t\t\t\t\t<option key={pageSize} value={pageSize}>\n\t\t\t\t\t\t\t\t\tShow {pageSize}\n\t\t\t\t\t\t\t\t</option>))}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t</>)\n\t)\n}\n\nCombinedTransportCostTable.propTypes = {\n\tdata: PropTypes.array,\n\trenderRowSubComponent: PropTypes.func,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tonCancel: PropTypes.func,\n\treloadFirstPageOfCombinedTransportCost: PropTypes.func,\n\tisLoading: PropTypes.bool,\n}\n\nexport default CombinedTransportCostTable\n","import React, { useMemo, useState, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTable, useRowState, useFilters } from 'react-table'\nimport { Table, Loader, Grid, Button } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport ActionsCellForContactPersons from './Cell/ActionsCellForContactPersons'\nimport EditableInputCellForTmsClients from './Cell/EditableInputCellForTmsClients'\n\nconst ContactPersonsTable = ({ client, contactPersons, reloadClients, isLoading, updateClient, setEditable, ...props }) => {\n\tconst { t } = useTranslation(['common', 'settings-tms'])\n\n\tconst [creationTimestamp, setCreationTimestamp] = useState(null)\n\tconst [data, setData] = useState(contactPersons)\n\n\tuseEffect(() => {\n\t\tif (!creationTimestamp) {\n\t\t\tsetData(contactPersons)\n\t\t\treturn\n\t\t}\n\t\tconst tempData = [...data]\n\t\ttempData.push({ email: '', first_name: '', last_name: '', phone: '', position: '', isEditing: true })\n\t\treturn setData(tempData)\n\t}, [creationTimestamp])\n\n\tconst onRemove = async (indexOfContactPerson) => {\n\t\tconst editedContactPersons = [...client.raw?.contactPersons]\n\t\teditedContactPersons.splice(indexOfContactPerson, 1)\n\n\t\tsetData(editedContactPersons)\n\n\t\tconst editedClient = {\n\t\t\traw: {\n\t\t\t\t...client.raw,\n\t\t\t\tcontactPersons: editedContactPersons\n\t\t\t}\n\t\t}\n\t\tawait updateClient({\n\t\t\tnewItem: editedClient.raw,\n\t\t\toldItem: client.raw\n\t\t})\n\t\tsetEditable(false)\n\t\treloadClients()\n\t}\n\n\tconst onSave = async (edited, indexOfEditedContactPerson, finishEditing) => {\n\t\tdelete edited.valid\n\t\tdelete edited.isEditing\n\n\t\tif (!client.raw?.contactPersons?.length) {\n\t\t\tconst editedClient = {\n\t\t\t\traw: {\n\t\t\t\t\t...client.raw,\n\t\t\t\t\tcontactPersons: [edited]\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait updateClient({\n\t\t\t\tnewItem: editedClient.raw,\n\t\t\t\toldItem: client.raw\n\t\t\t})\n\t\t\tsetEditable(false)\n\t\t\treloadClients()\n\t\t} else {\n\t\t\tconst editedContactPersons = JSON.parse(JSON.stringify(client.raw?.contactPersons))\n\t\t\tif (indexOfEditedContactPerson > editedContactPersons?.length - 1) {\n\t\t\t\teditedContactPersons.push(edited)\n\t\t\t} else {\n\t\t\t\tfor (const key in edited) {\n\t\t\t\t\teditedContactPersons[indexOfEditedContactPerson][key] = edited[key]\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst editedClient = {\n\t\t\t\traw: {\n\t\t\t\t\t...client.raw,\n\t\t\t\t\tcontactPersons: [...editedContactPersons]\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait updateClient({\n\t\t\t\tnewItem: editedClient.raw,\n\t\t\t\toldItem: client.raw\n\t\t\t})\n\t\t\tsetEditable(false)\n\t\t\treloadClients()\n\t\t}\n\t}\n\n\tconst columns = useMemo(() => {\n\t\tif (data) {\n\t\t\tconst tempColumn = [\n\t\t\t\t{\n\t\t\t\t\tid: 'actions',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 45,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <ActionsCellForContactPersons\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t\tonSave={onSave}\n\t\t\t\t\t\tonRemove={onRemove}\n\t\t\t\t\t/>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: 'Email',\n\t\t\t\t\taccessor: 'email',\n\t\t\t\t\tCell: props => <EditableInputCellForTmsClients type='text' {...props} />,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: 'First name',\n\t\t\t\t\taccessor: 'first_name',\n\t\t\t\t\tCell: props => <EditableInputCellForTmsClients type='text' {...props} />,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: 'Last name',\n\t\t\t\t\taccessor: 'last_name',\n\t\t\t\t\tCell: props => <EditableInputCellForTmsClients type='text' {...props} />,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: 'Phone',\n\t\t\t\t\taccessor: 'phone',\n\t\t\t\t\tCell: props => <EditableInputCellForTmsClients type='text' {...props} />,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: 'Position',\n\t\t\t\t\taccessor: 'position',\n\t\t\t\t\tCell: props => <EditableInputCellForTmsClients type='text' {...props} />,\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn tempColumn\n\t\t}\n\t}, [data])\n\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: row.isEditing, edited: {} })\n\t\t},\n\t}, useRowState, useFilters)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\tisLoading ? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t: <>\n\t\t\t\t<Grid.Row columns={2}>\n\t\t\t\t\t<Grid.Column width={14} />\n\t\t\t\t\t<Grid.Column width={2}>\n\t\t\t\t\t\t<Button className='add add-contact-persons-btn' content={t('clients-tms:actions.add')} onClick={() => setCreationTimestamp(new Date().getTime())} />\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</Grid.Row>\n\t\t\t\t<Table {...getTableProps()} {...props}>\n\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Header>\n\t\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t\t{rows.map(row => {\n\t\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Table.Row key={row.id} {...row.getRowProps()}>\n\t\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Table.Body>\n\t\t\t\t</Table>\n\t\t\t</>\n\t)\n}\n\nContactPersonsTable.propTypes = {\n\tclient: PropTypes.object,\n\tcontactPersons: PropTypes.array,\n\treloadClients: PropTypes.func,\n\tisLoading: PropTypes.bool,\n\tupdateClient: PropTypes.func,\n\tsetEditable: PropTypes.func,\n}\n\nexport default ContactPersonsTable\n","import React, { useMemo, useState } from 'react'\nimport { Table, Loader } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has } from 'lodash'\nimport PropTypes from 'prop-types'\nimport ActionsCellForTmsOrders from './Cell/ActionsCellForTmsOrders'\nimport EditableOrderStatusCell from './Cell/EditableOrderStatusCell'\nimport EditableInputCellForTmsClients from './Cell/EditableInputCellForTmsClients'\nimport EditableDateTimePicker from './Cell/EditableDateTimePicker'\nimport EditableInputNumberWithDecimales from './Cell/EditableInputNumberWithDecimales'\nimport EditableInputForEmailAddress from './Cell/EditableInputForEmailAddress'\nimport EditableTelephoneNumberCell from './Cell/EditableTelephoneNumberCell'\nimport EditableInputCellForBooleanCheckbox from './Cell/EditableInputCellForBooleanCheckbox'\nimport EditableListOptionsCell from './Cell/EditableListOptionsCell'\nimport EditableInputCellForLocationPicker from './Cell/EditableInputCellForLocationPicker'\nimport EditableInputCellForReff from './Cell/EditableInputCellForReff'\nimport EditableInputCellForLoadAndUnloadLocationPicker from './Cell/EditableInputCellForLoadAndUnloadLocationPicker'\n\nconst TmsStatusOrderTable = ({ data, mapsAPI, onSave, clients, transportOrders = null, clientProperties, users, vehicles, vehicleGroups, orderProperties, orderStatus, onRemove, onRemoveFreight, isLoading, reloadOrdersTmsFreight, ...props }) => {\n\tconst { t } = useTranslation(['common', 'settings-tms', 'map'])\n\n\tconst [validObject, setValidObject] = useState({})\n\n\tconst showInputByDataType = (orderProperty, props, transportOrderID) => {\n\t\tif (orderProperty.raw?.dataType && orderProperty.raw.dataType?.includes('list')) {\n\t\t\tconst options = []\n\t\t\tconst arrayOfChoices = (orderProperty.raw.dataType.split(':')[1]).split(',')\n\t\t\tfor (const choice of arrayOfChoices) {\n\t\t\t\toptions.push({\n\t\t\t\t\tkey: choice,\n\t\t\t\t\ttext: choice,\n\t\t\t\t\tvalue: choice,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (options?.length) {\n\t\t\t\treturn <EditableListOptionsCell disabled={orderProperty?.raw?.locked} setValidObject={setValidObject} propertyID={orderProperty?.raw?.id} required={orderProperty?.raw?.required} options={options} {...props} />\n\t\t\t}\n\t\t}\n\t\tif (orderProperty.raw?.dataType && orderProperty.raw.dataType.includes('ref')) {\n\t\t\tconst selectedTransportOrder = transportOrders.find(transport => transport.raw.id === transportOrderID)\n\t\t\treturn <EditableInputCellForReff\n\t\t\t\tclientProperties={clientProperties}\n\t\t\t\torderProperties={orderProperties}\n\t\t\t\tclients={clients}\n\t\t\t\tusers={users}\n\t\t\t\tvehicles={vehicles}\n\t\t\t\tvehicleGroups={vehicleGroups}\n\t\t\t\tdataType={orderProperty.raw.dataType}\n\t\t\t\tselectedTransportOrder={selectedTransportOrder}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t}\n\t\tswitch (orderProperty.raw.dataType) {\n\t\tcase 'string':\n\t\t\treturn <EditableInputCellForTmsClients\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\ttype='text'\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'date':\n\t\t\treturn <EditableDateTimePicker\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'number':\n\t\t\treturn <EditableInputNumberWithDecimales\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tnumberValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'email':\n\t\t\treturn <EditableInputForEmailAddress\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\temailValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'telephone':\n\t\t\treturn <EditableTelephoneNumberCell\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'checkbox':\n\t\t\treturn <EditableInputCellForBooleanCheckbox\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tproperty={orderProperty}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'location':\n\t\t\treturn <EditableInputCellForLocationPicker\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tdefault:\n\t\t\treturn <EditableInputCellForTmsClients\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\ttype='text'\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t}\n\t}\n\n\tconst columns = useMemo(() => {\n\t\tif (data) {\n\t\t\tconst tempColumn = [\n\t\t\t\t{\n\t\t\t\t\tid: 'actions',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tmaxWidth: 10,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <ActionsCellForTmsOrders\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t\torderProperties={orderProperties}\n\t\t\t\t\t\tvalidObject={validObject}\n\t\t\t\t\t\ttypeOfOrder='freight'\n\t\t\t\t\t\tonSave={onSave}\n\t\t\t\t\t\tnotMap\n\t\t\t\t\t\tonRemove={onRemove}\n\t\t\t\t\t\tonRemoveFreight={onRemoveFreight}\n\t\t\t\t\t/>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: t('settings-tms:tms.tableHeader.source'),\n\t\t\t\t\taccessor: 'raw.source',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 50,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: t('settings-tms:tms.tableHeader.status'),\n\t\t\t\t\taccessor: row => (row.raw?.statusHistory && row.raw.statusHistory?.length > 0) ? row.raw.statusHistory[0]?.status_id : '',\n\t\t\t\t\tCell: props => (props.row?.original?.raw?.id && orderStatus.filter(status => status.raw.source === props.row.original.raw?.source)?.length)\n\t\t\t\t\t\t? <EditableOrderStatusCell\n\t\t\t\t\t\t\tfreight={props.row?.original}\n\t\t\t\t\t\t\treloadOrdersTmsFreight={reloadOrdersTmsFreight}\n\t\t\t\t\t\t\torderStatus={orderStatus.filter(status => status.raw.source === props.row?.original.raw?.source)}\n\t\t\t\t\t\t\ttype='text'\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t/> : '-',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: t('settings-tms:tms.tableHeader.updatedAt'),\n\t\t\t\t\taccessor: 'raw.updatedAt',\n\t\t\t\t\tCell: props => <span>{props?.row?.original?.raw?.updatedAt ? moment(props?.row?.original?.raw?.updatedAt).format('DD.MM.YYYY HH:mm') : '-'}</span>,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: t('settings-tms:tms.tableHeader.loadAddress'),\n\t\t\t\t\taccessor: 'raw.waypoints.0.address',\n\t\t\t\t\tCell: props => <EditableInputCellForLoadAndUnloadLocationPicker\n\t\t\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t\t\twaypoint={props?.row?.original?.raw?.waypoints?.length && props?.row?.original?.raw?.waypoints[0]}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 60,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: t('settings-tms:tms.tableHeader.expectedDeparture'),\n\t\t\t\t\taccessor: 'raw.waypoints.0.departure_expected',\n\t\t\t\t\tCell: props => <span>{(props?.row?.original?.raw?.waypoints?.length && props?.row?.original?.raw?.waypoints[0].departure_expected) ? moment(props?.row?.original?.raw?.waypoints[0].departure_expected).format('DD.MM.YYYY HH:mm') : '-'}</span>,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 60,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: t('settings-tms:tms.tableHeader.unloadAddress'),\n\t\t\t\t\taccessor: 'raw.waypoints.1.address',\n\t\t\t\t\tCell: props => <EditableInputCellForLoadAndUnloadLocationPicker\n\t\t\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t\t\twaypoint={props?.row?.original?.raw?.waypoints?.length && props?.row?.original?.raw?.waypoints?.length === 2 && props?.row?.original?.raw?.waypoints[1]}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 60,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: t('settings-tms:tms.tableHeader.expectedArrival'),\n\t\t\t\t\taccessor: 'raw.waypoints.1.arrival_expected',\n\t\t\t\t\tCell: props => <span>{(props?.row?.original?.raw?.waypoints?.length && props?.row?.original?.raw?.waypoints[1].arrival_expected) ? moment(props?.row?.original?.raw?.waypoints[1].arrival_expected).format('DD.MM.YYYY HH:mm') : '-'}</span>,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 60,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: t('settings-tms:tms.tableHeader.date'),\n\t\t\t\t\taccessor: 'raw.date',\n\t\t\t\t\tCell: props => <span>{props?.row?.original?.raw?.date ? moment(props?.row?.original?.raw?.date).format('DD.MM.YYYY HH:mm') : '-'}</span>,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 60,\n\t\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\tif (orderProperties && orderProperties?.length > 0) {\n\t\t\t\torderProperties.map((orderProperty, index) => {\n\t\t\t\t\tif (orderProperty.raw.visible && orderProperty.raw.orderType === 'freight') {\n\t\t\t\t\t\ttempColumn.push({\n\t\t\t\t\t\t\tHeader: orderProperty.raw.groupID === '000000' ? t(`settings-tms:${orderProperty.raw.name}`) : orderProperty.raw.name,\n\t\t\t\t\t\t\taccessor: client => client.raw.properties ? client.raw.properties.find(property => property?.id === orderProperty.raw.id)?.value : '',\n\t\t\t\t\t\t\tid: `raw.properties[${index}].value`,\n\t\t\t\t\t\t\tCell: props => showInputByDataType(orderProperty, props, props.row?.original?.raw?.transportOrderID),\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tmaxWidth: 80,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn tempColumn\n\t\t}\n\t}, [orderProperties, data])\n\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {}, isVisible: row.raw.groupID !== '000000' })\n\t\t},\n\t}, useRowState, useFilters)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\tisLoading ? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t: (\n\t\t\t\t<Table {...getTableProps()} {...props}>\n\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Header>\n\t\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t\t{rows.map(row => {\n\t\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Table.Row key={row.id} {...row.getRowProps()}>\n\t\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Table.Body>\n\t\t\t\t</Table>\n\t\t\t))\n}\n\nTmsStatusOrderTable.propTypes = {\n\tdata: PropTypes.array,\n\tmapsAPI: PropTypes.object,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\treloadOrdersTmsFreight: PropTypes.func,\n\torderProperties: PropTypes.array,\n\torderStatus: PropTypes.array,\n\tonCancel: PropTypes.func,\n\tisLoading: PropTypes.bool,\n\tonRemoveFreight: PropTypes.func,\n\tclients: PropTypes.array,\n\tclientProperties: PropTypes.array,\n\tusers: PropTypes.array,\n\tvehicles: PropTypes.array,\n\tvehicleGroups: PropTypes.array,\n\ttransportOrders: PropTypes.array\n}\n\nexport default TmsStatusOrderTable\n","import React, { Fragment, useMemo } from 'react'\nimport { Table, Icon } from 'semantic-ui-react'\nimport { useTable, useExpanded } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\nimport PropTypes from 'prop-types'\n\nconst MaintenanceEntitiesTable = ({\n\tdata,\n\trenderRowSubComponent,\n\t...props\n}) => {\n\tconst { t } = useTranslation(['common', 'maintenance'])\n\n\tconst columns = useMemo(() => [\n\t\t{\n\t\t\tHeader: () => null,\n\t\t\tid: 'expander',\n\t\t\tstyle: {\n\t\t\t\twidth: 28,\n\t\t\t},\n\t\t\tCell: ({ row }) => (\n\t\t\t\t<span {...row.getToggleRowExpandedProps([\n\t\t\t\t\t{ style: row.style }\n\t\t\t\t])}>\n\t\t\t\t\t{row.isExpanded ? <Icon name='chevron up' color={row.isExpanded ? 'yellow' : null} /> : <Icon name='chevron down' />}\n\t\t\t\t</span>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.table.header.asset'),\n\t\t\taccessor: 'asset',\n\t\t},\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.next-maintenance'),\n\t\t\taccessor: 'upcomingMaintenances.0.displayText',\n\t\t},\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.table.header.counts.overdue'),\n\t\t\taccessor: 'upcomingMaintenancesCount.overdue',\n\t\t},\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.table.header.counts.alert'),\n\t\t\taccessor: 'upcomingMaintenancesCount.alert',\n\t\t},\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.table.header.counts.upcoming'),\n\t\t\taccessor: 'upcomingMaintenancesCount.upcoming',\n\t\t},\n\t], [])\n\n\tconst tableInstance = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tautoResetExpanded: false,\n\t\t},\n\t\tuseExpanded,\n\t\thooks => {\n\t\t\thooks.getCellProps.push((props, { cell }) => {\n\t\t\t\tlet className\n\t\t\t\tif (cell.column.id.includes('upcomingMaintenancesCount')) {\n\t\t\t\t\tclassName = cell.column.id.split('.')[1]\n\t\t\t\t} else if (cell.column.id === 'upcomingMaintenances.0.displayText') {\n\t\t\t\t\tclassName = get(cell.row, 'original.upcomingMaintenances.0.status')\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tclassName,\n\t\t\t\t\t...props,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t\tvisibleColumns,\n\t} = tableInstance\n\n\treturn (\n\t\t<Table {...getTableProps()} {...props}>\n\t\t\t<Table.Header>\n\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Row>\n\t\t\t\t))}\n\t\t\t</Table.Header>\n\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t{rows.map(row => {\n\t\t\t\t\tprepareRow(row)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={row.id} {...row.getRowProps()}>\n\t\t\t\t\t\t\t<Table.Row className={row.isExpanded ? 'expanded' : null}>\n\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t{row.isExpanded ? (\n\t\t\t\t\t\t\t\t<Table.Row className={row.isExpanded ? 'expanded expansion noHover' : null}>\n\t\t\t\t\t\t\t\t\t<Table.Cell colSpan={visibleColumns.length}>\n\t\t\t\t\t\t\t\t\t\t{renderRowSubComponent({ row })}\n\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</Table.Body>\n\t\t</Table>\n\t)\n}\n\nMaintenanceEntitiesTable.propTypes = {\n\tdata: PropTypes.array,\n\trenderRowSubComponent: PropTypes.func,\n}\n\nexport default MaintenanceEntitiesTable\n","import React, { useMemo } from 'react'\nimport { Table } from 'semantic-ui-react'\nimport { useTable, useRowState } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has } from 'lodash'\n\nimport ActionsCell from './Cell/ActionsCell'\nimport EditableInputCell from './Cell/EditableInputCell'\nimport EditableVehiclesCell from './Cell/EditableVehiclesCell'\nimport EditableUsersCell from './Cell/EditableUsersCell'\nimport EditableTypeCell from './Cell/EditableTypeCell'\n\nexport default function MaintenanceRulesTable ({ scope = 'vehicles', data, vehicles, users, onSave, onRemove, ...props }) {\n\tconst { t } = useTranslation(['common', 'maintenance'])\n\n\tconst filteredVehicles = useMemo(() => {\n\t\treturn (vehicles || []).filter(vehicle => {\n\t\t\tswitch (scope) {\n\t\t\tcase 'vehicle': return !['tractor', 'harvester'].includes(vehicle.raw.type)\n\t\t\tcase 'machinery': return ['tractor', 'harvester'].includes(vehicle.raw.type)\n\t\t\tdefault: return false\n\t\t\t}\n\t\t})\n\t}, [vehicles, scope])\n\n\tconst defaultColumn = {\n\t\tCell: EditableInputCell,\n\t}\n\n\tconst columns = useMemo(() => [\n\t\t{\n\t\t\tHeader: t('maintenance:rules.table.header.type'),\n\t\t\taccessor: 'raw.type',\n\t\t\tCell: props => <EditableTypeCell scope={scope} {...props} />,\n\t\t},\n\t\t{\n\t\t\tHeader: t('maintenance:rules.table.header.comment'),\n\t\t\taccessor: 'raw.comments',\n\t\t\tstyle: {\n\t\t\t\twidth: 180,\n\t\t\t},\n\t\t\tCell: props => <EditableInputCell type='text' {...props} />,\n\t\t},\n\t\t...(scope !== 'user' ? [{\n\t\t\tHeader: t('maintenance:rules.table.header.target-value', { context: scope }),\n\t\t\taccessor: 'raw.target.value',\n\t\t\tCell: props => <EditableInputCell type='number' {...props} />,\n\t\t}] : []),\n\t\t{\n\t\t\tHeader: t('maintenance:rules.table.header.target-time'),\n\t\t\taccessor: 'raw.target.time',\n\t\t\tCell: props => <EditableInputCell type='number' {...props} />,\n\t\t},\n\t\t...(scope !== 'user' ? [{\n\t\t\tHeader: t('maintenance:rules.table.header.threshold-value', { context: scope }),\n\t\t\taccessor: 'raw.threshold.value',\n\t\t\tCell: props => <EditableInputCell type='number' {...props} />,\n\t\t}] : []),\n\t\t{\n\t\t\tHeader: t('maintenance:rules.table.header.threshold-time'),\n\t\t\taccessor: 'raw.threshold.time',\n\t\t\tCell: props => <EditableInputCell type='number' {...props} />,\n\t\t},\n\t\t...(scope !== 'user' ? [{\n\t\t\tHeader: t(`maintenance:rules.table.header.${scope === 'machinery' ? 'machineries' : 'vehicles'}`),\n\t\t\taccessor: 'raw.entityIDs',\n\t\t\tCell: props => <EditableVehiclesCell vehicles={filteredVehicles} scope={scope} {...props} />,\n\t\t}] : [{\n\t\t\tHeader: t('maintenance:rules.table.header.users'),\n\t\t\taccessor: 'raw.entityIDs',\n\t\t\tCell: props => <EditableUsersCell users={users} {...props} />,\n\t\t}]),\n\t\t{\n\t\t\tHeader: t('maintenance:rules.table.header.emails'),\n\t\t\taccessor: 'email',\n\t\t\tCell: props => <EditableInputCell type='email' {...props} />,\n\t\t},\n\t\t{\n\t\t\tid: 'actions',\n\t\t\tstyle: {\n\t\t\t\twidth: 90,\n\t\t\t},\n\t\t\tCell: props => <ActionsCell\n\t\t\t\t{...props}\n\t\t\t\tonSave={onSave}\n\t\t\t\tonRemove={onRemove}\n\t\t\t/>,\n\t\t},\n\t], [filteredVehicles, scope])\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tdefaultColumn,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {} })\n\t\t},\n\t}, useRowState)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\t<Table {...getTableProps()} {...props}>\n\t\t\t<Table.Header>\n\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Row>\n\t\t\t\t))}\n\t\t\t</Table.Header>\n\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t{rows.map(row => {\n\t\t\t\t\tprepareRow(row)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Table.Row key={row.id} {...row.getRowProps()}>\n\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</Table.Body>\n\t\t</Table>\n\t)\n}\n","import React, { useMemo } from 'react'\nimport { Table, Button } from 'semantic-ui-react'\nimport { useTable, useRowState } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has } from 'lodash'\n\nimport ActionsCell from './Cell/ActionsCell'\nimport EditableInputCell from './Cell/EditableInputCell'\nimport EditableDateCell from './Cell/EditableDateCell'\nimport EditableUserCell from './Cell/EditableUserCell'\nimport EditableRuleTypeCell from './Cell/EditableRuleTypeCell'\n\nexport default function MaintenanceRulesTable ({ scope = 'vehicle', data, users = [], options, entity, timezone, onAdd, onSave, onRemove, ...props }) {\n\tconst { t } = useTranslation(['common', 'maintenance'])\n\n\tconst defaultColumn = {\n\t\tCell: EditableInputCell,\n\t}\n\n\tconst columns = useMemo(() => [\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.table.header.type'),\n\t\t\taccessor: 'raw.type',\n\t\t\tCell: props => <EditableRuleTypeCell scope={scope} options={options} {...props} />,\n\t\t},\n\t\t...(scope !== 'user' ? [{\n\t\t\tHeader: t('maintenance:maintenances.table.header.value', { context: scope }),\n\t\t\taccessor: 'raw.value',\n\t\t\tCell: props => <EditableInputCell type='number' {...props} />,\n\t\t}] : []),\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.table.header.date'),\n\t\t\taccessor: 'raw.date',\n\t\t\tCell: props => <EditableDateCell timezone={timezone} {...props} />,\n\t\t},\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.table.header.assignee'),\n\t\t\taccessor: 'raw.assignee',\n\t\t\tCell: props => <EditableUserCell users={users} {...props} />,\n\t\t},\n\t\t{\n\t\t\tHeader: t('maintenance:maintenances.table.header.comments'),\n\t\t\taccessor: 'raw.comments',\n\t\t},\n\t\t{\n\t\t\tid: 'actions',\n\t\t\tHeader: () => (\n\t\t\t\t<Button\n\t\t\t\t\tcontent={t('maintenance:maintenances.actions.add')}\n\t\t\t\t\tsize='small'\n\t\t\t\t\tclassName='add'\n\t\t\t\t\tonClick={() => { if (onAdd != null) { onAdd(entity) } }}\n\t\t\t\t\tcompact\n\t\t\t\t/>\n\t\t\t),\n\t\t\tstyle: {\n\t\t\t\twidth: 200,\n\t\t\t},\n\t\t\tclassName: 'right aligned',\n\t\t\tCell: props => <ActionsCell\n\t\t\t\t{...props}\n\t\t\t\tonSave={onSave}\n\t\t\t\tonRemove={onRemove}\n\t\t\t/>,\n\t\t},\n\t], [scope])\n\tconst tableInstance = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tdefaultColumn,\n\t\t\tinitialRowStateAccessor: (row) => {\n\t\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {} })\n\t\t\t},\n\t\t},\n\t\tuseRowState,\n\t\thooks => {\n\t\t\thooks.getCellProps.push((props, { cell }) => {\n\t\t\t\treturn {\n\t\t\t\t\tclassName: cell.column.id === 'actions' ? 'right aligned' : null,\n\t\t\t\t\t...props,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\t<Table {...getTableProps()} {...props}>\n\t\t\t<Table.Header>\n\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\tclassName: column.className,\n\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Row>\n\t\t\t\t))}\n\t\t\t</Table.Header>\n\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t{rows.map(row => {\n\t\t\t\t\tprepareRow(row)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Table.Row key={row.id} {...row.getRowProps()}>\n\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</Table.Body>\n\t\t</Table>\n\t)\n}\n","import React, { useMemo, Fragment, useState } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Table, Loader } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters, useExpanded } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { get, has, filter, uniqBy, difference } from 'lodash'\nimport PropTypes from 'prop-types'\nimport EditableInputCellForTmsClients from './Cell/EditableInputCellForTmsClients'\nimport ActionsCellForTmsOrders from './Cell/ActionsCellForTmsOrders'\nimport EditableVehicleGroup from './Cell/EditableVehicleGroup'\nimport EditableOrderStatusCell from './Cell/EditableOrderStatusCell'\nimport EditableDateTimePicker from './Cell/EditableDateTimePicker'\nimport EditableInputNumberWithDecimales from './Cell/EditableInputNumberWithDecimales'\nimport EditableInputForEmailAddress from './Cell/EditableInputForEmailAddress'\nimport EditableTelephoneNumberCell from './Cell/EditableTelephoneNumberCell'\nimport EditableInputCellForBooleanCheckbox from './Cell/EditableInputCellForBooleanCheckbox'\nimport EditableListOptionsCell from './Cell/EditableListOptionsCell'\nimport EditableInputCell from './Cell/EditableInputCell'\nimport EditableInputCellForLocationPicker from './Cell/EditableInputCellForLocationPicker'\nimport EditableInputCellForReff from './Cell/EditableInputCellForReff'\nimport EditatableListSource from './Cell/EditatableListSource'\nimport EditableExternalIDCell from './Cell/EditableExternalIDCell'\n\nconst OrdersTable = ({\n\tdata,\n\tmapsAPI,\n\tisLoading,\n\tclients,\n\tusers,\n\tvehicles,\n\torderProperties,\n\tclientProperties,\n\tsetEditable,\n\teditable,\n\trenderRowSubComponent,\n\tordersTmsFreight,\n\treloadOrdersTmsFreight,\n\tvehicleGroups,\n\torderStatus,\n\tonSave,\n\tonRemove,\n\t...props\n}) => {\n\tconst tmsTransportOrder = useStoreState(state => state.session.tmsTransportOrder)\n\tconst setTmsTransportOrder = useStoreActions(actions => actions.session.setTmsTransportOrder)\n\n\tconst updateUser = useStoreActions(actions => actions.session.save)\n\n\tconst { t } = useTranslation(['common', 'settings-tms', 'tms/map'])\n\tconst [validObject, setValidObject] = useState({})\n\tconst [movingColumn, setMovingColumn] = useState(null)\n\n\tconst countFreightOrders = (transportID) => {\n\t\treturn filter(ordersTmsFreight, object => object.transportOrderID === transportID).length || 0\n\t}\n\n\tconst showInputByDataType = (orderProperty, props, transportOrderID) => {\n\t\tif (orderProperty.raw?.dataType && orderProperty.raw.dataType.split(':')[0] === 'list') {\n\t\t\tconst options = []\n\t\t\tconst arrayOfChoices = (orderProperty.raw.dataType.split(':')[1]).split(',')\n\t\t\tfor (const choice of arrayOfChoices) {\n\t\t\t\tconst choiceWhitoutWhiteSpaces = choice.replace(/\\s+/g, '')\n\t\t\t\toptions.push({\n\t\t\t\t\tkey: choiceWhitoutWhiteSpaces,\n\t\t\t\t\ttext: choiceWhitoutWhiteSpaces,\n\t\t\t\t\tvalue: choiceWhitoutWhiteSpaces,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (options?.length) {\n\t\t\t\treturn <EditableListOptionsCell\n\t\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t\toptions={options}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t}\n\t\t}\n\t\tif (orderProperty.raw?.dataType && orderProperty.raw.dataType.split(':')[0] === 'ref') {\n\t\t\tconst selectedTransportOrder = data.find(transport => transport.raw.id === transportOrderID)\n\t\t\treturn <EditableInputCellForReff\n\t\t\t\tclientProperties={clientProperties}\n\t\t\t\torderProperties={orderProperties}\n\t\t\t\tclients={clients}\n\t\t\t\tusers={users}\n\t\t\t\tvehicles={vehicles}\n\t\t\t\tvehicleGroups={vehicleGroups}\n\t\t\t\tdataType={orderProperty.raw.dataType}\n\t\t\t\tselectedTransportOrder={selectedTransportOrder}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t}\n\t\tswitch (orderProperty.raw.dataType) {\n\t\tcase 'string':\n\t\t\treturn <EditableInputCellForTmsClients\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\ttype='text'\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'date':\n\t\t\treturn <EditableDateTimePicker\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'number':\n\t\t\treturn <EditableInputNumberWithDecimales\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tnumberValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'email':\n\t\t\treturn <EditableInputForEmailAddress\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\temailValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'telephone':\n\t\t\treturn <EditableTelephoneNumberCell\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'checkbox':\n\t\t\treturn <EditableInputCellForBooleanCheckbox\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tproperty={orderProperty}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tcase 'location':\n\t\t\treturn <EditableInputCellForLocationPicker\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\tdefault:\n\t\t\treturn <EditableInputCellForTmsClients\n\t\t\t\tdisabled={orderProperty.raw?.locked}\n\t\t\t\tregexValidation\n\t\t\t\tsetValidObject={setValidObject}\n\t\t\t\tpropertyID={orderProperty.raw.id}\n\t\t\t\trequired={orderProperty.raw.required}\n\t\t\t\ttype='text' {...props}\n\t\t\t/>\n\t\t}\n\t}\n\n\tconst columns = useMemo(() => {\n\t\tif (!data) return []\n\t\tconst tempColumn = [\n\t\t\t{\n\t\t\t\tid: 'actions',\n\t\t\t\tstyle: {\n\t\t\t\t\twidth: 15,\n\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\theight: 60,\n\t\t\t\t},\n\t\t\t\tCell: props => <ActionsCellForTmsOrders\n\t\t\t\t\t{...props}\n\t\t\t\t\torderProperties={orderProperties}\n\t\t\t\t\tvalidObject={validObject}\n\t\t\t\t\tdisableSaveButton={false}\n\t\t\t\t\ttypeOfOrder='transport'\n\t\t\t\t\tsetEditable={setEditable}\n\t\t\t\t\teditable={editable}\n\t\t\t\t\tonSave={onSave}\n\t\t\t\t\tonRemove={onRemove}\n\t\t\t\t/>,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'name',\n\t\t\t\tHeader: t('settings-tms:tms.tableHeader.name'),\n\t\t\t\tstyle: {\n\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t},\n\t\t\t\taccessor: 'raw.name',\n\t\t\t\tCell: props => <EditableInputCell\n\t\t\t\t\trequired\n\t\t\t\t\tplaceholder={t('settings-tms:tms.tableHeader.name')}\n\t\t\t\t\ttype='text'\n\t\t\t\t\t{...props}\n\t\t\t\t/>,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'source',\n\t\t\t\tHeader: t('settings-tms:tms.tableHeader.source'),\n\t\t\t\tstyle: {\n\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t},\n\t\t\t\taccessor: 'raw.source',\n\t\t\t\tCell: props => props?.row?.original?.raw?.id ? props?.row?.original?.raw?.source : sourceDropdown(props),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'externalID',\n\t\t\t\tHeader: t('tms/map:saveModal.externalID'),\n\t\t\t\tstyle: {\n\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t},\n\t\t\t\taccessor: 'raw.externalID',\n\t\t\t\tCell: props => props?.row?.original?.raw?.id\n\t\t\t\t\t? (props?.row?.original?.raw?.externalID || '-') : externalIDInput(props),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'status',\n\t\t\t\tHeader: t('settings-tms:tms.tableHeader.status'),\n\t\t\t\tstyle: {\n\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t},\n\t\t\t\taccessor: row => {\n\t\t\t\t\tconst freightOrders = filter(ordersTmsFreight, object => object?.transportOrderID === row.raw.id) || []\n\t\t\t\t\treturn freightOrders.length ? get(freightOrders, '0.statusHistory.0.status_id') : null\n\t\t\t\t},\n\t\t\t\tCell: props => filter(ordersTmsFreight, object => object.transportOrderID === props.row?.original?.raw.id).length === 1\n\t\t\t\t\t? <EditableOrderStatusCell\n\t\t\t\t\t\torderStatus={orderStatus.filter(status => status.raw.source === props.row?.original.raw?.source)}\n\t\t\t\t\t\treloadOrdersTmsFreight={reloadOrdersTmsFreight}\n\t\t\t\t\t\tordersTmsFreightFromTransport={filter(ordersTmsFreight, object => object.transportOrderID === props?.row?.original.raw.id)}\n\t\t\t\t\t\trequired type='text'\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/> : <span> -</span>,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'vehicleGroupID',\n\t\t\t\tHeader: t('settings-tms:tms.tableHeader.vehicleGroup'),\n\t\t\t\tstyle: {\n\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t\tminWidth: 200,\n\t\t\t\t},\n\t\t\t\taccessor: 'raw.vehicleGroupID',\n\t\t\t\tCell: props => <EditableVehicleGroup vehicleGroups={vehicleGroups} {...props} />,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'freightNumber',\n\t\t\t\tHeader: t('settings-tms:tms.tableHeader.freightNumber'),\n\t\t\t\tstyle: {\n\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t},\n\t\t\t\taccessor: 'raw.freightNumber',\n\t\t\t\tCell: props => countFreightOrders(props.row?.original?.raw?.id),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'createdAt',\n\t\t\t\tHeader: t('settings-tms:tms.tableHeader.date'),\n\t\t\t\tstyle: {\n\t\t\t\t\tbackgroundColor: '#2f2e2e',\n\t\t\t\t},\n\t\t\t\taccessor: 'raw.createdAt',\n\t\t\t\tCell: props => <span>{props.row?.original?.raw?.createdAt\n\t\t\t\t\t? moment(props.row?.original?.raw?.createdAt).format('DD.MM.YYYY HH:mm') : '-'}\n\t\t\t\t</span>,\n\t\t\t}\n\t\t]\n\t\tif (orderProperties && orderProperties.length > 0) {\n\t\t\torderProperties.map((orderProperty, index) => {\n\t\t\t\tif (orderProperty.raw.visible) {\n\t\t\t\t\ttempColumn.push({\n\t\t\t\t\t\tHeader: orderProperty?.raw?.name?.includes('tms.order.properties') ? t(`settings-tms:${orderProperty.raw.name}`)\n\t\t\t\t\t\t\t: orderProperty.raw.name,\n\t\t\t\t\t\taccessor: client => client.raw.properties\n\t\t\t\t\t\t\t? client.raw.properties.find(property => property?.id === orderProperty.raw.id)?.value : '',\n\t\t\t\t\t\tid: `raw.properties[${index}].value`,\n\t\t\t\t\t\tCell: props => showInputByDataType(orderProperty, props, props.row?.original?.raw?.id)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\treturn tempColumn\n\t}, [orderProperties, data, ordersTmsFreight, vehicleGroups, orderStatus, clients, clientProperties, users, vehicles])\n\n\tconst orderedColumns = useMemo(() => {\n\t\tif (!columns) return []\n\t\tif (!tmsTransportOrder) return columns\n\t\tconst tempColumns = []\n\t\tconst allColumns = tmsTransportOrder.concat(difference(uniqBy(tempColumns.concat(columns), 'id').map(columns => columns.id), tmsTransportOrder))\n\t\tallColumns.forEach(item => {\n\t\t\tconst selectedColumn = columns.find(column => column.id === item)\n\t\t\tif (selectedColumn) {\n\t\t\t\ttempColumns.push(selectedColumn)\n\t\t\t}\n\t\t})\n\n\t\treturn tempColumns\n\t}, [columns, tmsTransportOrder])\n\n\tconst tableInstance = useTable({\n\t\tcolumns: orderedColumns,\n\t\tdata,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {}, isExpanded: false })\n\t\t},\n\t}, useRowState, useFilters, useExpanded)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tvisibleColumns,\n\t\tprepareRow,\n\t} = tableInstance\n\n\tconst onDrop = e => {\n\t\tconst destinationColumn = e.target.dataset.key\n\t\tconst cols = orderedColumns.map((col, index) => { return col.id || `prop-${index}` })\n\n\t\tconst fromIdx = cols.indexOf(movingColumn)\n\t\tconst toIdx = cols.indexOf(destinationColumn)\n\n\t\tif (!movingColumn || !destinationColumn || fromIdx === -1 || toIdx === -1) return false\n\t\tcols.splice(fromIdx, 1)\n\t\tcols.splice(toIdx, 0, movingColumn)\n\t\tsetTmsTransportOrder(cols)\n\t\tupdateUser()\n\t}\n\n\tconst sourceDropdown = (props) => {\n\t\tconst options = [\n\t\t\t{ key: 'tracknamic', value: 'tracknamic', text: 'Tracknamic' },\n\t\t\t{ key: 'samsung', value: 'samsung', text: 'Samsung' },\n\t\t]\n\t\treturn <EditatableListSource options={options} {...props} />\n\t}\n\n\tconst externalIDInput = (props) => {\n\t\treturn <EditableExternalIDCell required={props?.row?.state?.edited?.source === 'samsung'} {...props} />\n\t}\n\n\tconst rowClassName = (row) => {\n\t\tif (!row) return\n\t\tlet className = ''\n\t\tif (row?.expanded) className = 'expanded'\n\t\tif (!row?.original?.raw?.id) className = `${className} new-line-color`\n\t\treturn className\n\t}\n\n\treturn (isLoading ? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t: <Table className='relaxed sticky' {...getTableProps()} {...props}>\n\t\t\t<Table.Header>\n\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\tdata-key={column.id}\n\t\t\t\t\t\t\t\tdraggable\n\t\t\t\t\t\t\t\tonDragStart={(e) => setMovingColumn(e.target.dataset.key)}\n\t\t\t\t\t\t\t\tonDragOver={(e) => {\n\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonDrop={onDrop}\n\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Row>\n\t\t\t\t))}\n\t\t\t</Table.Header>\n\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t{rows.map(row => {\n\t\t\t\t\tprepareRow(row)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={row.id} {...row.getRowProps()}>\n\t\t\t\t\t\t\t<Table.Row\n\t\t\t\t\t\t\t\tclassName={rowClassName(row)}\n\t\t\t\t\t\t\t\tonClick={() => !editable && row.toggleRowExpanded(!row.isExpanded)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t{(row.isExpanded && row?.original?.raw.id) ? (\n\t\t\t\t\t\t\t\t<Table.Row className={row.isExpanded ? 'expanded expansion noHover' : null}>\n\t\t\t\t\t\t\t\t\t<Table.Cell colSpan={visibleColumns.length}>\n\t\t\t\t\t\t\t\t\t\t{renderRowSubComponent({ row })}\n\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</Table.Body>\n    </Table>\n\t)\n}\n\nOrdersTable.propTypes = {\n\tdata: PropTypes.array,\n\tisLoading: PropTypes.bool,\n\tmapsAPI: PropTypes.object,\n\tclients: PropTypes.array,\n\tusers: PropTypes.array,\n\tvehicles: PropTypes.array,\n\trenderRowSubComponent: PropTypes.func,\n\torderProperties: PropTypes.array,\n\tclientProperties: PropTypes.array,\n\tordersTmsFreight: PropTypes.array,\n\tvehicleGroups: PropTypes.array,\n\torderStatus: PropTypes.array,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\treloadOrdersTmsFreight: PropTypes.func,\n\tsetEditable: PropTypes.func,\n\teditable: PropTypes.bool,\n}\n\nexport default OrdersTable\n","import React, { useMemo } from 'react'\nimport { Table } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has } from 'lodash'\nimport PropTypes from 'prop-types'\nimport ActionsCell from './Cell/ActionsCell'\nimport EditableInputCell from './Cell/EditableInputCell'\nimport EditableVehicleCell from './Cell/EditableVehicleCell'\n\nconst RoutesTable = ({ data, vehicles, onSave, onRemove, ...props }) => {\n\tconst { t } = useTranslation(['common', 'routes'])\n\n\tfunction durationAsHM (duration, unit = 's') {\n\t\treturn moment.duration(duration, unit).format('H[h] m[m]')\n\t}\n\n\tconst columns = useMemo(() => [\n\t\t{\n\t\t\tHeader: t('routes:header.route'),\n\t\t\taccessor: 'raw.name',\n\t\t\tCell: props => <EditableInputCell type='text' {...props} />,\n\t\t},\n\t\t{\n\t\t\tHeader: t('routes:header.fromDate'),\n\t\t\taccessor: 'raw.formatedStartDate',\n\t\t\tCell: props => <EditableInputCell type='text' {...props} />,\n\t\t},\n\t\t{\n\t\t\tHeader: t('routes:header.distance'),\n\t\t\taccessor: 'raw.distance',\n\t\t\tCell: props => <EditableInputCell type='text' {...props} />,\n\t\t},\n\t\t{\n\t\t\tHeader: t('routes:header.duration'),\n\t\t\taccessor: row => row?.raw?.duration ? durationAsHM(row.raw.duration, 's') : '-',\n\t\t\tCell: props => <EditableInputCell type='text' {...props} />,\n\t\t},\n\t\t{\n\t\t\tid: 'actions',\n\t\t\tstyle: {\n\t\t\t\twidth: 90,\n\t\t\t},\n\t\t\tCell: props => <ActionsCell\n\t\t\t\t{...props}\n\t\t\t\t// onSave={onSave}\n\t\t\t\tonRemove={onRemove}\n\t\t\t/>,\n\t\t},\n\t], [vehicles, data])\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {} })\n\t\t},\n\t}, useRowState, useFilters)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\t<Table {...getTableProps()} {...props}>\n\t\t\t<Table.Header>\n\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Row>\n\t\t\t\t))}\n\t\t\t</Table.Header>\n\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t{rows.map(row => {\n\t\t\t\t\tprepareRow(row)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Table.Row key={row.id} {...row.getRowProps()}>\n\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</Table.Body>\n\t\t</Table>\n\t)\n}\n\nRoutesTable.propTypes = {\n\tdata: PropTypes.array,\n\trenderRowSubComponent: PropTypes.func,\n\tvehicles: PropTypes.array,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n}\n\nexport default RoutesTable\n","import React, { useMemo, useState, useEffect } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Table, Loader } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has, remove } from 'lodash'\nimport PropTypes from 'prop-types'\nimport ActionsCell from './Cell/ActionsCell'\nimport EditableRequiredPropertyCell from './Cell/EditableRequiredPropertyCell'\nimport EditableTypeOfPropertyCell from './Cell/EditableTypeOfPropertyCell'\nimport EditableVisiblePropertyCell from './Cell/EditableVisiblePropertyCell'\nimport EditableInputCellForTranslationLabel from './Cell/EditableInputCellForTranslationLabel'\n\nconst TmsPropertyTable = ({ data, clientProperties, onSave, onRemove, isLoading, ...props }) => {\n\tconst { t } = useTranslation(['common', 'settings-tms'])\n\n\tconst clients = useStoreState(state => state.clientsTms.items)\n\tconst reloadClients = useStoreActions(actions => actions.clientsTms.reload)\n\n\tconst users = useStoreState(state => state.users.items)\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\n\tconst [arrayOfInputs, setArrayOfInputs] = useState(null)\n\tconst [models, setModels] = useState([\n\t\t{ key: 'Client', value: 'client', text: 'Client' },\n\t\t{ key: 'Driver', value: 'driver', text: 'Driver' },\n\t\t{ key: 'Vehicle', value: 'vehicle', text: 'Tractor unit' },\n\t\t{ key: 'Semitrailer', value: 'semitrailer', text: 'Semitrailer' },\n\t])\n\n\tconst optionsRequired = [\n\t\t{ value: true, text: `${t('common:required')}` },\n\t\t{ value: false, text: `${t('common:notRequired')}` },\n\t]\n\n\tconst optionsVisible = [\n\t\t{ value: true, text: `${t('common:visible')}` },\n\t\t{ value: false, text: `${t('common:hidden')}` },\n\t]\n\n\tconst arrayOfPropertyType = [\n\t\t{ value: 'string', text: 'Text' },\n\t\t{ value: 'number', text: 'Number' },\n\t\t{ value: 'telephone', text: 'Telephone number' },\n\t\t{ value: 'email', text: 'Email address' },\n\t\t{ value: 'list', text: 'List' },\n\t\t{ value: 'date', text: 'Date' },\n\t\t{ value: 'location', text: 'Location' },\n\t\t{ value: 'checkbox', text: 'Checkbox' },\n\t\t{ value: 'ref', text: 'Reference' },\n\t]\n\n\tconst makeArrayOfInputs = () => {\n\t\tlet arrayOfInputsTemp = []\n\t\tif (data) {\n\t\t\tarrayOfInputsTemp = [...data]\n\t\t\tarrayOfInputsTemp = arrayOfInputsTemp.map((object) => {\n\t\t\t\treturn {\n\t\t\t\t\trequiredInput: object.raw.required || false,\n\t\t\t\t\tvisibleInput: object.raw.visible || false,\n\t\t\t\t\tdisable: object.raw.required ? true : false || false,\n\t\t\t\t\tdataType: object.raw.dataType || ''\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tsetArrayOfInputs(arrayOfInputsTemp)\n\t}\n\n\tuseEffect(() => {\n\t\treloadClients()\n\t\treloadUsers()\n\t\treloadVehicles()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tmakeArrayOfInputs()\n\t}, [data])\n\n\tuseEffect(() => {\n\t\tconst tempModels = [...models]\n\t\tif (!clients?.length && !clientProperties?.length) {\n\t\t\tsetModels(remove(tempModels, (model) => model.value !== 'client'))\n\t\t} else {\n\t\t\tif (tempModels?.length && !tempModels.find(model => model.value === 'client')) {\n\t\t\t\ttempModels.push({\n\t\t\t\t\tkey: 'Client',\n\t\t\t\t\tvalue: 'client',\n\t\t\t\t\ttext: 'Client'\n\t\t\t\t})\n\t\t\t\tsetModels(tempModels)\n\t\t\t}\n\t\t}\n\t}, [clients, clientProperties])\n\n\tconst onChangeInput = (index, type, value) => {\n\t\tconst arrayOfInputsTemp = [...arrayOfInputs]\n\t\tarrayOfInputsTemp[index][type] = value\n\t\tsetArrayOfInputs(arrayOfInputsTemp)\n\t}\n\n\tconst translateColumn = (key, row) => {\n\t\treturn t(`settings-tms:${key}`)\n\t}\n\n\tconst columns = useMemo(() => [\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.name'),\n\t\t\taccessor: 'raw.name',\n\t\t\tstyle: {\n\t\t\t\twidth: 300\n\t\t\t},\n\t\t\tCell: props => {\n\t\t\t\treturn props?.row?.state?.isEditing ? <EditableInputCellForTranslationLabel valueTranslated={translateColumn(props?.cell?.value)} type='text' needTranslation={props?.row?.original?.raw?.groupID === '000000'} {...props} /> : <span>{translateColumn(props?.cell?.value)}</span>\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.visible'),\n\t\t\taccessor: 'raw.visible',\n\t\t\tstyle: {\n\t\t\t\twidth: 150\n\t\t\t},\n\t\t\tCell: props => <EditableVisiblePropertyCell type='text' arrayOfInputs={arrayOfInputs} onChangeInput={onChangeInput} options={optionsVisible} {...props} />,\n\t\t},\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.required'),\n\t\t\taccessor: 'raw.required',\n\t\t\tstyle: {\n\t\t\t\twidth: 150\n\t\t\t},\n\t\t\tCell: props => <EditableRequiredPropertyCell type='text' arrayOfInputs={arrayOfInputs} onChangeInput={onChangeInput} options={optionsRequired} {...props} />,\n\t\t},\n\t\t{\n\t\t\tHeader: 'Type',\n\t\t\taccessor: 'raw.dataType',\n\t\t\tCell: props => <EditableTypeOfPropertyCell\n\t\t\t\ttype='text'\n\t\t\t\tclientProperties={clientProperties}\n\t\t\t\tarrayOfInputs={arrayOfInputs}\n\t\t\t\tonChangeInput={onChangeInput}\n\t\t\t\toptions={arrayOfPropertyType}\n\t\t\t\tmodels={models}\n\t\t\t\tclients={clients}\n\t\t\t\tvehicles={vehicles}\n\t\t\t\tusers={users}\n\t\t\t\t{...props}\n\t\t\t/>,\n\t\t},\n\t\t{\n\t\t\tid: 'actions',\n\t\t\tstyle: {\n\t\t\t\twidth: 90,\n\t\t\t},\n\t\t\tCell: props => {\n\t\t\t\treturn (<ActionsCell\n\t\t\t\t\t{...props}\n\t\t\t\t\tisDeletable={props.row?.original?.raw?.groupID !== '000000'}\n\t\t\t\t\tonSave={onSave}\n\t\t\t\t\tonRemove={onRemove}\n\t\t\t\t\tmakeArrayOfInputs={makeArrayOfInputs}\n\t\t\t\t/>)\n\t\t\t},\n\t\t},\n\t], [data, arrayOfInputs, clientProperties, clients, vehicles, users])\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {}, isVisible: row?.raw?.groupID !== '000000' })\n\t\t},\n\t}, useRowState, useFilters)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\tisLoading ? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t: <Table {...getTableProps()} {...props}>\n\t\t\t\t<Table.Header>\n\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t))}\n\t\t\t\t</Table.Header>\n\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t{rows.map(row => {\n\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Table.Row\n\t\t\t\t\t\t\t\tclassName={row?.original?.raw?.id ? '' : 'new-line-color'}\n\t\t\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\t\t\t{...row.getRowProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</Table.Body>\n\t\t\t</Table>\n\t)\n}\n\nTmsPropertyTable.propTypes = {\n\tdata: PropTypes.array,\n\trenderRowSubComponent: PropTypes.func,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tonCancel: PropTypes.func,\n\tisLoading: PropTypes.bool,\n\trefProperty: PropTypes.bool,\n\tclientProperties: PropTypes.array,\n}\n\nexport default TmsPropertyTable\n","import React, { useMemo } from 'react'\nimport { Table, Loader } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has } from 'lodash'\nimport { useReactive } from 'ahooks'\nimport PropTypes from 'prop-types'\nimport ActionsCellForTmsOrderStatus from './Cell/ActionsCellForTmsOrderStatus'\nimport EditableInputCell from './Cell/EditableInputCell'\nimport EditableColorInputCell from './Cell/EditableColorInputCell'\nimport EditableInputCellForIndex from './Cell/EditableInputCellForIndex'\nimport EditableInputCellForPupsoseDropdown from './Cell/EditableInputCellForPupsoseDropdown'\n\nconst TmsStatusOrderTable = ({ data, onSave, onRemove, isLoading, ...props }) => {\n\tconst validObj = useReactive({ indexInput: true, purposeInput: true })\n\n\tconst { t } = useTranslation(['common', 'settings-tms'])\n\tconst colors = [\n\t\t{ value: '', text: t('settings-tms:tms.statusesTab.colors.noColor'), className: 'no-color' },\n\t\t{ value: '#BECB1A', text: t('settings-tms:tms.statusesTab.colors.yellow'), className: 'yellow' },\n\t\t{ value: '#1AB0A6', text: t('settings-tms:tms.statusesTab.colors.turquoise'), className: 'turquoise' },\n\t\t{ value: '#9D98CA', text: t('settings-tms:tms.statusesTab.colors.violet'), className: 'violet' },\n\t\t{ value: '#C76563', text: t('settings-tms:tms.statusesTab.colors.red'), className: 'red' },\n\t\t{ value: '#D97904', text: t('settings-tms:tms.statusesTab.colors.orange'), className: 'orange' },\n\t\t{ value: '#FFB22C', text: t('settings-tms:tms.statusesTab.colors.lightOrange'), className: 'light-orange' },\n\t]\n\tconst purposes = [\n\t\t{ value: 'load', text: t('common:puposeDropdown.load') },\n\t\t{ value: 'unload', text: t('common:puposeDropdown.unload') },\n\t\t{ value: 'other', text: t('common:puposeDropdown.other') }\n\t]\n\n\tconst onChangeInput = (key, value) => {\n\t\tvalidObj[key] = value\n\t}\n\n\tconst showPurpose = (purpose) => {\n\t\tif (!purpose) return '-'\n\t\treturn t(`common:puposeDropdown.${purpose}`)\n\t}\n\tconst columns = useMemo(() => [\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.name'),\n\t\t\taccessor: 'raw.name',\n\t\t\tCell: props => props.data[props.row?.id].raw?.source === 'custom'\n\t\t\t\t? <EditableInputCell\n\t\t\t\t\ttype='text'\n\t\t\t\t\tplaceholder={t('settings-tms:tms.tableHeader.name')}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t\t: <span className='table-span'> {props.data[props.row?.id].raw?.name} </span>\n\t\t},\n\t\t{\n\t\t\tHeader: t('common:index'),\n\t\t\taccessor: 'raw.index',\n\t\t\tCell: props => props.data[props.row?.id].raw?.source === 'custom'\n\t\t\t\t? <EditableInputCellForIndex\n\t\t\t\t\tcustomStatuses={data.filter(status => status?.raw?.source === 'custom')}\n\t\t\t\t\tonChangeInput={onChangeInput}\n\t\t\t\t\ttype='text'\n\t\t\t\t\tplaceholder={t('common:index')}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t\t: <span className='table-span'> {props.data[props.row?.id].raw?.index} </span>\n\t\t},\n\t\t{\n\t\t\tHeader: t('common:purpose'),\n\t\t\taccessor: 'raw.purpose',\n\t\t\tCell: props => props.data[props.row?.id].raw?.source === 'custom'\n\t\t\t\t? <EditableInputCellForPupsoseDropdown\n\t\t\t\t\tcustomStatuses={data.filter(status => status?.raw?.source === 'custom')}\n\t\t\t\t\tonChangeInput={onChangeInput}\n\t\t\t\t\ttype='text' {...props}\n\t\t\t\t\tplaceholder={t('common:purpose')}\n\t\t\t\t\toptions={purposes}\n\t\t\t\t/>\n\t\t\t\t: <span className='table-span'> {showPurpose(props.data[props.row?.id].raw?.purpose)} </span>\n\t\t},\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.source'),\n\t\t\taccessor: 'raw.source',\n\t\t},\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.label'),\n\t\t\taccessor: 'raw.label',\n\t\t\tCell: props => <EditableInputCell\n\t\t\t\ttype='text'\n\t\t\t\tplaceholder={t('settings-tms:tms.tableHeader.label')}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t},\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.description'),\n\t\t\taccessor: 'raw.description',\n\t\t\tCell: props => props.data[props.row?.id].raw?.source === 'custom'\n\t\t\t\t? <EditableInputCell\n\t\t\t\t\ttype='text'\n\t\t\t\t\tplaceholder={t('settings-tms:tms.tableHeader.description')}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t\t: <span className='table-span'> {props.data[props.row?.id].raw?.description} </span>\n\t\t},\n\t\t{\n\t\t\tHeader: t('settings-tms:tms.tableHeader.color'),\n\t\t\taccessor: 'raw.color',\n\t\t\tCell: props => props?.row?.state?.isEditing\n\t\t\t\t? <EditableColorInputCell\n\t\t\t\t\ttype='text'\n\t\t\t\t\tcolors={colors}\n\t\t\t\t\tplaceholder={t('settings-tms:tms.tableHeader.color')}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t\t: (props.cell?.value\n\t\t\t\t\t? <span className={`table-span ${colors.find(color => color.value === props.cell?.value)?.className || ''}`} />\n\t\t\t\t\t: <span className='no-color'>{t('settings-tms:tms.statusesTab.colors.noColor')}</span>)\n\t\t},\n\t\t{\n\t\t\tid: 'actions',\n\t\t\tstyle: {\n\t\t\t\twidth: 90,\n\t\t\t},\n\t\t\tCell: props => {\n\t\t\t\treturn (<ActionsCellForTmsOrderStatus\n\t\t\t\t\tvalidObj={validObj}\n\t\t\t\t\tonSave={onSave}\n\t\t\t\t\tonRemove={onRemove}\n\t\t\t\t\t{...props}\n\t\t\t\t/>)\n\t\t\t},\n\t\t},\n\t], [data])\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {}, isVisible: row?.raw?.groupID !== '000000' })\n\t\t},\n\t}, useRowState, useFilters)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\tisLoading ? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t: <Table {...getTableProps()} {...props}>\n\t\t\t\t<Table.Header>\n\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t))}\n\t\t\t\t</Table.Header>\n\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t{rows.map(row => {\n\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Table.Row\n\t\t\t\t\t\t\t\tclassName={row?.original?.raw?.id ? '' : 'new-line-color'}\n\t\t\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\t\t\t{...row.getRowProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</Table.Body>\n\t\t\t</Table>\n\t)\n}\n\nTmsStatusOrderTable.propTypes = {\n\tdata: PropTypes.array,\n\trenderRowSubComponent: PropTypes.func,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n\tonCancel: PropTypes.func,\n\tisLoading: PropTypes.bool,\n}\n\nexport default TmsStatusOrderTable\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\n\nfunction SettingsTool ({ defaultValueHours, tachoWidgetType, options, onChangeHours, onChangeTachoType }) {\n\tconst { t } = useTranslation(['common'])\n\treturn (\n\t\t<Dropdown\n\t\t\ttrigger={\n\t\t\t\t<i className='blue setting icon show-hour-wheel' />\n\t\t\t}\n\t\t\tfloating\n\t\t\tdirection='left'\n\t\t\ticon={false}\n\t\t>\n\t\t\t<Dropdown.Menu>\n\t\t\t\t{options.map((option, index) =>\n\t\t\t\t\t<Dropdown.Item\n\t\t\t\t\t\tonClick={(e, data) => onChangeHours('', { value: `${option.value}` })}\n\t\t\t\t\t\tactive={option.value === defaultValueHours}\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\ttext={option.text}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Dropdown.Divider />\n\t\t\t\t<Dropdown.Item\n\t\t\t\t\ttext={t('common:users')}\n\t\t\t\t\tactive={tachoWidgetType === 'users'}\n\t\t\t\t\tonClick={(e, data) => onChangeTachoType('users')}\n\t\t\t\t/>\n\t\t\t\t<Dropdown.Item\n\t\t\t\t\ttext={t('common:vehicles')}\n\t\t\t\t\tactive={tachoWidgetType === 'vehicles'}\n\t\t\t\t\tonClick={(e, data) => onChangeTachoType('vehicles')}\n\t\t\t\t/>\n\t\t\t</Dropdown.Menu>\n\t\t</Dropdown>\n\t)\n}\n\nSettingsTool.propTypes = {\n\tdefaultValueHours: PropTypes.string,\n\ttachoWidgetType: PropTypes.string,\n\toptions: PropTypes.array,\n\tonChangeHours: PropTypes.func,\n\tonChangeTachoType: PropTypes.func\n}\n\nexport default SettingsTool\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Dropdown } from 'semantic-ui-react'\n\nfunction ShowColumnTool ({ defaultValue, options, onChange, onClose }) {\n\treturn (\n\t\t<Dropdown\n\t\t\tfloating\n\t\t\ticon={false}\n\t\t\trenderLabel={() => null}\n\t\t\tdirection='left'\n\t\t\ttrigger={\n\t\t\t\t<i className='green eye icon show-col-eye fitted' />\n\t\t\t}\n\t\t\tonClose={(e, d) => {\n\t\t\t\tconst options = d.children.props.children.map(i => i.props)\n\t\t\t\tconst selectedOptionsValues = options.filter(item => item.selected).map(item => item.value)\n\t\t\t\tonClose(selectedOptionsValues)\n\t\t\t}}\n\t\t>\n\t\t\t<Dropdown.Menu className='columns-dropdown'>\n\t\t\t\t{options.map(option => (\n\t\t\t\t\t<Dropdown.Item\n\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\tchildren={option.text}\n\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\tselected={option.selected}\n\t\t\t\t\t\tclassName={option.selected ? 'active' : ''}\n\t\t\t\t\t\tonClick={(e, d) => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\td.selected = !d.selected\n\t\t\t\t\t\t\tif (d.selected) {\n\t\t\t\t\t\t\t\te.target.className = 'item active'\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\te.target.className = 'item'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Dropdown.Menu>\n\t\t</Dropdown>\n\t)\n}\n\nShowColumnTool.propTypes = {\n\tdefaultValue: PropTypes.string,\n\toptions: PropTypes.array,\n\tonChange: PropTypes.func,\n\tonClose: PropTypes.func,\n}\n\nexport default ShowColumnTool\n","import React, { useMemo } from 'react'\nimport { Table, Loader } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { has, filter } from 'lodash'\nimport PropTypes from 'prop-types'\nimport ActionsCellForVehicleGroups from './Cell/ActionsCellForVehicleGroups'\nimport EditableInputCell from './Cell/EditableInputCell'\nimport EditableDriverOrCoDriver from './Cell/EditableDriverOrCoDriver'\nimport EditableTractorOrSemitrailer from './Cell/EditableTractorOrSemitrailer'\n\nconst VehicleGroupsTable = ({ data, isLoading = false, vehicleGroups, vehicles, users, onSave, onRemove, ...props }) => {\n\tconst { t } = useTranslation(['common', 'vehicle-groups'])\n\n\tconst semitrailers = filter(vehicles, (vehicle) => { return vehicle.raw.type === 'semi-trailer' })\n\tconst trucks = filter(vehicles, (vehicle) => { return vehicle.raw.type === 'truck' })\n\tconst drivers = filter(users, (user) => { return user.raw.type === 'driver' })\n\n\tconst columns = useMemo(() => [\n\t\t{\n\t\t\tHeader: t('vehicle-groups:header.name'),\n\t\t\taccessor: 'raw.name',\n\t\t\tCell: props => <EditableInputCell\n\t\t\t\tplaceholder={t('vehicle-groups:header.name')}\n\t\t\t\ttype='text'\n\t\t\t\t{...props}\n\t\t\t/>,\n\t\t},\n\t\t{\n\t\t\tHeader: t('vehicle-groups:header.tractorUnit'),\n\t\t\taccessor: 'raw.vehicles[0]',\n\t\t\tCell: props => <EditableTractorOrSemitrailer\n\t\t\t\tvehicleGroups={data}\n\t\t\t\tvehicles={trucks}\n\t\t\t\ttype='text'\n\t\t\t\tpropertyName='tractor'\n\t\t\t\t{...props}\n\t\t\t/>,\n\t\t},\n\t\t{\n\t\t\tHeader: t('vehicle-groups:header.semitrailer'),\n\t\t\taccessor: 'raw.vehicles[1]',\n\t\t\tCell: props => <EditableTractorOrSemitrailer\n\t\t\t\tvehicleGroups={data} vehicles={semitrailers}\n\t\t\t\ttype='text'\n\t\t\t\tpropertyName='semitrailer'\n\t\t\t\t{...props}\n\t\t\t/>,\n\t\t},\n\t\t{\n\t\t\tHeader: t('vehicle-groups:header.driver'),\n\t\t\taccessor: 'raw.drivers[0]',\n\t\t\tCell: props => <EditableDriverOrCoDriver\n\t\t\t\tdriverInput\n\t\t\t\tvehicleGroups={data}\n\t\t\t\tusers={drivers}\n\t\t\t\ttype='text'\n\t\t\t\tpropertyName='driver'\n\t\t\t\t{...props}\n\t\t\t/>,\n\t\t},\n\t\t{\n\t\t\tHeader: t('vehicle-groups:header.codriver'),\n\t\t\taccessor: 'raw.drivers[1]',\n\t\t\tCell: props => <EditableDriverOrCoDriver\n\t\t\t\tvehicleGroups={data}\n\t\t\t\tusers={drivers}\n\t\t\t\ttype='text'\n\t\t\t\tpropertyName='coDriver'\n\t\t\t\t{...props}\n\t\t\t/>,\n\t\t},\n\t\t{\n\t\t\tid: 'actions',\n\t\t\tstyle: {\n\t\t\t\twidth: 90,\n\t\t\t},\n\t\t\tCell: props => <ActionsCellForVehicleGroups\n\t\t\t\t{...props}\n\t\t\t\tonSave={onSave}\n\t\t\t\tonRemove={onRemove}\n\t\t\t/>,\n\t\t},\n\t], [vehicleGroups, users, vehicles, data])\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialRowStateAccessor: (row) => {\n\t\t\treturn ({ isEditing: !has(row, 'raw.id'), edited: {} })\n\t\t},\n\t}, useRowState, useFilters)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = tableInstance\n\n\treturn (\n\t\tisLoading ? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t: <Table {...getTableProps()} {...props}>\n\t\t\t\t<Table.Header>\n\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t))}\n\t\t\t\t</Table.Header>\n\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t{rows.map(row => {\n\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Table.Row\n\t\t\t\t\t\t\t\tclassName={row?.original?.raw?.id ? '' : 'new-line-color'}\n\t\t\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\t\t\t{...row.getRowProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id} {...cell.getCellProps()}>\n\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</Table.Body>\n\t\t\t</Table>\n\t)\n}\n\nVehicleGroupsTable.propTypes = {\n\tdata: PropTypes.array,\n\tisLoading: PropTypes.bool,\n\trenderRowSubComponent: PropTypes.func,\n\tvehicleGroups: PropTypes.array,\n\tvehicles: PropTypes.array,\n\tusers: PropTypes.array,\n\tonSave: PropTypes.func,\n\tonRemove: PropTypes.func,\n}\n\nexport default VehicleGroupsTable\n","import React, { useState, useEffect, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { Popup, Icon, Grid } from 'semantic-ui-react'\nimport DateUtils from '../../../react/utils/date'\nimport { useTranslation } from 'react-i18next'\nimport { formatCoordinate } from '../../utils/strings'\nimport GeoService from '../../services/geo'\nimport { round } from 'lodash'\n\nconst oneHourInMs = 3600000\nconst oneHourInSec = 3600\n\nconst perentageOfContainer = (activity, indexOfActivity, numberOfHours) => {\n\tlet firstDuration = null\n\tlet percentage = 0\n\tconst numberOfSeconds = numberOfHours * oneHourInSec\n\tconst numberOfMs = numberOfHours * oneHourInMs\n\n\tif (indexOfActivity === 0) {\n\t\tconst startMargin = (new Date().getTime() - numberOfMs)\n\t\tif (startMargin > activity.startTime) {\n\t\t\tfirstDuration = (moment(activity.endTime).valueOf() - startMargin) / 1000\n\t\t}\n\t}\n\n\tif (!firstDuration) {\n\t\tif (activity.duration !== null && activity.duration !== 0) percentage = (100 * activity.duration) / numberOfSeconds\n\t\treturn `${percentage}%`\n\t} else {\n\t\tpercentage = (100 * firstDuration) / numberOfSeconds\n\t\treturn `${percentage}%`\n\t}\n}\n\nconst Chart = ({ data, countHours = null, timeZone, hours, vehicles }) => {\n\tconst { t } = useTranslation(['common', 'widgets/users-tachograph', 'map'])\n\n\tconst [coordinateCopiedIsOpen, setCoordinateCopiedIsOpen] = useState(false)\n\tconst [selectedActivity, setSelectedActivity] = useState(null)\n\tconst [reverseGeocodeLocation, setReverseGeocodeLocation] = useState(null)\n\n\tconst showChart = useMemo(() => {\n\t\tif (!vehicles || !data) return true\n\t\tconst veh = vehicles.find(v => v.raw.id === data.vehicleID)\n\t\tif (veh?.status === 'unreachable') return false\n\t\treturn true\n\t}, [vehicles, data])\n\n\tuseEffect(() => {\n\t\tsetReverseGeocodeLocation(null)\n\t\tif (!selectedActivity?.startCoordinates || (selectedActivity?.activityType !== 0 && selectedActivity?.activityType !== 2)) return\n\n\t\tif (selectedActivity?.startCoordinates[0] && selectedActivity?.startCoordinates[1]) {\n\t\t\treverseGeocode(selectedActivity?.startCoordinates[1], selectedActivity?.startCoordinates[0])\n\t\t}\n\t}, [selectedActivity])\n\n\tconst legendArray = [\n\t\t{\n\t\t\tname: 'rest',\n\t\t\tlabel: t('common:vehicle.tacho.activities.0')\n\t\t},\n\t\t{\n\t\t\tname: 'availability',\n\t\t\tlabel: t('common:vehicle.tacho.activities.1')\n\t\t},\n\t\t{\n\t\t\tname: 'work',\n\t\t\tlabel: t('common:vehicle.tacho.activities.2')\n\t\t},\n\t\t{\n\t\t\tname: 'driving',\n\t\t\tlabel: t('common:vehicle.tacho.activities.3')\n\t\t},\n\t\t{\n\t\t\tname: 'error',\n\t\t\tlabel: t('common:vehicle.tacho.activities.4')\n\t\t},\n\t\t{\n\t\t\tname: 'unknown',\n\t\t\tlabel: t('common:vehicle.tacho.activities.5')\n\t\t},\n\t]\n\n\tconst reverseGeocode = async (lat, long) => {\n\t\tconst result = await GeoService.reverseGeocode(lat, long)\n\t\tsetReverseGeocodeLocation(result)\n\t}\n\n\tconst convertTimezoneTimeStamp = (ts) => {\n\t\tif (ts) {\n\t\t\tconst formatDateInTimeZone = moment.tz(ts, timeZone).format('YYYY-MM-DD HH:mm:ss.SSS')\n\t\t\treturn moment(formatDateInTimeZone).valueOf()\n\t\t}\n\t}\n\n\tconst copyToClipboard = (n, e) => {\n\t\tconst el = document.createElement('textarea')\n\t\tel.value = `${round(n, 6)}N, ${round(e, 6)}E`\n\t\tdocument.body.appendChild(el)\n\t\tel.select()\n\t\tdocument.execCommand('copy')\n\t\tdocument.body.removeChild(el)\n\n\t\tsetCoordinateCopiedIsOpen(true)\n\n\t\tsetTimeout(() => {\n\t\t\tsetCoordinateCopiedIsOpen(false)\n\t\t}, 1000)\n\t}\n\n\tif (!showChart) {\n\t\treturn (\n\t\t\t<span>\n\t\t\t\t<i className='circle status unreachable icon' />\n\t\t\t\t{t('map:vehicleList.statusFilter.status.vehicle.unreachable')}\n\t\t\t</span>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{countHours &&\n\t\t\t\t<div className='graph-counter'>\n\t\t\t\t\t{countHours.map((diff) =>\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t<div key={diff} style={{ width: `${100 / countHours.length}%` }} className='activity'>\n\t\t\t\t\t\t\t\t{moment(convertTimezoneTimeStamp(moment().valueOf()) - (diff * oneHourInMs)).hours()}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t)}\n\t\t\t\t</div>}\n\n\t\t\t<div className='graph-container'>\n\t\t\t\t{data.activities.map((activity, index) =>\n\t\t\t\t\t<Popup\n\t\t\t\t\t\tclassName={!activity?.partialActivities?.length ? '' : 'partial-activity-tooltip'}\n\t\t\t\t\t\tstyle={{ minWidth: activity?.partialActivities?.length ? '800px' : 'auto' }}\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tonOpen={() => setSelectedActivity(activity)}\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={`chart-item ${activity?.activityType === -1 ? 'manual-rest' : legendArray[activity?.activityType]?.name}`}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\twidth: perentageOfContainer(activity, index, hours),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{+perentageOfContainer(activity, index, hours).split('%')[0] >= 11 &&\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName='with-hours'\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{DateUtils.formatDurationInHours(activity?.duration * 1000)}\n\t\t\t\t\t\t\t\t\t</span>}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Grid divided columns={activity?.partialActivities?.length ? 2 : 1}>\n\t\t\t\t\t\t\t<Grid.Column width={activity?.partialActivities?.length ? 6 : 16}>\n\t\t\t\t\t\t\t\t{activity?.driverName ? (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<b>{t('common:driver')}: </b>\n\t\t\t\t\t\t\t\t\t\t{activity.driverName}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.startDate')}: </b>\n\t\t\t\t\t\t\t\t\t{moment.utc(activity?.startTime).tz(timeZone).format('DD/MM/YYYY HH mm')}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.endDate')}: </b>\n\t\t\t\t\t\t\t\t\t{moment.utc(activity?.endTime).tz(timeZone).format('DD/MM/YYYY HH:mm')}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.duration')}: </b>\n\t\t\t\t\t\t\t\t\t{DateUtils.formatDurationInHours(activity?.duration * 1000)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{activity?.activityType !== -1 ? (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.activityType')}: </b>\n\t\t\t\t\t\t\t\t\t\t{legendArray[activity?.activityType]?.label}\n\t\t\t\t\t\t\t\t\t</div>)\n\t\t\t\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.activityType')}: </b>\n\t\t\t\t\t\t\t\t\t\t\t{t('common:vehicle.tacho.activities.-1')}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{(activity?.startCoordinates && (activity.activityType === 0 || activity.activityType === 2)) ? (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='icon-text coordinate pointer mainLeftPadding'\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => { copyToClipboard(activity.startCoordinates[1], activity.startCoordinates[0]) }}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name='map marker alternate' className='dimgrey' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{formatCoordinate(activity.startCoordinates[1], 'N')}, {formatCoordinate(activity.startCoordinates[0], 'E')}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\topen={coordinateCopiedIsOpen}\n\t\t\t\t\t\t\t\t\t\t\tcontent={t('map:coordinatesCopied')}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>) : null}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\treverseGeocodeLocation &&\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t<Icon name='map' className='dimgrey px14' />\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t{reverseGeocodeLocation}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t{activity?.partialActivities?.length &&\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t<Grid.Column width={10} className='partial-activity-col'>\n\t\t\t\t\t\t\t\t\t\t<Grid columns={4}>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.activityType')}</b>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.startDate')}</b>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.endDate')}</b>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:chart.duration')}</b>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t</Grid>\n\n\t\t\t\t\t\t\t\t\t\t{activity?.partialActivities.map((partialActivity, index) =>\n\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid className='partial-activity-data-row' columns={4} key={index}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{partialActivity.activityType === -1 ? t('common:vehicle.tacho.activities.-1')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: t('common:vehicle.tacho.activities.0')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{moment.utc(partialActivity?.startTime).tz(timeZone).format('DD/MM/YYYY HH:mm')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{moment.utc(partialActivity?.endTime).tz(timeZone).format('DD/MM/YYYY HH:mm')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{DateUtils.formatDurationInHours(partialActivity?.duration * 1000)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Grid>\n\n\t\t\t\t\t</Popup>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nChart.propTypes = {\n\tdata: PropTypes.array,\n\tcountHours: PropTypes.array,\n\ttimeZone: PropTypes.string,\n\thours: PropTypes.number,\n\tvehicles: PropTypes.array\n}\nexport default Chart\n","import React, { useEffect, useState } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport SettingsTool from '../../components/Table/UtilityTools/SettingsTool'\nimport ShowColumnTool from '../../components/Table/UtilityTools/ShowColumnTool'\nimport TachographTable from '../../pages/widgets/tacho-widget'\n\nconst oneMinuteInMs = 60000\nconst STATE_HOURS = [\n\t{ value: '24', text: '24h' },\n\t{ value: '48', text: '48h' },\n\t{ value: '72', text: '72h' },\n]\n\nconst Index = () => {\n\tconst { t } = useTranslation(['common', 'widgets/users-tachograph'])\n\n\t// loggedUser\n\tconst loggedUser = useStoreState(state => state.session.user)\n\tconst updateLoggedUser = useStoreActions(actions => actions.session.updateFilter)\n\n\tconst [countHoursForTachoWidget, setCountHoursForTachoWidget] = useState(localStorage.getItem('countHoursForTachoWidget') || '24')\n\tconst [selectedHourState, setSelectedHourState] = useState(countHoursForTachoWidget || '24')\n\n\tconst [allColumns, setAllColumns] = useState([\n\t\t{ selected: true, text: t('common:vehicle.licensePlate'), value: 'licensePlate' },\n\t\t{ selected: true, text: t('common:odometer'), value: 'odometer' },\n\t\t{ selected: true, text: t('common:driver'), value: 'driver' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.tachoReports'), value: 'tachoReports' },\n\t\t{ selected: true, text: t('common:graphic'), value: 'graphic' },\n\t\t{ selected: true, text: t('common:location'), value: 'location' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.remainingDay'), value: 'remainingDay' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.remainingWeek'), value: 'remainingWeek' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.amplitudeDay'), value: 'amplitudeDay' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.dayCycle'), value: 'dayCycle' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.overDrive'), value: 'overDrive' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.amplitude'), value: 'amplitude' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.rests'), value: 'rests' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.recoveries'), value: 'recoveries' }\n\t])\n\tconst [tachoWidgetType, setTachoTableType] = useState(null)\n\t// vehicle\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\n\tuseEffect(() => {\n\t\treloadVehicles()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!loggedUser) return\n\t\tif (!loggedUser?.settings?.tachoWidgetType) setTachoTableType('users')\n\t\telse setTachoTableType(loggedUser?.settings?.tachoWidgetType)\n\t\tif (loggedUser?.settings?.widgets?.tachograph?.columnOrder) {\n\t\t\tconst tachoGraphColumns = loggedUser?.settings?.widgets?.tachograph?.columnOrder\n\t\t\tallColumns.forEach((column, index) => {\n\t\t\t\tif (tachoGraphColumns.find(col => col === column.value)) {\n\t\t\t\t\tcolumn.selected = true\n\t\t\t\t} else {\n\t\t\t\t\tcolumn.selected = false\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}, [loggedUser])\n\n\tconst updateUserColumns = (columns) => {\n\t\tconst tempColumns = allColumns\n\t\tfor (const column of tempColumns) {\n\t\t\tcolumn.selected = !!columns.filter(item => item === column.value)?.length\n\t\t}\n\t\tsetAllColumns(tempColumns)\n\t\tconst paylaod = {\n\t\t\tpath: 'settings.widgets.tachograph.columnOrder',\n\t\t\tvalue: columns\n\t\t}\n\t\tupdateLoggedUser(paylaod)\n\t}\n\n\tconst changeCountHours = (stateHoursValue) => {\n\t\tlet coefficient = 1\n\t\tconst tempCounterHours = []\n\t\tswitch (stateHoursValue) {\n\t\tcase '24':\n\t\t\tcoefficient = 1\n\t\t\tbreak\n\t\tcase '48':\n\t\t\tcoefficient = 2\n\t\t\tbreak\n\t\tcase '72':\n\t\t\tcoefficient = 3\n\t\t\tbreak\n\t\t}\n\t\tfor (let i = 24; i >= 0; i--) {\n\t\t\ttempCounterHours.push(i * coefficient)\n\t\t}\n\t}\n\n\tconst onChangeHourCount = (e, objectOfValues) => {\n\t\tif (!objectOfValues?.value) return\n\t\tsetCountHoursForTachoWidget(objectOfValues.value)\n\t\tsetSelectedHourState(objectOfValues.value)\n\t\tchangeCountHours(objectOfValues.value)\n\n\t\tlocalStorage.setItem('countHoursForTachoWidget', objectOfValues.value)\n\t}\n\n\tconst onChangeTachoType = (value) => {\n\t\tif (!value) return\n\t\tconst paylaod = {\n\t\t\tpath: 'settings.tachoWidgetType',\n\t\t\tvalue: value\n\t\t}\n\t\tupdateLoggedUser(paylaod)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className='title header-row'>\n\t\t\t\t<div className='title'>\n\t\t\t\t\t{t('widgets/users-tachograph:tableHeaders.mainHeader')} - {countHoursForTachoWidget}h\n\t\t\t\t</div>\n\t\t\t\t<div className='actions'>\n\t\t\t\t\t<ShowColumnTool\n\t\t\t\t\t\toptions={allColumns}\n\t\t\t\t\t\tonChange={onChangeHourCount}\n\t\t\t\t\t\tonClose={updateUserColumns}\n\t\t\t\t\t\tsetOptions={setAllColumns}\n\t\t\t\t\t/>\n\t\t\t\t\t<SettingsTool\n\t\t\t\t\t\tdefaultValueHours={selectedHourState}\n\t\t\t\t\t\ttachoWidgetType={tachoWidgetType}\n\t\t\t\t\t\toptions={STATE_HOURS}\n\t\t\t\t\t\tonChangeHours={onChangeHourCount}\n\t\t\t\t\t\tonChangeTachoType={onChangeTachoType}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<TachographTable\n\t\t\t\tlimit={10}\n\t\t\t\treloadTime={oneMinuteInMs}\n\t\t\t\tdashboard\n\t\t\t\thoursTacho={selectedHourState}\n\t\t\t/>\n\t\t\t<div className='footer'>\n\t\t\t\t<a className='navigate-anchor' href='/widgets/users-tachograph'>\n\t\t\t\t\t{t('widgets/users-tachograph:actions.expand')}\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nexport default Index\n","import React from 'react'\n\nconst Timeline = ({ children }) => {\n\treturn (\n\t\t<ul className='timeline'>\n\t\t\t{children}\n\t\t</ul>\n\t)\n}\n\nTimeline.Item = ({ title, children }) => {\n\treturn (\n\t\t<li className='event'>\n\t\t\t{title ? <h4>{title}</h4> : null}\n\t\t\t{children}\n\t\t</li>\n\t)\n}\n\nexport default Timeline\n","import React, { useState, useEffect, useCallback } from 'react'\nimport { Form, Divider, Header, Icon, Modal } from 'semantic-ui-react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { useRequest } from 'ahooks'\nimport GoogleMapReact from 'google-map-react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport toast from 'react-hot-toast'\nimport API from '../../services/api'\nimport Geo from '../../services/geo'\nimport { findIndex, get } from 'lodash'\n\nimport usePolyline from '../../hooks/usePolyline'\nimport LocationPicker from '../../components/LocationPicker'\n\nfunction Optimalroute ({ route, saveRoute, cancelRoute }) {\n\tconst { t } = useTranslation(['common', 'settings-tms'])\n\tconst googleAPIKey = useStoreState(state => state.global.googleAPIKey)\n\tconst assetsPath = useStoreState(state => state.global.assetsPath)\n\tconst geofences = useStoreState(state => state.geofences.items)\n\tconst reloadGeofences = useStoreActions(actions => actions.geofences.reload)\n\tconst [name, setName] = useState(route?.name)\n\tconst [coor1, setCoor1] = useState(null)\n\tconst [coor2, setCoor2] = useState(null)\n\tconst [originalRoute, setOriginalRoute] = useState(null)\n\tconst [optimalRoute, setOptimalRoute] = useState(null)\n\tconst [originalPolyline, setOriginalPolyline] = useState(null)\n\tconst [optimalPolyline, setOptimalPolyline] = useState(null)\n\tconst [map, setMap] = useState(null)\n\tconst [googleMapsAPI, setGoogleMapsAPI] = useState(null)\n\tconst [polylines, setPolylines] = useState([])\n\tconst [waypoints, setWaypoints] = useState([])\n\tconst [saveButtonPressed, setSaveButtonPressed] = useState(false)\n\tconst [showPopupInfo, setShowPopupInfo] = useState(true)\n\tconst [showModal, setShowModal] = useState(false)\n\tconst [saveOriginalOnly, setSaveOriginalOnly] = useState(false)\n\n\tconst formatDuration = duration => {\n\t\tif (!duration) return ''\n\t\treturn moment.duration(duration * 1000).format(t('common:DDHHmm'))\n\t}\n\n\tconst getTotalCost = (ptvRouteCost) => {\n\t\tif (!ptvRouteCost) return 0\n\t\tconst boat = ptvRouteCost.total?.boat || 0\n\t\tconst driver = ptvRouteCost.total?.driver || 0\n\t\tconst toll = ptvRouteCost.total?.toll || 0\n\t\tconst vehicle = ptvRouteCost.total?.vehicle || 0\n\t\treturn boat + driver + toll + vehicle\n\t}\n\n\tfunction displayNameForWaypoint (waypoint, addressCache) {\n\t\tif (waypoint?.name != null) { return waypoint?.name }\n\n\t\tconst address = get(addressCache, `fetches[\"${waypoint?.lat},${waypoint?.lng}\"].data`)\n\t\tif (address != null) { return address }\n\t\tif (address === undefined) {\n\t\t\treturn ''\n\t\t}\n\t\tif (waypoint?.lat != null && waypoint?.lng != null) { return `${waypoint?.lat.toFixed(4)}, ${waypoint?.lng.toFixed(4)}` }\n\t}\n\n\tconst addressCache = useRequest(\n\t\t(lat, lng) => Geo.reverseGeocode(lat, lng),\n\t\t{\n\t\t\tmanual: true,\n\t\t\tfetchKey: (lat, lng) => `${lat},${lng}`,\n\t\t\tcacheKey: 'address',\n\t\t\tstaleTime: -1,\n\t\t\tcacheTime: -1,\n\t\t}\n\t)\n\n\tuseEffect(() => {\n\t\tif (originalPolyline && optimalPolyline) {\n\t\t\toriginalPolyline.setEditable(false)\n\t\t\tsetPolylines([originalPolyline, optimalPolyline])\n\t\t\treturn\n\t\t}\n\t\tif (!originalPolyline && !optimalPolyline) {\n\t\t\tsetPolylines([])\n\t\t\treturn\n\t\t}\n\t\tif (originalPolyline) {\n\t\t\toriginalPolyline.setEditable(true)\n\t\t\tsetPolylines([originalPolyline])\n\t\t}\n\t}, [originalPolyline, optimalPolyline])\n\n\tuseEffect(() => {\n\t\tif (!route) return\n\t\tif (route?.originalRoute) {\n\t\t\tsetOriginalRoute(route?.originalRoute)\n\t\t\tconst length = route?.originalRoute?.points?.length\n\t\t\tif (length) {\n\t\t\t\tconst firstPoint = route.originalRoute.points[0]\n\t\t\t\tconst lastPoint = route.originalRoute.points[length - 1]\n\t\t\t\taddressCache.run(firstPoint[1], firstPoint[0])\n\t\t\t\tsetCoor1({ lat: firstPoint[1], lng: firstPoint[0] })\n\t\t\t\taddressCache.run(lastPoint[1], lastPoint[0])\n\t\t\t\tsetCoor2({ lat: lastPoint[1], lng: lastPoint[0] })\n\t\t\t}\n\t\t}\n\t\tif (route?.optimalRoute) {\n\t\t\tsetOptimalRoute(route?.optimalRoute)\n\t\t}\n\t\tif (route?.waypoints?.length) {\n\t\t\tconst coordinates = route.waypoints.map(x => {\n\t\t\t\taddressCache.run(x[1], x[0])\n\t\t\t\treturn { lat: x[1], lng: x[0] }\n\t\t\t})\n\t\t\tsetWaypoints(coordinates)\n\t\t}\n\t}, [route])\n\n\tconst saveEditingRoute = () => {\n\t\tsetSaveButtonPressed(true)\n\t\tif (!originalRoute && !showPopupInfo) setShowPopupInfo(true)\n\t\tif (!name || !originalRoute) return\n\t\tif (route.name !== name) route.name = name\n\t\tif (originalRoute && !optimalRoute && !saveOriginalOnly) {\n\t\t\tsetShowModal(true)\n\t\t\treturn\n\t\t}\n\t\tsetSaveOriginalOnly(false)\n\t\troute.waypoints = waypoints.map(w => [w.lng, w.lat])\n\t\troute.originalRoute = originalRoute\n\t\troute.optimalRoute = optimalRoute\n\t\tsaveRoute(route)\n\t}\n\n\tuseEffect(() => {\n\t\tif (!coor1 || !coor2) {\n\t\t\tif (waypoints.length) setWaypoints([])\n\t\t\tif (originalRoute) setOriginalRoute(null)\n\t\t\tif (optimalRoute) setOptimalRoute(null)\n\t\t\treturn\n\t\t}\n\t\tif (!googleMapsAPI || !map) return\n\t\tif (!originalRoute) {\n\t\t\tgetOriginalRoute()\n\t\t\treturn\n\t\t}\n\t\tif (!waypoints.length && optimalRoute) { // remove optimal route\n\t\t\tsetOptimalRoute(null)\n\t\t\tif (originalPolyline) originalPolyline.setEditable(true)\n\t\t} else {\n\t\t\tgetOptimalRoute()\n\t\t}\n\t}, [waypoints, coor1, coor2])\n\n\tconst dragMarkerOptions = {\n\t\ticon: {\n\t\t\turl: '/g-map-utils/map-marker-drag-red.png',\n\t\t\tanchor: { x: 10, y: 10 },\n\t\t\torigin: { x: 6, y: 6 },\n\t\t\tsize: { width: 32, height: 32 },\n\t\t},\n\t}\n\n\tconst onPolylineEditEnd = (editedPolyline, dragLat, dragLng) => {\n\t\tif (editedPolyline.id === 'originalPolyline') {\n\t\t\tif (!waypoints.length) editedPolyline.setEditable(false)\n\t\t}\n\t\taddressCache.run(dragLat, dragLng)\n\t\tsetWaypoints([\n\t\t\t...waypoints,\n\t\t\t{\n\t\t\t\tid: `${dragLat},${dragLng}`,\n\t\t\t\tlat: dragLat,\n\t\t\t\tlng: dragLng\n\t\t\t}\n\t\t])\n\t}\n\n\tusePolyline(polylines, map, googleMapsAPI, true, dragMarkerOptions, onPolylineEditEnd)\n\n\tconst getOriginalRoute = useCallback(() => {\n\t\t// route2\n\t\tif (!coor1 || !coor2) {\n\t\t\treturn\n\t\t}\n\t\tconst coordinates = `${coor1.lat},${coor1.lng};${coor2.lat},${coor2.lng}`\n\t\tAPI.get('geo/route-ptv', {\n\t\t\tdisableOverwrite: true,\n\t\t\tcoordinates,\n\t\t\trouteOptions: {\n\t\t\t\tcurrency: 'EUR',\n\t\t\t\ttollOptions: {\n\t\t\t\t\tuseDetailedToll: true,\n\t\t\t\t\treturnZeroCosts: true,\n\t\t\t\t},\n\t\t\t\temissionOptions: {\n\t\t\t\t\tvalueScenarios: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$type: 'EmissionValueScenario_HBEFA_3_2',\n\t\t\t\t\t\t\tscenarios: ['CURRENT_ROUTE'],\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\tresultFields: {\n\t\t\t\temissions: true,\n\t\t\t\treport: true,\n\t\t\t\ttourReport: true,\n\t\t\t\tnodes: true,\n\t\t\t\teventTypes: ['COUNTRY_EVENT', 'TOLL_EVENT', 'ROUTE_VIOLATION_EVENT', 'TOUR_EVENT', 'COMBINED_TRANSPORT_EVENT'],\n\t\t\t\tlegs: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\ttollSummary: true,\n\t\t\t\t\temissions: true,\n\t\t\t\t},\n\t\t\t\ttoll: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\tsections: true,\n\t\t\t\t\tsystems: true,\n\t\t\t\t},\n\t\t\t\tmonetaryCostsReport: true,\n\t\t\t\tpolyline: true,\n\t\t\t\tsegments: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\tid: true\n\t\t\t\t}\n\t\t\t},\n\t\t}).then(res => {\n\t\t\tsetOriginalRoute(res)\n\t\t}).catch(() => {\n\t\t\ttoast.error(t('messages.operationFailed'))\n\t\t})\n\t}, [coor1, coor2])\n\n\tconst getOptimalRoute = useCallback(() => {\n\t\t// route2\n\t\tif (!coor1 || !coor2 || !waypoints.length) {\n\t\t\treturn\n\t\t}\n\t\tconst arrPoints = waypoints.map(c => c)\n\t\tarrPoints.unshift(coor1)\n\t\tarrPoints.push(coor2)\n\t\tconst coordinates = arrPoints.map(c => `${c.lat},${c.lng}`).join(';')\n\t\tAPI.get('geo/route-ptv', {\n\t\t\tdisableOverwrite: true,\n\t\t\tcoordinates,\n\t\t\trouteOptions: {\n\t\t\t\tcurrency: 'EUR',\n\t\t\t\ttollOptions: {\n\t\t\t\t\tuseDetailedToll: true,\n\t\t\t\t\treturnZeroCosts: true,\n\t\t\t\t},\n\t\t\t\temissionOptions: {\n\t\t\t\t\tvalueScenarios: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$type: 'EmissionValueScenario_HBEFA_3_2',\n\t\t\t\t\t\t\tscenarios: ['CURRENT_ROUTE'],\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\tresultFields: {\n\t\t\t\temissions: true,\n\t\t\t\treport: true,\n\t\t\t\ttourReport: true,\n\t\t\t\tnodes: true,\n\t\t\t\teventTypes: ['COUNTRY_EVENT', 'TOLL_EVENT', 'ROUTE_VIOLATION_EVENT', 'TOUR_EVENT', 'COMBINED_TRANSPORT_EVENT'],\n\t\t\t\tlegs: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\ttollSummary: true,\n\t\t\t\t\temissions: true,\n\t\t\t\t},\n\t\t\t\ttoll: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\tsections: true,\n\t\t\t\t\tsystems: true,\n\t\t\t\t},\n\t\t\t\tmonetaryCostsReport: true,\n\t\t\t\tpolyline: true,\n\t\t\t\tsegments: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\tid: true\n\t\t\t\t}\n\t\t\t},\n\t\t}).then(res => {\n\t\t\tres.waypoints = waypoints.map(w => w)\n\t\t\tsetOptimalRoute(res)\n\t\t}).catch(() => {\n\t\t\ttoast.error(t('messages.operationFailed'))\n\t\t})\n\t}, [coor1, coor2, waypoints])\n\n\tconst onDragWaypointClick = (waypoint, index) => {\n\t\tconst arr = waypoints.map(w => w)\n\t\tarr.splice(index, 1)\n\t\tsetWaypoints(arr)\n\t}\n\n\tuseEffect(() => {\n\t\tif (!map || !googleMapsAPI) return\n\t\tif (!originalRoute) {\n\t\t\tif (originalPolyline) {\n\t\t\t\tsetOriginalPolyline(null)\n\t\t\t}\n\t\t} else {\n\t\t\tif (!originalPolyline) {\n\t\t\t\tconst coordinates = originalRoute.points?.map(x => { return { lat: x[1], lng: x[0] } })\n\t\t\t\tconst polyline = new googleMapsAPI.Polyline({\n\t\t\t\t\tid: 'originalPolyline',\n\t\t\t\t\tstrokeColor: 'black',\n\t\t\t\t\tstrokeWeight: 10,\n\t\t\t\t\tpath: coordinates,\n\t\t\t\t\teditable: true,\n\t\t\t\t\tgeodesic: true,\n\t\t\t\t})\n\t\t\t\tvar bounds = new googleMapsAPI.LatLngBounds()\n\t\t\t\tcoordinates.forEach(e => {\n\t\t\t\t\tbounds.extend(e)\n\t\t\t\t})\n\t\t\t\tmap.fitBounds(bounds)\n\n\t\t\t\tsetOriginalPolyline(polyline)\n\t\t\t}\n\t\t}\n\t}, [originalRoute, map, googleMapsAPI])\n\n\tuseEffect(() => {\n\t\tif (!map || !googleMapsAPI) return\n\t\tif (!optimalRoute) {\n\t\t\tif (optimalPolyline) {\n\t\t\t\tsetOptimalPolyline(null)\n\t\t\t}\n\t\t} else {\n\t\t\tconst coordinates = optimalRoute.points?.map(x => { return { lat: x[1], lng: x[0] } })\n\t\t\tconst polyline = new googleMapsAPI.Polyline({\n\t\t\t\tid: 'optimalPolyline',\n\t\t\t\tstrokeColor: 'green',\n\t\t\t\tstrokeWeight: 10,\n\t\t\t\tpath: coordinates,\n\t\t\t\teditable: true,\n\t\t\t\t// clickable: true,\n\t\t\t\tgeodesic: true,\n\t\t\t})\n\t\t\t// polyline.setMap(map)\n\t\t\tsetOptimalPolyline(polyline)\n\t\t}\n\t}, [optimalRoute, map, googleMapsAPI])\n\n\tconst onGoogleAPILoaded = ({ map, maps }) => {\n\t\treloadGeofences()\n\t\tsetMap(map)\n\t\tsetGoogleMapsAPI(maps)\n\t}\n\n\tconst onMapClick = e => {\n\t\tif (route?.id) return\n\t\taddressCache.run(e.lat, e.lng)\n\t\tconst coordinate = {\n\t\t\tlat: e.lat,\n\t\t\tlng: e.lng,\n\t\t\tname: e.title\n\t\t}\n\t\tif (!coor1) {\n\t\t\tsetCoor1(coordinate)\n\t\t\treturn\n\t\t}\n\t\tif (!coor2) {\n\t\t\tsetCoor2(coordinate)\n\t\t}\n\t}\n\n\tconst onFirstLocationSearch = useCallback(e => {\n\t\tif (route?.id) return\n\t\tconst coordinate = {\n\t\t\tname: e.title,\n\t\t\tlat: e.coordinates[0],\n\t\t\tlng: e.coordinates[1],\n\t\t}\n\t\tcoor1 && setCoor1(null)\n\t\tsetCoor1(coordinate)\n\t}, [coor1])\n\n\tconst onSecondLocationSearch = useCallback(e => {\n\t\tif (route?.id) return\n\t\tconst coordinate = {\n\t\t\tname: e.title,\n\t\t\tlat: e.coordinates[0],\n\t\t\tlng: e.coordinates[1],\n\t\t}\n\t\tcoor2 && setCoor2(null)\n\t\tsetCoor2(coordinate)\n\t}, [coor2])\n\n\tconst addWaypoint = (result, id) => {\n\t\tconst resultID = `${result.coordinates[0]},${result.coordinates[1]}`\n\t\tconst existst = ~waypoints.map(w => w.id).indexOf(resultID)\n\t\tif (existst) {\n\t\t\talert('exists')\n\t\t\treturn\n\t\t}\n\t\tconst foundIndex = findIndex(waypoints, waypoint => waypoint.id === id)\n\t\tif (foundIndex >= 0) {\n\t\t\twaypoints[foundIndex] = {\n\t\t\t\tid: resultID,\n\t\t\t\tlat: result.coordinates[0],\n\t\t\t\tlng: result.coordinates[1],\n\t\t\t\tname: result.title,\n\t\t\t}\n\t\t\tsetWaypoints([...waypoints])\n\t\t} else {\n\t\t\tsetWaypoints([\n\t\t\t\t...waypoints,\n\t\t\t\t{\n\t\t\t\t\tid: resultID,\n\t\t\t\t\tlat: result.coordinates[0],\n\t\t\t\t\tlng: result.coordinates[1],\n\t\t\t\t\tname: result.title,\n\t\t\t\t}\n\t\t\t])\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (saveOriginalOnly) saveEditingRoute()\n\t}, [saveOriginalOnly])\n\n\tconst acceptModal = () => {\n\t\tsetShowModal(false)\n\t\tsetSaveOriginalOnly(true)\n\t}\n\n\tconst cancelModal = () => {\n\t\tsetShowModal(false)\n\t}\n\n\treturn (\n\t\t<div className='optimal-route'>\n\t\t\t<Modal\n\t\t\t\tsize='mini'\n\t\t\t\topen={showModal}\n\t\t\t\tcloseOnEscape={false}\n\t\t\t\tcloseOnDimmerClick={false}\n\t\t\t>\n\t\t\t\t<Modal.Header>{t('settings-tms:tms.optimalRoute.unmodifiedModalHeader')}</Modal.Header>\n\t\t\t\t<Modal.Content>\n\t\t\t\t\t{t('settings-tms:tms.optimalRoute.unmodifiedModalBody1')}\n\t\t\t\t\t<br />{t('settings-tms:tms.optimalRoute.unmodifiedModalBody2')}\n\t\t\t\t</Modal.Content>\n\t\t\t\t<Modal.Actions>\n\t\t\t\t\t<div onClick={acceptModal} className='doc-button approve'>{t('common:buttons.save')}</div>\n\t\t\t\t\t<div onClick={cancelModal} className='doc-button'>{t('common:buttons.cancel')}</div>\n\t\t\t\t</Modal.Actions>\n\t\t\t</Modal>\n\t\t\t<Form className='info'>\n\t\t\t\t<div className='content'>\n\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.optimalRoute.location')} 1</label>\n\t\t\t\t\t\t<LocationPicker\n\t\t\t\t\t\t\tdisabled={route?.id}\n\t\t\t\t\t\t\tclassName='waypoint-location-picker'\n\t\t\t\t\t\t\tplaceholder={t('common:search')}\n\t\t\t\t\t\t\tgeofences={geofences}\n\t\t\t\t\t\t\tmapsAPI={googleMapsAPI}\n\t\t\t\t\t\t\tinput={{ fluid: true }}\n\t\t\t\t\t\t\tdefaultValue={displayNameForWaypoint(coor1, addressCache)}\n\t\t\t\t\t\t\tonChange={onFirstLocationSearch}\n\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Form.Field>\n\n\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.optimalRoute.location')} 2</label>\n\t\t\t\t\t\t<LocationPicker\n\t\t\t\t\t\t\tdisabled={route?.id}\n\t\t\t\t\t\t\tclassName='waypoint-location-picker'\n\t\t\t\t\t\t\tplaceholder={t('common:search')}\n\t\t\t\t\t\t\tgeofences={geofences}\n\t\t\t\t\t\t\tmapsAPI={googleMapsAPI}\n\t\t\t\t\t\t\tinput={{ fluid: true }}\n\t\t\t\t\t\t\tdefaultValue={displayNameForWaypoint(coor2, addressCache)}\n\t\t\t\t\t\t\tonChange={onSecondLocationSearch}\n\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Form.Field>\n\n\t\t\t\t\t{coor1 && coor2 && (\n\t\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t\t<label>Waypoints</label>\n\t\t\t\t\t\t\t{waypoints.map((waypoint, index, array) =>\n\t\t\t\t\t\t\t\t<LocationPicker\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\tclassName='waypoint-location-picker'\n\t\t\t\t\t\t\t\t\tplaceholder={t('common:search')}\n\t\t\t\t\t\t\t\t\tgeofences={geofences}\n\t\t\t\t\t\t\t\t\tmapsAPI={googleMapsAPI}\n\t\t\t\t\t\t\t\t\tinput={{ fluid: true }}\n\t\t\t\t\t\t\t\t\tdefaultValue={displayNameForWaypoint(waypoint, addressCache)}\n\t\t\t\t\t\t\t\t\tonChange={e => addWaypoint(e, waypoint.id)}\n\t\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<LocationPicker\n\t\t\t\t\t\t\t\tclassName='waypoint-location-picker'\n\t\t\t\t\t\t\t\tplaceholder={t('common:search')}\n\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\tclearOnSelect\n\t\t\t\t\t\t\t\tgeofences={geofences}\n\t\t\t\t\t\t\t\tmapsAPI={googleMapsAPI}\n\t\t\t\t\t\t\t\tinput={{ fluid: true }}\n\t\t\t\t\t\t\t\tonChange={e => addWaypoint(e)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Form.Field>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Form.Field error={saveButtonPressed && !name} className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.tableHeader.name')} <span className='asterix'>*</span></label>\n\t\t\t\t\t\t<input placeholder={t('settings-tms:tms.optimalRoute.nameOfOptimalRoute')} value={name} onChange={e => setName(e.target.value)} />\n\t\t\t\t\t</Form.Field>\n\n\t\t\t\t\t<Header as='h4'>{t('settings-tms:tms.optimalRoute.originalRoute')}<div className='line' /></Header>\n\t\t\t\t\t<Divider />\n\n\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.tableHeader.distance')}</label>\n\t\t\t\t\t\t<input disabled value={originalRoute?.distance || ''} />\n\t\t\t\t\t</Form.Field>\n\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.tableHeader.duration')}</label>\n\t\t\t\t\t\t<input disabled value={formatDuration(originalRoute?.duration) || ''} />\n\t\t\t\t\t</Form.Field>\n\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.tableHeader.cost')}</label>\n\t\t\t\t\t\t<input disabled value={getTotalCost(originalRoute?.cost) || ''} />\n\t\t\t\t\t</Form.Field>\n\n\t\t\t\t\t<Header as='h4'>{t('settings-tms:tms.optimalRoute.optimalRoute')} <div className='line green' /></Header>\n\t\t\t\t\t<Divider />\n\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.tableHeader.distance')}</label>\n\t\t\t\t\t\t<input disabled value={optimalRoute?.distance || ''} />\n\t\t\t\t\t</Form.Field>\n\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.tableHeader.duration')}</label>\n\t\t\t\t\t\t<input disabled value={formatDuration(optimalRoute?.duration) || ''} />\n\t\t\t\t\t</Form.Field>\n\t\t\t\t\t<Form.Field className='tms-form-field'>\n\t\t\t\t\t\t<label>{t('settings-tms:tms.tableHeader.cost')}</label>\n\t\t\t\t\t\t<input disabled value={getTotalCost(optimalRoute?.cost) || ''} />\n\t\t\t\t\t</Form.Field>\n\t\t\t\t</div>\n\t\t\t\t<div className='actions'>\n\t\t\t\t\t<div onClick={saveEditingRoute} className='doc-button approve'>{t('common:buttons.save')}</div>\n\t\t\t\t\t<div onClick={cancelRoute} className='doc-button'>{t('common:buttons.cancel')}</div>\n\t\t\t\t</div>\n\t\t\t</Form>\n\t\t\t<div className='map'>\n\t\t\t\t{showPopupInfo &&\n\t\t\t\t\t<div className='message-layer'>\n\t\t\t\t\t\t<div className='my-message'>\n\t\t\t\t\t\t\t<div className='content'>\n\t\t\t\t\t\t\t\t{t('settings-tms:tms.optimalRoute.selectAndDragAndDrop')}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='action'>\n\t\t\t\t\t\t\t\t<Icon name='close pointer' fitted onClick={() => setShowPopupInfo(false)} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>}\n\t\t\t\t<GoogleMapReact\n\t\t\t\t\tclassName='ember-google-map'\n\t\t\t\t\tbootstrapURLKeys={{ key: googleAPIKey, libraries: ['places', 'geometry'] }}\n\t\t\t\t\tdefaultCenter={{ lat: 45, lng: 25 }}\n\t\t\t\t\tdefaultZoom={5}\n\t\t\t\t\toptions={{\n\t\t\t\t\t\tstreetViewControl: true\n\t\t\t\t\t}}\n\t\t\t\t\tonGoogleApiLoaded={onGoogleAPILoaded}\n\t\t\t\t\tonClick={onMapClick}\n\t\t\t\t\tyesIWantToUseGoogleMapApiInternals\n\t\t\t\t>\n\t\t\t\t\t{coor1 ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tlat={coor1.lat}\n\t\t\t\t\t\t\tlng={coor1.lng}\n\t\t\t\t\t\t\tclassName='map-marker'\n\t\t\t\t\t\t\tonClick={() => !route?.id ? setCoor1(null) : null}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\twidth={27}\n\t\t\t\t\t\t\t\theight={43}\n\t\t\t\t\t\t\t\tsrc={`${assetsPath}/images/google/pin-simple.png`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span className='tms-map'>1</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{coor2 ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tlat={coor2.lat}\n\t\t\t\t\t\t\tlng={coor2.lng}\n\t\t\t\t\t\t\tclassName='map-marker'\n\t\t\t\t\t\t\tonClick={() => !route?.id ? setCoor2(null) : null}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\twidth={27}\n\t\t\t\t\t\t\t\theight={43}\n\t\t\t\t\t\t\t\tsrc={`${assetsPath}/images/google/pin-simple.png`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span className='tms-map'>2</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{waypoints.map((waypoint, index) =>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={'mdmID' + index}\n\t\t\t\t\t\t\tlat={waypoint.lat}\n\t\t\t\t\t\t\tlng={waypoint.lng}\n\t\t\t\t\t\t\tclassName='waypoint'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\twidth={32}\n\t\t\t\t\t\t\t\theight={32}\n\t\t\t\t\t\t\t\tsrc='/g-map-utils/map-marker-drag-red.png'\n\t\t\t\t\t\t\t\tonClick={() => onDragWaypointClick(waypoint, index)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</GoogleMapReact>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nOptimalroute.propTypes = {\n\troute: PropTypes.object,\n\tsaveRoute: PropTypes.func,\n\tcancelRoute: PropTypes.func,\n}\nexport default Optimalroute\n","import React from 'react'\nimport { Table, Icon } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nconst OptimalRoutesTable = ({ optimalRoutes, editRoute, removeRoute }) => {\n\tconst { t } = useTranslation(['common', 'settings-tms'])\n\n\tconst formatDuration = duration => {\n\t\tif (!duration) return '-'\n\t\treturn moment.duration(duration * 1000).format(t('common:DDHHmm'))\n\t}\n\n\tconst getTotalCost = (ptvRouteCost) => {\n\t\tif (!ptvRouteCost) return 0\n\t\tconst boat = ptvRouteCost.total?.boat || 0\n\t\tconst driver = ptvRouteCost.total?.driver || 0\n\t\tconst toll = ptvRouteCost.total?.toll || 0\n\t\tconst vehicle = ptvRouteCost.total?.vehicle || 0\n\t\treturn boat + driver + toll + vehicle\n\t}\n\n\treturn (\n\t\t<Table className='relaxed sticky optimalRoutesTable'>\n\t\t\t<Table.Header>\n\t\t\t\t<Table.Row>\n\t\t\t\t\t<Table.HeaderCell>{t('settings-tms:tms.tableHeader.name')}</Table.HeaderCell>\n\t\t\t\t\t<Table.HeaderCell textAlign='right'>{t('settings-tms:tms.tableHeader.distance')}</Table.HeaderCell>\n\t\t\t\t\t<Table.HeaderCell textAlign='center'>{t('settings-tms:tms.tableHeader.duration')}</Table.HeaderCell>\n\t\t\t\t\t<Table.HeaderCell textAlign='right'>{t('settings-tms:tms.tableHeader.cost')}</Table.HeaderCell>\n\t\t\t\t\t<Table.HeaderCell textAlign='right'>{t('settings-tms:tms.tableHeader.diffKm')}</Table.HeaderCell>\n\t\t\t\t\t<Table.HeaderCell textAlign='center'>{t('settings-tms:tms.tableHeader.diffDuration')}</Table.HeaderCell>\n\t\t\t\t\t<Table.HeaderCell textAlign='right'>{t('settings-tms:tms.tableHeader.diffCost')}</Table.HeaderCell>\n\t\t\t\t\t<Table.HeaderCell />\n\t\t\t\t</Table.Row>\n\t\t\t</Table.Header>\n\n\t\t\t<Table.Body>\n\t\t\t\t{optimalRoutes.map((record, idx) =>\n\t\t\t\t\t<Table.Row key={idx}>\n\t\t\t\t\t\t<Table.Cell>{record.name}</Table.Cell>\n\t\t\t\t\t\t<Table.Cell textAlign='right'>{record.optimalRoute?.distance}</Table.Cell>\n\t\t\t\t\t\t<Table.Cell textAlign='center'>{formatDuration(record.optimalRoute?.duration)}</Table.Cell>\n\t\t\t\t\t\t<Table.Cell textAlign='right'>{getTotalCost(record.optimalRoute?.cost)}</Table.Cell>\n\t\t\t\t\t\t<Table.Cell textAlign='right'>{record.diffDistance}</Table.Cell>\n\t\t\t\t\t\t<Table.Cell textAlign='center'>{formatDuration(record.diffDuration)}</Table.Cell>\n\t\t\t\t\t\t<Table.Cell textAlign='right'>{record.diffCost}</Table.Cell>\n\t\t\t\t\t\t<Table.Cell textAlign='right' width='1'>\n\t\t\t\t\t\t\t<Icon name='edit outline pointer' onClick={() => editRoute(record)} />\n\t\t\t\t\t\t\t<Icon name='trash alternate outline pointer' onClick={() => removeRoute(record)} />\n\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t</Table.Row>\n\t\t\t\t)}\n\t\t\t</Table.Body>\n\t\t</Table>\n\t)\n}\n\nOptimalRoutesTable.propTypes = {\n\toptimalRoutes: PropTypes.array,\n\teditRoute: PropTypes.func,\n\tremoveRoute: PropTypes.func,\n}\n\nexport default OptimalRoutesTable\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Loader } from 'semantic-ui-react'\nimport PropTypes from 'prop-types'\nimport OptimalRoutesTable from './OptimalRoutesTable'\nimport OptimalRoute from './OptimalRoute'\n\nfunction Index ({ optimalRoutes, isLoading, editingOptimalRoute, editRoute, saveRoute, removeRoute, cancelRoute }) {\n\tconst { t } = useTranslation(['common'])\n\n\treturn (\n\t\tisLoading\n\t\t\t? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t: (\n\t\t\t\teditingOptimalRoute\n\t\t\t\t\t? <OptimalRoute\n\t\t\t\t\t\troute={editingOptimalRoute}\n\t\t\t\t\t\tsaveRoute={saveRoute}\n\t\t\t\t\t\tcancelRoute={cancelRoute}\n\t\t\t\t\t/>\n\t\t\t\t\t: <OptimalRoutesTable\n\t\t\t\t\t\toptimalRoutes={optimalRoutes}\n\t\t\t\t\t\teditRoute={editRoute}\n\t\t\t\t\t\tremoveRoute={removeRoute}\n\t\t\t\t\t/>\n\t\t\t)\n\t)\n}\n\nIndex.propTypes = {\n\toptimalRoutes: PropTypes.array,\n\tisLoading: PropTypes.bool,\n\teditingOptimalRoute: PropTypes.object,\n\teditRoute: PropTypes.func,\n\tsaveRoute: PropTypes.func,\n\tremoveRoute: PropTypes.func,\n\tcancelRoute: PropTypes.func,\n}\n\nexport default Index\n","import React, { useMemo, useEffect } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { get } from 'lodash'\nimport { useSelections } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nconst DispatchersFilter = ({ dispatchers, defaultSelected, onChange, ...otherProps }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst options = useMemo(() => {\n\t\tif (!dispatchers || !dispatchers.length) return []\n\t\treturn dispatchers.map(user => {\n\t\t\treturn { key: get(user, 'raw.id'), value: get(user, 'raw.id'), text: get(user, 'name') }\n\t\t})\n\t}, [dispatchers])\n\n\tconst { selected, isSelected, toggle, unSelectAll } = useSelections(options.map(option => option.value), defaultSelected)\n\n\tuseEffect(() => {\n\t\tif (onChange) {\n\t\t\tonChange(selected)\n\t\t}\n\t}, [selected])\n\n\treturn (\n\t\t<Dropdown\n\t\t\ttext={selected.length > 0 ? t('filters-selected', { count: selected.length }) : null}\n\t\t\tvalue={selected}\n\t\t\tselectOnBlur={false}\n\t\t\tonChange={() => unSelectAll()}\n\t\t\tclearable multiple selection\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t<Dropdown.Menu>\n\t\t\t\t{options.map(option => (\n\t\t\t\t\t<Dropdown.Item key={option.value} {...option} icon={isSelected(option.value) ? 'check' : ''} active={isSelected(option.value)} onClick={() => toggle(option.value)} />\n\t\t\t\t))}\n\t\t\t</Dropdown.Menu>\n\t\t</Dropdown>\n\t)\n}\n\nDispatchersFilter.propTypes = {\n\tdispatchers: PropTypes.array,\n\tdefaultSelected: PropTypes.array,\n\tonChange: PropTypes.func\n}\n\nexport default DispatchersFilter\n","import React, { useMemo, useEffect } from 'react'\nimport { Dropdown, Icon } from 'semantic-ui-react'\nimport { useSelections } from 'ahooks'\nimport { get, sortBy } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nconst GroupFilter = ({ groups, noGroupOption, defaultSelected, indentSize = 24, onChange, ...otherProps }) => {\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst options = useMemo(() => {\n\t\tconst groupsOptions = sortBy(groups, ['raw.id'])\n\t\t\t.map(group => {\n\t\t\t\tlet level = get(group, 'raw.id').split('-').length\n\t\t\t\tif (level > 0) { level -= 1 }\n\n\t\t\t\treturn {\n\t\t\t\t\tkey: get(group, 'raw.id'),\n\t\t\t\t\tvalue: get(group, 'raw.id'),\n\t\t\t\t\ttext: get(group, 'raw.name'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tpaddingLeft: level * indentSize,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t})\n\n\t\tif (noGroupOption) {\n\t\t\tgroupsOptions.splice(0, 0, {\n\t\t\t\tkey: '-',\n\t\t\t\tvalue: '-',\n\t\t\t\ttext: t('map:vehicleList.groupFilter.noGroupAvailable'),\n\t\t\t\tstyle: {\n\t\t\t\t\tpaddingLeft: indentSize,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t\treturn groupsOptions\n\t}, [groups, noGroupOption, indentSize])\n\n\tconst { selected, isSelected, noneSelected, unSelectAll, setSelected } = useSelections(options.map(option => option.value), defaultSelected)\n\n\tuseEffect(() => {\n\t\tif (noneSelected) {\n\t\t\tonChange(null)\n\t\t}\n\t}, [noneSelected])\n\n\tuseEffect(() => {\n\t\tif (defaultSelected !== selected) {\n\t\t\tsetSelected(defaultSelected)\n\t\t}\n\t}, [defaultSelected])\n\n\treturn (\n\t\t<Dropdown\n\t\t\ttext={selected.length > 0 ? t('filters-selected', { count: selected.length }) : null}\n\t\t\tvalue={selected}\n\t\t\tselectOnBlur={false}\n\t\t\tonChange={() => unSelectAll()}\n\t\t\tclearable multiple selection\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t<Dropdown.Menu>\n\t\t\t\t{options.map(option => (\n\t\t\t\t\t<Dropdown.Item\n\t\t\t\t\t\t{...option}\n\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\tactive={isSelected(option.value)}\n\t\t\t\t\t\tonClick={() => onChange(option.value)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div style={option.style}>\n\t\t\t\t\t\t\t<Icon name={isSelected(option.value) ? 'check' : null} />\n\t\t\t\t\t\t\t{option.text}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Dropdown.Item>\n\t\t\t\t))}\n\t\t\t</Dropdown.Menu>\n\t\t</Dropdown>\n\t)\n}\n\nGroupFilter.propTypes = {\n\tgroups: PropTypes.array,\n\tnoGroupOption: PropTypes.number,\n\tdefaultSelected: PropTypes.array,\n\tindentSize: PropTypes.number,\n\tonChange: PropTypes.func\n}\n\nexport default GroupFilter\n","import React, { useEffect } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useSelections } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\n\nconst StatusFilter = ({ defaultSelected, showFreezerFilter, showDoorFilter, showTaxiFilter, onChange, ...otherProps }) => {\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst options = [\n\t\t{ content: t('map:vehicleList.statusFilter.status.vehicle.title'), _header: true },\n\t\t{ text: t('map:vehicleList.statusFilter.status.vehicle.moving'), icon: 'circle status engineOn', value: 'status-moving' },\n\t\t{ text: t('map:vehicleList.statusFilter.status.vehicle.stopped'), icon: 'circle status engineOff', value: 'status-stopped' },\n\t\t{ text: t('map:vehicleList.statusFilter.status.vehicle.powerOutage'), title: t('map:vehicleList.statusFilter.status.vehicle.tooltip.powerOutage'), icon: 'circle status powerOutage', value: 'status-powerOutage' },\n\t\t{ text: t('map:vehicleList.statusFilter.status.vehicle.unreachable'), title: t('map:vehicleList.statusFilter.status.vehicle.tooltip.unreachable'), icon: 'circle status unreachable', value: 'status-unreachable' },\n\t]\n\tif (showFreezerFilter) {\n\t\toptions.push({ content: t('map:vehicleList.statusFilter.status.freezer.title'), _header: true })\n\t\toptions.push({ text: t('map:vehicleList.statusFilter.status.freezer.on'), icon: 'freezer on', value: 'freezer-on' })\n\t\toptions.push({ text: t('map:vehicleList.statusFilter.status.freezer.off'), icon: 'freezer off', value: 'freezer-off' })\n\t}\n\tif (showDoorFilter) {\n\t\toptions.push({ content: t('map:vehicleList.statusFilter.status.doors.title'), _header: true })\n\t\toptions.push({ text: t('map:vehicleList.statusFilter.status.doors.open'), icon: 'vehicleDoor open', value: 'doors-open' })\n\t\toptions.push({ text: t('map:vehicleList.statusFilter.status.doors.closed'), icon: 'vehicleDoor closed', value: 'doors-closed' })\n\t}\n\tif (showTaxiFilter) {\n\t\toptions.push({ content: t('vehicle.sensors.taxi.label'), _header: true })\n\t\toptions.push({ text: t('vehicle.sensors.taxi.values.available'), icon: 'circle status engineOn', value: 'taxi-available' })\n\t\toptions.push({ text: t('vehicle.sensors.taxi.values.occupied'), icon: 'circle status engineOff', value: 'taxi-occupied' })\n\t\toptions.push({ text: t('vehicle.sensors.taxi.values.off'), icon: 'circle status none', value: 'taxi-off' })\n\t}\n\n\tconst { selected, isSelected, toggle, unSelectAll } = useSelections(options.map(option => option.value), defaultSelected)\n\n\tuseEffect(() => {\n\t\tif (onChange) {\n\t\t\tonChange(selected)\n\t\t}\n\t}, [selected])\n\n\treturn (\n\t\t<Dropdown\n\t\t\ttext={selected.length > 0 ? t('filters-selected', { count: selected.length }) : null}\n\t\t\tvalue={selected}\n\t\t\tonChange={() => unSelectAll()}\n\t\t\tclearable multiple selection\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t<Dropdown.Menu>\n\t\t\t\t{options.map(option => (\n\t\t\t\t\toption._header\n\t\t\t\t\t\t? <Dropdown.Header {...option} />\n\t\t\t\t\t\t: <Dropdown.Item key={option.value} {...option} active={isSelected(option.value)} onClick={() => toggle(option.value)} />\n\t\t\t\t))}\n\t\t\t</Dropdown.Menu>\n\t\t</Dropdown>\n\t)\n}\n\nStatusFilter.propTypes = {\n\tdefaultSelected: PropTypes.array,\n\tshowFreezerFilter: PropTypes.bool,\n\tshowDoorFilter: PropTypes.bool,\n\tshowTaxiFilter: PropTypes.bool,\n\tonChange: PropTypes.func\n}\n\nexport default StatusFilter\n","import React, { useMemo, useEffect } from 'react'\nimport { Dropdown } from 'semantic-ui-react'\nimport { useSelections } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport { indexOf } from 'lodash'\nimport PropTypes from 'prop-types'\n\nconst TypeFilter = ({ vehiclesTypes, defaultSelected, onChange, ...otherProps }) => {\n\tconst { t } = useTranslation(['common', 'map'])\n\n\tconst types = useMemo(() => {\n\t\tconst allTypes = [\n\t\t\t{ key: 'utility', value: 'utility', text: t('map:vehicleList.typeFilter.type.utility') },\n\t\t\t{ key: 'car', value: 'car', text: t('map:vehicleList.typeFilter.type.car') },\n\t\t\t{ key: 'minibus', value: 'minibus', text: t('map:vehicleList.typeFilter.type.minibus') },\n\t\t\t{ key: 'bus', value: 'bus', text: t('map:vehicleList.typeFilter.type.bus') },\n\t\t\t{ key: 'truck', value: 'truck', text: t('map:vehicleList.typeFilter.type.truck') },\n\t\t\t{ key: 'tractor', value: 'tractor', text: t('map:vehicleList.typeFilter.type.tractor') },\n\t\t\t{ key: 'harvester', value: 'harvester', text: t('map:vehicleList.typeFilter.type.harvester') },\n\t\t\t{ key: 'construction', value: 'construction', text: t('map:vehicleList.typeFilter.type.construction') },\n\t\t\t{ key: 'trailer', value: 'trailer', text: t('map:vehicleList.typeFilter.type.trailer') },\n\t\t\t{ key: 'semi-trailer', value: 'semi-trailer', text: t('map:vehicleList.typeFilter.type.semitrailer') },\n\t\t]\n\t\treturn allTypes.filter(type => indexOf(vehiclesTypes, type.key) !== -1)\n\t}, [vehiclesTypes])\n\n\tconst { selected, isSelected, toggle, unSelectAll } = useSelections(types.map(option => option.value), defaultSelected)\n\n\tuseEffect(() => {\n\t\tif (onChange) {\n\t\t\tonChange(selected)\n\t\t}\n\t}, [selected])\n\n\treturn (\n\t\t<Dropdown\n\t\t\ttext={selected.length > 0 ? t('filters-selected', { count: selected.length }) : null}\n\t\t\tvalue={selected}\n\t\t\tonChange={() => unSelectAll()}\n\t\t\tclearable multiple selection\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t<Dropdown.Menu>\n\t\t\t\t{types.map(option => (\n\t\t\t\t\t<Dropdown.Item key={option.value} {...option} icon={isSelected(option.value) ? 'check' : ''} active={isSelected(option.value)} onClick={() => toggle(option.value)} />\n\t\t\t\t))}\n\t\t\t</Dropdown.Menu>\n\t\t</Dropdown>\n\t)\n}\n\nTypeFilter.propTypes = {\n\tvehiclesTypes: PropTypes.array,\n\tdefaultSelected: PropTypes.array,\n\tonChange: PropTypes.func\n}\n\nexport default TypeFilter\n","import React, { useState, useMemo, useEffect, useRef } from 'react'\nimport { Input, Button, Icon } from 'semantic-ui-react'\nimport { useVirtualList, useResponsive } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport matchSorter, { rankings } from 'match-sorter'\nimport { uniq, get, find, sortBy, isEqual, difference, indexOf } from 'lodash'\nimport StatusFilter from './StatusFilter'\nimport TypeFilter from './TypeFilter'\nimport GroupFilter from './GroupFilter'\nimport DispatchersFilter from './DispatchersFilter'\nimport PropTypes from 'prop-types'\n\nfunction selectGroups (selectedGroupID, selectedGroupsIDs, allGroups) {\n\tif (!selectedGroupID) return []\n\tconst selectedGroups = selectedGroupsIDs.map(id => { return id })\n\tconst isSelection = selectedGroups.indexOf(selectedGroupID) === -1\n\t// process childrens and group\n\tconst childrens = allGroups.filter(id => id !== selectedGroupID && id.indexOf(selectedGroupID) !== -1)\n\tif (isSelection) { // select group and childrens\n\t\tselectedGroups.push(selectedGroupID)\n\t\tchildrens.forEach(child => {\n\t\t\tif (selectedGroups.indexOf(child) === -1) {\n\t\t\t\tselectedGroups.push(child)\n\t\t\t}\n\t\t})\n\t} else { // remove group and childrens\n\t\tselectedGroups.splice(selectedGroups.indexOf(selectedGroupID), 1)\n\t\tchildrens.forEach(child => {\n\t\t\tconst childIndexInSelection = selectedGroups.indexOf(child)\n\t\t\tif (childIndexInSelection !== -1) {\n\t\t\t\tselectedGroups.splice(childIndexInSelection, 1)\n\t\t\t}\n\t\t})\n\t}\n\t// process parents\n\t// const selectionSplitted = selectedGroupID.split('-')\n\t// const parents = []\n\t// while (selectionSplitted.length > 1) {\n\t// \tselectionSplitted.pop()\n\t// \tparents.push(selectionSplitted.join('-'))\n\t// }\n\t// parents.forEach(parentID => {\n\t// \tconst parentLevel = parentID.split('-').length\n\t// \tconst parentChilds = allGroups.filter(group => {\n\t// \t\tconst groupLevel = group.split('-').length\n\t// \t\treturn groupLevel === (parentLevel + 1) && group !== parentID && group.indexOf(parentID) !== -1\n\t// \t})\n\t// \t// are all parentChilds selected?\n\t// \tlet allParentChildsSelected = true\n\t// \tparentChilds.forEach(child => {\n\t// \t\tif (selectedGroups.indexOf(child) === -1) {\n\t// \t\t\tallParentChildsSelected = false\n\t// \t\t}\n\t// \t})\n\t// \tconst parentIndexInSelection = selectedGroups.indexOf(parentID)\n\t// \tif (allParentChildsSelected) {\n\t// \t\tif (parentIndexInSelection === -1) {\n\t// \t\t\tselectedGroups.push(parentID)\n\t// \t\t}\n\t// \t} else {\n\t// \t\tif (parentIndexInSelection !== -1) {\n\t// \t\t\tselectedGroups.splice(parentIndexInSelection, 1)\n\t// \t\t}\n\t// \t}\n\t// })\n\n\treturn selectedGroups\n}\n\nfunction getUserName (id, users, from = 'raw.id') {\n\tif (!id || !users || !users.length) return null\n\tconst user = find(users, [from, id])\n\tif (!user) return null\n\treturn get(user, 'name')\n}\n\nconst VehicleList = ({ vehicles, groups, users, userType, statusFiltersDefault, vehiclesTypeFilterDefault, groupsFilterDefault, dispatchersFilterDefault, onChange, onFilterChange, onClick, saveMapFilter, hasFreezerModule, hasSensorDoorModule, hasTaxiModule, mapMarkerText, itemHeight = 40 }) => {\n\t// Filtering\n\tconst [search, setSearch] = useState('')\n\tconst [statusFilters, setStatusFilters] = useState(statusFiltersDefault)\n\tconst [vehiclesTypeFilter, setVehiclesTypeFilter] = useState(vehiclesTypeFilterDefault)\n\tconst [groupsFilter, setGroupsFilter] = useState(groupsFilterDefault)\n\tconst [dispatchersFilter, setDispatchersFilter] = useState(dispatchersFilterDefault)\n\tconst [showList, setShowList] = useState(false)\n\tconst responsive = useResponsive()\n\tconst isMobile = !responsive.lg\n\n\tconst vehiclesIDsWithoutGroup = useMemo(() => {\n\t\tif (!groups || !vehicles) return []\n\t\tconst groupsIDs = groups.mapBy('raw.id')\n\t\tconst vehiclesGroupsIDs = vehicles.mapBy('raw.groupID')\n\t\treturn difference(vehiclesGroupsIDs, groupsIDs)\n\t}, [groups, vehicles])\n\n\tconst showGroupFilter = groups.length > 1 || (groups.length && vehiclesIDsWithoutGroup.length)\n\n\tconst vehiclesTypes = useMemo(() => {\n\t\tif (!vehicles || !vehicles.length) return []\n\t\tconst vehTypes = vehicles.mapBy('raw.type')\n\t\treturn uniq(vehTypes)\n\t}, [vehicles])\n\n\tconst showVehiclesTypesFilter = vehiclesTypes.length > 1\n\tconst data = useMemo(() => {\n\t\tconst showDriverName = mapMarkerText === 'driver-name'\n\t\tconst vehiclesWithDriverName = vehicles.map(vehicle => {\n\t\t\tconst driverName = getUserName(get(vehicle, 'raw.userID'), users)\n\t\t\tvehicle.driverName = driverName\n\t\t\tvehicle.showText = showDriverName && driverName ? driverName : vehicle.raw.licensePlate\n\t\t\treturn vehicle\n\t\t})\n\t\tlet data = matchSorter(vehiclesWithDriverName, search, { keys: ['raw.licensePlate', 'driverName'], threshold: rankings.CONTAINS })\n\n\t\tdata = data.filter(vehicle => {\n\t\t\tconst filters = [[], [], [], []] // Use array placeholder for grouped filters\n\n\t\t\tstatusFilters.forEach(filter => {\n\t\t\t\tswitch (filter) {\n\t\t\t\tcase 'status-unreachable': filters[0].push(vehicle.status === 'unreachable'); break\n\t\t\t\tcase 'status-moving': filters[0].push(vehicle.status === 'moving' || vehicle.status === 'stopped'); break\n\t\t\t\tcase 'status-stopped': filters[0].push(vehicle.status === 'off'); break\n\t\t\t\tcase 'status-powerOutage': filters[0].push(vehicle.status === 'powerOutage'); break\n\t\t\t\tcase 'doors-open': filters[1].push(vehicle.openDoors != null && vehicle.openDoors.length > 0); break\n\t\t\t\tcase 'doors-closed': filters[1].push(vehicle.openDoors != null && vehicle.openDoors.length === 0); break\n\t\t\t\tcase 'freezer-on': filters[2].push(vehicle.hasSensor('freezer') && get(vehicle, 'raw.status.sensors.freezer')); break\n\t\t\t\tcase 'freezer-off': filters[2].push(vehicle.hasSensor('freezer') && !get(vehicle, 'raw.status.sensors.freezer')); break\n\t\t\t\tcase 'taxi-available': filters[3].push(vehicle.hasSensor('taxi') && (get(vehicle, 'taxiState') === 'available')); break\n\t\t\t\tcase 'taxi-occupied': filters[3].push(vehicle.hasSensor('taxi') && (get(vehicle, 'taxiState') === 'occupied')); break\n\t\t\t\tcase 'taxi-off': filters[3].push(vehicle.hasSensor('taxi') && (get(vehicle, 'taxiState') === 'off')); break\n\t\t\t\t}\n\t\t\t})\n\t\t\tif (vehiclesTypeFilter.length) {\n\t\t\t\tfilters.push(indexOf(vehiclesTypeFilter, get(vehicle, 'raw.type')) !== -1)\n\t\t\t}\n\t\t\tif (groupsFilter.length) {\n\t\t\t\tconst vehGroupID = get(vehicle, 'raw.groupID')\n\t\t\t\tconst isVehicleWithoutGroup = indexOf(vehiclesIDsWithoutGroup, vehGroupID) !== -1\n\t\t\t\tif (isVehicleWithoutGroup) {\n\t\t\t\t\tfilters.push(indexOf(groupsFilter, '-') !== -1)\n\t\t\t\t} else {\n\t\t\t\t\tlet passedGroupFilter = false\n\t\t\t\t\tgroupsFilter.forEach(grpID => {\n\t\t\t\t\t\tif (vehGroupID.startsWith(grpID)) {\n\t\t\t\t\t\t\tpassedGroupFilter = true\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tfilters.push(passedGroupFilter)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (dispatchersFilter.length) {\n\t\t\t\tfilters.push(indexOf(dispatchersFilter, get(vehicle, 'raw.dispatcherID', '')) !== -1)\n\t\t\t}\n\n\t\t\t// Filters are ANDed (grouped filters are ORed into one value)\n\t\t\treturn filters.every(value => {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tif (value.length === 0) { return true }\n\t\t\t\t\treturn value.some(value => value)\n\t\t\t\t}\n\t\t\t\treturn value\n\t\t\t})\n\t\t})\n\n\t\tdata = sortBy(data, ['showText'])\n\n\t\treturn data\n\t}, [vehicles, users, mapMarkerText, vehiclesTypes, vehiclesIDsWithoutGroup, search, statusFilters, vehiclesTypeFilter, groupsFilter, dispatchersFilter])\n\n\tconst { t } = useTranslation(['common', 'map'])\n\tconst { list, containerProps, wrapperProps, scrollTo } = useVirtualList(\n\t\tdata,\n\t\t{\n\t\t\titemHeight,\n\t\t\toverscan: 10,\n\t\t}\n\t)\n\tconst dispatchers = useMemo(() => {\n\t\tif (!userType || !users) return null\n\t\tif (userType !== 'manager' && userType !== 'admin') return null\n\n\t\tconst managers = users.filter(user => !get(user, 'isDeleted') && get(user, 'raw.type') === 'manager')\n\n\t\tif (managers.length > 1) {\n\t\t\treturn managers\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}, [users, userType])\n\n\tconst handleMobileToggleClick = () => {\n\t\tsetShowList(!showList)\n\t}\n\n\tconst _data = useRef([])\n\tuseEffect(() => {\n\t\tconst previousVehicles = _data.current.map(vehicle => vehicle.raw.id)\n\t\tconst currentVehicles = data.map(vehicle => vehicle.raw.id)\n\t\tif (isEqual(previousVehicles, currentVehicles)) { return }\n\n\t\tif (onChange) { onChange(data) }\n\t\tscrollTo(0)\n\t\t_data.current = data\n\t}, [onChange, data])\n\n\tconst onStatusFilterChange = (filters) => {\n\t\tsetStatusFilters(filters)\n\t\tif (saveMapFilter && (difference(filters, statusFilters).length || difference(statusFilters, filters).length)) {\n\t\t\tsaveMapFilter('mapStatusFilters', filters)\n\t\t}\n\t}\n\tconst onVehiclesTypeFilterChange = (vehiclesType) => {\n\t\tsetVehiclesTypeFilter(vehiclesType)\n\t\tif (saveMapFilter && (difference(vehiclesType, vehiclesTypeFilter).length || difference(vehiclesTypeFilter, vehiclesType).length)) {\n\t\t\tsaveMapFilter('mapVehiclesTypeFilter', vehiclesType)\n\t\t}\n\t}\n\tconst onGroupsFilterChange = (selectedGroupID) => {\n\t\tconst selectedGroups = selectGroups(selectedGroupID, groupsFilterDefault, groups.mapBy('raw.id'))\n\t\tsetGroupsFilter(selectedGroups)\n\t\tif (saveMapFilter && (difference(selectedGroups, groupsFilterDefault).length || difference(groupsFilterDefault, selectedGroups).length)) {\n\t\t\tsaveMapFilter('mapGroupsFilter', selectedGroups)\n\t\t}\n\t}\n\tconst onDispatchersFilterChange = (dispatchersIDs) => {\n\t\tsetDispatchersFilter(dispatchersIDs)\n\t\tif (saveMapFilter && (difference(dispatchersIDs, dispatchersFilterDefault).length || difference(dispatchersFilterDefault, dispatchersIDs).length)) {\n\t\t\tsaveMapFilter('mapDispatchersFilter', dispatchersIDs)\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (onFilterChange) onFilterChange()\n\t}, [onFilterChange, search, statusFilters, vehiclesTypeFilter, groupsFilter, dispatchersFilter])\n\n\tuseEffect(() => {\n\t\tif (isMobile & !showList && search.length > 0) {\n\t\t\tsetShowList(true)\n\t\t}\n\t}, [search])\n\n\treturn (\n\t\t<div className='vehicle-list'>\n\t\t\t<div className='search-button'>\n\t\t\t\t{isMobile ? <Button icon='filter' onClick={handleMobileToggleClick} /> : <div />}\n\t\t\t\t<Input\n\t\t\t\t\tclassName='fluid dark searchLicensePlateDriver'\n\t\t\t\t\tplaceholder={t('searchLicensePlateDriver')}\n\t\t\t\t\ticon={search.length > 0 ? <Icon name='remove' link onClick={() => setSearch('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\tvalue={search}\n\t\t\t\t\tonChange={e => setSearch(e.target.value)}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{isMobile && !showList\n\t\t\t\t? <div />\n\t\t\t\t: <>\n\t\t\t\t\t<StatusFilter\n\t\t\t\t\t\tclassName='dark'\n\t\t\t\t\t\tdefaultSelected={statusFilters}\n\t\t\t\t\t\tshowFreezerFilter={hasFreezerModule}\n\t\t\t\t\t\tshowDoorFilter={hasSensorDoorModule}\n\t\t\t\t\t\tshowTaxiFilter={hasTaxiModule}\n\t\t\t\t\t\tplaceholder={t('map:vehicleList.statusFilter.placeholder')}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\tonChange={selections => onStatusFilterChange(selections)}\n\t\t\t\t\t/>\n\t\t\t\t\t{showVehiclesTypesFilter ? <TypeFilter\n\t\t\t\t\t\tvehiclesTypes={vehiclesTypes}\n\t\t\t\t\t\tclassName='dark'\n\t\t\t\t\t\tdefaultSelected={vehiclesTypeFilter}\n\t\t\t\t\t\tplaceholder={t('map:vehicleList.typeFilter.placeholder')}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\tonChange={selections => onVehiclesTypeFilterChange(selections)}\n\t\t\t\t\t/> : ''}\n\t\t\t\t\t{showGroupFilter ? <GroupFilter\n\t\t\t\t\t\tgroups={groups}\n\t\t\t\t\t\tnoGroupOption={vehiclesIDsWithoutGroup.length}\n\t\t\t\t\t\tclassName='dark'\n\t\t\t\t\t\tdefaultSelected={groupsFilter}\n\t\t\t\t\t\tplaceholder={t('map:vehicleList.groupFilter.placeholder')}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\tonChange={selectedGroupID => onGroupsFilterChange(selectedGroupID)}\n\t\t\t\t\t/> : ''}\n\t\t\t\t\t{dispatchers ? <DispatchersFilter\n\t\t\t\t\t\tdispatchers={dispatchers}\n\t\t\t\t\t\tclassName='dark'\n\t\t\t\t\t\tdefaultSelected={dispatchersFilter}\n\t\t\t\t\t\tplaceholder={t('map:vehicleList.dispatchersFilter.placeholder')}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\tonChange={selections => onDispatchersFilterChange(selections)}\n\t\t\t\t\t/> : ''}\n\n\t\t\t\t\t<div {...containerProps} style={{ height: '100%', overflow: 'auto' }}>\n\t\t\t\t\t\t<div {...wrapperProps}>\n\t\t\t\t\t\t\t{list.map(({ data: vehicle, index } = item) => ( // eslint-disable-line no-undef\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`vehicle ${vehicle.status}`}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\theight: itemHeight\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tkey={vehicle.raw.id}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tif (onClick) { onClick(vehicle) }\n\t\t\t\t\t\t\t\t\t\tif (isMobile && showList) { setShowList(false) }\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{vehicle.showText}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</>}\n\t\t</div>\n\t)\n}\n\nVehicleList.propTypes = {\n\tvehicles: PropTypes.array,\n\tgroups: PropTypes.array,\n\tusers: PropTypes.array,\n\tuserType: PropTypes.string,\n\tstatusFiltersDefault: PropTypes.array,\n\tvehiclesTypeFilterDefault: PropTypes.string,\n\tgroupsFilterDefault: PropTypes.string,\n\tdispatchersFilterDefault: PropTypes.string,\n\tonChange: PropTypes.func,\n\tonFilterChange: PropTypes.func,\n\tonClick: PropTypes.func,\n\tsaveMapFilter: PropTypes.func,\n\titemHeight: PropTypes.number,\n\thasFreezerModule: PropTypes.bool,\n\thasSensorDoorModule: PropTypes.bool,\n\thasTaxiModule: PropTypes.bool,\n\tmapMarkerText: PropTypes.oneOf(['driver-name', 'license-plate']),\n}\n\nexport default VehicleList\n","import PropTypes from 'prop-types'\nimport React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { FaFlag } from 'react-icons/fa'\nimport { BsFuelPumpFill } from 'react-icons/bs'\n\nimport Spinner from 'tracknamic-smb/react/components/Spinner'\nimport { DURATION_FORMAT_HHMM, formatDuration } from 'tracknamic-smb/react/utils/date'\nimport { getFuelLevel, getRouteColor, getWaypointTimestampByPriority } from 'tracknamic-smb/react/utils/routes'\n\nimport { WAYPOINTS_TYPES } from 'tracknamic-smb/react/utils/locations'\n\nconst Item = ({\n\titem,\n\tidx,\n\tisLastWp,\n\tremoveWpIdx,\n}) => {\n\tconst { t } = useTranslation()\n\n\tconst disabledRemove = false\n\n\tconst itemTypeLabel = useMemo(() => WAYPOINTS_TYPES(t)?.find(i => i.value === item?.purpose)?.label, [item, t])\n\tconst routeColor = useMemo(() => getRouteColor(item?.isDislocation ? 'dislocation' : item?.purpose), [item])\n\n\tconst iconClassName = useMemo(() => {\n\t\tconst arr = ['dc-icon']\n\t\tif (['start', 'end'].includes(item?.purpose)) {\n\t\t\tarr.push('via')\n\t\t} else if (item?.purpose === 'ferry-select') {\n\t\t\tarr.push('ferry-dock')\n\t\t} else if (item.purpose) {\n\t\t\tarr.push(item.purpose)\n\t\t}\n\t\treturn arr.join(' ')\n\t}, [item])\n\n\tconst className = useMemo(() => {\n\t\tconst arr = ['waypoint', 'wp-item', 'draggable']\n\t\tif (isLastWp) arr.push('last-wp')\n\t\treturn arr.join(' ')\n\t}, [isLastWp])\n\n\t// #region change content on hover\n\tconst handleMouseEnter = e => {\n\t\tif (disabledRemove) {\n\t\t\te.stopPropagation()\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\te.target.textContent = 'X'\n\t}\n\tconst handleMouseLeonMouseLeave = e => { e.target.textContent = idx + 1 }\n\t// #endregion\n\n\treturn (\n\t\t<div className={className} style={{ borderColor: routeColor }}>\n\t\t\t<div className='row wp-header'>\n\t\t\t\t<i className={iconClassName} />\n\t\t\t\t<div className='dc-grid column-flow space-between'>\n\t\t\t\t\t<div className='purpose-wrapper'>\n\t\t\t\t\t\t<span className='type'>{itemTypeLabel}</span>&nbsp;\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='half-em dc-grid column-flow'>\n\t\t\t\t\t\t<span>ETA</span>\n\t\t\t\t\t\t{!idx && <FaFlag />}\n\t\t\t\t\t\t<span title={getWaypointTimestampByPriority(item, 'DD.MM.YYYY')}>\n\t\t\t\t\t\t\t{getWaypointTimestampByPriority(item, 'dd HH:mm')}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div title='Rest rezervor dupa plecare'>\n\t\t\t\t\t\t<BsFuelPumpFill />\n\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t{getFuelLevel(item, true)} L\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='dc-grid column-flow space-between'>\n\t\t\t\t\t<div className='location'>\n\t\t\t\t\t\t<span className='full-width grid-h fr1-a'>\n\t\t\t\t\t\t\t<span className='name ellipsis' title={item?.location?.name}>\n\t\t\t\t\t\t\t\t{item?.location?.name}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div className='address ellipsis' title={item?.location?.computed}>{item?.location?.computed}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='icons'>\n\t\t\t\t<div className='info'>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`indicator${disabledRemove ? ' disabled-remove' : ' pointer'}`}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tif (disabledRemove) return\n\t\t\t\t\t\t\tremoveWpIdx(idx)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonMouseEnter={handleMouseEnter}\n\t\t\t\t\t\tonMouseLeave={handleMouseLeonMouseLeave}\n\t\t\t\t\t>\n\t\t\t\t\t\t{idx + 1}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{!isLastWp ? (\n\t\t\t\titem.isLoading ? (\n\t\t\t\t\t<Spinner style={{ height: '53px' }} />\n\t\t\t\t) : (\n\t\t\t\t\t<div className='row leg-details'>\n\t\t\t\t\t\t<div className='dc-grid column-flow space-between'>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<span title='Km Tarif / Km Gol'>{item?.distance} km</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<span title='Travel Time'>{formatDuration(true, item?.travelTime, 's', DURATION_FORMAT_HHMM)}</span>\n\t\t\t\t\t\t\t&nbsp;/&nbsp;\n\t\t\t\t\t\t\t\t<span title='Rest Time'>xxx H</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className='dc-grid column-flow space-between'>\n\t\t\t\t\t\t\t{/* add fuel consumption from ptv documentation or multiply distance with 0.26 */}\n\t\t\t\t\t\t\t<div title='Consum Estimat'>{item?.consumption && item?.consumption.toFixed(2)} L</div>\n\t\t\t\t\t\t\t<div title={item?.ptvDetails?.tollCost?.popup}>{item?.ptvDetails?.tollCost?.display}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n\nItem.propTypes = {\n\titem: PropTypes.object,\n\tidx: PropTypes.number,\n\t// showCustomID: PropTypes.bool,\n\t// isFirstWp: PropTypes.bool,\n\tisLastWp: PropTypes.bool,\n\tremoveWpIdx: PropTypes.func,\n}\n\nexport default Item\n","import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Select } from 'antd'\n\nimport { WAYPOINTS_TYPES } from '@/helpers/locations'\n\nconst ONLY = ['via', 'start', 'end', 'split', 'parking', 'ferry-dock', 'rail-dock']\n\nconst SelectWaypointType = ({ ...props }) => {\n\tconst { t } = useTranslation()\n\n\tconst types = useMemo(() => WAYPOINTS_TYPES(t)?.filter(i => ONLY.includes(i.value)), [t])\n\n\treturn (\n\t\t<Select\n\t\t\toptions={types}\n\t\t\tstyle={{ width: '125px' }}\n\t\t\tsize='small'\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport default SelectWaypointType\n","import React, { useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport ReactDragListView from 'react-drag-listview' // TODO: replace with aHooks drag and drop library\nimport { map, uniqBy } from 'lodash'\n\nimport Item from './Item'\n\nconst Waypoints = ({\n\twaypoints,\n\tsetWaypoints,\n\tdisabledDragDrop,\n\tshowOdometers,\n\t...props\n}) => {\n\tconst showCustomID = useMemo(() => uniqBy(waypoints?.map(i => i?.orders)?.flat(), 'customID')?.length > 1, [waypoints])\n\n\tconst onDragEnd = (fromIndex, toIndex) => {\n\t\tif (disabledDragDrop || toIndex < 0 || !waypoints?.length) return\n\t\tconst items = [...waypoints]\n\t\tconst item = items.splice(fromIndex, 1)[0]\n\t\tconst firstWaypoint = waypoints[0]\n\t\tconst lastWaypoint = waypoints[waypoints.length - 1]\n\n\t\tif (toIndex === 0 && ['end', 'via'].includes(item.purpose)) {\n\t\t\tif (firstWaypoint.purpose === 'dislocation') firstWaypoint.purpose = 'via'\n\t\t\titem.purpose = 'dislocation'\n\t\t} else if (toIndex === waypoints.length - 1 && ['dislocation', 'via'].includes(item.purpose)) {\n\t\t\titem.purpose = 'end'\n\t\t} else if (['end', 'via', 'dislocation'].includes(item.purpose)) item.purpose = 'via'\n\t\tif (toIndex === waypoints.length - 1 && lastWaypoint.purpose === 'end') lastWaypoint.purpose = 'via'\n\t\titems.splice(toIndex, 0, item)\n\t\tsetWaypoints(items)\n\t}\n\n\treturn (\n\t\t<div className='list-waypoints'>\n\t\t\t<ReactDragListView nodeSelector={disabledDragDrop ? null : '.wp-item.draggable'} onDragEnd={onDragEnd} lineClassName='drag-drop-line'>\n\t\t\t\t<div className='list-content'>\n\t\t\t\t\t{map(waypoints, (i, idx) => (\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tkey={i.id}\n\t\t\t\t\t\t\titem={i}\n\t\t\t\t\t\t\tidx={idx}\n\t\t\t\t\t\t\tshowCustomID={showCustomID}\n\t\t\t\t\t\t\tisFirstWp={idx === 0}\n\t\t\t\t\t\t\tisLastWp={idx === (waypoints.length - 1)}\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</ReactDragListView>\n\t\t</div>\n\t)\n}\n\nWaypoints.propTypes = {\n\twaypoints: PropTypes.array,\n\tsetWaypoints: PropTypes.func,\n\tdisabledDragDrop: PropTypes.bool,\n\tshowOdometers: PropTypes.bool,\n}\n\nexport default Waypoints\n","import React, { useRef, useEffect, useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { map, filter, set } from 'lodash'\nimport { Dropdown, DropdownMenu, Input, Popup } from 'semantic-ui-react'\n\nimport { COLUMNS_E_TRANSPORT } from 'tracknamic-smb/react/utils/eTransport'\nimport { getColumns } from 'tracknamic-smb/react/utils/columns'\n\nconst Filters = () => {\n\tconst { t } = useTranslation(['common'])\n\tconst refShowDisabled = useRef()\n\n\tconst columnsState = useStoreState(state => state.uits.columnsState)\n\tconst showDisabled = useStoreState(state => state.uits.showDisabled)\n\tconst setColumnsState = useStoreActions(actions => actions.uits.setColumnsState)\n\n\tconst searchTxt = useStoreState(state => state.uits.searchTxt)\n\tconst setSearchTxt = useStoreActions(actions => actions.uits.setSearchTxt)\n\tconst setShowDisabled = useStoreActions(actions => actions.uits.setShowDisabled)\n\tconst init = useStoreActions(actions => actions.uits.init)\n\n\tconst [searchVal, setSearchVal] = useState(searchTxt)\n\n\tuseEffect(() => {\n\t\tsetSearchVal(searchTxt)\n\t}, [searchTxt])\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetSearchTxt(searchVal)\n\t\t}, 250)\n\n\t\treturn () => clearTimeout(timeout)\n\t}, [searchVal]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst columns = useMemo(() => {\n\t\tconst columns = getColumns(COLUMNS_E_TRANSPORT, null, t)\n\t\tconst selected = map(columns, i => ({ ...i, selected: columnsState?.includes(i?.key) }))\n\t\treturn selected\n\t}, [columnsState])\n\n\tconst handleClickItem = (e, col) => {\n\t\te.stopPropagation()\n\t\te.preventDefault()\n\t\tconst state = [...columnsState]\n\t\tif (col?.selected) state.splice(state?.indexOf(col?.key), 1)\n\t\telse state.push(col?.key)\n\t\tconst cols = filter(map(columns, i => state?.includes(i.key) ? i?.key : null))\n\t\tsetColumnsState(cols)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Popup\n\t\t\t\ttrigger={<i className='pointer question circle icon' style={{ fontSize: '20px' }} />}\n\t\t\t\tcontent={() => (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h4>Status UIT</h4>\n\t\t\t\t\t\t<div><i className='circle icon status blue' />Importat din SPV</div>\n\t\t\t\t\t\t<div><i className='circle icon status green' />Activat</div>\n\t\t\t\t\t\t<div><i className='circle icon status red' />Dezactivat</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\tposition='left center'\n\t\t\t\tinverted\n\t\t\t/>\n\t\t\t<Input icon='search' value={searchVal} onChange={e => setSearchVal(e?.target?.value)} placeholder='Search...' />\n\t\t\t<Dropdown\n\t\t\t\ticon={null}\n\t\t\t\ttrigger={<i className='green eye icon' />}\n\t\t\t\taction='nothing'\n\t\t\t\tclassName='dc-button icon top right pointing item dc-inverted-dd'\n\t\t\t>\n\t\t\t\t<DropdownMenu className='overflow-auto max-h-75vh'>\n\t\t\t\t\t{map(columns, col => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={e => handleClickItem(e, col)}\n\t\t\t\t\t\t\tclassName={`item${col?.selected ? '' : ' not-selected'}`}\n\t\t\t\t\t\t\tdata-value={col?.value}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{col?.text}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</DropdownMenu>\n\t\t\t</Dropdown>\n\t\t\t<Dropdown\n\t\t\t\ticon={null}\n\t\t\t\ttrigger={<i className='blue setting icon' />}\n\t\t\t\taction='nothing'\n\t\t\t\tclassName='dc-button icon top right pointing item dc-inverted-dd'\n\t\t\t\tonOpen={() => {\n\t\t\t\t\tset(refShowDisabled, 'current.value', showDisabled)\n\t\t\t\t}}\n\t\t\t\tonClose={() => {\n\t\t\t\t\tif (refShowDisabled.current.value !== showDisabled) init()\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tclassName='overflow-auto max-h-75vh' onClick={e => {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Dropdown.Item\n\t\t\t\t\t\tas={() => (\n\t\t\t\t\t\t\t<div className='item'>\n\t\t\t\t\t\t\t\t<div>{t('uit.disabled')}</div>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype='checkbox'\n\t\t\t\t\t\t\t\t\tchecked={showDisabled}\n\t\t\t\t\t\t\t\t\tonChange={e => setShowDisabled(e.target.checked)}\n\t\t\t\t\t\t\t\t\tstyle={{ marginTop: '4px' }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</DropdownMenu>\n\t\t\t</Dropdown>\n\t\t</>\n\t)\n}\n\nexport default Filters\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useFormContext, Controller } from 'react-hook-form'\nimport PropTypes from 'prop-types'\nimport { assign, get, isEmpty, map, set } from 'lodash'\nimport { formatDate, parseDate } from 'react-day-picker/moment'\nimport DayPickerInput from 'react-day-picker/DayPickerInput'\nimport DatePicker from 'react-datepicker'\n\nimport Select from 'tracknamic-smb/react/components/Select'\nimport { OPTIONS_UM, OPTIONS_PTF, OPTIONS_COUNTY, OPTIONS_DOCUMENTS_TYPE, OPTIONS_OPERATIONS_TYPE, getSELTypeOptions, getCCByOpCode } from 'tracknamic-smb/react/utils/eTransport'\nimport { OPTIONS_TARIFF_CODE } from 'tracknamic-smb/react/utils/options-tariff-code'\n\nconst getOptions = (p, opCode) => {\n\tswitch (p) {\n\tcase 'operationCode':\n\t\treturn OPTIONS_OPERATIONS_TYPE\n\tcase 'startLocation.type':\n\t\treturn getSELTypeOptions(opCode, 'sl')\n\tcase 'endLocation.type':\n\t\treturn getSELTypeOptions(opCode, 'el')\n\tcase 'startLocation.ptfCode':\n\tcase 'endLocation.ptfCode':\n\t\treturn OPTIONS_PTF\n\tcase 'startLocation.countyCode':\n\tcase 'endLocation.countyCode':\n\t\treturn OPTIONS_COUNTY\n\tcase 'organizationTransport.countryCode':\n\tcase 'commercialPartner.countryCode':\n\t\treturn getCCByOpCode(opCode, p)\n\tcase 'measureUnitCode':\n\t\treturn OPTIONS_UM\n\tcase 'tariffCode':\n\t\treturn map(OPTIONS_TARIFF_CODE, i => ({ ...i, label: `${i?.value} ${i?.label}` }))\n\tcase 'type':\n\t\treturn OPTIONS_DOCUMENTS_TYPE\n\tdefault:\n\t\treturn []\n\t}\n}\n\nconst isRegExp = p => {\n\tswitch (p) {\n\tcase 'tariffCode':\n\t\treturn new RegExp('^[0-9]{4}$|^[0-9]{6}$|^[0-9]{8}$')\n\tcase 'amount':\n\tcase 'netWeight':\n\tcase 'grossWeight': // decimal PosDec_12_2_Type\n\t\treturn new RegExp('^[0-9]{0,12}(\\\\.[0-9]{0,2})?$') // eslint-disable-line no-useless-escape\n\tcase 'licensePlate':\n\tcase 'licensePlateSMR1':\n\tcase 'licensePlateSMR2':\n\t\t// NrVehiculType\n\t\treturn new RegExp('^[0-9A-Z]{2,20}$') // eslint-disable-line no-useless-escape\n\tdefault:\n\t\treturn null\n\t}\n}\n\nconst isValidate = p => {\n\tswitch (p) {\n\tcase '-':\n\t\treturn {\n\t\t\tvalidate: v => !isNaN(v) && [4, 6, 8].includes((v + '')?.length)\n\t\t}\n\tdefault:\n\t\treturn null\n\t}\n}\n\nconst isLength = p => {\n\tswitch (p) {\n\tcase 'organizationTransport.code':\n\tcase 'commercialPartner.code':\n\t\treturn { // Cod30Type\n\t\t\tminLength: { value: 1, message: 'Min 1' },\n\t\t\tmaxLength: { value: 30, message: 'Max 30' },\n\t\t}\n\tdefault:\n\t\treturn null\n\t}\n}\n\nconst isReadonly = p => ['uit', 'sn'].includes(p)\nconst isSelect = p => [\n\t'operationCode', 'startLocation.type', 'endLocation.type', 'startLocation.ptfCode', 'endLocation.ptfCode', 'startLocation.countyCode', 'endLocation.countyCode', 'organizationTransport.countryCode', 'commercialPartner.countryCode',\n\t'operationPurposeCode', 'tariffCode', 'measureUnitCode', // modal good\n\t'type', // modal document\n].includes(p)\nconst isDate = p => ['dateTransportation', 'date', 'activatedAt', 'disabledAt'].includes(p)\n\nconst Field = ({ p, tKey, isReq, isDateTime, options, onOperationChange, noLabel, ...props }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst { register, trigger, control, watch, formState: { errors } } = useFormContext()\n\n\tconst opCode = watch('operationCode')\n\n\tconst error = errors ? get(errors, p) : null\n\tconst text = useMemo(() => t(tKey || `column.${p}`), [t, p, tKey])\n\tconst reg = useMemo(() => {\n\t\tconst obj = {}\n\n\t\tif (isReq) set(obj, 'required', true)\n\t\tconst regExp = isRegExp(p)\n\t\tif (regExp) set(obj, 'pattern', regExp)\n\t\tconst length = isLength(p)\n\t\tif (length) assign(obj, length)\n\t\tconst validate = isValidate(p)\n\t\tif (validate) assign(obj, validate)\n\n\t\tif (isEmpty(obj)) return register\n\t\treturn register(obj)\n\t}, [p, isReq, register])\n\tconst type = useMemo(() => {\n\t\tif (isDate(p)) return 'date'\n\t\tif (isSelect(p)) return 'select'\n\t\treturn 'input'\n\t}, [p])\n\n\tconst handleInputChange = e => {\n\t\tif (!['licensePlate', 'licensePlateSMR1', 'licensePlateSMR2', 'name'].includes(p)) return e\n\t\t// remove non number or alphanumeric characters\n\t\te.preventDefault()\n\t\tconst input = e?.target?.value?.toUpperCase()\n\t\tconst validTxt = input.replace(/[^0-9a-z]/gi, '')\n\t\te.target.value = validTxt\n\t\ttrigger(p)\n\t}\n\n\treturn (\n\t\t<div className='dc-field' {...props}>\n\t\t\t{!noLabel && (\n\t\t\t\t<label>\n\t\t\t\t\t{text}{isReq ? <span style={{ color: 'yellow', padding: '0 5px' }}>*</span> : null}\n\t\t\t\t</label>\n\t\t\t)}\n\t\t\t<div>\n\t\t\t\t{isDateTime ? (\n\t\t\t\t\t<Controller\n\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\trules={{ required: isReq }}\n\t\t\t\t\t\tname={p}\n\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\tselected={value}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\ttimeInputLabel='Time:'\n\t\t\t\t\t\t\t\tdateFormat='dd/MM/yyyy HH:mm'\n\t\t\t\t\t\t\t\tplaceholderText='DD/MM/YYYY HH:mm'\n\t\t\t\t\t\t\t\tshowTimeInput\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t) : type === 'select' ? (\n\t\t\t\t\t<Controller\n\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\trules={{ required: isReq }}\n\t\t\t\t\t\tname={p}\n\t\t\t\t\t\tref={reg}\n\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\toptions={options || getOptions(p, opCode)}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tonChange={v => {\n\t\t\t\t\t\t\t\t\tonChange(v)\n\t\t\t\t\t\t\t\t\tif (p === 'operationCode') onOperationChange(v)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t) : type === 'date' ? (\n\t\t\t\t\t<Controller\n\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\trules={{ required: isReq }}\n\t\t\t\t\t\tname={p}\n\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t<DayPickerInput\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tformatDate={formatDate}\n\t\t\t\t\t\t\t\tparseDate={parseDate}\n\t\t\t\t\t\t\t\tformat='YYYY-MM-DD'\n\t\t\t\t\t\t\t\tplaceholder='YYYY-MM-DD'\n\t\t\t\t\t\t\t\tclassNames={{\n\t\t\t\t\t\t\t\t\tcontainer: 'DayPickerInput fullWidth',\n\t\t\t\t\t\t\t\t\toverlayWrapper: 'DayPickerInput-OverlayWrapper',\n\t\t\t\t\t\t\t\t\toverlay: 'DayPickerInput-Overlay',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonDayChange={d => {\n\t\t\t\t\t\t\t\t\tconst parsed = d ? moment(d)?.format('YYYY-MM-DD') : null\n\t\t\t\t\t\t\t\t\tonChange(parsed)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<input name={p} ref={reg} readOnly={isReadonly(p)} onChange={handleInputChange} />\n\t\t\t\t)}\n\t\t\t\t<span style={{ color: 'yellow', display: 'inherit' }}>\n\t\t\t\t\t{error ? get(error, 'message') || (text + ' ' + t(`error.${get(error, 'type')}`)) : null}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nField.propTypes = {\n\tp: PropTypes.string,\n\tisReq: PropTypes.bool,\n\tisDateTime: PropTypes.bool,\n\ttKey: PropTypes.string,\n\toptions: PropTypes.array,\n\tonOperationChange: PropTypes.func,\n\tnoLabel: PropTypes.bool,\n}\n\nexport default Field\n","import PropTypes from 'prop-types'\nimport React, { useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useForm, FormProvider } from 'react-hook-form'\n\nimport { isEmpty, map, get } from 'lodash'\nimport { Modal } from 'semantic-ui-react'\n\nimport Field from './Field'\n\nconst PROPS = [\n\t['type'],\n\t['number', 'date'],\n\t['observations'],\n]\n\nconst isPropReq = p => ['type', 'date'].includes(p)\n\nconst ModalGood = ({ record, hide }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst methods = useForm()\n\tconst { getValues, setValue, handleSubmit } = methods\n\n\tuseEffect(() => {\n\t\tif (isEmpty(record)) return\n\t\tfor (const prop in record) {\n\t\t\tsetValue(prop, get(record, prop))\n\t\t}\n\t}, [record]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst validate = async () => {\n\t\tconst fields = getValues()\n\t\tconst id = record?.id\n\t\thide({ ...fields, id })\n\t}\n\n\treturn (\n\t\t<Modal className='dc-modal ba-modal' open>\n\t\t\t<Modal.Header>\n\t\t\t\tDocument\n\t\t\t</Modal.Header>\n\t\t\t<FormProvider {...methods}>\n\t\t\t\t<form className='ui form' style={{ padding: '1em 0px' }}>\n\t\t\t\t\t{map(PROPS, a => (\n\t\t\t\t\t\t<div className='dc-grid column-flow equal'>\n\t\t\t\t\t\t\t{map(a, p => (\n\t\t\t\t\t\t\t\t<Field p={p} tKey={`column.document.${p}`} isReq={isPropReq(p)} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</form>\n\t\t\t</FormProvider>\n\t\t\t<Modal.Actions>\n\t\t\t\t<div className='doc-button deny' onClick={() => hide()}>\n\t\t\t\t\t{t('buttons.cancel')}\n\t\t\t\t</div>\n\t\t\t\t<div className='doc-button approve' onClick={handleSubmit(validate)}>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalGood.propTypes = {\n\trecord: PropTypes.object,\n\thide: PropTypes.func,\n}\n\nexport default ModalGood\n","import PropTypes from 'prop-types'\nimport React, { useEffect, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm } from 'react-hook-form'\n\nimport { isEmpty, map, get } from 'lodash'\nimport { Modal } from 'semantic-ui-react'\nimport { getOptionsOperationPurpose } from 'tracknamic-smb/react/utils/eTransport'\n\nimport Field from './Field'\n\nconst PROPS = [\n\t['productName'],\n\t['operationPurposeCode', 'tariffCode'],\n\t['amount', 'measureUnitCode'],\n\t['netWeight', 'grossWeight', 'valueRonWithoutTVA'],\n]\n\nconst isPropReq = (p, extraKeys = []) => ['operationPurposeCode', 'productName', 'amount', 'measureUnitCode', 'grossWeight', ...extraKeys].includes(p)\n\nconst ModalGood = ({ record, hide, operationCode }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst methods = useForm()\n\tconst { getValues, setValue, handleSubmit } = methods\n\n\tconst optionsOperationPurpose = useMemo(() => getOptionsOperationPurpose(operationCode), [operationCode])\n\tconst extraReqKeys = useMemo(() => {\n\t\tif (!operationCode) return\n\t\tif (['60', '70'].includes(operationCode)) return\n\t\treturn ['netWeight', 'tariffCode', 'valueRonWithoutTVA']\n\t}, [operationCode])\n\n\tuseEffect(() => {\n\t\tif (isEmpty(record)) return\n\t\tfor (const prop in record) {\n\t\t\tsetValue(prop, get(record, prop))\n\t\t}\n\t}, [record]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst validate = async () => {\n\t\tconst fields = getValues()\n\t\tconst id = record?.id\n\t\thide({ ...fields, id })\n\t}\n\n\treturn (\n\t\t<Modal className='dc-modal ba-modal' style={{ width: '600px' }} open>\n\t\t\t<Modal.Header>\n\t\t\t\tBun{record?.productName ? ` - ${record?.productName}` : null}\n\t\t\t</Modal.Header>\n\t\t\t<FormProvider {...methods}>\n\t\t\t\t<form className='ui form' style={{ padding: '1em 0px' }}>\n\t\t\t\t\t{map(PROPS, a => (\n\t\t\t\t\t\t<div className='dc-grid column-flow equal'>\n\t\t\t\t\t\t\t{map(a, p => (\n\t\t\t\t\t\t\t\t<Field p={p} tKey={`column.good.${p}`} isReq={isPropReq(p, extraReqKeys)} options={p === 'operationPurposeCode' && optionsOperationPurpose} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</form>\n\t\t\t</FormProvider>\n\t\t\t<Modal.Actions>\n\t\t\t\t<div className='doc-button deny' onClick={() => hide()}>\n\t\t\t\t\t{t('buttons.cancel')}\n\t\t\t\t</div>\n\t\t\t\t<div className='doc-button approve' onClick={handleSubmit(validate)}>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalGood.propTypes = {\n\trecord: PropTypes.object,\n\thide: PropTypes.func,\n\toperationCode: PropTypes.string,\n}\n\nexport default ModalGood\n","import React, { useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { useFormContext } from 'react-hook-form'\nimport { set, map } from 'lodash'\nimport { Table, Icon } from 'semantic-ui-react'\n\nimport { COLUMNS_DOCUMENTS } from 'tracknamic-smb/react/utils/eTransport'\nimport { getColumns, getColumnDisplayPopup } from 'tracknamic-smb/react/utils/columns'\nimport ModalDocument from './ModalDocument'\n\nconst TableDocuments = ({ documents, setDocuments }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst { formState: { errors } } = useFormContext()\n\n\tconst [editing, setEditing] = useState()\n\n\tconst remove = index => {\n\t\tconst copy = [...documents]\n\t\tif (index !== -1) {\n\t\t\tcopy.splice(index, 1)\n\t\t}\n\t\tsetDocuments(copy)\n\t}\n\n\tconst update = item => {\n\t\tif (!item) return\n\t\tconst copy = [...documents]\n\t\tconst index = copy.findIndex(i => i?.id === item?.id)\n\t\tif (index !== -1) {\n\t\t\tcopy.splice(index, 1, item)\n\t\t} else {\n\t\t\tconst id = item?.id || moment().valueOf()\n\t\t\tconst obj = { ...item, id, sn: id }\n\t\t\tcopy.push(obj)\n\t\t}\n\t\tsetDocuments(copy)\n\t}\n\n\tconst columns = useMemo(() => ([\n\t\t...getColumns(COLUMNS_DOCUMENTS, null, t),\n\t\t{\n\t\t\tkey: '',\n\t\t\trender: (v, r, idx) => (\n\t\t\t\t<div className='operations'>\n\t\t\t\t\t<Icon name='edit pointer' onClick={() => setEditing(r)} />\n\t\t\t\t\t<Icon name='trash pointer' onClick={() => remove(idx)} />\n\t\t\t\t</div>\n\t\t\t)\n\t\t},\n\t]), [documents, t]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst renderBodyRow = (r, idx) => ({\n\t\tkey: `row-${r?.id || idx}`,\n\t\tcells: map(columns, c => {\n\t\t\tconst res = getColumnDisplayPopup(r, c, idx)\n\t\t\tconst obj = { className: c?.className }\n\n\t\t\tif (c?.render) set(obj, 'children', res)\n\t\t\telse set(obj, 'children', <div title={res?.popup} className={c?.className} data-value={res?.value}>{res?.display}</div>)\n\n\t\t\t// set(obj, 'disabled', !r?.activated)\n\n\t\t\treturn obj\n\t\t}),\n\t})\n\n\tconst handleHide = r => {\n\t\tif (r) update(r)\n\t\tsetEditing(null)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<h3 style={{ display: 'flex', alignItems: 'end', justifyContent: 'space-between' }}>\n\t\t\t\t<span>\n\t\t\t\t\tDocumente transport\n\t\t\t\t\t<span style={{ color: 'yellow', padding: '0 5px' }}>*</span>\n\t\t\t\t\t{errors?.documents && (\n\t\t\t\t\t\t<span style={{ color: 'yellow', fontSize: '14px' }}>{errors?.documents?.message} </span>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t\t<div className='doc-button green icon' onClick={() => { setEditing({}) }}>\n\t\t\t\t\t<span><i className='plus icon' />Adaugă document</span>\n\t\t\t\t</div>\n\t\t\t</h3>\n\t\t\t<Table\n\t\t\t\theaderRow={map(columns, i => i?.text || i?.key)}\n\t\t\t\trenderBodyRow={renderBodyRow}\n\t\t\t\ttableData={documents}\n\t\t\t\tselectable\n\t\t\t\tcelled\n\t\t\t\tinverted\n\t\t\t/>\n\t\t\t{editing ? <ModalDocument record={editing} hide={handleHide} /> : null}\n\t\t</>\n\t)\n}\n\nTableDocuments.propTypes = {\n\tdocuments: PropTypes.array,\n\tsetDocuments: PropTypes.func,\n}\n\nexport default TableDocuments\n","import React, { useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { useFormContext } from 'react-hook-form'\nimport { set, map } from 'lodash'\nimport { Table, Icon } from 'semantic-ui-react'\n\nimport { COLUMNS_GOODS } from 'tracknamic-smb/react/utils/eTransport'\nimport { getColumns, getColumnDisplayPopup } from 'tracknamic-smb/react/utils/columns'\nimport ModalGood from './ModalGood'\n\nconst TableGoods = ({ goods, setGoods, operationCode }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst { formState: { errors } } = useFormContext()\n\n\tconst [editing, setEditing] = useState()\n\n\tconst remove = index => {\n\t\tconst copy = [...goods]\n\t\tif (index !== -1) {\n\t\t\tcopy.splice(index, 1)\n\t\t}\n\t\tsetGoods(copy)\n\t}\n\n\tconst update = item => {\n\t\tif (!item) return\n\t\tconst copy = [...goods]\n\t\tconst index = copy.findIndex(i => i?.id === item?.id)\n\t\tif (index !== -1) {\n\t\t\tcopy.splice(index, 1, item)\n\t\t} else {\n\t\t\tconst id = item?.id || moment().valueOf()\n\t\t\tconst obj = { ...item, id, sn: id }\n\t\t\tcopy.push(obj)\n\t\t}\n\t\tsetGoods(copy)\n\t}\n\n\tconst columns = useMemo(() => ([\n\t\t...getColumns(COLUMNS_GOODS, null, t),\n\t\t{\n\t\t\tkey: '',\n\t\t\trender: (v, r, idx) => (\n\t\t\t\t<div className='operations'>\n\t\t\t\t\t<Icon name='edit pointer' onClick={() => handleEdit(r)} />\n\t\t\t\t\t<Icon name='trash pointer' onClick={() => remove(idx)} />\n\t\t\t\t</div>\n\t\t\t)\n\t\t},\n\t]), [goods, t]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst renderBodyRow = (r, idx) => ({\n\t\tkey: `row-${r?.id || idx}`,\n\t\tcells: map(columns, c => {\n\t\t\tconst res = getColumnDisplayPopup(r, c, idx)\n\t\t\tconst obj = { className: c?.className }\n\n\t\t\tif (c?.render) set(obj, 'children', res)\n\t\t\telse set(obj, 'children', <div title={res?.popup} className={c?.className} data-value={res?.value}>{res?.display}</div>)\n\n\t\t\t// set(obj, 'disabled', !r?.activated)\n\n\t\t\treturn obj\n\t\t}),\n\t})\n\n\tconst handleEdit = r => {\n\t\tif (!operationCode) return\n\t\tsetEditing(r)\n\t}\n\n\tconst handleHide = r => {\n\t\tif (r) update(r)\n\t\tsetEditing(null)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<h3 style={{ display: 'flex', alignItems: 'end', justifyContent: 'space-between' }}>\n\t\t\t\t<span>\n\t\t\t\t\tBunuri\n\t\t\t\t\t<span style={{ color: 'yellow', padding: '0 5px' }}>*</span>\n\t\t\t\t\t{errors?.goods && (\n\t\t\t\t\t\t<span style={{ color: 'yellow', fontSize: '14px' }}>{errors?.goods?.message} </span>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t\t<div className={`doc-button green icon${!operationCode ? ' disabled' : ''}`} onClick={() => { handleEdit({}) }}>\n\t\t\t\t\t<span><i className='plus icon' />Adaugă bun</span>\n\t\t\t\t</div>\n\t\t\t</h3>\n\t\t\t<Table\n\t\t\t\theaderRow={map(columns, i => i?.text || i?.key)}\n\t\t\t\trenderBodyRow={renderBodyRow}\n\t\t\t\ttableData={goods}\n\t\t\t\tselectable\n\t\t\t\tcelled\n\t\t\t\tinverted\n\t\t\t/>\n\t\t\t{editing ? <ModalGood record={editing} hide={handleHide} operationCode={operationCode} /> : null}\n\t\t</>\n\t)\n}\n\nTableGoods.propTypes = {\n\tgoods: PropTypes.array,\n\tsetGoods: PropTypes.func,\n\toperationCode: PropTypes.string,\n}\n\nexport default TableGoods\n","import PropTypes from 'prop-types'\nimport React, { useEffect, useState } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { map, get, set } from 'lodash'\nimport { Modal } from 'semantic-ui-react'\n\nimport Field from './Field'\nimport TableGoods from './TableGoods'\nimport TableDocuments from './TableDocuments'\n\nconst GEN_PROPS = [\n\t'operationCode', 'dateTransportation', 'declarantReference',\n\t'organizationTransport.countryCode', 'organizationTransport.code', 'organizationTransport.name',\n\t'commercialPartner.countryCode', 'commercialPartner.code', 'commercialPartner.name',\n\t'licensePlate', 'licensePlateSMR1', 'licensePlateSMR2', 'activatedAt', 'disabledAt',\n]\n\nconst isPropReq = p => [\n\t'operationCode', 'dateTransportation',\n\t'organizationTransport.countryCode', /* 'organizationTransport.code' , */ 'organizationTransport.name',\n\t'commercialPartner.countryCode', /* 'commercialPartner.code' , */ 'commercialPartner.name',\n\t'licensePlate', /* 'smr1', 'smr2' , */\n\t'startLocation.type', 'endLocation.type',\n\t'startLocation.ptfCode', 'startLocation.ptfCode',\n].includes(p)\n\nconst ModalUit = ({ record: item, hide }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst methods = useForm()\n\tconst { watch, getValues, setValue, handleSubmit, setError, clearErrors } = methods\n\n\tconst getOnly = useStoreActions(actions => actions.uits.getOnly)\n\tconst update = useStoreActions(actions => actions.uits.update)\n\n\tconst [goods, setGoods] = useState([])\n\tconst [record, setRecord] = useState()\n\tconst [documents, setDocuments] = useState([])\n\n\tconst startLocationType = watch('startLocation.type')\n\tconst endLocationType = watch('endLocation.type')\n\tconst operationCode = watch('operationCode')\n\n\tuseEffect(() => {\n\t\tif (!item?.id) return\n\t\tgetOnly(item?.id).then(uit => setRecord(uit))\n\t}, [item]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\tif (!record?.id) return\n\t\tfor (const prop in record) {\n\t\t\tsetValue(prop, get(record, prop))\n\t\t}\n\t\tif (record?.goods) setGoods(record?.goods)\n\t\tif (record?.documents) setDocuments(record?.documents)\n\t}, [record]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\t// #region tables validation\n\tuseEffect(() => {\n\t\tif (!goods?.length) {\n\t\t\tsetError('goods', {\n\t\t\t\ttype: 'manual',\n\t\t\t\tmessage: 'Cel puțin un bun este necesar',\n\t\t\t})\n\t\t} else {\n\t\t\tclearErrors('goods')\n\t\t}\n\t}, [goods, setError, clearErrors])\n\n\tuseEffect(() => {\n\t\tif (!documents?.length) {\n\t\t\tsetError('documents', {\n\t\t\t\ttype: 'manual',\n\t\t\t\tmessage: 'Cel puțin un document este necesar',\n\t\t\t})\n\t\t} else {\n\t\t\tclearErrors('documents')\n\t\t}\n\t}, [documents, setError, clearErrors])\n\t// #endregion\n\n\tconst validate = async d => {\n\t\tconst fields = getValues()\n\n\t\tconst obj = { ...record, ...fields, goods, documents }\n\t\tif (record?.id) set(obj, 'type', 'update')\n\n\t\tawait update(obj)\n\t\thide()\n\t}\n\n\tconst onError = (errors, e) => {\n\t\tconsole.error('>>>>>>', errors, e) // eslint-disable-line no-console\n\t}\n\n\tconst onOperationChange = opCode => {\n\t\tsetValue('startLocation.type', null)\n\t\tsetValue('endLocation.type', null)\n\t\tsetGoods([])\n\t}\n\n\treturn (\n\t\t<Modal className='dc-modal ba-modal modal-uit' open>\n\t\t\t<Modal.Header>\n\t\t\t\tUIT{record?.name ? ` - ${record?.name}` : null}\n\t\t\t</Modal.Header>\n\t\t\t<FormProvider {...methods}>\n\t\t\t\t<form className='ui form' style={{ padding: '1em 0px' }}>\n\t\t\t\t\t<h3>Generalități</h3>\n\t\t\t\t\t<div className='dc-grid section-general'>\n\t\t\t\t\t\t{map(GEN_PROPS, (p, idx) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Field\n\t\t\t\t\t\t\t\t\tp={p}\n\t\t\t\t\t\t\t\t\tisReq={isPropReq(p)}\n\t\t\t\t\t\t\t\t\tonOperationChange={onOperationChange}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{[3, 9].includes(idx + 1) && <div className='line' />}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<h3>Locuri de start/final traseu rutier</h3>\n\t\t\t\t\t<div className='dc-grid two fullWidth'>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Field p='startLocation.type' tKey='column.startLocation' isReq />\n\t\t\t\t\t\t\t<Field p='startLocation.ptfCode' tKey='column.location.ptfCode' isReq={startLocationType === 'PTF'} style={(startLocationType !== 'PTF') ? { display: 'none' } : {}} />\n\t\t\t\t\t\t\t<div className='dc-grid column-flow equal fullWidth' style={(startLocationType !== 'ADR') ? { display: 'none' } : {}}>\n\t\t\t\t\t\t\t\t{startLocationType === 'ADR' ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<Field p='startLocation.countyCode' tKey='column.location.countyCode' isReq />\n\t\t\t\t\t\t\t\t\t\t<Field p='startLocation.locality' tKey='column.location.locality' isReq />\n\t\t\t\t\t\t\t\t\t\t<Field p='startLocation.street' tKey='column.location.street' isReq />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Field p='endLocation.type' tKey='column.endLocation' isReq />\n\t\t\t\t\t\t\t<Field p='endLocation.ptfCode' tKey='column.location.ptfCode' isReq={endLocationType === 'PTF'} style={(endLocationType !== 'PTF') ? { display: 'none' } : {}} />\n\t\t\t\t\t\t\t<div className='dc-grid column-flow equal fullWidth' style={(endLocationType !== 'ADR') ? { display: 'none' } : {}}>\n\t\t\t\t\t\t\t\t{endLocationType === 'ADR' ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<Field p='endLocation.countyCode' tKey='column.location.countyCode' isReq />\n\t\t\t\t\t\t\t\t\t\t<Field p='endLocation.locality' tKey='column.location.locality' isReq />\n\t\t\t\t\t\t\t\t\t\t<Field p='endLocation.street' tKey='column.location.street' isReq />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='section-goods'>\n\t\t\t\t\t\t<TableGoods goods={goods} setGoods={setGoods} operationCode={operationCode} />\n\t\t\t\t\t</div>\n\t\t\t\t\t<br />\n\t\t\t\t\t<div className='section-documents'>\n\t\t\t\t\t\t<TableDocuments documents={documents} setDocuments={setDocuments} />\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</FormProvider>\n\t\t\t<Modal.Actions>\n\t\t\t\t<div className='doc-button deny' onClick={() => hide()}>\n\t\t\t\t\t{t('buttons.cancel')}\n\t\t\t\t</div>\n\t\t\t\t<div className='doc-button approve' onClick={handleSubmit(validate, onError)}>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalUit.propTypes = {\n\trecord: PropTypes.object,\n\thide: PropTypes.func,\n}\n\nexport default ModalUit\n","import PropTypes from 'prop-types'\nimport React, { useEffect, useState } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { forEach, get, isEmpty, map, set } from 'lodash'\nimport { Modal, Icon } from 'semantic-ui-react'\n\nimport Field from './ModalUit/Field'\n\nconst PROPS = ['licensePlate', 'licensePlateSMR1', 'licensePlateSMR2']\nconst isPropReq = p => ['licensePlate'].includes(p)\n\nconst ModalUitChange = ({ record, hide }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst methods = useForm({ shouldUnregister: false })\n\tconst { getValues, setValue, handleSubmit } = methods\n\n\tconst update = useStoreActions(actions => actions.uits.update)\n\tconst changeResources = useStoreActions(actions => actions.uits.changeResources)\n\n\tconst [expanded, setExpanded] = useState()\n\n\tuseEffect(() => {\n\t\tif (isEmpty(record)) return\n\t\tforEach(PROPS, prop => {\n\t\t\tsetValue(prop, get(record, prop))\n\t\t})\n\t}, [record]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst validate = async () => {\n\t\tconst fields = getValues()\n\n\t\tconst fieldDate = get(fields, 'date')\n\t\tif (fieldDate) {\n\t\t\tconst date = moment(fieldDate, 'YYYY-MM-DD')\n\t\t\tconst dateVal = date.isValid() ? date.toISOString() : null\n\t\t\tset(fields, 'date', dateVal)\n\t\t\tawait changeResources({ ...record, ...fields })\n\t\t} else {\n\t\t\tawait update({ ...record, ...fields })\n\t\t}\n\n\t\thide()\n\t}\n\n\treturn (\n\t\t<Modal className='dc-modal ba-modal' open style={{ width: '400px' }}>\n\t\t\t<Modal.Header>\n\t\t\t\tUIT{record?.name ? ` - ${record?.name}` : null}\n\t\t\t</Modal.Header>\n\t\t\t<FormProvider {...methods}>\n\t\t\t\t<form className='ui form' style={{ padding: '1em 0px' }}>\n\t\t\t\t\t<div className='dc-grid'>\n\t\t\t\t\t\t{map(PROPS, p => (\n\t\t\t\t\t\t\t<Field p={p} isReq={isPropReq(p)} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<Field p='observations' isReq />\n\t\t\t\t\t\t<div className='more linkStyle' onClick={() => setExpanded(!expanded)}><Icon name='dropdown' /> {t('uit.scheduleChanges')}</div>\n\t\t\t\t\t\t{expanded && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Field p='date' isDateTime noLabel />\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t{record?.scheduledModifications?.popup?.split('\\n').map((item, index) => (\n\t\t\t\t\t\t\t\t\t\t<div key={index}>{item}</div>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</FormProvider>\n\t\t\t<Modal.Actions>\n\t\t\t\t<div className='doc-button deny' onClick={() => hide()}>\n\t\t\t\t\t{t('buttons.cancel')}\n\t\t\t\t</div>\n\t\t\t\t<div className='doc-button approve' onClick={handleSubmit(validate)}>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalUitChange.propTypes = {\n\trecord: PropTypes.object,\n\thide: PropTypes.func,\n}\n\nexport default ModalUitChange\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { map } from 'lodash'\nimport { Modal } from 'semantic-ui-react'\n\nimport Field from './ModalUit/Field'\n\nconst PROPS = ['name']\nconst isPropReq = p => ['name'].includes(p)\n\nconst ModalUitExisting = ({ hide }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst methods = useForm()\n\tconst { getValues, handleSubmit } = methods\n\n\tconst update = useStoreActions(actions => actions.uits.update)\n\n\tconst validate = async () => {\n\t\tconst fields = getValues()\n\t\tawait update({ ...fields })\n\t\thide()\n\t}\n\n\treturn (\n\t\t<Modal className='dc-modal ba-modal' open style={{ width: '400px' }}>\n\t\t\t<Modal.Header>\n\t\t\t\t{t('uit.addExisting')}\n\t\t\t</Modal.Header>\n\t\t\t<FormProvider {...methods}>\n\t\t\t\t<form className='ui form' style={{ padding: '1em 0px' }}>\n\t\t\t\t\t<div className='dc-grid'>\n\t\t\t\t\t\t{map(PROPS, p => (\n\t\t\t\t\t\t\t<Field p={p} tKey='column.uit' isReq={isPropReq(p)} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</FormProvider>\n\t\t\t<Modal.Actions>\n\t\t\t\t<div className='doc-button deny' onClick={() => hide()}>\n\t\t\t\t\t{t('buttons.cancel')}\n\t\t\t\t</div>\n\t\t\t\t<div className='doc-button approve' onClick={handleSubmit(validate)}>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalUitExisting.propTypes = {\n\thide: PropTypes.func,\n}\n\nexport default ModalUitExisting\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\n\nconst DebouncedInput = ({ value: initialValue, onChange, debounce = 250, ...props }) => {\n\t// A typical debounced input react component\n\tconst [value, setValue] = useState(initialValue)\n\n\tuseEffect(() => {\n\t\tsetValue(initialValue)\n\t}, [initialValue])\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tonChange(value)\n\t\t}, debounce)\n\n\t\treturn () => clearTimeout(timeout)\n\t}, [value])\n\n\treturn (\n\t\t<input\n\t\t\tvalue={value}\n\t\t\tonChange={e => setValue(e.target.value)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nDebouncedInput.propTypes = {\n\tvalue: PropTypes.string,\n\tonChange: PropTypes.func,\n\tdebounce: PropTypes.number,\n}\n\nexport default DebouncedInput\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport DebouncedInput from './DebouncedInput'\n\nconst Filter = ({ column }) => {\n\treturn (\n\t\t<DebouncedInput\n\t\t\tonChange={v => column.setFilterValue(v)}\n\t\t\tplaceholder='Search...'\n\t\t\tstyle={{ padding: '2px 4px', width: '100%' }}\n\t\t/>\n\t)\n}\n\nFilter.propTypes = {\n\tcolumn: PropTypes.object,\n}\n\nexport default Filter\n","import PropTypes from 'prop-types'\nimport React, { useRef, useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { filter, find, forEach, get, map, toLower } from 'lodash'\nimport { flexRender, getCoreRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table'\nimport { Button, Popup, Icon } from 'semantic-ui-react'\n\nimport { OPTIONS_OPERATIONS_TYPE } from 'tracknamic-smb/react/utils/eTransport'\nimport Filter from './Filter'\n\nconst isDate = v => ['dateTransportation', 'activatedAt', 'disabledAt'].includes(v)\n\nconst RTable = ({ setChanging, setEditing }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst refTableContainer = useRef()\n\n\tconst data = useStoreState(state => state.uits.items)\n\tconst searchTxt = useStoreState(state => state.uits.searchTxt)\n\tconst columnsState = useStoreState(state => state.uits.columnsState)\n\n\tconst remove = useStoreActions(actions => actions.uits.remove)\n\n\tconst [columnFilters, setColumnFilters] = useState([])\n\tconst [isRemoving, setIsRemoving] = useState()\n\n\tconst cols = useMemo(() => [{\n\t\taccessorKey: 'name',\n\t\theader: t('column.uit'),\n\t\tsize: 200,\n\t\tcell: ({ row }) => {\n\t\t\tconst scheduledModifications = row?.original?.scheduledModifications\n\t\t\tconst val = row?.original?.name\n\t\t\tif (!scheduledModifications) return val\n\t\t\tconst cn = scheduledModifications ? 'color yellow' : ''\n\t\t\treturn (\n\t\t\t\t<span className={cn} title={scheduledModifications?.popup}>\n\t\t\t\t\t{val}\n\t\t\t\t</span>\n\t\t\t)\n\t\t},\n\t}, {\n\t\taccessorKey: 'declarantName',\n\t\theader: t('column.declarantName'),\n\t\tsize: 200,\n\t}, {\n\t\taccessorKey: 'licensePlate',\n\t\theader: () => <span title={t('column.licensePlateDetails')}>{t('column.licensePlateOnly')}</span>,\n\t}, {\n\t\taccessorKey: 'licensePlateSMR1',\n\t\theader: t('column.licensePlateSMR1'),\n\t}, {\n\t\taccessorKey: 'licensePlateSMR2',\n\t\theader: t('column.licensePlateSMR2'),\n\t}, {\n\t\taccessorKey: 'operationCode',\n\t\theader: t('column.operationCode'),\n\t\taccessorFn: r => find(OPTIONS_OPERATIONS_TYPE, i => i.value === (r?.operationCode + ''))?.label,\n\t\tcell: ({ row: r }) => {\n\t\t\tconst v = r?.original?.operationCode\n\t\t\tconst i = find(OPTIONS_OPERATIONS_TYPE, i => i.value === (v + ''))\n\t\t\treturn <span title={i?.label}>{i?.short || v}</span>\n\t\t},\n\t}, {\n\t\taccessorKey: 'dateTransportation',\n\t\theader: t('column.dateTransportation'),\n\t\taccessorFn: r => r?.dateTransportation ? moment(r?.dateTransportation).format('DD/MM/YYYY') : null,\n\t},\n\t{\n\t\taccessorKey: 'activatedAt',\n\t\theader: t('column.activatedAt'),\n\t\taccessorFn: r => r?.activatedAt ? moment(r?.activatedAt).format('DD/MM/YYYY HH:mm') : null,\n\t},\n\t{\n\t\taccessorKey: 'disabledAt',\n\t\theader: t('column.disabledAt'),\n\t\taccessorFn: r => r?.disabledAt ? moment(r?.disabledAt).format('DD/MM/YYYY HH:mm') : null,\n\t},\n\t{\n\t\taccessorKey: 'commercialPartner.countryCode',\n\t\theader: t('column.commercialPartner.countryCode'),\n\t}, {\n\t\taccessorKey: 'commercialPartner.code',\n\t\theader: t('column.commercialPartner.code'),\n\t}, {\n\t\taccessorKey: 'commercialPartner.name',\n\t\theader: t('column.commercialPartner.name'),\n\t\tsize: 160,\n\t}, {\n\t\taccessorKey: 'organizationTransport.countryCode',\n\t\theader: t('column.organizationTransport.countryCode'),\n\t\tsize: 160,\n\t}, {\n\t\taccessorKey: 'organizationTransport.code',\n\t\theader: t('column.organizationTransport.code'),\n\t\tsize: 160,\n\t}, {\n\t\taccessorKey: 'organizationTransport.name',\n\t\theader: t('column.organizationTransport.name'),\n\t\tsize: 190,\n\t}, {\n\t\taccessorKey: 'goodsTotal.length',\n\t\theader: t('column.goodsTotal.length'),\n\t\tsize: 100,\n\t}, {\n\t\taccessorKey: 'goodsTotal.netWeight',\n\t\theader: t('column.good.netWeight'),\n\t}, {\n\t\taccessorKey: 'goodsTotal.grossWeight',\n\t\theader: t('column.good.grossWeight'),\n\t}, {\n\t\taccessorKey: 'goodsTotal.valueRonWithoutTVA',\n\t\theader: t('column.good.valueRonWithoutTVA'),\n\t\tsize: 190,\n\t}, {\n\t\taccessorKey: 'declarantReference',\n\t\theader: t('column.declarantReference'),\n\t}, {\n\t\taccessorKey: 'lastModifications',\n\t\theader: t('column.modifVeh'),\n\t\taccessorFn: r => r?.lastModifications?.display,\n\t\tcell: ({ row }) => {\n\t\t\tconst i = row?.original?.lastModifications\n\t\t\treturn (\n\t\t\t\t<span title={i?.popup}>\n\t\t\t\t\t{i?.display}\n\t\t\t\t</span>\n\t\t\t)\n\t\t},\n\t\tsize: 180,\n\t}, {\n\t\taccessorKey: 'scheduledModifications',\n\t\theader: t('column.scheduledModifications'),\n\t\taccessorFn: r => r?.scheduledModifications?.display,\n\t\tcell: ({ row }) => {\n\t\t\tconst i = row?.original?.scheduledModifications\n\t\t\treturn (\n\t\t\t\t<span title={i?.popup}>\n\t\t\t\t\t{i?.display}\n\t\t\t\t</span>\n\t\t\t)\n\t\t},\n\t\tsize: 180,\n\t}], [t])\n\n\tconst filteredCols = useMemo(() => {\n\t\tconst cs = columnsState?.length ? columnsState : map(cols, i => i?.accessorKey)\n\t\treturn filter(map(cs, key => find(cols, c => c?.accessorKey === key)))\n\t}, [cols, columnsState])\n\n\tconst columns = useMemo(() => [...filteredCols, {\n\t\taccessorKey: 'actions',\n\t\theader: '',\n\t\tenableColumnFilter: false,\n\t\tenableSorting: false,\n\t\tcell: ({ cell, row }) => {\n\t\t\tconst r = row?.original\n\t\t\treturn (\n\t\t\t\t<div className='actions'>\n\t\t\t\t\t<Icon name='edit pointer' onClick={() => setEditing(r)} />\n\t\t\t\t\t<Icon name='exchange pointer' onClick={() => setChanging(r)} />\n\t\t\t\t\t<Popup\n\t\t\t\t\t\ttrigger={<div onClick={() => setIsRemoving(r?.id)}><Icon name='trash pointer' /></div>}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{t('delete')}\n\t\t\t\t\t\t\t\t<Button onClick={() => remove(r)}>{t('yes')}</Button>\n\t\t\t\t\t\t\t\t<Button onClick={() => setIsRemoving()}>{t('no')}</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton='click'\n\t\t\t\t\t\tposition='top right'\n\t\t\t\t\t\topen={isRemoving === r?.id}\n\t\t\t\t\t\tinverted\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)\n\t\t}\n\t}], [filteredCols, isRemoving, t]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst filteredBySearch = useMemo(() => {\n\t\tif (!searchTxt) return data\n\n\t\tconst txt = toLower(searchTxt)\n\t\treturn filter(data, i => {\n\t\t\tlet valid = false\n\t\t\tforEach(filteredCols, col => {\n\t\t\t\tconst p = col?.accessorKey\n\t\t\t\tlet v = get(i, p)\n\t\t\t\tif (isDate(p)) v = moment(v).format('DD/MM/YYYY')\n\t\t\t\tif (p === 'lastModifications') v = i?.lastModifications?.display\n\t\t\t\tif (p === 'operationCode') v = find(OPTIONS_OPERATIONS_TYPE, i => i.value === (v + ''))?.label\n\t\t\t\tconst isValid = toLower(v).includes(txt)\n\t\t\t\tif (isValid) valid = true\n\t\t\t})\n\t\t\treturn valid\n\t\t})\n\t}, [data, filteredCols, searchTxt])\n\n\tconst filteredData = useMemo(() => {\n\t\tif (!columnFilters?.length) return filteredBySearch\n\t\treturn filter(filteredBySearch, i => {\n\t\t\tlet valid = true\n\t\t\tforEach(columnFilters, f => {\n\t\t\t\tconst key = f?.id\n\t\t\t\tconst valueFilter = toLower(f?.value)\n\t\t\t\tlet v = get(i, key)\n\t\t\t\tif (isDate(key)) v = moment(v).format('DD/MM/YYYY')\n\t\t\t\tif (key === 'operationCode') {\n\t\t\t\t\tconst val = find(OPTIONS_OPERATIONS_TYPE, i => i.value === (v + ''))?.label\n\t\t\t\t\tif (val) v = val\n\t\t\t\t}\n\n\t\t\t\tconst valueItem = toLower(v)\n\t\t\t\tif (!valueItem?.includes(valueFilter)) valid = false\n\t\t\t})\n\t\t\treturn valid\n\t\t})\n\t}, [filteredBySearch, columnFilters])\n\n\tconst table = useReactTable({\n\t\tdata: filteredData,\n\t\tcolumns,\n\t\t// filterFns: {},\n\t\tfilterFns: {},\n\t\tstate: { columnFilters },\n\t\tonColumnFiltersChange: setColumnFilters,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t})\n\n\tconst { rows } = table.getRowModel()\n\n\tconst rowVirtualizer = useVirtualizer({\n\t\tcount: rows.length,\n\t\testimateSize: () => 34, // estimate row height for accurate scrollbar dragging\n\t\tgetScrollElement: () => refTableContainer?.current?.parentNode,\n\t\t// measure dynamic row height, except in firefox because it measures table border height incorrectly\n\t\tmeasureElement:\n\t\t\ttypeof window !== 'undefined' &&\n\t\t\t\tnavigator.userAgent.indexOf('Firefox') === -1\n\t\t\t\t? element => element?.getBoundingClientRect().height\n\t\t\t\t: undefined,\n\t\toverscan: 5,\n\t})\n\n\treturn (\n\t\t<table ref={refTableContainer} className='ui celled inverted selectable table' style={{ minWidth: '100%' }}>\n\t\t\t<thead style={{\n\t\t\t\tdisplay: 'grid',\n\t\t\t\tposition: 'sticky',\n\t\t\t\ttop: 0,\n\t\t\t\tzIndex: 1,\n\t\t\t}}\n\t\t\t>\n\t\t\t\t{table.getHeaderGroups().map(headerGroup => (\n\t\t\t\t\t<tr key={headerGroup?.id} style={{ display: 'flex', width: '100%' }}>\n\t\t\t\t\t\t{headerGroup?.headers?.map(header => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={header?.id}\n\t\t\t\t\t\t\t\t\tcolSpan={header?.colSpan}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tdisplay: 'grid',\n\t\t\t\t\t\t\t\t\t\twidth: header.getSize() + 22,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{header?.isPlaceholder ? null : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'grid',\n\t\t\t\t\t\t\t\t\t\t\t\t\tgridTemplateColumn: '1fr auto',\n\t\t\t\t\t\t\t\t\t\t\t\t\tgridGap: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\t// whiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={header?.column.getToggleSortingHandler()}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={header?.column.getCanSort() ? 'cursor-pointer select-none' : ''}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{flexRender(header?.column?.columnDef?.header, header?.getContext())}\n\t\t\t\t\t\t\t\t\t\t\t\t{{ asc: '🔼', desc: '🔽' }[header?.column?.getIsSorted()] ?? null}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{header?.column?.getCanFilter() ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div><Filter column={header?.column} /></div>\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</tr>\n\t\t\t\t))}\n\t\t\t</thead>\n\t\t\t<tbody style={{\n\t\t\t\tdisplay: 'grid',\n\t\t\t\theight: `${rowVirtualizer.getTotalSize()}px`, // tells scrollbar how big the\n\t\t\t\tposition: 'relative', // needed for absolute positioning of rows\n\t\t\t}}\n\t\t\t>\n\t\t\t\t{rowVirtualizer.getVirtualItems().map(virtualRow => {\n\t\t\t\t\tconst row = rows[virtualRow.index]\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\tclassName={`hasState ${row?.original?.statusColor}`}\n\t\t\t\t\t\t\tkey={row?.id}\n\t\t\t\t\t\t\tref={node => rowVirtualizer.measureElement(node)}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\ttransform: `translateY(${virtualRow.start}px)`, // this should always be a `style` as it changes on scroll\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{row?.getVisibleCells()?.map(cell => (\n\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\twidth: cell.column.getSize() + 22,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className='ellipsis' title={cell.getValue()}>\n\t\t\t\t\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</tbody>\n\t\t</table>\n\t)\n}\n\nRTable.propTypes = {\n\tsetChanging: PropTypes.func,\n\tsetEditing: PropTypes.func,\n}\n\nexport default RTable\n","import React, { useMemo } from 'react'\nimport PropTypes from 'prop-types'\n\nconst Marker = ({ purpose, size, className, zoom, style: _style = {}, ...props }) => {\n\tconst computedClassName = useMemo(() => {\n\t\tconst arr = ['dc-icon']\n\t\tif (className) arr.push(className)\n\t\tif (purpose) {\n\t\t\tif (['start', 'end'].includes(purpose)) {\n\t\t\t\tarr.push('via')\n\t\t\t\tarr.push('tiny')\n\t\t\t} else if (purpose) {\n\t\t\t\tarr.push(purpose)\n\t\t\t\tif (purpose === 'via') arr.push('tiny')\n\t\t\t}\n\t\t}\n\t\tif (size) arr.push(size)\n\n\t\treturn arr.join(' ')\n\t}, [purpose, size, className])\n\n\tconst style = useMemo(() => {\n\t\tif (!zoom || zoom >= 10) return _style\n\t\tconst isSmall = purpose.includes('small')\n\t\tlet multiplier = 2\n\t\tif (!isSmall) multiplier = 4\n\t\tconst fs = zoom * multiplier\n\t\tconst half = fs / 2\n\t\treturn {\n\t\t\t..._style,\n\t\t\twidth: fs + 'px',\n\t\t\theight: fs + 'px',\n\t\t\ttop: -half + 'px',\n\t\t\tleft: -half + 'px',\n\t\t}\n\t}, [_style, zoom, purpose])\n\n\treturn <i className={computedClassName} style={style} {...props} />\n}\n\nMarker.propTypes = {\n\tpurpose: PropTypes.string,\n\tsize: PropTypes.string,\n\tclassName: PropTypes.string,\n\tzoom: PropTypes.number,\n\tstyle: PropTypes.object,\n}\n\nexport default Marker\n","import PropTypes from 'prop-types'\nimport React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport Marker from './Marker'\n\nconst MarkerWaypoint = ({ purpose: _purpose, size, className, waypoint, idx, hideDetails, ...props }) => {\n\tconst { t } = useTranslation()\n\n\tconst purpose = useMemo(() => _purpose || waypoint?.purpose, [_purpose, waypoint])\n\n\tconst computedClassName = useMemo(() => {\n\t\tconst arr = ['dc-marker-wp']\n\t\tif (className) arr.push(className)\n\t\tif (purpose) arr.push(purpose)\n\t\tif (size) arr.push(size)\n\n\t\treturn arr.join(' ')\n\t}, [size, purpose, className])\n\n\tconst title = useMemo(() => {\n\t\tconst arr = []\n\t\tif (!isNaN(idx)) arr.push(Number(idx) + 1)\n\t\tif (purpose) arr.push(t(`waypoint.type.${purpose}`))\n\t\treturn arr.join('. ')\n\t}, [idx, purpose, t])\n\n\treturn (\n\t\t<div className={computedClassName} {...props}>\n\t\t\t<Marker purpose={purpose} size={size} className={className} />\n\t\t\t{hideDetails ? null : (\n\t\t\t\t<div className='details'>\n\t\t\t\t\t<div className='order'>{title}</div>\n\t\t\t\t\t<div className='location'>{waypoint?.location?.computed || waypoint?.location?.name}</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nMarkerWaypoint.propTypes = {\n\tpurpose: PropTypes.string,\n\tsize: PropTypes.string,\n\tclassName: PropTypes.string,\n\twaypoint: PropTypes.object,\n\tidx: PropTypes.number,\n\thideDetails: PropTypes.bool,\n}\n\nexport default MarkerWaypoint\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst MarkerRoadShield = ({ number, ...props }) => {\n\treturn (\n\t\t<div\n\t\t\tclassName='marker-road-shield'\n\t\t\tonClick={e => e.stopPropagation()}\n\t\t\tonMouseMove={e => e.stopPropagation()}\n\t\t\t{...props}\n\t\t>\n\t\t\t{number}\n\t\t</div>\n\t)\n}\n\nMarkerRoadShield.propTypes = {\n\tnumber: PropTypes.string,\n}\n\nexport default MarkerRoadShield\n","import React, { useEffect, useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { map, filter } from 'lodash'\nimport { Dropdown, DropdownMenu, Input } from 'semantic-ui-react'\n\nimport { COLUMNS_PARTNERS } from 'tracknamic-smb/react/utils/eTransport'\nimport { getColumns } from 'tracknamic-smb/react/utils/columns'\n\nconst Filters = () => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst columnsState = useStoreState(state => state.partners.columnsState)\n\tconst setColumnsState = useStoreActions(actions => actions.partners.setColumnsState)\n\n\tconst searchTxt = useStoreState(state => state.partners.searchTxt)\n\tconst setSearchTxt = useStoreActions(actions => actions.partners.setSearchTxt)\n\n\tconst [searchVal, setSearchVal] = useState(searchTxt)\n\n\tuseEffect(() => {\n\t\tsetSearchVal(searchTxt)\n\t}, [searchTxt])\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetSearchTxt(searchVal)\n\t\t}, 250)\n\n\t\treturn () => clearTimeout(timeout)\n\t}, [searchVal]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst columns = useMemo(() => {\n\t\tconst columns = getColumns(COLUMNS_PARTNERS, null, t)\n\t\tconst selected = map(columns, i => ({ ...i, selected: columnsState?.includes(i?.key) }))\n\t\treturn selected\n\t}, [columnsState])\n\n\tconst handleClickItem = (e, col) => {\n\t\te.stopPropagation()\n\t\te.preventDefault()\n\t\tconst state = [...columnsState]\n\t\tif (col?.selected) state.splice(state?.indexOf(col?.key), 1)\n\t\telse state.push(col?.key)\n\t\tconst cols = filter(map(columns, i => state?.includes(i.key) ? i?.key : null))\n\t\tsetColumnsState(cols)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Input icon='search' value={searchVal} onChange={e => setSearchVal(e?.target?.value)} placeholder='Search...' />\n\t\t\t<Dropdown\n\t\t\t\ticon={null}\n\t\t\t\ttrigger={<i className='green eye icon' />}\n\t\t\t\taction='nothing'\n\t\t\t\tclassName='dc-button icon top right pointing item dc-inverted-dd'\n\t\t\t>\n\t\t\t\t<DropdownMenu className='overflow-auto max-h-75vh'>\n\t\t\t\t\t{map(columns, col => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={e => handleClickItem(e, col)}\n\t\t\t\t\t\t\tclassName={`item${col?.selected ? '' : ' not-selected'}`}\n\t\t\t\t\t\t\tdata-value={col?.value}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{col?.text}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</DropdownMenu>\n\t\t\t</Dropdown>\n\t\t\t{/* <Dropdown\n\t\t\t\ticon={null}\n\t\t\t\ttrigger={<i className='blue setting icon' />}\n\t\t\t\taction='nothing'\n\t\t\t\tclassName='dc-button icon top right pointing item dc-inverted-dd'\n\t\t\t>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tclassName='overflow-auto max-h-75vh' onClick={e => {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</Dropdown> */}\n\t\t</>\n\t)\n}\n\nexport default Filters\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useFormContext, Controller } from 'react-hook-form'\nimport PropTypes from 'prop-types'\nimport { get, isEmpty, set } from 'lodash'\nimport Select from 'tracknamic-smb/react/components/Select'\n\nconst validateBoolean = v => v === true || v === false\n\nconst isSelect = p => [\n\t'editTruck', 'editSMRS', 'editLocations', 'editTransporter', 'uits', 'subcontractor', 'customer', 'editAllUits'\n].includes(p)\n\nconst Field = ({ p, tKey, isReq, options, isReadonly, ...props }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst { register, trigger, control, formState: { errors } } = useFormContext()\n\n\tconst error = errors ? get(errors, p) : null\n\tconst text = useMemo(() => t(tKey || `partners.${p}`), [t, p, tKey])\n\tconst type = useMemo(() => {\n\t\tif (isSelect(p)) return 'select'\n\t\treturn 'input'\n\t}, [p])\n\n\tconst OPTIONS = useMemo(() => [\n\t\t{ value: true, label: t('yes') },\n\t\t{ value: false, label: t('no') },\n\t], [t])\n\n\tconst reg = useMemo(() => {\n\t\tconst obj = {}\n\n\t\tif (isReq) set(obj, 'required', true)\n\n\t\tif (isEmpty(obj)) return register\n\n\t\treturn register(obj)\n\t}, [isReq, register])\n\n\tconst handleInputChange = e => {\n\t\ttrigger(p)\n\t}\n\n\treturn (\n\t\t<div className='dc-field' {...props}>\n\t\t\t<label>{text}{isReq ? <span style={{ color: 'yellow', padding: '0 5px' }}>*</span> : null}</label>\n\t\t\t<div>\n\t\t\t\t{type === 'select' ? (\n\t\t\t\t\t<Controller\n\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\trules={{ validate: { validateBoolean } }}\n\t\t\t\t\t\tname={p}\n\t\t\t\t\t\tref={reg}\n\t\t\t\t\t\trender={({ value, onChange }) => (\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\toptions={OPTIONS}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tonChange={v => {\n\t\t\t\t\t\t\t\t\tonChange(v)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<input name={p} ref={reg} readOnly={isReadonly} onChange={handleInputChange} />\n\t\t\t\t)}\n\t\t\t\t<span style={{ color: 'yellow', display: 'inherit' }}>\n\t\t\t\t\t{error ? get(error, 'message') || (text + ' ' + t(`error.${get(error, 'type')}`)) : null}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nField.propTypes = {\n\tp: PropTypes.string,\n\tisReq: PropTypes.bool,\n\ttKey: PropTypes.string,\n\toptions: PropTypes.array,\n\tisReadonly: PropTypes.bool,\n}\n\nexport default Field\n","import PropTypes from 'prop-types'\nimport React, { useEffect, useState } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { get, set, map } from 'lodash'\nimport { Modal } from 'semantic-ui-react'\n\nimport Field from './Field'\n\nconst GEN_PROPS = [\n\t'CUI', 'name', 'email',\n\t'editTruck', 'editSMRS', 'editLocations',\n\t'editTransporter', 'editAllUits', 'subcontractor', 'customer'\n]\n\nconst isPropReq = p => [\n\t'CUI', 'name', 'email',\n\t'editTruck', 'editSMRS', 'editLocations',\n\t'editTransporter', 'editAllUits', 'subcontractor', 'customer'\n].includes(p)\n\nconst isReadonly = p => ['CUI'].includes(p)\n\nconst ModalPartners = ({ record, hide }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst methods = useForm()\n\tconst { getValues, setValue, handleSubmit } = methods\n\n\t// const getOnly = useStoreActions(actions => actions.partners.getOnly)\n\tconst update = useStoreActions(actions => actions.partners.update)\n\n\t// const [record, setRecord] = useState()\n\n\t// useEffect(() => {\n\t// \tif (!item?.id) return\n\t// \tgetOnly(item?.id).then(res => setRecord(res))\n\t// }, [item]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\tif (!record?.id) return\n\t\tfor (const prop in record) {\n\t\t\tsetValue(prop, get(record, prop))\n\t\t}\n\t}, [record]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst validate = async d => {\n\t\tconst fields = getValues()\n\n\t\tconst obj = { ...record, ...fields }\n\n\t\tawait update(obj)\n\t\thide()\n\t}\n\n\tconst onError = (errors, e) => {\n\t\tconsole.error('>>>>>>', errors, e) // eslint-disable-line no-console\n\t}\n\n\treturn (\n\t\t<Modal className='dc-modal ba-modal modal-uit' open>\n\t\t\t<Modal.Header>\n\t\t\t\tPartner{record?.name ? ` - ${record?.name}` : null}\n\t\t\t</Modal.Header>\n\t\t\t<FormProvider {...methods}>\n\t\t\t\t<form className='ui form' style={{ padding: '1em 0px' }}>\n\t\t\t\t\t<div className='dc-grid section-general' />\n\t\t\t\t\t<div className='dc-grid section-general' style={{ gridTemplateColumns: '1fr 1fr 1fr' }}>\n\t\t\t\t\t\t{map(GEN_PROPS, p => (\n\t\t\t\t\t\t\t<Field p={p} isReq={isPropReq(p)} isReadonly={record?.id && isReadonly(p)} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<br />\n\t\t\t\t</form>\n\t\t\t</FormProvider>\n\t\t\t<Modal.Actions>\n\t\t\t\t<div className='doc-button deny' onClick={() => hide()}>\n\t\t\t\t\t{t('buttons.cancel')}\n\t\t\t\t</div>\n\t\t\t\t<div className='doc-button approve' onClick={handleSubmit(validate, onError)}>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</Modal.Actions>\n\t\t</Modal>\n\t)\n}\n\nModalPartners.propTypes = {\n\trecord: PropTypes.object,\n\thide: PropTypes.func,\n}\n\nexport default ModalPartners\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\n\nconst DebouncedInput = ({ value: initialValue, onChange, debounce = 250, ...props }) => {\n\t// A typical debounced input react component\n\tconst [value, setValue] = useState(initialValue)\n\n\tuseEffect(() => {\n\t\tsetValue(initialValue)\n\t}, [initialValue])\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tonChange(value)\n\t\t}, debounce)\n\n\t\treturn () => clearTimeout(timeout)\n\t}, [value])\n\n\treturn (\n\t\t<input\n\t\t\tvalue={value}\n\t\t\tonChange={e => setValue(e.target.value)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nDebouncedInput.propTypes = {\n\tvalue: PropTypes.string,\n\tonChange: PropTypes.func,\n\tdebounce: PropTypes.number,\n}\n\nexport default DebouncedInput\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport DebouncedInput from './DebouncedInput'\n\nconst Filter = ({ column }) => {\n\treturn (\n\t\t<DebouncedInput\n\t\t\tonChange={v => column.setFilterValue(v)}\n\t\t\tplaceholder='Search...'\n\t\t\tstyle={{ padding: '2px 4px', width: '100%' }}\n\t\t/>\n\t)\n}\n\nFilter.propTypes = {\n\tcolumn: PropTypes.object,\n}\n\nexport default Filter\n","import PropTypes from 'prop-types'\nimport React, { useRef, useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { filter, find, forEach, get, map, toLower } from 'lodash'\nimport { flexRender, getCoreRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table'\nimport { Button, Popup, Icon } from 'semantic-ui-react'\n\nimport Filter from './Filter'\n\nconst isDate = v => ['dateTransportation'].includes(v)\n\nconst RTable = ({ setEditing }) => {\n\tconst { t } = useTranslation(['common'])\n\tconst refTableContainer = useRef()\n\n\tconst data = useStoreState(state => state.partners.items)\n\tconst searchTxt = useStoreState(state => state.partners.searchTxt)\n\tconst columnsState = useStoreState(state => state.partners.columnsState)\n\n\tconst remove = useStoreActions(actions => actions.partners.remove)\n\n\tconst [columnFilters, setColumnFilters] = useState([])\n\tconst [isRemoving, setIsRemoving] = useState()\n\n\tconst handleConfirmDelete = id => {\n\t\tsetIsRemoving(id)\n\t}\n\n\tconst cols = useMemo(() => [{\n\t\taccessorKey: 'CUI',\n\t\theader: t('partners.CUI'),\n\t\tsize: 160,\n\t}, {\n\t\taccessorKey: 'name',\n\t\theader: t('partners.name'),\n\t\tsize: 200,\n\t}, {\n\t\taccessorKey: 'email',\n\t\theader: t('partners.email'),\n\t}, {\n\t\taccessorKey: 'editTruck',\n\t\theader: t('partners.editTruck'),\n\t\taccessorFn: r => r.editTruck ? t('yes') : t('no'),\n\t}, {\n\t\taccessorKey: 'editSMRS',\n\t\theader: t('partners.editSMRS'),\n\t\taccessorFn: r => r.editSMRS ? t('yes') : t('no'),\n\t}, {\n\t\taccessorKey: 'editLocations',\n\t\theader: t('partners.editLocations'),\n\t\taccessorFn: r => r.editLocations ? t('yes') : t('no'),\n\t}, {\n\t\taccessorKey: 'editTransporter',\n\t\theader: t('partners.editTransporter'),\n\t\taccessorFn: r => r.editTransporter ? t('yes') : t('no'),\n\t\tsize: 160,\n\t},{\n\t\taccessorKey: 'editAllUits',\n\t\theader: t('partners.editAllUits'),\n\t\taccessorFn: r => r.editAllUits ? t('yes') : t('no'),\n\t\tsize: 250,\n\t}, {\n\t\taccessorKey: 'subcontractor',\n\t\theader: t('partners.subcontractor'),\n\t\taccessorFn: r => r.subcontractor ? t('yes') : t('no'),\n\t\tsize: 160,\n\t}, {\n\t\taccessorKey: 'customer',\n\t\theader: t('partners.customer'),\n\t\taccessorFn: r => r.customer ? t('yes') : t('no'),\n\t\tsize: 160,\n\t}], [t])\n\n\tconst filteredCols = useMemo(() => {\n\t\tconst cs = columnsState?.length ? columnsState : map(cols, i => i?.accessorKey)\n\t\treturn filter(map(cs, key => find(cols, c => c?.accessorKey === key)))\n\t}, [cols, columnsState])\n\n\tconst columns = useMemo(() => [...filteredCols, {\n\t\taccessorKey: 'actions',\n\t\theader: '',\n\t\tenableColumnFilter: false,\n\t\tenableSorting: false,\n\t\tcell: ({ row }) => {\n\t\t\tconst r = row?.original\n\t\t\treturn (\n\t\t\t\t<div className='actions' onClick={(e => e.stopPropagation())}>\n\t\t\t\t\t<Icon name='edit pointer' onClick={() => setEditing(r)} />\n\t\t\t\t\t<Popup\n\t\t\t\t\t\ttrigger={<div onClick={() => handleConfirmDelete(r?.id)}><Icon name='trash pointer' /></div>}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{t('delete')}\n\t\t\t\t\t\t\t\t<Button onClick={() => remove(r)}>{t('yes')}</Button>\n\t\t\t\t\t\t\t\t<Button onClick={() => setIsRemoving()}>{t('no')}</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton='click'\n\t\t\t\t\t\tposition='top right'\n\t\t\t\t\t\topen={isRemoving === r?.id}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)\n\t\t}\n\t}], [filteredCols, isRemoving, t]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst filteredBySearch = useMemo(() => {\n\t\tif (!searchTxt) return data\n\n\t\tconst txt = toLower(searchTxt)\n\t\treturn filter(data, i => {\n\t\t\tlet valid = false\n\t\t\tforEach(columnsState, p => {\n\t\t\t\tlet v = get(i, p)\n\t\t\t\tif (isDate(p)) v = moment(v).format('DD/MM/YYYY')\n\t\t\t\tif (p === 'lastModifications') v = i?.lastModifications?.display\n\t\t\t\tconst isValid = toLower(v).includes(txt)\n\t\t\t\tif (isValid) valid = true\n\t\t\t})\n\t\t\treturn valid\n\t\t})\n\t}, [data, columnsState, searchTxt])\n\n\tconst filteredData = useMemo(() => {\n\t\tif (!columnFilters?.length) return filteredBySearch\n\t\treturn filter(filteredBySearch, i => {\n\t\t\tlet valid = true\n\t\t\tforEach(columnFilters, f => {\n\t\t\t\tconst key = f?.id\n\t\t\t\tconst valueFilter = toLower(f?.value)\n\t\t\t\tlet v = get(i, key)\n\t\t\t\tif (isDate(key)) v = moment(v).format('DD/MM/YYYY')\n\n\t\t\t\tconst valueItem = toLower(v)\n\t\t\t\tif (!valueItem?.includes(valueFilter)) valid = false\n\t\t\t})\n\t\t\treturn valid\n\t\t})\n\t}, [filteredBySearch, columnFilters])\n\n\tconst table = useReactTable({\n\t\tdata: filteredData,\n\t\tcolumns,\n\t\t// filterFns: {},\n\t\tfilterFns: {},\n\t\tstate: { columnFilters },\n\t\tonColumnFiltersChange: setColumnFilters,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t})\n\n\tconst { rows } = table.getRowModel()\n\n\tconst rowVirtualizer = useVirtualizer({\n\t\tcount: rows.length,\n\t\testimateSize: () => 34, // estimate row height for accurate scrollbar dragging\n\t\tgetScrollElement: () => refTableContainer?.current?.parentNode,\n\t\t// measure dynamic row height, except in firefox because it measures table border height incorrectly\n\t\tmeasureElement:\n\t\t\ttypeof window !== 'undefined' &&\n\t\t\t\tnavigator.userAgent.indexOf('Firefox') === -1\n\t\t\t\t? element => element?.getBoundingClientRect().height\n\t\t\t\t: undefined,\n\t\toverscan: 5,\n\t})\n\n\treturn (\n\t\t<table ref={refTableContainer} className='ui celled inverted selectable table' style={{ minWidth: '100%' }}>\n\t\t\t<thead style={{\n\t\t\t\tdisplay: 'grid',\n\t\t\t\tposition: 'sticky',\n\t\t\t\ttop: 0,\n\t\t\t\tzIndex: 1,\n\t\t\t}}\n\t\t\t>\n\t\t\t\t{table.getHeaderGroups().map(headerGroup => (\n\t\t\t\t\t<tr key={headerGroup?.id} style={{ display: 'flex', width: '100%' }}>\n\t\t\t\t\t\t{headerGroup?.headers?.map(header => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={header?.id}\n\t\t\t\t\t\t\t\t\tcolSpan={header?.colSpan}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tdisplay: 'grid',\n\t\t\t\t\t\t\t\t\t\twidth: header.getSize() + 22,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{header?.isPlaceholder ? null : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'grid',\n\t\t\t\t\t\t\t\t\t\t\t\t\tgridTemplateColumn: '1fr auto',\n\t\t\t\t\t\t\t\t\t\t\t\t\tgridGap: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\t// whiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={header?.column.getToggleSortingHandler()}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={header?.column.getCanSort() ? 'cursor-pointer select-none' : ''}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{flexRender(header?.column?.columnDef?.header, header?.getContext())}\n\t\t\t\t\t\t\t\t\t\t\t\t{{ asc: '🔼', desc: '🔽' }[header?.column?.getIsSorted()] ?? null}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{header?.column?.getCanFilter() ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div><Filter column={header?.column} /></div>\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</tr>\n\t\t\t\t))}\n\t\t\t</thead>\n\t\t\t<tbody style={{\n\t\t\t\tdisplay: 'grid',\n\t\t\t\theight: `${rowVirtualizer.getTotalSize()}px`, // tells scrollbar how big the\n\t\t\t\tposition: 'relative', // needed for absolute positioning of rows\n\t\t\t}}\n\t\t\t>\n\t\t\t\t{rowVirtualizer.getVirtualItems().map(virtualRow => {\n\t\t\t\t\tconst row = rows[virtualRow.index]\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\tkey={row?.id}\n\t\t\t\t\t\t\tref={node => rowVirtualizer.measureElement(node)}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\ttransform: `translateY(${virtualRow.start}px)`, // this should always be a `style` as it changes on scroll\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={() => setEditing(row.original)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{row?.getVisibleCells()?.map(cell => (\n\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\twidth: cell.column.getSize() + 22,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className='ellipsis' title={cell.getValue()}>\n\t\t\t\t\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</tbody>\n\t\t</table>\n\t)\n}\n\nRTable.propTypes = {\n\tsetEditing: PropTypes.func,\n}\n\nexport default RTable\n","import { useStoreState } from 'easy-peasy'\nimport { useAsync } from 'react-async-hook'\nimport { useTranslation } from 'react-i18next'\nimport { get, find } from 'lodash'\nimport GeoService from '../services/geo'\n\n/**\n * Gets address for vehicle (from geofence or coordinates)\n * @param {Object} vehicle\n * @returns {Object} address\n * @returns {Boolean} address.loading\n * @returns {Error} address.error\n * @returns {String} address.result Address or geofence name\n */\nexport default (vehicle, props) => {\n\tif (props) {\n\t\treturn useAsync(async () => {\n\t\t\tif (vehicle == null) { return }\n\t\t\treturn await GeoService.reverseGeocode(vehicle.lat, vehicle.lng, props)\n\t\t}, [vehicle])\n\t}\n\tconst geofences = useStoreState(state => state.geofences.items)\n\tconst { t } = useTranslation(['common'])\n\n\tconst address = useAsync(async () => {\n\t\tif (vehicle == null) { return }\n\n\t\tconst geofenceIDs = get(vehicle, 'raw.status.geofences')\n\t\tif (Array.isArray(geofenceIDs) && geofenceIDs.length > 0) {\n\t\t\tif (geofenceIDs.length > 1) {\n\t\t\t\treturn `${t('vehicle.location.multiple-geofencesWithCount', { count: geofenceIDs.length })}`\n\t\t\t}\n\n\t\t\tconst geofence = find(geofences, ['raw.id', geofenceIDs[0]])\n\t\t\treturn get(geofence, 'name')\n\t\t}\n\n\t\tconst result = await GeoService.reverseGeocode(vehicle.lat, vehicle.lng)\n\t\treturn result\n\t}, [vehicle, geofences])\n\n\treturn address\n}\n","import { useEffect, useRef } from 'react'\n\n// Sources:\n// https://overreacted.io/making-setinterval-declarative-with-react-hooks/\n// https://dev.to/jsmccrumb/asynchronous-setinterval-4j69\n\nconst asyncIntervals = []\n\nconst runAsyncInterval = async (cb, interval, intervalIndex) => {\n\tawait cb()\n\tif (asyncIntervals[intervalIndex]) {\n\t\tsetTimeout(() => runAsyncInterval(cb, interval, intervalIndex), interval)\n\t}\n}\nconst setAsyncInterval = (cb, interval) => {\n\tif (cb && typeof cb === \"function\") {\n\t\tconst intervalIndex = asyncIntervals.length\n\t\tasyncIntervals.push(true)\n\t\trunAsyncInterval(cb, interval, intervalIndex)\n\t\treturn intervalIndex\n\t} else {\n\t\tthrow new Error('Callback must be a function')\n\t}\n}\nconst clearAsyncInterval = (intervalIndex) => {\n\tif (asyncIntervals[intervalIndex]) {\n\t\tasyncIntervals[intervalIndex] = false\n\t}\n}\n\nfunction useAsyncInterval(callback, delay) {\n\tconst savedCallback = useRef()\n\n\t// Remember the latest callback.\n\tuseEffect(() => {\n\t\tsavedCallback.current = callback;\n\t}, [callback])\n\n\t// Set up the interval.\n\tuseEffect(() => {\n\t\tasync function tick() {\n\t\t\treturn savedCallback.current()\n\t\t}\n\t\tif (delay !== null) {\n\t\t\tlet id = setAsyncInterval(tick, delay)\n\t\t\treturn () => clearAsyncInterval(id)\n\t\t}\n\t}, [delay])\n}\n\nexport default useAsyncInterval","import { useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport toast from 'react-hot-toast'\n\nconst useErrorHandler = (handler) => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst error = useStoreState(state => state.error)\n\tconst clearAllErrors = useStoreActions(actions => actions.clearAllErrors)\n\n\tconst genericFailMessage = () => {\n\t\ttoast.error(t('messages.operationFailed'))\n\t}\n\n\tconst customFailMessage = (key) => {\n\t\ttoast.error(t(`messages.${key}`))\n\t}\n\n\tuseEffect(() => {\n\t\tif (!error) return\n\t\tif (handler) {\n\t\t\thandler(error)\n\t\t\tclearAllErrors()\n\t\t\treturn\n\t\t}\n\t\tif (error?.key) {\n\t\t\tcustomFailMessage(error.key)\n\t\t} else {\n\t\t\tgenericFailMessage(error)\n\t\t}\n\t\tclearAllErrors()\n\t}, [error])\n}\n\nexport default useErrorHandler\n","import { useEffect, useState } from 'react'\nimport { get } from 'lodash'\n\nexport default (\n\tgeofences,\n\tmap,\n\tgoogleMapsAPI,\n\tshowGeofenceShape,\n) => {\n\tconst [shapes, setShapes] = useState([])\n\n\tuseEffect(() => {\n\t\tif (!geofences || !googleMapsAPI) { return }\n\t\tif (shapes.length === 0 && geofences.length) {\n\t\t\tsetShapes(geofences.filter(geo => get(geo, 'shapeType') === 'Point' || get(geo, 'shapeType') === 'Polygon').map(geofence => {\n\t\t\t\tlet geoShape = null\n\t\t\t\tif (get(geofence, 'shapeType') === 'Point') {\n\t\t\t\t\tgeoShape = new googleMapsAPI.Circle({\n\t\t\t\t\t\tcenter: get(geofence, 'center'),\n\t\t\t\t\t\tradius: get(geofence, 'raw.boundary'),\n\t\t\t\t\t\tstrokeColor: get(geofence, 'raw.color'),\n\t\t\t\t\t\tfillColor: get(geofence, 'raw.color'),\n\t\t\t\t\t\ttitle: get(geofence, 'name'),\n\t\t\t\t\t})\n\t\t\t\t} else if (get(geofence, 'shapeType') === 'Polygon') {\n\t\t\t\t\tgeoShape = new googleMapsAPI.Polygon({\n\t\t\t\t\t\tcenter: get(geofence, 'center'),\n\t\t\t\t\t\tpaths: get(geofence, 'latlngs'),\n\t\t\t\t\t\tstrokeColor: get(geofence, 'raw.color'),\n\t\t\t\t\t\tfillColor: get(geofence, 'raw.color'),\n\t\t\t\t\t\ttitle: get(geofence, 'name'),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t// title tooltip\n\t\t\t\tgoogleMapsAPI.event.addListener(geoShape, 'mouseover', function () {\n\t\t\t\t\tconst GoogleMap = this.getMap()\n\t\t\t\t\tif (GoogleMap) {\n\t\t\t\t\t\tGoogleMap.getDiv().setAttribute('title', this.get('title'))\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tgoogleMapsAPI.event.addListener(geoShape, 'mouseout', function () {\n\t\t\t\t\tconst GoogleMap = this.getMap()\n\t\t\t\t\tif (GoogleMap) {\n\t\t\t\t\t\tGoogleMap.getDiv().removeAttribute('title')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn geoShape\n\t\t\t}))\n\t\t}\n\t}, [geofences, googleMapsAPI])\n\n\tuseEffect(() => {\n\t\tif (map && shapes.length) {\n\t\t\tconst selectedOption = showGeofenceShape ? map : null\n\t\t\tshapes.forEach(shape => {\n\t\t\t\tshape.setMap(selectedOption)\n\t\t\t})\n\t\t}\n\t}, [shapes.length, showGeofenceShape, map])\n}\n","import React, { useEffect, useRef } from 'react'\nimport { render } from 'react-dom'\n\n/**\n * Adds a new control to the map\n * @param {'google.maps.Map' | null} map\n * @param {'google.maps.ControlPosition' | null} controlPosition\n * @param {React.ReactElement} children\n * @returns {Array} [removeFn]\n */\nexport default (\n\tmap,\n\tcontrolPosition,\n\tchildren,\n\tdependencies,\n) => {\n\tconst element = useRef(document.createElement('div'))\n\tconst remove = useRef()\n\n\tuseEffect(() => {\n\t\tif (!map || !controlPosition) { return }\n\n\t\tif (remove.current == null) {\n\t\t\tmap.controls[controlPosition].push(element.current)\n\n\t\t\tremove.current = () => {\n\t\t\t\tconst i = map.controls[controlPosition].indexOf(element.current)\n\t\t\t\tif (i > -1) {\n\t\t\t\t\tmap.controls[controlPosition].removeAt(i, 1)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\trender(\n\t\t\tchildren,\n\t\t\telement.current,\n\t\t)\n\t}, [map, controlPosition, ...dependencies])\n\n\treturn [remove]\n}\n","import { useEffect, useState, useRef } from 'react'\n\n/**\n * Draw polylines on the map\n */\nexport default (\n\tpolylines,\n\tmap,\n\tgoogleMapsAPI,\n\tvisible,\n\tdragMarkerOptions,\n\tonPolylineEditEnd,\n\tonChangeSegmentType\n) => {\n\tconst dragMarker = useRef()\n\tconst editedPolyline = useRef()\n\tconst [shapes, setShapes] = useState([])\n\tconst potentialSegment = useRef()\n\n\tuseEffect(() => {\n\t\tif (!map || !googleMapsAPI) { return }\n\n\t\tif (dragMarker.current != null) { dragMarker.current.setMap(null) }\n\n\t\tdragMarker.current = new googleMapsAPI.Marker({\n\t\t\t...(dragMarkerOptions || {}),\n\t\t\tvisible: false,\n\t\t\tdraggable: true,\n\t\t\tmap,\n\t\t})\n\t\tdragMarker.current.addListener('dragend', event => {\n\t\t\tevent.stop()\n\n\t\t\tif (onPolylineEditEnd != null) { onPolylineEditEnd(editedPolyline.current, dragMarker.current.position.lat(), dragMarker.current.position.lng()) }\n\t\t})\n\n\t\tdragMarker.current.addListener('click', event => {\n\t\t\tif (potentialSegment.current) {\n\t\t\t\tif (onChangeSegmentType != null) { onChangeSegmentType(potentialSegment.current.indexOfSegment, potentialSegment.current._index) }\n\t\t\t}\n\t\t})\n\t}, [dragMarkerOptions, onPolylineEditEnd, googleMapsAPI, map, onChangeSegmentType])\n\n\tuseEffect(() => {\n\t\tshapes.forEach(shape => {\n\t\t\tshape.setVisible(false)\n\t\t\tshape.setMap(null)\n\t\t\tshape = null\n\t\t})\n\t\tif (!polylines || !googleMapsAPI) { return }\n\n\t\tsetShapes(polylines.map(polylineOptions => {\n\t\t\tconst { editable, ...options } = polylineOptions\n\t\t\tconst polyline = new googleMapsAPI.Polyline({\n\t\t\t\tgeodesic: true,\n\t\t\t\t...options,\n\t\t\t})\n\n\t\t\tif (editable) {\n\t\t\t\tpolyline.addListener('mouseout', event => {\n\t\t\t\t\tif (dragMarker.current == null) { return }\n\n\t\t\t\t\tdragMarker.current.setVisible(false)\n\t\t\t\t\teditedPolyline.current = undefined\n\t\t\t\t})\n\t\t\t\tpolyline.addListener('mousemove', event => {\n\t\t\t\t\tif (dragMarker.current == null) { return }\n\n\t\t\t\t\tdragMarker.current.setPosition(event.latLng)\n\t\t\t\t})\n\t\t\t\tpolyline.addListener('mouseover', event => {\n\t\t\t\t\tif (dragMarker.current == null) { return }\n\t\t\t\t\tdragMarker.current.setVisible(true)\n\t\t\t\t\teditedPolyline.current = polylineOptions\n\t\t\t\t\tpotentialSegment.current = polyline\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn polyline\n\t\t}))\n\t}, [polylines, googleMapsAPI])\n\n\tuseEffect(() => {\n\t\tif (map && shapes.length) {\n\t\t\tconst selectedOption = visible ? map : null\n\n\t\t\tshapes.forEach(shape => {\n\t\t\t\tshape.setMap(selectedOption)\n\t\t\t})\n\t\t}\n\t}, [shapes, visible, map])\n}\n","import React, { useEffect, useRef, useState, useMemo, useCallback } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport GoogleMapReact from 'google-map-react'\nimport { useTranslation } from 'react-i18next'\nimport { Segment, Button, Dropdown, List, Dimmer, Loader, Card } from 'semantic-ui-react'\nimport { useFullscreen, useReactive, useRequest, useInterval } from 'ahooks'\nimport { get, groupBy, findIndex, findLastIndex, filter, remove, minBy } from 'lodash'\nimport usePolyline from '../../hooks/usePolyline'\nimport useMapControl from '../../hooks/useMapControl'\nimport UserMarker from '../../components/Map/UserMarker'\nimport LocationPicker from '../../components/LocationPicker'\nimport SaveOrderModal from '../../components/Modals/SaveOrder'\nimport Timeline from '../../components/Timeline'\nimport RouteCard from '../../components/RouteCard'\nimport API from '../../services/api'\nimport Geo from '../../services/geo'\nimport DateUtils from '../../utils/date'\nimport toast from 'react-hot-toast'\nimport matchSorter, { rankings } from 'match-sorter'\n\nconst chunkArray = (array, chunkSize) => {\n\tif (array?.length < chunkSize) { return [array] }\n\treturn Array(Math.ceil(array.length - chunkSize + 1)).fill().map((_, index) => index).map(begin => array.slice(begin, begin + chunkSize))\n}\n\nfunction segmentToRoute (routesBySegment, id) {\n\treturn routesBySegment.reduce((route, segment) => {\n\t\troute.segments.push(segment)\n\t\troute.path.push(...segment.polyline.path)\n\t\troute.toll.sections.push(...(segment.toll?.sections || []))\n\t\troute.distance += segment.distance\n\t\troute.duration += segment.duration\n\t\troute.cost.total += segment.cost?.total || 0\n\t\troute.cost.vehicle += segment.cost?.vehicle || 0\n\t\troute.cost.driver += segment.cost?.driver || 0\n\t\troute.cost.toll += segment.cost?.toll || 0\n\t\troute.cost.boat += segment.cost?.boat || 0\n\t\troute.events.push(...segment.events)\n\t\treturn route\n\t}, { id, distance: 0, duration: 0, cost: { total: 0, toll: 0, driver: 0, vehicle: 0, boat: 0 }, segments: [], toll: { sections: [] }, events: [], path: [] })\n}\nfunction parseRoute (response) {\n\tif (response == null) { return }\n\tresponse.events = remove(response?.events, (event, index) => index !== 0)\n\treturn {\n\t\tpolyline: {\n\t\t\tpath: (response.points || []).map(coordinates => {\n\t\t\t\treturn { lat: coordinates[1], lng: coordinates[0] }\n\t\t\t}),\n\t\t\tgeodesic: true,\n\t\t\tstrokeOpacity: 0.5,\n\t\t\tstrokeWeight: 8,\n\t\t},\n\t\tdistance: response.distance,\n\t\tduration: response.duration,\n\t\tcost: {\n\t\t\ttoll: response?.cost?.total?.toll || 0,\n\t\t\tvehicle: response?.cost?.total?.vehicle || 0,\n\t\t\tdriver: response?.cost?.total?.driver || 0,\n\t\t\tboat: response?.cost?.total?.boat || 0,\n\t\t\tget total () { return this.toll + this.vehicle + this.driver + this.boat }\n\t\t},\n\t\tevents: (response.events || []).map((event, index) => {\n\t\t\treturn { ...event, lat: event.location?.[1], lng: event.location?.[0] }\n\t\t}),\n\t\ttoll: {\n\t\t\tsections: response?.toll?.sections\n\t\t}\n\t}\n}\nfunction displayNameForWaypoint (waypoint, addressCache) {\n\tif (waypoint.name != null) { return waypoint.name }\n\n\tconst address = get(addressCache, `fetches[\"${waypoint.lat},${waypoint.lng}\"].data`)\n\n\tif (address) return address\n\tif (waypoint?.lat && waypoint?.lng) return `${waypoint?.lat.toFixed(4)}, ${waypoint?.lng.toFixed(4)}`\n\treturn ''\n}\n\nconst interval = 10000\n\nexport default function DispatchMap () {\n\tconst pageRef = useRef()\n\tconst [isFullscreen, { toggleFull }] = useFullscreen(pageRef)\n\tconst [map, setMap] = useState()\n\tconst [mapsAPI, setMapsAPI] = useState()\n\tconst { t } = useTranslation(['tms/map'])\n\n\tconst state = useReactive({\n\t\tisRouting: false,\n\t\tshowVehicles: false,\n\t})\n\tconst [vehicle, setVehicle] = useState()\n\tconst [uiWaypoints, setUiWaypoints] = useState([{ id: 'default_start' }, { id: 'default_end' }])\n\tconst [dragWaypoints, setDragWaypoints] = useState([])\n\tconst [selectedRoute, setSelectedRoute] = useState({ events: [] })\n\tconst [selectedVehicleDimensions, setSelectedVehicleDimensions] = useState({ height: 400.0, weight: 40000.0 })\n\tconst [selectedSegments, setSelectedSegments] = useState([])\n\tconst [selectedVehicleGroup, setSelectedVehicleGroup] = useState(null)\n\tconst [clearSaveOrderTimestamp, setClearSaveOrderTimestamp] = useState(null)\n\n\tconst waypoints = useMemo(() => filter(uiWaypoints, uiWaypoint => uiWaypoint.lat != null), [uiWaypoints])\n\t/** Reverse geocode address cache */\n\n\tconst handleVehicleDimensions = (data) => {\n\t\tif (!vehicleGroups?.length) return\n\t\tlet vehicleDimensions\n\t\tif (!data.value) {\n\t\t\tsetSelectedVehicleGroup(null)\n\t\t\tvehicleDimensions = { height: 400.0, weight: 40000.0 }\n\t\t} else {\n\t\t\tconst selectedGroup = vehicleGroups.find(vehicleGroup => vehicleGroup?.raw?.id === data.value)\n\t\t\tsetSelectedVehicleGroup(selectedGroup?.raw?.id)\n\t\t\tif (!selectedGroup?.raw?.vehicles?.length) {\n\t\t\t\tvehicleDimensions = { height: 400.0, weight: 40000.0 }\n\t\t\t} else {\n\t\t\t\tif (selectedGroup.raw.vehicles.length === 2 && !selectedGroup.raw.vehicles[0] && selectedGroup.raw.vehicles[1]) {\n\t\t\t\t\tvehicleDimensions = { height: 400.0, weight: 40000.0 }\n\t\t\t\t} else {\n\t\t\t\t\tconst truckFromVehicleGroup = vehicles.find(vehicle => vehicle?.raw?.id === selectedGroup.raw.vehicles[0])\n\t\t\t\t\tif (!truckFromVehicleGroup) {\n\t\t\t\t\t\tvehicleDimensions = { height: 400.0, weight: 40000.0 }\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate.vehicleID = truckFromVehicleGroup?.raw?.id\n\t\t\t\t\t\tvehicleDimensions = {\n\t\t\t\t\t\t\theight: truckFromVehicleGroup?.raw?.dimensions.height || 400.0,\n\t\t\t\t\t\t\tweight: truckFromVehicleGroup?.raw?.dimensions.weight || 40000.0\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsetSelectedSegments([])\n\t\tsetSelectedRoute({ events: [] })\n\t\tif (router1a?.fetches) {\n\t\t\tfor (const key in router1a.fetches) {\n\t\t\t\trouter1a.fetches[key] = null\n\t\t\t}\n\t\t}\n\t\tif (router2?.fetches) {\n\t\t\tfor (const key in router2.fetches) {\n\t\t\t\trouter2.fetches[key] = null\n\t\t\t}\n\t\t}\n\t\tif (router3?.fetches) {\n\t\t\tfor (const key in router3.fetches) {\n\t\t\t\trouter3.fetches[key] = null\n\t\t\t}\n\t\t}\n\t\tsetSelectedVehicleDimensions({ height: vehicleDimensions?.height, weight: vehicleDimensions?.weight })\n\t}\n\n\tconst addressCache = useRequest(\n\t\t(lat, lng) => Geo.reverseGeocode(lat, lng),\n\t\t{\n\t\t\tmanual: true,\n\t\t\tfetchKey: (lat, lng) => `${lat},${lng}`,\n\t\t\tcacheKey: 'address',\n\t\t\tstaleTime: -1,\n\t\t\tcacheTime: -1,\n\t\t}\n\t)\n\t/** HERE Maps routing service */\n\tconst requestProfile = useMemo(() => {\n\t\treturn {\n\t\t\tfeatureLayerProfile: {\n\t\t\t\tthemes: [{\n\t\t\t\t\tid: 'PTV_TruckAttributes',\n\t\t\t\t\tenabled: (selectedVehicleDimensions?.weight > 3500.0 || selectedVehicleDimensions?.height > 400.0)\n\t\t\t\t}]\n\t\t\t},\n\t\t\tvehicleProfile: {\n\t\t\t\tweight: { totalPermittedWeight: selectedVehicleDimensions?.weight || 40000.0 }, // kg\n\t\t\t\tdimensions: {\n\t\t\t\t\theight: selectedVehicleDimensions?.height || 400.0 // cm\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t}, [selectedVehicleDimensions])\n\n\t/** PTV Group routing service base on HERE maps route */\n\tconst router1a = useRequest(\n\t\t(coordinates) => {\n\t\t\treturn API.get('geo/route-ptv', {\n\t\t\t\tcoordinates,\n\t\t\t\trequestProfile: requestProfile,\n\t\t\t\trouteOptions: {\n\t\t\t\t\tcurrency: 'EUR',\n\t\t\t\t\ttollOptions: {\n\t\t\t\t\t\tuseDetailedToll: true,\n\t\t\t\t\t\treturnZeroCosts: true,\n\t\t\t\t\t},\n\t\t\t\t\temissionOptions: {\n\t\t\t\t\t\tvalueScenarios: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$type: 'EmissionValueScenario_HBEFA_3_2',\n\t\t\t\t\t\t\t\tscenarios: ['CURRENT_ROUTE'],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tresultFields: {\n\t\t\t\t\temissions: true,\n\t\t\t\t\treport: true,\n\t\t\t\t\ttourReport: true,\n\t\t\t\t\tnodes: true,\n\t\t\t\t\teventTypes: ['COUNTRY_EVENT', 'TOLL_EVENT', 'ROUTE_VIOLATION_EVENT', 'TOUR_EVENT', 'COMBINED_TRANSPORT_EVENT'],\n\t\t\t\t\tlegs: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\ttollSummary: true,\n\t\t\t\t\t\temissions: true,\n\t\t\t\t\t},\n\t\t\t\t\ttoll: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tsections: true,\n\t\t\t\t\t\tsystems: true,\n\t\t\t\t\t},\n\t\t\t\t\tmonetaryCostsReport: true,\n\t\t\t\t\tpolyline: true,\n\t\t\t\t\tsegments: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tid: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t\t{\n\t\t\tmanual: true,\n\t\t\tfetchKey: coordinates => coordinates,\n\t\t\tcacheKey: 'router1a',\n\t\t\tstaleTime: -1,\n\t\t\tcacheTime: -1,\n\t\t\tformatResult: parseRoute,\n\t\t}\n\t)\n\t/** PTV Group routing service */\n\tconst router2 = useRequest(\n\t\t(coordinates) => {\n\t\t\treturn API.get('geo/route-ptv', {\n\t\t\t\tcoordinates,\n\t\t\t\trequestProfile: requestProfile,\n\t\t\t\trouteOptions: {\n\t\t\t\t\tcurrency: 'EUR',\n\t\t\t\t\ttollOptions: {\n\t\t\t\t\t\tuseDetailedToll: true,\n\t\t\t\t\t\treturnZeroCosts: true,\n\t\t\t\t\t},\n\t\t\t\t\temissionOptions: {\n\t\t\t\t\t\tvalueScenarios: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$type: 'EmissionValueScenario_HBEFA_3_2',\n\t\t\t\t\t\t\t\tscenarios: ['CURRENT_ROUTE'],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tresultFields: {\n\t\t\t\t\temissions: true,\n\t\t\t\t\treport: true,\n\t\t\t\t\ttourReport: true,\n\t\t\t\t\tnodes: true,\n\t\t\t\t\teventTypes: ['COUNTRY_EVENT', 'TOLL_EVENT', 'ROUTE_VIOLATION_EVENT', 'TOUR_EVENT', 'COMBINED_TRANSPORT_EVENT'],\n\t\t\t\t\tlegs: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\ttollSummary: true,\n\t\t\t\t\t\temissions: true,\n\t\t\t\t\t},\n\t\t\t\t\ttoll: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tsections: true,\n\t\t\t\t\t\tsystems: true,\n\t\t\t\t\t},\n\t\t\t\t\tmonetaryCostsReport: true,\n\t\t\t\t\tpolyline: true,\n\t\t\t\t\tsegments: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tid: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t\t{\n\t\t\tmanual: true,\n\t\t\tfetchKey: coordinates => coordinates,\n\t\t\tcacheKey: 'router2',\n\t\t\tstaleTime: -1,\n\t\t\tcacheTime: -1,\n\t\t\tformatResult: parseRoute,\n\t\t}\n\t)\n\t/** PTV Group routing service (cost optimized) */\n\tconst router3 = useRequest(\n\t\t(coordinates) => {\n\t\t\treturn API.get('geo/route-ptv', {\n\t\t\t\tcoordinates,\n\t\t\t\trequestProfile: requestProfile,\n\t\t\t\trouteOptions: {\n\t\t\t\t\tcurrency: 'EUR',\n\t\t\t\t\tcalculationCriteria: 'MONETARY_COSTS',\n\t\t\t\t\ttollOptions: {\n\t\t\t\t\t\tuseDetailedToll: true,\n\t\t\t\t\t\treturnZeroCosts: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tresultFields: {\n\t\t\t\t\temissions: true,\n\t\t\t\t\treport: true,\n\t\t\t\t\ttourReport: true,\n\t\t\t\t\tnodes: true,\n\t\t\t\t\teventTypes: ['COUNTRY_EVENT', 'TOLL_EVENT', 'ROUTE_VIOLATION_EVENT', 'TOUR_EVENT', 'COMBINED_TRANSPORT_EVENT'],\n\t\t\t\t\tlegs: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\ttollSummary: true,\n\t\t\t\t\t\temissions: true,\n\t\t\t\t\t},\n\t\t\t\t\ttoll: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tsections: true,\n\t\t\t\t\t\tsystems: true,\n\t\t\t\t\t},\n\t\t\t\t\tmonetaryCostsReport: true,\n\t\t\t\t\tpolyline: true,\n\t\t\t\t\tsegments: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tid: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t\t{\n\t\t\tmanual: true,\n\t\t\tfetchKey: coordinates => coordinates,\n\t\t\tcacheKey: 'router3',\n\t\t\tstaleTime: -1,\n\t\t\tcacheTime: -1,\n\t\t\tformatResult: parseRoute,\n\t\t}\n\t)\n\n\tconst waypointSegments = useMemo(() => {\n\t\tconst segments = chunkArray(\n\t\t\t[\n\t\t\t\t...(vehicle != null ? [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: `${vehicle.lat},${vehicle.lng}`,\n\t\t\t\t\t\tlat: vehicle.lat,\n\t\t\t\t\t\tlng: vehicle.lng,\n\t\t\t\t\t\tname: vehicle.raw?.licensePlate,\n\t\t\t\t\t}\n\t\t\t\t] : []),\n\t\t\t\t...waypoints\n\t\t\t], 2)\n\n\t\tdragWaypoints.forEach(waypoint => {\n\t\t\tconst index = waypoint._index + (vehicle != null ? 1 : 0)\n\t\t\tsegments[index].splice(-1, 0, {\n\t\t\t\tid: `${waypoint.lat},${waypoint.lng}`,\n\t\t\t\tlat: waypoint.lat,\n\t\t\t\tlng: waypoint.lng,\n\t\t\t})\n\t\t})\n\n\t\treturn segments\n\t}, [waypoints, dragWaypoints, vehicle])\n\n\tuseInterval(\n\t\t() => {\n\t\t\treloadVehicles()\n\t\t},\n\t\tinterval,\n\t\t{ immediate: true },\n\t)\n\n\t/** Route for each segment */\n\n\tuseEffect(() => {\n\t\twaypointSegments.forEach(segment => {\n\t\t\tif (segment.length < 2) { return }\n\t\t\tconst id = segment.map(waypoint => waypoint.id).join(';')\n\n\t\t\tif (router1a.fetches[id] == null) { router1a.run(id) }\n\t\t\tif (router2.fetches[id] == null) { router2.run(id) }\n\t\t\tif (router3.fetches[id] == null) { router3.run(id) }\n\t\t})\n\t}, [waypointSegments, router1a.fetches, router2.fetches, router3.fetches, selectedVehicleDimensions])\n\n\tconst routes = useMemo(() => {\n\t\tconst routes = []\n\t\twaypointSegments.forEach((segment, index) => {\n\t\t\tconst id = segment.map(waypoint => waypoint.id).join(';')\n\t\t\tlet response\n\n\t\t\tresponse = router1a.fetches?.[id]?.data\n\t\t\tif (response != null) {\n\t\t\t\troutes.push({\n\t\t\t\t\t...response,\n\t\t\t\t\tid: `${id}_here`,\n\t\t\t\t\tsegment: id,\n\t\t\t\t\tsegmentIndex: index,\n\t\t\t\t\twaypoints: segment,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresponse = router2.fetches?.[id]?.data\n\t\t\tif (response != null) {\n\t\t\t\troutes.push({\n\t\t\t\t\t...response,\n\t\t\t\t\tid: `${id}_ptv`,\n\t\t\t\t\tsegment: id,\n\t\t\t\t\tsegmentIndex: index,\n\t\t\t\t\twaypoints: segment,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresponse = router3.fetches?.[id]?.data\n\t\t\tif (response != null) {\n\t\t\t\troutes.push({\n\t\t\t\t\t...response,\n\t\t\t\t\tid: `${id}_ptv2`,\n\t\t\t\t\tsegment: id,\n\t\t\t\t\tsegmentIndex: index,\n\t\t\t\t\twaypoints: segment,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t\treturn routes\n\t}, [router1a.fetches, router2.fetches, router3.fetches, waypointSegments, selectedVehicleDimensions])\n\n\tfunction categorizeSegment (segments) {\n\t\tconst newSegmentsArray = []\n\t\tif (segments && segments.length > 0) {\n\t\t\tconst foundByDistance = { ...minBy(segments, object => object?.distance) }\n\t\t\tfoundByDistance.type = 'shortest'\n\t\t\tnewSegmentsArray.push(foundByDistance)\n\n\t\t\tconst foundByPrice = { ...minBy(segments, object => object?.cost?.total) }\n\t\t\tfoundByPrice.type = 'cheapest'\n\t\t\tnewSegmentsArray.push(foundByPrice)\n\n\t\t\tconst fountByDuration = { ...minBy(segments, object => object?.duration) }\n\t\t\tfountByDuration.type = 'fastest'\n\t\t\tnewSegmentsArray.push(fountByDuration)\n\t\t}\n\t\treturn newSegmentsArray\n\t}\n\n\tconst proposedRoutes = useMemo(() => {\n\t\tif (routes.length < 1) { return [] }\n\n\t\tconst routesBySegment = groupBy(routes, 'segment')\n\t\tconst entries = Object.entries(routesBySegment)\n\n\t\tfor (const segment of entries) {\n\t\t\tsegment[1] = categorizeSegment(segment[1]) // segment = [coordinats, Array of segments where you need to put specific types of routes)\n\t\t}\n\n\t\treturn entries.reduce((proposedRoutes, [, routes]) => { proposedRoutes.push(...routes); return proposedRoutes }, [])\n\t}, [routes])\n\n\tuseEffect(() => {\n\t\tconst tempSelectedSegmentsArray = [...selectedSegments]\n\t\tconst defaultType = 'cheapest' // TODO: dynamic default type\n\t\tfor (const segment of proposedRoutes) {\n\t\t\tif (segment.type === defaultType) {\n\t\t\t\ttempSelectedSegmentsArray[segment.segmentIndex] = { indexOfSegment: segment.segmentIndex, typeOfSegment: tempSelectedSegmentsArray[segment.segmentIndex]?.typeOfSegment || defaultType }\n\t\t\t\tsetSelectedSegments(tempSelectedSegmentsArray)\n\t\t\t}\n\t\t}\n\t}, [proposedRoutes])\n\n\tuseEffect(() => {\n\t\tif (selectedSegments && selectedSegments.length > 0) {\n\t\t\tconst segments = []\n\t\t\tproposedRoutes.map((segment, index) => {\n\t\t\t\tif (selectedSegments.length - 1 >= segment.segmentIndex && segment.segmentIndex === selectedSegments[segment.segmentIndex].indexOfSegment && segment.type === selectedSegments[segment.segmentIndex].typeOfSegment) {\n\t\t\t\t\tsegments.push(segment)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tsetSelectedRoute(segmentToRoute(segments, showTypeOfRoute(segments)))\n\t\t}\n\t}, [selectedSegments])\n\n\tuseEffect(() => {\n\t\tif (uiWaypoints && uiWaypoints.length > 0 && uiWaypoints[0].id === 'default_last') {\n\t\t\tsetUiWaypoints([{ id: 'default_start' }, { id: 'default_end' }])\n\t\t\tsetSelectedRoute({ events: [] })\n\t\t}\n\t\tif (uiWaypoints && uiWaypoints.length > 1 && uiWaypoints[1].id === 'default_last') {\n\t\t\tsetSelectedRoute({ events: [] })\n\t\t}\n\t\tfor (const property in addressCache.fetches) {\n\t\t\tif ((uiWaypoints.findIndex(uiWaypoint => uiWaypoint.id === property)) < 0) {\n\t\t\t\tdelete addressCache.fetches[property]\n\t\t\t}\n\t\t}\n\t}, [uiWaypoints])\n\n\tconst showTypeOfRoute = (segments) => {\n\t\tif (segments && segments.length > 0) {\n\t\t\tconst result = segments.every(function (e) {\n\t\t\t\treturn e?.type === segments[0].type\n\t\t\t})\n\t\t\tswitch (result) {\n\t\t\tcase true:\n\t\t\t\treturn segments[0].type\n\t\t\tcase false:\n\t\t\t\treturn 'mixtRoute'\n\t\t\t}\n\t\t}\n\t}\n\tconst verifyTheSegment = (selectedRoute, segment) => {\n\t\tif (segment.segmentIndex <= selectedRoute.segments.length - 1) {\n\t\t\tif (selectedRoute.segments[segment.segmentIndex].type === segment.type) {\n\t\t\t\treturn true\n\t\t\t} else {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tconst polylines = useMemo(() => {\n\t\treturn proposedRoutes.reduce((polylines, route) => {\n\t\t\tlet color = 'white'\n\t\t\tswitch (route.type) {\n\t\t\tcase 'cheapest': color = 'darkorange'; break\n\t\t\tcase 'shortest': color = 'blueviolet'; break\n\t\t\tcase 'fastest': color = '#22AED1'; break\n\t\t\t}\n\t\t\tif (selectedRoute && selectedRoute.segments && selectedRoute.segments.length > 0) {\n\t\t\t\tpolylines.push({\n\t\t\t\t\tindexOfSegment: route.segmentIndex,\n\t\t\t\t\t_id: route.id,\n\t\t\t\t\t_index: route.type,\n\t\t\t\t\tpath: route.polyline.path,\n\t\t\t\t\tgeodesic: true,\n\t\t\t\t\tstrokeColor: color,\n\t\t\t\t\tstrokeOpacity: verifyTheSegment(selectedRoute, route) ? 1 : 0.25,\n\t\t\t\t\tstrokeWeight: 8,\n\t\t\t\t\tzIndex: verifyTheSegment(selectedRoute, route) ? 1 : 0.25,\n\t\t\t\t\teditable: true,\n\t\t\t\t\tclickable: true,\n\t\t\t\t})\n\t\t\t\treturn polylines\n\t\t\t}\n\t\t}, [])\n\t}, [proposedRoutes, selectedRoute])\n\n\tconst googleAPIKey = useStoreState(state => state.global.googleAPIKey)\n\tconst assetsPath = useStoreState(state => state.global.assetsPath)\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst vehicleGroups = useStoreState(state => state.vehicleGroups.items)\n\tconst geofences = useStoreState(state => state.geofences.items)\n\tconst clients = useStoreState(state => state.clientsTms.items)\n\tconst orderProperties = useStoreState(state => state.orderProperties.items)\n\tconst users = useStoreState(state => state.users.items)\n\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\tconst reloadGeofences = useStoreActions(actions => actions.geofences.reload)\n\tconst reloadClients = useStoreActions(actions => actions.clientsTms.reload)\n\tconst reloadVehicleGroups = useStoreActions(actions => actions.vehicleGroups.reload)\n\tconst reloadOrderProperties = useStoreActions(actions => actions.orderProperties.reloadAll)\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\tconst addTransportOrder = useStoreActions(actions => actions.ordersTmsTransport.add)\n\tconst addFreightOrder = useStoreActions(actions => actions.ordersTmsFreight.add)\n\tconst addPlannedRoute = useStoreActions(actions => actions.plannedTmsRoutes.add)\n\n\t// Load data\n\tuseEffect(() => {\n\t\treloadGeofences()\n\t\treloadVehicleGroups({\n\t\t\t$where: {\n\t\t\t\ttype: 'manual',\n\t\t\t}\n\t\t})\n\t\treloadClients()\n\t\treloadUsers()\n\t\treloadOrderProperties()\n\t}, [])\n\n\tconst dragMarkerOptions = useMemo(() => {\n\t\treturn {\n\t\t\ticon: {\n\t\t\t\turl: '/g-map-utils/map-marker-drag-red.png',\n\t\t\t\tanchor: { x: 10, y: 10 },\n\t\t\t\torigin: { x: 6, y: 6 },\n\t\t\t\tsize: { width: 32, height: 32 },\n\t\t\t},\n\t\t}\n\t}, [assetsPath])\n\n\tconst allProperties = useMemo(() => {\n\t\tif (!orderProperties?.length) return []\n\t\treturn orderProperties.filter(prop => {\n\t\t\tif (!prop.raw.visible || prop.raw.locked || prop.raw.dataType?.includes('ref')) return false\n\t\t\treturn true\n\t\t})\n\t}, [orderProperties])\n\n\tconst mappedVehicleGroups = useMemo(() => {\n\t\tif (!vehicleGroups?.length) return []\n\n\t\treturn vehicleGroups.map(vg => {\n\t\t\tvg.raw.tractorUnit = (!vehicles?.length || !vg?.raw?.vehicles?.length) ? ''\n\t\t\t\t: vehicles.find(vehicle => vehicle?.raw?.id === vg?.raw?.vehicles[0])?.raw?.licensePlate\n\t\t\tvg.raw.semiTrailerUnit = (!vehicles?.length || vg?.raw?.vehicles?.length !== 2) ? ''\n\t\t\t\t: vehicles.find(vehicle => vehicle?.raw?.id === vg?.raw?.vehicles[1])?.raw?.licensePlate\n\t\t\treturn vg\n\t\t})\n\t}, [vehicleGroups && vehicles])\n\n\tconst onPolylineEdited = useCallback((polyline, latitude, longitude) => {\n\t\tsetDragWaypoints([...dragWaypoints, {\n\t\t\t_id: polyline._id,\n\t\t\t_index: polyline.indexOfSegment,\n\t\t\tlat: latitude,\n\t\t\tlng: longitude,\n\t\t}])\n\t}, [dragWaypoints])\n\n\tconst onChangeSegmentType = useCallback((indexOfSegment, typeOfSegment) => {\n\t\tconst tempSelectedSegmentsArray = JSON.parse(JSON.stringify(selectedSegments))\n\t\ttempSelectedSegmentsArray[indexOfSegment] = { indexOfSegment: indexOfSegment, typeOfSegment: typeOfSegment }\n\t\tsetSelectedSegments(tempSelectedSegmentsArray)\n\t}, [polylines, selectedSegments])\n\n\tusePolyline(polylines, map, mapsAPI, true, dragMarkerOptions, onPolylineEdited, onChangeSegmentType)\n\n\tconst onGoogleAPILoaded = ({ map, maps }) => {\n\t\tsetMap(map)\n\t\tsetMapsAPI(maps)\n\t}\n\tconst onMapClick = ({ lat, lng, event }) => {\n\t\tif (event?.target?.tagName !== 'DIV') { return }\n\t\tif (state.isRouting) { return }\n\t\taddressCache.run(lat, lng)\n\t\tif (uiWaypoints[0].id === 'default_last') {\n\t\t\tsetUiWaypoints([{ id: 'default_start' }, { id: 'default_end' }])\n\t\t}\n\t\tif (uiWaypoints[0].id === 'default_start') {\n\t\t\tuiWaypoints[0] = {\n\t\t\t\tid: `${lat},${lng}`,\n\t\t\t\tlat,\n\t\t\t\tlng,\n\t\t\t}\n\t\t} else {\n\t\t\tconst index = findLastIndex(uiWaypoints, waypoint => waypoint.id.startsWith('default_'))\n\t\t\tuiWaypoints[index] = {\n\t\t\t\tid: `${lat},${lng}`,\n\t\t\t\tlat,\n\t\t\t\tlng,\n\t\t\t}\n\t\t\tuiWaypoints.push({\n\t\t\t\tid: 'default_last',\n\t\t\t})\n\t\t}\n\t\tsetUiWaypoints([...uiWaypoints])\n\t}\n\tconst onWaypointClick = (waypoint, index) => {\n\t\tlet tempSelectedSegmentsArray = selectedSegments\n\t\tif (tempSelectedSegmentsArray.length >= 2) {\n\t\t\tif (tempSelectedSegmentsArray[index]?.typeOfSegment) {\n\t\t\t\ttempSelectedSegmentsArray[index].typeOfSegment = 'cheapest'\n\t\t\t}\n\t\t\ttempSelectedSegmentsArray = remove(tempSelectedSegmentsArray, function (n) {\n\t\t\t\treturn n.indexOfSegment !== index - 1\n\t\t\t})\n\t\t} else {\n\t\t\ttempSelectedSegmentsArray = []\n\t\t}\n\n\t\tsetSelectedSegments(tempSelectedSegmentsArray)\n\n\t\tif (state.isRouting) { return }\n\t\tsetUiWaypoints([...uiWaypoints.filter(w => w !== waypoint)])\n\t}\n\tconst onDragWaypointClick = (waypoint, index) => {\n\t\tsetDragWaypoints([...dragWaypoints.filter(_waypoint => _waypoint.lat !== waypoint.lat && _waypoint.lng !== waypoint.lng)])\n\t}\n\tconst onVehicleClick = (vehicle) => {\n\t\tconst id = get(vehicle, 'raw.id')\n\n\t\tif (state.isRouting) { return }\n\n\t\t// Clear selection on second click\n\t\tif (state.vehicleID === id) {\n\t\t\tstate.vehicleID = ''\n\t\t\treturn\n\t\t}\n\n\t\tstate.vehicleID = get(vehicle, 'raw.id')\n\t}\n\tconst onLocationPicked = (id, result) => {\n\t\tif (result && id) {\n\t\t\taddressCache.run(result.coordinates[0], result.coordinates[1])\n\t\t\tconst foundIndex = findIndex(uiWaypoints, waypoint => waypoint.id === id)\n\t\t\tif (foundIndex >= 0) {\n\t\t\t\tuiWaypoints[foundIndex] = {\n\t\t\t\t\tid: `${result.coordinates[0]},${result.coordinates[1]}`,\n\t\t\t\t\tlat: result.coordinates[0],\n\t\t\t\t\tlng: result.coordinates[1],\n\t\t\t\t\tname: result.title,\n\t\t\t\t}\n\t\t\t\tconst itHasEmptyInput = findIndex(uiWaypoints, waypoint => waypoint.id.startsWith('default_'))\n\t\t\t\tif (itHasEmptyInput < 0) {\n\t\t\t\t\tuiWaypoints.push({\n\t\t\t\t\t\tid: 'default_last',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tsetUiWaypoints([...uiWaypoints])\n\t\t\t} else {\n\t\t\t\tsetUiWaypoints([\n\t\t\t\t\t...uiWaypoints,\n\t\t\t\t\t{\n\t\t\t\t\t\tid: `${result.coordinates[0]},${result.coordinates[1]}`,\n\t\t\t\t\t\tlat: result.coordinates[0],\n\t\t\t\t\t\tlng: result.coordinates[1],\n\t\t\t\t\t\tname: result.title,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'default_last',\n\t\t\t\t\t}\n\t\t\t\t])\n\t\t\t}\n\t\t}\n\t}\n\n\tconst calculateTotalDuration = (segments, indexOfSegment) => {\n\t\tlet totalDuration = null\n\t\tfor (const segment of segments) {\n\t\t\tif (segment.segmentIndex <= indexOfSegment) {\n\t\t\t\ttotalDuration += segment.duration\n\t\t\t}\n\t\t}\n\t\treturn totalDuration * 1000\n\t}\n\tconst updateSegmentArrivalAndDepartureDates = (segments, dates) => {\n\t\tsegments.map(segment => {\n\t\t\tif (segment.segmentIndex === 0) {\n\t\t\t\tsegment.departure_expected = dates.endDateForLoading\n\t\t\t\tsegment.arrival_expected = dates.endDateForLoading + (segment.duration * 1000)\n\t\t\t}\n\t\t\tif (segment.segmentIndex !== 0 && segments.length !== segment.segmentIndex + 1) {\n\t\t\t\tsegment.departure_expected = dates.endDateForLoading\n\t\t\t\tsegment.arrival_expected = dates.endDateForLoading + calculateTotalDuration(segments, segment.segmentIndex)\n\t\t\t}\n\t\t\tif (segments.length === segment.segmentIndex + 1) {\n\t\t\t\tsegment.departure_expected = dates.endDateForLoading\n\t\t\t\tsegment.arrival_expected = dates.endDateForArrival\n\t\t\t}\n\t\t})\n\t\treturn segments\n\t}\n\tconst onOrderSave = async (order, dates) => {\n\t\t// Save planned route\n\t\tconst plannedRoute = await addPlannedRoute({\n\t\t\tdistance: selectedRoute.distance,\n\t\t\tduration: selectedRoute.duration,\n\t\t\tpoints: selectedRoute.path.map(point => [point.lng, point.lat]),\n\t\t})\n\n\t\t// Save transport order\n\t\tconst freightProperties = []\n\t\tconst transportProperties = []\n\t\tif (order.properties?.length) {\n\t\t\tfor (const property of order.properties) {\n\t\t\t\tif (property.value !== '' && order.property !== null) {\n\t\t\t\t\tswitch (property.orderType) {\n\t\t\t\t\tcase 'transport':\n\t\t\t\t\t\ttransportProperties.push({ value: property.value, id: property.id })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'freight':\n\t\t\t\t\t\tfreightProperties.push({ value: property.value, id: property.id })\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst transportOrder = await addTransportOrder({\n\t\t\tname: order.name,\n\t\t\tsource: order.source,\n\t\t\tvehicleGroupID: order.vehicleGroupID,\n\t\t\tclientID: order.clientID,\n\t\t\texternalID: order.externalID,\n\t\t\tplannedRouteID: plannedRoute.id,\n\t\t\tproperties: transportProperties\n\t\t})\n\n\t\t// Save freight orders (one for each route segment)\n\t\tconst now = new Date()\n\t\tconst freightOrders = updateSegmentArrivalAndDepartureDates(selectedRoute.segments, dates).map((segment) => {\n\t\t\treturn {\n\t\t\t\ttransportOrderID: transportOrder.id,\n\t\t\t\tsource: order.source,\n\t\t\t\tdate: now.toISOString(),\n\t\t\t\tproperties: freightProperties,\n\t\t\t\twaypoints: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcoordinates: [selectedRoute?.segments[0]?.waypoints[0]?.lng, selectedRoute?.segments[0]?.waypoints[0]?.lat],\n\t\t\t\t\t\texpected_duration: segment.duration,\n\t\t\t\t\t\tdeparture_expected: segment.departure_expected,\n\t\t\t\t\t\tdeparture_planned: segment.departure_expected,\n\t\t\t\t\t\ttype: 'loading'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcoordinates: [segment.waypoints[segment.waypoints.length - 1].lng, segment.waypoints[segment.waypoints.length - 1].lat],\n\t\t\t\t\t\texpected_duration: segment.duration,\n\t\t\t\t\t\tarrival_expected: segment.arrival_expected,\n\t\t\t\t\t\tarrival_planned: segment.arrival_expected,\n\t\t\t\t\t\ttype: 'unloading'\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t}\n\t\t})\n\n\t\tawait Promise.all(freightOrders.map(freightOrder => addFreightOrder(freightOrder))).then(() => {\n\t\t\tsetUiWaypoints([{ id: 'default_start' }, { id: 'default_end' }])\n\t\t\tsetDragWaypoints([])\n\t\t\tsetSelectedRoute({ events: [] })\n\t\t\tsetSelectedSegments([])\n\t\t\ttoast.success(`${t('tms/map:messages.routeCreation')}`)\n\t\t}).then(() => setClearSaveOrderTimestamp(new Date().getTime()))\n\t}\n\n\tuseMapControl(map, get(mapsAPI, 'ControlPosition.LEFT_TOP'),\n\t\twaypoints.length > 0\n\t\t\t? (\n\t\t\t\t<button className='g-map-button dark animated' onClick={() => { state.showVehicles = !state.showVehicles }}>\n\t\t\t\t\t{state.showVehicles ? 'Hide vehicles' : 'Show vehicles'}\n\t\t\t\t</button>\n\t\t\t)\n\t\t\t: null,\n\t\t[waypoints, state.showVehicles]\n\t)\n\n\tconst resetMap = () => {\n\t\tsetUiWaypoints([{ id: 'default_start' }, { id: 'default_end' }])\n\t\tsetDragWaypoints([])\n\t\tsetSelectedRoute({ events: [] })\n\t\tsetSelectedSegments([])\n\t}\n\n\tconst vehicleGroupSearch = (options, searchText) => {\n\t\treturn matchSorter(options, searchText, { keys: ['text', 'tractorUnit', 'semiTrailerUnit'], threshold: rankings.CONTAINS })\n\t}\n\n\treturn (\n\t\t<div ref={pageRef} className='map-wrapper'>\n\t\t\t<Dimmer.Dimmable dimmed>\n\t\t\t\t<Dimmer active={state.isRouting}>\n\t\t\t\t\t<Loader className='tracknamic' />\n\t\t\t\t</Dimmer>\n\t\t\t\t<Segment textAlign='right' className='marginless' basic>\n\t\t\t\t\t{/* <Button icon='clipboard' compact /> */}\n\t\t\t\t\t<Button icon='undo' compact onClick={resetMap} />\n\t\t\t\t\t<Button onClick={toggleFull} icon={isFullscreen ? 'compress' : 'expand'} compact />\n\t\t\t\t</Segment>\n\t\t\t\t<Segment className='marginless waypoints' basic>\n\t\t\t\t\t<Card className='inverted relaxed'>\n\t\t\t\t\t\t<Card.Content>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tclassName='waypoint-vehicle-picker'\n\t\t\t\t\t\t\t\tplaceholder={t('tms/map:routeSelect.selectVehicle')}\n\t\t\t\t\t\t\t\toptions={mappedVehicleGroups.map(vehicleGroup => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\tkey: get(vehicleGroup, 'raw.id'),\n\t\t\t\t\t\t\t\t\t\ttext: get(vehicleGroup, 'raw.name'),\n\t\t\t\t\t\t\t\t\t\tvalue: get(vehicleGroup, 'raw.id'),\n\t\t\t\t\t\t\t\t\t\ttractorUnit: get(vehicleGroup, 'raw.tractorUnit'),\n\t\t\t\t\t\t\t\t\t\tsemiTrailerUnit: get(vehicleGroup, 'raw.semiTrailerUnit')\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tvalue={selectedVehicleGroup}\n\t\t\t\t\t\t\t\tonChange={(_e, data) => { handleVehicleDimensions({ ...data }) }}\n\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\tselection\n\t\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\t\tsearch={vehicleGroupSearch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Timeline>\n\t\t\t\t\t\t\t\t{uiWaypoints.map((waypoint, index, array) =>\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<Timeline.Item\n\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\ttitle={<LocationPicker\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='waypoint-location-picker'\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t('tms/map:routeSelect.search')}\n\t\t\t\t\t\t\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\t\t\t\t\t\t\tgeofences={geofences}\n\t\t\t\t\t\t\t\t\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t\t\t\t\t\t\t\t\tinput={{ fluid: true }}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => onLocationPicked(waypoint.id, e)}\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue={displayNameForWaypoint(waypoint, addressCache)}\n\t\t\t\t\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\t\t\t\t/>}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{selectedRoute.segments && selectedRoute.segments.length > 0 && index < selectedRoute.segments.length && (\n\t\t\t\t\t\t\t\t\t\t\t\t<List horizontal divided relaxed inverted>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<List.Content>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<List.Header>{selectedRoute.segments[index].distance} km</List.Header>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</List.Content>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<List.Item>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<List.Content>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<List.Header>{DateUtils.formatDurationByDuration(selectedRoute.segments[index].duration * 1000)}</List.Header>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</List.Content>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</List.Item>\n\t\t\t\t\t\t\t\t\t\t\t\t</List>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</Timeline.Item>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Timeline>\n\t\t\t\t\t\t</Card.Content>\n\t\t\t\t\t</Card>\n\t\t\t\t</Segment>\n\t\t\t\t{proposedRoutes && selectedRoute && selectedRoute.id && (\n\t\t\t\t\t<Segment className='marginless' basic>\n\t\t\t\t\t\t<Card.Group className='relaxed vertical'>\n\t\t\t\t\t\t\t<RouteCard selectedRoute={selectedRoute} type={selectedRoute.id} />\n\t\t\t\t\t\t</Card.Group>\n\t\t\t\t\t</Segment>\n\t\t\t\t)}\n\t\t\t\t{selectedRoute && (\n\t\t\t\t\t<Segment className='marginless' basic>\n\t\t\t\t\t\t<SaveOrderModal\n\t\t\t\t\t\t\tmapsAPI={mapsAPI}\n\t\t\t\t\t\t\taddressCache={addressCache}\n\t\t\t\t\t\t\tselectedRoute={selectedRoute}\n\t\t\t\t\t\t\tallProperties={allProperties}\n\t\t\t\t\t\t\tmappedVehicleGroups={mappedVehicleGroups}\n\t\t\t\t\t\t\tclients={clients}\n\t\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\t\tselectedVehicleGroup={selectedVehicleGroup}\n\t\t\t\t\t\t\tsetSelectedVehicleGroup={setSelectedVehicleGroup}\n\t\t\t\t\t\t\thandleVehicleDimensions={handleVehicleDimensions}\n\t\t\t\t\t\t\tclearSaveOrderTimestamp={clearSaveOrderTimestamp}\n\t\t\t\t\t\t\tonSave={onOrderSave}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Segment>\n\t\t\t\t)}\n\t\t\t</Dimmer.Dimmable>\n\t\t\t<GoogleMapReact\n\t\t\t\tclassName='ember-google-map'\n\t\t\t\tbootstrapURLKeys={{ key: googleAPIKey, libraries: ['places', 'geometry'] }}\n\t\t\t\tdefaultCenter={{ lat: 45, lng: 25 }}\n\t\t\t\tdefaultZoom={5}\n\t\t\t\toptions={{\n\t\t\t\t\tmapTypeControl: true,\n\t\t\t\t\tstreetViewControl: true\n\t\t\t\t}}\n\t\t\t\tonGoogleApiLoaded={onGoogleAPILoaded}\n\t\t\t\tonClick={onMapClick}\n\t\t\t\tyesIWantToUseGoogleMapApiInternals\n\t\t\t>\n\t\t\t\t{(waypoints.length === 0 || state.showVehicles) && vehicles.filter(vehicle => vehicle.hasLocation).map(vehicle => (\n\t\t\t\t\t<UserMarker\n\t\t\t\t\t\tkey={vehicle.raw.id}\n\t\t\t\t\t\tlat={vehicle.lat}\n\t\t\t\t\t\tlng={vehicle.lng}\n\t\t\t\t\t\tvehicle={vehicle}\n\t\t\t\t\t\tmarkerSize='medium'\n\t\t\t\t\t\tselectVehicle={onVehicleClick}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{waypoints.map((waypoint, index) =>\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tlat={waypoint.lat}\n\t\t\t\t\t\tlng={waypoint.lng}\n\t\t\t\t\t\tclassName='map-marker'\n\t\t\t\t\t\tonClick={() => onWaypointClick(waypoint, index)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={27}\n\t\t\t\t\t\t\theight={43}\n\t\t\t\t\t\t\tsrc={`${assetsPath}/images/google/pin-simple.png`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{index}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{dragWaypoints.map((waypoint, index) =>\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tlat={waypoint.lat}\n\t\t\t\t\t\tlng={waypoint.lng}\n\t\t\t\t\t\tclassName='map-drag-marker'\n\t\t\t\t\t\tonClick={() => onDragWaypointClick(waypoint, index)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={32}\n\t\t\t\t\t\t\theight={32}\n\t\t\t\t\t\t\tsrc='/g-map-utils/map-marker-drag-red.png'\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{selectedRoute.events\n\t\t\t\t\t.filter(event => ['COUNTRY', 'BOAT', 'TRAIN'].any(type => event.type.startsWith(type)))\n\t\t\t\t\t.map((event, index) =>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tlat={event.location[1]}\n\t\t\t\t\t\t\tlng={event.location[0]}\n\t\t\t\t\t\t\twidth={30}\n\t\t\t\t\t\t\tsrc={`${assetsPath}/images/marker-${event.type.split('_')[0].toLowerCase()}.svg`}\n\t\t\t\t\t\t\ttitle={event.name}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\ttop: '50%',\n\t\t\t\t\t\t\t\tleft: '50%',\n\t\t\t\t\t\t\t\ttransform: 'translate(-50%, -50%)',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t</GoogleMapReact>\n\t\t</div>\n\t)\n}\n","import React, { useEffect, useState, useMemo } from 'react'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\n\nimport { getItemLS } from 'tracknamic-smb/react/utils/ls'\n\nimport Filters from 'tracknamic-smb/react/components/eTransport/Filters'\nimport Table from 'tracknamic-smb/react/components/eTransport/Table'\nimport ModalUit from 'tracknamic-smb/react/components/eTransport/ModalUit'\nimport ModalUitChange from 'tracknamic-smb/react/components/eTransport/ModalUitChange'\nimport ModalUitExisting from 'tracknamic-smb/react/components/eTransport/ModalUitExisting'\n\nconst ETransport = () => {\n\tconst { t } = useTranslation(['common', 'integration'])\n\n\tconst integrationTokenExpiration = useStoreState(state => state.uits.integrationTokenExpiration)\n\n\tconst init = useStoreActions(actions => actions.uits.init)\n\tconst sync = useStoreActions(actions => actions.uits.sync)\n\n\tconst [editing, setEditing] = useState()\n\tconst [changing, setChanging] = useState()\n\tconst [existing, setExisting] = useState()\n\tconst [lastSyncDate, setLastSyncDate] = useState(getItemLS('et.lastSyncDate'))\n\tconst [isSyncDisabled, setIsSyncDisabled] = useState(() => {\n\t\tconst now = moment()\n\t\tconst last = moment(getItemLS('et.lastSyncDate'))\n\t\tconst minutes = moment.duration(now.diff(last)).as('minutes')\n\t\treturn !isNaN(minutes) && minutes < 5\n\t})\n\n\tconst handleSync = async () => {\n\t\tif (isSyncDisabled) return\n\t\tawait sync()\n\t\tconst updated = getItemLS('et.lastSyncDate')\n\t\tsetLastSyncDate(updated)\n\t\tsetIsSyncDisabled(true) // immediately lock it for next 5 minutes\n\t}\n\n\tuseEffect(() => {\n\t\tinit()\n\t\tsetLastSyncDate(getItemLS('et.lastSyncDate'))\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\tconst interval = setInterval(() => {\n\t\t\tconst now = moment()\n\t\t\tconst last = moment(getItemLS('et.lastSyncDate'))\n\t\t\tconst minutes = moment.duration(now.diff(last)).as('minutes')\n\t\t\tconst disabled = !isNaN(minutes) && minutes < 5\n\t\t\tsetIsSyncDisabled(disabled)\n\t\t}, 5_000) // update every 10s\n\n\t\treturn () => clearInterval(interval)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst interval = setInterval(() => {\n\t\t\tconst updated = getItemLS('et.lastSyncDate')\n\t\t\tsetLastSyncDate(updated)\n\t\t}, 5_000)\n\n\t\treturn () => clearInterval(interval)\n\t}, [])\n\n\tconst handleHide = () => {\n\t\tsetEditing(null)\n\t\tsetChanging(null)\n\t\tsetExisting(null)\n\t}\n\n\treturn (\n\t\t<div className='siteContent fullHeight page-e-transport'>\n\t\t\t<div className='filters flex sb'>\n\t\t\t\t<div className='flex'>\n\t\t\t\t\t<div className='doc-button green' onClick={() => { setExisting({}) }}>\n\t\t\t\t\t\t<span>{t('uit.addExisting')}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='doc-button icon' onClick={() => { setEditing({}) }}>\n\t\t\t\t\t\t<span><i className='plus icon' />{t('uit.createNew')}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`doc-button blue icon${isSyncDisabled ? ' disabled' : ''}`}\n\t\t\t\t\t\ttitle={isSyncDisabled && t('uit.syncOnly5min')}\n\t\t\t\t\t\tonClick={handleSync}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span><i className='sync alternate icon' />{t('uit.sync')}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{lastSyncDate ? `${t('uit.lastSynced')}: ${moment(lastSyncDate).format('DD/MM/YYYY HH:mm')}` : ''}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div style={{ opacity: '0.5' }}>\n\t\t\t\t\t\t\t{integrationTokenExpiration ? `${t('integration:options.expires_in')}: ${moment(integrationTokenExpiration)?.format('DD/MM/YYYY HH:mm')}` : ''}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='flex gap-05'>\n\t\t\t\t\t<Filters />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='pageContent'>\n\t\t\t\t<Table setChanging={setChanging} setEditing={setEditing} />\n\t\t\t</div>\n\t\t\t{editing ? <ModalUit record={editing} hide={handleHide} /> : null}\n\t\t\t{changing ? <ModalUitChange record={changing} hide={handleHide} /> : null}\n\t\t\t{existing ? <ModalUitExisting hide={handleHide} /> : null}\n\t\t</div>\n\t)\n}\n\nexport default ETransport\n","import React, { useEffect, useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport EditableCard from '../../components/Integrations/EditableCard'\nimport { Input, Card } from 'semantic-ui-react'\nimport { forEach, map, filter, find, set } from 'lodash'\nimport ModalWindow from '../../components/Integrations/ModalWindow'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport { Splide, SplideSlide } from '@splidejs/react-splide'\nimport { useTranslation } from 'react-i18next'\n\nconst getSharedIntegration = (integration, sharedIntegrations) => {\n\treturn find(sharedIntegrations, { raw: { integrationID: integration?.raw?.id, entityType: 'group' } })\n}\n\nexport default function ManagementIntregations () {\n\tconst integrations = useStoreState(state => state.integrations.items)\n\tconst getIntegrations = useStoreActions(actions => actions.integrations.reload)\n\tconst updateIntegration = useStoreActions(actions => actions.integrations.update)\n\tconst sharedIntegrations = useStoreState(state => state.sharedIntegrations.items)\n\tconst getSharedIntegrations = useStoreActions(actions => actions.sharedIntegrations.reload)\n\tconst clients = useStoreState(state => state.clients.items)\n\tconst getClients = useStoreActions(actions => actions.clients.reload)\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\tconst companyID = useStoreState(state => state.session.companyID)\n\tconst groups = useStoreState(state => state.groups.items)\n\tconst getGroups = useStoreActions(actions => actions.groups.reload)\n\tconst [integration, setIntegration] = useState(null)\n\tconst [sidebar, setSidebar] = useState(null)\n\tconst [divisions, setDivisions] = useState([])\n\tconst [search, setSearch] = useState('')\n\tconst { t } = useTranslation(['integration'])\n\n\tuseErrorHandler()\n\n\tconst categories = ['platform', 'toll', 'refuel-parser', 'tms', 'telematics']\n\n\tuseEffect(() => {\n\t\treloadSession()\n\t\tgetIntegrations()\n\t\tgetGroups()\n\t\tgetClients()\n\t\tgetSharedIntegrations()\n\t\tsetSidebar(document.getElementsByClassName('sidebar')[0])\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!sidebar) return\n\t\tconst observer = new ResizeObserver(() => {\n\t\t\tupdateIntegrationsPageWidth()\n\t\t})\n\t\tobserver.observe(sidebar)\n\t}, [sidebar])\n\n\tconst filteredIntegrations = useMemo(() => {\n\t\tif (!search || !integrations?.length) return integrations\n\t\tconst searchTxt = search?.toLowerCase()\n\t\treturn filter(integrations, i => i?.raw?.name?.toLowerCase().includes(searchTxt))\n\t}, [integrations, search])\n\n\tconst updateIntegrationsPageWidth = () => {\n\t\tconst sidebarWidth = document.getElementsByClassName('sidebar')[0].offsetWidth\n\t\tconst appWidth = document.getElementsByClassName('application')[0].offsetWidth\n\t\tconst integrationsPage = document.getElementsByClassName('integrations-page')[0]\n\t\tif (integrationsPage) {\n\t\t\tintegrationsPage.style.maxWidth = appWidth - sidebarWidth + 'px'\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (!companyID) return\n\t\tsetDivisions(groups.filter(group => group.raw?.companyID === companyID && group.raw?.id !== companyID))\n\t}, [groups, companyID])\n\n\tconst onSubmit = data => {\n\t\tconst oldItem = integration\n\t\tif (data?.enabled === undefined) {\n\t\t\tset(data, 'enabled', integration.raw?.enabled)\n\t\t}\n\t\tforEach(oldItem?.raw?.options, (option, idx) => {\n\t\t\tif (option?.name) {\n\t\t\t\tconst item = data?.options?.[idx]\n\t\t\t\tset(option, 'value', item?.[option?.name])\n\t\t\t\tset(option, 'disabled', item?.disabled === 'true')\n\t\t\t}\n\t\t})\n\n\t\tdelete data?.options\n\n\t\tconst newItem = {\n\t\t\t...oldItem?.raw,\n\t\t\t...data\n\t\t}\n\n\t\tif (integration.raw?.id === integration.raw?.template) {\n\t\t\t// createIntegration\n\t\t\tset(newItem, 'id', null)\n\t\t\tupdateIntegration({ newItem, oldItem })\n\t\t} else {\n\t\t\tupdateIntegration({ newItem, oldItem })\n\t\t}\n\t\tsetTimeout(getSharedIntegrations, 1000)\n\t\tsetIntegration(null)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className='integrations-page'>\n\t\t\t\t<p style={{ fontSize: '0.9em' }}>\n\t\t\t\t\t<Input className='search-input' icon='search' placeholder={t('search')} onChange={e => setSearch(e.target.value)} />\n\t\t\t\t</p>\n\t\t\t\t{map(categories, category => (\n\t\t\t\t\t<div className='slider-wrapper'>\n\t\t\t\t\t\t<h2 className='integration-categories'>{t(`categories.${category}`)}</h2>\n\t\t\t\t\t\t<Splide\n\t\t\t\t\t\t\tclassName='ba-splide'\n\t\t\t\t\t\t\toptions={{\n\t\t\t\t\t\t\t\tgap: '1rem',\n\t\t\t\t\t\t\t\tperMove: 1,\n\t\t\t\t\t\t\t\tautoWidth: true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{map(filter(filteredIntegrations, ['raw.category', category]), integration => (\n\t\t\t\t\t\t\t\t<SplideSlide className='ba-slides'>\n\t\t\t\t\t\t\t\t\t<Card.Group>\n\t\t\t\t\t\t\t\t\t\t<EditableCard integration={integration} sharedIntegrations={sharedIntegrations} selectIntegration={() => setIntegration(integration)} />\n\t\t\t\t\t\t\t\t\t</Card.Group>\n\t\t\t\t\t\t\t\t</SplideSlide>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Splide>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\n\t\t\t{integration &&\n\t\t\t\t<ModalWindow\n\t\t\t\t\tintegration={integration}\n\t\t\t\t\tdivisions={divisions}\n\t\t\t\t\tsharedIntegration={getSharedIntegration(integration, sharedIntegrations)}\n\t\t\t\t\tcloseModal={() => {\n\t\t\t\t\t\tsetIntegration(null)\n\t\t\t\t\t}}\n\t\t\t\t\tclients={clients}\n\t\t\t\t\tonSubmit={onSubmit}\n\t\t\t\t/>}\n\t\t</>\n\t)\n}\n","import React, { useMemo, useEffect, useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Input, Loader, Card, Icon, Popup } from 'semantic-ui-react'\nimport { forIn, set, get, orderBy, chain, countBy, sortBy, find, truncate } from 'lodash'\nimport matchSorter, { rankings } from 'match-sorter'\nimport moment from 'moment'\nimport MaintenancesTable from '../../../components/Table/MaintenancesTable'\nimport MaintenanceEntitiesTable from '../../../components/Table/MaintenanceEntitiesTable'\nimport DropdownMultiple from '../../../components/DropdownMultiple'\nimport useErrorHandler from '../../../hooks/useErrorHandler'\n\nfunction convertDateToCompanyTZ (ts, tz = 'Europe/Bucharest') {\n\tconst date = moment(ts).format('YYYY-MM-DD HH:mm:ss.SSS')\n\treturn moment.tz(date, tz).valueOf()\n}\n\nexport default function ManagementMaintenanceList () {\n\tconst { t } = useTranslation(['common', 'maintenance', 'map'])\n\n\tconst typesOptions = [\n\t\t{ key: 'vehicle', text: t('maintenance:rule.scopes.vehicle'), value: 'vehicle' },\n\t\t{ key: 'machinery', text: t('maintenance:rule.scopes.machinery'), value: 'machinery' },\n\t\t{ key: 'user', text: t('maintenance:rule.scopes.user'), value: 'user' },\n\t]\n\n\tconst vehicleStatusOptions = [\n\t\t{ key: 'unreachable', text: t('map:vehicleList.statusFilter.status.vehicle.unreachable'), value: 'unreachable' },\n\t\t{ key: 'moving', text: t('map:vehicleList:statusFilter.status.vehicle.moving'), value: 'moving' },\n\t\t{ key: 'stopped', text: t('map:vehicleList:statusFilter.status.vehicle.stopped'), value: 'stopped' },\n\t\t{ key: 'powerOutage', text: t('map:vehicleList:statusFilter.status.vehicle.powerOutage'), value: 'powerOutage' },\n\t]\n\n\tuseErrorHandler()\n\n\tconst [selectedTypes, setSelectedTypes] = useState([])\n\tconst [selectedStatus, setSelectedStatus] = useState([])\n\n\t// State\n\tconst loading = useStoreState(state => state.loading)\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst users = useStoreState(state => state.users.items)\n\tconst maintenances = useStoreState(state => state.maintenances.items)\n\tconst maintenanceRules = useStoreState(state => state.maintenanceRules.items)\n\tconst timezone = useStoreState(state => state.session.timezone)\n\tconst [search, setSearch] = useState('')\n\tconst vehiclesAndUsers = useMemo(() => {\n\t\tconst theVehicles = vehicles.map(v => {\n\t\t\tv.asset = get(v, 'raw.licensePlate')\n\t\t\tv.assetType = ['tractor', 'harvester'].includes(v.raw.type) ? 'machinery' : 'vehicle'\n\t\t\treturn v\n\t\t})\n\t\tconst theUsers = users.map(u => {\n\t\t\tu.asset = get(u, 'name')\n\t\t\tu.assetType = 'user'\n\t\t\treturn u\n\t\t})\n\t\treturn theVehicles.concat(theUsers)\n\t}, [vehicles, users])\n\n\tconst data = useMemo(() => matchSorter(\n\t\tvehiclesAndUsers,\n\t\tsearch,\n\t\t{\n\t\t\tkeys: ['asset'],\n\t\t\tthreshold: rankings.CONTAINS\n\t\t})\n\t\t.filter(entity => {\n\t\t\tif (!selectedTypes.length) {\n\t\t\t\tif (!selectedStatus.length) {\n\t\t\t\t\tif (entity.assetType !== 'vehicle') return true\n\t\t\t\t\tif (entity.assetType === 'vehicle' && entity.hasLocation) return true\n\t\t\t\t}\n\t\t\t\tif (entity.assetType !== 'vehicle') return true\n\t\t\t\tif (entity.status === 'unreachable' && selectedStatus.includes('unreachable') && entity.hasLocation) return true\n\t\t\t\tif (entity.status === 'moving' && selectedStatus.includes('moving') && entity.hasLocation) return true\n\t\t\t\tif (entity.status === 'stopped' && selectedStatus.includes('stopped') && entity.hasLocation) return true\n\t\t\t\tif (entity.status === 'powerOutage' && selectedStatus.includes('powerOutage') && entity.hasLocation) return true\n\t\t\t}\n\t\t\tif (entity.assetType === 'user' && selectedTypes.includes('user')) return true\n\t\t\telse if (entity.assetType === 'vehicle' && selectedTypes.includes('vehicle')) {\n\t\t\t\tif (!selectedStatus.length) {\n\t\t\t\t\tif (entity.assetType === 'vehicle' && entity.hasLocation) return true\n\t\t\t\t}\n\t\t\t\tif (entity.status === 'unreachable' && selectedStatus.includes('unreachable') && entity.hasLocation) return true\n\t\t\t\tif (entity.status === 'moving' && selectedStatus.includes('moving') && entity.hasLocation) return true\n\t\t\t\tif (entity.status === 'stopped' && selectedStatus.includes('stopped') && entity.hasLocation) return true\n\t\t\t\tif (entity.status === 'powerOutage' && selectedStatus.includes('powerOutage') && entity.hasLocation) return true\n\t\t\t} else if (entity.assetType === 'machinery' && selectedTypes.includes('machinery')) return true\n\t\t\telse return false\n\t\t})\n\t\t.map(entity => {\n\t\t\tentity.maintenances = chain(maintenances)\n\t\t\t\t.filter(maintenance =>\n\t\t\t\t\tget(maintenance, 'raw.entityID') === get(entity, 'raw.id')\n\t\t\t\t)\n\t\t\t\t.sortBy('raw.date')\n\t\t\t\t.reverse()\n\t\t\t\t.value()\n\t\t\tentity.maintenanceRules = maintenanceRules.filter(maintenanceRule =>\n\t\t\t\t(\n\t\t\t\t\tmaintenanceRule.raw.entityIDs == null ||\n\t\t\t\t\tmaintenanceRule.raw.entityIDs.length === 0 ||\n\t\t\t\t\tmaintenanceRule.raw.entityIDs.includes(get(entity, 'raw.id'))\n\t\t\t\t) && entity.assetType === maintenanceRule.raw.scope\n\t\t\t)\n\n\t\t\tconst groupedMaintenances = chain(entity.maintenances).groupBy('raw.type').value()\n\t\t\tconst groupedMaintenanceRules = chain(entity.maintenanceRules).sortBy('raw.entityIDs.length').groupBy('raw.type').value()\n\n\t\t\tconst options = (entity.maintenanceRules || []).map(element => {\n\t\t\t\tconst type = get(element, 'raw.type')\n\t\t\t\tlet text = t(`maintenance:rule.types.${type}`) + ` (${get(element, 'raw.comments')})`\n\n\t\t\t\tif (type.startsWith('custom-')) {\n\t\t\t\t\ttext = get(element, 'raw.comments.length') ? get(element, 'raw.comments') : t(`maintenance:rule.types.${type}`)\n\t\t\t\t}\n\t\t\t\treturn { key: type, value: type, text }\n\t\t\t})\n\t\t\tentity.options = sortBy(options, 'text')\n\n\t\t\tentity.upcomingMaintenances = []\n\t\t\tfor (const type in groupedMaintenances) {\n\t\t\t\tconst maintenances = groupedMaintenances[type]\n\t\t\t\tconst rules = groupedMaintenanceRules[type] || []\n\t\t\t\tif (maintenances.length > 0 && rules.length > 0) {\n\t\t\t\t\tconst now = moment()\n\t\t\t\t\tconst hasSpecificRule = rules.some(rule => (rule.raw.entityIDs || []).includes(entity.raw.id))\n\t\t\t\t\tconst filteredRules = hasSpecificRule ? rules.filter(rule => get(rule, 'raw.entityIDs.length') > 0) : rules\n\n\t\t\t\t\tfilteredRules.forEach(rule => {\n\t\t\t\t\t\tconst target = parseInt(get(maintenances, '0.raw.value')) + parseInt(get(rule, 'raw.target.value'))\n\t\t\t\t\t\tconst targetTime = get(rule, 'raw.target.time')\n\t\t\t\t\t\tconst deadline = targetTime > 0 ? moment.tz(get(maintenances, '0.raw.date'), timezone).add(get(rule, 'raw.target.time'), 'M') : moment(null)\n\t\t\t\t\t\tconst alertTarget = target - parseInt(get(rule, 'raw.threshold.value'))\n\t\t\t\t\t\tconst alertDeadline = deadline.clone().subtract(get(rule, 'raw.threshold.time'), 'd')\n\t\t\t\t\t\tconst current = entity.assetType === 'vehicle' ? entity.odometer : entity.assetType === 'machinery' ? entity.workingTime : null\n\t\t\t\t\t\tlet status = 'upcoming'\n\t\t\t\t\t\tif ((alertTarget > 0 && current >= alertTarget && current <= target) ||\n\t\t\t\t\t\t\t(alertDeadline.isValid() && alertDeadline.isSameOrBefore(now) && deadline.isAfter(now))) {\n\t\t\t\t\t\t\tstatus = 'alert'\n\t\t\t\t\t\t} else if ((target > 0 && current > target) || (deadline.isValid() && deadline.isBefore(now))) {\n\t\t\t\t\t\t\tstatus = 'overdue'\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst upcomingMaintenance = {\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\tcurrent,\n\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\tdeadline: deadline.isValid() ? deadline.toDate() : null,\n\t\t\t\t\t\t\tremaining: {\n\t\t\t\t\t\t\t\ttarget: (target > 0 && current >= 0) ? parseInt(target - current) : null,\n\t\t\t\t\t\t\t\tdeadline: deadline.isValid() ? moment().diff(deadline, 'd') : null,\n\t\t\t\t\t\t\t\tdeadlineText: deadline.isValid() ? moment().to(deadline) : '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talert: {\n\t\t\t\t\t\t\t\ttarget: alertTarget,\n\t\t\t\t\t\t\t\tdeadline: alertDeadline.isValid() ? alertDeadline.toDate() : null,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tstatus,\n\t\t\t\t\t\t\tdisplayText: '',\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupcomingMaintenance.importance = (upcomingMaintenance.remaining.target != null ? 1 : 0) + (upcomingMaintenance.remaining.deadline != null ? 1 : 0)\n\t\t\t\t\t\tif (upcomingMaintenance.remaining.target > 0) {\n\t\t\t\t\t\t\tupcomingMaintenance.displayText += t('maintenance:maintenances.card.remaining-value', { value: upcomingMaintenance.remaining.target, context: entity.assetType })\n\t\t\t\t\t\t\tif (upcomingMaintenance.remaining.deadlineText.length > 0) { upcomingMaintenance.displayText += ' | ' }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupcomingMaintenance.displayText += upcomingMaintenance.remaining.deadlineText\n\n\t\t\t\t\t\tentity.upcomingMaintenances.push(upcomingMaintenance)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst statusOrder = ['overdue', 'alert', 'upcoming']\n\t\t\tentity.upcomingMaintenances = orderBy(entity.upcomingMaintenances, [\n\t\t\t\tmaintenance => statusOrder.indexOf(maintenance.status),\n\t\t\t\t'importance',\n\t\t\t\t'remaining.deadline',\n\t\t\t\t'remaining.target'\n\t\t\t], ['asc', 'desc', 'desc', 'asc'])\n\t\t\tentity.upcomingMaintenancesCount = countBy(entity.upcomingMaintenances, 'status')\n\n\t\t\treturn entity\n\t\t}), [vehiclesAndUsers, maintenances, maintenanceRules, selectedTypes, selectedStatus, search])\n\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\tconst reloadDevices = useStoreActions(actions => actions.devices.reload)\n\tconst reloadMaintenances = useStoreActions(actions => actions.maintenances.reload)\n\tconst reloadMaintenanceRules = useStoreActions(actions => actions.maintenanceRules.reload)\n\tconst createMaintenance = useStoreActions(actions => actions.maintenances.addItem)\n\tconst updateMaintenance = useStoreActions(actions => actions.maintenances.update)\n\tconst removeMaintenance = useStoreActions(actions => actions.maintenances.remove)\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\n\t// Callbacks\n\tconst addMaintenance = useCallback(entity => {\n\t\tcreateMaintenance({ scope: get(entity, 'assetType'), entityID: get(entity, 'raw.id') })\n\t})\n\tconst saveMaintenance = (edited, old, finishEditing) => {\n\t\tconst newItem = Object.assign({}, old)\n\t\tif (get(edited, 'raw.date')) {\n\t\t\tconst companyData = convertDateToCompanyTZ(get(edited, 'raw.date'), timezone)\n\t\t\tset(edited, 'raw.date', companyData)\n\t\t}\n\n\t\tforIn(edited, (value, key) => set(newItem, key, value))\n\t\tupdateMaintenance({\n\t\t\tnewItem: newItem.raw,\n\t\t\toldItem: old\n\t\t})\n\t\tfinishEditing()\n\t}\n\tconst deleteMaintenance = (row) => {\n\t\tremoveMaintenance(row)\n\t}\n\tconst renderMaintenanceTable = ({ row }) => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Card className='panel inverted' fluid>\n\t\t\t\t\t<h4>{t('maintenance:maintenances.upcoming')}</h4>\n\t\t\t\t\t<Card.Group className='relaxed'>\n\t\t\t\t\t\t{row.original.upcomingMaintenances.map((upcomingMaintenance, index) => (\n\t\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<Card\n\t\t\t\t\t\t\t\t\t\tclassName='inverted'\n\t\t\t\t\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\t\t\t\t\tupcomingMaintenance.status === 'overdue' ? 'red'\n\t\t\t\t\t\t\t\t\t\t\t\t: upcomingMaintenance.status === 'alert' ? 'yellow'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'gray'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Card.Header>{truncate(find(row.original.options, ['key', upcomingMaintenance.type]).text, { length: 28 })}</Card.Header>\n\t\t\t\t\t\t\t\t\t\t<Card.Meta>\n\t\t\t\t\t\t\t\t\t\t\t{upcomingMaintenance.displayText}\n\t\t\t\t\t\t\t\t\t\t</Card.Meta>\n\t\t\t\t\t\t\t\t\t</Card>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ton='hover'\n\t\t\t\t\t\t\t\tinverted\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{upcomingMaintenance.deadline != null\n\t\t\t\t\t\t\t\t\t? <>{t('maintenance:maintenances.card.deadline', { date: moment.tz(upcomingMaintenance.deadline, timezone).format('DD/MM/YYYY') })}<br /></>\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t{upcomingMaintenance.target > 0\n\t\t\t\t\t\t\t\t\t? <>{t('maintenance:maintenances.card.target-value', { value: upcomingMaintenance.target, context: row.original.assetType })}<br /></>\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t{upcomingMaintenance.current >= 0\n\t\t\t\t\t\t\t\t\t? <>{t('maintenance:maintenances.card.value', { value: upcomingMaintenance.current, context: row.original.assetType })}<br /></>\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t</Popup>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Card.Group>\n\t\t\t\t</Card>\n\t\t\t\t<Card className='panel inverted' fluid>\n\t\t\t\t\t<h4>{t('maintenance:maintenances.history')}</h4>\n\t\t\t\t\t<MaintenancesTable\n\t\t\t\t\t\tscope={row.original.assetType}\n\t\t\t\t\t\tclassName='relaxed transparent sticky'\n\t\t\t\t\t\tentity={row.original}\n\t\t\t\t\t\tdata={get(row, 'original.maintenances')}\n\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\toptions={row.original.options}\n\t\t\t\t\t\ttimezone={timezone}\n\t\t\t\t\t\tonAdd={addMaintenance}\n\t\t\t\t\t\tonSave={saveMaintenance}\n\t\t\t\t\t\tonRemove={deleteMaintenance}\n\t\t\t\t\t/>\n\t\t\t\t</Card>\n\t\t\t</>\n\t\t)\n\t}\n\n\t// Load data\n\tuseEffect(() => {\n\t\treloadSession()\n\t\treloadDevices().then(() => reloadVehicles())\n\t\treloadUsers()\n\t\treloadMaintenances()\n\t\treloadMaintenanceRules()\n\t}, [])\n\n\treturn (\n\t\t<>\n\t\t\t<div className='maintenances-page'>\n\t\t\t\t<div className='maintenances-filters'>\n\t\t\t\t\t<Input\n\t\t\t\t\t\ticon={search.length > 0 ? <Icon name='remove' link onClick={() => setSearch('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\tplaceholder={t('maintenance:filter.search.placeholder')}\n\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\tonChange={e => setSearch(e.target.value)}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t\t<DropdownMultiple\n\t\t\t\t\t\toptions={typesOptions}\n\t\t\t\t\t\tvalue={selectedTypes}\n\t\t\t\t\t\tonChange={arr => setSelectedTypes(arr)}\n\t\t\t\t\t\tplaceholder={t('maintenance:maintenances.table.header.type')}\n\t\t\t\t\t\tfluid multiple selection\n\t\t\t\t\t/>\n\t\t\t\t\t<DropdownMultiple\n\t\t\t\t\t\toptions={vehicleStatusOptions}\n\t\t\t\t\t\tvalue={selectedStatus}\n\t\t\t\t\t\tonChange={arr => setSelectedStatus(arr)}\n\t\t\t\t\t\tplaceholder={t('map:vehicleList.statusFilter.placeholder')}\n\t\t\t\t\t\tfluid multiple selection\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className='maintenances-content'>\n\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t<Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<MaintenanceEntitiesTable\n\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\trenderRowSubComponent={renderMaintenanceTable}\n\t\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n","import React, { useMemo, useEffect, useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Tab, Button, Loader } from 'semantic-ui-react'\nimport { forIn, set, clone, get } from 'lodash'\nimport MaintenanceRulesTable from '../../../components/Table/MaintenanceRulesTable'\nimport useErrorHandler from '../../../hooks/useErrorHandler'\n\nexport default function ManagementMaintenanceRules () {\n\tconst { t } = useTranslation(['common', 'maintenance'])\n\n\tuseErrorHandler()\n\n\t// State\n\tconst loading = useStoreState(state => state.loading)\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst users = useStoreState(state => state.users.items)\n\tconst maintenanceRules = useStoreState(state => state.maintenanceRules.items)\n\tconst companySettings = useStoreState(state => state.session.companySettings)\n\tconst [scope, setScope] = useState('vehicle')\n\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\tconst reloadGroups = useStoreActions(actions => actions.groups.reload)\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\tconst reloadMaintenanceRules = useStoreActions(actions => actions.maintenanceRules.reload)\n\tconst createMaintenanceRule = useStoreActions(actions => actions.maintenanceRules.addItem)\n\tconst updateMaintenanceRule = useStoreActions(actions => actions.maintenanceRules.update)\n\tconst removeMaintenanceRule = useStoreActions(actions => actions.maintenanceRules.remove)\n\n\t// Callbacks\n\tconst saveRule = (edited, old, finishEditing) => {\n\t\tconst newItem = clone(old)\n\t\tforIn(edited, (value, key) => set(newItem, key, value))\n\t\tupdateMaintenanceRule({\n\t\t\tnewItem: newItem.raw,\n\t\t\toldItem: old\n\t\t})\n\t\tfinishEditing()\n\t}\n\tconst deleteRule = (row) => {\n\t\tremoveMaintenanceRule(row)\n\t}\n\tconst changeScope = (e, data) => {\n\t\tsetScope(data.panes[data.activeIndex].scope)\n\t}\n\tconst onAddButtonClick = useCallback(() => {\n\t\tconst defaultEmail = get(companySettings, 'emailList.maintenance-notification.0')\n\n\t\tcreateMaintenanceRule({\n\t\t\tscope,\n\t\t\ttype: scope === 'user' ? 'vehicle-licence' : 'oil-change',\n\t\t\tsettings: {\n\t\t\t\temails: [\n\t\t\t\t\t...(defaultEmail != null ? [defaultEmail] : []),\n\t\t\t\t]\n\t\t\t}\n\t\t})\n\t}, [scope, companySettings])\n\n\tconst panes = useMemo(() => [\n\t\t{\n\t\t\tscope: 'vehicle',\n\t\t\tmenuItem: t('maintenance:rule.scopes.vehicle', { count: 10 }),\n\t\t\trender: () =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<MaintenanceRulesTable\n\t\t\t\t\t\tscope='vehicle'\n\t\t\t\t\t\tdata={maintenanceRules.filter(rule => rule.raw.scope === scope)}\n\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={deleteRule}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>,\n\t\t},\n\t\t{\n\t\t\tscope: 'machinery',\n\t\t\tmenuItem: t('maintenance:rule.scopes.machinery', { count: 10 }),\n\t\t\trender: () =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<MaintenanceRulesTable\n\t\t\t\t\t\tscope='machinery'\n\t\t\t\t\t\tdata={maintenanceRules.filter(rule => rule.raw.scope === scope)}\n\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={deleteRule}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>,\n\t\t},\n\t\t{\n\t\t\tscope: 'user',\n\t\t\tmenuItem: t('maintenance:rule.scopes.user', { count: 10 }),\n\t\t\trender: () =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<MaintenanceRulesTable\n\t\t\t\t\t\tscope='user'\n\t\t\t\t\t\tdata={maintenanceRules.filter(rule => rule.raw.scope === scope)}\n\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={deleteRule}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>,\n\t\t},\n\t], [maintenanceRules, vehicles, scope])\n\n\t// Load data\n\tuseEffect(() => {\n\t\treloadSession()\n\t\treloadGroups()\n\t\treloadVehicles()\n\t\treloadUsers()\n\t\treloadMaintenanceRules()\n\t}, [])\n\n\treturn (\n\t\t<>\n\t\t\t<div className='page-rules'>\n\t\t\t\t<div className='filters'>\n\t\t\t\t\t<div />\n\t\t\t\t\t<Button content={t('maintenance:rules.actions.add')} onClick={onAddButtonClick} className='add' />\n\t\t\t\t</div>\n\t\t\t\t<div className='content'>\n\t\t\t\t\t{loading\n\t\t\t\t\t\t? <Loader className='tracknamic' content={t('loading')} inline='centered' size='medium' active />\n\t\t\t\t\t\t: <Tab size='big' menu={{ secondary: true, pointing: true }} panes={panes} onTabChange={changeScope} />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n","import React, { useEffect, useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport toast from 'react-hot-toast'\nimport { map, find } from 'lodash'\nimport { Input, Icon, Popup, Button } from 'semantic-ui-react'\n\nimport copyToClipboard from 'tracknamic-smb/utils/copy-clipboard'\nimport ModalTemporaryLink from '../../components/ModalTemporaryLink'\nimport RTable from '../../components/RTable'\n\nconst ManagementTemporaryLinks = () => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\n\tconst data = useStoreState(state => state.temporaryLinks.items)\n\tconst init = useStoreActions(actions => actions.temporaryLinks.init)\n\tconst remove = useStoreActions(actions => actions.temporaryLinks.remove)\n\n\tconst [globalFilter, setGlobalFilter] = useState()\n\n\tconst [editing, setEditing] = useState()\n\tconst [isRemoving, setIsRemoving] = useState()\n\n\tconst parsed = useMemo(() => {\n\t\tif (!data?.length || !vehicles?.length) return []\n\t\tconst host = window?.location?.origin\n\t\treturn map(data, r => {\n\t\t\t// vehicles license plates\n\t\t\tconst vehiclesLPs = map(r?.vehicleIDs, id => find(vehicles, v => v?.raw?.id === id)?.raw?.licensePlate).join(', ')\n\t\t\tconst validUntil = r?.expiredAt ? moment(r?.expiredAt)?.format('DD/MM/YYYY HH:mm') : null\n\t\t\tconst link = `${host}/map-shared?${r?.id}`\n\t\t\treturn { ...r, vehicles: vehiclesLPs, validUntil, link }\n\t\t})\n\t}, [data, vehicles])\n\n\tconst columns = useMemo(() => vehicles?.length ? [{\n\t\taccessorKey: 'name',\n\t\theader: t('name'),\n\t}, {\n\t\taccessorKey: 'vehicles',\n\t\theader: t('vehicles'),\n\t}, {\n\t\taccessorKey: 'validUntil',\n\t\theader: t('validUntil'),\n\t}, {\n\t\taccessorKey: 'link',\n\t\theader: t('temporary-link.label'),\n\t\tminSize: 500,\n\t\tcell: ({ row }) => {\n\t\t\tconst r = row?.original\n\t\t\treturn (\n\t\t\t\t<a href={r?.link} target='_blank' rel='noreferrer'>\n\t\t\t\t\t{r?.link}\n\t\t\t\t</a>\n\t\t\t)\n\t\t}\n\t}, {\n\t\taccessorKey: 'actions',\n\t\theader: '',\n\t\tenableColumnFilter: false,\n\t\tenableSorting: false,\n\t\tcell: ({ cell, row }) => {\n\t\t\tconst r = row?.original\n\t\t\treturn (\n\t\t\t\t<div style={{ display: 'flex' }}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname='copy outline pointer'\n\t\t\t\t\t\ttitle={t('copy')}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\ttoast.success(t('temporary-link.copied'))\n\t\t\t\t\t\t\tcopyToClipboard(r?.link)\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<Icon name='edit pointer' onClick={() => setEditing(r)} />\n\t\t\t\t\t<Popup\n\t\t\t\t\t\ttrigger={<div onClick={() => setIsRemoving(r?.id)}><Icon name='trash pointer' /></div>}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{t('delete')}\n\t\t\t\t\t\t\t\t<Button onClick={() => remove(r)}>{t('yes')}</Button>\n\t\t\t\t\t\t\t\t<Button onClick={() => setIsRemoving()}>{t('no')}</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton='click'\n\t\t\t\t\t\tposition='top right'\n\t\t\t\t\t\topen={isRemoving === r?.id}\n\t\t\t\t\t\tinverted\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)\n\t\t}\n\t}] : [], [vehicles, isRemoving, t])\n\n\tuseEffect(() => {\n\t\tinit()\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n\treturn (\n\t\t<div style={{ fontSize: '0.7em', display: 'grid', gridTemplateRows: 'auto 1fr', padding: '1em' }}>\n\t\t\t<div className='filters dc-grid' style={{ gridTemplateColumn: '1fr auto' }}>\n\t\t\t\t<Input\n\t\t\t\t\tvalue={globalFilter}\n\t\t\t\t\tonChange={e => setGlobalFilter(e?.target?.value)}\n\t\t\t\t\tplaceholder='Search...'\n\t\t\t\t\ticon='search'\n\t\t\t\t\tstyle={{ gridColumn: 'span 3' }}\n\t\t\t\t/>\n\t\t\t\t<div className='doc-button green icon' onClick={() => setEditing({})}>\n\t\t\t\t\t<span><i className='plus icon' /> Add</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t{/* TODO global filter */}\n\t\t\t\t<RTable\n\t\t\t\t\tcolumns={columns}\n\t\t\t\t\tdata={parsed}\n\t\t\t\t\tstate={{\n\t\t\t\t\t\tglobalFilter, // pass our managed globalFilter state to the table\n\t\t\t\t\t}}\n\t\t\t\t\tonGlobalFilterChange={setGlobalFilter}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{editing ? <ModalTemporaryLink record={editing} hide={() => setEditing(null)} /> : null}\n\t\t</div>\n\t)\n}\n\nexport default ManagementTemporaryLinks\n","import React, { useState, useMemo } from 'react'\nimport { useStoreState } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { filter, forEach, get, isNumber, map, reduce, set } from 'lodash'\nimport { Icon } from 'semantic-ui-react'\n\nimport { formatDuration, DURATION_FORMAT_DDHHMM } from 'tracknamic-smb/react/utils/date'\nimport { getDistanceTooltip } from 'tracknamic-smb/react/utils/routes'\nimport Spinner from 'tracknamic-smb/react/components/Spinner'\n\n// import ModalTollSections from '@/components/modals/ModalTollSections'\n\nconst hardcodedStyle = {\n\tposition: 'absolute',\n\ttop: '0.5em',\n\tleft: '0.5em',\n\twidth: '0.25em',\n\theight: '80%',\n\tbackgroundColor: 'gray',\n}\n\nconst getTotals = (legs, emptyQuote, loadedQuote, includeTolls) => reduce(legs, (totals, leg) => {\n\tconst distance = get(leg, 'distance', 0)\n\tconst total = {\n\t\tdistance: totals.distance + distance,\n\t\tduration: totals.duration + get(leg, 'duration', 0),\n\t\tcost: totals.cost + get(leg, 'cost.total', 0),\n\t\ttollSections: [...get(totals, 'tollSections', []), ...get(leg, 'cost.sections', [])],\n\t\tcountries: {},\n\t\temptyQuote: totals.emptyQuote,\n\t\tloadedQuote: totals.loadedQuote,\n\t}\n\tconst isEmpty = ['dislocation', 'endDislocation'].includes(get(leg, 'type'))\n\tif (isEmpty) {\n\t\tset(total, 'emptyQuote', total.emptyQuote + ((emptyQuote || 0) * distance))\n\t} else {\n\t\tset(total, 'loadedQuote', total.loadedQuote + ((loadedQuote || 0) * distance))\n\t}\n\tlet totalQuote = total.emptyQuote + total.loadedQuote\n\tif (includeTolls) {\n\t\tconst totalQuoteArr = []\n\t\ttotalQuoteArr.push(`Quote: ${totalQuote?.toFixed(0)}€`)\n\t\ttotalQuoteArr.push(`Toll: ${total.cost ? total.cost.toFixed(0) : '-'}€`)\n\t\tset(total, 'totalQuoteTooltip', totalQuoteArr.join('\\n'))\n\n\t\ttotalQuote = totalQuote + total.cost\n\t}\n\tset(total, 'totalQuote', totalQuote)\n\n\tif (leg?.cost?.countries) {\n\t\tfor (const [country, cost] of Object.entries(leg?.cost?.countries)) {\n\t\t\ttotal.countries[country] = (totals.countries[country] || 0) + cost\n\t\t}\n\t}\n\treturn total\n}, { distance: 0, duration: 0, cost: 0, tollSections: [], countries: {}, emptyQuote: 0, loadedQuote: 0 })\n\nconst Details = () => {\n\tconst { t } = useTranslation()\n\n\tconst { loading, legs, emptyQuote, loadedQuote, includeTolls } = useStoreState(state => state.fastQuote)\n\n\tconst [expanded, setExpanded] = useState(false)\n\n\tconst totals = useMemo(() => getTotals(legs, emptyQuote, loadedQuote, includeTolls), [legs, emptyQuote, loadedQuote, includeTolls])\n\n\tconst distanceTooltip = useMemo(() => getDistanceTooltip(legs), [legs])\n\n\tconst parsedLegs = useMemo(() => {\n\t\tconst splittedLegs = []\n\t\tforEach(legs, leg => {\n\t\t\tconst shouldSplitRoutes = filter(leg?.routes, route => ['ferry', 'train'].includes(route?.type))\n\t\t\tif (!shouldSplitRoutes?.length) {\n\t\t\t\tsplittedLegs.push(leg)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst routes = shouldSplitRoutes.map(r => {\n\t\t\t\tconst route = {\n\t\t\t\t\tid: r?.id,\n\t\t\t\t\tcolor: r?.color,\n\t\t\t\t\tdistance: parseInt(get(r, 'details.distance', 0) / 1000),\n\t\t\t\t\tduration: r?.details?.travelTime,\n\t\t\t\t\tcost: r?.details?.toll?.summary?.costs?.[0]?.amount,\n\t\t\t\t\twaypointID: r?.waypointID,\n\t\t\t\t}\n\t\t\t\treturn route\n\t\t\t})\n\n\t\t\tforEach(routes, i => splittedLegs.push(i))\n\n\t\t\t// remove diff distance, duration, cost from total leg\n\t\t\tconst totalRoutesDetails = getTotals(routes)\n\n\t\t\tconst legDiff = {\n\t\t\t\tid: leg.id,\n\t\t\t\tcolor: leg.color,\n\t\t\t\tcountries: leg.countries,\n\t\t\t\tdistance: leg.distance - totalRoutesDetails?.distance,\n\t\t\t\tduration: leg.duration - totalRoutesDetails?.duration,\n\t\t\t}\n\n\t\t\tsplittedLegs.push(legDiff)\n\t\t})\n\t\treturn map(splittedLegs, i => ({ ...i, distanceTooltip: getDistanceTooltip([i]) }))\n\t}, [legs])\n\n\treturn (\n\t\t<div className='route-details'>\n\t\t\t<div className='button-collapse pointer' onClick={() => setExpanded(!expanded)}>\n\t\t\t\tStatistici cursa {expanded ? <Icon name='angle down' /> : <Icon name='angle up' />}\n\t\t\t</div>\n\t\t\t<div className='row totals'>\n\t\t\t\t<div className='card distance status gray'>\n\t\t\t\t\t<div className='value' title={distanceTooltip}>\n\t\t\t\t\t\t{loading ? <Spinner /> : totals?.distance ? totals?.distance?.toFixed(0) : '-'}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\tDistance (km)\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='card duration'>\n\t\t\t\t\t<div className='value'>\n\t\t\t\t\t\t{loading ? <Spinner /> : formatDuration(true, totals?.duration, 's', DURATION_FORMAT_DDHHMM)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\tDuration\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='card'>\n\t\t\t\t\t<div className='value' title={Object.entries(totals.countries).map(([country, cost]) => `${country}: ${cost.toFixed(2)}€`).join('\\n')}>\n\t\t\t\t\t\t{loading ? <Spinner /> : totals?.cost?.toFixed(2)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\tToll\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='row totals'>\n\t\t\t\t<div className='card distance status yellow'>\n\t\t\t\t\t<div className='value'>\n\t\t\t\t\t\t{loading ? <Spinner /> : totals?.emptyQuote ? `${totals?.emptyQuote?.toFixed(2)} €` : '-'}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\t{t('empty')}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='card duration'>\n\t\t\t\t\t<div className='value'>\n\t\t\t\t\t\t{loading ? <Spinner /> : totals?.loadedQuote ? `${totals?.loadedQuote?.toFixed(2)} €` : '-'}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\t{t('loaded')}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='card' title={totals?.totalQuoteTooltip}>\n\t\t\t\t\t<div className='value'>\n\t\t\t\t\t\t{loading ? <Spinner /> : totals?.totalQuote ? `${totals?.totalQuote?.toFixed(2)} €` : '-'}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\t{t('quote.final')}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{expanded && parsedLegs?.length ? (\n\t\t\t\tparsedLegs.map(leg => (\n\t\t\t\t\t<div className='row' key={leg?.id}>\n\t\t\t\t\t\t<div className='card distance status'>\n\t\t\t\t\t\t\t<div className='line-absolute' style={{ ...hardcodedStyle, backgroundColor: leg?.color }} />\n\t\t\t\t\t\t\t<div className='value' title={leg?.distanceTooltip}>\n\t\t\t\t\t\t\t\t{loading ? '-' : leg?.distance ? leg?.distance?.toFixed(0) : '-'}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\t\t\tDistance (km)\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className='card duration'>\n\t\t\t\t\t\t\t<div className='value'>\n\t\t\t\t\t\t\t\t{loading ? '-' : formatDuration(true, leg?.duration, 's', DURATION_FORMAT_DDHHMM)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\t\t\tDuration\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className='card'>\n\t\t\t\t\t\t\t<div className='value' title={leg?.cost?.countries && Object.entries(leg.cost.countries).map(([country, cost]) => `${country}: ${cost.toFixed(2)}€`).join('\\n')}>\n\t\t\t\t\t\t\t\t{loading ? '-' : isNumber(leg?.cost?.total) ? leg?.cost?.total?.toFixed(2) : (leg?.cost?.toFixed(2) || 0)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='description'>\n\t\t\t\t\t\t\t\tToll\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t))\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n\nDetails.propTypes = {}\n\nexport default Details\n","import PropTypes from 'prop-types'\nimport React, { useRef, useEffect, useState, useMemo } from 'react'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { filter, forEach, map, reduce } from 'lodash'\nimport * as turf from '@turf/turf'\nimport GoogleMapReact from 'google-map-react'\nimport { BsShield, BsShieldSlash } from 'react-icons/bs'\n\nimport { getRoadNumbers, getViolated } from 'tracknamic-smb/react/utils/routes'\nimport { WAYPOINTS_TYPES } from 'tracknamic-smb/react/utils/locations'\nimport Spinner from 'tracknamic-smb/react/components/Spinner'\nimport MarkerStationary from 'tracknamic-smb/react/components/Map/MarkerStationary'\nimport MenuLocation from 'tracknamic-smb/react/components/Map/MenuLocation'\nimport MarkerWaypoint from 'tracknamic-smb/react/components/markers/MarkerWaypoint'\nimport MarkerRoadShield from 'tracknamic-smb/react/components/markers/RoadShield'\n\nimport SettingsFastQuote from './SettingsFastQuote'\nimport SettingsPTV from './SettingsPTV'\n\nconst Map = ({ mapLocationPicker, handleLocationSelectFromMap }) => {\n\tconst refPolylines = useRef()\n\tconst refWeight = useRef(4)\n\n\tconst { t } = useTranslation()\n\n\tconst googleAPIKey = useStoreState(state => state.global.googleAPIKey)\n\tconst userLocale = useStoreState(state => state.session.locale)\n\n\tconst waypoints = useStoreState(state => state.fastQuote.waypointsWithDurations)\n\tconst routes = useStoreState(state => state.fastQuote.routes)\n\n\tconst addWp = useStoreActions(actions => actions.fastQuote.addWp)\n\tconst setWaypoints = useStoreActions(actions => actions.fastQuote.setWaypoints)\n\tconst setRoutes = useStoreActions(actions => actions.fastQuote.setRoutes)\n\tconst setPtvProfile = useStoreActions(actions => actions.fastQuote.setPtvProfile)\n\n\tconst createTemporaryLocation = useStoreActions(actions => actions.fastQuote.createTemporaryFromPTV)\n\tconst createTemporaryFromPTV = useStoreActions(actions => actions.fastQuote.createTemporaryFromPTV)\n\n\tconst getPTVLocation = useStoreActions(actions => actions.ptv.getPTVLocation)\n\n\tconst [mapGoogle, setMapGoogle] = useState()\n\tconst [mapsAPI, setMapsAPI] = useState()\n\tconst [menuLocation, setMenuLocation] = useState()\n\tconst [roadMarkers, setRoadMarkers] = useState([])\n\tconst [violatedMarkers, setViolatedMarkers] = useState([])\n\n\tconst urlGoogleMapKeys = useMemo(() => {\n\t\tif (!googleAPIKey || !userLocale) return null\n\t\treturn {\n\t\t\tkey: googleAPIKey,\n\t\t\tlanguage: userLocale,\n\t\t\tregion: userLocale,\n\t\t}\n\t}, [googleAPIKey, userLocale])\n\n\tconst hasDislocation = useMemo(() => !!waypoints.find(i => i.purpose === 'dislocation'), [waypoints])\n\n\tconst togglePolylinesWeight = () => {\n\t\tif (!refPolylines.current?.length) return\n\t\tconst weight = refWeight.current === 4 ? 10 : 4\n\t\trefWeight.current = weight\n\n\t\tforEach(refPolylines?.current, i => {\n\t\t\ti.setOptions({ strokeWeight: weight })\n\t\t})\n\t}\n\n\t// draw route on map\n\tuseEffect(() => {\n\t\tif (!mapsAPI || !mapGoogle) { return }\n\n\t\tif (refPolylines?.current?.length) {\n\t\t\tforEach(refPolylines.current, i => i.setMap(null))\n\t\t}\n\n\t\tif (!routes?.length) {\n\t\t\tsetRoadMarkers([])\n\t\t\tsetViolatedMarkers([])\n\t\t\treturn\n\t\t}\n\n\t\tconst createPolyline = (route, isViolation) => {\n\t\t\tconst path = isViolation ? route : map(route?.details?.polyline?.plain?.polyline, i => ({ lat: i.y, lng: i.x })).filter(i => i?.lat && i.lng)\n\t\t\tif (!path.length) return null\n\t\t\tconst poly = new mapsAPI.Polyline({\n\t\t\t\tpath,\n\t\t\t\tgeodesic: true,\n\t\t\t\tstrokeColor: isViolation ? 'darkred' : route?.color,\n\t\t\t\tstrokeOpacity: 1.0,\n\t\t\t\tzIndex: isViolation ? 3 : 2,\n\t\t\t\tstrokeWeight: isViolation ? 10 : refWeight.current,\n\t\t\t})\n\n\t\t\tif (isViolation) return poly\n\n\t\t\tpoly.addListener('click', togglePolylinesWeight)\n\t\t\treturn poly\n\t\t}\n\n\t\tconst mapPolylines = routes.map(i => createPolyline(i)).filter(i => i)\n\t\tmapPolylines.forEach(i => i.setMap(mapGoogle))\n\n\t\t// #region violations\n\t\tconst violated = filter(map(routes, i => getViolated(i, t)))\n\t\tconst { r = [], m = [] } = reduce(violated, ({ r, m }, i) => ({ r: [...r, ...i.r], m: [...m, ...i.m] }), { r: [], m: [] })\n\t\tconst violatedPolylines = filter(map(r, i => createPolyline(i, true)))\n\t\tviolatedPolylines.forEach(i => i.setMap(mapGoogle))\n\t\tsetViolatedMarkers(m)\n\t\t// #endregion\n\n\t\trefPolylines.current = [...mapPolylines, ...violatedPolylines]\n\t}, [mapsAPI, mapGoogle, routes]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst filteredWaypoints = useMemo(() => (\n\t\tfilter(waypoints, i => (i?.latlng?.lat && i?.latlng?.lng))\n\t\t\t.map(i => ({\n\t\t\t\t...i,\n\t\t\t\tname: i.location.name,\n\t\t\t\ttype: i.purpose || 'load',\n\t\t\t}))\n\t), [waypoints])\n\n\tuseEffect(() => {\n\t\tif (!filteredWaypoints?.length || !mapGoogle) return\n\t\tif (filteredWaypoints?.length === 1) {\n\t\t\tmapGoogle.setCenter(filteredWaypoints[0].latlng)\n\t\t\treturn\n\t\t}\n\t\tconst bounds = new window.google.maps.LatLngBounds()\n\t\tforEach(filteredWaypoints, i => {\n\t\t\tconst latLng = {\n\t\t\t\tlat: Number(i.latlng.lat),\n\t\t\t\tlng: Number(i.latlng.lng),\n\t\t\t}\n\t\t\tbounds.extend(latLng)\n\t\t})\n\t\tmapGoogle.fitBounds(bounds)\n\t}, [filteredWaypoints, mapGoogle])\n\n\tconst handleRightClick = async e => {\n\t\tconst latlng = e?.latLng?.toJSON()\n\t\tsetMenuLocation(null)\n\t\tsetTimeout(() => {\n\t\t\tsetMenuLocation(latlng)\n\t\t}, 0)\n\t}\n\n\tconst handleClick = async e => {\n\t\tsetMenuLocation(null)\n\t\tconst latlng = { lat: e.lat, lng: e.lng }\n\t\tif (mapLocationPicker) {\n\t\t\tconst ptvLocation = await getPTVLocation(latlng)\n\t\t\tconst location = await createTemporaryFromPTV(ptvLocation)\n\t\t\thandleLocationSelectFromMap(location)\n\t\t}\n\t}\n\n\tconst handleDrag = () => {\n\t\tif (menuLocation) setMenuLocation(null)\n\t}\n\n\tconst handleAddViaPoint = async (latlng, type) => {\n\t\tconst { lat, lng } = latlng || {}\n\t\tif (!lat || !lng) return\n\t\tsetMenuLocation(null)\n\t\tlet index = type === 'start' ? 0 : type === 'end' && waypoints.length ? waypoints.length - 1 : 0\n\n\t\tif (type === 'start') {\n\t\t\tindex = waypoints.find(i => i.purpose === 'dislocation') ? 1 : 0\n\t\t} else if (filteredWaypoints?.length >= 2 && type !== 'end') {\n\t\t\tconst parsed = turf.lineString(filteredWaypoints.map(i => [i?.latlng?.lng, i?.latlng?.lat]))\n\t\t\tconst point = turf.point([lng, lat])\n\t\t\tconst result = turf.nearestPointOnLine(parsed, point)\n\t\t\tindex = result?.properties?.index\n\t\t\tif (index === waypoints.length - 1 && type !== 'end') {\n\t\t\t\tindex = index - 1\n\t\t\t}\n\t\t}\n\n\t\tconst translation = WAYPOINTS_TYPES(t)?.find(i => i?.value === type)?.label\n\t\tconst location = await createTemporaryLocation({ lat, lng, type, translation })\n\t\taddWp({ index, location, type })\n\t}\n\n\tconst handleReroute = params => {\n\t\tconst { ptvProfile } = params || {}\n\t\tif (ptvProfile) setPtvProfile(ptvProfile)\n\t\tsetRoutes([])\n\t\tsetWaypoints([...waypoints])\n\t}\n\n\tconst handleShowRoadNumbers = () => {\n\t\tif (roadMarkers?.length) {\n\t\t\tsetRoadMarkers(null)\n\t\t\treturn\n\t\t}\n\t\tconst routesRoadNumbers = filter(map(routes, getRoadNumbers))\n\t\tconst roadShields = reduce(routesRoadNumbers, (ac, i) => ([...ac, ...i]), [])\n\t\tsetRoadMarkers(roadShields)\n\t}\n\n\tconst onGoogleAPILoaded = ({ map, maps }) => {\n\t\tsetMapGoogle(map)\n\t\tsetMapsAPI(maps)\n\t}\n\n\tif (!urlGoogleMapKeys) return <Spinner size='huge' />\n\n\treturn (\n\t\t<div className={`map${mapLocationPicker ? ' click-mode' : ''}`} style={{ position: 'relative' }}>\n\t\t\t<SettingsPTV />\n\t\t\t<div\n\t\t\t\tclassName='map-button'\n\t\t\t\tstyle={{ position: 'absolute', top: '60px', right: '10px' }}\n\t\t\t\ttitle={t(roadMarkers?.length ? 'roadShield.hide' : 'roadShield.show')}\n\t\t\t\tonClick={() => handleShowRoadNumbers()}\n\t\t\t>\n\t\t\t\t{roadMarkers?.length ? <BsShieldSlash /> : <BsShield />}\n\t\t\t</div>\n\t\t\t<SettingsFastQuote />\n\n\t\t\t<GoogleMapReact\n\t\t\t\tclassName='ember-google-map'\n\t\t\t\tbootstrapURLKeys={urlGoogleMapKeys}\n\t\t\t\tdefaultCenter={{ lat: 45, lng: 25 }}\n\t\t\t\tdefaultZoom={5}\n\t\t\t\toptions={{\n\t\t\t\t\tstreetViewControl: true\n\t\t\t\t}}\n\t\t\t\tyesIWantToUseGoogleMapApiInternals\n\t\t\t\tonGoogleApiLoaded={onGoogleAPILoaded}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tonDrag={handleDrag}\n\t\t\t\tonContextMenu={handleRightClick}\n\t\t\t\treroute={handleReroute}\n\t\t\t\tshowPTVProfile\n\t\t\t>\n\t\t\t\t{filteredWaypoints.map((i, idx) => (\n\t\t\t\t\t<MarkerWaypoint\n\t\t\t\t\t\tkey={i.id}\n\t\t\t\t\t\tidx={idx}\n\t\t\t\t\t\tlat={i.latlng.lat}\n\t\t\t\t\t\tlng={i.latlng.lng}\n\t\t\t\t\t\ttitle={i.name}\n\t\t\t\t\t\twaypoint={i}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{map(violatedMarkers, (i, idx) => (\n\t\t\t\t\t<MarkerStationary\n\t\t\t\t\t\ttext={i?.txt}\n\t\t\t\t\t\tkey={i.id}\n\t\t\t\t\t\tlat={i.lat}\n\t\t\t\t\t\tlng={i.lng}\n\t\t\t\t\t\ttype='via max-weight small'\n\t\t\t\t\t\ttitle={i.reasons}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{map(roadMarkers, (i, idx) => (\n\t\t\t\t\t<MarkerRoadShield\n\t\t\t\t\t\tkey={i.id}\n\t\t\t\t\t\tlat={i?.latlng?.lat}\n\t\t\t\t\t\tlng={i?.latlng?.lng}\n\t\t\t\t\t\tnumber={i?.number}\n\t\t\t\t\t\ttitle={i.popup}\n\t\t\t\t\t\t// type='via max-weight small'\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{menuLocation ? (\n\t\t\t\t\t<MarkerStationary\n\t\t\t\t\t\ttype='via-new'\n\t\t\t\t\t\tsize='tiny'\n\t\t\t\t\t\tlat={menuLocation.lat}\n\t\t\t\t\t\tlng={menuLocation.lng}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{menuLocation ? (\n\t\t\t\t\t<MenuLocation\n\t\t\t\t\t\tlat={menuLocation.lat}\n\t\t\t\t\t\tlng={menuLocation.lng}\n\t\t\t\t\t\tlatlng={menuLocation}\n\t\t\t\t\t\thasDislocation={hasDislocation}\n\t\t\t\t\t\thideSplit\n\t\t\t\t\t\taddViaPoint={type => handleAddViaPoint(menuLocation, type)}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</GoogleMapReact>\n\t\t</div>\n\t)\n}\n\nMap.propTypes = {\n\tmapLocationPicker: PropTypes.object,\n\thandleLocationSelectFromMap: PropTypes.func,\n}\n\nexport default Map\n","import PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { useDebounce } from 'ahooks'\nimport { get, set, toUpper, trim } from 'lodash'\n\nimport { Search } from 'semantic-ui-react'\nimport { stopPropagation } from 'tracknamic-smb/react/utils/dom'\n\nconst getType = prefix => {\n\tif (!prefix) return 'via'\n\tif (prefix === 'D') return 'dislocation'\n\tif (prefix === 'L') return 'loading'\n\tif (prefix === 'U') return 'unloading'\n}\n\nconst SearchBar = ({ onSelect }) => {\n\tconst refInput = useRef()\n\n\tconst getPTVLocations = useStoreActions(actions => actions.ptv.getPTVLocations)\n\n\tconst [loadingSuggestions, setLoadingSuggestions] = useState()\n\tconst [value, setValue] = useState()\n\tconst [params, setParams] = useState({})\n\tconst [options, setOptions] = useState([])\n\tconst [prefix, setPrefix] = useState()\n\n\tconst obj = useDebounce(params, { wait: 500 })\n\n\tuseEffect(() => {\n\t\tif (refInput?.current) refInput.current.focus()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!location) {\n\t\t\tsetValue(null)\n\t\t\tsetParams(null)\n\t\t\treturn\n\t\t}\n\t\tconst loc = get(location, 'name')\n\t\tif (!loc) return\n\n\t\tsetValue(loc)\n\t\tset(params, 'country', location?.country)\n\t}, [location]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\thandleParamChange('text', value)\n\t}, [value]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\tif (obj?.text?.length < 3) return\n\t\tsetLoadingSuggestions(true)\n\t\tgetPTVLocations(obj).then(res => { setOptions(res) }).finally(() => setLoadingSuggestions(false))\n\t}, [getPTVLocations, obj])\n\n\tconst onKeyDown = e => {\n\t\tif (e?.keyCode === 9 || e?.keyCode === 32) { // 9 = Tab, 32 = Space\n\t\t\tconst val = toUpper(trim(value))\n\t\t\tconst validPrefixes = ['D', 'L', 'U'] //  D = Dislocation, L = Load, U = Unload\n\t\t\tif (prefix || !validPrefixes.includes(val)) return\n\t\t\tstopPropagation(e)\n\t\t\tsetPrefix(val)\n\t\t\tsetValue(null)\n\t\t\tsetTimeout(() => refInput?.current?.focus(), 0)\n\t\t} else if (e?.keyCode === 8) { // 8 = Backspace\n\t\t\tif (!value) {\n\t\t\t\tsetPrefix(null)\n\t\t\t\tstopPropagation(e)\n\t\t\t\tsetTimeout(() => refInput?.current?.focus(), 0)\n\t\t\t}\n\t\t} else if (e?.keyCode === 13) { // 13 = Enter\n\t\t\tif (!loadingSuggestions && options?.length === 1) {\n\t\t\t\thandleSelect(null, { result: options[0] })\n\t\t\t}\n\t\t}\n\t}\n\n\tconst handleParamChange = (prop, val) => {\n\t\tif (prop === 'text') {\n\t\t\tif (!val) {\n\t\t\t\treturn handleClear()\n\t\t\t}\n\t\t\tsetValue(val)\n\t\t}\n\t\tconst p = { ...params }\n\t\tset(p, prop, val)\n\t\tsetParams(p)\n\t}\n\n\tconst handleSelect = (_, obj) => {\n\t\tconst item = obj?.result\n\t\tif (item?.address?.country) set(params, 'country', item?.address?.country)\n\t\tonSelect(item, getType(prefix))\n\t\tif (prefix) { // next prefix\n\t\t\tif (prefix === 'D') setPrefix('L')\n\t\t\tif (prefix === 'L') setPrefix('U')\n\t\t\tif (prefix === 'U') setPrefix('L')\n\t\t}\n\t\thandleClear()\n\t}\n\n\tconst handleClear = () => {\n\t\tsetValue(null)\n\t\tset(params, 'country', null)\n\t\tset(params, 'text', null)\n\t\tsetOptions([])\n\t}\n\n\treturn (\n\t\t<Search\n\t\t\tvalue={value || ''}\n\t\t\tresults={options}\n\t\t\tloading={loadingSuggestions}\n\t\t\tplaceholder='Search...'\n\t\t\tstyle={{ width: '100%' }}\n\t\t\tonResultSelect={handleSelect}\n\t\t\tonSearchChange={(e, data) => setValue(data.value)}\n\t\t\topen={options?.length && value?.length > 3}\n\t\t\tinput={{\n\t\t\t\tlabel: prefix,\n\t\t\t\tlabelPosition: 'left',\n\t\t\t\tstyle: { width: '100%' },\n\t\t\t\tonKeyDown: onKeyDown,\n\t\t\t\tref: refInput\n\t\t\t}}\n\t\t/>\n\t)\n}\n\nSearchBar.propTypes = {\n\tonSelect: PropTypes.func,\n}\n\nexport default SearchBar\n","import React from 'react'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\nimport { useToggle } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport { Checkbox, Input } from 'semantic-ui-react'\n\nimport { AiFillEuroCircle, AiOutlineEuroCircle } from 'react-icons/ai'\n\nconst style = {\n\tposition: 'absolute',\n\ttop: '50px',\n\tright: '0px',\n\tbackground: 'black',\n\tzIndex: 100,\n\tpadding: '1em',\n\twidth: '180px',\n\tborder: '1px solid white',\n\tborderRadius: '3px',\n}\n\nconst SettingsFastQuote = () => {\n\tconst { t } = useTranslation()\n\n\tconst { emptyQuote, loadedQuote, includeTolls } = useStoreState(state => state.fastQuote)\n\tconst updateSetting = useStoreActions(action => action.fastQuote.updateSetting)\n\n\tconst [expanded, { toggle: toggleExpand }] = useToggle()\n\n\treturn (\n\t\t<div style={{ position: 'absolute', top: '110px', right: '10px', zIndex: 1 }}>\n\t\t\t<div className='map-button' title='Fast Quote Settings' style={{ fontSize: '25px' }} onClick={() => toggleExpand()}>\n\t\t\t\t{expanded ? <AiFillEuroCircle /> : <AiOutlineEuroCircle />}\n\t\t\t</div>\n\t\t\t<div className='dc-grid' style={expanded ? style : { display: 'none' }}>\n\t\t\t\t<div className='dc-grid no-gap'>\n\t\t\t\t\t<label>{t('quote.emptyPerKm')}</label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={emptyQuote}\n\t\t\t\t\t\tonChange={(e, d) => updateSetting({ key: 'emptyQuote', value: d?.value })}\n\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tlabel='€'\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className='dc-grid no-gap'>\n\t\t\t\t\t<label>{t('quote.loadedPerKm')}</label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={loadedQuote}\n\t\t\t\t\t\tonChange={(e, d) => updateSetting({ key: 'loadedQuote', value: d?.value })}\n\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tlabel='€'\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Checkbox\n\t\t\t\t\tchecked={includeTolls}\n\t\t\t\t\tonChange={(e, d) => updateSetting({ key: 'includeTolls', value: d?.checked })}\n\t\t\t\t\tlabel='+ Tolls'\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default SettingsFastQuote\n","import React from 'react'\n// import PropTypes from 'prop-types'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\nimport { Checkbox, Button } from 'semantic-ui-react'\nimport { FaBan } from 'react-icons/fa'\n\nimport Vehicle from './Vehicle'\n\nconst Details = () => {\n\tconst { t } = useTranslation()\n\n\tconst ptvProfile = useStoreState(state => state.fastQuote.ptvProfile)\n\tconst updatePtvProfile = useStoreActions(actions => actions.fastQuote.updatePtvProfile)\n\tconst handleSave = useStoreActions(actions => actions.fastQuote.handleSave)\n\n\treturn (\n\t\t<div className='details dc-grid'>\n\t\t\t<Vehicle />\n\t\t\t<div className='item' onClick={() => updatePtvProfile(['requestProfile.featureLayerProfile.themes.0.enabled', !get(ptvProfile, 'requestProfile.featureLayerProfile.themes.0.enabled')])}>\n\t\t\t\t<Checkbox checked={get(ptvProfile, 'requestProfile.featureLayerProfile.themes.0.enabled')} />\n\t\t\t\tUSE PTV TRUCK ATTRIBUTES\n\t\t\t\t<i className='dc-icon in-em tt-assembly' style={{ fontSize: '24px' }} />\n\t\t\t</div>\n\t\t\t<div className='item' onClick={() => updatePtvProfile(['requestProfile.featureLayerProfile.themes.1.enabled', !get(ptvProfile, 'requestProfile.featureLayerProfile.themes.1.enabled')])}>\n\t\t\t\t<Checkbox checked={get(ptvProfile, 'requestProfile.featureLayerProfile.themes.1.enabled')} />\n\t\t\t\tUSE PTV RESTRICTION ZONES\n\t\t\t\t<FaBan />\n\t\t\t</div>\n\t\t\t<div className='item' onClick={() => updatePtvProfile(['requestProfile.vehicleProfile.legalCondition.isDelivery', !get(ptvProfile, 'requestProfile.vehicleProfile.legalCondition.isDelivery')])}>\n\t\t\t\t<Checkbox checked={get(ptvProfile, 'requestProfile.vehicleProfile.legalCondition.isDelivery')} />\n\t\t\t\t{t('delivery').toUpperCase()}\n\t\t\t</div>\n\t\t\t<div style={{ display: 'flex', justifyContent: 'flex-end' }}>\n\t\t\t\t<Button size='tiny' color='yellow' onClick={handleSave}>{t('save')}</Button>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nDetails.propTypes = {\n}\n\nexport default Details\n","import React from 'react'\n// import PropTypes from 'prop-types'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\n\nimport { Dropdown, Input } from 'semantic-ui-react'\n\nimport { EMISSION_STANDARDS, EMISSION_TECHNOLOGIES, NUMBER_OF_AXLES, STORED_PROFILES } from 'tracknamic-smb/react/utils/fastQuote'\n\nconst Vehicle = props => {\n\tconst { t } = useTranslation()\n\n\tconst ptvProfile = useStoreState(state => state.fastQuote.ptvProfile)\n\tconst updatePtvProfile = useStoreActions(actions => actions.fastQuote.updatePtvProfile)\n\n\treturn (\n\t\t<>\n\t\t\t<div className='dc-grid column-flow equal fullWidth'>\n\t\t\t\t<span className='fullWidth'>\n\t\t\t\t\t<label>{t('emissionStandard.label')}</label>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\toptions={EMISSION_STANDARDS(t)}\n\t\t\t\t\t\tvalue={get(ptvProfile, 'requestProfile.vehicleProfile.engine.emissionStandardEU')}\n\t\t\t\t\t\tonChange={(e, d) => updatePtvProfile(['requestProfile.vehicleProfile.engine.emissionStandardEU', d?.value])}\n\t\t\t\t\t\tselection\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className='fullWidth'>\n\t\t\t\t\t<label>{t('vehicle.weight.totalPermittedWeight')}</label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={get(ptvProfile, 'requestProfile.vehicleProfile.weight.totalPermittedWeight')}\n\t\t\t\t\t\tonChange={(e, d) => updatePtvProfile(['requestProfile.vehicleProfile.weight.totalPermittedWeight', d?.value])}\n\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tlabel='kg'\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className='fullWidth'>\n\t\t\t\t\t<label>{t('vehicle.axle.numberOfAxles')}</label>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\toptions={NUMBER_OF_AXLES}\n\t\t\t\t\t\tvalue={get(ptvProfile, 'requestProfile.vehicleProfile.axle.numberOfAxles')}\n\t\t\t\t\t\tonChange={(e, d) => updatePtvProfile(['requestProfile.vehicleProfile.axle.numberOfAxles', d?.value])}\n\t\t\t\t\t\tselection\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div className='dc-grid column-flow equal fullWidth'>\n\t\t\t\t<span className='fullWidth'>\n\t\t\t\t\t<label>{t('vehicle.dimensions.length')}</label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={get(ptvProfile, 'requestProfile.vehicleProfile.dimensions.length')}\n\t\t\t\t\t\tonChange={(e, d) => updatePtvProfile(['requestProfile.vehicleProfile.dimensions.length', d?.value])}\n\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tstep={10}\n\t\t\t\t\t\tlabel='cm'\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className='fullWidth'>\n\t\t\t\t\t<label>{t('vehicle.dimensions.width')}</label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={get(ptvProfile, 'requestProfile.vehicleProfile.dimensions.width')}\n\t\t\t\t\t\tonChange={(e, d) => updatePtvProfile(['requestProfile.vehicleProfile.dimensions.width', d?.value])}\n\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tstep={10}\n\t\t\t\t\t\tlabel='cm'\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className='fullWidth'>\n\t\t\t\t\t<label>{t('vehicle.dimensions.height')}</label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={get(ptvProfile, 'requestProfile.vehicleProfile.dimensions.height')}\n\t\t\t\t\t\tonChange={(e, d) => updatePtvProfile(['requestProfile.vehicleProfile.dimensions.height', d?.value])}\n\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tlabel='cm'\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div className='dc-grid fullWidth' style={{ gridTemplateColumns: '1fr 1fr 1fr' }}>\n\t\t\t\t<span className='fullWidth' style={{ gridColumn: 'span 2' }}>\n\t\t\t\t\t<label>{t('emissionReductionTechnology.label')}</label>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\toptions={EMISSION_TECHNOLOGIES(t)}\n\t\t\t\t\t\tvalue={get(ptvProfile, 'requestProfile.vehicleProfile.engine.emissionTechnology')}\n\t\t\t\t\t\tonChange={(e, d) => updatePtvProfile(['requestProfile.vehicleProfile.engine.emissionTechnology', d?.value])}\n\t\t\t\t\t\tselection\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className='fullWidth'>\n\t\t\t\t\t<label>{t('storedProfile')}</label>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\toptions={STORED_PROFILES}\n\t\t\t\t\t\tvalue={get(ptvProfile, 'storedProfile')}\n\t\t\t\t\t\tonChange={(e, d) => updatePtvProfile(['storedProfile', d?.value])}\n\t\t\t\t\t\tselection\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nVehicle.propTypes = {}\n\nexport default Vehicle\n","// import PropTypes from 'prop-types'\nimport React, { useMemo } from 'react'\nimport { useStoreState } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { useToggle } from 'ahooks'\n// import { flatten, unflatten } from 'flat'\nimport { get } from 'lodash'\n\nimport { FaCaretDown, FaCaretUp } from 'react-icons/fa'\n\n// import { getStrongerPtvProfile } from '@/helpers/tours'\n\n// import Vehicle from './Vehicle'\nimport Details from './Details'\n\nconst SettingsPTV = () => {\n\t// const refDefaultProfile = useRef()\n\tconst { t } = useTranslation()\n\n\tconst ptvProfile = useStoreState(state => state.fastQuote.ptvProfile)\n\n\tconst usePTVTruckAttributes = useMemo(() => get(ptvProfile, 'requestProfile.featureLayerProfile.themes.0.enabled'), [ptvProfile])\n\n\tconst [expanded, { toggle: toggleExpand }] = useToggle()\n\n\treturn (\n\t\t<div className='settings-ptv'>\n\t\t\t<div\n\t\t\t\tclassName='dc-flex gap-5px center pointer item-profile'\n\t\t\t\ttitle={t('ptv.ptvProfile')}\n\t\t\t\tonClick={() => toggleExpand()}\n\t\t\t>\n\t\t\t\t{expanded ? <FaCaretUp /> : <FaCaretDown />}\n\t\t\t\t{usePTVTruckAttributes ? <i className='dc-icon in-em tt-assembly' style={{ fontSize: '24px' }} /> : undefined}\n\t\t\t\t{t('ptv.ptvProfile')}\n\t\t\t</div>\n\t\t\t{expanded ? <Details /> : null}\n\t\t</div>\n\t)\n}\n\nSettingsPTV.propTypes = {\n}\n\nexport default SettingsPTV\n","import React, { useEffect } from 'react'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\n\nimport Waypoints from 'tracknamic-smb/react/components/Waypoints'\nimport Details from './Details'\nimport Search from './Search'\nimport Map from './Map'\n\nconst FastQuote = () => {\n\tconst waypoints = useStoreState(state => state.fastQuote.waypointsWithDurations)\n\tconst loading = useStoreState(state => state.fastQuote.loading)\n\n\tconst init = useStoreActions(actions => actions.fastQuote.init)\n\tconst reset = useStoreActions(actions => actions.fastQuote.reset)\n\tconst setWaypoints = useStoreActions(actions => actions.fastQuote.setWaypoints)\n\tconst addWp = useStoreActions(actions => actions.fastQuote.addWp)\n\tconst updateWp = useStoreActions(actions => actions.fastQuote.updateWp)\n\tconst removeWpIdx = useStoreActions(actions => actions.fastQuote.removeWpIdx)\n\tconst createTemporaryFromPTV = useStoreActions(actions => actions.fastQuote.createTemporaryFromPTV)\n\n\tuseEffect(() => {\n\t\tconst vehicleID = window?.location?.pathname?.split('/')?.pop()\n\t\tinit(vehicleID)\n\t\treturn () => {\n\t\t\treset()\n\t\t}\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst handleAddWp = async (item, type) => {\n\t\tconst location = await createTemporaryFromPTV(item)\n\t\taddWp({ location, type })\n\t}\n\n\treturn (\n\t\t<div className='fast-quote'>\n\t\t\t<div className='left-side' style={{ gridTemplateRows: 'auto 1fr auto' }}>\n\t\t\t\t<Search onSelect={handleAddWp} />\n\t\t\t\t<Waypoints\n\t\t\t\t\twaypoints={waypoints}\n\t\t\t\t\tsetWaypoints={setWaypoints}\n\t\t\t\t\tupdateWp={updateWp}\n\t\t\t\t\tremoveWpIdx={removeWpIdx}\n\t\t\t\t\tallowRemoveAll={!loading}\n\t\t\t\t\tdisabledDragDrop={loading}\n\t\t\t\t\tdisabledRemove={loading}\n\t\t\t\t\tskipUpdateApiFL\n\t\t\t\t/>\n\t\t\t\t<Details />\n\t\t\t</div>\n\t\t\t<div className='right-side'>\n\t\t\t\t<Map />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nFastQuote.propTypes = {}\n\nexport default FastQuote\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\nimport { find, get, map, toUpper } from 'lodash'\nimport GoogleMapReact from 'google-map-react'\nimport { Loader } from 'semantic-ui-react'\n\nimport { getStatusColor } from 'tracknamic-smb/react/utils/mapVehiclePopup'\nimport useAsyncInterval from 'tracknamic-smb/react/hooks/useAsyncInterval'\nimport MarkerMedium from 'tracknamic-smb/react/components/Map/MarkerMedium'\nimport VehiclePopup from 'tracknamic-smb/react/components/Map/SharedVehiclePopup'\n\nconst styleHack = {\n\tposition: 'absolute',\n\twidth: '100vw',\n\theight: '100vh',\n\ttop: '0px',\n\tleft: '0px',\n\tbackground: 'gray',\n}\n\nconst MapShared = () => {\n\tconst assetsPath = useStoreState(state => state.global.assetsPath)\n\tconst googleAPIKey = useStoreState(state => state.global.googleAPIKey)\n\n\tconst user = useStoreState(state => state.session.user)\n\n\tconst isExpired = useStoreState(state => state.temporaryLinks.isExpired)\n\tconst vehicles = useStoreState(state => state.temporaryLinks.vehicles)\n\tconst getVehicles = useStoreActions(actions => actions.temporaryLinks.getVehicles)\n\n\tconst [urlGoogleMapKeys, setUrlGoogleMapKeys] = useState()\n\tconst [id, setID] = useState()\n\tconst [selectedVehicleID, setSelectedVehicleID] = useState()\n\n\tconst selectedVehicle = useMemo(() => selectedVehicleID && find(vehicles, i => i.id === selectedVehicleID), [vehicles, selectedVehicleID])\n\n\tuseEffect(() => {\n\t\tconst id = window?.location?.search?.split('?')?.pop()\n\t\tgetVehicles(id)\n\t\tsetID(id)\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseAsyncInterval(() => id && !isExpired ? getVehicles(id) : null, 10000)\n\n\tuseEffect(() => {\n\t\tif (!googleAPIKey) return\n\t\tsetUrlGoogleMapKeys({\n\t\t\tkey: googleAPIKey,\n\t\t\tlanguage: 'en',\n\t\t\tregion: 'en',\n\t\t})\n\t}, [googleAPIKey])\n\n\tif (!urlGoogleMapKeys) return <Loader className='tracknamic' inline='centered' size='medium' active />\n\n\treturn (\n\t\t<div style={{ height: '100%' }}>\n\t\t\t{isExpired ? (\n\t\t\t\t<>\n\t\t\t\t\t<div style={styleHack} />\n\t\t\t\t\t<div className='ui active dimmer' id='account-disabled'>\n\t\t\t\t\t\t<div className='ui centered grid'>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<img src={`${assetsPath}/images/header-logo.png`} alt='Tracknamic' className='loading logo' />\n\t\t\t\t\t\t\t\t<div className='ui big active centered inline text account-disabled'>\n\t\t\t\t\t\t\t\t\t<h1>Accesul a expirat.</h1>\n\t\t\t\t\t\t\t\t\t<h1>Your access has expired.</h1>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{!user && <h3 className='back-to-login'><a href={`${window?.location?.origin}/login`}>Login</a></h3>}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<GoogleMapReact\n\t\t\t\t\tclassName='ember-google-map'\n\t\t\t\t\tbootstrapURLKeys={urlGoogleMapKeys}\n\t\t\t\t\tdefaultCenter={{ lat: 45, lng: 25 }}\n\t\t\t\t\tdefaultZoom={5}\n\t\t\t\t\toptions={{\n\t\t\t\t\t\tstreetViewControl: true\n\t\t\t\t\t}}\n\t\t\t\t\tyesIWantToUseGoogleMapApiInternals\n\t\t\t\t>\n\t\t\t\t\t{map(vehicles, vehicle => (\n\t\t\t\t\t\t<MarkerMedium\n\t\t\t\t\t\t\tkey={get(vehicle, 'id')}\n\t\t\t\t\t\t\tlat={get(vehicle, 'lat')}\n\t\t\t\t\t\t\tlng={get(vehicle, 'lng')}\n\t\t\t\t\t\t\tbearing={get(vehicle, 'status.bearing')}\n\t\t\t\t\t\t\tisStopped={get(vehicle, 'status') === 'stopped'}\n\t\t\t\t\t\t\ttext={toUpper(get(vehicle, 'licensePlate'))}\n\t\t\t\t\t\t\tcolor={getStatusColor(vehicle?.state)}\n\t\t\t\t\t\t\tassetsPath={assetsPath}\n\t\t\t\t\t\t\tonLeftClick={() => setSelectedVehicleID(vehicle?.id)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{selectedVehicle && (\n\t\t\t\t\t\t<VehiclePopup\n\t\t\t\t\t\t\tlat={get(selectedVehicle, 'lat')}\n\t\t\t\t\t\t\tlng={get(selectedVehicle, 'lng')}\n\t\t\t\t\t\t\tvehicle={selectedVehicle}\n\t\t\t\t\t\t\tclosePopup={() => setSelectedVehicleID(null)}\n\t\t\t\t\t\t\tmarkerSize='medium'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</GoogleMapReact>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nMapShared.propTypes = {}\n\nexport default MapShared\n","import React, { useState, useEffect, useCallback } from 'react'\nimport { useLocalStore, useStoreState, useStoreActions, action, thunk, computed } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\nimport { get, isFinite, split, last, find } from 'lodash'\nimport { useBoolean } from 'ahooks'\nimport useAsyncInterval from '../../hooks/useAsyncInterval'\nimport GoogleMapReact from 'google-map-react'\nimport { Loader } from 'semantic-ui-react'\nimport useMapControl from '../../hooks/useMapControl'\nimport useGeofence from '../../hooks/useGeofence'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport VehicleList from '../../components/VehicleList'\nimport UserMarker from '../../components/Map/UserMarker'\nimport MarkerStationary from '../../components/Map/MarkerStationary'\nimport VehiclePopup from '../../components/Map/VehiclePopup'\nimport MapSettingsControl from '../../components/Map/Settings/Control'\nimport MapSettingsWindow from '../../components/Map/Settings/Window'\nimport api from '../../services/api'\n\n/**\n * function to calculate if the geofence shape should be shown or not\n * @param {string} visiblility ['always', 'never', 'zoom-9', 'zoom-12', 'zoom-15']\n * @param {number} zoom nr of zoom\n */\nfunction isValidGeofenceVisibility (visiblility, zoom = 0) {\n\tif (visiblility === 'always') return true\n\tif (visiblility === 'never') return false\n\tif (!zoom) return true\n\tconst arr = split(visiblility, '-')\n\tif (!arr || arr.length !== 2) return true\n\tconst validVisibility = Number(last(arr))\n\treturn validVisibility <= zoom\n}\n\nconst store = {\n\tcurrentUser: null,\n\tvehicles: [],\n\tusers: [],\n\troute: null,\n\tfirstLoadVehicles: false,\n\tstationaryPoints: [],\n\tfilteredVehicles: [],\n\tvehiclesWithLocation: computed(\n\t\t[state => state.vehicles],\n\t\tvehicles => vehicles.filter(vehicle => vehicle.hasLocation)\n\t),\n\tgeofences: [],\n\tloading: true,\n\tpopupDirection: ['center', 'bottom'],\n\tdragging: false,\n\tshowGeofenceShape: false,\n\tpopupActiveTabIndex: 0,\n\n\t// Map\n\tbounds: [0, 0, 0, 0],\n\tinitialBounds: computed(state =>\n\t\tstate.bounds[0] === 0 &&\n\t\tstate.bounds[1] === 0 &&\n\t\tstate.bounds[2] === 0 &&\n\t\tstate.bounds[3] === 0\n\t),\n\tselectedVehicle: null,\n\tvisibleVehicles: computed(\n\t\t[\n\t\t\tstate => state.vehicles,\n\t\t\tstate => state.filteredVehicles,\n\t\t\tstate => state.bounds,\n\t\t],\n\t\t(vehicles, filteredVehicles, bounds) => vehicles.filter(vehicle =>\n\t\t\tvehicle.lat <= bounds[0] &&\n\t\t\tvehicle.lat >= bounds[2] &&\n\t\t\tvehicle.lng <= bounds[3] &&\n\t\t\tvehicle.lng >= bounds[1] &&\n\t\t\tfilteredVehicles.find(v => v.raw.id === vehicle.raw.id)\n\t\t)\n\t),\n\tshowTraffic: false,\n\tlayers: computed(state => {\n\t\tconst layers = []\n\t\tif (state.showTraffic) { layers.push('TrafficLayer') }\n\t\treturn layers\n\t}),\n\n\t/** Google map instance */\n\tmap: null,\n\tmapZoom: null,\n\t/** Reference to the Google Maps API */\n\tgoogleMapsAPI: null,\n\t/** Marker size */\n\tsetSelectedVehicle: action((state, vehicle) => {\n\t\tif (state.dragging) return\n\t\tif (get(state.selectedVehicle, 'raw.id') === get(vehicle, 'raw.id')) {\n\t\t\tstate.selectedVehicle = null\n\t\t} else {\n\t\t\tstate.selectedVehicle = vehicle\n\t\t}\n\t}),\n\tupdateSelectedVehicle: action((state) => {\n\t\tif (!state.selectedVehicle) return\n\t\tconst updatedVeh = find(state.vehiclesWithLocation, ['raw.id', get(state.selectedVehicle, 'raw.id')])\n\t\tif (!updatedVeh) return\n\t\tstate.selectedVehicle = updatedVeh\n\t}),\n\tsetMapZoom: action((state, mapZoom) => {\n\t\tif (state.mapZoom === mapZoom) return\n\t\tstate.mapZoom = mapZoom\n\t}),\n\tsetFirstLoadVehicles: action((state, firstLoadVehicles) => { state.firstLoadVehicles = firstLoadVehicles }),\n\tsetPopupDirection: action((state, popupDirection) => { state.popupDirection = popupDirection }),\n\tsetPopupActiveTabIndex: action((state, v) => { state.popupActiveTabIndex = v }),\n\tsetLoading: action((state, loading) => { state.loading = loading }),\n\tsetDragging: action((state, value) => { state.dragging = value }),\n\ttoggleShowGeofenceShape: action((state, value) => { state.showGeofenceShape = value }),\n\tsetShowTraffic: action((state, showTraffic) => { state.showTraffic = showTraffic }),\n\tsetBounds: action((state, bounds) => { state.bounds = bounds }),\n\tsetMap: action((state, map) => { state.map = map }),\n\tsetGoogleMapsAPI: action((state, googleMapsAPI) => { state.googleMapsAPI = googleMapsAPI }),\n\tsetCurrentUser: action((state, user) => { state.currentUser = user }),\n\tsetUsers: action((state, users) => { state.users = users }),\n\tsetVehicles: action((state, vehicles) => { state.vehicles = vehicles }),\n\tsetFilteredVehicles: action((state, vehicles) => { state.filteredVehicles = vehicles }),\n\tsetGeofences: action((state, geofences) => { state.geofences = geofences }),\n\tsetRoute: action((state, obj) => {\n\t\tif (!obj || !obj.vehicleID || !obj.routes) {\n\t\t\tstate.route = null\n\t\t\treturn\n\t\t}\n\t\tif (!state.map || !state.googleMapsAPI || !obj.routes.length) return\n\n\t\tif (state.route) {\n\t\t\tstate.route.setMap(null)\n\t\t\tif (state.route.vehicleID === obj.vehicleID) {\n\t\t\t\tstate.route = null\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tlet points = []\n\t\tlet stationaryPoints = []\n\t\tconst routes = obj.routes.sortBy('start.time')\n\t\troutes.filter(r => { return r.type === 'moving' || r.type === null }).forEach(route => {\n\t\t\tconst coordinates = route.points.simplified.map(x => { return { lat: x.gps.coordinates[1], lng: x.gps.coordinates[0] } })\n\t\t\tpoints = points.concat(coordinates)\n\t\t})\n\t\troutes.filter(r => { return r.type === 'stationary' }).forEach(route => {\n\t\t\tconst stationaryRoute = { id: route.id, lat: route.points.simplified[0].gps.coordinates[1], lng: route.points.simplified[0].gps.coordinates[0] }\n\t\t\tstationaryPoints = stationaryPoints.concat(stationaryRoute)\n\t\t})\n\n\t\tconst geodesicPolyline = new state.googleMapsAPI.Polyline({\n\t\t\tstrokeColor: '#606062',\n\t\t\tstrokeWeight: 10,\n\t\t\tvehicleID: obj.vehicleID,\n\t\t\tpath: points,\n\t\t})\n\n\t\tgeodesicPolyline.setMap(state.map)\n\t\tstate.route = geodesicPolyline\n\t\tstate.stationaryPoints = stationaryPoints\n\t}),\n\tgetRoute: thunk(async (actions, params) => {\n\t\tif (!params.hoursBack) return []\n\t\tconst startDate = moment().subtract(params.hoursBack, 'hours').valueOf()\n\t\tconst query = {\n\t\t\t'$where[vehicle_id]': params.vehicleID,\n\t\t\t'$where[>=][start_time]': startDate,\n\t\t\t'$where[<=][start_time]': moment().valueOf(), // endDate will always be now\n\t\t}\n\n\t\tconst route = await api.get('routes', query)\n\t\tif (!route || !route.route) return\n\t\tactions.setRoute({ vehicleID: params.vehicleID, routes: route.route })\n\t}),\n}\n\nexport default function MapIndex () {\n\tconst { t } = useTranslation(['common', 'map'])\n\tconst [state, actions] = useLocalStore(() => store)\n\n\tuseErrorHandler()\n\n\tconst integrations = useStoreState(state => state.integrations.items)\n\tconst getIntegrations = useStoreActions(actions => actions.integrations.reload)\n\tconst sharedIntegrations = useStoreState(state => state.sharedIntegrations.items)\n\tconst getSharedIntegrations = useStoreActions(actions => actions.sharedIntegrations.reload)\n\tconst googleAPIKey = useStoreState(state => state.global.googleAPIKey)\n\tconst [urlGoogleMapKeys, setUrlGoogleMapKeys] = useState(null)\n\tconst assetsPath = useStoreState(state => state.global.assetsPath)\n\tconst loading = useStoreState(state => state.loading)\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst devices = useStoreState(state => state.devices.vehiclesIDs)\n\tconst users = useStoreState(state => state.users.items)\n\tconst temporaryAlerts = useStoreState(state => state.temporaryAlerts.items)\n\tconst geofences = useStoreState(state => state.geofences.items)\n\tconst groups = useStoreState(state => state.groups.items)\n\tconst currentUser = useStoreState(state => state.session.user)\n\tconst hasTachoModule = useStoreState(state => state.session.hasTachoModule)\n\tconst userLocale = useStoreState(state => state.session.locale)\n\tconst userTimezone = useStoreState(state => state.session.timezone)\n\tconst hasMapRoutesAccess = useStoreState(state => state.session.hasMapRoutesAccess)\n\tconst hasMapEtaAccess = useStoreState(state => state.session.hasMapEtaAccess)\n\tconst hasMapEtaPTVAccess = useStoreState(state => state.session.hasMapEtaPTVAccess)\n\tconst hasFreezerModule = useStoreState(state => state.session.hasFreezerModule)\n\tconst hasSensorDoorModule = useStoreState(state => state.session.hasSensorDoorModule)\n\tconst hasTaxiModule = useStoreState(state => state.session.hasTaxiModule)\n\tconst userType = useStoreState(state => state.session.userType)\n\tconst mapStatusFilters = useStoreState(state => state.session.mapStatusFilters)\n\tconst mapVehiclesTypeFilter = useStoreState(state => state.session.mapVehiclesTypeFilter)\n\tconst mapGroupsFilter = useStoreState(state => state.session.mapGroupsFilter)\n\tconst mapDispatchersFilter = useStoreState(state => state.session.mapDispatchersFilter)\n\tconst mapMarkerSize = useStoreState(state => state.session.mapMarkerSize)\n\tconst mapMarkerText = useStoreState(state => state.session.mapMarkerText)\n\tconst mapMarkerBigTopText = useStoreState(state => state.session.mapMarkerBigTopText)\n\tconst mapMarkerBigBottomText = useStoreState(state => state.session.mapMarkerBigBottomText)\n\tconst mapHistoryInterval = useStoreState(state => state.session.mapHistoryInterval)\n\tconst mapGeofenceShapeVisibility = useStoreState(state => state.session.mapGeofenceShapeVisibility)\n\tconst mapShowTerrain = useStoreState(state => state.session.mapShowTerrain)\n\tconst mapShowTraffic = useStoreState(state => state.session.mapShowTraffic)\n\tconst mapShowLabels = useStoreState(state => state.session.mapShowLabels)\n\tconst mapType = useStoreState(state => state.session.mapType)\n\tconst mapToggledMarkerVehicles = useStoreState(state => state.session.mapToggledMarkerVehicles)\n\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\tconst reloadDevices = useStoreActions(actions => actions.devices.reload)\n\tconst reloadGeofences = useStoreActions(actions => actions.geofences.reload)\n\tconst reloadGroups = useStoreActions(actions => actions.groups.reload)\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\tconst reloadTemporaryAlerts = useStoreActions(actions => actions.temporaryAlerts.reload)\n\tconst saveSession = useStoreActions(actions => actions.session.save)\n\tconst setMapStatusFilters = useStoreActions(actions => actions.session.setMapStatusFilters)\n\tconst setMapVehiclesTypeFilter = useStoreActions(actions => actions.session.setMapVehiclesTypeFilter)\n\tconst setMapGroupsFilter = useStoreActions(actions => actions.session.setMapGroupsFilter)\n\tconst setMapDispatchersFilter = useStoreActions(actions => actions.session.setMapDispatchersFilter)\n\tconst setMapMarkerSize = useStoreActions(actions => actions.session.setMapMarkerSize)\n\tconst setMapMarkerText = useStoreActions(actions => actions.session.setMapMarkerText)\n\tconst setMapMarkerBigTopText = useStoreActions(actions => actions.session.setMapMarkerBigTopText)\n\tconst setMapMarkerBigBottomText = useStoreActions(actions => actions.session.setMapMarkerBigBottomText)\n\tconst setMapHistoryInterval = useStoreActions(actions => actions.session.setMapHistoryInterval)\n\tconst setMapGeofenceShapeVisibility = useStoreActions(actions => actions.session.setMapGeofenceShapeVisibility)\n\tconst setMapShowTraffic = useStoreActions(actions => actions.session.setMapShowTraffic)\n\tconst setMapShowTerrain = useStoreActions(actions => actions.session.setMapShowTerrain)\n\tconst setMapShowLabels = useStoreActions(actions => actions.session.setMapShowLabels)\n\tconst setMapType = useStoreActions(actions => actions.session.setMapType)\n\n\t// vehicleList callbacks\n\tconst updateMapFilter = useCallback((filter, value) => {\n\t\tswitch (filter) {\n\t\tcase 'mapStatusFilters':\n\t\t\tsetMapStatusFilters(value)\n\t\t\tbreak\n\t\tcase 'mapVehiclesTypeFilter':\n\t\t\tsetMapVehiclesTypeFilter(value)\n\t\t\tbreak\n\t\tcase 'mapGroupsFilter':\n\t\t\tsetMapGroupsFilter(value)\n\t\t\tbreak\n\t\tcase 'mapDispatchersFilter':\n\t\t\tsetMapDispatchersFilter(value)\n\t\t\tbreak\n\t\t}\n\t\tsaveSession()\n\t}, [])\n\n\t// Map callbacks\n\tconst onBoundsChange = (center, zoom, bounds, marginBounds) => {\n\t\tactions.setBounds(bounds.slice(0, 4))\n\t}\n\tconst onVehicleListChange = useCallback(vehs => {\n\t\tactions.setFilteredVehicles(vehs)\n\t}, [])\n\tconst onVehicleListFilterChange = useCallback(() => {\n\t\tactions.setSelectedVehicle(null)\n\t}, [])\n\tconst onVehicleListClick = useCallback(veh => {\n\t\tif (get(state.selectedVehicle, 'raw.id') !== get(veh, 'raw.id') && state.map) {\n\t\t\tif (get(veh, 'lat') && get(veh, 'lng')) {\n\t\t\t\tstate.map.setCenter({ lat: veh.lat, lng: veh.lng })\n\t\t\t}\n\t\t}\n\t\tactions.setSelectedVehicle(veh)\n\t}, [state.map, state.selectedVehicle])\n\tconst onClickMarker = (vehicle) => {\n\t\tif (state.dragging) return\n\t\tif (get(state.selectedVehicle, 'raw.id') !== get(vehicle, 'raw.id') && state.map) {\n\t\t\tconst arrDirections = ['center', 'bottom'] // default\n\t\t\tconst lat = get(vehicle, 'lat')\n\t\t\tconst lng = get(vehicle, 'lng')\n\t\t\tconst map = state.map\n\t\t\tif (!lat || !lng || !map) return\n\t\t\tconst bounds = map.getBounds().toJSON()\n\t\t\tconst xLng = (bounds.east - bounds.west) / 8\n\t\t\tconst yLat = (bounds.north - bounds.south) / 2\n\t\t\tif (lng < (bounds.west + xLng)) {\n\t\t\t\tarrDirections[0] = 'dc-left'\n\t\t\t} else {\n\t\t\t\tif (lng > (bounds.east - xLng)) {\n\t\t\t\t\tarrDirections[0] = 'dc-right'\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (lat > (bounds.north - yLat)) {\n\t\t\t\tarrDirections[1] = 'top'\n\t\t\t}\n\t\t\tactions.setPopupDirection(arrDirections)\n\t\t}\n\t\tactions.setSelectedVehicle(vehicle)\n\t}\n\tconst onRightClickMarker = useCallback(vehicle => actions.getRoute({ vehicleID: get(vehicle, 'raw.id'), hoursBack: mapHistoryInterval }), [actions.getRoute, mapHistoryInterval])\n\tconst closePopup = () => {\n\t\tactions.setSelectedVehicle(null)\n\t}\n\tconst onGoogleAPILoaded = ({ map, maps }) => {\n\t\tactions.setMap(map)\n\t\tactions.setGoogleMapsAPI(maps)\n\t}\n\tconst onMapChange = (map) => {\n\t\tactions.setMapZoom(map.zoom)\n\t}\n\tconst dragStart = () => {\n\t\tif (!state.dragging) {\n\t\t\tactions.setDragging(true)\n\t\t}\n\t}\n\tconst dragEnd = () => {\n\t\tif (state.dragging) {\n\t\t\tactions.setDragging(false)\n\t\t}\n\t}\n\n\t// Map settings\n\tconst [isSettingsOpen, { toggle: toggleSettingsOpen }] = useBoolean(false)\n\tconst onMapSettingsChanged = settings => {\n\t\tsetMapMarkerSize(settings.markerSize)\n\t\tsetMapMarkerText(settings.markerText)\n\t\tsetMapMarkerBigTopText(settings.markerBigTopText)\n\t\tsetMapMarkerBigBottomText(settings.markerBigBottomText)\n\t\tsetMapHistoryInterval(settings.mapHistoryInterval)\n\t\tsetMapGeofenceShapeVisibility(settings.geofenceShapeVisibility)\n\t\tsetMapShowTraffic(settings.mapShowTraffic)\n\t\tsetMapShowTerrain(settings.mapShowTerrain)\n\t\tsetMapShowLabels(settings.mapShowLabels)\n\t\tsetMapType(settings.mapType)\n\t}\n\n\tuseMapControl(state.map, get(state.googleMapsAPI, 'ControlPosition.RIGHT_TOP'),\n\t\t<>\n\t\t\t<MapSettingsControl\n\t\t\t\tonClick={() => {\n\t\t\t\t\tif (isSettingsOpen) {\n\t\t\t\t\t\tsaveSession()\n\t\t\t\t\t}\n\t\t\t\t\ttoggleSettingsOpen()\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{isSettingsOpen ? (\n\t\t\t\t<MapSettingsWindow\n\t\t\t\t\tmapTypeDefault={mapType}\n\t\t\t\t\tmapShowTrafficDefault={mapShowTraffic}\n\t\t\t\t\tmapShowTerrainDefault={mapShowTerrain}\n\t\t\t\t\tmapShowLabelsDefault={mapShowLabels}\n\t\t\t\t\tmapHistoryIntervalDefault={mapHistoryInterval}\n\t\t\t\t\tonChange={onMapSettingsChanged}\n\t\t\t\t\tmarkerSizeDefault={mapMarkerSize}\n\t\t\t\t\tmarkerTextDefault={mapMarkerText}\n\t\t\t\t\tmarkerBigTopTextDefault={mapMarkerBigTopText}\n\t\t\t\t\tmarketBigBottomTextDefault={mapMarkerBigBottomText}\n\t\t\t\t\tgeofenceShapeVisibilityDefault={mapGeofenceShapeVisibility}\n\t\t\t\t\thasTachoModule={hasTachoModule}\n\t\t\t\t\thasFreezerModule={hasFreezerModule}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</>,\n\t\t[isSettingsOpen]\n\t)\n\n\tuseEffect(() => {\n\t\tactions.setShowTraffic(mapShowTraffic)\n\n\t\tif (state.map) {\n\t\t\tlet typeId = mapType\n\t\t\tif (mapShowTerrain && mapType === 'roadmap') {\n\t\t\t\ttypeId = 'terrain'\n\t\t\t} else if (mapShowLabels && mapType === 'satellite') {\n\t\t\t\ttypeId = 'hybrid'\n\t\t\t}\n\t\t\tstate.map.setMapTypeId(typeId)\n\t\t}\n\t}, [state.map, mapShowTraffic, mapShowTerrain, mapShowLabels, mapType])\n\n\tuseEffect(() => {\n\t\tif (!state.mapZoom || !mapGeofenceShapeVisibility) { return }\n\t\tactions.toggleShowGeofenceShape(isValidGeofenceVisibility(mapGeofenceShapeVisibility, state.mapZoom))\n\t}, [mapGeofenceShapeVisibility, state.mapZoom])\n\n\t// draw geofences shapes\n\tuseGeofence(state.geofences, state.map, state.googleMapsAPI, state.showGeofenceShape)\n\n\t// Load data\n\t// eslint-disable-next-line no-console\n\tuseAsyncInterval(() => devices ? reloadVehicles().catch(e => console.error(e)) : null, 10000)\n\tuseEffect(() => {\n\t\treloadDevices().then(() => reloadVehicles())\n\t\treloadGeofences()\n\t\treloadGroups()\n\t\treloadUsers()\n\t\treloadTemporaryAlerts()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (userType === 'admin' || userType === 'manager') {\n\t\t\tgetIntegrations()\n\t\t\tgetSharedIntegrations()\n\t\t}\n\t}, [userType])\n\n\t// Update local store with loaded data\n\tuseEffect(() => {\n\t\tactions.setVehicles(vehicles)\n\t\tactions.updateSelectedVehicle()\n\t}, [vehicles])\n\tuseEffect(() => { actions.setGeofences(geofences) }, [geofences])\n\tuseEffect(() => { actions.setCurrentUser(currentUser) }, [currentUser])\n\tuseEffect(() => { actions.setUsers(users) }, [users])\n\n\tuseEffect(() => {\n\t\tif (!googleAPIKey || !userLocale) return\n\t\tsetUrlGoogleMapKeys({\n\t\t\tkey: googleAPIKey,\n\t\t\tlanguage: userLocale,\n\t\t\tregion: userLocale,\n\t\t})\n\t}, [googleAPIKey, userLocale])\n\n\t// Show loading state only for the first load\n\tuseEffect(() => {\n\t\tif (!state.loading || ((state.loading && loading) || state.initialBounds)) { return }\n\n\t\tactions.setLoading(false)\n\t}, [loading, state.loading])\n\n\t// Fit map to vehicles on first load\n\tuseEffect(() => {\n\t\tif (state.firstLoadVehicles || !state.map || !state.googleMapsAPI || !state.filteredVehicles.length) { return }\n\n\t\tconst LatLngBounds = get(state.googleMapsAPI, 'LatLngBounds')\n\t\tif (LatLngBounds == null) { return }\n\n\t\tconst bounds = new LatLngBounds()\n\t\tstate.filteredVehicles.forEach(vehicle => {\n\t\t\tif (!isFinite(vehicle.lat) || !isFinite(vehicle.lng)) { return }\n\t\t\tbounds.extend({ lat: vehicle.lat, lng: vehicle.lng })\n\t\t})\n\n\t\tconst offset = 0.002\n\t\tconst center = bounds.getCenter()\n\t\tbounds.extend({ lat: center.lat() + offset, lng: center.lng() + offset })\n\t\tbounds.extend({ lat: center.lat() - offset, lng: center.lng() - offset })\n\t\tstate.map.fitBounds(bounds)\n\t\tactions.setFirstLoadVehicles(true)\n\t}, [state.filteredVehicles, state.map, state.googleMapsAPI])\n\n\treturn (\n\t\t<div className='map-wrapper'>\n\t\t\t<div className={state.loading ? 'loading' : undefined}>\n\t\t\t\t{state.loading ? (\n\t\t\t\t\t<Loader className='tracknamic' content={t('map:loading')} inline='centered' size='medium' active />\n\t\t\t\t) : (\n\t\t\t\t\t<VehicleList\n\t\t\t\t\t\tvehicles={state.vehiclesWithLocation}\n\t\t\t\t\t\tgroups={groups}\n\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\tuserType={userType}\n\t\t\t\t\t\tmapMarkerText={mapMarkerText}\n\t\t\t\t\t\tstatusFiltersDefault={mapStatusFilters}\n\t\t\t\t\t\tvehiclesTypeFilterDefault={mapVehiclesTypeFilter}\n\t\t\t\t\t\tgroupsFilterDefault={mapGroupsFilter}\n\t\t\t\t\t\tdispatchersFilterDefault={mapDispatchersFilter}\n\t\t\t\t\t\tonChange={onVehicleListChange}\n\t\t\t\t\t\tonFilterChange={onVehicleListFilterChange}\n\t\t\t\t\t\tonClick={onVehicleListClick}\n\t\t\t\t\t\tsaveMapFilter={updateMapFilter}\n\t\t\t\t\t\thasFreezerModule={hasFreezerModule}\n\t\t\t\t\t\thasSensorDoorModule={hasSensorDoorModule}\n\t\t\t\t\t\thasTaxiModule={hasTaxiModule}\n\t\t\t\t\t/>)}\n\t\t\t</div>\n\t\t\t<div> {urlGoogleMapKeys ? (\n\t\t\t\t<GoogleMapReact\n\t\t\t\t\tclassName='ember-google-map'\n\t\t\t\t\tbootstrapURLKeys={urlGoogleMapKeys}\n\t\t\t\t\tdefaultCenter={{ lat: 45, lng: 25 }}\n\t\t\t\t\tdefaultZoom={5}\n\t\t\t\t\toptions={{\n\t\t\t\t\t\tstreetViewControl: true\n\t\t\t\t\t}}\n\t\t\t\t\tlayerTypes={state.layers}\n\t\t\t\t\tonBoundsChange={onBoundsChange}\n\t\t\t\t\tonGoogleApiLoaded={onGoogleAPILoaded}\n\t\t\t\t\tonChange={onMapChange}\n\t\t\t\t\tonDrag={dragStart}\n\t\t\t\t\tonDragEnd={dragEnd}\n\t\t\t\t\tyesIWantToUseGoogleMapApiInternals\n\t\t\t\t>\n\t\t\t\t\t{state.route && state.stationaryPoints.map(markerStationary => (\n\t\t\t\t\t\t<MarkerStationary\n\t\t\t\t\t\t\tkey={markerStationary.id}\n\t\t\t\t\t\t\tlat={markerStationary.lat}\n\t\t\t\t\t\t\tlng={markerStationary.lng}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{state.visibleVehicles.map(vehicle => (\n\t\t\t\t\t\t<UserMarker\n\t\t\t\t\t\t\tkey={vehicle.raw.id}\n\t\t\t\t\t\t\tlat={vehicle.lat}\n\t\t\t\t\t\t\tlng={vehicle.lng}\n\t\t\t\t\t\t\tvehicle={vehicle}\n\t\t\t\t\t\t\tmanualVehicles={mapToggledMarkerVehicles}\n\t\t\t\t\t\t\tusers={state.users}\n\t\t\t\t\t\t\tmarkerSize={mapMarkerSize}\n\t\t\t\t\t\t\tmarkerText={mapMarkerText}\n\t\t\t\t\t\t\tmarkerBigTopText={mapMarkerBigTopText}\n\t\t\t\t\t\t\tmarkerBigBottomText={mapMarkerBigBottomText}\n\t\t\t\t\t\t\tselectVehicle={onClickMarker}\n\t\t\t\t\t\t\thandleRightClick={onRightClickMarker}\n\t\t\t\t\t\t\thasTachoModule={hasTachoModule}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{state.selectedVehicle &&\n\t\t\t\t\t\t<UserMarker\n\t\t\t\t\t\t\tlat={state.selectedVehicle.lat}\n\t\t\t\t\t\t\tlng={state.selectedVehicle.lng}\n\t\t\t\t\t\t\tvehicle={state.selectedVehicle}\n\t\t\t\t\t\t\tmanualVehicles={mapToggledMarkerVehicles}\n\t\t\t\t\t\t\tusers={state.users}\n\t\t\t\t\t\t\tmarkerSize={mapMarkerSize}\n\t\t\t\t\t\t\tmarkerText={mapMarkerText}\n\t\t\t\t\t\t\tmarkerBigTopText={mapMarkerBigTopText}\n\t\t\t\t\t\t\tmarkerBigBottomText={mapMarkerBigBottomText}\n\t\t\t\t\t\t\tselectVehicle={onClickMarker}\n\t\t\t\t\t\t\thandleRightClick={onRightClickMarker}\n\t\t\t\t\t\t\thasTachoModule={hasTachoModule}\n\t\t\t\t\t\t/>}\n\t\t\t\t\t{state.selectedVehicle &&\n\t\t\t\t\t\t<VehiclePopup\n\t\t\t\t\t\t\tlat={get(state.selectedVehicle, 'lat')}\n\t\t\t\t\t\t\tlng={get(state.selectedVehicle, 'lng')}\n\t\t\t\t\t\t\tvehicle={state.selectedVehicle}\n\t\t\t\t\t\t\tmarkerSize={mapMarkerSize}\n\t\t\t\t\t\t\tpopupDirection={state.popupDirection}\n\t\t\t\t\t\t\tuserTimezone={userTimezone}\n\t\t\t\t\t\t\tusers={state.users}\n\t\t\t\t\t\t\tassetsPath={assetsPath}\n\t\t\t\t\t\t\tclosePopup={closePopup}\n\t\t\t\t\t\t\thasTachoModule={hasTachoModule}\n\t\t\t\t\t\t\thasMapRoutesAccess={hasMapRoutesAccess}\n\t\t\t\t\t\t\thasMapEtaAccess={hasMapEtaAccess}\n\t\t\t\t\t\t\thasMapEtaPTVAccess={hasMapEtaPTVAccess}\n\t\t\t\t\t\t\tintegrations={integrations}\n\t\t\t\t\t\t\tsharedIntegrations={sharedIntegrations}\n\t\t\t\t\t\t\ttemporaryAlerts={temporaryAlerts}\n\t\t\t\t\t\t\turlGoogleMapKeys={urlGoogleMapKeys}\n\t\t\t\t\t\t\tpopupActiveTabIndex={state.popupActiveTabIndex}\n\t\t\t\t\t\t\tsetPopupActiveTabIndex={actions.setPopupActiveTabIndex}\n\t\t\t\t\t\t/>}\n\t\t\t\t</GoogleMapReact>\n\t\t\t) : <Loader className='tracknamic' inline='centered' size='medium' active />}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n","import React, { useEffect, useState } from 'react'\nimport { useStoreActions } from 'easy-peasy'\nimport { useTranslation } from 'react-i18next'\n\nimport Filters from 'tracknamic-smb/react/components/partners/Filters'\nimport Table from 'tracknamic-smb/react/components/partners/Table'\nimport ModalPartners from 'tracknamic-smb/react/components/partners/ModalPartners'\n\nconst Partners = () => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst init = useStoreActions(actions => actions.partners.init)\n\n\tconst [editing, setEditing] = useState()\n\n\tuseEffect(() => {\n\t\tinit()\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst handleHide = () => {\n\t\tsetEditing(null)\n\t}\n\n\treturn (\n\t\t<div className='siteContent fullHeight page-partners'>\n\t\t\t<div className='filters flex sb'>\n\t\t\t\t<div className='flex'>\n\t\t\t\t\t<div className='doc-button green' onClick={() => { setEditing({}) }}>\n\t\t\t\t\t\t<span><i className='plus icon' />{t('partners.createNew')}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='flex gap-05'>\n\t\t\t\t\t<Filters />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='pageContent'>\n\t\t\t\t<Table setEditing={setEditing} />\n\t\t\t</div>\n\t\t\t{editing ? <ModalPartners record={editing} hide={handleHide} /> : null}\n\t\t</div>\n\t)\n}\n\nexport default Partners\n","import React, { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreActions } from 'easy-peasy'\nimport { get } from 'lodash'\nimport { Checkbox, Input } from 'semantic-ui-react'\n\nimport useErrorHandler from '../../../hooks/useErrorHandler'\n\nconst pathDriverDailyTarget = 'settings.driver.target.dailyDistance'\n\nconst DailyTarget = () => {\n\tconst { t } = useTranslation(['common', 'settings/settings'])\n\n\tuseErrorHandler()\n\n\tconst reloadCompany = useStoreActions(actions => actions.company.reload)\n\tconst updateCompany = useStoreActions(actions => actions.company.update)\n\n\tconst [dailyTargetDistance, setDailyTargetDistance] = useState({\n\t\tactivated: false,\n\t\tdriver: 400,\n\t\tcrew: 700,\n\t})\n\n\tuseEffect(() => {\n\t\treloadCompany().then(c => {\n\t\t\tconst dailyTargetDis = get(c, pathDriverDailyTarget)\n\t\t\tif (dailyTargetDis) {\n\t\t\t\tsetDailyTargetDistance(dailyTargetDis)\n\t\t\t}\n\t\t})\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst handleSave = async () => {\n\t\tupdateCompany({ path: pathDriverDailyTarget, value: dailyTargetDistance })\n\t}\n\n\treturn (\n\t\t<div style={{ display: 'grid', gridTemplateRows: '1fr auto', height: '100%', padding: '0em 1em 1em' }}>\n\t\t\t<div>\n\t\t\t\t<div className='mb-1em'>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tlabel={t('common:activated')}\n\t\t\t\t\t\tchecked={dailyTargetDistance?.activated}\n\t\t\t\t\t\tonChange={(_, { checked }) => setDailyTargetDistance({ ...dailyTargetDistance, activated: checked })}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className='mb-1em'>\n\t\t\t\t\t<div>{t('settings/settings:target.daily.driver')}</div>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={dailyTargetDistance?.driver}\n\t\t\t\t\t\tonChange={e => setDailyTargetDistance({ ...dailyTargetDistance, driver: isNaN(e.target.value) ? null : Number(e.target.value) })}\n\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tlabel={{ content: 'KM' }}\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tdisabled={!dailyTargetDistance?.activated}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className='mb-1em'>\n\t\t\t\t\t<div>{t('settings/settings:target.daily.crew')}</div>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={dailyTargetDistance?.crew}\n\t\t\t\t\t\tonChange={e => setDailyTargetDistance({ ...dailyTargetDistance, crew: isNaN(e.target.value) ? null : Number(e.target.value) })}\n\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tlabel={{ content: 'KM' }}\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tdisabled={!dailyTargetDistance?.activated}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='actions'>\n\t\t\t\t<div className='doc-button approve' onClick={() => handleSave()}>{t('common:buttons.save')}</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default DailyTarget\n","import React, { useEffect, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { Input, Popup, Icon } from 'semantic-ui-react'\nimport { clone } from 'lodash'\nimport useErrorHandler from '../../../hooks/useErrorHandler'\nimport { useStoreActions, useStoreState } from 'easy-peasy'\n\nconst oneDayInMs = 86400000\n\nfunction Index (props) {\n\tconst { t } = useTranslation(['common', 'settings/settings'])\n\n\tuseErrorHandler()\n\n\t// Gropus\n\tconst groups = useStoreState(state => state.groups.items)\n\tconst reloadGroups = useStoreActions(actions => actions.groups.reload)\n\tconst updateGroup = useStoreActions(actions => actions.groups.update)\n\n\tconst loggedUser = useStoreState(state => state.session.user)\n\n\tconst [interval, setInterval] = useState(null)\n\tconst [period, setPeriod] = useState({ start: '', end: '' })\n\n\tuseEffect(() => {\n\t\tif (groups?.length > 0 && loggedUser) {\n\t\t\tconst currentGroup = groups.find(group => group.raw?.id === loggedUser.groupID)\n\t\t\tsetInterval(currentGroup?.raw?.settings?.orderLoadTimespan || null)\n\t\t}\n\t}, [groups, loggedUser])\n\n\tuseEffect(() => {\n\t\tif (!interval) return\n\t\tif (interval > 365) setInterval(365)\n\t\tsetPeriod(\n\t\t\t{\n\t\t\t\tstart: new Date().getTime() - (interval * oneDayInMs),\n\t\t\t\tend: new Date().getTime() + (interval * oneDayInMs)\n\t\t\t}\n\t\t)\n\t}, [interval])\n\n\tconst savePeriodFilter = async () => {\n\t\tif (interval === 0) setInterval(1)\n\t\tconst oldItem = clone(groups.find(group => group.raw?.id === loggedUser.groupID))\n\t\tconst newItem = oldItem\n\t\tnewItem.raw.settings.orderLoadTimespan = interval || 1\n\t\tawait updateGroup({\n\t\t\tnewItem: newItem.raw,\n\t\t\toldItem: oldItem\n\t\t})\n\t}\n\n\tuseEffect(() => {\n\t\treloadGroups()\n\t}, [])\n\n\treturn (\n\t\t<div className='settings-page dispatch'>\n\t\t\t<div className='general-settings'>\n\t\t\t\t<div className='content'>\n\t\t\t\t\t<div className='header'>{t('settings/settings:generalSettingsTab.orderList')}</div>\n\t\t\t\t\t<div className='item'>\n\t\t\t\t\t\t{t('settings/settings:generalSettingsTab.filterPeriodLabel')}\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tvalue={interval}\n\t\t\t\t\t\t\tclassName='days-input'\n\t\t\t\t\t\t\tonChange={(e) => setInterval(+e.target.value)}\n\t\t\t\t\t\t\ttype='number' min='0' max='365'\n\t\t\t\t\t\t\tlabel={{ content: t('duration.day_plural') }}\n\t\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{t('settings/settings:generalSettingsTab.beforeAfterCurrentDay')}\n\t\t\t\t\t\t{period?.start && period?.end && (\n\t\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\t\tclassName='tms-order-list-period-info-popup'\n\t\t\t\t\t\t\t\tposition='right center'\n\t\t\t\t\t\t\t\ttrigger={<Icon name='info circle' size='large' fitted />}\n\t\t\t\t\t\t\t\twide\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\ti18nKey='settings/settings:generalSettingsTab.filterPeriodLabelInfo'\n\t\t\t\t\t\t\t\t\tvalues={{\n\t\t\t\t\t\t\t\t\t\tstart: moment(period?.start).format('DD.MM.YYYY') || '',\n\t\t\t\t\t\t\t\t\t\tend: moment(period?.end).format('DD.MM.YYYY') || ''\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Popup>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='actions'>\n\t\t\t\t\t<div className='doc-button approve' onClick={() => { savePeriodFilter() }}>{t('common:buttons.save')}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default Index\n","import React, { useEffect, useState, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { set, get, pick, filter, cloneDeep } from 'lodash'\n\nimport Spinner from 'tracknamic-smb/react/components/Spinner'\nimport MyCheckbox from './MyCheckbox'\n\nconst path = ['settings', 'e-transport']\nconst PROPS = ['uit-sync']\n\nconst AutoSync = () => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst company = useStoreState(state => state.company.company)\n\tconst getCompany = useStoreActions(actions => actions.company.reload)\n\tconst update = useStoreActions(actions => actions.company.update)\n\n\tconst [v, setV] = useState()\n\tconst [loading, setLoading] = useState()\n\n\tuseEffect(() => {\n\t\tsetLoading(true)\n\t\tgetCompany().then(r => {\n\t\t\tconst obj = get(r, path, {})\n\t\t\tif (!get(obj, 'uit-sync.hours')) set(obj, 'uit-sync.hours', ['06:00', '18:00'])\n\t\t\tsetV(cloneDeep(obj))\n\t\t\tsetLoading(false)\n\t\t})\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst hasChanges = useMemo(() => {\n\t\tconst settings = get(company, path, {})\n\t\tconst hashC = filter([get(settings, 'uit-sync.activated'), ...get(settings, 'uit-sync.hours', [])]).join('-')\n\t\tconst hashV = filter([get(v, 'uit-sync.activated'), ...get(v, 'uit-sync.hours', [])]).join('-')\n\n\t\treturn hashC !== hashV\n\t}, [company, v])\n\n\tconst handleSave = () => {\n\t\tif (!hasChanges) return\n\t\tconst value = pick(v, PROPS)\n\t\tupdate({ path, value })\n\t}\n\n\tif (loading) return <Spinner />\n\n\treturn (\n\t\t<div style={{ display: 'grid', gridTemplateRows: '1fr auto', height: '100%' }}>\n\t\t\t<div>\n\t\t\t\t<h3>{t('uit.autoSync')}</h3>\n\t\t\t\t<br />\n\t\t\t\t<div>\n\t\t\t\t\tSelectati orele pentru autosincronizarea UIT-urilor din SPV\n\t\t\t\t</div>\n\t\t\t\t<br />\n\t\t\t\t<div style={{ border: '1px solid #FFDC36', padding: '1em', width: '525px' }}>\n\t\t\t\t\t<MyCheckbox name='uit-sync.activated' label={t('activated')} v={v} setV={setV} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='actions' style={{ paddingBottom: '0px' }}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`doc-button approve${!hasChanges ? ' disabled' : ''}`}\n\t\t\t\t\tonClick={() => handleSave()}\n\t\t\t\t>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default AutoSync\n","import React, { useEffect, useState, useMemo } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { find, get, set, pick, map, cloneDeep, sortBy, isEmpty } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport { Icon, Checkbox } from 'semantic-ui-react'\n\nimport Spinner from 'tracknamic-smb/react/components/Spinner'\nimport Select from 'tracknamic-smb/react/components/Select'\nimport MyCheckbox from './MyCheckbox'\n\nconst path = ['settings', 'e-transport']\nconst PROPS = ['activate.never', 'activate.onDate', 'disable.never', 'disable.onDate']\n\nconst Automatize = () => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst groups = useStoreState(state => state.groupsV2.items)\n\tconst reloadGroups = useStoreActions(actions => actions.groupsV2.reload)\n\tconst updateGroup = useStoreActions(actions => actions.groupsV2.update)\n\n\tconst [v, setV] = useState()\n\tconst [loading, setLoading] = useState()\n\tconst [selectedGroup, setSelectedGroup] = useState()\n\n\tconst sortedGroups = useMemo(() => sortBy(groups, 'id'), [groups])\n\n\tconst company = useMemo(() => find(groups, i => i?.id === i?.companyID), [groups])\n\tconst isCompany = useMemo(() => selectedGroup?.id === company?.id, [company, selectedGroup])\n\n\tconst hasChanges = useMemo(() => {\n\t\tconst p = [\n\t\t\t'activate.never', 'activate.onDate.checked', 'activate.onDate.hour',\n\t\t\t'disable.never', 'disable.onDate.checked', 'disable.onDate.hour',\n\t\t]\n\t\tconst settings = get(selectedGroup, path) || null\n\t\tconst hashG = map(p, i => get(settings, i)).join('-')\n\t\tconst hashV = map(p, i => get(v, i)).join('-')\n\n\t\treturn (isEmpty(settings) !== isEmpty(v)) || (hashG !== hashV)\n\t}, [selectedGroup, v])\n\n\tuseEffect(() => {\n\t\tsetLoading(true)\n\t\treloadGroups().then(r => setLoading(false))\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\tif (selectedGroup || !company) return\n\t\tselectGroup(company)\n\t}, [company, selectedGroup]) // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst handleSave = () => {\n\t\tif (!hasChanges) return\n\t\tconst value = v ? pick(v, PROPS) : null\n\t\tconst obj = {\n\t\t\tid: selectedGroup?.id,\n\t\t}\n\t\tset(obj, path, value)\n\t\tupdateGroup(obj)\n\t}\n\n\tconst handleChangeImplicit = (e, { checked }) => {\n\t\tif (checked) {\n\t\t\tsetV(null)\n\t\t} else {\n\t\t\tconst obj = get(company, path, {})\n\t\t\tsetV(cloneDeep(obj))\n\t\t}\n\t}\n\n\tconst selectGroup = group => {\n\t\tconst selection = group || company\n\t\tconst obj = get(selection, path, {})\n\t\tsetV(cloneDeep(obj))\n\t\tsetSelectedGroup(selection)\n\t}\n\n\tif (loading) return <Spinner />\n\n\treturn (\n\t\t<div style={{ display: 'grid', gridTemplateRows: '1fr auto', height: '100%' }}>\n\t\t\t<div>\n\t\t\t\t<h3>{t('settings.eTransport.automatizeUit')}</h3>\n\t\t\t\t<div>{t('settings.eTransport.automatizeDetails')}</div>\n\t\t\t\t<br />\n\t\t\t\t<div style={{ marginBottom: '10px' }}><b>{t('settings.eTransport.selectDivision')}</b></div>\n\t\t\t\t<div className='dc-flex g1 center'>\n\t\t\t\t\t<div style={{ width: '250px', border: '1px solid gray' }}>\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\toptions={sortedGroups}\n\t\t\t\t\t\t\tgetOptionValue={i => i?.id}\n\t\t\t\t\t\t\tgetOptionLabel={i => {\n\t\t\t\t\t\t\t\tconst tab = i.id.split('-').map(i => '').join(' ⁬ ⁬ ')\n\t\t\t\t\t\t\t\tconst icon = (isEmpty(get(i, path)) ? 'square outline' : 'check square outline')\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<span>{tab}<Icon name={icon} /> {i?.name}</span>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvalue={selectedGroup}\n\t\t\t\t\t\t\tonChange={(v, i) => selectGroup(i)}\n\t\t\t\t\t\t\tforceValue\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!isCompany ? (\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tchecked={isEmpty(v)}\n\t\t\t\t\t\t\tlabel={t('settings.eTransport.implicit')}\n\t\t\t\t\t\t\tonChange={handleChangeImplicit}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<br />\n\t\t\t\t{isCompany || !isEmpty(v) ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={{ margin: '10px 0px' }}><b>{t('settings.eTransport.automatize')}</b></div>\n\t\t\t\t\t\t<div style={{ display: 'flex' }}>\n\t\t\t\t\t\t\t<div className='dc-grid two' style={{ gridGap: '1em', minWidth: '460px' }}>\n\t\t\t\t\t\t\t\t<div className='dc-grid' style={{ border: '1px solid #FFDC36', padding: '1em', alignContent: 'start' }}>\n\t\t\t\t\t\t\t\t\t<b>{t('settings.eTransport.activation')}</b>\n\t\t\t\t\t\t\t\t\t<MyCheckbox name='activate.never' v={v} setV={setV} />\n\t\t\t\t\t\t\t\t\t<MyCheckbox name='activate.onDate.checked' v={v} setV={setV} />\n\t\t\t\t\t\t\t\t\t{/* <MyCheckbox name='activate.geolocation' v={v} setV={setV} /> */}\n\t\t\t\t\t\t\t\t\t{/* <MyCheckbox name='activate.ptfDetection' v={v} setV={setV} /> */}\n\t\t\t\t\t\t\t\t\t{/* <MyCheckbox name='activate.apiRequest' v={v} setV={setV} /> */}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className='dc-grid' style={{ border: '1px solid #FFDC36', padding: '1em' }}>\n\t\t\t\t\t\t\t\t\t<b>{t('settings.eTransport.deactivation')}</b>\n\t\t\t\t\t\t\t\t\t<MyCheckbox name='disable.never' v={v} setV={setV} />\n\t\t\t\t\t\t\t\t\t<MyCheckbox name='disable.onDate.checked' v={v} setV={setV} />\n\t\t\t\t\t\t\t\t\t{/* <MyCheckbox name='disable.ptfDetection' v={v} setV={setV} /> */}\n\t\t\t\t\t\t\t\t\t{/* <MyCheckbox name='disable.apiRequest' v={v} setV={setV} /> */}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<div className='actions' style={{ paddingBottom: '0px' }}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`doc-button approve${!hasChanges ? ' disabled' : ''}`}\n\t\t\t\t\tonClick={() => handleSave()}\n\t\t\t\t>\n\t\t\t\t\t{t('buttons.save')}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default Automatize\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport PropTypes from 'prop-types'\nimport { get, set, forEach, first, last, map } from 'lodash'\nimport { Checkbox } from 'semantic-ui-react'\n\nimport Select from 'tracknamic-smb/react/components/Select'\nimport { OPTIONS_DISABLE_DATE } from 'tracknamic-smb/react/utils/eTransport'\n\nconst MyCheckbox = ({ name, v, setV, ...props }) => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst checked = useMemo(() => get(v, name, false), [name, v])\n\n\tconst label = useMemo(() => {\n\t\tconst path = name.split('.')\n\t\tpath.shift()\n\t\tif (last(path) === 'checked') path.pop()\n\t\tpath.unshift('settings.eTransport')\n\t\tlet key = path.join('.')\n\t\tif (name === 'disable.onDate.checked') key = 'settings.eTransport.onActivationDate'\n\t\treturn t(key)\n\t}, [name, t])\n\n\tconst isDisabled = useMemo(() => {\n\t\tif (name.includes('never')) return false\n\t\tconst path = name.split('.')\n\t\tconst key = path.shift()\n\t\treturn get(v, [key, 'never'], false)\n\t}, [name, v])\n\n\tconst handleChange = (e, el) => {\n\t\tconst path = name.split('.')\n\t\tconst obj = { ...v }\n\t\tset(obj, el?.name, el.checked)\n\t\tif (name.includes('never')) {\n\t\t\tconst propsToReset = ['apiRequest', 'geolocation', 'ptfDetection', 'onDate.checked']\n\t\t\tconst fistKey = first(path)\n\t\t\tforEach(propsToReset, i => set(obj, [fistKey, i].join('.'), false))\n\t\t}\n\t\tsetV(obj)\n\t}\n\n\tconst handleChangeInput = e => {\n\t\tconst obj = { ...v }\n\t\tset(obj, e.target.name, e.target.value)\n\t\tsetV(obj)\n\t}\n\tconst handleSelectChange = val => {\n\t\tconst obj = { ...v }\n\t\tset(obj, 'disable.onDate.hour', val)\n\t\tsetV(obj)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Checkbox\n\t\t\t\tchecked={checked}\n\t\t\t\tdisabled={isDisabled}\n\t\t\t\tlabel={label}\n\t\t\t\tname={name}\n\t\t\t\tonChange={handleChange}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t{/* Extra component */}\n\t\t\t{checked && name === 'activate.onDate.checked' && (\n\t\t\t\t<div style={{ border: '1px solid gray' }}>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype='time'\n\t\t\t\t\t\tvalue={get(v, 'activate.onDate.hour')}\n\t\t\t\t\t\tname='activate.onDate.hour'\n\t\t\t\t\t\tonChange={handleChangeInput}\n\t\t\t\t\t\tstyle={{ padding: '7px 14px', width: '100%' }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{checked && name === 'disable.onDate.checked' && (\n\t\t\t\t<div style={{ border: '1px solid gray' }}>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tname='disable.onDate.hour'\n\t\t\t\t\t\toptions={OPTIONS_DISABLE_DATE}\n\t\t\t\t\t\tvalue={get(v, 'disable.onDate.hour')}\n\t\t\t\t\t\tonChange={handleSelectChange}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{checked && name === 'uit-sync.activated' && (\n\t\t\t\t<>\n\t\t\t\t\t<br />\n\t\t\t\t\t<br />\n\t\t\t\t\t<div className='dc-grid' style={{ gridTemplateColumns: 'repeat(6, 1fr)' }}>\n\t\t\t\t\t\t{map(Array(24), (i, idx) => {\n\t\t\t\t\t\t\tconst h = ((idx >= 10) ? idx : `0${idx}`) + ':00'\n\t\t\t\t\t\t\tconst values = get(v, 'uit-sync.hours') || []\n\t\t\t\t\t\t\tconst chk = values?.includes(h)\n\t\t\t\t\t\t\tconst handleChange = (e, el) => {\n\t\t\t\t\t\t\t\tconst obj = { ...v }\n\t\t\t\t\t\t\t\tconst val = [...values]\n\t\t\t\t\t\t\t\tif (el.checked) val.push(h)\n\t\t\t\t\t\t\t\telse val.splice(val.indexOf(h), 1)\n\t\t\t\t\t\t\t\tset(obj, 'uit-sync.hours', val)\n\t\t\t\t\t\t\t\tsetV(obj)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn <Checkbox checked={chk} label={h} onChange={handleChange} />\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</>\n\t)\n}\n\nMyCheckbox.propTypes = {\n\tname: PropTypes.string,\n\tv: PropTypes.object,\n\tsetV: PropTypes.func,\n}\n\nexport default MyCheckbox\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Tab, TabPane } from 'semantic-ui-react'\n\nimport AutoSync from './AutoSync'\nimport Automatize from './Automatize'\n\nconst ETransport = props => {\n\tconst { t } = useTranslation(['common'])\n\n\tconst panes = [{\n\t\tmenuItem: t('settings.eTransport.automatizeUit'),\n\n\t\trender: () => <TabPane><Automatize /></TabPane>,\n\t},\n\t{\n\t\tmenuItem: t('uit.autoSync'),\n\t\trender: () => <TabPane><AutoSync /></TabPane>,\n\t}]\n\n\treturn (\n\t\t<div style={{ display: 'grid', gridTemplateRows: '1fr auto', height: '100%', padding: '0em 1em 1em' }}>\n\t\t\t<Tab\n\t\t\t\tclassName='dc-tabs full-height-calc'\n\t\t\t\tmenu={{ secondary: true, pointing: true }}\n\t\t\t\tpanes={panes}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nexport default ETransport\n","import React, { useState, useEffect } from 'react'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport useErrorHandler from '../../../hooks/useErrorHandler'\nimport { useTranslation } from 'react-i18next'\n\nimport { Row, Col, Button } from './replaceable-gird'\nimport { Checkbox, Form, Input as SemanticInput, Popup } from 'semantic-ui-react'\nexport default function SettingsDataStorageIndex () {\n\tconst { t } = useTranslation(['settings'])\n\n\tuseErrorHandler()\n\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\tconst user = useStoreState(state => state.session.user)\n\n\tconst getCompany = useStoreActions(actions => actions.groups.reload)\n\tconst updateCompany = useStoreActions(actions => actions.groups.update)\n\tconst company = useStoreState(state => state.groups.items.length ? state.groups.items[0].raw : null)\n\n\tconst [removeData, setRemoveData] = useState(null)\n\tconst [maxDataAge, setMaxDataAge] = useState(0)\n\tconst [_company, _setCompany] = useState(null)\n\tconst [editable, setEditable] = useState(false)\n\n\tuseEffect(() => {\n\t\tconst age = +maxDataAge\n\t\tif (!age || age < 1) {\n\t\t\tsetMaxDataAge('')\n\t\t}\n\t}, [maxDataAge])\n\n\tconst clear = () => {\n\t\tsetRemoveData(null)\n\t\tsetMaxDataAge(0)\n\t}\n\n\tconst updateDataStorageOptions = () => {\n\t\t_company.settings.dataRemovalScope = removeData\n\t\t_company.settings.dataMaxAge = maxDataAge || 0\n\t\tupdateCompany({\n\t\t\tnewItem: _company,\n\t\t\toldItem: company\n\t\t}).finally(() => {\n\t\t\tsetEditable(false)\n\t\t})\n\t}\n\n\tuseEffect(() => {\n\t\tif (user) {\n\t\t\tgetCompany({ $where: { id: user.companyID } })\n\t\t} else {\n\t\t\treloadSession()\n\t\t}\n\t}, [user])\n\n\tuseEffect(() => {\n\t\tif (company && company.settings) {\n\t\t\tsetRemoveData(company.settings.dataRemovalScope)\n\t\t\tsetMaxDataAge(company.settings.dataMaxAge)\n\n\t\t\t_setCompany(company)\n\t\t}\n\t}, [company])\n\n\tconst disableSaveButton = (value) => {\n\t\treturn !(value > 0)\n\t}\n\treturn (\n\t\t<div>\n\t\t\t<Row gutter={16} className='heading-row'>\n\t\t\t\t<Col span={1} />\n\t\t\t\t<Col span={9}>\n\t\t\t\t\t<h2>{t('settings:dataStorage.heading1')}</h2>\n\n\t\t\t\t</Col>\n\n\t\t\t</Row>\n\n\t\t\t<div className='warning1-div'>\n\t\t\t\t<Row gutter={16} className='warning1-row'>\n\t\t\t\t\t<Col span={1}>\n\t\t\t\t\t\t<img className='warning-svg-1' src='/assets/images/icon-warning.svg' />\n\t\t\t\t\t</Col>\n\t\t\t\t\t<Col span={9} className='f'>\n\t\t\t\t\t\t<h4 className='thin-text'>{t('settings:dataStorage.warning1')}\n\t\t\t\t\t\t\t<span className='info-svg'>\n\t\t\t\t\t\t\t\t<Popup content={t('settings:dataStorage.tooptip1Content')} trigger={<img src='/assets/images/Icon_info-circle.svg' />} />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</h4>\n\t\t\t\t\t</Col>\n\t\t\t\t</Row>\n\n\t\t\t</div>\n\n\t\t\t<Form>\n\t\t\t\t<Row gutter={16} className='row-label'>\n\t\t\t\t\t<Col span={1} />\n\t\t\t\t\t<Col span={11}>\n\t\t\t\t\t\t<h4 className='thin-text'>{t('settings:dataStorage.optionLabel')}</h4>\n\t\t\t\t\t</Col>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row gutter={16}>\n\t\t\t\t\t<Col span={1} />\n\t\t\t\t\t<Col span={11}>\n\t\t\t\t\t\t<Form.Field className='form-design'>\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tlabel={t('settings:dataStorage.optionAll')}\n\t\t\t\t\t\t\t\tname='checkboxGroup'\n\t\t\t\t\t\t\t\tvalue='all'\n\t\t\t\t\t\t\t\tdisabled={!editable}\n\t\t\t\t\t\t\t\tchecked={removeData === 'all'}\n\t\t\t\t\t\t\t\tonChange={() => {\n\t\t\t\t\t\t\t\t\tif (removeData !== 'all') {\n\t\t\t\t\t\t\t\t\t\tsetRemoveData('all')\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tclear()\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Form.Field>\n\t\t\t\t\t</Col>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row gutter={16}>\n\t\t\t\t\t<Col span={1} />\n\t\t\t\t\t<Col span={11}>\n\t\t\t\t\t\t<Form.Field>\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tlabel={t('settings:dataStorage.optionBasic')}\n\t\t\t\t\t\t\t\tname='checkboxGroup'\n\t\t\t\t\t\t\t\tdisabled={!editable}\n\t\t\t\t\t\t\t\tvalue='minimum'\n\t\t\t\t\t\t\t\tchecked={removeData === 'minimum'}\n\t\t\t\t\t\t\t\tonChange={() => {\n\t\t\t\t\t\t\t\t\tif (removeData !== 'minimum') {\n\t\t\t\t\t\t\t\t\t\tsetRemoveData('minimum')\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tclear()\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Form.Field>\n\t\t\t\t\t</Col>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row gutter={16}>\n\t\t\t\t\t<Col span={1} />\n\t\t\t\t\t<Col span={2}><h4 className='label-days-counter thin-text'>{t('settings:dataStorage.daysInputLabel')}</h4></Col>\n\t\t\t\t\t<Col span={2} className='col-input-max-data'>\n\t\t\t\t\t\t<Form.Field>\n\t\t\t\t\t\t\t<SemanticInput\n\t\t\t\t\t\t\t\tclassName='input-max-data'\n\t\t\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\t\t\tmin='0'\n\t\t\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\t\t\tvalue={maxDataAge}\n\t\t\t\t\t\t\t\tdisabled={!removeData || !editable}\n\t\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\t\tsetMaxDataAge(event.target.value)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Form.Field>\n\t\t\t\t\t</Col>\n\n\t\t\t\t\t<Col className='timeUnits-col'>\n\t\t\t\t\t\t<h4 className='timeUnits-col-content thin-text'>{t('settings:dataStorage.timeUnits')}</h4>\n\t\t\t\t\t</Col>\n\t\t\t\t\t<Col span={3}>\n\t\t\t\t\t\t<h4 className='timeUnits-col-content thin-text'>({t('settings:dataStorage.infoForInput')})</h4>\n\t\t\t\t\t</Col>\n\t\t\t\t</Row>\n\n\t\t\t\t<div className='messages-before-bottom-buttons'>\n\t\t\t\t\t{\n\t\t\t\t\t\t!disableSaveButton(maxDataAge) && removeData === 'all' &&\n\t\t\t\t\t\t\t<Row gutter={16} className='row-before-bottom-buttons'>\n\t\t\t\t\t\t\t\t<Col span={1}>\n\t\t\t\t\t\t\t\t\t<img className='warning-svg-2' src='/assets/images/icon-warning.svg' />\n\t\t\t\t\t\t\t\t</Col>\n\t\t\t\t\t\t\t\t<Col span={10}>\n\t\t\t\t\t\t\t\t\t<h4 className='thin-text'>{t('settings:dataStorage.warningOptionAllPart1')} {maxDataAge} {t('settings:dataStorage.warningOptionAllPart2')}</h4>\n\t\t\t\t\t\t\t\t</Col>\n\t\t\t\t\t\t\t</Row>\n\t\t\t\t\t}\n\n\t\t\t\t\t{\n\t\t\t\t\t\t!disableSaveButton(maxDataAge) && removeData === 'minimum' &&\n\t\t\t\t\t\t\t<Row gutter={16} className='row-before-bottom-buttons'>\n\t\t\t\t\t\t\t\t<Col span={1}>\n\t\t\t\t\t\t\t\t\t<img className='warning-svg-2' src='/assets/images/icon-warning.svg' />\n\t\t\t\t\t\t\t\t</Col>\n\t\t\t\t\t\t\t\t<Col span={10}>\n\t\t\t\t\t\t\t\t\t<h4 className='thin-text'>{t('settings:dataStorage.warningOptionBasicPart1')} {maxDataAge} {t('settings:dataStorage.warningOptionBasicPart2')}</h4>\n\t\t\t\t\t\t\t\t</Col>\n\t\t\t\t\t\t\t</Row>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\n\t\t\t\t{!editable\n\t\t\t\t\t? <Row gutter={16} className='botton-bottom-row'>\n\t\t\t\t\t\t<Col span={1} />\n\t\t\t\t\t\t<Col span={4}>\n\t\t\t\t\t\t\t<Button className='doc-button approve edit-button' onClick={() => { setEditable(true) }}>{t('settings:dataStorage.editButton')}</Button>\n\t\t\t\t\t\t</Col>\n\t\t\t\t\t</Row>\n\t\t\t\t\t: <Row gutter={16} className='botton-bottom-row'>\n\t\t\t\t\t\t<Col span={1} />\n\t\t\t\t\t\t<Col span={1}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName='doc-button darkGray cancel-button' onClick={() => {\n\t\t\t\t\t\t\t\t\tsetEditable(false)\n\t\t\t\t\t\t\t\t\tsetRemoveData(_company.settings.dataRemovalScope)\n\t\t\t\t\t\t\t\t\tsetMaxDataAge(_company.settings.dataMaxAge)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>{t('settings:dataStorage.cancelButton')}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Col>\n\t\t\t\t\t\t<Col span={1} />\n\t\t\t\t\t\t<Col span={1}>\n\t\t\t\t\t\t\t<Button className='doc-button approve save-button' disabled={disableSaveButton(+maxDataAge) && removeData} onClick={() => { updateDataStorageOptions() }}>{t('settings:dataStorage.saveButton')}</Button>\n\t\t\t\t\t\t</Col>\n\t\t\t\t\t</Row>}\n\t\t\t</Form>\n\t\t</div>\n\n\t)\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Checkbox as SemanticCheckbox, Button as SemanticButton, Radio as SemanticRadio } from 'semantic-ui-react'\n\n// In ant design max col span is 12. In semantic UI it is 16. The semantic UI to ant design column span ratio is 16/12 = 1.33.\n// Maybe this ratio will be best interpreted with a double increment on every third ant span to semantic conversion.\n// 4 becomes 5, 6 becomes 8, 9 becomes 12 and  12 becomes 16.\n\nconst spanMap = {\n\t1: 'one',\n\t2: 'two',\n\t3: 'four',\n\t4: 'five',\n\t5: 'six',\n\t6: 'eight',\n\t7: 'nine',\n\t8: 'ten',\n\t9: 'twelve',\n\t10: 'thirteen',\n\t11: 'fourteen',\n\t12: 'sixteen'\n}\n\nexport const Row = (props) => {\n\tif (!props.style) {\n\t\tprops.style = {}\n\t}\n\n\tif (!props.gutter) {\n\t\tprops.gutter = 16\n\t}\n\n\tconst distance = parseInt(props.gutter/2)\n\n\tprops.style.marginHorizontal = `-${distance}px`\n\n\tprops.children.forEach(child => {\n\t\tif (!child.props.style) {\n\t\t\tchild.props.style = {}\n\t\t}\n\n\t\tif (!child.props.style.paddingHorizontal) {\n\t\t\tchild.props.style.paddingHorizontal = `${distance}px`\n\t\t}\n\n\t});\n\n\treturn (\n\t\t<div className=\"ui grid\">\n\t\t\t<div className={`row ${props.className}`} style={props.style}>\n\t\t\t\t{props.children}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport const Col = (props) => {\n\treturn (\n\t\t<div className={`${spanMap[props.span]} wide column ${props.className}`} style={props.style}>\n\t\t\t{props.children}\n\t\t</div>\n\t)\n}\n\nexport const Button = (props) => {\n\treturn (\n\t\t<SemanticButton className={props.className} onClick={props.onClick} disabled={props.disabled}>\n\t\t\t{props.children}\n\t\t</SemanticButton>\n\t)\n}\n\nexport const Radio = (props) => {\n\treturn (\n\t\t<SemanticRadio onClick={props.onClick}>\n\t\t\t{props.children}\n\t\t</SemanticRadio>\n\t)\n}\n\nexport const Checkbox = (props) => {\n\treturn (\n\t\t<Checkbox\n\t\t\ttabindex={props.tabindex}\n\t\t\treadOnly={props.readOnly}\n\t\t\tchecked={props.checked}\n\t\t\tdisabled={props.disabled}\n\t\t\tonChange={props.onChange}\n\t\t\tlabel={props.children}\n\t\t/>\n\t)\n}\n\nRow.propTypes = {\n\tgutter: PropTypes.node,\n\tstyle: PropTypes.object\n}\n\nCol.propTypes = {\n\tspan: PropTypes.number,\n\tstyle: PropTypes.object\n}\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { Input, Popup, Icon } from 'semantic-ui-react'\nimport useErrorHandler from '../../../hooks/useErrorHandler'\nimport { clone } from 'lodash'\nimport { useStoreActions } from 'easy-peasy'\n\nconst oneDayInMs = 86400000\n\nfunction GeneralSettingsPage ({ groups, loggedUser }) {\n\tconst { t } = useTranslation(['common', 'settings/settings'])\n\n\tuseErrorHandler()\n\n\tconst updateGroup = useStoreActions(actions => actions.groups.update)\n\n\tconst [interval, setInterval] = useState(null)\n\tconst [period, setPeriod] = useState({ start: '', end: '' })\n\n\tuseEffect(() => {\n\t\tif (groups?.length > 0 && loggedUser) {\n\t\t\tconst currentGroup = groups.find(group => group.raw?.id === loggedUser.groupID)\n\t\t\tsetInterval(currentGroup?.raw?.settings?.orderLoadTimespan || null)\n\t\t}\n\t}, [groups, loggedUser])\n\n\tuseEffect(() => {\n\t\tif (!interval) return\n\t\tif (interval > 365) setInterval(365)\n\t\tsetPeriod(\n\t\t\t{\n\t\t\t\tstart: new Date().getTime() - (interval * oneDayInMs),\n\t\t\t\tend: new Date().getTime() + (interval * oneDayInMs)\n\t\t\t}\n\t\t)\n\t}, [interval])\n\n\tconst savePeriodFilter = async () => {\n\t\tif (interval === 0) setInterval(1)\n\t\tconst oldItem = clone(groups.find(group => group.raw?.id === loggedUser.groupID))\n\t\tconst newItem = oldItem\n\t\tnewItem.raw.settings.orderLoadTimespan = interval || 1\n\t\tawait updateGroup({\n\t\t\tnewItem: newItem.raw,\n\t\t\toldItem: oldItem\n\t\t})\n\t}\n\n\treturn (\n\t\t<div className='general-settings'>\n\t\t\t<div className='content'>\n\t\t\t\t<div className='header'>{t('settings/settings:generalSettingsTab.orderList')}</div>\n\t\t\t\t<div className='item'>\n\t\t\t\t\t{t('settings/settings:generalSettingsTab.filterPeriodLabel')}\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={interval}\n\t\t\t\t\t\tclassName='days-input'\n\t\t\t\t\t\tonChange={(e) => setInterval(+e.target.value)}\n\t\t\t\t\t\ttype='number' min='0' max='365'\n\t\t\t\t\t\tlabel={{ content: t('duration.day_plural') }}\n\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t\t{t('settings/settings:generalSettingsTab.beforeAfterCurrentDay')}\n\t\t\t\t\t{period?.start && period?.end && (\n\t\t\t\t\t\t<Popup\n\t\t\t\t\t\t\tclassName='tms-order-list-period-info-popup'\n\t\t\t\t\t\t\tposition='right center'\n\t\t\t\t\t\t\ttrigger={<Icon name='info circle' size='large' fitted />}\n\t\t\t\t\t\t\twide\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\ti18nKey='settings/settings:generalSettingsTab.filterPeriodLabelInfo'\n\t\t\t\t\t\t\t\tvalues={{\n\t\t\t\t\t\t\t\t\tstart: moment(period?.start).format('DD.MM.YYYY') || '',\n\t\t\t\t\t\t\t\t\tend: moment(period?.end).format('DD.MM.YYYY') || ''\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popup>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='actions'>\n\t\t\t\t<div className='doc-button approve' onClick={() => { savePeriodFilter() }}>{t('common:buttons.save')}</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nGeneralSettingsPage.propTypes = {\n\tgroups: PropTypes.array,\n\tloggedUser: PropTypes.object\n}\n\nexport default GeneralSettingsPage\n","import React, { useEffect, useCallback, useState, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Tab, Input, Icon } from 'semantic-ui-react'\nimport { forIn, set, clone } from 'lodash'\nimport matchSorter, { rankings } from 'match-sorter'\nimport useErrorHandler from '../../../hooks/useErrorHandler'\nimport toast from 'react-hot-toast'\nimport TmsPropertyTable from '../../../components/Table/TmsPropertyTable'\nimport TmsStatusOrderTable from '../../../components/Table/TmsStatusOrderTable'\nimport CombinedTransportCostTable from '../../../components/Table/CombinedTransportCostTable'\nimport TmsOptimalRoutes from '../../../components/TmsOptimalRoutes'\nimport GeneralSettings from './general-settings'\n\nexport default function VehicleGroupsFunction () {\n\tconst { t } = useTranslation(['common', 'settings-tms', 'settings/settings'])\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\tconst [scope, setScope] = useState('orderTransportProperties')\n\tconst [disabledAddButton, setDisabledAddButton] = useState(false)\n\n\tuseErrorHandler(message => {\n\t\tif (message.code === 409) {\n\t\t\ttoast.error(`${t('settings-tms:tms.messages.errorMessageDeleteOrModifyProperty')}`)\n\t\t} else {\n\t\t\ttoast.error(t('common:messages.operationFailed'))\n\t\t}\n\t})\n\t// Client Properties\n\tconst clients = useStoreState(state => state.clientsTms.items)\n\tconst reloadClients = useStoreActions(actions => actions.clientsTms.reload)\n\n\t// Client Properties\n\tconst clientProperties = useStoreState(state => state.clientProperties.items)\n\tconst isLoadingClientProperties = useStoreState(state => state.clientProperties.loading)\n\tconst reloadClientProperties = useStoreActions(actions => actions.clientProperties.reload)\n\tconst createClientProperties = useStoreActions(actions => actions.clientProperties.addItem)\n\tconst updateClientProperties = useStoreActions(actions => actions.clientProperties.update)\n\tconst removeClientProperties = useStoreActions(actions => actions.clientProperties.remove)\n\n\t// Order Properties\n\tconst orderProperties = useStoreState(state => state.orderProperties.items)\n\tconst isLoadingOrderProperties = useStoreState(state => state.orderProperties.loading)\n\tconst reloadOrderProperties = useStoreActions(actions => actions.orderProperties.reload)\n\tconst createOrderProperties = useStoreActions(actions => actions.orderProperties.addItem)\n\tconst updateOrderProperties = useStoreActions(actions => actions.orderProperties.update)\n\tconst removeOrderProperties = useStoreActions(actions => actions.orderProperties.remove)\n\n\t// Status\n\tconst orderStatus = useStoreState(state => state.orderStatusTms.items)\n\tconst isLoadingOrderStatus = useStoreState(state => state.orderStatusTms.loading)\n\tconst reloadOrderStatus = useStoreActions(actions => actions.orderStatusTms.reload)\n\tconst createOrderStatus = useStoreActions(actions => actions.orderStatusTms.addItem)\n\tconst updateOrderStatus = useStoreActions(actions => actions.orderStatusTms.update)\n\tconst removeOrderStatus = useStoreActions(actions => actions.orderStatusTms.remove)\n\n\t// combinedTransportCost\n\tconst combinedTransportCost = useStoreState(state => state.combinedTransportCost.items)\n\tconst isLoadingCombinedTransportCost = useStoreState(state => state.combinedTransportCost.loading)\n\tconst reloadFirstPageOfCombinedTransportCost = useStoreActions(actions => actions.combinedTransportCost.reloadWithPageAndCountOfResults)\n\tconst updateCombinedTransportCost = useStoreActions(actions => actions.combinedTransportCost.update)\n\n\t// Optimal Routes\n\tconst optimalRoutes = useStoreState(state => state.optimalRoutes.items)\n\tconst isLoadingOptimalRoutes = useStoreState(state => state.optimalRoutes.loading)\n\tconst reloadOptimalRoutes = useStoreActions(actions => actions.optimalRoutes.reload)\n\tconst createOptimalRoutes = useStoreActions(actions => actions.optimalRoutes.addItem)\n\tconst updateOptimalRoutes = useStoreActions(actions => actions.optimalRoutes.update)\n\tconst removeOptimalRoutes = useStoreActions(actions => actions.optimalRoutes.remove)\n\n\t// Optimal Routes\n\tconst groups = useStoreState(state => state.groups.items)\n\tconst reloadGroups = useStoreActions(actions => actions.groups.reload)\n\n\t// Sesion\n\tconst loggedUser = useStoreState(state => state.session.user)\n\n\t// States\n\n\tconst [editingOptimalRoute, setEditingOptimalRoute] = useState(null)\n\tconst [addingNewOptimalRoute, setAddingNewOptimalRoute] = useState(false)\n\n\tuseEffect(() => {\n\t\tif (addingNewOptimalRoute) {\n\t\t\tconst newOptimalRoute = optimalRoutes.find(route => !route.id)\n\t\t\tif (newOptimalRoute) {\n\t\t\t\tsetEditingOptimalRoute(newOptimalRoute)\n\t\t\t\tsetDisabledAddButton(true)\n\t\t\t}\n\t\t}\n\t}, [addingNewOptimalRoute, optimalRoutes])\n\n\tconst [searchTransportCost, setSearchTransportCost] = useState('')\n\tconst [searchStatus, setSearchStatus] = useState('')\n\n\t// Load data\n\tuseEffect(() => {\n\t\treloadClientProperties()\n\t\treloadClients()\n\t\treloadSession()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tsetDisabledAddButton(false)\n\t\tswitch (scope) {\n\t\tcase 'orderTransportProperties':\n\t\t\treloadOrderProperties('transport')\n\t\t\tbreak\n\t\tcase 'orderFreightProperties':\n\t\t\treloadOrderProperties('freight')\n\t\t\tbreak\n\t\tcase 'orderStatus':\n\t\t\treloadOrderStatus()\n\t\t\tbreak\n\t\tcase 'combinedTransportCost':\n\t\t\tsetDisabledAddButton(true)\n\t\t\treloadFirstPageOfCombinedTransportCost({ limit: 20, page: 1 })\n\t\t\tbreak\n\t\tcase 'optimalRoutes':\n\t\t\tif (editingOptimalRoute) setDisabledAddButton(true)\n\t\t\treloadOptimalRoutes()\n\t\t\tbreak\n\t\tcase 'generalSettings':\n\t\t\tsetDisabledAddButton(true)\n\t\t\treloadGroups()\n\t\t\tbreak\n\t\t}\n\t}, [scope])\n\n\tconst combinedStatuses = useMemo(() => {\n\t\treturn matchSorter(orderStatus, searchStatus, {\n\t\t\tkeys: ['raw.name', 'raw.purpose', 'raw.source', 'raw.label', 'raw.description'],\n\t\t\tthreshold: rankings.CONTAINS\n\t\t})\n\t}, [orderStatus, searchStatus])\n\n\tconst combinedTransportCostData = useMemo(() => {\n\t\treturn matchSorter(combinedTransportCost, searchTransportCost,\n\t\t\t{ keys: ['raw.name'], threshold: rankings.CONTAINS })\n\t}, [combinedTransportCost, searchTransportCost])\n\t// Callbacks\n\tconst changeScope = (e, data) => {\n\t\tsetScope(data.panes[data.activeIndex].scope)\n\t}\n\n\tconst saveRule = (edited, old, finishEditing) => {\n\t\tconst newItem = clone(old)\n\t\tforIn(edited, (value, key) => set(newItem, key, value))\n\t\tswitch (scope) {\n\t\tcase 'orderTransportProperties':\n\t\tcase 'orderFreightProperties':\n\t\t\tupdateOrderProperties({\n\t\t\t\tnewItem: newItem.raw,\n\t\t\t\toldItem: old\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'clientProperties':\n\t\t\tupdateClientProperties({\n\t\t\t\tnewItem: newItem.raw,\n\t\t\t\toldItem: old\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'orderStatus':\n\t\t\tupdateOrderStatus({\n\t\t\t\tnewItem: newItem.raw,\n\t\t\t\toldItem: old\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'combinedTransportCost':\n\t\t\tupdateCombinedTransportCost({\n\t\t\t\tnewItem: newItem.raw,\n\t\t\t\toldItem: old\n\t\t\t})\n\t\t\tbreak\n\t\t}\n\t\tfinishEditing()\n\t}\n\n\tconst createOptimalRoute = () => {\n\t\tcreateOptimalRoutes({\n\t\t\tid: null,\n\t\t\tname: null,\n\t\t\toriginalRoute: null,\n\t\t\toptimalRoute: null,\n\t\t})\n\t\tsetAddingNewOptimalRoute(true)\n\t}\n\n\tconst editOptimalRoute = route => {\n\t\tsetEditingOptimalRoute(JSON.parse(JSON.stringify(route)))\n\t\tsetDisabledAddButton(true)\n\t}\n\tconst saveOptimalRoute = route => {\n\t\tupdateOptimalRoutes(route)\n\t\t\t.then(() => {\n\t\t\t\tsetAddingNewOptimalRoute(false)\n\t\t\t\tsetEditingOptimalRoute(null)\n\t\t\t\tsetDisabledAddButton(false)\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\ttoast.error(t('messages.operationFailed'))\n\t\t\t})\n\t}\n\tconst removeOptimalRoute = route => {\n\t\tremoveOptimalRoutes(route)\n\t}\n\tconst cancelRoute = route => {\n\t\tif (addingNewOptimalRoute) {\n\t\t\tremoveOptimalRoutes(editingOptimalRoute)\n\t\t\tsetAddingNewOptimalRoute(false)\n\t\t}\n\t\tsetEditingOptimalRoute(null)\n\t\tsetDisabledAddButton(false)\n\t}\n\n\tconst onAddButtonClick = useCallback(() => {\n\t\tswitch (scope) {\n\t\tcase 'orderTransportProperties':\n\t\t\tcreateOrderProperties({\n\t\t\t\tname: '',\n\t\t\t\tvisible: false,\n\t\t\t\trequired: false,\n\t\t\t\torderType: 'transport'\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'orderFreightProperties':\n\t\t\tcreateOrderProperties({\n\t\t\t\tname: '',\n\t\t\t\tvisible: false,\n\t\t\t\trequired: false,\n\t\t\t\torderType: 'freight'\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'clientProperties':\n\t\t\tcreateClientProperties({\n\t\t\t\tname: '',\n\t\t\t\tvisible: false,\n\t\t\t\trequired: false,\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'orderStatus':\n\t\t\tcreateOrderStatus({\n\t\t\t\tname: '',\n\t\t\t\tlabel: '',\n\t\t\t\tdescription: '',\n\t\t\t\tcolor: '',\n\t\t\t\tsource: 'custom'\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'optimalRoutes':\n\t\t\tif (disabledAddButton) return\n\t\t\tcreateOptimalRoute()\n\t\t\tbreak\n\t\t}\n\t}, [scope, disabledAddButton])\n\n\tconst panes = [\n\t\t{\n\t\t\tscope: 'orderTransportProperties',\n\t\t\tmenuItem: t('settings-tms:tms.scopes.orderTransportProperties', { count: 10 }),\n\t\t\trender: useCallback(() =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<TmsPropertyTable\n\t\t\t\t\t\tscope='orderTransportProperties'\n\t\t\t\t\t\tdata={orderProperties}\n\t\t\t\t\t\tclientProperties={clientProperties}\n\t\t\t\t\t\tclients={clients}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={row => removeOrderProperties(row).then(() => reloadOrderProperties('transport'))}\n\t\t\t\t\t\tisLoading={isLoadingOrderProperties}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>, [orderProperties, clients, isLoadingOrderProperties])\n\t\t},\n\t\t{\n\t\t\tscope: 'orderFreightProperties',\n\t\t\tmenuItem: t('settings-tms:tms.scopes.orderFreightProperties', { count: 10 }),\n\t\t\trender: useCallback(() =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<TmsPropertyTable\n\t\t\t\t\t\tscope='orderFreightProperties'\n\t\t\t\t\t\tdata={orderProperties}\n\t\t\t\t\t\tclientProperties={clientProperties}\n\t\t\t\t\t\tclients={clients}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={row => removeOrderProperties(row).then(() => reloadOrderProperties('freight'))}\n\t\t\t\t\t\tisLoading={isLoadingOrderProperties}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>, [orderProperties, clients, isLoadingOrderProperties])\n\t\t},\n\t\t{\n\t\t\tscope: 'clientProperties',\n\t\t\tmenuItem: t('settings-tms:tms.scopes.clientProperties', { count: 10 }),\n\t\t\trender: useCallback(() =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<TmsPropertyTable\n\t\t\t\t\t\tscope='clientProperties'\n\t\t\t\t\t\tdata={clientProperties}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={row => removeClientProperties(row).then(() => reloadClientProperties())}\n\t\t\t\t\t\tisLoading={isLoadingClientProperties}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>, [clientProperties, isLoadingClientProperties])\n\t\t},\n\t\t{\n\t\t\tscope: 'orderStatus',\n\t\t\tmenuItem: t('settings-tms:tms.scopes.orderStatus', { count: 10 }),\n\t\t\trender: useCallback(() =>\n\t\t\t\t<div className='scroller noBorderTop'>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={searchStatus}\n\t\t\t\t\t\tclassName='search-input'\n\t\t\t\t\t\ticon={searchStatus.length > 0 ? <Icon name='remove' link onClick={() => setSearchStatus('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\tplaceholder={t('settings-tms:tms.tableHeader.name')}\n\t\t\t\t\t\tonChange={e => setSearchStatus(e.target.value)}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\tclear\n\t\t\t\t\t/>\n\t\t\t\t\t<TmsStatusOrderTable\n\t\t\t\t\t\tscope='orderStatus'\n\t\t\t\t\t\tdata={combinedStatuses}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={row => removeOrderStatus(row)}\n\t\t\t\t\t\tisLoading={isLoadingOrderStatus}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>, [combinedStatuses, isLoadingOrderStatus])\n\t\t},\n\t\t{\n\t\t\tscope: 'combinedTransportCost',\n\t\t\tmenuItem: t('settings-tms:tms.scopes.combinedTransportCost', { count: 10 }),\n\t\t\trender: useCallback(() =>\n\t\t\t\t<div className='scroller noBorderTop'>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={searchTransportCost}\n\t\t\t\t\t\tclassName='search-input'\n\t\t\t\t\t\ticon={searchTransportCost.length > 0 ? <Icon name='remove' link onClick={() => setSearchTransportCost('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\tplaceholder={t('settings-tms:tms.tableHeader.name')}\n\t\t\t\t\t\tonChange={e => setSearchTransportCost(e.target.value)}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t\tclear\n\t\t\t\t\t/>\n\t\t\t\t\t<CombinedTransportCostTable\n\t\t\t\t\t\tscope='combinedTransportCost'\n\t\t\t\t\t\tdata={combinedTransportCostData}\n\t\t\t\t\t\treloadFirstPageOfCombinedTransportCost={reloadFirstPageOfCombinedTransportCost}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tisLoading={isLoadingCombinedTransportCost}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>, [combinedTransportCostData, isLoadingCombinedTransportCost])\n\t\t},\n\t\t{\n\t\t\tscope: 'optimalRoutes',\n\t\t\tmenuItem: t('settings-tms:tms.scopes.optimalRoutes', { count: 10 }),\n\t\t\trender: useCallback(() =>\n\t\t\t\t<div className='scroller noBorderTop'>\n\t\t\t\t\t<TmsOptimalRoutes\n\t\t\t\t\t\toptimalRoutes={optimalRoutes}\n\t\t\t\t\t\tisLoading={isLoadingOptimalRoutes}\n\t\t\t\t\t\teditingOptimalRoute={editingOptimalRoute}\n\t\t\t\t\t\teditRoute={editOptimalRoute}\n\t\t\t\t\t\tsaveRoute={saveOptimalRoute}\n\t\t\t\t\t\tremoveRoute={removeOptimalRoute}\n\t\t\t\t\t\tcancelRoute={cancelRoute}\n\t\t\t\t\t/>\n\t\t\t\t</div>, [optimalRoutes, isLoadingOptimalRoutes, editingOptimalRoute])\n\t\t},\n\t\t{\n\t\t\tscope: 'generalSettings',\n\t\t\tmenuItem: t('settings/settings:tabs.generalSettings'),\n\t\t\trender: useCallback(() =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<GeneralSettings\n\t\t\t\t\t\tgroups={groups}\n\t\t\t\t\t\tloggedUser={loggedUser}\n\t\t\t\t\t/>\n\t\t\t\t</div>, [groups, loggedUser])\n\t\t},\n\t]\n\n\treturn (\n\t\t<div className='page-rules settings-page tms'>\n\t\t\t<div className='filters'>\n\t\t\t\t<div />\n\t\t\t\t<div onClick={onAddButtonClick} className={`add doc-button green${disabledAddButton ? ' disabled' : ''}`}>{t('settings-tms:tms.actions.add')}</div>\n\t\t\t</div>\n\t\t\t<Tab className='vehicle-groups-tab' size='big' menu={{ secondary: true, pointing: true }} panes={panes} onTabChange={changeScope} />\n\t\t</div>\n\t)\n}\n","import React, { useMemo, useEffect, useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Tab, Button, Input, Icon, Card } from 'semantic-ui-react'\nimport { forIn, set, clone, orderBy } from 'lodash'\nimport ClientsTable from '../../components/Table/ClientsTable'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport matchSorter, { rankings } from 'match-sorter'\nimport ContactPersonsTable from '../../components/Table/ContactPersonsTable'\n\nexport default function VehicleGroupsFunction () {\n\tconst { t } = useTranslation(['common', 'clients-tms'])\n\n\tuseErrorHandler()\n\n\t// clients\n\tconst clients = useStoreState(state => state.clientsTms.items)\n\tconst clientProperties = useStoreState(state => state.clientProperties.items)\n\tconst reloadClients = useStoreActions(actions => actions.clientsTms.reload)\n\tconst createClient = useStoreActions(actions => actions.clientsTms.addItem)\n\tconst updateClient = useStoreActions(actions => actions.clientsTms.update)\n\tconst removeClient = useStoreActions(actions => actions.clientsTms.remove)\n\tconst isLoadingClients = useStoreState(state => state.clientsTms.loading)\n\n\t// sesion\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\n\t// client properties\n\tconst reloadClientProperties = useStoreActions(actions => actions.clientProperties.reload)\n\tconst isLoadingClientProperties = useStoreState(state => state.clientProperties.loading)\n\n\tconst [search, setSearch] = useState('')\n\tconst [editable, setEditable] = useState(false)\n\tconst [data, setData] = useState([])\n\t// Callbacks\n\tconst saveRule = async (edited, old, finishEditing) => {\n\t\tconst newItem = clone(old)\n\t\tforIn(edited, (value, key) => set(newItem, key, value))\n\t\tif (newItem.raw?.properties?.length) {\n\t\t\tnewItem.raw.properties = newItem.raw?.properties.filter(prop => prop.value !== '' && prop.value !== null)\n\t\t}\n\t\tawait updateClient({\n\t\t\tnewItem: newItem.raw,\n\t\t\toldItem: old\n\t\t})\n\t\tfinishEditing()\n\t\treloadClients()\n\t}\n\n\tuseEffect(() => {\n\t\tconst parse = (client) => {\n\t\t\tconst properties = [...client.raw.properties]\n\t\t\tconst newProperties = []\n\t\t\tfor (const clientProperty of clientProperties) {\n\t\t\t\tconst propertyIndex = properties.findIndex(property => property.id === clientProperty.raw.id)\n\t\t\t\tnewProperties.push({\n\t\t\t\t\tid: clientProperty.raw.id,\n\t\t\t\t\tvalue: propertyIndex > -1 ? properties[propertyIndex].value : null\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn {\n\t\t\t\traw: {\n\t\t\t\t\t...client.raw,\n\t\t\t\t\tproperties: newProperties\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsetData(matchSorter(orderBy(clients.map(parse), ['raw.name']), search, { keys: ['raw.name'], threshold: rankings.CONTAINS }))\n\t}, [clients, search, clientProperties])\n\n\tconst isLoadingMemo = useMemo(() => {\n\t\tif (isLoadingClients || isLoadingClientProperties) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}, [isLoadingClients, isLoadingClientProperties])\n\n\tconst deleteRule = (row) => {\n\t\tsetEditable(false)\n\t\tif (!row.raw?.id) {\n\t\t\tremoveClient(clients[0])\n\t\t}\n\t}\n\n\tconst onAddButtonClick = useCallback(() => {\n\t\tconst properties = []\n\t\tif (clientProperties && clientProperties.length > 0) {\n\t\t\tfor (const property of clientProperties) {\n\t\t\t\tif (property.raw.visible) {\n\t\t\t\t\tproperties.push({ value: '', id: property.raw.id })\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcreateClient({\n\t\t\tname: '',\n\t\t\tproperties: properties,\n\t\t})\n\t\tsetEditable(true)\n\t}, [clients, clientProperties])\n\n\tconst renderExpand = ({ row }) => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Card className='panel inverted contact-persons-table-card'>\n\t\t\t\t\t<ContactPersonsTable\n\t\t\t\t\t\trowIndex={row?.index}\n\t\t\t\t\t\tcontactPersons={row?.original?.raw?.contactPersons || []}\n\t\t\t\t\t\tclient={row?.original}\n\t\t\t\t\t\tsetEditable={setEditable}\n\t\t\t\t\t\tupdateClient={updateClient}\n\t\t\t\t\t\treloadClients={reloadClients}\n\t\t\t\t\t/>\n\t\t\t\t</Card>\n\t\t\t</>)\n\t}\n\n\tconst panes = useMemo(() => [\n\t\t{\n\t\t\trender: () =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<ClientsTable\n\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\tisLoading={isLoadingMemo}\n\t\t\t\t\t\tclientProperties={clientProperties}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={deleteRule}\n\t\t\t\t\t\teditable={editable}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t\tsetEditable={setEditable}\n\t\t\t\t\t\trenderRowSubComponent={renderExpand}\n\t\t\t\t\t/>\n\t\t\t\t</div>,\n\t\t},\n\t], [data, clientProperties, clients, search, editable, isLoadingMemo])\n\t// Load data\n\tuseEffect(() => {\n\t\treloadSession()\n\t\treloadClientProperties()\n\t\treloadClients()\n\t}, [])\n\n\treturn (\n\t\t<>\n\t\t\t{clients && clientProperties &&\n\t\t\t\t<div className='page-rules'>\n\t\t\t\t\t<div className='filters'>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tclassName='search-input'\n\t\t\t\t\t\t\ticon={search.length > 0 ? <Icon name='remove' link onClick={() => setSearch('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\t\tplaceholder={t('clients-tms:search.placeholder')}\n\t\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\t\tonChange={e => setSearch(e.target.value)}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button disabled={editable} content={t('clients-tms:actions.add')} onClick={onAddButtonClick} className='add' />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Tab className='clients-tab' size='big' panes={panes} />\n\t\t\t\t</div>}\n\t\t</>\n\t)\n}\n","import React, { useMemo, useEffect, useState } from 'react'\nimport { Input, Grid, Card, Checkbox, Dropdown } from 'semantic-ui-react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport api from '../../services/api'\nimport Timeline from './timeline'\nimport TimelineHeader from './timeline-header'\nimport moment from 'moment'\nimport GoogleMapReact from 'google-map-react'\nimport usePolyline from '../../hooks/usePolyline'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport { generateRandomColor } from '../../utils/strings'\nimport UserMarker from '../../components/Map/UserMarker'\nimport MarkerStationary from '../../components/Map/MarkerStationary'\nimport { orderBy, chain, get, find, intersectionBy } from 'lodash'\n\nexport default function OrderDetails () {\n\tconst { t } = useTranslation(['common', 'map', 'tms/order-details'])\n\n\tuseErrorHandler()\n\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\tconst googleAPIKey = useStoreState(state => state.global.googleAPIKey)\n\n\t// statusOrder\n\tconst orderStatuses = useStoreState(state => state.orderStatusTms.items)\n\tconst reloadOrderStatuses = useStoreActions(actions => actions.orderStatusTms.reload)\n\n\t// freightTms\n\tconst ordersTmsFreight = useStoreState(state => state.ordersTmsFreight.items)\n\tconst reloadOrdersTmsFreight = useStoreActions(actions => actions.ordersTmsFreight.reload)\n\n\t// users\n\tconst users = useStoreState(state => state.users.items)\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\n\t// vehicleGroup\n\tconst vehicleGroups = useStoreState(state => state.vehicleGroups.items)\n\tconst reloadVehicleGroups = useStoreActions(actions => actions.vehicleGroups.reload)\n\n\t// plannedRoutes\n\tconst plannedRoutes = useStoreState(state => state.plannedTmsRoutes.items)\n\tconst reloadPlannedRoutes = useStoreActions(actions => actions.plannedTmsRoutes.reload)\n\n\t// events\n\tconst events = useStoreState(state => state.events.items)\n\tconst reloadEventsWithPeriod = useStoreActions(actions => actions.events.reloadEventsWithPeriod)\n\n\t// vehicles\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst getVehicles = useStoreActions(actions => actions.vehicles.reload)\n\n\tconst [selectedTransport, setSelectedTransport] = useState(null)\n\tconst [selectedTransportVehicleGroup, setSelectedTransportVehicleGroup] = useState(null)\n\tconst [attachmentsArray, setAttachmentsArray] = useState(null)\n\tconst [statusTimelineArray, setStatusTimelineArray] = useState([])\n\tconst [map, setMap] = useState()\n\tconst [mapsAPI, setMapsAPI] = useState()\n\tconst [historyHours, setHistoryHours] = useState(3)\n\tconst [vehiclesIDs, setVehiclesIDs] = useState([])\n\tconst [historicRoute0, setHistoricRoute0] = useState(null)\n\tconst [historicStationaries0, setHistoricStationaries0] = useState([])\n\tconst [historicRoute1, setHistoricRoute1] = useState(null)\n\tconst [historicStationaries1, setHistoricStationaries1] = useState([])\n\n\tconst [timelineFilters, setTimelineFilters] = useState({ createdBy: 'user', filter: '' })\n\n\tconst timelineDropdownOptions = [\n\t\t{ key: 'mobile', value: 'mobile', text: 'Traffic events' },\n\t\t{ key: 'web', value: 'web', text: 'Change of status' }\n\t]\n\n\tuseEffect(() => {\n\t\tconst orderID = window.location.pathname.split('/').reverse()[0]\n\t\treloadSession()\n\t\tapi.get('tms/orders/transport/' + orderID).then((res) => { setSelectedTransport(res) })\n\t\treloadOrdersTmsFreight({ $where: { transport_order_id: orderID } })\n\t\treloadUsers()\n\t\treloadVehicleGroups({ $where: { type: 'manual' } })\n\t\treloadPlannedRoutes()\n\t\treloadOrderStatuses()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!selectedTransport || !ordersTmsFreight?.length) return\n\t\tconst lastFreight = ordersTmsFreight[ordersTmsFreight.length - 1]?.raw\n\t\treloadEventsWithPeriod({\n\t\t\ttransportCreatedAt: moment(selectedTransport?.transportOrder?.createdAt).valueOf(),\n\t\t\tlastFreightArrivalTimestamp: (lastFreight?.waypoints?.length && lastFreight?.waypoints[1]?.arrival_actual)\n\t\t\t\t? lastFreight?.waypoints[1]?.arrival_actual : moment().valueOf()\n\t\t})\n\t}, [selectedTransport, ordersTmsFreight])\n\n\tuseEffect(() => {\n\t\tif (!events?.length || !ordersTmsFreight?.length || !selectedTransport) return\n\n\t\tconst filteredEvents = events.filter(event =>\n\t\t\tevent?.raw?.details.transport_order_id === selectedTransport?.transportOrder?.id\n\t\t)\n\t\tsetStatusTimelineArray(orderBy(filteredEvents, 'raw.timestamp', 'desc'))\n\t}, [events, ordersTmsFreight, selectedTransport])\n\n\tuseEffect(() => {\n\t\tif (!selectedTransport || !vehicleGroups?.length) return\n\t\tsetSelectedTransportVehicleGroup(vehicleGroups.find(vehicleGroup => vehicleGroup?.raw.id === selectedTransport?.transportOrder?.vehicleGroupID)?.raw || null)\n\t}, [selectedTransport, vehicleGroups])\n\n\tuseEffect(() => {\n\t\tif (!selectedTransportVehicleGroup?.vehicles?.length) return\n\t\tconst vehiclesIDs = selectedTransportVehicleGroup.vehicles.filter(v => v)\n\t\tif (!vehiclesIDs?.length) return\n\t\tsetVehiclesIDs(vehiclesIDs)\n\t\tgetVehicles({ $where: { id: vehiclesIDs } })\n\t}, [selectedTransportVehicleGroup])\n\n\tuseEffect(() => {\n\t\tif (ordersTmsFreight && ordersTmsFreight.length > 0) {\n\t\t\tconst attachmentsArrayTemp = []\n\t\t\tfor (const freight of ordersTmsFreight) {\n\t\t\t\tif (freight?.raw?.attachments && freight?.raw?.attachments.length > 0) {\n\t\t\t\t\tfor (const attachment of freight?.raw?.attachments) {\n\t\t\t\t\t\tattachment.freightID = freight?.raw?.id\n\t\t\t\t\t\tattachmentsArrayTemp.push(attachment)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (attachmentsArrayTemp?.length) {\n\t\t\t\tsetAttachmentsArray(attachmentsArrayTemp)\n\t\t\t}\n\t\t}\n\t}, [ordersTmsFreight])\n\n\tconst filteredEvents = useMemo(() => {\n\t\tif (!statusTimelineArray?.length) return []\n\n\t\tconst filteredByAuthor = [...statusTimelineArray].filter((event) =>\n\t\t\t(timelineFilters.createdBy === 'system' && event.raw?.triggeredBy === 'system') ||\n\t\t\t(timelineFilters.createdBy !== 'system' && event.raw?.triggeredBy !== 'system')\n\t\t)\n\t\tif (!filteredByAuthor?.length) return []\n\n\t\tlet filteredByType = !timelineFilters.filter ? filteredByAuthor : []\n\t\tif (timelineFilters.filter) {\n\t\t\tfilteredByType = [...statusTimelineArray].filter((event) =>\n\t\t\t\t(timelineFilters.filter === 'mobile' && (event.raw?.type !== 'status_change' && event.raw?.type !== 'order_created')) ||\n\t\t\t\t(timelineFilters.filter === 'web' && (event.raw?.type === 'status_change' || event.raw?.type === 'order_created'))\n\t\t\t)\n\t\t}\n\t\treturn intersectionBy(filteredByAuthor, filteredByType, 'raw.id')\n\t}, [timelineFilters.createdBy, timelineFilters.filter, statusTimelineArray])\n\n\tconst polylines = useMemo(() => {\n\t\tconst routes = plannedRoutes\n\t\t\t.filter(route => (route.raw.id === selectedTransport.transportOrder.plannedRouteID) || ordersTmsFreight.some(f => f.raw.plannedRouteID === route.raw.id))\n\n\t\treturn routes.map((route, i) => ({\n\t\t\tpath: route.raw.points.map(p => ({ lat: p[1], lng: p[0] })),\n\t\t\tgeodesic: true,\n\t\t\tstrokeColor: generateRandomColor(i),\n\t\t\tstrokeOpacity: 1,\n\t\t\tstrokeWeight: 2,\n\t\t\tzIndex: 1,\n\t\t\teditable: false,\n\t\t\tclickable: false,\n\t\t}))\n\t}, [selectedTransport, ordersTmsFreight, plannedRoutes])\n\n\tconst lastFreight = useMemo(() => {\n\t\tif (!ordersTmsFreight?.length) return\n\t\treturn ordersTmsFreight[ordersTmsFreight.length - 1].raw\n\t}, [ordersTmsFreight])\n\n\tconst findUser = (userID) => {\n\t\tconst user = users.find(user => user.raw.id === userID) || ''\n\t\tif (!user) return 'no user'\n\t\treturn `${user?.raw?.firstName} ${user?.raw?.lastName}`\n\t}\n\n\tconst getDriverFullName = (vehicleGroupID) => {\n\t\tif (!vehicleGroupID || !vehicleGroups?.length) return '-'\n\n\t\tconst driverIDs = chain(vehicleGroups)\n\t\t\t.find(vg => get(vg, 'raw.id') === get(selectedTransport, 'transportOrder.vehicleGroupID'))\n\t\t\t.get('raw.drivers')\n\t\t\t.defaultTo([])\n\t\t\t.value()\n\t\tconst driverNames = driverIDs.map(driverID => {\n\t\t\tconst user = find(users, user => get(user, 'raw.id') === driverID)\n\t\t\tif (!user) return null\n\t\t\treturn `${get(user, 'raw.firstName')} ${get(user, 'raw.lastName')}`\n\t\t}).filter(v => v)\n\n\t\treturn driverNames\n\t}\n\n\tconst findFreightDeparture = freight => {\n\t\treturn freight.waypoints?.[0]\n\t}\n\tconst findFreightArrival = freight => {\n\t\tif (freight.waypoints.length === 0) return null\n\t\treturn freight.waypoints[freight.waypoints.length - 1]\n\t}\n\n\tconst downloadAttachment = (attachment) => {\n\t\tapi.downloadFile(`tms/orders/freight/${attachment.freightID}/attachments/${attachment?.name}`).then(blob => {\n\t\t\tconst url = window.URL.createObjectURL(blob)\n\t\t\tconst a = document.createElement('a')\n\t\t\ta.href = url\n\t\t\ta.download = attachment?.name\n\t\t\tdocument.body.appendChild(a)\n\t\t\ta.click()\n\t\t\ta.remove()\n\t\t})\n\t}\n\n\tconst onGoogleAPILoaded = ({ map, maps }) => {\n\t\tsetMap(map)\n\t\tsetMapsAPI(maps)\n\t}\n\n\tusePolyline(polylines, map, mapsAPI, true, {}, null, null)\n\n\tconst getRoute = async (vehID, idx) => {\n\t\tif (!historyHours || !mapsAPI || !map) return\n\t\tconst startDate = moment().subtract(historyHours, 'hours').valueOf()\n\t\tconst query = {\n\t\t\t'$where[vehicle_id]': vehID,\n\t\t\t'$where[>=][start_time]': startDate,\n\t\t\t'$where[<=][start_time]': moment().valueOf(), // endDate will always be now\n\t\t}\n\n\t\tconst response = await api.get('routes', query)\n\t\tif (!response?.route) return\n\n\t\tlet points = []\n\t\tlet stationaryPoints = []\n\t\tconst routes = response.route.sortBy('start.time')\n\t\troutes.filter(r => { return r.type === 'moving' || r.type === null }).forEach(route => {\n\t\t\tconst coordinates = route.points.simplified.map(x => { return { lat: x.gps.coordinates[1], lng: x.gps.coordinates[0] } })\n\t\t\tpoints = points.concat(coordinates)\n\t\t})\n\t\troutes.filter(r => { return r.type === 'stationary' }).forEach(route => {\n\t\t\tconst stationaryRoute = { id: route.id, lat: route.points.simplified[0].gps.coordinates[1], lng: route.points.simplified[0].gps.coordinates[0] }\n\t\t\tstationaryPoints = stationaryPoints.concat(stationaryRoute)\n\t\t})\n\n\t\tconst geodesicPolyline = new mapsAPI.Polyline({\n\t\t\tstrokeColor: '#606062',\n\t\t\tstrokeWeight: 10,\n\t\t\tpath: points,\n\t\t\tid: vehID,\n\t\t})\n\n\t\tgeodesicPolyline.setMap(map)\n\n\t\tif (idx === 0) {\n\t\t\tif (historicRoute0) historicRoute0.setMap(null)\n\t\t\tsetHistoricRoute0(geodesicPolyline)\n\t\t\tsetHistoricStationaries0(stationaryPoints)\n\t\t} else {\n\t\t\tif (historicRoute1) historicRoute1.setMap(null)\n\t\t\tsetHistoricRoute1(geodesicPolyline)\n\t\t\tsetHistoricStationaries1(stationaryPoints)\n\t\t}\n\t}\n\n\tconst getHistory = () => {\n\t\tvehiclesIDs.forEach((id, idx) => {\n\t\t\tgetRoute(id, idx)\n\t\t})\n\t}\n\n\tconst getStatusColor = (statusID) => {\n\t\tif (!statusID || !orderStatuses?.length) return\n\t\tconst statusesTransportSource = orderStatuses.filter(order =>\n\t\t\torder.raw.source === selectedTransport?.transportOrder?.source)\n\t\treturn statusesTransportSource.find(order => order?.raw?.id === statusID)?.raw?.color || ''\n\t}\n\n\tconst showStatusType = (event) => {\n\t\tconst type = event?.raw?.type\n\t\tif (!type) return '-'\n\t\tif (type === 'status_change') {\n\t\t\treturn event?.raw?.details?.status_name\n\t\t} else {\n\t\t\treturn t(`tms/order-details:timelineContainer.events.${event?.raw?.type}`)\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Grid columns={2} divided className='details-container'>\n\t\t\t\t<Grid.Row>\n\t\t\t\t\t<Grid.Column width={12} className='details-column'>\n\t\t\t\t\t\t<h3>{t('tms/order-details:detailsContainer.title')}</h3>\n\t\t\t\t\t\t{selectedTransport &&\n\t\t\t\t\t\t\t<TimelineHeader className='timeline-header-component'>\n\t\t\t\t\t\t\t\t<Timeline.Item>\n\t\t\t\t\t\t\t\t\t<Grid columns={3}>\n\t\t\t\t\t\t\t\t\t\t<Grid.Row>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className='header-column'><b className='bold'>{t('tms/order-details:detailsContainer.transportOrder')}</b></span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t<div className='drivers-column'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span><b className='bold'>{t('tms/order-details:detailsContainer.drivers')}: </b> {getDriverFullName(selectedTransport?.transportOrder?.vehicleGroupID)[0]}{getDriverFullName(selectedTransport?.transportOrder?.vehicleGroupID)[1] && <span>, {getDriverFullName(selectedTransport?.transportOrder?.vehicleGroupID)[1]}</span>}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span><b className='bold'>{t('tms/order-details:detailsContainer.dispatcher')}: </b>{getDriverFullName(selectedTransport?.transportOrder?.vehicleGroupID)[0]}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className='header-column'><b className='bold'>{t('tms/order-details:detailsContainer.departure')}</b></span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t<div className='depature-column'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ordersTmsFreight?.length ? <span>{t('tms/order-details:detailsContainer.plannedDeparture')}: {findFreightDeparture(ordersTmsFreight[0].raw) ? `${moment(findFreightDeparture(ordersTmsFreight[0].raw).departure_expected).utc().format('DD.MM.YYYY HH:mm')} UTC` : '-'}</span> : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/order-details:detailsContainer.actualDeparture')}: {ordersTmsFreight[0]?.raw?.waypoints[0]?.arrival_actual ? `${moment(ordersTmsFreight[0]?.raw?.waypoints[0]?.arrival_actual).utc().format('DD.MM.YYYY HH:mm')} UTC` : <span>-</span>}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className='header-column'><b className='bold'>{t('tms/order-details:detailsContainer.arrival')}</b></span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t<div className='arrival-column'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ordersTmsFreight?.length ? <span>{t('tms/order-details:detailsContainer.plannedArrival')}: {findFreightArrival(ordersTmsFreight[ordersTmsFreight.length - 1].raw) ? `${moment(findFreightArrival(ordersTmsFreight[ordersTmsFreight.length - 1].raw).arrival_expected).utc().format('DD.MM.YYYY HH:mm')} UTC` : '-'}</span> : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/order-details:detailsContainer.actualArrival')}: {lastFreight?.waypoints[1]?.arrival_actual ? `${moment(lastFreight.waypoints[1].arrival_actual).utc().format('DD.MM.YYYY HH:mm')} UTC` : '-'}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t\t</Timeline.Item>\n\t\t\t\t\t\t\t\t{ordersTmsFreight && ordersTmsFreight.length && ordersTmsFreight.map((freight, index) =>\n\t\t\t\t\t\t\t\t\t<Timeline.Item key={index}>\n\t\t\t\t\t\t\t\t\t\t<Grid columns={3} className='freight-order-item'>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Row>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='header-column'><b className='bold'>{t('tms/order-details:detailsContainer.freightOrder')}</b></span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='drivers-column'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span><b className='bold'>{t('tms/order-details:detailsContainer.drivers')}: </b> {getDriverFullName(selectedTransport?.transportOrder?.vehicleGroupID)[0]}{getDriverFullName(selectedTransport?.transportOrder?.vehicleGroupID)[1] && <span>, {getDriverFullName(selectedTransport?.transportOrder?.vehicleGroupID)[1]}</span>}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span><b className='bold'>{t('tms/order-details:detailsContainer.dispatcher')}: </b> {getDriverFullName(selectedTransport?.transportOrder?.vehicleGroupID)[0]}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='header-column'><b className='bold'>{t('tms/order-details:detailsContainer.departure')}</b></span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='depature-column'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/order-details:detailsContainer.plannedDeparture')}:  {(freight.raw?.waypoints?.length && freight.raw?.waypoints[0]?.departure_planned) ? `${moment(freight.raw?.waypoints[0]?.departure_planned).utc().format('DD.MM.YYYY HH:mm')} UTC` : <span>-</span>}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/order-details:detailsContainer.expectedDeparture')}:  {(freight.raw?.waypoints?.length && freight.raw?.waypoints[0]?.departure_expected) ? `${moment(freight.raw?.waypoints[0]?.departure_expected).utc().format('DD.MM.YYYY HH:mm')} UTC` : <span>-</span>}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/order-details:detailsContainer.actualDeparture')}:  {(freight.raw?.waypoints?.length && freight.raw?.waypoints[0]?.arrival_actual) ? `${moment(freight.raw?.waypoints[0]?.arrival_actual).utc().format('DD.MM.YYYY HH:mm')} UTC` : <span>-</span>}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='header-column'><b className='bold'>{t('tms/order-details:detailsContainer.arrival')}</b></span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='arrival-column'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/order-details:detailsContainer.plannedArrival')}: {(freight.raw?.waypoints?.length === 2 && freight.raw?.waypoints[1]?.arrival_planned) ? `${moment(freight.raw?.waypoints[1]?.arrival_planned).utc().format('DD.MM.YYYY HH:mm')} UTC` : <span>-</span>}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/order-details:detailsContainer.expectedArrival')}: {(freight.raw?.waypoints?.length === 2 && freight.raw?.waypoints[1]?.arrival_expected) ? `${moment(freight.raw?.waypoints[1]?.arrival_expected).utc().format('DD.MM.YYYY HH:mm')} UTC` : <span>-</span>} </span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{t('tms/order-details:detailsContainer.actualArrival')}:  {(freight.raw?.waypoints?.length === 2 && freight.raw?.waypoints[1]?.arrival_actual) ? `${moment(freight.raw?.waypoints[1]?.arrival_actual).utc().format('DD.MM.YYYY HH:mm')} UTC` : <span>-</span>}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t\t\t</Timeline.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</TimelineHeader>}\n\t\t\t\t\t</Grid.Column>\n\n\t\t\t\t\t<Grid.Column width={4} className='attachments-column'>\n\t\t\t\t\t\t<h3>{t('tms/order-details:attachmentsContainer.title')}</h3>\n\t\t\t\t\t\t{attachmentsArray?.length && attachmentsArray.map((attachment, index) =>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName='document-span'\n\t\t\t\t\t\t\t\tonClick={() => { downloadAttachment(attachment) }}\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{attachment.name}\n\t\t\t\t\t\t\t\t<i className='download icon margin-left' />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</Grid.Row>\n\t\t\t</Grid>\n\n\t\t\t<Grid columns={2} divided className='time-and-map-row'>\n\t\t\t\t<Grid.Row>\n\t\t\t\t\t<Grid.Column width={5} className='timeline-column'>\n\t\t\t\t\t\t<h4 className='timeline-header'>{t('tms/order-details:timelineContainer.title')}</h4>\n\t\t\t\t\t\t<Grid columns={2} className='timeline-filters-grid'>\n\t\t\t\t\t\t\t<Grid.Row>\n\t\t\t\t\t\t\t\t<Grid.Column width={6}>\n\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\tlabel={t('tms/order-details:timelineContainer.createdBySystem')}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setTimelineFilters({\n\t\t\t\t\t\t\t\t\t\t\t...timelineFilters,\n\t\t\t\t\t\t\t\t\t\t\tcreatedBy: timelineFilters.createdBy === 'user' ? 'system' : 'user',\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t<Grid.Column width={9} className='filter-dropdown-column'>\n\t\t\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\t\t\tplaceholder={t('tms/order-details:timelineContainer.filterDropdown.placeholder')}\n\t\t\t\t\t\t\t\t\t\tonChange={(e, d) => setTimelineFilters({\n\t\t\t\t\t\t\t\t\t\t\t...timelineFilters,\n\t\t\t\t\t\t\t\t\t\t\tfilter: d.value\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\toptions={timelineDropdownOptions}\n\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\tselection\n\t\t\t\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t</Grid>\n\n\t\t\t\t\t\t{statusTimelineArray?.length &&\n\t\t\t\t\t\t\t<Timeline className='timeline'>\n\t\t\t\t\t\t\t\t{filteredEvents.map((event, index) =>\n\t\t\t\t\t\t\t\t\t<Timeline.Item key={index}>\n\t\t\t\t\t\t\t\t\t\t<Card>\n\t\t\t\t\t\t\t\t\t\t\t<Card.Content>\n\t\t\t\t\t\t\t\t\t\t\t\t<Card.Header>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{event?.raw?.details?.status_name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span style={{ color: getStatusColor(event?.raw?.details?.status_id) }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{event?.raw?.details?.status_name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: <span>{showStatusType(event)}</span>}\n\t\t\t\t\t\t\t\t\t\t\t\t</Card.Header>\n\t\t\t\t\t\t\t\t\t\t\t\t<Card.Description>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span> <b>{t('tms/order-details:timelineContainer.date')}:</b> {event?.raw?.createdAt ? moment(event?.raw?.createdAt).format('DD.MM.YYYY HH:mm') : ''}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{users &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span><b>{t('tms/order-details:timelineContainer.registeredBy')}: {event?.raw?.triggeredBy === 'system' ? 'system' : findUser(event?.raw?.triggeredBy)} </b>  </span>}\n\t\t\t\t\t\t\t\t\t\t\t\t</Card.Description>\n\t\t\t\t\t\t\t\t\t\t\t</Card.Content>\n\t\t\t\t\t\t\t\t\t\t</Card>\n\t\t\t\t\t\t\t\t\t</Timeline.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Timeline>}\n\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t<Grid.Column width={11} className='map-column'>\n\t\t\t\t\t\t<GoogleMapReact\n\t\t\t\t\t\t\tclassName='ember-google-map'\n\t\t\t\t\t\t\tbootstrapURLKeys={{ key: googleAPIKey, libraries: ['places', 'geometry'] }}\n\t\t\t\t\t\t\tdefaultCenter={{ lat: 45, lng: 25 }}\n\t\t\t\t\t\t\tdefaultZoom={5}\n\t\t\t\t\t\t\toptions={{\n\t\t\t\t\t\t\t\tstreetViewControl: true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonGoogleApiLoaded={onGoogleAPILoaded}\n\t\t\t\t\t\t\t// onClick={onMapClick}\n\t\t\t\t\t\t\tyesIWantToUseGoogleMapApiInternals\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{historicStationaries0.map(markerStationary => (\n\t\t\t\t\t\t\t\t<MarkerStationary\n\t\t\t\t\t\t\t\t\tkey={markerStationary.id}\n\t\t\t\t\t\t\t\t\tlat={markerStationary.lat}\n\t\t\t\t\t\t\t\t\tlng={markerStationary.lng}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{historicStationaries1.map(markerStationary => (\n\t\t\t\t\t\t\t\t<MarkerStationary\n\t\t\t\t\t\t\t\t\tkey={markerStationary.id}\n\t\t\t\t\t\t\t\t\tlat={markerStationary.lat}\n\t\t\t\t\t\t\t\t\tlng={markerStationary.lng}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{vehicles?.map(veh => {\n\t\t\t\t\t\t\t\treturn veh.hasLocation && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={veh.id}\n\t\t\t\t\t\t\t\t\t\tlat={veh.lat}\n\t\t\t\t\t\t\t\t\t\tlng={veh.lng}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<UserMarker\n\t\t\t\t\t\t\t\t\t\t\tvehicle={veh}\n\t\t\t\t\t\t\t\t\t\t\tmarkerSize='big'\n\t\t\t\t\t\t\t\t\t\t\tmarkerBigBottomText='freezerStatus'\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</GoogleMapReact>\n\t\t\t\t\t\t<div className='vehicle-history'>\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tclassName='hours-input'\n\t\t\t\t\t\t\t\tlabel={{ content: t('duration.hour_plural') }}\n\t\t\t\t\t\t\t\tlabelPosition='right'\n\t\t\t\t\t\t\t\ttype='number'\n\t\t\t\t\t\t\t\tvalue={historyHours}\n\t\t\t\t\t\t\t\tonChange={e => setHistoryHours(+e.target.value)}\n\t\t\t\t\t\t\t\tonFocus={e => e.target.select()}\n\t\t\t\t\t\t\t\tonKeyPress={e => { if (e.key === 'Enter') { getHistory(); e.target.blur() } }}\n\t\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className='dc-button-round' onClick={getHistory}>\n\t\t\t\t\t\t\t\t{t('map:history')}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Grid.Column>\n\t\t\t\t</Grid.Row>\n\t\t\t</Grid>\n\t\t</>\n\t)\n}\n","import React, { useMemo, useEffect, useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Tab, Button, Input, Icon, Card, Dropdown } from 'semantic-ui-react'\nimport { forIn, set, clone, orderBy, find } from 'lodash'\nimport FreightOrdersTable from '../../components/Table/FreightOrdersTable'\nimport OrdersTable from '../../components/Table/OrdersTable'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport matchSorter, { rankings } from 'match-sorter'\nimport DatePicker from 'react-datepicker'\nimport moment from 'moment'\nimport { Status, Wrapper } from '@googlemaps/react-wrapper'\nimport api from '../../services/api'\n\nconst oneDayInMs = 86400000\n\nexport default function VehicleGroupsFunction () {\n\tconst { t } = useTranslation(['common', 'clients-tms', 'tms/orders'])\n\tconst sourcesOptions = [\n\t\t{ key: 'samsung', text: 'samsung', value: 'samsung' },\n\t\t{ key: 'sixfold', text: 'sixfold', value: 'sixfold' },\n\t\t{ key: 'bibtrack', text: 'bibtrack', value: 'bibtrack' },\n\t\t{ key: 'tracknamic', text: 'tracknamic', value: 'tracknamic' },\n\t\t{ key: 'custom', text: 'custom', value: 'custom' },\n\t\t{ key: 'shippeo', text: 'shippeo', value: 'shippeo' },\n\t]\n\n\tuseErrorHandler()\n\n\tconst orderProperties = useStoreState(state => state.orderProperties.items)\n\tconst reloadOrderProperties = useStoreActions(actions => actions.orderProperties.reloadAll)\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\n\tconst ordersTmsTransport = useStoreState(state => state.ordersTmsTransport.items)\n\tconst reloadCombinedTransports = useStoreActions(actions => actions.ordersTmsTransport.reloadCombinedTransportsWithPeriod)\n\tconst createOrderTransport = useStoreActions(actions => actions.ordersTmsTransport.addItem)\n\tconst updateOrderTransport = useStoreActions(actions => actions.ordersTmsTransport.update)\n\tconst removeOrderTransport = useStoreActions(actions => actions.ordersTmsTransport.remove)\n\n\tconst updateOrderTmsFreight = useStoreActions(actions => actions.ordersTmsFreight.update)\n\t// Vehicle Groups\n\tconst vehicleGroups = useStoreState(state => state.vehicleGroups.items)\n\tconst reloadVehicleGroups = useStoreActions(actions => actions.vehicleGroups.reload)\n\tconst isLoadingVehicleGroups = useStoreState(state => state.vehicleGroups.loading)\n\n\t// Order Status\n\tconst orderStatus = useStoreState(state => state.orderStatusTms.items)\n\tconst reloadOrderStatus = useStoreActions(actions => actions.orderStatusTms.reload)\n\tconst isLoadingOrderStatus = useStoreState(state => state.orderStatusTms.loading)\n\n\t// groups\n\tconst groups = useStoreState(state => state.groups.items)\n\tconst reloadGroups = useStoreActions(actions => actions.groups.reload)\n\tconst isLoadingGroups = useStoreState(state => state.groups.loading)\n\n\t// clients\n\tconst clients = useStoreState(state => state.clientsTms.items)\n\tconst reloadClients = useStoreActions(actions => actions.clientsTms.reload)\n\tconst isLoadingClients = useStoreState(state => state.clientsTms.loading)\n\n\t// client properties\n\tconst clientProperties = useStoreState(state => state.clientProperties.items)\n\tconst reloadClientProperties = useStoreActions(actions => actions.clientProperties.reload)\n\tconst isLoadingClientProperties = useStoreState(state => state.clientProperties.loading)\n\n\t// users\n\tconst users = useStoreState(state => state.users.items)\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\tconst isLoadingUsers = useStoreState(state => state.users.loading)\n\n\t// vehicles\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\tconst isLoadingVehicles = useStoreState(state => state.vehicles.loading)\n\n\tconst loggedUser = useStoreState(state => state.session.user)\n\n\tconst googleAPIKey = useStoreState(state => state.global.googleAPIKey)\n\n\tconst [search, setSearch] = useState('')\n\tconst [ordersTmsFreight, setOrdersTmsFreight] = useState('')\n\tconst [periodState, setPeriodState] = useState({ start: '', end: '' })\n\tconst [showedPeriodState, setShowedPeriodState] = useState({ start: '', end: '' })\n\tconst [period, setPeriod] = useState(null)\n\tconst [editable, setEditable] = useState(false)\n\tconst [selectedSource, setSelectedSource] = useState(null)\n\tconst [selectedUser, setSelectedUser] = useState(null)\n\tconst [onAddFreight, setOnAddFreight] = useState(null)\n\tconst [onRemoveFreight, setOnRemoveFreight] = useState(null)\n\n\tuseEffect(() => {\n\t\tif (!loggedUser) return\n\t\treloadGroups()\n\t}, [loggedUser])\n\n\tuseEffect(() => {\n\t\tif (!onAddFreight) return\n\t\tif (onAddFreight?.transportID) {\n\t\t\tconst selectedTransportOrder = ordersTmsTransport.find(transport => transport?.raw?.id === onAddFreight.transportID)\n\n\t\t\tconst freightProperties = []\n\t\t\tconst now = new Date()\n\t\t\tlet waypoints = []\n\t\t\tif (selectedTransportOrder?.raw?.freightOrders?.length) {\n\t\t\t\twaypoints = selectedTransportOrder?.raw?.freightOrders[0]?.waypoints\n\t\t\t}\n\t\t\tfor (const property of orderProperties) {\n\t\t\t\tif (property?.orderType === 'freight') {\n\t\t\t\t\tfreightProperties.push({ value: '', id: property.id })\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst newFreight = {\n\t\t\t\ttransportOrderID: onAddFreight.transportID,\n\t\t\t\tsource: selectedTransportOrder?.raw?.source || 'tracknamic',\n\t\t\t\tdate: now.toISOString(),\n\t\t\t\tproperties: freightProperties,\n\t\t\t\twaypoints: waypoints\n\t\t\t}\n\n\t\t\tif (selectedTransportOrder.raw?.freightOrders?.length) {\n\t\t\t\tselectedTransportOrder.raw.freightOrders.unshift(newFreight)\n\t\t\t} else {\n\t\t\t\tselectedTransportOrder.raw.freightOrders = [newFreight]\n\t\t\t}\n\t\t}\n\t}, [onAddFreight])\n\n\tuseEffect(() => {\n\t\tif (!onRemoveFreight) return\n\t\tif (onRemoveFreight?.transportOrderID) {\n\t\t\tconst selectedTransportOrder = ordersTmsTransport.find(transport => transport?.raw?.id === onRemoveFreight.transportOrderID)\n\t\t\tif (!selectedTransportOrder.raw.freightOrders[onRemoveFreight.index]?.id) {\n\t\t\t\tselectedTransportOrder.raw.freightOrders.splice(onRemoveFreight?.index, 1)\n\t\t\t}\n\t\t}\n\t}, [onRemoveFreight])\n\n\t// Load data\n\tuseEffect(() => {\n\t\treloadSession()\n\t\treloadOrderProperties()\n\t\treloadVehicleGroups({\n\t\t\t$where: {\n\t\t\t\ttype: 'manual',\n\t\t\t}\n\t\t})\n\t\treloadOrderStatus()\n\t\treloadClients()\n\t\treloadUsers()\n\t\treloadVehicles()\n\t\treloadClientProperties()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!loggedUser) return\n\t\tconst userGroup = find(groups, group => group.raw.id === loggedUser.groupID)\n\t\tif (userGroup && userGroup.raw?.settings?.orderLoadTimespan) {\n\t\t\tsetPeriod(userGroup.raw.settings.orderLoadTimespan)\n\t\t} else {\n\t\t\tsetPeriod(7)\n\t\t}\n\t}, [groups, loggedUser])\n\n\tuseEffect(() => {\n\t\tif (!period) return\n\t\tsetPeriodState({ start: new Date().getTime() - (period * oneDayInMs), end: new Date().getTime() + (period * oneDayInMs) })\n\t}, [period])\n\n\tuseEffect(() => {\n\t\tif (!periodState.start || !periodState.end) return\n\t\tif (periodState.start > periodState.end) {\n\t\t\tsetShowedPeriodState({ start: new Date().getTime() - (period * oneDayInMs), end: new Date().getTime() + (period * oneDayInMs) })\n\t\t\treloadCombinedTransports({ start: new Date().getTime() - (period * oneDayInMs), end: new Date().getTime() + (period * oneDayInMs), source: selectedSource })\n\t\t} else if (!periodState.start && !periodState.end) {\n\t\t\tsetShowedPeriodState({ start: new Date().getTime() - (period * oneDayInMs), end: new Date().getTime() + (period * oneDayInMs) })\n\t\t\treloadCombinedTransports({ start: new Date().getTime() - (period * oneDayInMs), end: new Date().getTime() + (period * oneDayInMs), source: selectedSource })\n\t\t} else if (periodState.start && !periodState.end) {\n\t\t\tsetShowedPeriodState({ start: periodState.start, end: new Date().getTime() + (period * oneDayInMs) })\n\t\t\treloadCombinedTransports({ start: periodState.start, end: new Date().getTime() + (period * oneDayInMs), source: selectedSource })\n\t\t} else if (!periodState.start && periodState.end) {\n\t\t\tsetShowedPeriodState({ start: new Date().getTime() - (period * oneDayInMs), end: periodState.end })\n\t\t\treloadCombinedTransports({ start: new Date().getTime() - (period * oneDayInMs), end: periodState.end, source: selectedSource })\n\t\t} else if (periodState.start && periodState.end) {\n\t\t\tsetShowedPeriodState({ start: periodState.start, end: periodState.end })\n\t\t\treloadCombinedTransports({ start: periodState.start, end: periodState.end, source: selectedSource })\n\t\t}\n\t}, [periodState.start, periodState.end])\n\n\tuseEffect(() => {\n\t\tif (!ordersTmsTransport?.length) return\n\t\tconst tempArray = []\n\t\tfor (const order of ordersTmsTransport) {\n\t\t\tif (order?.raw?.freightOrders && order?.raw.freightOrders?.length > 0) {\n\t\t\t\tfor (const item of order.raw.freightOrders) {\n\t\t\t\t\ttempArray.push(item)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsetOrdersTmsFreight(tempArray)\n\t}, [ordersTmsTransport])\n\n\tuseEffect(() => {\n\t\tif (!periodState.start && !periodState.end) return\n\t\treloadCombinedTransports({ start: periodState.start, end: periodState.end, source: selectedSource || '', assignedTo: selectedUser || '' })\n\t}, [selectedSource, selectedUser])\n\t// Callbacks\n\tconst saveRule = async (edited, old, finishEditing) => {\n\t\tconst newItem = clone(old)\n\t\tforIn(edited, (value, key) => {\n\t\t\tif (key === 'name' || key === 'vehicleGroupID') {\n\t\t\t\tset(newItem.raw, key, value)\n\t\t\t} else {\n\t\t\t\tset(newItem, key, value)\n\t\t\t}\n\t\t})\n\t\tif (newItem.raw?.properties?.length) {\n\t\t\tnewItem.raw.properties = newItem.raw?.properties.filter(prop => prop.value !== '' && prop.value !== null)\n\t\t}\n\n\t\tfor (const key in newItem) {\n\t\t\tif (key !== 'raw') {\n\t\t\t\tnewItem.raw[key] = newItem[key]\n\t\t\t}\n\t\t}\n\n\t\tif (newItem?.status) {\n\t\t\tconst freightOrder = ordersTmsTransport.find(transport => transport?.raw?.id === old?.raw?.id)?.raw?.freightOrders[0]\n\t\t\tconst freightID = freightOrder?.id\n\t\t\tif (freightID) {\n\t\t\t\tawait api.post(`tms/orders/freight/${freightID}/status`, {\n\t\t\t\t\tstatus: {\n\t\t\t\t\t\tid: newItem?.status,\n\t\t\t\t\t\tcomment: null,\n\t\t\t\t\t\ttimestamp: new Date().getTime()\n\t\t\t\t\t}\n\t\t\t\t}).then(async () => {\n\t\t\t\t\tawait updateOrderTransport({\n\t\t\t\t\t\tnewItem: newItem.raw,\n\t\t\t\t\t\toldItem: old\n\t\t\t\t\t})\n\t\t\t\t\tfinishEditing()\n\t\t\t\t\treloadCombinedTransports({ start: periodState.start, end: periodState.end, source: selectedSource })\n\t\t\t\t})\n\t\t\t}\n\t\t} else {\n\t\t\tawait updateOrderTransport({\n\t\t\t\tnewItem: newItem.raw,\n\t\t\t\toldItem: old\n\t\t\t})\n\t\t\tfinishEditing()\n\t\t\treloadCombinedTransports({ start: periodState.start, end: periodState.end, source: selectedSource })\n\t\t}\n\t}\n\n\tconst saveFreightRule = async (edited, old, finishEditing) => {\n\t\tconst newItem = clone(old)\n\t\tforIn(edited, (value, key) => set(newItem, key, value))\n\t\tif (newItem.raw?.properties?.length) {\n\t\t\tnewItem.raw.properties = newItem.raw?.properties.filter(prop => prop.value !== '' && prop.value !== null)\n\t\t}\n\n\t\tif (newItem?.Status) {\n\t\t\tconst freightID = newItem?.raw.id\n\t\t\tif (freightID) {\n\t\t\t\tawait api.post(`tms/orders/freight/${freightID}/status`, {\n\t\t\t\t\tstatus: {\n\t\t\t\t\t\tid: newItem?.Status,\n\t\t\t\t\t\tcomment: null,\n\t\t\t\t\t\ttimestamp: new Date().getTime()\n\t\t\t\t\t}\n\t\t\t\t}).then(async () => {\n\t\t\t\t\tawait updateOrderTmsFreight({\n\t\t\t\t\t\tnewItem: newItem.raw,\n\t\t\t\t\t\toldItem: old\n\t\t\t\t\t})\n\t\t\t\t\tfinishEditing()\n\t\t\t\t\treloadCombinedTransports({ start: periodState.start, end: periodState.end, source: selectedSource })\n\t\t\t\t})\n\t\t\t}\n\t\t} else {\n\t\t\tawait updateOrderTmsFreight({\n\t\t\t\tnewItem: newItem.raw,\n\t\t\t\toldItem: old\n\t\t\t})\n\t\t\tfinishEditing()\n\t\t\treloadCombinedTransports({ start: periodState.start, end: periodState.end, source: selectedSource })\n\t\t}\n\t}\n\n\tconst isLoadingMemo = useMemo(() => {\n\t\tif (isLoadingVehicleGroups || isLoadingOrderStatus || isLoadingGroups || isLoadingClients || isLoadingClientProperties ||\n\t\t\tisLoadingUsers || isLoadingVehicles) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}, [isLoadingVehicleGroups, isLoadingOrderStatus, isLoadingGroups, isLoadingClients, isLoadingClientProperties,\n\t\tisLoadingUsers, isLoadingVehicles])\n\n\tconst data = useMemo(() => {\n\t\tif (ordersTmsTransport) {\n\t\t\tsetEditable(false)\n\t\t\tconst parse = (orderTransport) => {\n\t\t\t\tconst properties = orderTransport.raw?.properties || []\n\t\t\t\tconst newProperties = []\n\t\t\t\tif (properties) {\n\t\t\t\t\tconst transportProperties = orderProperties.filter(orderProperty => orderProperty.raw?.orderType === 'transport')\n\t\t\t\t\tfor (const orderProperty of transportProperties) {\n\t\t\t\t\t\tconst propertyIndex = properties.findIndex(property => property.id === orderProperty.raw.id)\n\t\t\t\t\t\tnewProperties.push({\n\t\t\t\t\t\t\tid: orderProperty.raw.id,\n\t\t\t\t\t\t\tvalue: propertyIndex > -1 ? properties[propertyIndex].value : null\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// TODO STATUS\n\t\t\t\treturn {\n\t\t\t\t\traw: {\n\t\t\t\t\t\t...orderTransport.raw,\n\t\t\t\t\t\tproperties: newProperties,\n\t\t\t\t\t\tfreightOrders: []\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn matchSorter(orderBy(ordersTmsTransport.map(parse), ['raw.createdAt'], ['desc']), search, { keys: ['raw.name', 'raw.externalID'], threshold: rankings.CONTAINS })\n\t\t} else { return [] }\n\t}, [search, orderProperties, orderStatus, ordersTmsTransport, clients, clientProperties, users, vehicles])\n\n\tconst usersOptions = useMemo(() => {\n\t\tif (!users?.length) return []\n\t\treturn users.map((user) => {\n\t\t\treturn {\n\t\t\t\tvalue: user?.raw?.id,\n\t\t\t\ttext: `${user?.raw?.firstName} ${user?.raw?.lastName}`,\n\t\t\t\tkey: user?.raw?.id\n\t\t\t}\n\t\t})\n\t}, [users])\n\n\tconst deleteRule = (row) => {\n\t\tsetEditable(false)\n\t\tif (!row.raw?.id) {\n\t\t\tremoveOrderTransport(ordersTmsTransport[0])\n\t\t}\n\t}\n\n\tconst onAddButtonClick = useCallback(() => {\n\t\tconst properties = []\n\t\tif (orderProperties && orderProperties.length > 0) {\n\t\t\tfor (const property of orderProperties) {\n\t\t\t\tif (property.raw.visible) {\n\t\t\t\t\tproperties.push({ value: '', id: property.raw.id })\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcreateOrderTransport({\n\t\t\tname: '',\n\t\t\tsource: 'tracknamic',\n\t\t\tproperties: properties,\n\t\t})\n\t\tsetEditable(true)\n\t}, [ordersTmsTransport, orderProperties])\n\n\tconst onAddFreightButtonClick = (transportOrderID) => {\n\t\tsetOnAddFreight({\n\t\t\ttransportID: transportOrderID || '',\n\t\t\tactionTime: new Date().getTime()\n\t\t})\n\t}\n\n\tconst freightOrderByTransportOrderID = (transportOrderID) => {\n\t\tif (!ordersTmsTransport?.length || !transportOrderID) return\n\t\tconst selectedTransportOrder = ordersTmsTransport.find(transport => transport.raw.id === transportOrderID)\n\t\tif (!selectedTransportOrder) return\n\t\tconst freightOrdersArray = []\n\t\tfor (const freightOrder of selectedTransportOrder.raw?.freightOrders) {\n\t\t\tconst properties = freightOrder.properties || []\n\t\t\tconst newProperties = []\n\t\t\tif (properties) {\n\t\t\t\tfor (const orderProperty of orderProperties) {\n\t\t\t\t\tif (orderProperty.raw?.orderType === 'freight') {\n\t\t\t\t\t\tconst propertyIndex = properties.findIndex(property => property.id === orderProperty.raw.id)\n\t\t\t\t\t\tnewProperties.push({\n\t\t\t\t\t\t\tid: orderProperty.raw.id,\n\t\t\t\t\t\t\tvalue: propertyIndex > -1 ? properties[propertyIndex].value : null\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tfreightOrdersArray.push({\n\t\t\t\traw: {\n\t\t\t\t\t...freightOrder,\n\t\t\t\t\tproperties: newProperties\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\treturn freightOrdersArray\n\t}\n\n\tconst renderExpand = ({ row }) => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className='add-button-container'>\n\t\t\t\t\t<Button content={t('clients-tms:actions.add')} onClick={() => onAddFreightButtonClick(data[row.id].raw?.id)} className='add' />\n\t\t\t\t</div>\n\t\t\t\t{freightOrderByTransportOrderID(data[row.id].raw?.id)?.length\n\t\t\t\t\t? <Card className='panel inverted freight-orders-table-card'>\n\t\t\t\t\t\t<FreightOrdersTable\n\t\t\t\t\t\t\tclients={clients}\n\t\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\t\tclientProperties={clientProperties}\n\t\t\t\t\t\t\ttransportOrders={data}\n\t\t\t\t\t\t\tvehicleGroups={vehicleGroups}\n\t\t\t\t\t\t\tdata={freightOrderByTransportOrderID(data[row.id].raw?.id) || []}\n\t\t\t\t\t\t\tmapsAPI={googleAPI}\n\t\t\t\t\t\t\torderProperties={orderProperties.filter(orderProperty => orderProperty.raw?.orderType === 'freight')}\n\t\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t\t\torderStatus={orderStatus}\n\t\t\t\t\t\t\tonRemoveFreight={setOnRemoveFreight}\n\t\t\t\t\t\t\tonSave={saveFreightRule}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Card> : <span>-</span>}\n\t\t\t</>)\n\t}\n\n\tconst panes = useMemo(() => [\n\t\t{\n\t\t\trender: () =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<OrdersTable\n\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\tisLoading={isLoadingMemo}\n\t\t\t\t\t\tmapsAPI={googleAPI}\n\t\t\t\t\t\tclients={clients}\n\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\tclientProperties={clientProperties}\n\t\t\t\t\t\torderProperties={orderProperties.filter(orderProperty => orderProperty.raw?.orderType === 'transport')}\n\t\t\t\t\t\tordersTmsFreight={ordersTmsFreight}\n\t\t\t\t\t\tvehicleGroups={vehicleGroups}\n\t\t\t\t\t\torderStatus={orderStatus}\n\t\t\t\t\t\trenderRowSubComponent={renderExpand}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={deleteRule}\n\t\t\t\t\t\teditable={editable}\n\t\t\t\t\t\tsetEditable={setEditable}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>,\n\t\t},\n\t], [ordersTmsFreight, data, orderProperties, vehicleGroups, orderStatus, editable, clients, clientProperties, users, vehicles, isLoadingMemo])\n\n\tconst onChangeStartDate = (date) => {\n\t\tconst startDate = moment(date).utc().valueOf()\n\t\tsetPeriodState({ start: startDate, end: periodState.end })\n\t}\n\n\tconst onChangeEndDate = (date) => {\n\t\tconst endDate = moment(date).utc().valueOf()\n\t\tsetPeriodState({ start: periodState.start, end: endDate })\n\t}\n\n\tconst [googleAPI, setGoogleAPI] = useState()\n\tconst onGoogleAPILoaded = (status, loader) => {\n\t\tif (status === Status.SUCCESS) {\n\t\t\tsetGoogleAPI(window.google.maps)\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ordersTmsTransport && orderProperties && vehicleGroups && data && orderStatus && clientProperties &&\n\t\t\t\t<div className='page-rules'>\n\t\t\t\t\t<div className='filters'>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tclassName='search-input'\n\t\t\t\t\t\t\ticon={search.length > 0 ? <Icon name='remove' link onClick={() => setSearch('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\t\tplaceholder={t('clients-tms:search.placeholder')}\n\t\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\t\tonChange={e => setSearch(e.target.value)}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className='start-datepicker tooltip'>\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\tdateFormat='dd/MM/yyyy'\n\t\t\t\t\t\t\t\t\tselected={showedPeriodState?.start}\n\t\t\t\t\t\t\t\t\tonChange={date => onChangeStartDate(date)}\n\t\t\t\t\t\t\t\t\tminDate={moment('1970-01-01').valueOf()} // date\n\t\t\t\t\t\t\t\t\tmaxDate={showedPeriodState.end - oneDayInMs} // date\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className='tooltiptext'>{t('tms/orders:tooltips.datepicker')}</span>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className='spacer'>-</div>\n\n\t\t\t\t\t\t\t<div className='end-datepicker tooltip'>\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\tdateFormat='dd/MM/yyyy'\n\t\t\t\t\t\t\t\t\tselected={showedPeriodState?.end}\n\t\t\t\t\t\t\t\t\tonChange={date => onChangeEndDate(date)}\n\t\t\t\t\t\t\t\t\tminDate={showedPeriodState.start + oneDayInMs} // date\n\t\t\t\t\t\t\t\t\tmaxDate={moment('2100-01-01').valueOf()} // date\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className='tooltiptext'>{t('tms/orders:tooltips.datepicker')}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='source-dropdown-div'>\n\t\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\t\tplaceholder={t('common:source')}\n\t\t\t\t\t\t\t\t\tvalue={selectedSource}\n\t\t\t\t\t\t\t\t\tonChange={(e, data) => setSelectedSource(data?.value)}\n\t\t\t\t\t\t\t\t\toptions={sourcesOptions}\n\t\t\t\t\t\t\t\t\tselection fluid\n\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className='users-dropdown-div'>\n\t\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\t\tplaceholder={t('tms/orders:dropdownCreatedBy.placeholder')}\n\t\t\t\t\t\t\t\t\tvalue={selectedUser}\n\t\t\t\t\t\t\t\t\tonChange={(e, data) => setSelectedUser(data?.value)}\n\t\t\t\t\t\t\t\t\toptions={usersOptions}\n\t\t\t\t\t\t\t\t\tselection fluid\n\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\tsearch\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t\t<div className='add-button-container'>\n\t\t\t\t\t\t\t<Button disabled={editable} content={t('clients-tms:actions.add')} onClick={onAddButtonClick} className='add' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Tab className='clients-tab' size='big' panes={panes} />\n\n\t\t\t\t\t<Wrapper apiKey={googleAPIKey} callback={onGoogleAPILoaded} libraries={['places']} />\n\t\t\t\t</div>}\n\t\t</>\n\t)\n}\n","import React, { useMemo, useEffect, useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Tab, Button, Input, Icon } from 'semantic-ui-react'\nimport { forIn, set, clone } from 'lodash'\nimport RoutesTable from '../../components/Table/RoutesTable'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport matchSorter, { rankings } from 'match-sorter'\n\nexport default function ManagementMaintenanceRules () {\n\tconst { t } = useTranslation(['common', 'routes'])\n\n\tuseErrorHandler()\n\n\t// State\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst users = useStoreState(state => state.users.items)\n\tconst plannedRoutes = useStoreState(state => state.plannedTmsRoutes.items)\n\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\tconst reloadGroups = useStoreActions(actions => actions.groups.reload)\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\tconst reloadPlannedRoutes = useStoreActions(actions => actions.plannedTmsRoutes.reload)\n\n\t// const createVehicleGroup = useStoreActions(actions => actions.vehicleGroups.addItem)\n\t// const updateVehicleGroup = useStoreActions(actions => actions.vehicleGroups.update)\n\tconst removePlannedRoute = useStoreActions(actions => actions.plannedTmsRoutes.remove)\n\n\tconst [search, setSearch] = useState('')\n\t// Callbacks\n\tconst saveRule = (edited, old, finishEditing) => {\n\t\tconst newItem = clone(old)\n\t\tforIn(edited, (value, key) => set(newItem, key, value))\n\t\t// updateVehicleGroup({\n\t\t// newItem: newItem.raw,\n\t\t// oldItem: old\n\t\t// })\n\t\tfinishEditing()\n\t}\n\n\tconst data = useMemo(() =>\n\t\tmatchSorter(plannedRoutes, search, { keys: ['raw.name'], threshold: rankings.CONTAINS })\n\t\t\t.map((route) => {\n\t\t\t\treturn route\n\t\t\t})\n\t, [plannedRoutes, search])\n\n\tconst deleteRule = (row) => {\n\t\tremovePlannedRoute(row)\n\t}\n\tconst onAddButtonClick = useCallback(() => {\n\t\t// createVehicleGroup({\n\t\t// drivers: [],\n\t\t// endTime: null,\n\t\t// name: '',\n\t\t// source: null,\n\t\t// startTime: null,\n\t\t// type: 'manual',\n\t\t// vehicles: []\n\t\t// })\n\t}, [plannedRoutes])\n\n\tconst panes = useMemo(() => [\n\t\t{\n\t\t\trender: () =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<RoutesTable\n\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={deleteRule}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>,\n\t\t},\n\t], [plannedRoutes, vehicles, users, data])\n\t// Load data\n\tuseEffect(() => {\n\t\treloadSession()\n\t\treloadGroups()\n\t\treloadVehicles()\n\t\treloadPlannedRoutes()\n\t\treloadUsers()\n\t}, [])\n\treturn (\n\t\t<>\n\t\t\t{users && users.length > 0 && vehicles && vehicles.length > 0 && plannedRoutes && plannedRoutes.length &&\n\t\t\t\t<div className='page-rules'>\n\t\t\t\t\t<div className='filters'>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tclassName='search-input'\n\t\t\t\t\t\t\ticon={search.length > 0 ? <Icon name='remove' link onClick={() => setSearch('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\t\tplaceholder={t('routes:search.placeholder')}\n\t\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\t\tonChange={e => setSearch(e.target.value)}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button disabled content={t('routes:actions.add')} onClick={onAddButtonClick} className='add' />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Tab className='routes-tab' size='big' panes={panes} />\n\t\t\t\t</div>}\n\t\t</>\n\t)\n}\n","import React from 'react'\n\nconst Timeline = ({ children }) => {\n\treturn (\n\t\t<ul className='timeline-header-component'>\n\t\t\t{children}\n\t\t</ul>\n\t)\n}\n\nTimeline.Item = ({ title, children }) => {\n\treturn (\n\t\t<li className='event'>\n\t\t\t{title ? <h4>{title}</h4> : null}\n\t\t\t{children}\n\t\t</li>\n\t)\n}\n\nexport default Timeline\n","import React from 'react'\n\nconst Timeline = ({ children }) => {\n\treturn (\n\t\t<ul className='timeline'>\n\t\t\t{children}\n\t\t</ul>\n\t)\n}\n\nTimeline.Item = ({ title, children }) => {\n\treturn (\n\t\t<li className='event'>\n\t\t\t{title ? <h4>{title}</h4> : null}\n\t\t\t{children}\n\t\t</li>\n\t)\n}\n\nexport default Timeline\n","import React, { useMemo, useEffect, useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport { Tab, Button, Input, Icon } from 'semantic-ui-react'\nimport { forIn, set, clone } from 'lodash'\nimport VehicleGroupsTable from '../../components/Table/VehicleGroupsTable'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport matchSorter, { rankings } from 'match-sorter'\n\nexport default function VehicleGroupsFunction () {\n\tconst { t } = useTranslation(['common', 'vehicle-groups'])\n\n\tuseErrorHandler()\n\n\t// vehicles\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\tconst isLoadingVehicles = useStoreState(state => state.vehicles.loading)\n\n\t// groups\n\tconst reloadGroups = useStoreActions(actions => actions.groups.reload)\n\tconst isLoadingGroups = useStoreState(state => state.groups.loading)\n\n\t// vehicle groups\n\tconst vehicleGroups = useStoreState(state => state.vehicleGroups.items)\n\tconst reloadVehicleGroups = useStoreActions(actions => actions.vehicleGroups.reload)\n\tconst createVehicleGroup = useStoreActions(actions => actions.vehicleGroups.addItem)\n\tconst updateVehicleGroup = useStoreActions(actions => actions.vehicleGroups.update)\n\tconst removeVehicleGroup = useStoreActions(actions => actions.vehicleGroups.remove)\n\tconst isLoadingVehiclesGroups = useStoreState(state => state.vehicleGroups.loading)\n\n\t// users\n\tconst users = useStoreState(state => state.users.items)\n\tconst reloadUsers = useStoreActions(actions => actions.users.reload)\n\tconst isLoadingUsers = useStoreState(state => state.users.loading)\n\n\tconst reloadSession = useStoreActions(actions => actions.session.reload)\n\n\tconst [search, setSearch] = useState('')\n\t// Callbacks\n\tconst getVehicleGroups = () => {\n\t\treloadVehicleGroups({\n\t\t\t$where: {\n\t\t\t\ttype: 'manual',\n\t\t\t}\n\t\t})\n\t}\n\n\tconst saveRule = (edited, old, finishEditing) => {\n\t\tconst newItem = clone(old)\n\t\tforIn(edited, (value, key) => set(newItem, key, value))\n\t\tupdateVehicleGroup({\n\t\t\tnewItem: newItem.raw,\n\t\t\toldItem: old\n\t\t})\n\t\t\t.then(() => getVehicleGroups())\n\t\t\t.catch(() => getVehicleGroups())\n\t\tfinishEditing()\n\t}\n\n\tconst data = useMemo(() => {\n\t\tconst formattedVehicleGroups = vehicleGroups.map(vg => {\n\t\t\tvg.raw.tractorUnit = (!vehicles?.length || !vg?.raw?.vehicles?.length) ? ''\n\t\t\t\t: vehicles.find(vehicle => vehicle?.raw?.id === vg?.raw?.vehicles[0])?.raw?.licensePlate\n\t\t\tvg.raw.semiTrailerUnit = (!vehicles?.length || vg?.raw?.vehicles?.length !== 2) ? ''\n\t\t\t\t: vehicles.find(vehicle => vehicle?.raw?.id === vg?.raw?.vehicles[1])?.raw?.licensePlate\n\t\t\treturn vg\n\t\t})\n\t\treturn matchSorter(formattedVehicleGroups, search, { keys: ['raw.name', 'raw.tractorUnit', 'raw.semiTrailerUnit'], threshold: rankings.CONTAINS })\n\t}, [vehicleGroups, vehicles, search])\n\n\tconst isLoadingMemo = useMemo(() => {\n\t\tif (isLoadingVehicles || isLoadingGroups || isLoadingVehiclesGroups || isLoadingUsers) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}, [isLoadingVehicles, isLoadingGroups, isLoadingVehiclesGroups, isLoadingUsers])\n\n\tconst deleteRule = (row) => {\n\t\tremoveVehicleGroup(row)\n\t}\n\tconst onAddButtonClick = useCallback(() => {\n\t\tcreateVehicleGroup({\n\t\t\tdrivers: [],\n\t\t\tendTime: null,\n\t\t\tname: '',\n\t\t\tsource: null,\n\t\t\tstartTime: null,\n\t\t\ttype: 'manual',\n\t\t\tvehicles: []\n\t\t})\n\t}, [vehicleGroups])\n\n\tconst panes = useMemo(() => [\n\t\t{\n\t\t\trender: () =>\n\t\t\t\t<div className='scroller'>\n\t\t\t\t\t<VehicleGroupsTable\n\t\t\t\t\t\tisLoading={isLoadingMemo}\n\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\tvehicleGroups={vehicleGroups}\n\t\t\t\t\t\tusers={users}\n\t\t\t\t\t\tonSave={saveRule}\n\t\t\t\t\t\tonRemove={deleteRule}\n\t\t\t\t\t\tclassName='relaxed sticky'\n\t\t\t\t\t/>\n\t\t\t\t</div>,\n\t\t},\n\t], [vehicleGroups, vehicles, users, data, isLoadingMemo])\n\t// Load data\n\tuseEffect(() => {\n\t\treloadSession()\n\t\treloadVehicleGroups({\n\t\t\t$where: {\n\t\t\t\ttype: 'manual',\n\t\t\t}\n\t\t})\n\t\treloadGroups()\n\t\treloadVehicles()\n\t\treloadUsers()\n\t}, [])\n\treturn (\n\t\t<>\n\t\t\t{users && vehicles && vehicleGroups &&\n\t\t\t\t<div className='page-rules'>\n\t\t\t\t\t<div className='filters'>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tclassName='search-input'\n\t\t\t\t\t\t\ticon={search.length > 0 ? <Icon name='remove' link onClick={() => setSearch('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\t\tplaceholder={t('vehicle-groups:search.placeholder')}\n\t\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\t\tonChange={e => setSearch(e.target.value)}\n\t\t\t\t\t\t\tfluid\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button content={t('vehicle-groups:actions.add')} onClick={onAddButtonClick} className='add' />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Tab className='vehicle-groups-tab' size='big' panes={panes} />\n\t\t\t\t</div>}\n\t\t</>\n\t)\n}\n","import React, { useState, useEffect } from 'react'\nimport UserTachograph from './user-tachograph'\nimport VehiclesTachograph from './vehicles-tachograph'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport PropTypes from 'prop-types'\n\nfunction TachoWidget ({\n\tlimit,\n\treloadTime,\n\tdashboard = false,\n\thoursTacho,\n\t...props\n}) {\n\tconst [tachoWidgetType, setTachoTableType] = useState(null)\n\n\t// loggedUser\n\tconst loggedUser = useStoreState(state => state.session.user)\n\tconst updateLoggedUser = useStoreActions(actions => actions.session.updateFilter)\n\n\tuseEffect(() => {\n\t\tif (!loggedUser) return\n\t\tsetTachoTableType(loggedUser?.settings?.tachoWidgetType || 'users')\n\t}, [loggedUser])\n\n\tif (!tachoWidgetType) return null\n\n\treturn (tachoWidgetType === 'users' ? (\n\t\t<UserTachograph\n\t\t\tloggedUser={loggedUser}\n\t\t\tupdateLoggedUser={updateLoggedUser}\n\t\t\ttachoWidgetType={tachoWidgetType}\n\t\t\tlimit={limit}\n\t\t\treloadTime={reloadTime}\n\t\t\tdashboard={dashboard}\n\t\t\thoursTacho={hoursTacho}\n\t\t/>\n\t) : (\n\t\t<VehiclesTachograph\n\t\t\tloggedUser={loggedUser}\n\t\t\tupdateLoggedUser={updateLoggedUser}\n\t\t\ttachoWidgetType={tachoWidgetType}\n\t\t\tlimit={limit}\n\t\t\treloadTime={reloadTime}\n\t\t\tdashboard={dashboard}\n\t\t\thoursTacho={hoursTacho}\n\t\t/>)\n\t)\n}\n\nTachoWidget.propTypes = {\n\tdata: PropTypes.object,\n\tlimit: PropTypes.object,\n\treloadTime: PropTypes.number,\n\tdashboard: PropTypes.bool,\n\thoursTacho: PropTypes.string,\n}\nexport default TachoWidget\n","import React, { useMemo, useEffect, useState } from 'react'\nimport { Grid, Table, Loader, Input, Icon, Popup } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters, usePagination } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport matchSorter, { rankings } from 'match-sorter'\nimport { useInterval } from 'ahooks'\nimport { sortBy, sumBy } from 'lodash'\nimport DateUtils from '../../../react/utils/date'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport Chart from '../../components/Tacho/Chart'\nimport SettingsTool from '../../components/Table/UtilityTools/SettingsTool'\nimport ShowColumnTool from '../../components/Table/UtilityTools/ShowColumnTool'\nimport PropTypes from 'prop-types'\n\nconst fiveMinutesInMs = 300000\nconst oneHourInMs = 3600000\n\nfunction UserTachograph ({\n\tdashboard = false,\n\treloadTime,\n\tlimit = null,\n\thoursTacho,\n\tloggedUser,\n\tupdateLoggedUser,\n\ttachoWidgetType,\n\t...props\n}) {\n\tconst { t } = useTranslation(['common', 'widgets/users-tachograph'])\n\n\tuseErrorHandler()\n\n\t// userTachoGraph\n\tconst userTachoGraph = useStoreState(state => state.userTachoGraph.data)\n\tconst reloadUserTachoGraph = useStoreActions(actions => actions.userTachoGraph.reload)\n\tconst isLoadingUserTachoGraph = useStoreState(state => state.userTachoGraph.loading)\n\n\t// vehicle\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\n\t// timeZone\n\tconst timeZone = useStoreState(state => state.session.timezone)\n\n\tconst [data, setData] = useState([])\n\tconst [backupData, setBackupData] = useState([])\n\n\tconst [search, setSearch] = useState('')\n\tconst [actionOnColumns, setActionOnColumns] = useState(null)\n\n\tconst [countHours, setCoutHours] = useState([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0])\n\n\tconst [countHoursForTachoWidget, setCountHoursForTachoWidget] = useState(localStorage.getItem('countHoursForTachoWidget') || '24')\n\n\tconst [stateHours, setStateHours] = useState([\n\t\t{ value: '24', text: '24h' },\n\t\t{ value: '48', text: '48h' },\n\t\t{ value: '72', text: '72h' },\n\t])\n\tconst [selectedHourState, setSelectedHourState] = useState(countHoursForTachoWidget || '24')\n\n\tconst [allColumns, setAllColumns] = useState([\n\t\t{ selected: true, text: t('common:vehicle.licensePlate'), value: 'licensePlate' },\n\t\t{ selected: true, text: t('common:odometer'), value: 'odometer' },\n\t\t{ selected: true, text: t('common:driver'), value: 'driver' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.tachoReports'), value: 'tachoReports' },\n\t\t{ selected: true, text: t('common:graphic'), value: 'graphic' },\n\t\t{ selected: true, text: t('common:location'), value: 'location' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.remainingDay'), value: 'remainingDay' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.remainingWeek'), value: 'remainingWeek' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.amplitudeDay'), value: 'amplitudeDay' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.dayCycle'), value: 'dayCycle' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.overDrive'), value: 'overDrive' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.amplitude'), value: 'amplitude' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.rests'), value: 'rests' },\n\t\t{ selected: true, text: t('widgets/users-tachograph:tableHeaders.recoveries'), value: 'recoveries' }\n\t])\n\n\tuseInterval(\n\t\t() => {\n\t\t\tchangeCountHours(countHoursForTachoWidget || '24')\n\t\t\treloadUserTachoGraph({ limit: limit, interval: countHoursForTachoWidget || 24 })\n\t\t\treloadVehicles()\n\t\t},\n\t\treloadTime || fiveMinutesInMs,\n\t\t{ immediate: true },\n\t)\n\n\tuseEffect(() => {\n\t\tif (localStorage.getItem('countHoursForTachoWidget')) {\n\t\t\tsetSelectedHourState(localStorage.getItem('countHoursForTachoWidget') || '24')\n\t\t}\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (userTachoGraph && userTachoGraph.length !== 0) {\n\t\t\tlet tempArray = []\n\t\t\tfor (const key in userTachoGraph) {\n\t\t\t\tfor (const driverReport of userTachoGraph[key]) {\n\t\t\t\t\tdriverReport.licensePlate = showVehicleLicensePlate(driverReport.vehicleID)\n\t\t\t\t\tdriverReport.driverFullname = showDriverFullName(driverReport)\n\n\t\t\t\t\tif (driverReport?.activities?.length) {\n\t\t\t\t\t\tdriverReport.activities = parseDriverActivities([...driverReport?.activities])\n\t\t\t\t\t}\n\t\t\t\t\ttempArray.push(driverReport)\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetBackupData(sortBy(tempArray, item => item?.driverLastName))\n\t\t\tif (search) {\n\t\t\t\ttempArray = matchSorter(data, search, { keys: ['licensePlate', 'driverFullname'], threshold: rankings.CONTAINS })\n\t\t\t}\n\t\t\tsetData(sortBy(tempArray, item => item?.driverLastName))\n\t\t}\n\t}, [userTachoGraph])\n\n\tuseEffect(() => {\n\t\tconst tempArray = matchSorter(backupData, search, { keys: ['licensePlate', 'driverFullname'], threshold: rankings.CONTAINS })\n\t\tsetData(tempArray)\n\t}, [search, isLoadingUserTachoGraph])\n\n\tuseEffect(() => {\n\t\tif (!loggedUser) return\n\t\tif (loggedUser?.settings?.widgets?.tachograph?.columnOrder) {\n\t\t\tconst tachoGraphColumns = loggedUser?.settings?.widgets?.tachograph?.columnOrder\n\t\t\tallColumns.forEach((column, index) => {\n\t\t\t\tif (tachoGraphColumns.find(col => col === column.value)) {\n\t\t\t\t\tcolumn.selected = true\n\t\t\t\t} else {\n\t\t\t\t\tcolumn.selected = false\n\t\t\t\t}\n\t\t\t})\n\t\t\tsetActionOnColumns(new Date().getTime())\n\t\t}\n\t}, [loggedUser])\n\n\tuseEffect(() => {\n\t\tif (!hoursTacho) return\n\t\tonChangeHourCount('', { value: hoursTacho })\n\t}, [hoursTacho])\n\n\tconst parseDriverActivities = (driverReports) => {\n\t\treturn driverReports.map((activity, index) => {\n\t\t\tif (activity?.partialActivities?.length) {\n\t\t\t\treturn {\n\t\t\t\t\tduration: sumBy(activity.partialActivities, 'duration'),\n\t\t\t\t\tstartTime: activity.partialActivities[0]?.startTime,\n\t\t\t\t\tendTime: activity.partialActivities[activity.partialActivities.length - 1]?.endTime,\n\t\t\t\t\tactivityType: 0,\n\t\t\t\t\tpartialActivities: activity.partialActivities,\n\t\t\t\t\tstartCoordinates: activity?.startCoordinates\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn activity\n\t\t\t}\n\t\t})\n\t}\n\n\tconst updateUserColumns = (columns) => {\n\t\tconst tempColumns = allColumns\n\t\tfor (const column of tempColumns) {\n\t\t\tcolumn.selected = !!columns.filter(item => item === column.value)?.length\n\t\t}\n\t\tsetAllColumns(tempColumns)\n\t\tconst paylaod = {\n\t\t\tpath: 'settings.widgets.tachograph.columnOrder',\n\t\t\tvalue: columns\n\t\t}\n\t\tupdateLoggedUser(paylaod)\n\t}\n\n\tconst showVehicleLicensePlate = (vehicleID) => {\n\t\tif (!vehicles || vehicles.length === 0 || !vehicleID) {\n\t\t\treturn ''\n\t\t}\n\t\treturn vehicles.find(vehicle => vehicle.raw.id === vehicleID)?.raw?.licensePlate || 'No license plate'\n\t}\n\n\tconst showVehicleOdometer = (vehicleID) => {\n\t\tif (!vehicles.length || !vehicleID) {\n\t\t\treturn ''\n\t\t}\n\t\tlet odometer = vehicles.find(vehicle => vehicle.raw.id === vehicleID)?.raw?.status?.tacho?.odometer\n\t\tif (!odometer) {\n\t\t\todometer = vehicles.find(vehicle => vehicle.raw.id === vehicleID)?.raw?.status?.can?.distance\n\t\t\tif (!odometer) {\n\t\t\t\treturn '-'\n\t\t\t}\n\t\t}\n\t\treturn (Math.trunc(odometer / 1000)).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ')\n\t}\n\n\tconst showDriverFullName = (driverReport) => {\n\t\treturn driverReport?.driverLastName + ' ' + driverReport?.driverFirstName\n\t}\n\n\tconst findCssClass = (value) => {\n\t\tswitch (value) {\n\t\tcase true:\n\t\t\treturn 'bold-green'\n\t\tcase false:\n\t\t\treturn 'bold-red'\n\t\tcase null:\n\t\t\treturn ''\n\t\t}\n\t}\n\n\tconst ShowIconForAmpliture = (difference) => {\n\t\tswitch (difference) {\n\t\tcase 1:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`1 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>\n\t\t\t)\n\t\tcase 2:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`2 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\tcase 3:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`3 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`0 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\t}\n\t}\n\n\tconst ShowIconForOverDrive = (difference) => {\n\t\tif (difference < 0) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`0 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\t}\n\t\tif (difference > 2) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div className='overdrive-bullets-div'>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`2 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\t}\n\t\tswitch (difference) {\n\t\tcase 0:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`0 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\tcase 1:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`1 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>\n\t\t\t)\n\t\tcase 2:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div className='overdrive-bullets-div'>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`2 ${t('widgets/users-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\t}\n\t}\n\n\tconst recoveriesWeeks = (recoveries) => {\n\t\tconst weeks = []\n\t\tfor (const key in recoveries) {\n\t\t\tif (recoveries[key]?.completeWeeklyRest && (!recoveries[key].reducedWeeklyRest?.length || !recoveries[key].reducedWeeklyRest) && (!recoveries[key].recoveredWeeklyRest?.length || !recoveries[key].recoveredWeeklyRest)) {\n\t\t\t\trecoveries[key].case = 1\n\t\t\t\tweeks.push(recoveries[key])\n\t\t\t}\n\t\t\tif (!recoveries[key].completeWeeklyRest && recoveries[key].reducedWeeklyRest?.length && (!recoveries[key].recoveredWeeklyRest?.length || !recoveries[key].recoveredWeeklyRest)) {\n\t\t\t\trecoveries[key].case = 2\n\t\t\t\tweeks.push(recoveries[key])\n\t\t\t}\n\t\t\tif (!recoveries[key].completeWeeklyRest && (!recoveries[key].reducedWeeklyRest?.length || !recoveries[key].reducedWeeklyRest) && recoveries[key].recoveredWeeklyRest?.length) {\n\t\t\t\trecoveries[key].case = 3\n\t\t\t\tweeks.push(recoveries[key])\n\t\t\t}\n\t\t\tif (!recoveries[key].completeWeeklyRest && (!recoveries[key].recoveredWeeklyRest || !recoveries[key].recoveredWeeklyRest?.length) && (!recoveries[key].reducedWeeklyRest || !recoveries[key].reducedWeeklyRest?.length)) {\n\t\t\t\trecoveries[key].case = 4\n\t\t\t\tweeks.push(recoveries[key])\n\t\t\t}\n\t\t}\n\t\treturn weeks\n\t}\n\n\tconst reducedWeeklyRestElements = (recoveries) => {\n\t\tlet reducedWeeklyRestArray = []\n\t\tfor (const week in recoveries) {\n\t\t\tif (recoveries[week]?.reducedWeeklyRest && recoveries[week].reducedWeeklyRest?.length > 0) {\n\t\t\t\treducedWeeklyRestArray = reducedWeeklyRestArray.concat(recoveries[week].reducedWeeklyRest)\n\t\t\t}\n\t\t}\n\t\treturn reducedWeeklyRestArray\n\t}\n\n\tconst convertDateToCompanyTZ = (ts) => {\n\t\tif (timeZone) {\n\t\t\tconst date = moment(ts).format('YYYY-MM-DD HH:mm:ss.SSS')\n\t\t\tconst convertedDate = moment.tz(date, timeZone).valueOf()\n\t\t\treturn convertedDate\n\t\t} else {\n\t\t\treturn ts\n\t\t}\n\t}\n\n\tconst showDate = (weekDetails) => {\n\t\tswitch (weekDetails.case) {\n\t\tcase 1:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.completeWeeklyRest?.start).valueOf())).format('DD.MM.YYYY')\n\t\tcase 2:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.reducedWeeklyRest[0].start).valueOf())).format('DD.MM.YYYY')\n\t\tcase 3:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.recoveredWeeklyRest[0].reducedStart).valueOf())).format('DD.MM.YYYY')\n\t\t}\n\t}\n\n\tconst showDuration = (weekDetails) => {\n\t\tswitch (weekDetails.case) {\n\t\tcase 1:\n\t\t\treturn DateUtils.formatDurationInHours(weekDetails?.completeWeeklyRest?.duration * 1000)\n\t\tcase 2:\n\t\t\treturn DateUtils.formatDurationInHours(weekDetails?.reducedWeeklyRest[0].duration * 1000)\n\t\tcase 3:\n\t\t\treturn DateUtils.formatDurationInHours(weekDetails?.recoveredWeeklyRest[0].reducedDuration * 1000)\n\t\t}\n\t}\n\n\tconst showRecoveryState = (weekDetails) => {\n\t\tswitch (weekDetails.case) {\n\t\tcase 1:\n\t\t\treturn <span>{t('widgets/users-tachograph:recoveryState.notNecessary')}</span>\n\t\tcase 2:\n\t\t\treturn <span className='bold-red'>{t('widgets/users-tachograph:recoveryState.need')}</span>\n\t\tcase 3:\n\t\t\treturn <span className='bold-green'>{t('widgets/users-tachograph:recoveryState.itWas')}</span>\n\t\t}\n\t}\n\n\tconst showRecoveryDate = (weekDetails) => {\n\t\tswitch (weekDetails.case) {\n\t\tcase 1:\n\t\t\treturn '-'\n\t\tcase 2:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.reducedWeeklyRest[0].start).endOf('isoWeek').add(3, 'isoWeek').valueOf())).format('DD.MM.YYYY')\n\t\tcase 3:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.recoveredWeeklyRest[0].recoveryStart).valueOf())).format('DD.MM.YYYY')\n\t\t}\n\t}\n\n\tconst ShowRestType = (type) => {\n\t\tswitch (type) {\n\t\tcase '9':\n\t\t\treturn t('widgets/users-tachograph:restsTooltip.breaksType.9')\n\t\tcase '11':\n\t\t\treturn t('widgets/users-tachograph:restsTooltip.breaksType.11')\n\t\tcase '3+9':\n\t\t\treturn t('widgets/users-tachograph:restsTooltip.breaksType.3+9')\n\t\tcase '24':\n\t\t\treturn t('widgets/users-tachograph:restsTooltip.breaksType.24')\n\t\tcase '45':\n\t\t\treturn t('widgets/users-tachograph:restsTooltip.breaksType.45')\n\t\tdefault:\n\t\t\treturn ''\n\t\t}\n\t}\n\n\tconst ShowRecoveries = (recoveries) => {\n\t\tif (!recoveries || (recoveriesWeeks(recoveries).length === 1 && recoveriesWeeks(recoveries)[0]?.case === 4)) {\n\t\t\treturn <div className='full-width'><span>{t('widgets/users-tachograph:tooltipHeaders.noData')}</span></div>\n\t\t}\n\n\t\tif (recoveries && reducedWeeklyRestElements(recoveries)?.length === 0) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\tposition='left center'\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div className='full-width'>\n\t\t\t\t\t\t\t<span>-</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t<Grid.Row className='popup-row'>\n\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:tooltipHeaders.breakDate')}</b>\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:tooltipHeaders.durationPerformed')}</b>\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:tooltipHeaders.recovery')}</b>\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t<Grid.Column width={3}>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:tooltipHeaders.date')}</b>\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t{recoveriesWeeks(recoveries).map((week, index) => (\n\t\t\t\t\t\t\t\t\t<Grid.Row key={index} className='popup-row'>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{showDate(week)}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t{showDuration(week)}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{showRecoveryState(week)}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={3} className={findCssClass(week.recovery)}>\n\t\t\t\t\t\t\t\t\t\t\t{showRecoveryDate(week)}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\t\tif (recoveries && reducedWeeklyRestElements(recoveries)?.length > 0) {\n\t\t\treturn (\n\t\t\t\trecoveriesWeeks(recoveries).length === 1 && recoveriesWeeks(recoveries)[0]?.case === 4 ? <div className='full-width'><span>{t('widgets/users-tachograph:tooltipHeaders.noData')}</span></div>\n\t\t\t\t\t: <Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='left center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<Grid.Column width={5} className='info-col-recoveries-table'>\n\t\t\t\t\t\t\t\t{reducedWeeklyRestElements(recoveries).map((item, index) =>\n\t\t\t\t\t\t\t\t\t<Grid key={index}>\n\t\t\t\t\t\t\t\t\t\t<Grid.Row className='recovery-data-row'>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={8}>{DateUtils.formatDurationInHours(item.durationRemains * 1000)}</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={8}>{moment(item?.start).endOf('isoWeek').add(3, 'isoWeek').format('DD.MM.YYYY')}</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t\t<Grid.Row className='popup-row'>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:tooltipHeaders.breakDate')}</b>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:tooltipHeaders.durationPerformed')}</b>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:tooltipHeaders.recovery')}</b>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={3}>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:tooltipHeaders.date')}</b>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t{recoveriesWeeks(recoveries).length &&\n\t\t\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t\t\t{recoveriesWeeks(recoveries).map((week, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Row key={index} className='popup-row'>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showDate(week)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showDuration(week)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showRecoveryState(week)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={3} className={findCssClass(week.recovery)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showRecoveryDate(week)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</Grid>}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>)\n\t\t}\n\t}\n\n\tconst showRests = (lastRests) => {\n\t\tif (!lastRests?.length) {\n\t\t\treturn t('widgets/users-tachograph:tooltipHeaders.noData')\n\t\t}\n\n\t\tconst lastRestsArray = []\n\n\t\tfor (const item of lastRests) {\n\t\t\tif (item.type === '3+9') {\n\t\t\t\tlastRestsArray.push({\n\t\t\t\t\tstart: item?.complementaryStart || '',\n\t\t\t\t\tend: item?.complementaryEnd || '',\n\t\t\t\t\tduration: item?.complementaryDuration || '',\n\t\t\t\t\ttype: '3+9'\n\t\t\t\t})\n\t\t\t\tlastRestsArray.push({\n\t\t\t\t\tstart: item?.start || '',\n\t\t\t\t\tend: item?.end || '',\n\t\t\t\t\tduration: item?.duration || '',\n\t\t\t\t\ttype: '-'\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tlastRestsArray.push(item)\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\tflowing\n\t\t\t\thoverable\n\t\t\t\tposition='left center'\n\t\t\t\ttrigger={\n\t\t\t\t\t<img className='table-icon' src='../../assets/images/icons/bed-grey.png' />\n\t\t\t\t}\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t<Grid.Row className='popup-row'>\n\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:restsTooltip.headers.break')}</b>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:restsTooltip.headers.start')}</b>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:restsTooltip.headers.end')}</b>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/users-tachograph:restsTooltip.headers.duration')}</b>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t{lastRestsArray?.length &&\n\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t{lastRestsArray.map((item, index) => (\n\t\t\t\t\t\t\t\t\t<Grid.Row key={index} className='popup-row'>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ShowRestType(item.type)}</span>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{item?.start ? moment(item.start).format('DD.MM.YYYY, HH:mm') : '-'}\n\t\t\t\t\t\t\t\t\t\t\t{/* {showDate(week)} */}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{item?.end ? moment(item.end).format('DD.MM.YYYY, HH:mm') : '-'}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{item?.duration ? DateUtils.formatDurationInHours(item?.duration * 1000) : '-'}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Grid>}\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t)\n\t}\n\n\tconst changeCountHours = (stateHoursValue) => {\n\t\tlet coefficient = 1\n\t\tconst tempCounterHours = []\n\t\tswitch (stateHoursValue) {\n\t\tcase '24':\n\t\t\tcoefficient = 1\n\t\t\tbreak\n\t\tcase '48':\n\t\t\tcoefficient = 2\n\t\t\tbreak\n\t\tcase '72':\n\t\t\tcoefficient = 3\n\t\t\tbreak\n\t\t}\n\t\tfor (let i = 24; i >= 0; i--) {\n\t\t\ttempCounterHours.push(i * coefficient)\n\t\t}\n\t\tsetCoutHours(tempCounterHours)\n\t}\n\n\tconst startTimestamp = (numberOfDays) => {\n\t\tif (!numberOfDays) return\n\t\treturn moment().valueOf() - ((numberOfDays * 24) * oneHourInMs)\n\t}\n\n\tconst startTimestampTachoCoutHours = () => {\n\t\treturn moment().valueOf() - ((+countHoursForTachoWidget || 24) * oneHourInMs)\n\t}\n\n\tconst columns = useMemo(() => {\n\t\tif (data) {\n\t\t\tconst tempColumn = [\n\t\t\t\t{\n\t\t\t\t\tname: 'licensePlate',\n\t\t\t\t\tHeader: t('common:vehicle.licensePlate'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 90,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <b>{showVehicleLicensePlate(props.data[props.row.id]?.vehicleID)}</b>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'odometer',\n\t\t\t\t\tHeader: t('common:odometer'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <b>{showVehicleOdometer(props.data[props.row.id]?.vehicleID)}</b>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'driver',\n\t\t\t\t\tHeader: t('common:driver'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <b>{showDriverFullName(props.data[props.row.id])}</b>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'tachoReports',\n\t\t\t\t\tHeader: t('widgets/users-tachograph:tableHeaders.tachoReports'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName='tacho-reports-anchor-tag'\n\t\t\t\t\t\t\t\thref={`/reports/tacho-timesheet?start=${startTimestamp(7)}&end=${moment().valueOf()}&cardID=${props?.row?.original?.tachoCardID}`}\n\t\t\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\t\t\trel='noreferrer'\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t7\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName='tacho-reports-anchor-tag'\n\t\t\t\t\t\t\t\thref={`/reports/tacho-timesheet?start=${startTimestamp(28)}&end=${moment().valueOf()}&cardID=${props?.row?.original?.tachoCardID}`}\n\t\t\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\t\t\trel='noreferrer'\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t28\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'graphic',\n\t\t\t\t\tHeader: t('common:graphic'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 600,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <Chart\n\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\ttimeZone={timeZone}\n\t\t\t\t\t\tcountHours={countHours}\n\t\t\t\t\t\tdata={props.data[props.row.id]}\n\t\t\t\t\t\thours={countHoursForTachoWidget || '24'}\n\t\t\t\t\t/>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'location',\n\t\t\t\t\tHeader: t('common:location'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`/map/routes/${props?.row?.original?.vehicleID}?end=${moment().valueOf()}&start=${startTimestampTachoCoutHours()}`}\n\t\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\t\trel='noreferrer'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img className='table-icon' src='../../assets/images/map_icon_grey.png' />\n\t\t\t\t\t\t</a>),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'remainingDay',\n\t\t\t\t\tid: 'remainingDay',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:tableHeaders.remainingDay')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:headerTooltips.drivingDay')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span>{(props.data[props.row.id]?.driveLeftDay < 0 || !props.data[props.row.id]?.driveLeftDay) ? '-' : DateUtils.formatDurationInHours(props.data[props.row.id]?.driveLeftDay * 1000)}</span>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'remainingWeek',\n\t\t\t\t\tid: 'remainingWeek',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:tableHeaders.remainingWeek')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:headerTooltips.drivingWeek')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span>{(props.data[props.row.id]?.driveLeftWeek < 0 || !props.data[props.row.id]?.driveLeftWeek) ? '-' : DateUtils.formatDurationInHours(props.data[props.row.id]?.driveLeftWeek * 1000)}</span>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'amplitudeDay',\n\t\t\t\t\tid: 'amplitudeDay',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:tableHeaders.amplitudeDay')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:headerTooltips.amplitudeDay')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span>{(props.data[props.row.id]?.amplitude?.remainTime < 0 || !props.data[props.row.id]?.amplitude?.remainTime) ? '-' : DateUtils.formatDurationInHours(props.data[props.row.id]?.amplitude?.remainTime || 0)}</span>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'dayCycle',\n\t\t\t\t\tid: 'dayCycle',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:tableHeaders.dayCycle')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:headerTooltips.dayCycle')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span>{(!props.data[props.row.id]?.dayCycleCount) ? '-' : props.data[props.row.id]?.dayCycleCount}</span>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'overDrive',\n\t\t\t\t\tid: 'overDrive',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 130,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:tableHeaders.overDrive')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:headerTooltips.overDrive')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span className='cell-center-align'> {ShowIconForOverDrive(2 - props.data[props.row.id]?.overDrive)} </span>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'amplitude',\n\t\t\t\t\tid: 'amplitude',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 80,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom right'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:tableHeaders.amplitude')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:headerTooltips.amplitude')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span className='cell-center-align'> {ShowIconForAmpliture(3 - props.data[props.row.id]?.amplitude?.count)} </span>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'rests',\n\t\t\t\t\tid: 'rests',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 80,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: t('widgets/users-tachograph:tableHeaders.rests'),\n\t\t\t\t\tCell: props => showRests(props.row?.original?.lastRests)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'recoveries',\n\t\t\t\t\tid: 'recoveries',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 120,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom right'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:tableHeaders.recoveries')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/users-tachograph:headerTooltips.toBeRecovered')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => ShowRecoveries(props.row?.original?.recoveries)\n\t\t\t\t},\n\t\t\t]\n\t\t\tif (!actionOnColumns) {\n\t\t\t\treturn tempColumn\n\t\t\t} else {\n\t\t\t\treturn tempColumn.filter((column, index) => allColumns[index]?.selected)\n\t\t\t}\n\t\t}\n\t}, [data, actionOnColumns, vehicles])\n\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialState: { pageIndex: 0, pageSize: 9999 },\n\t}, useRowState, useFilters, usePagination)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\tpage,\n\t\tprepareRow,\n\t\tstate: { pageIndex, pageSize },\n\t} = tableInstance\n\n\tconst onChangeHourCount = (e, objectOfValues) => {\n\t\tconst LSValue = localStorage.getItem('countHoursForTachoWidget')\n\t\tif (!objectOfValues?.value || objectOfValues.value === LSValue) return\n\t\tsetCountHoursForTachoWidget(objectOfValues.value)\n\t\tsetSelectedHourState(objectOfValues.value)\n\t\tchangeCountHours(objectOfValues.value)\n\n\t\tlocalStorage.setItem('countHoursForTachoWidget', objectOfValues.value)\n\t\treloadUserTachoGraph({ limit: limit, interval: objectOfValues.value })\n\t}\n\n\tconst onChangeTachoType = (value) => {\n\t\tif (!value) return\n\t\tconst paylaod = {\n\t\t\tpath: 'settings.tachoWidgetType',\n\t\t\tvalue: value\n\t\t}\n\t\tupdateLoggedUser(paylaod)\n\t}\n\n\treturn (\n\t\t<div className={`tacho-widget-graph${dashboard ? ' dashboard' : ''}`}>\n\t\t\t{!dashboard &&\n\t\t\t\t<div className='filters'>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\tclassName='search-input'\n\t\t\t\t\t\ticon={search?.length ? <Icon name='remove' link onClick={() => setSearch('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\tplaceholder={t('common:searchLicensePlateDriver')}\n\t\t\t\t\t\tonChange={e => setSearch(e.target.value)}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t\t<ShowColumnTool\n\t\t\t\t\t\toptions={allColumns}\n\t\t\t\t\t\tonChange={onChangeHourCount}\n\t\t\t\t\t\tonClose={updateUserColumns}\n\t\t\t\t\t\tsetOptions={setAllColumns}\n\t\t\t\t\t/>\n\t\t\t\t\t<SettingsTool\n\t\t\t\t\t\tdefaultValueHours={selectedHourState}\n\t\t\t\t\t\ttachoWidgetType={tachoWidgetType}\n\t\t\t\t\t\toptions={stateHours}\n\t\t\t\t\t\tonChangeHours={onChangeHourCount}\n\t\t\t\t\t\tonChangeTachoType={onChangeTachoType}\n\t\t\t\t\t/>\n\t\t\t\t</div>}\n\t\t\t{((isLoadingUserTachoGraph && !userTachoGraph?.length) || !userTachoGraph) ? (\n\t\t\t\t<Loader className='tracknamic' content={t('loading')} size='medium' active />\n\t\t\t) : (\n\t\t\t\t<div className='table-container'>\n\t\t\t\t\t<Table className='relaxed sticky' {...getTableProps()} {...props}>\n\t\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Header>\n\t\t\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t\t\t{page.map((row, index) => {\n\t\t\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<tr key={index} {...row.getRowProps()}>\n\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, cellIndex) => {\n\t\t\t\t\t\t\t\t\t\t\treturn <td key={cellIndex} {...cell.getCellProps()}>{cell.render('Cell')}</td>\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Table.Body>\n\t\t\t\t\t</Table>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nUserTachograph.propTypes = {\n\tdashboard: PropTypes.bool,\n\treloadTime: PropTypes.number,\n\tlimit: PropTypes.number,\n\thoursTacho: PropTypes.number,\n\tloggedUser: PropTypes.object,\n\tupdateLoggedUser: PropTypes.func,\n\ttachoWidgetType: PropTypes.string,\n}\n\nexport default UserTachograph\n","import React, { useMemo, useEffect, useState } from 'react'\nimport { Grid, Table, Loader, Input, Icon, Popup } from 'semantic-ui-react'\nimport { useTable, useRowState, useFilters, usePagination } from 'react-table'\nimport { useTranslation } from 'react-i18next'\nimport { useStoreState, useStoreActions } from 'easy-peasy'\nimport matchSorter, { rankings } from 'match-sorter'\nimport { useInterval } from 'ahooks'\nimport { sortBy, sumBy } from 'lodash'\nimport DateUtils from '../../../react/utils/date'\nimport useErrorHandler from '../../hooks/useErrorHandler'\nimport Chart from '../../components/Tacho/Chart'\nimport SettingsTool from '../../components/Table/UtilityTools/SettingsTool'\nimport ShowColumnTool from '../../components/Table/UtilityTools/ShowColumnTool'\nimport PropTypes, { array } from 'prop-types'\n\nconst fiveMinutesInMs = 300000\nconst oneHourInMs = 3600000\n\nfunction VehiclesTachograph ({\n\tdashboard = false,\n\treloadTime,\n\tlimit = null,\n\thoursTacho,\n\tloggedUser,\n\tupdateLoggedUser,\n\ttachoWidgetType,\n\t...props\n}) {\n\tconst { t } = useTranslation(['common', 'widgets/vehicles-tachograph'])\n\n\tuseErrorHandler()\n\n\t// vehicleTachoGraph\n\tconst vehicleTachoGraph = useStoreState(state => state.vehicleTachoGraph.data)\n\tconst reloadUserTachoGraph = useStoreActions(actions => actions.vehicleTachoGraph.reload)\n\tconst isLoadingUserTachoGraph = useStoreState(state => state.vehicleTachoGraph.loading)\n\n\t// vehicle\n\tconst vehicles = useStoreState(state => state.vehicles.items)\n\tconst reloadVehicles = useStoreActions(actions => actions.vehicles.reload)\n\n\t// timeZone\n\tconst timeZone = useStoreState(state => state.session.timezone)\n\n\tconst [data, setData] = useState([])\n\tconst [backupData, setBackupData] = useState([])\n\n\tconst [search, setSearch] = useState('')\n\tconst [actionOnColumns, setActionOnColumns] = useState(null)\n\n\tconst [countHours, setCoutHours] = useState([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0])\n\n\tconst [countHoursForTachoWidget, setCountHoursForTachoWidget] = useState(localStorage.getItem('countHoursForTachoWidget') || '24')\n\n\tconst [stateHours, setStateHours] = useState([\n\t\t{ value: '24', text: '24h' },\n\t\t{ value: '48', text: '48h' },\n\t\t{ value: '72', text: '72h' },\n\t])\n\n\tconst [selectedHourState, setSelectedHourState] = useState(countHoursForTachoWidget || '24')\n\n\tconst [allColumns, setAllColumns] = useState([\n\t\t{ selected: true, text: t('common:vehicle.licensePlate'), value: 'licensePlate' },\n\t\t{ selected: true, text: t('common:odometer'), value: 'odometer' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.crew'), value: 'crew' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.tachoReports'), value: 'tachoReports' },\n\t\t{ selected: true, text: t('common:graphic'), value: 'graphic' },\n\t\t{ selected: true, text: t('common:location'), value: 'location' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.remainingDay'), value: 'remainingDay' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.remainingWeek'), value: 'remainingWeek' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.amplitudeDay'), value: 'amplitudeDay' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.dayCycle'), value: 'dayCycle' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.overDrive'), value: 'overDrive' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.amplitude'), value: 'amplitude' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.rests'), value: 'rests' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.recoveriesDriver1'), value: 'recoveriesDriver1' },\n\t\t{ selected: true, text: t('widgets/vehicles-tachograph:tableHeaders.recoveriesDriver2'), value: 'recoveriesDriver2' }\n\t])\n\n\tuseInterval(\n\t\t() => {\n\t\t\tchangeCountHours(countHoursForTachoWidget || '24')\n\t\t\treloadUserTachoGraph({ limit: limit, interval: countHoursForTachoWidget || 24 })\n\t\t\treloadVehicles()\n\t\t},\n\t\treloadTime || fiveMinutesInMs,\n\t\t{ immediate: true },\n\t)\n\n\tuseEffect(() => {\n\t\tif (localStorage.getItem('countHoursForTachoWidget')) {\n\t\t\tsetSelectedHourState(localStorage.getItem('countHoursForTachoWidget') || '24')\n\t\t}\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (vehicleTachoGraph && vehicleTachoGraph.length !== 0) {\n\t\t\tlet tempArray = []\n\t\t\tfor (const key in vehicleTachoGraph) {\n\t\t\t\tfor (const driverReport of vehicleTachoGraph[key]) {\n\t\t\t\t\tdriverReport.licensePlate = showVehicleLicensePlate(driverReport.vehicleID)\n\t\t\t\t\tdriverReport.driverFullname = showDriverFullName(driverReport)\n\n\t\t\t\t\tif (driverReport?.activities?.length) {\n\t\t\t\t\t\tdriverReport.activities = parseDriverActivities([...driverReport?.activities])\n\t\t\t\t\t}\n\t\t\t\t\ttempArray.push(driverReport)\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetBackupData(sortBy(tempArray, item => item?.licensePlate))\n\t\t\tif (search) {\n\t\t\t\ttempArray = matchSorter(backupData, search, { keys: ['licensePlate', 'driverFullname'], threshold: rankings.CONTAINS })\n\t\t\t}\n\t\t\tsetData(sortBy(tempArray, item => item?.licensePlate))\n\t\t}\n\t}, [vehicleTachoGraph])\n\n\tuseEffect(() => {\n\t\tconst tempArray = matchSorter(backupData, search, { keys: ['licensePlate', 'driverFullname'], threshold: rankings.CONTAINS })\n\t\tsetData(tempArray)\n\t}, [search, isLoadingUserTachoGraph])\n\n\tuseEffect(() => {\n\t\tif (!loggedUser) return\n\t\tif (loggedUser?.settings?.widgets?.vehicleTachoGraph?.columnOrder) {\n\t\t\tconst tachoGraphColumns = loggedUser?.settings?.widgets?.vehicleTachoGraph?.columnOrder\n\t\t\tallColumns.forEach((column, index) => {\n\t\t\t\tif (tachoGraphColumns.find(col => col === column.value)) {\n\t\t\t\t\tcolumn.selected = true\n\t\t\t\t} else {\n\t\t\t\t\tcolumn.selected = false\n\t\t\t\t}\n\t\t\t})\n\t\t\tsetActionOnColumns(new Date().getTime())\n\t\t}\n\t}, [loggedUser])\n\n\tuseEffect(() => {\n\t\tif (!hoursTacho) return\n\t\tonChangeHourCount('', { value: hoursTacho })\n\t}, [hoursTacho])\n\n\tconst parseDriverActivities = (driverReports) => {\n\t\treturn driverReports.map((activity, index) => {\n\t\t\tif (activity?.partialActivities?.length) {\n\t\t\t\treturn {\n\t\t\t\t\tduration: sumBy(activity.partialActivities, 'duration'),\n\t\t\t\t\tstartTime: activity.partialActivities[0]?.startTime,\n\t\t\t\t\tendTime: activity.partialActivities[activity.partialActivities.length - 1]?.endTime,\n\t\t\t\t\tactivityType: 0,\n\t\t\t\t\tpartialActivities: activity.partialActivities,\n\t\t\t\t\tstartCoordinates: activity?.startCoordinates\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn activity\n\t\t\t}\n\t\t})\n\t}\n\n\tconst updateUserColumns = (columns) => {\n\t\tconst tempColumns = allColumns\n\t\tfor (const column of tempColumns) {\n\t\t\tcolumn.selected = !!columns.filter(item => item === column.value)?.length\n\t\t}\n\t\tsetAllColumns(tempColumns)\n\t\tconst paylaod = {\n\t\t\tpath: 'settings.widgets.vehicleTachograph.columnOrder',\n\t\t\tvalue: columns\n\t\t}\n\t\tupdateLoggedUser(paylaod)\n\t}\n\n\tconst showVehicleLicensePlate = (vehicleID) => {\n\t\tif (!vehicles || vehicles.length === 0 || !vehicleID) {\n\t\t\treturn ''\n\t\t}\n\t\treturn vehicles.find(vehicle => vehicle.raw.id === vehicleID)?.raw?.licensePlate || 'No license plate'\n\t}\n\n\tconst showVehicleOdometer = (vehicleID) => {\n\t\tif (!vehicles.length || !vehicleID) {\n\t\t\treturn ''\n\t\t}\n\t\tlet odometer = vehicles.find(vehicle => vehicle.raw.id === vehicleID)?.raw?.status?.tacho?.odometer\n\t\tif (!odometer) {\n\t\t\todometer = vehicles.find(vehicle => vehicle.raw.id === vehicleID)?.raw?.status?.can?.distance\n\t\t\tif (!odometer) {\n\t\t\t\treturn '-'\n\t\t\t}\n\t\t}\n\t\treturn (Math.trunc(odometer / 1000)).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ')\n\t}\n\n\tconst showDriverFullName = (driverReport) => {\n\t\treturn driverReport?.driverLastName + ' ' + driverReport?.driverFirstName\n\t}\n\n\tconst showDriversFullName = (arrayOfDrivers) => {\n\t\tif (!arrayOfDrivers?.length) return '-'\n\t\treturn arrayOfDrivers.map((driver, index) => {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<span key={index}>\n\t\t\t\t\t\t{driver}\n\t\t\t\t\t\t{index + 1 !== arrayOfDrivers.length && <br />}\n\t\t\t\t\t</span>\n\t\t\t\t</>\n\t\t\t)\n\t\t})\n\t}\n\n\tconst findCssClass = (value) => {\n\t\tswitch (value) {\n\t\tcase true:\n\t\t\treturn 'bold-green'\n\t\tcase false:\n\t\t\treturn 'bold-red'\n\t\tcase null:\n\t\t\treturn ''\n\t\t}\n\t}\n\n\tconst ShowIconForAmpliture = (difference) => {\n\t\tswitch (difference) {\n\t\tcase 1:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`1 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>\n\t\t\t)\n\t\tcase 2:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`2 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\tcase 3:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`3 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={`0 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t/>)\n\t\t}\n\t}\n\n\tconst ShowIconForOverDrive = (difference, name) => {\n\t\tif (difference < 0) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<b>{name}</b>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{`0 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>)\n\t\t}\n\t\tif (difference > 2) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\n\t\t\t\t\t\t<div className='overdrive-bullets-div'>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<b>{name}</b>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{`2 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>)\n\t\t}\n\t\tswitch (difference) {\n\t\tcase 0:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<b>{name}</b>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{`0 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>)\n\t\tcase 1:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon red-circle'><span className='x-marker'>x</span></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<b>{name}</b>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{`1 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)\n\t\tcase 2:\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div className='overdrive-bullets-div'>\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t\t<i className='circle icon green-circle' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<b>{name}</b>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{`2 ${t('widgets/vehicles-tachograph:tableHeaders.available')}`}\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>)\n\t\t}\n\t}\n\n\tconst recoveriesWeeks = (recoveries) => {\n\t\tconst weeks = []\n\t\tfor (const key in recoveries) {\n\t\t\tif (recoveries[key]?.completeWeeklyRest && (!recoveries[key].reducedWeeklyRest?.length || !recoveries[key].reducedWeeklyRest) && (!recoveries[key].recoveredWeeklyRest?.length || !recoveries[key].recoveredWeeklyRest)) {\n\t\t\t\trecoveries[key].case = 1\n\t\t\t\tweeks.push(recoveries[key])\n\t\t\t}\n\t\t\tif (!recoveries[key].completeWeeklyRest && recoveries[key].reducedWeeklyRest?.length && (!recoveries[key].recoveredWeeklyRest?.length || !recoveries[key].recoveredWeeklyRest)) {\n\t\t\t\trecoveries[key].case = 2\n\t\t\t\tweeks.push(recoveries[key])\n\t\t\t}\n\t\t\tif (!recoveries[key].completeWeeklyRest && (!recoveries[key].reducedWeeklyRest?.length || !recoveries[key].reducedWeeklyRest) && recoveries[key].recoveredWeeklyRest?.length) {\n\t\t\t\trecoveries[key].case = 3\n\t\t\t\tweeks.push(recoveries[key])\n\t\t\t}\n\t\t\tif (!recoveries[key].completeWeeklyRest && (!recoveries[key].recoveredWeeklyRest || !recoveries[key].recoveredWeeklyRest?.length) && (!recoveries[key].reducedWeeklyRest || !recoveries[key].reducedWeeklyRest?.length)) {\n\t\t\t\trecoveries[key].case = 4\n\t\t\t\tweeks.push(recoveries[key])\n\t\t\t}\n\t\t}\n\t\treturn weeks\n\t}\n\n\tconst reducedWeeklyRestElements = (recoveries) => {\n\t\tlet reducedWeeklyRestArray = []\n\t\tfor (const week in recoveries) {\n\t\t\tif (recoveries[week]?.reducedWeeklyRest && recoveries[week].reducedWeeklyRest?.length > 0) {\n\t\t\t\treducedWeeklyRestArray = reducedWeeklyRestArray.concat(recoveries[week].reducedWeeklyRest)\n\t\t\t}\n\t\t}\n\t\treturn reducedWeeklyRestArray\n\t}\n\n\tconst convertDateToCompanyTZ = (ts) => {\n\t\tif (timeZone) {\n\t\t\tconst date = moment(ts).format('YYYY-MM-DD HH:mm:ss.SSS')\n\t\t\tconst convertedDate = moment.tz(date, timeZone).valueOf()\n\t\t\treturn convertedDate\n\t\t} else {\n\t\t\treturn ts\n\t\t}\n\t}\n\n\tconst showDate = (weekDetails) => {\n\t\tswitch (weekDetails.case) {\n\t\tcase 1:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.completeWeeklyRest?.start).valueOf())).format('DD.MM.YYYY')\n\t\tcase 2:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.reducedWeeklyRest[0].start).valueOf())).format('DD.MM.YYYY')\n\t\tcase 3:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.recoveredWeeklyRest[0].reducedStart).valueOf())).format('DD.MM.YYYY')\n\t\t}\n\t}\n\n\tconst showDuration = (weekDetails) => {\n\t\tswitch (weekDetails.case) {\n\t\tcase 1:\n\t\t\treturn DateUtils.formatDurationInHours(weekDetails?.completeWeeklyRest?.duration * 1000)\n\t\tcase 2:\n\t\t\treturn DateUtils.formatDurationInHours(weekDetails?.reducedWeeklyRest[0].duration * 1000)\n\t\tcase 3:\n\t\t\treturn DateUtils.formatDurationInHours(weekDetails?.recoveredWeeklyRest[0].reducedDuration * 1000)\n\t\t}\n\t}\n\n\tconst showRecoveryState = (weekDetails) => {\n\t\tswitch (weekDetails.case) {\n\t\tcase 1:\n\t\t\treturn <span>{t('widgets/vehicles-tachograph:recoveryState.notNecessary')}</span>\n\t\tcase 2:\n\t\t\treturn <span className='bold-red'>{t('widgets/vehicles-tachograph:recoveryState.need')}</span>\n\t\tcase 3:\n\t\t\treturn <span className='bold-green'>{t('widgets/vehicles-tachograph:recoveryState.itWas')}</span>\n\t\t}\n\t}\n\n\tconst showRecoveryDate = (weekDetails) => {\n\t\tswitch (weekDetails.case) {\n\t\tcase 1:\n\t\t\treturn '-'\n\t\tcase 2:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.reducedWeeklyRest[0].start).endOf('isoWeek').add(3, 'isoWeek').valueOf())).format('DD.MM.YYYY')\n\t\tcase 3:\n\t\t\treturn moment.utc(convertDateToCompanyTZ(moment(weekDetails?.recoveredWeeklyRest[0].recoveryStart).valueOf())).format('DD.MM.YYYY')\n\t\t}\n\t}\n\n\tconst ShowRestType = (type) => {\n\t\tswitch (type) {\n\t\tcase '9':\n\t\t\treturn t('widgets/vehicles-tachograph:restsTooltip.breaksType.9')\n\t\tcase '11':\n\t\t\treturn t('widgets/vehicles-tachograph:restsTooltip.breaksType.11')\n\t\tcase '3+9':\n\t\t\treturn t('widgets/vehicles-tachograph:restsTooltip.breaksType.3+9')\n\t\tcase '24':\n\t\t\treturn t('widgets/vehicles-tachograph:restsTooltip.breaksType.24')\n\t\tcase '45':\n\t\t\treturn t('widgets/vehicles-tachograph:restsTooltip.breaksType.45')\n\t\tdefault:\n\t\t\treturn ''\n\t\t}\n\t}\n\n\tconst ShowRecoveries = (recoveries) => {\n\t\tif (!recoveries || (recoveriesWeeks(recoveries).length === 1 && recoveriesWeeks(recoveries)[0]?.case === 4)) {\n\t\t\treturn <div className='full-width'><span>{t('widgets/vehicles-tachograph:tooltipHeaders.noData')}</span></div>\n\t\t}\n\n\t\tif (recoveries && reducedWeeklyRestElements(recoveries)?.length === 0) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\tflowing\n\t\t\t\t\thoverable\n\t\t\t\t\tposition='left center'\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<div className='full-width'>\n\t\t\t\t\t\t\t<span>-</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t<Grid.Row className='popup-row'>\n\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:tooltipHeaders.breakDate')}</b>\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:tooltipHeaders.durationPerformed')}</b>\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:tooltipHeaders.recovery')}</b>\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t<Grid.Column width={3}>\n\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:tooltipHeaders.date')}</b>\n\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t{recoveriesWeeks(recoveries).map((week, index) => (\n\t\t\t\t\t\t\t\t\t<Grid.Row key={index} className='popup-row'>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{showDate(week)}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t{showDuration(week)}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{showRecoveryState(week)}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={3} className={findCssClass(week.recovery)}>\n\t\t\t\t\t\t\t\t\t\t\t{showRecoveryDate(week)}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\t\tif (recoveries && reducedWeeklyRestElements(recoveries)?.length > 0) {\n\t\t\treturn (\n\t\t\t\trecoveriesWeeks(recoveries).length === 1 && recoveriesWeeks(recoveries)[0]?.case === 4 ? <div className='full-width'><span>{t('widgets/vehicles-tachograph:tooltipHeaders.noData')}</span></div>\n\t\t\t\t\t: <Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='left center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<Grid.Column width={5} className='info-col-recoveries-table'>\n\t\t\t\t\t\t\t\t{reducedWeeklyRestElements(recoveries).map((item, index) =>\n\t\t\t\t\t\t\t\t\t<Grid key={index}>\n\t\t\t\t\t\t\t\t\t\t<Grid.Row className='recovery-data-row'>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={8}>{DateUtils.formatDurationInHours(item.durationRemains * 1000)}</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={8}>{moment(item?.start).endOf('isoWeek').add(3, 'isoWeek').format('DD.MM.YYYY')}</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t\t<Grid.Row className='popup-row'>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:tooltipHeaders.breakDate')}</b>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:tooltipHeaders.durationPerformed')}</b>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:tooltipHeaders.recovery')}</b>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={3}>\n\t\t\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:tooltipHeaders.date')}</b>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t{recoveriesWeeks(recoveries).length &&\n\t\t\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t\t\t{recoveriesWeeks(recoveries).map((week, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<Grid.Row key={index} className='popup-row'>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showDate(week)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={5}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showDuration(week)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showRecoveryState(week)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t\t<Grid.Column width={3} className={findCssClass(week.recovery)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showRecoveryDate(week)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</Grid>}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>)\n\t\t}\n\t}\n\n\tconst showRests = (lastRests, name) => {\n\t\tif (!lastRests?.length) {\n\t\t\treturn t('widgets/vehicles-tachograph:tooltipHeaders.noData')\n\t\t}\n\n\t\tconst lastRestsArray = []\n\n\t\tfor (const item of lastRests) {\n\t\t\tif (item.type === '3+9') {\n\t\t\t\tlastRestsArray.push({\n\t\t\t\t\tstart: item?.complementaryStart || '',\n\t\t\t\t\tend: item?.complementaryEnd || '',\n\t\t\t\t\tduration: item?.complementaryDuration || '',\n\t\t\t\t\ttype: '3+9'\n\t\t\t\t})\n\t\t\t\tlastRestsArray.push({\n\t\t\t\t\tstart: item?.start || '',\n\t\t\t\t\tend: item?.end || '',\n\t\t\t\t\tduration: item?.duration || '',\n\t\t\t\t\ttype: '-'\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tlastRestsArray.push(item)\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\tflowing\n\t\t\t\thoverable\n\t\t\t\tposition='left center'\n\t\t\t\ttrigger={\n\t\t\t\t\t<div><img className='table-icon' src='../../assets/images/icons/bed-grey.png' /></div>\n\t\t\t\t}\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<h5><b>{name}</b></h5>\n\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t<Grid.Row className='popup-row'>\n\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:restsTooltip.headers.break')}</b>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:restsTooltip.headers.start')}</b>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:restsTooltip.headers.end')}</b>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t<b>{t('widgets/vehicles-tachograph:restsTooltip.headers.duration')}</b>\n\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t{lastRestsArray?.length &&\n\t\t\t\t\t\t\t<Grid>\n\t\t\t\t\t\t\t\t{lastRestsArray.map((item, index) => (\n\t\t\t\t\t\t\t\t\t<Grid.Row key={index} className='popup-row'>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ShowRestType(item.type)}</span>\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{item?.start ? moment(item.start).format('DD.MM.YYYY, HH:mm') : '-'}\n\t\t\t\t\t\t\t\t\t\t\t{/* {showDate(week)} */}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{item?.end ? moment(item.end).format('DD.MM.YYYY, HH:mm') : '-'}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t\t<Grid.Column width={4}>\n\t\t\t\t\t\t\t\t\t\t\t{item?.duration ? DateUtils.formatDurationInHours(item?.duration * 1000) : '-'}\n\t\t\t\t\t\t\t\t\t\t</Grid.Column>\n\t\t\t\t\t\t\t\t\t</Grid.Row>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Grid>}\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t)\n\t}\n\n\tconst changeCountHours = (stateHoursValue) => {\n\t\tlet coefficient = 1\n\t\tconst tempCounterHours = []\n\t\tswitch (stateHoursValue) {\n\t\tcase '24':\n\t\t\tcoefficient = 1\n\t\t\tbreak\n\t\tcase '48':\n\t\t\tcoefficient = 2\n\t\t\tbreak\n\t\tcase '72':\n\t\t\tcoefficient = 3\n\t\t\tbreak\n\t\t}\n\t\tfor (let i = 24; i >= 0; i--) {\n\t\t\ttempCounterHours.push(i * coefficient)\n\t\t}\n\t\tsetCoutHours(tempCounterHours)\n\t}\n\n\tconst startTimestamp = (numberOfDays) => {\n\t\tif (!numberOfDays) return\n\t\treturn moment().valueOf() - ((numberOfDays * 24) * oneHourInMs)\n\t}\n\n\tconst startTimestampTachoCoutHours = () => {\n\t\treturn moment().valueOf() - ((+countHoursForTachoWidget || 24) * oneHourInMs)\n\t}\n\n\tconst ShowOverDrivePerCrew = (overDriveObject) => {\n\t\tif (!overDriveObject) return '-'\n\t\tconst arrayOfBullets = []\n\t\tfor (const key in overDriveObject) {\n\t\t\tarrayOfBullets.push(<div>{ShowIconForOverDrive(2 - overDriveObject[key]?.count, overDriveObject[key]?.driverFullName || '')}</div>)\n\t\t}\n\t\treturn arrayOfBullets\n\t}\n\n\tconst ShowRestsPerCrew = (restsObject) => {\n\t\tif (!restsObject) return '-'\n\t\tconst arrayOfRests = []\n\t\tfor (const key in restsObject) {\n\t\t\tarrayOfRests.push(<span>{showRests(restsObject[key].rests, restsObject[key].driverFullName || '')}</span>)\n\t\t}\n\t\treturn arrayOfRests\n\t}\n\n\tconst columns = useMemo(() => {\n\t\tif (data) {\n\t\t\tconst tempColumn = [\n\t\t\t\t{\n\t\t\t\t\tname: 'licensePlate',\n\t\t\t\t\tHeader: t('common:vehicle.licensePlate'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 90,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <b>{showVehicleLicensePlate(props.data[props.row.id]?.vehicleID)}</b>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'odometer',\n\t\t\t\t\tHeader: t('common:odometer'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <b>{showVehicleOdometer(props.data[props.row.id]?.vehicleID)}</b>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'crew',\n\t\t\t\t\tHeader: t('widgets/vehicles-tachograph:tableHeaders.crew'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <b>{showDriversFullName(props.data[props.row.id]?.crew)}</b>,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'tachoReports',\n\t\t\t\t\tHeader: t('widgets/vehicles-tachograph:tableHeaders.tachoReports'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName='tacho-reports-anchor-tag'\n\t\t\t\t\t\t\t\thref={`/reports/tacho-timesheet?start=${startTimestamp(7)}&end=${moment().valueOf()}&cardID=${props?.row?.original?.tachoCardID}`}\n\t\t\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\t\t\trel='noreferrer'\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t7\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName='tacho-reports-anchor-tag'\n\t\t\t\t\t\t\t\thref={`/reports/tacho-timesheet?start=${startTimestamp(28)}&end=${moment().valueOf()}&cardID=${props?.row?.original?.tachoCardID}`}\n\t\t\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\t\t\trel='noreferrer'\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t28\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'graphic',\n\t\t\t\t\tHeader: t('common:graphic'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 600,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => <Chart\n\t\t\t\t\t\tvehicles={vehicles}\n\t\t\t\t\t\ttimeZone={timeZone}\n\t\t\t\t\t\tcountHours={countHours}\n\t\t\t\t\t\tdata={props.data[props.row.id]}\n\t\t\t\t\t\thours={countHoursForTachoWidget || '24'}\n\t\t\t\t\t/>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'location',\n\t\t\t\t\tHeader: t('common:location'),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t},\n\t\t\t\t\tCell: props => (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`/map/routes/${props?.row?.original?.vehicleID}?end=${moment().valueOf()}&start=${startTimestampTachoCoutHours()}`}\n\t\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\t\trel='noreferrer'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img className='table-icon' src='../../assets/images/map_icon_grey.png' />\n\t\t\t\t\t\t</a>),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'remainingDay',\n\t\t\t\t\tid: 'remainingDay',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:tableHeaders.remainingDay')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:headerTooltips.drivingDay')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span>{(props.data[props.row.id]?.driveLeftDay < 0 || !props.data[props.row.id]?.driveLeftDay) ? '-' : DateUtils.formatDurationInHours(props.data[props.row.id]?.driveLeftDay * 1000)}</span>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'remainingWeek',\n\t\t\t\t\tid: 'remainingWeek',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:tableHeaders.remainingWeek')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:headerTooltips.drivingWeek')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span>{(props.data[props.row.id]?.driveLeftWeek < 0 || !props.data[props.row.id]?.driveLeftWeek) ? '-' : DateUtils.formatDurationInHours(props.data[props.row.id]?.driveLeftWeek * 1000)}</span>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'amplitudeDay',\n\t\t\t\t\tid: 'amplitudeDay',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:tableHeaders.amplitudeDay')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:headerTooltips.amplitudeDay')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => <span>{(props.data[props.row.id]?.amplitude?.remainTime < 0 || !props.data[props.row.id]?.amplitude?.remainTime) ? '-' : DateUtils.formatDurationInHours(props.data[props.row.id]?.amplitude?.remainTime || 0)}</span>\n\t\t\t\t},\n\t\t\t\t/* \t{\n\t\t\t\t\t\tname: 'dayCycle',\n\t\t\t\t\t\tid: 'dayCycle',\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\t\tflowing\n\t\t\t\t\t\t\thoverable\n\t\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:tableHeaders.dayCycle')}</span>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:headerTooltips.dayCycle')}</span>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>),\n\t\t\t\t\t\tCell: props => <span>{(!props.data[props.row.id]?.dayCycleCount) ? '-' : props.data[props.row.id]?.dayCycleCount}</span>\n\t\t\t\t\t}, */\n\t\t\t\t{\n\t\t\t\t\tname: 'overDrive',\n\t\t\t\t\tid: 'overDrive',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 130,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom center'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:tableHeaders.overDrive')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:headerTooltips.overDrive')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => ShowOverDrivePerCrew(props.data[props.row.id]?.overDrive)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'rests',\n\t\t\t\t\tid: 'rests',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 100,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: t('widgets/vehicles-tachograph:tableHeaders.rests'),\n\t\t\t\t\tCell: props => ShowRestsPerCrew(props.row?.original?.lastRests)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'recoveriesDriver1',\n\t\t\t\t\tid: 'recoveriesDriver1',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 120,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom right'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:tableHeaders.recoveriesDriver1')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:headerTooltips.toBeRecovered')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => Object.keys(props.row?.original?.recoveries)?.length\n\t\t\t\t\t\t? ShowRecoveries(props.row?.original?.recoveries[Object.keys(props.row?.original?.recoveries)[0]]?.recoveries)\n\t\t\t\t\t\t: t('widgets/vehicles-tachograph:tooltipHeaders.noData')\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'recoveriesDriver2',\n\t\t\t\t\tid: 'recoveriesDriver2',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 120,\n\t\t\t\t\t},\n\t\t\t\t\tHeader: () => (<Popup\n\t\t\t\t\t\tflowing\n\t\t\t\t\t\thoverable\n\t\t\t\t\t\tposition='bottom right'\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:tableHeaders.recoveriesDriver2')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<span>{t('widgets/vehicles-tachograph:headerTooltips.toBeRecovered')}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>),\n\t\t\t\t\tCell: props => Object.keys(props.row?.original?.recoveries)?.length === 2\n\t\t\t\t\t\t? ShowRecoveries(props.row?.original?.recoveries[Object.keys(props.row?.original?.recoveries)[1]]?.recoveries)\n\t\t\t\t\t\t: t('widgets/vehicles-tachograph:tooltipHeaders.noData')\n\t\t\t\t},\n\t\t\t]\n\t\t\tif (!actionOnColumns) {\n\t\t\t\treturn tempColumn\n\t\t\t} else {\n\t\t\t\treturn tempColumn.filter((column, index) => allColumns[index]?.selected)\n\t\t\t}\n\t\t}\n\t}, [data, actionOnColumns, vehicles])\n\n\tconst tableInstance = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialState: { pageIndex: 0, pageSize: 9999 },\n\t}, useRowState, useFilters, usePagination)\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\tpage,\n\t\tprepareRow,\n\t\tstate: { pageIndex, pageSize },\n\t} = tableInstance\n\n\tconst onChangeHourCount = (e, objectOfValues) => {\n\t\tconst LSValue = localStorage.getItem('countHoursForTachoWidget')\n\t\tif (!objectOfValues?.value || objectOfValues.value === LSValue) return\n\t\tsetCountHoursForTachoWidget(objectOfValues.value)\n\t\tsetSelectedHourState(objectOfValues.value)\n\t\tchangeCountHours(objectOfValues.value)\n\n\t\tlocalStorage.setItem('countHoursForTachoWidget', objectOfValues.value)\n\t\treloadUserTachoGraph({ limit: limit, interval: objectOfValues.value })\n\t}\n\n\tconst onChangeTachoType = (value) => {\n\t\tif (!value) return\n\t\tconst paylaod = {\n\t\t\tpath: 'settings.tachoWidgetType',\n\t\t\tvalue: value\n\t\t}\n\t\tupdateLoggedUser(paylaod)\n\t}\n\n\treturn (\n\t\t<div className={`tacho-widget-graph${dashboard ? ' dashboard' : ''}`}>\n\t\t\t{!dashboard &&\n\t\t\t\t<div className='filters'>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\tclassName='search-input'\n\t\t\t\t\t\ticon={search?.length ? <Icon name='remove' link onClick={() => setSearch('')} /> : <Icon name='search' inverted />}\n\t\t\t\t\t\tplaceholder={t('common:searchLicensePlateDriver')}\n\t\t\t\t\t\tonChange={e => setSearch(e.target.value)}\n\t\t\t\t\t\tfluid\n\t\t\t\t\t/>\n\t\t\t\t\t<ShowColumnTool\n\t\t\t\t\t\toptions={allColumns}\n\t\t\t\t\t\tonChange={onChangeHourCount}\n\t\t\t\t\t\tonClose={updateUserColumns}\n\t\t\t\t\t\tsetOptions={setAllColumns}\n\t\t\t\t\t/>\n\t\t\t\t\t<SettingsTool\n\t\t\t\t\t\tdefaultValueHours={selectedHourState}\n\t\t\t\t\t\ttachoWidgetType={tachoWidgetType}\n\t\t\t\t\t\toptions={stateHours}\n\t\t\t\t\t\tonChangeHours={onChangeHourCount}\n\t\t\t\t\t\tonChangeTachoType={onChangeTachoType}\n\t\t\t\t\t/>\n\t\t\t\t</div>}\n\t\t\t{((isLoadingUserTachoGraph && !vehicleTachoGraph?.length) || !vehicleTachoGraph) ? (\n\t\t\t\t<Loader className='tracknamic' content={t('loading')} size='medium' active />\n\t\t\t) : (\n\t\t\t\t<div className='table-container'>\n\t\t\t\t\t<Table className='relaxed sticky' {...getTableProps()} {...props}>\n\t\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t\t\t<Table.Row key={headerGroup.id} {...headerGroup.getHeaderGroupProps()}>\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t\t\t<Table.HeaderCell\n\t\t\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t\t\t{...column.getHeaderProps([{\n\t\t\t\t\t\t\t\t\t\t\t\twidth: column.wide,\n\t\t\t\t\t\t\t\t\t\t\t\tstyle: column.style,\n\t\t\t\t\t\t\t\t\t\t\t}])}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t</Table.HeaderCell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Header>\n\t\t\t\t\t\t<Table.Body {...getTableBodyProps()}>\n\t\t\t\t\t\t\t{page.map((row, index) => {\n\t\t\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<tr key={index} {...row.getRowProps()}>\n\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, cellIndex) => {\n\t\t\t\t\t\t\t\t\t\t\treturn <td key={cellIndex} {...cell.getCellProps()}>{cell.render('Cell')}</td>\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Table.Body>\n\t\t\t\t\t</Table>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nVehiclesTachograph.propTypes = {\n\tdashboard: PropTypes.bool,\n\treloadTime: PropTypes.number,\n\tlimit: PropTypes.number,\n\thoursTacho: PropTypes.number,\n\tloggedUser: PropTypes.object,\n\tupdateLoggedUser: PropTypes.func,\n\ttachoWidgetType: PropTypes.string,\n}\n\nexport default VehiclesTachograph\n","import serializeQueryParams from 'jquery-param'\n\nclass API {\n\tconstructor () {\n\t\tthis._config = {\n\t\t\theaders: {},\n\t\t\thost: null,\n\t\t}\n\t}\n\n\treconfigure (config) {\n\t\tthis._config = config\n\t}\n\n\tasync get (path, query) {\n\t\treturn await this._req('GET', path, query)\n\t}\n\n\tasync put (path, body, query) {\n\t\treturn await this._req('PUT', path, query, body)\n\t}\n\n\tasync post (path, body, query) {\n\t\treturn await this._req('POST', path, query, body)\n\t}\n\n\tasync patch (path, body, query) {\n\t\treturn await this._req('PATCH', path, query, body)\n\t}\n\n\tasync upload (url, file, fileParam, progressCallback, params, responseIsBlob, apiVersion) {\n\t\treturn await this._upload(url, file, fileParam, progressCallback, params, responseIsBlob, apiVersion)\n\t}\n\n\t_upload (url, file, fileParam, progressCallback, params, responseIsBlob, apiVersion = 'v1') {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst fd = new FormData()\n\t\t\tif (Array.isArray(file)) { // multiple files\n\t\t\t\tfile.forEach(f => {\n\t\t\t\t\tif (params?.length) {\n\t\t\t\t\t\tparams.forEach(p => {\n\t\t\t\t\t\t\tconst key = Object.keys(p)[0]\n\t\t\t\t\t\t\tfd.append(key, p[key])\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tfd.append(fileParam, f)\n\t\t\t\t})\n\t\t\t} else { // one file\n\t\t\t\tif (params?.length) {\n\t\t\t\t\tparams.forEach(p => {\n\t\t\t\t\t\tconst key = Object.keys(p)[0]\n\t\t\t\t\t\tfd.append(key, p[key])\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tfd.append(fileParam, file)\n\t\t\t}\n\n\t\t\tconst xhr = new XMLHttpRequest()\n\t\t\tconst hostArr = this._config.host?.split('/')\n\t\t\thostArr.pop()\n\t\t\tconst hostWithoutVer = hostArr.join('/')\n\t\t\txhr.open('POST', `${hostWithoutVer}/${apiVersion}/${url}`, true)\n\t\t\txhr.setRequestHeader('Authorization', this._config.headers.Authorization)\n\t\t\tif (responseIsBlob) xhr.responseType = 'blob'\n\n\t\t\txhr.onreadystatechange = (oEvent) => {\n\t\t\t\tif (xhr.readyState === 4) {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\treject(xhr.statusText)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (progressCallback) {\n\t\t\t\txhr.upload.onprogress = (pe) => {\n\t\t\t\t\tif (pe.lengthComputable) {\n\t\t\t\t\t\tconst percentComplete = parseInt((pe.loaded / pe.total) * 100)\n\t\t\t\t\t\tprogressCallback(percentComplete)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.onloadend = (pe) => {\n\t\t\t\tif (responseIsBlob) {\n\t\t\t\t\tresolve(xhr.response)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tconst response = JSON.parse(pe.target.responseText)\n\t\t\t\t\tresolve(response)\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn xhr.send(fd)\n\t\t})\n\t}\n\n\tasync uploadFile (path, formData) {\n\t\treturn fetch(`${this._config.host}/${path}`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: this._config.headers,\n\t\t\tbody: formData,\n\t\t}).then(response => response.json())\n\t}\n\n\tasync downloadFile (path) {\n\t\treturn fetch(`${this._config.host}/${path}`, {\n\t\t\tmethod: 'GET',\n\t\t\theaders: this._config.headers,\n\t\t}).then(response => response.blob())\n\t}\n\n\tasync delete (path, query) {\n\t\treturn await this._req('DELETE', path, query)\n\t}\n\n\tasync _req (method, path, query, body) {\n\t\tlet queryString = ''\n\t\tif (query != null && Object.keys(query).length > 0) {\n\t\t\tqueryString = '?' + serializeQueryParams(query)\n\t\t}\n\n\t\tconst response = await fetch(`${this._config.host}/${path}${queryString}`, {\n\t\t\tmethod,\n\t\t\theaders: {\n\t\t\t\tAccept: 'application/json',\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t...this._config.headers,\n\t\t\t},\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst err = new Error(response.statusText)\n\t\t\terr.code = response.status\n\t\t\tconst result = await response.json()\n\t\t\tif (result[0]?.key) err.key = result[0].key\n\t\t\tthrow err\n\t\t}\n\n\t\treturn response.json()\n\t}\n}\n\nexport default new API()\n","\nimport { get, isFinite } from 'lodash'\nimport serializeQueryParams from 'jquery-param'\n\nclass GeoService {\n\tconstructor () {\n\t\tthis._config = {\n\t\t\thost: 'https://geo.tracknamic.com/n',\n\t\t}\n\n\t\tthis._cache = {}\n\t}\n\n\tasync reverseGeocode (lat, lng, props) {\n\t\tif (!isFinite(lat) || !isFinite(lng)) { return null }\n\n\t\tconst key = `${lat},${lng},${props ? props[0] : ''}`\n\t\tif (this._cache[key] != null) { return this._cache[key] }\n\n\t\tthis._cache[key] = ''\n\n\t\ttry {\n\t\t\tconst query = {\n\t\t\t\tlat: lat,\n\t\t\t\tlon: lng,\n\t\t\t\tformat: 'jsonv2'\n\t\t\t}\n\t\t\tconst response = await fetch(`${this._config.host}/reverse?${serializeQueryParams(query)}`, {\n\t\t\t\tmethod: 'GET',\n\t\t\t})\n\n\t\t\tconst parsed = await response.json()\n\n\t\t\tconst out = []\n\t\t\tif (props) {\n\t\t\t\tprops.forEach(prop => {\n\t\t\t\t\tif (get(parsed, prop)) { out.push(get(parsed, prop)) }\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tif (get(parsed, 'address.house_number') != null) { out.push(parsed.address.house_number) }\n\t\t\t\tif (get(parsed, 'address.road') != null) { out.push(parsed.address.road) }\n\t\t\t\tif (get(parsed, 'address.city') != null) { out.push(parsed.address.city) }\n\t\t\t\tif (get(parsed, 'address.village') != null) { out.push(parsed.address.village) }\n\t\t\t\tif (get(parsed, 'address.town') != null) { out.push(parsed.address.town) }\n\t\t\t\tif (get(parsed, 'address.country_code') !== 'ro') { out.push(parsed.address.country) }\n\t\t\t}\n\t\t\tconst address = out.join(', ')\n\t\t\tthis._cache[key] = address\n\t\t\treturn address\n\t\t} catch (error) {\n\t\t\tconsole.error('REVERSE GEOCODE', lat, lng, error)\n\t\t}\n\t}\n}\n\nexport default new GeoService()\n","import i18next from 'i18next'\nimport Backend from 'i18next-http-backend'\nimport { initReactI18next } from 'react-i18next'\n\ni18next\n\t.use(Backend)\n\t.use(initReactI18next)\n\t.init({\n\t\tbackend: {\n\t\t\tloadPath: 'assets/locales/{{lng}}/{{ns}}.json',\n\t\t},\n\t\tns: [],\n\t\tdefaultNS: 'common',\n\t\tfallbackLng: 'en',\n\t\tfallbackNS: 'common',\n\t\tinterpolation: {\n\t\t\tescapeValue: false,\n\t\t},\n\t})\n\nexport default i18next\n","import { actionOn } from 'easy-peasy'\n\n/**\n * handle loading and error state of the model\n\t...onThunkAction(['reload','add','update'])\n\t@returns {\n\t\tonStart - actionOn()\n\t\tonSuccess - actionOn()\n\t\tonFail - actionOn()\n\t}\n */\nexport default (\n\tthunks = ['reload', 'add', 'update', 'remove'],\n) => ({\n\tonStart: actionOn(\n\t\tactions => thunks.map(t => actions[t]?.startType),\n\t\t(state, target) => {\n\t\t\tstate.loading = true\n\t\t}\n\t),\n\tonSuccess: actionOn(\n\t\tactions => thunks.map(t => actions[t]?.successType),\n\t\t(state, target) => {\n\t\t\tstate.loading = false\n\t\t}\n\t),\n\tonFail: actionOn(\n\t\tactions => thunks.map(t => actions[t]?.failType),\n\t\t(state, target) => {\n\t\t\tif (target?.error) {\n\t\t\t\ttarget.error.type = target.type\n\t\t\t\tstate.error = target.error\n\t\t\t}\n\t\t\tstate.loading = false\n\t\t}\n\t),\n})\n","import { action, thunk } from 'easy-peasy'\nimport { uniqueId } from 'lodash'\n\nimport p from '../helpers/p'\nimport { getItemLS, setItemLS } from 'tracknamic-smb/react/utils/ls'\n\nexport default (endpoint) => ({\n\t...p('loading', false),\n\t...p('items', []),\n\n\tupdateItem: action((state, item) => {\n\t\tif (!item) return\n\t\tconst copy = [...state.items]\n\t\tconst index = copy.findIndex(i => i?.id === item?.id)\n\t\tif (index !== -1) {\n\t\t\tcopy.splice(index, 1, item)\n\t\t} else {\n\t\t\tconst obj = { ...item, id: item?.id || moment().valueOf() + uniqueId() }\n\t\t\tif (endpoint === 'uits') obj.uit = obj?.id\n\t\t\tcopy.push(obj)\n\t\t}\n\t\tstate.items = copy\n\t\tsetItemLS(endpoint, copy)\n\t}),\n\n\tremoveItem: action((state, item) => {\n\t\tconst index = state.items.findIndex(i => i?.id === item?.id)\n\t\tif (index !== -1) {\n\t\t\tstate.items.splice(index, 1)\n\t\t}\n\t\tsetItemLS(endpoint, state.items)\n\t}),\n\n\trefresh: thunk(async (actions, params) => {\n\t\tconst response = getItemLS(endpoint) || []\n\t\tactions.setItems(response)\n\t}),\n\n\tupdate: thunk(async (actions, item) => {\n\t\tif (!item) return\n\t\tactions.updateItem(item)\n\t}),\n\n\tremove: thunk(async (actions, item) => {\n\t\tif (!item?.id) return\n\n\t\tactions.removeItem(item)\n\t}),\n})\n","import { action, thunk } from 'easy-peasy'\nimport { get, findIndex, map } from 'lodash'\nimport toast from 'react-hot-toast'\n\nimport api from 'tracknamic-smb/react/services/api'\nimport i18n from 'tracknamic-smb/react/services/i18n'\nimport onThunkAction from './handleErrorAndLoading'\n\nexport default (endpoint, Class, responseKey, parser, identifier = 'id') => ({\n\titems: [],\n\tloading: false,\n\terror: null,\n\n\tsetItems: action((state, newItems) => {\n\t\tstate.items = newItems.map(i => Class != null ? new Class(i) : i)\n\t}),\n\n\taddItem: action((state, item) => {\n\t\tstate.items.unshift(new Class(item))\n\t\tstate.items = [...state.items]\n\t}),\n\n\tgetOnly: thunk(async (actions, id) => {\n\t\tif (!id) return\n\t\tconst response = await api.get(`${endpoint}/${id}`)\n\t\tconst res = responseKey ? response[responseKey] : response\n\t\tconst parsed = parser ? parser(res) : res\n\t\treturn parsed\n\t}),\n\n\tupdateItem: action((state, item) => {\n\t\tconst index = findIndex(state.items, i => get(i, identifier) === get(item, identifier))\n\t\tif (index !== -1) {\n\t\t\tstate.items.splice(index, 1, new Class(item))\n\t\t} else {\n\t\t\tstate.items.push(new Class(item))\n\t\t}\n\t\tstate.items = [...state.items]\n\t}),\n\n\tremoveItem: action((state, item) => {\n\t\tconst index = findIndex(state.items, i => get(i, identifier) === get(item, identifier))\n\t\tif (index !== -1) {\n\t\t\tstate.items.splice(index, 1)\n\t\t\tstate.items = [...state.items]\n\t\t}\n\t}),\n\n\treload: thunk(async (actions, query) => {\n\t\tlet ep = endpoint\n\t\tif (query) ep += query\n\t\tconst response = await api.get(ep)\n\t\tconst res = responseKey ? response[responseKey] : response\n\t\tconst parsed = parser ? map(res, parser) : res\n\t\tactions.setItems(parsed)\n\t\treturn parsed\n\t}),\n\n\tadd: thunk(async (actions, item) => {\n\t\tconst response = await api.post(endpoint, {\n\t\t\t[responseKey]: item,\n\t\t})\n\n\t\tconst res = responseKey ? response[responseKey] : response\n\t\tconst parsed = parser ? parser(res) : res\n\t\tactions.addItem(parsed)\n\t\treturn parsed\n\t}),\n\n\tupdate: thunk(async (actions, item) => {\n\t\tconst id = get(item, identifier)\n\t\tlet response\n\t\ttry {\n\t\t\tif (id) {\n\t\t\t\tresponse = await api.patch(`${endpoint}/${id}`, {\n\t\t\t\t\t[responseKey]: item,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tresponse = await api.post(endpoint, {\n\t\t\t\t\t[responseKey]: item,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst res = responseKey ? response[responseKey] : response\n\t\t\tconst parsed = parser ? parser(res) : res\n\t\t\titem = parsed\n\n\t\t\tactions.updateItem(item)\n\t\t\ttoast.success(i18n?.t('common:messages.operationWithSuccess'))\n\t\t\treturn item\n\t\t} catch (e) {\n\t\t\ttoast.error(i18n?.t('common:messages.operationFailed'))\n\t\t}\n\t}),\n\n\tremove: thunk(async (actions, item) => {\n\t\tconst id = get(item, identifier)\n\t\tif (!id) return\n\n\t\tawait api.delete(`${endpoint}/${id}`)\n\n\t\tactions.removeItem(item)\n\t}),\n\n\t...onThunkAction(),\n})\n","import { action, thunk } from 'easy-peasy'\nimport api from '../../services/api'\nimport onThunkAction from './handleErrorAndLoading'\n\nexport default (endpoint, Class, responseKey) => ({\n\titems: [],\n\tloading: false,\n\terror: null,\n\n\tsetItems: action((state, newItems) => {\n\t\tstate.items = newItems.map(data => Class != null ? new Class(data) : data)\n\t}),\n\n\taddItem: action((state, item) => {\n\t\tstate.items.unshift(new Class(item))\n\t}),\n\n\tupdateItem: action((state, { newItem, oldItem }) => {\n\t\tconst index = state.items.indexOf(oldItem)\n\t\tif (index >= 0) {\n\t\t\tstate.items.splice(index, 1, new Class(newItem))\n\t\t}\n\t}),\n\n\tremoveItem: action((state, item) => {\n\t\tconst index = state.items.indexOf(item)\n\t\tif (index >= 0) {\n\t\t\tstate.items.splice(index, 1)\n\t\t}\n\t}),\n\n\treload: thunk(async (actions, query) => {\n\t\tconst response = await api.get(endpoint, query)\n\t\tconst res = responseKey ? response[responseKey] : response\n\t\tactions.setItems(res)\n\t\treturn res\n\t}),\n\n\tgetOnly: thunk(async (actions, id) => {\n\t\tif (!id) return\n\t\tconst response = await api.get(`${endpoint}/${id}`)\n\t\tconst res = responseKey ? response[responseKey] : response\n\t\treturn res\n\t}),\n\n\tadd: thunk(async (actions, item) => {\n\t\tconst response = await api.post(endpoint, {\n\t\t\t[responseKey]: item,\n\t\t})\n\n\t\tactions.addItem(response[responseKey])\n\n\t\treturn response[responseKey]\n\t}),\n\n\tupdate: thunk(async (actions, { newItem, oldItem }) => {\n\t\tlet item = newItem\n\t\tif (newItem.id != null) {\n\t\t\tawait api.patch(`${endpoint}/${item.id}`, {\n\t\t\t\t[responseKey]: newItem,\n\t\t\t})\n\t\t} else {\n\t\t\tconst response = await api.post(endpoint, {\n\t\t\t\t[responseKey]: newItem,\n\t\t\t})\n\t\t\titem = response[responseKey]\n\t\t}\n\n\t\tactions.updateItem({\n\t\t\tnewItem: item,\n\t\t\toldItem,\n\t\t})\n\t}),\n\n\tremove: thunk(async (actions, item) => {\n\t\tif (item.raw.id != null) {\n\t\t\tawait api.delete(`${endpoint}/${item.raw.id}`)\n\t\t}\n\n\t\tactions.removeItem(item)\n\t}),\n\n\t...onThunkAction(),\n})\n","import { action } from 'easy-peasy'\nimport { get, upperFirst } from 'lodash'\n\n/**\n * define prop with setter\n\t...p('name', 'defaultValue')\n\t@returns {\n\t\tname: defaultValue,\n\t\tsetName: action((state, value) => state.name = value)\n\t}\n */\nexport default (name, defaultValue) => ({\n\t[name]: defaultValue,\n\t[`set${upperFirst(name)}`]: action((state, value) => {\n\t\tif (get(state, name) === value) return\n\t\tstate[name] = value\n\t}),\n})\n","import { action, computed } from 'easy-peasy'\nimport { get, set, upperFirst } from 'lodash'\n\n/**\n * return structure of get\n\t...myProp('someName', 'a.b.c', 'random default')\n\t@returns {\n\t\tsomeName: computed(state => get(state, 'a.b.c') || 'random default'),\n\t\tsetSomeName: action((state, value) => {\n\t\t\tif (check(state, 'a.b.c', value)) { return }\n\t\t\tset(state, 'a.b.c', value)\n\t\t}\n\t}\n */\nexport default (\n\tname,\n\tpath,\n\tdefaultValue,\n\tcheck = (state, path, value) => get(state, path) === value\n) => ({\n\t[name]: computed(state => {\n\t\tconst value = get(state, path)\n\t\treturn value == null ? defaultValue : value\n\t}),\n\t[`set${upperFirst(name)}`]: action((state, value) => {\n\t\tif (check(state, path, value)) { return }\n\t\tset(state, path, value)\n\t}),\n})\n","import { createStore, computed, action } from 'easy-peasy'\n\nimport chat from './models/chat'\nimport clientProperties from './models/client-properties'\nimport clients from './models/clients'\nimport clientsTms from './models/clients-tms'\nimport combinedTransportCost from './models/combined-transport-cost'\nimport company from './models/company'\nimport devices from './models/devices'\nimport events from './models/events'\nimport fastQuote from './models/fast-quote'\nimport file from './models/file'\nimport freightOrders from './models/freight-orders'\nimport geofences from './models/geofences'\nimport global from './models/global'\nimport groups from './models/groups'\nimport groupsV2 from './models/groups-v2'\nimport integrations from './models/integrations'\nimport maintenanceRules from './models/maintenance-rules'\nimport maintenances from './models/maintenances'\nimport optimalRoutes from './models/optimal-routes'\nimport orderProperties from './models/order-properties'\nimport orderStatusTms from './models/orders-status-tms'\nimport ordersTmsFreight from './models/orders-tms-freight'\nimport ordersTmsTransport from './models/orders-tms-transport'\nimport partners from './models/partners'\nimport plannedRoutes from './models/planned-routes'\nimport plannedTmsRoutes from './models/planned-tms-routes'\nimport ptv from './models/ptv'\nimport session from './models/session'\nimport sharedIntegrations from './models/shared-integrations'\nimport temporaryAlerts from './models/temporary-alerts'\nimport temporaryLinks from './models/temporary-links'\nimport transportOrders from './models/transport-orders'\nimport uits from './models/uits'\nimport userTachoGraph from './models/user-tacho-graph'\nimport users from './models/users'\nimport vehicleGroups from './models/vehicle-groups'\nimport vehicleTachoGraph from './models/vehicle-tacho-graph'\nimport vehicles from './models/vehicles'\n\nconst arrayOfModels = [\n\t'clientProperties',\n\t'clients',\n\t'clientsTms',\n\t'combinedTransportCost',\n\t'devices',\n\t'events',\n\t'file',\n\t'freightOrders',\n\t'geofences',\n\t'groups',\n\t'integrations',\n\t'maintenanceRules',\n\t'maintenances',\n\t'optimalRoutes',\n\t'orderProperties',\n\t'orderStatusTms',\n\t'ordersTmsFreight',\n\t'ordersTmsTransport',\n\t'partners',\n\t'plannedRoutes',\n\t'plannedTmsRoutes',\n\t'session',\n\t'sharedIntegrations',\n\t'temporaryAlerts',\n\t'temporaryLinks',\n\t'transportOrders',\n\t'uits',\n\t'userTachoGraph',\n\t'users',\n\t'vehicleGroups',\n\t'vehicleTachoGraph',\n\t'vehicles',\n]\n\nconst store = createStore({\n\tchat,\n\tclientProperties,\n\tclients,\n\tclientsTms,\n\tcombinedTransportCost,\n\tcompany,\n\tdevices,\n\tevents,\n\tfastQuote,\n\tfile,\n\tfreightOrders,\n\tgeofences,\n\tglobal,\n\tgroups,\n\tgroupsV2,\n\tintegrations,\n\tmaintenanceRules,\n\tmaintenances,\n\toptimalRoutes,\n\torderProperties,\n\torderStatusTms,\n\tordersTmsFreight,\n\tordersTmsTransport,\n\tpartners,\n\tplannedRoutes,\n\tplannedTmsRoutes,\n\tptv,\n\tsession,\n\tsharedIntegrations,\n\ttemporaryAlerts,\n\ttemporaryLinks,\n\ttransportOrders,\n\tuits,\n\tuserTachoGraph,\n\tusers,\n\tvehicleGroups,\n\tvehicleTachoGraph,\n\tvehicles,\n\tloading: computed(state => {\n\t\tlet isLoading = false\n\t\tfor (const model of arrayOfModels) {\n\t\t\tif (state[model]?.loading) {\n\t\t\t\tisLoading = true\n\t\t\t}\n\t\t}\n\t\treturn isLoading\n\t}),\n\terror: computed(state => {\n\t\tfor (const model of arrayOfModels) {\n\t\t\tif (state[model]?.error) {\n\t\t\t\treturn state[model]?.error\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}),\n\tclearAllErrors: action((state) => {\n\t\tif (!state.error) return\n\t\tfor (const model of arrayOfModels) {\n\t\t\tif (state[model]?.error) {\n\t\t\t\tstate[model].error = null\n\t\t\t}\n\t\t}\n\t}),\n})\n\nexport default store\n","/* eslint-disable no-console */\nimport { action, thunk, thunkOn } from 'easy-peasy'\nimport { sortBy, filter, map, chunk, reduce } from 'lodash'\nimport api from '../../services/api'\n\nconst INCOMING_AUDIO = '../../assets/sounds/ringtone.mp3'\nconst CALLING_AUDIO = '../../assets/sounds/ringtone_chilled_out.mp3'\nconst CLOSE_CALL_AUDIO = '../../assets/sounds/closed-call.mp3'\nconst BUSY_AUDIO = '../../assets/sounds/busy.wav'\n\nconst MESSAGES_PER_PAGE = 100\n\nconst ConnectyCube = window.ConnectyCube\n\n// #region cc config\nconst CONFIG = {\n\tchat: { streamManagement: { enable: true } },\n\tdebug: { mode: 0 }\n}\n// #endregion\nconst playSound = type => {\n\tconst audio = document.getElementById('ringtones')\n\n\taudio.pause()\n\taudio.currentTime = 0\n\n\tswitch (type) {\n\tcase 'outgoing':\n\t\taudio.src = CALLING_AUDIO\n\t\taudio.loop = true\n\t\taudio.play()\n\t\tbreak\n\tcase 'incoming':\n\t\taudio.src = INCOMING_AUDIO\n\t\taudio.loop = true\n\t\taudio.play()\n\t\tbreak\n\tcase 'end':\n\t\taudio.src = CLOSE_CALL_AUDIO\n\t\taudio.loop = false\n\t\taudio.play()\n\t\tbreak\n\tcase 'busy':\n\t\taudio.src = BUSY_AUDIO\n\t\taudio.loop = false\n\t\taudio.play()\n\t\tbreak\n\n\tdefault:\n\t\tbreak\n\t}\n}\n\nconst model = {\n\tshowChat: false,\n\tenvironment: 'production',\n\tunreadMessages: 0,\n\tloading: false,\n\tccUser: null, // ConnectyCube user\n\tusers: [],\n\tchatID: null,\n\tdialogs: [],\n\ttypingDialogs: [],\n\n\tdialog: null,\n\ttypingResponsable: null,\n\tloadingDialogMessages: false,\n\tallMessagesLoaded: false,\n\tmessages: [],\n\tpage: 0,\n\n\t// #region setters\n\tsetShowChat: action((state, value) => {\n\t\tstate.showChat = value\n\t}),\n\tsetEnvironment: action((state, value) => {\n\t\tstate.environment = value\n\t}),\n\tsetUnreadMessages: action((state, value) => {\n\t\tstate.unreadMessages = value\n\t}),\n\tsetLoading: action((state, value) => {\n\t\tstate.loading = value\n\t}),\n\tsetCCUser: action((state, value) => {\n\t\tstate.ccUser = value\n\t\tstate.chatID = value.id\n\t}),\n\tsetUsers: action((state, value) => {\n\t\tstate.users = value\n\t}),\n\taddDialog: action((state, value) => {\n\t\tstate.dialogs.unshift(value)\n\t}),\n\tsetDialogs: action((state, value) => {\n\t\tstate.dialogs = value\n\t}),\n\tsetTypingDialogs: action((state, value) => {\n\t\tstate.typingDialogs = value\n\t}),\n\n\tsetDialog: action((state, value) => {\n\t\tstate.dialog = value\n\t\tif (!value) return\n\t\t// dialog type =>> 2 - group || 3 - private\n\t\t// isGroup ? dialogID : opponentID\n\t\tstate.typingResponsable = value.type === 2 ? value._id : value.opponentsIDs?.[0]\n\t}),\n\tsetLoadingDialogMessages: action((state, value) => {\n\t\tstate.loadingDialogMessages = value\n\t}),\n\tsetAllMessagesLoaded: action((state, value) => {\n\t\tstate.allMessagesLoaded = value\n\t}),\n\tsetMessages: action((state, value) => {\n\t\tstate.messages = value\n\t}),\n\tsetPage: action((state, value) => {\n\t\tstate.page = value\n\t}),\n\t// #endregion\n\n\tonLogin: thunkOn(\n\t\tactions => actions.setCCUser,\n\t\t(actions, target) => {\n\t\t\tactions.refreshDialogs()\n\t\t\tactions.getAllUsers()\n\n\t\t\t// messages\n\t\t\tConnectyCube.chat.onSessionConnectionStateChangedListener = (session, uID, connectionState) => actions.onSessionConnectionStateChangedListener({ session, uID, connectionState })\n\t\t\tConnectyCube.chat.onMessageListener = (uID, message) => actions.onMessageListener({ uID, message })\n\t\t\tConnectyCube.chat.onMessageTypingListener = (isTyping, uID, dialogID) => actions.onMessageTypingListener({ isTyping, uID, dialogID })\n\t\t\tConnectyCube.chat.onSentMessageCallback = (messageLost, messageSent) => actions.onSentMessageListener({ messageLost, messageSent })\n\t\t\tConnectyCube.chat.onDeliveredStatusListener = (mID, dID, uID) => actions.onDeliveredStatusListener({ mID, dID, uID })\n\t\t\tConnectyCube.chat.onReadStatusListener = (mID, dID, uID) => actions.onReadStatusListener({ mID, dID, uID })\n\n\t\t\t// calls\n\t\t\tConnectyCube.videochat.onCallListener = (session, extension) => actions.onCallListener({ session, extension })\n\t\t\tConnectyCube.videochat.onAcceptCallListener = (session, uID, extension) => actions.onAcceptCallListener({ session, uID, extension })\n\t\t\tConnectyCube.videochat.onRejectCallListener = (session, uID, extension) => actions.onRejectCallListener({ session, uID, extension })\n\t\t\tConnectyCube.videochat.onStopCallListener = (session, uID, extension) => actions.onStopCallListener({ session, uID, extension })\n\t\t\tConnectyCube.videochat.onUserNotAnswerListener = (session, uID) => actions.onUserNotAnswerListener({ session, uID })\n\t\t\tConnectyCube.videochat.onRemoteStreamListener = (session, uID, remoteStream) => actions.onRemoteStreamListener({ session, uID, remoteStream })\n\t\t}\n\t),\n\n\thandleShowChat: thunk(async (actions, value) => {\n\t\tactions.setShowChat(value)\n\t\tactions.resetDialog()\n\t}),\n\n\t// #region messages\n\tselectDialog: thunk((actions, dialog, { getState }) => {\n\t\tif (dialog) {\n\t\t\tactions.getChatMessages(dialog)\n\t\t\tconst dialogUnreadMessages = dialog.unread_messages_count\n\t\t\tif (dialogUnreadMessages) {\n\t\t\t\tconst unread = getState().unreadMessages\n\t\t\t\tactions.setUnreadMessages(unread - dialogUnreadMessages)\n\t\t\t\tdialog.unread_messages_count = 0\n\t\t\t}\n\t\t\tdialog.opponentsIDs = dialog.occupants_ids.filter(o => o !== getState().chatID)\n\t\t\tactions.setDialog(dialog)\n\t\t} else {\n\t\t\tactions.resetDialog()\n\t\t}\n\t}),\n\n\tresetDialog: action(state => {\n\t\tstate.dialog = null\n\t\tstate.loadingDialogMessages = false\n\t\tstate.allMessagesLoaded = false\n\t\tstate.page = 0\n\t\tstate.messages = []\n\t}),\n\n\tcreateDialog: thunk(async (actions, params) => {\n\t\tconst newDialog = await ConnectyCube.chat.dialog.create(params)\n\t\tactions.addDialog(newDialog)\n\t\tactions.selectDialog(newDialog)\n\t}),\n\n\tupdateDialog: thunk(async (actions, params, { getState }) => {\n\t\tconst dialog = getState().dialog\n\t\tconst updatedDialog = await ConnectyCube.chat.dialog.update(dialog?._id, params)\n\t\tactions.setDialog(updatedDialog)\n\t\t// update dialogs\n\t\tconst dialogs = getState().dialogs\n\t\tconst dialogPos = dialogs.map(d => d._id).indexOf(updatedDialog?._id)\n\t\tif (~dialogPos) {\n\t\t\tdialogs.splice(dialogPos, 1, updatedDialog)\n\t\t\tactions.setDialogs([...dialogs])\n\t\t}\n\t}),\n\n\tgetChatMessages: thunk(async (actions, dialog, { getState }) => {\n\t\tif (!dialog) return\n\t\tif (getState().loadingDialogMessages || getState().allMessagesLoaded) return false\n\t\tconst page = getState().page\n\n\t\tactions.setLoadingDialogMessages(true)\n\n\t\tconst params = {\n\t\t\tchat_dialog_id: dialog._id,\n\t\t\tlimit: MESSAGES_PER_PAGE,\n\t\t\tsort_desc: 'date_sent',\n\t\t\tskip: page * MESSAGES_PER_PAGE,\n\t\t}\n\t\tconst response = await ConnectyCube.chat.message.list(params)\n\t\tif (!response?.items?.length) {\n\t\t\tactions.setLoadingDialogMessages(false)\n\t\t\treturn\n\t\t}\n\n\t\t// if response.length < limit = all messages are loaded\n\t\tif (response.items.length < MESSAGES_PER_PAGE) actions.setAllMessagesLoaded(true)\n\n\t\tconst chatID = getState().chatID\n\n\t\tconst conversation = response.items.map(item => {\n\t\t\titem.date_sent = item.date_sent * 1000\n\t\t\titem.isMine = item.sender_id === chatID\n\t\t\titem.read_ids = item.read_ids ?? []\n\t\t\tif (!item.read_ids.includes(chatID)) { // unread message\n\t\t\t\tConnectyCube.chat.sendReadStatus({\n\t\t\t\t\tmessageId: item._id,\n\t\t\t\t\tuserId: item.sender_id,\n\t\t\t\t\tdialogId: item.chat_dialog_id\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn item\n\t\t})\n\n\t\tconst messages = getState().messages\n\n\t\tif (messages?.length) {\n\t\t\tconst messagesIDs = messages.map(m => m._id)\n\t\t\tconst newConversationMessages = filter(conversation, m => !~messagesIDs.indexOf(m._id))\n\t\t\tactions.setMessages(sortBy(messages.concat(newConversationMessages), 'date_sent'))\n\t\t} else {\n\t\t\tactions.setMessages(sortBy(conversation, 'date_sent'))\n\t\t}\n\t\tactions.setPage(page + 1)\n\t\tactions.setLoadingDialogMessages(false)\n\t}),\n\n\trefreshDialogs: thunk(async (actions) => {\n\t\tactions.setLoading(true)\n\t\tconst response = await ConnectyCube.chat.dialog.list()\n\t\tactions.setLoading(false)\n\t\tactions.setDialogs(response.items)\n\t\tactions.getUnreadMessages()\n\t}),\n\n\tgetAllUsers: thunk(async (actions, _, { getStoreState }) => {\n\t\tconst allTrkUsers = getStoreState().users.items\n\t\tconst ccIDs = filter(map(allTrkUsers, i => Number(i?.raw?.chatID)))\n\n\t\tconst promises = map(chunk(ccIDs, 100), value => ConnectyCube.users.get({ per_page: 100, filter: { field: 'id', param: 'in', value } }))\n\t\t// V2 ConnectyCube.users.get({ id: { in: value } })\n\n\t\tconst promisesRes = await Promise.all(promises) // res = trips that need to be removed\n\t\tconst ccUsers = reduce(promisesRes, (ac, i) => [...ac, ...i?.items], [])\n\n\t\tactions.setUsers(map(ccUsers, i => ({ ...i.user })))\n\t}),\n\n\tgetUnreadMessages: thunk(async (actions) => {\n\t\tconst response = await ConnectyCube.chat.message.unreadCount()\n\t\tactions.setUnreadMessages(response.total)\n\t}),\n\n\taddLocalMessage: thunk((actions, { message, uID, status }, { getState }) => {\n\t\tif (!message) return\n\t\t// - add to messages\n\t\tmessage._id = message.id\n\t\tmessage.date_sent = message.extension?.date_sent * 1000 || message.date_sent * 1000 || moment().valueOf()\n\t\tmessage.sender_id = uID\n\t\tmessage.message = message.body\n\t\tmessage.isMine = uID === getState().chatID\n\t\tif (message.extension?.attachmentID) {\n\t\t\tmessage.attachmentID = message.extension.attachmentID\n\t\t}\n\t\tif (status) {\n\t\t\tmessage.status = status\n\t\t}\n\t\tactions.setMessages([...getState().messages, message])\n\t\t// - index - update dialog information\n\t\tconst dialogs = getState().dialogs\n\t\tconst dialog = dialogs.findBy('_id', message.extension?.dialog_id)\n\t\tif (dialog && dialog.last_message_id !== message.id) {\n\t\t\tdialog.last_message = message.body\n\t\t\tdialog.last_message_date_sent = Math.round(message.date_sent / 1000)\n\t\t\tdialog.last_message_id = message.id\n\t\t\tactions.setDialogs([...dialogs])\n\t\t}\n\t}),\n\t// #endregion\n\n\t// #region listeners\n\tonMessageListener: thunk((actions, { uID, message }, { getState }) => {\n\t\tif (!uID || !message) return\n\t\tconst dialogs = getState().dialogs\n\t\tconst openedDialog = getState().dialog\n\t\tlet incrementUnread = false\n\t\t// - dialog -\n\t\tif (openedDialog?._id === message.dialog_id) {\n\t\t\tconst isMine = getState().chatID === uID\n\t\t\t// add message to dialog\n\t\t\t// if message is sent by me, don't mark it as read\n\t\t\tif (!isMine) {\n\t\t\t\tconst params = {\n\t\t\t\t\tmessageId: message.id,\n\t\t\t\t\tuserId: uID,\n\t\t\t\t\tdialogId: message.dialog_id,\n\t\t\t\t}\n\n\t\t\t\tConnectyCube.chat.sendReadStatus(params)\n\t\t\t\tactions.addLocalMessage({ message, uID })\n\t\t\t}\n\t\t} else {\n\t\t\t// send received notification?\n\t\t\tincrementUnread = true\n\t\t}\n\n\t\t// - index - update dialog information\n\t\tconst dialog = dialogs.findBy('_id', message.dialog_id)\n\t\tif (dialog) {\n\t\t\tdialog.last_message = message.body\n\t\t\tdialog.last_message_date_sent = message.extension?.date_sent\n\t\t\tdialog.last_message_id = message.id\n\t\t\tif (incrementUnread) {\n\t\t\t\tdialog.unread_messages_count = (dialog.unread_messages_count || 0) + 1\n\t\t\t\tactions.setUnreadMessages(getState().unreadMessages + 1)\n\t\t\t}\n\t\t\tactions.setDialogs([...dialogs])\n\t\t} else {\n\t\t\t// getAll\n\t\t\tactions.refreshDialogs()\n\t\t}\n\t}),\n\n\tonSentMessageListener: thunk((actions, { messageLost, messageSent }, { getState }) => {\n\t\tif (!messageSent) return\n\t\tactions.addLocalMessage({ message: messageSent, uID: getState().chatID, status: 'sent' })\n\t}),\n\n\tonDeliveredStatusListener: thunk((actions, { mID, dID, uID }, { getState }) => {\n\t\tif (dID !== getState().dialog?._id) return\n\t\tconst message = getState().messages.findBy('_id', mID)\n\t\tif (message) {\n\t\t\tmessage.status = 'delivered'\n\t\t\tactions.setMessages([...getState().messages])\n\t\t}\n\t}),\n\n\tonReadStatusListener: thunk((actions, { mID, dID, uID }, { getState }) => {\n\t\tif (dID !== getState().dialog?._id) return\n\t\tconst message = getState().messages.findBy('_id', mID)\n\t\tif (message) {\n\t\t\tmessage.status = 'read'\n\t\t\tactions.setMessages([...getState().messages])\n\t\t}\n\t}),\n\n\tonMessageTypingListener: thunk((actions, { isTyping, uID, dialogID }, { getState }) => {\n\t\tconst dialogs = getState().dialogs\n\t\tconst typingDialogs = getState().typingDialogs\n\t\tif (uID === getState().chatID) return\n\t\tconst dID = dialogID || dialogs.find(d => d.type === 3 && d.occupants_ids.includes(uID))?._id\n\t\tif (!dID) return\n\t\tconst idx = typingDialogs.mapBy('id').indexOf(dID)\n\t\tconst typingDialog = idx > -1 ? typingDialogs[idx] : null\n\t\tconst idxOccupant = typingDialog?.occupantsIDs.indexOf(uID)\n\t\tif (isTyping) { // add\n\t\t\tif (idx === -1) { // not existing dialog\n\t\t\t\tactions.setTypingDialogs([...typingDialogs, { id: dID, occupantsIDs: [uID] }])\n\t\t\t} else { // dialog exists\n\t\t\t\tif (idxOccupant === -1) {\n\t\t\t\t\ttypingDialog.occupantsIDs.push(uID)\n\t\t\t\t\tactions.setTypingDialogs([...typingDialogs])\n\t\t\t\t}\n\t\t\t}\n\t\t} else { // remove\n\t\t\tif (typingDialog) {\n\t\t\t\tif (typingDialog.occupantsIDs?.length > 1) {\n\t\t\t\t\ttypingDialog.occupantsIDs.splice(idxOccupant, 1)\n\t\t\t\t\tactions.setTypingDialogs([...typingDialogs])\n\t\t\t\t} else {\n\t\t\t\t\ttypingDialogs.splice(idx, 1)\n\t\t\t\t\tactions.setTypingDialogs([...typingDialogs])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}),\n\n\tonSessionConnectionStateChangedListener: thunk((actions, { session, uID, connectionState }, { getState }) => {\n\t\tif (connectionState === ConnectyCube.videochat.SessionConnectionState.DISCONNECTED) {\n\t\t\t// TODO\n\t\t\t// stopCall()\n\t\t}\n\t}),\n\t// #endregion\n\n\t// #region actions\n\tsendIsTypingStatus: thunk(async (actions, _, { getState }) => {\n\t\tconst typingResponsable = getState().typingResponsable\n\t\tif (!typingResponsable) return\n\t\tConnectyCube.chat.sendIsTypingStatus(typingResponsable)\n\t\treturn typingResponsable\n\t}),\n\tsendIsStopTypingStatus: thunk(async (actions, _, { getState }) => {\n\t\tconst typingResponsable = getState().typingResponsable\n\t\tif (!typingResponsable) return\n\t\tConnectyCube.chat.sendIsStopTypingStatus(typingResponsable)\n\t}),\n\tsendMessage: thunk(async (actions, { text, attachmentID = false }, { getState }) => {\n\t\tconst dialog = getState().dialog\n\t\tconst typingResponsable = getState().typingResponsable\n\t\tif (!dialog || !typingResponsable) return null\n\n\t\tconst message = {\n\t\t\ttype: dialog.type === 3 ? 'chat' : 'groupchat',\n\t\t\tbody: text,\n\t\t\textension: {\n\t\t\t\tsave_to_history: 1,\n\t\t\t\tdialog_id: dialog._id\n\t\t\t},\n\t\t\tmarkable: 1\n\t\t}\n\n\t\tif (attachmentID) {\n\t\t\tmessage.extension.attachmentID = attachmentID\n\t\t}\n\n\t\tmessage.id = ConnectyCube.chat.send(typingResponsable, message)\n\t}),\n\tsendFile: thunk(async (actions, file, { getState }) => {\n\t\tconst dialog = getState().dialog\n\t\tif (!file || !dialog) return\n\n\t\tconst resAttachment = await api.post('app/attachments', {\n\t\t\tattachment: {\n\t\t\t\ttype: 'attachment', // attachment || recording\n\t\t\t\tdetails: {\n\t\t\t\t\tdialogID: dialog?._id\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\tconst attID = resAttachment?.attachment?.id\n\t\tconst formData = new FormData()\n\t\tformData.append('attachment', file)\n\t\tconst res = await api.uploadFile(`app/attachments/${attID}/upload`, formData)\n\t\tconst att = res?.attachment\n\t\tactions.sendMessage({ text: file?.name, attachmentID: att?.id })\n\t}),\n\t// #endregion\n\n\t// #region calls dc\n\tcurrentCall: null,\n\tincomingCalls: [],\n\tshowRejectedModal: false,\n\tshowCallingModal: false,\n\tsetCurrentCall: action((state, value) => {\n\t\tstate.currentCall = value\n\t}),\n\tsetIncomingCalls: action((state, value) => {\n\t\tstate.incomingCalls = value\n\t}),\n\tsetShowRejectedModal: action((state, value) => {\n\t\tstate.showRejectedModal = value\n\t}),\n\tsetShowCallingModal: action((state, value) => {\n\t\tif (state.showCallingModal === value) return\n\t\tstate.showCallingModal = value\n\t}),\n\n\tmakeCall: thunk(async (actions, isVideo = false, { getState }) => {\n\t\tconst currentCall = getState().currentCall\n\t\tif (currentCall) return\n\t\tconst dialog = getState().dialog\n\t\tconst user = getState().ccUser\n\t\tif (!dialog || !user) return\n\t\tconst calleesIds = dialog.opponentsIDs\n\t\tconst sessionType = isVideo ? ConnectyCube.videochat.CallType.VIDEO : ConnectyCube.videochat.CallType.AUDIO\n\t\tconst additionalOptions = {}\n\t\tconst session = ConnectyCube.videochat.createNewSession(calleesIds, sessionType, additionalOptions)\n\n\t\tconst mediaparams = {\n\t\t\taudio: true,\n\t\t\tvideo: isVideo\n\t\t}\n\n\t\ttry {\n\t\t\tconst localStream = await session.getUserMedia(mediaparams)\n\n\t\t\tsession.attachMediaStream(isVideo ? 'my-video' : 'my-audio', localStream)\n\n\t\t\tconst currentCall = {\n\t\t\t\tid: session.ID,\n\t\t\t\tisVideo,\n\t\t\t\tname: dialog?.name,\n\t\t\t\tsession,\n\t\t\t}\n\n\t\t\tactions.setShowCallingModal(true)\n\t\t\tactions.setCurrentCall(currentCall)\n\n\t\t\tplaySound('outgoing')\n\n\t\t\tactions.sendNotification({\n\t\t\t\tuserIDs: calleesIds,\n\t\t\t\tmessageBody: {\n\t\t\t\t\tmessage: `Incoming call from ${user.full_name}`,\n\t\t\t\t\ttype: 'call',\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tconsole.error(err)\n\t\t}\n\t}),\n\n\tstopCall: thunk(async (actions, _, { getState }) => {\n\t\tconst currentCall = getState().currentCall\n\t\tif (!currentCall) {\n\t\t\treturn\n\t\t}\n\t\tcurrentCall.session.stop({})\n\t\tactions.setShowCallingModal(false)\n\t\tactions.setCurrentCall(null)\n\t\tplaySound('end')\n\t}),\n\n\tacceptCall: thunk(async (actions, call, { getState }) => {\n\t\tconst user = getState().ccUser\n\t\tif (!call?.session || !user) {\n\t\t\treturn\n\t\t}\n\n\t\tconst incomingCalls = getState().incomingCalls\n\t\tconst currentCall = getState().currentCall\n\t\t// reject other calls\n\t\tconst anotherCalls = incomingCalls.filter(c => c.id !== call.id)\n\t\tif (anotherCalls.length) anotherCalls.forEach(c => actions.rejectCall(c))\n\t\tif (currentCall) actions.stopCall()\n\n\t\tconst isVideo = call.isVideo\n\t\tconst mediaparams = {\n\t\t\taudio: true,\n\t\t\tvideo: isVideo\n\t\t}\n\n\t\tlet localStream\n\t\t// Tries to connect with normally (if video then with video, if with audio then with audio), but if it fails it will try to connect only with audio\n\t\ttry {\n\t\t\tlocalStream = await call.session.getUserMedia(mediaparams)\n\t\t\t// actions.setIsVideoCall(isVideo)\n\t\t\tcall.session.attachMediaStream(isVideo ? 'my-video' : 'my-audio', localStream)\n\t\t} catch (err) {\n\t\t\t// actions.setIsVideoCall(false)\n\t\t\tlocalStream = await call.session.getUserMedia({ audio: true })\n\t\t\tcall.session.attachMediaStream('my-video', localStream)\n\t\t}\n\t\tconst extension = { ...call.extension, user }\n\t\tcall.session.accept(extension)\n\n\t\tif (getState().showCallingModal) actions.setShowCallingModal(false)\n\t\tif (getState().showRejectedModal) {\n\t\t\tactions.setShowRejectedModal(false)\n\t\t}\n\t\tplaySound()\n\t\tactions.setCurrentCall(call)\n\t\tactions.setIncomingCalls([])\n\t}),\n\n\trejectCall: thunk(async (actions, call, { getState }) => {\n\t\tif (!call) return\n\t\ttry {\n\t\t\tconst incomingCalls = getState().incomingCalls\n\t\t\tif (incomingCalls?.length === 1) playSound('end')\n\t\t\tactions.setIncomingCalls(incomingCalls.filter(c => c.id !== call.id))\n\t\t\tcall.session.reject()\n\t\t} catch (err) {\n\t\t\tconsole.error(err)\n\t\t}\n\t}),\n\n\t// call listeners\n\tonCallListener: thunk(async (actions, { session, extension }, { getState }) => {\n\t\tif (!session ||\n\t\t\tsession.currentUserID === session.initiatorID || // self call\n\t\t\tsession?.mediaParams // accepted on another device\n\t\t) {\n\t\t\treturn\n\t\t}\n\n\t\tconst { incomingCalls, currentCall } = getState()\n\n\t\tconst alreadyCalling = incomingCalls.find(call => call.session.initiatorID === session.initiatorID)\n\t\tconst inCalling = currentCall?.session?.initiatorID === session.initiatorID\n\t\tif (alreadyCalling || inCalling) {\n\t\t\tconsole.info('call ignored >> ', alreadyCalling ? 'already calling' : 'in call')\n\t\t\tsession.reject()\n\t\t\treturn\n\t\t}\n\t\tplaySound('incoming')\n\n\t\tconst call = {\n\t\t\tid: session.ID,\n\t\t\tisVideo: session.callType === ConnectyCube.videochat.CallType.VIDEO,\n\t\t\tname: extension.user?.full_name || '-',\n\t\t\tsession\n\t\t}\n\n\t\tactions.setIncomingCalls([call, ...incomingCalls])\n\t}),\n\tonUserNotAnswerListener: thunk(async (actions, { session, uID }) => {\n\t\tactions.stopCall()\n\t}),\n\tonAcceptCallListener: thunk(async (actions, { session, uID, extension }, { getState }) => {\n\t\tconst currentCall = getState().currentCall\n\t\tconst incomingCalls = getState().incomingCalls\n\t\tif (incomingCalls?.length) {\n\t\t\tconst anotherCalls = incomingCalls.filter(c => c.id !== session.ID)\n\t\t\tif (incomingCalls.length !== anotherCalls.length) {\n\t\t\t\tactions.setIncomingCalls(anotherCalls)\n\t\t\t\tif (!anotherCalls.length) playSound(!currentCall ? 'end' : null)\n\t\t\t}\n\t\t}\n\t\tif (currentCall?.id !== session.ID) return\n\t\tplaySound()\n\t\tactions.setShowCallingModal(false)\n\t\tif (!currentCall?.session?.mediaParams) { // accepted on another device\n\t\t\treturn\n\t\t}\n\n\t\tif (!currentCall?.session) {\n\t\t\tcurrentCall.session = session\n\t\t\t// TODO: check if this is needed, and if sound works fine from call to call + video\n\t\t\t// setCallExtension(extension)\n\t\t}\n\t}),\n\tonRejectCallListener: thunk(async (actions, { session, uID, extension }, { getState }) => {\n\t\tconst currentCall = getState().currentCall\n\t\tconst incomingCalls = getState().incomingCalls\n\t\tif (incomingCalls?.length) {\n\t\t\tconst anotherCalls = incomingCalls.filter(c => c.id !== session.ID)\n\t\t\tif (incomingCalls.length !== anotherCalls.length) {\n\t\t\t\tactions.setIncomingCalls(anotherCalls)\n\t\t\t\tif (!anotherCalls.length) playSound('end')\n\t\t\t}\n\t\t}\n\t\tif (currentCall?.id !== session.ID) return\n\t\tplaySound('busy')\n\t\tactions.setShowCallingModal(false)\n\t\tactions.setShowRejectedModal(currentCall?.name)\n\t\tactions.setCurrentCall(null)\n\t\tsetTimeout(function () {\n\t\t\tactions.setShowRejectedModal(false)\n\t\t\t// setOpponentName('')\n\t\t}, 5000)\n\t}),\n\tonStopCallListener: thunk(async (actions, { session, uID, extension }, { getState }) => {\n\t\tconst currentCall = getState().currentCall\n\t\tconst incomingCalls = getState().incomingCalls\n\t\tif (currentCall?.id === session?.ID) actions.stopCall()\n\t\tif (incomingCalls?.length) {\n\t\t\tconst anotherCalls = incomingCalls.filter(c => c.id !== session.ID)\n\t\t\tif (incomingCalls.length !== anotherCalls.length) {\n\t\t\t\tactions.setIncomingCalls(anotherCalls)\n\t\t\t\tif (!anotherCalls.length) playSound('end')\n\t\t\t}\n\t\t}\n\t}),\n\tonRemoteStreamListener: thunk(async (actions, { session, uID, remoteStream }) => {\n\t\tconst isVideoCall = session?.callType === ConnectyCube.videochat.CallType.VIDEO\n\t\tif (isVideoCall) {\n\t\t\tsession.attachMediaStream('his-video', remoteStream)\n\t\t} else {\n\t\t\tsession.attachMediaStream('his-audio', remoteStream)\n\t\t}\n\t}),\n\t// #endregion\n\n\tsendNotification: thunk(async (actions, { userIDs, messageBody }, { getState }) => {\n\t\tconst { environment } = getState()\n\t\tconst pushParameters = {\n\t\t\tnotification_type: 'push',\n\t\t\tuser: { ids: userIDs }, // recipients.\n\t\t\tname: 'call',\n\t\t\tenvironment,\n\t\t\tmessage: ConnectyCube.pushnotifications.base64Encode(\n\t\t\t\tJSON.stringify({\n\t\t\t\t\tios_badge: 1,\n\t\t\t\t\t// ios_voip: 1\n\t\t\t\t\t...messageBody,\n\t\t\t\t})\n\t\t\t),\n\t\t}\n\n\t\tawait ConnectyCube.pushnotifications.events.create(pushParameters)\n\t}),\n\t// #endregion\n\n\tinit: thunk(async (actions, { credentials, tokenID }) => {\n\t\t// eslint-disable-next-line no-undef\n\t\tactions.setEnvironment(credentials?.environment || 'production')\n\t\t// eslint-disable-next-line no-undef\n\t\tConnectyCube.init(credentials, CONFIG)\n\n\t\tconst sessionToken = await ConnectyCube.createSession()\n\t\t\t.then(session => session?.token)\n\t\t\t.catch(error => console.error('ERROR CREATING SESSION CHAT', error))\n\n\t\tconst logedChatUser = await ConnectyCube.login({ login: `Bearer ${tokenID}`, password: 'xD' })\n\t\t\t.then(res => res)\n\n\t\tconst ccUser = await ConnectyCube.chat.connect({\n\t\t\tuserId: logedChatUser?.id,\n\t\t\tpassword: sessionToken\n\t\t})\n\t\t\t.then(() => logedChatUser)\n\t\t\t.catch(error => console.error('ERROR CONNECTING CHAT', error))\n\n\t\tactions.setCCUser(ccUser)\n\t}),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass ClientProperties {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('tms/client-properties', ClientProperties, 'clientProperty'),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass Client {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('tms/clients', Client, 'client'),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass Client {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('clients', Client, 'clients'),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\nimport { thunk } from 'easy-peasy'\nimport api from '../../services/api'\n\nconst ENDPOINT = 'tms/combinedTransportCost'\nconst RESPONSE_KEY = 'combinedTransportCost'\n\nclass Client {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, Client, RESPONSE_KEY),\n\n\treloadWithPageAndCountOfResults: thunk(async (actions, params) => {\n\t\tconst response = await api.get(`${ENDPOINT}?$paginate[limit]=${params.limit}&$paginate[page]=${params.page}`)\n\t\tactions.setItems(RESPONSE_KEY != null ? response[RESPONSE_KEY] : response)\n\t\treturn response\n\t}),\n}\n\nexport default model\n","import { thunk } from 'easy-peasy'\nimport { set } from 'lodash'\nimport toast from 'react-hot-toast'\n\nimport p from '../helpers/p'\nimport api from 'tracknamic-smb/react/services/api'\nimport i18n from 'tracknamic-smb/react/services/i18n'\n\nconst ENDPOINT = 'groups'\nconst RESPONSE_KEY = 'group'\n\nconst model = {\n\t...p('company', null),\n\n\treload: thunk(async (actions, _, { getStoreState }) => {\n\t\tconst id = getStoreState().session?.user?.companyID\n\t\tif (!id) return\n\t\tconst response = await api.get(`${ENDPOINT}/${id}`)\n\t\tconst res = RESPONSE_KEY ? response[RESPONSE_KEY] : response\n\t\tactions.setCompany(res)\n\t\treturn res\n\t}),\n\n\tupdate: thunk(async (actions, { path, value }, { getState }) => {\n\t\tconst company = getState().company\n\t\tconst id = company?.id\n\t\tconst item = { id }\n\t\tset(item, path, value)\n\t\tif (!id) return\n\t\ttry {\n\t\t\tconst response = await api.patch(`${ENDPOINT}/${id}`, {\n\t\t\t\t[RESPONSE_KEY]: item,\n\t\t\t})\n\n\t\t\tconst res = RESPONSE_KEY ? response[RESPONSE_KEY] : response\n\n\t\t\tactions.setCompany(res)\n\t\t\ttoast.success(i18n?.t('common:messages.operationWithSuccess'))\n\t\t\treturn res\n\t\t} catch (e) {\n\t\t\ttoast.error(i18n?.t('common:messages.operationFailed'))\n\t\t}\n\t}),\n}\n\nexport default model\n","import { action, thunk } from 'easy-peasy'\n\nimport api from '../../services/api'\nimport prop from '../helpers/prop'\n\nconst model = {\n\t...prop('items', 'devices', []),\n\tvehiclesIDs: [],\n\n\tsetVehiclesIDs: action((state, value) => { state.vehiclesIDs = value }),\n\n\treload: thunk(async (actions, params = {}) => {\n\t\tconst response = await api.get('devices')\n\t\tconst items = response?.device || []\n\t\tconst vehiclesIDs = items.map(d => d.vehicleID)\n\t\tactions.setVehiclesIDs(vehiclesIDs)\n\t\tactions.setItems(items)\n\t}),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\nimport { thunk } from 'easy-peasy'\nimport api from '../../services/api'\n\nconst ENDPOINT = 'events'\nconst RESPONSE_KEY = 'event'\n\nclass Events {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, Events, RESPONSE_KEY),\n\n\treloadEventsWithPeriod: thunk(async (actions, params) => {\n\t\tconst query = `?$where[>=][timestamp]=${params?.transportCreatedAt}&$where[<=][timestamp]=${params?.lastFreightArrivalTimestamp}`\n\t\tconst response = await api.get(`${ENDPOINT}${query}`)\n\t\tactions.setItems(RESPONSE_KEY != null ? response[RESPONSE_KEY] : response)\n\t\treturn response\n\t}),\n}\n\nexport default model\n","import { action, effectOn, thunk } from 'easy-peasy'\nimport moment from 'moment'\nimport { v4 } from 'ember-uuid'\nimport { set, findIndex, forEach, last, map, find, isNumber, filter, first, isNaN, omit, pick } from 'lodash'\nimport toast from 'react-hot-toast'\n\nimport p from '../helpers/p'\n\nimport { pair } from 'tracknamic-smb/react/utils/arrays'\nimport { getItemLS, setItemLS } from 'tracknamic-smb/react/utils/ls'\nimport { getLanLngFromArray } from 'tracknamic-smb/react/utils/map'\nimport { defaultPtvProfile } from 'tracknamic-smb/react/utils/fastQuote'\nimport {\n\tcalculateWaypointsDurations,\n\tcomputeLegDetails,\n\tgetFirstLoadedWpIdx,\n\tgetLastLoadedWpIdx,\n\tgetRouteColor,\n\tgetRouteTypeByWaypointPurpose,\n\tgetWaypointTimestampByPriority,\n}\nfrom 'tracknamic-smb/react/utils/routes'\n\nconst getWpHash = (w, nWp) => [w?.id, nWp?.id].join('+++')\n\nconst model = {\n\t...p('loading', false),\n\t...p('ptvProfile'),\n\t...p('emptyQuote'),\n\t...p('loadedQuote'),\n\t...p('includeTolls', true),\n\t...p('waypoints', []),\n\t...p('waypointsWithDurations', []),\n\t...p('routes', []),\n\t...p('legs', []),\n\n\tinit: thunk(async (actions, vehicleID, { getStoreActions }) => {\n\t\tconst fq = getItemLS('fastQuote') || {}\n\t\tconst ptvProfile = getItemLS('ptvProfile') || defaultPtvProfile\n\n\t\tconst { emptyQuote, loadedQuote, includeTolls = true } = fq\n\t\tactions.setPtvProfile(ptvProfile)\n\t\tactions.setEmptyQuote(emptyQuote)\n\t\tactions.setLoadedQuote(loadedQuote)\n\t\tactions.setIncludeTolls(includeTolls)\n\n\t\t// Create dislocation waypoint from vehicle\n\t\tconst vehicle = await getStoreActions().vehicles?.getOnly(vehicleID)\n\t\tconst arrCoordinates = vehicle?.status?.location\n\t\tif (!arrCoordinates) return\n\t\tconst locationPTV = await getStoreActions().ptv.getPTVLocation(getLanLngFromArray(arrCoordinates))\n\t\tconst location = await actions.createTemporaryFromPTV(locationPTV)\n\t\tset(location, 'computed', `${vehicle?.licensePlate}: ${location?.computed}`)\n\t\tset(location, 'name', vehicle?.licensePlate)\n\t\tactions.addWp({ location, type: 'dislocation' })\n\t}),\n\n\treset: action(state => {\n\t\tstate.loading = false\n\t\tstate.waypoints = []\n\t\tstate.waypointsWithDurations = []\n\t\tstate.routes = []\n\t\tstate.legs = []\n\t\tstate.ptvProfile = null\n\t}),\n\n\thandleSave: thunk(async (actions, _, { getState }) => {\n\t\tconst ptvProfile = getState().ptvProfile\n\t\tsetItemLS('ptvProfile', ptvProfile)\n\t\tactions.setRoutes([])\n\t\tactions.processStuff()\n\t}),\n\n\tupdatePtvProfile: action((state, [key, value]) => {\n\t\tconst pathNumbers = [\n\t\t\t'requestProfile.vehicleProfile.dimensions.length',\n\t\t\t'requestProfile.vehicleProfile.dimensions.width',\n\t\t\t'requestProfile.vehicleProfile.dimensions.height',\n\t\t\t'requestProfile.vehicleProfile.weight.totalPermittedWeight',\n\t\t]\n\n\t\tconst isNr = pathNumbers.includes(key)\n\t\tconst ptvProfile = state.ptvProfile || {}\n\t\tlet v = value\n\t\tif (isNr && v) v = v ? Number(v) : null\n\t\tset(ptvProfile, key, v)\n\t\tstate.ptvProfile = { ...ptvProfile }\n\t}),\n\n\tupdateSetting: action((state, { key, value }) => {\n\t\tlet v = value\n\t\tif (['emptyQuote', 'loadedQuote'].includes(key)) {\n\t\t\tv = value && !isNaN(value) ? Number(value) : null\n\t\t}\n\t\tset(state, key, v)\n\t\tconst obj = pick(state, ['emptyQuote', 'loadedQuote', 'includeTolls'])\n\t\tsetItemLS('fastQuote', obj)\n\t}),\n\n\tcomputeStuffOnWpsChange: effectOn(\n\t\t[state => state.waypoints],\n\t\tasync (actions, change, { getState }) => {\n\t\t\tconst [waypoints] = change.current\n\t\t\tconst wpsHashes = pair(waypoints, 2).map(([w, nWp]) => getWpHash(w, nWp))\n\t\t\tconst rts = filter(getState().routes, i => wpsHashes.includes(i?.custom?.hash))\n\t\t\tactions.setRoutes(rts)\n\t\t\tactions.setWaypointsWithDurations(waypoints)\n\t\t\tactions.setLegs([])\n\t\t\tactions.processStuff()\n\t\t}\n\t),\n\n\tprocessStuff: thunk(async (actions, _, { getState, getStoreActions }) => {\n\t\tconst { waypoints, waypointsWithDurations, routes: rts, ptvProfile } = getState()\n\n\t\tif (waypoints?.length < 2) return\n\n\t\tconst getPTVRoute = getStoreActions().ptv.getPTVRoute\n\n\t\tactions.setLoading(true)\n\n\t\t// setting loaded to changed waypoints\n\t\tconst wps = map(waypointsWithDurations, (i, idx) => {\n\t\t\tconst w = { ...i }\n\t\t\tconst nWp = waypoints[idx + 1]\n\t\t\tif (nWp) {\n\t\t\t\tconst hash = getWpHash(w, nWp)\n\t\t\t\tconst r = find(rts, r => r?.custom?.hash === hash)\n\t\t\t\tconst routeID = r?.id || null\n\t\t\t\tset(w, 'hash', hash)\n\t\t\t\tif (!r) set(w, 'isLoading', true)\n\t\t\t\tset(w, 'routeID', routeID)\n\t\t\t} else {\n\t\t\t\tset(w, 'hash', null)\n\t\t\t}\n\t\t\treturn w\n\t\t})\n\t\tconst tempWpsWithDuration = calculateWaypointsDurations(wps, rts, _, true)\n\t\tactions.setWaypointsWithDurations(tempWpsWithDuration)\n\t\t// end region for setting loaded to changed waypoints\n\n\t\t// #region 1 compute legs based on waypoint\n\t\tconst legs = []\n\n\t\tconst firstLoadWpIdx = getFirstLoadedWpIdx(wps)\n\t\tconst lastLoadedWpIdx = getLastLoadedWpIdx(wps)\n\t\tconst lastWaypointIndex = wps?.length - 1\n\n\t\tforEach(wps, (waypoint, index) => {\n\t\t\tif (!index) {\n\t\t\t\tconst type = firstLoadWpIdx && index < firstLoadWpIdx ? 'dislocation' : null\n\t\t\t\tlegs.push({\n\t\t\t\t\twaypoints: [waypoint],\n\t\t\t\t\tfrom: waypoint,\n\t\t\t\t\ttype: type || (waypoint.purpose === 'rail-dock' ? 'rail' : waypoint.purpose === 'ferry-dock' ? 'maritime' : waypoint.purpose === 'dislocation' ? 'dislocation' : undefined),\n\t\t\t\t\troutes: [],\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tconst leg = last(legs)\n\t\t\t\tleg.waypoints.push(waypoint)\n\t\t\t\tleg.to = waypoint\n\n\t\t\t\tconst isSplit = waypoint.purpose === 'split' && waypoint.isNew\n\t\t\t\tconst isRouteTemplate = ['rail-dock', 'rail-undock', 'ferry-dock', 'ferry-undock'].includes(waypoint.purpose)\n\t\t\t\tconst isNotManned = (waypoint?.custom?.manned === false) && isRouteTemplate\n\n\t\t\t\tif ((index === lastLoadedWpIdx) && (index < lastWaypointIndex)) {\n\t\t\t\t\tlegs.push({\n\t\t\t\t\t\twaypoints: [waypoint],\n\t\t\t\t\t\tfrom: waypoint,\n\t\t\t\t\t\ttype: 'endDislocation',\n\t\t\t\t\t\troutes: [],\n\t\t\t\t\t})\n\t\t\t\t} else if (\n\t\t\t\t\t(index === firstLoadWpIdx || (isSplit || isNotManned)) &&\n\t\t\t\t\t(index < lastWaypointIndex)\n\t\t\t\t) {\n\t\t\t\t\tlegs.push({\n\t\t\t\t\t\twaypoints: [waypoint],\n\t\t\t\t\t\tfrom: waypoint,\n\t\t\t\t\t\ttype: waypoint.purpose === 'rail-dock' ? 'rail' : waypoint.purpose === 'ferry-dock' ? 'maritime' : undefined,\n\t\t\t\t\t\troutes: [],\n\t\t\t\t\t})\n\t\t\t\t} else if (firstLoadWpIdx && index < firstLoadWpIdx) { // all road waypoints before firstLoad will be 'dislocation'\n\t\t\t\t\tif (!leg.type) leg.type = 'dislocation'\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t// #endregion\n\n\t\t// #region 2: get routes between each waypoint (if exists get from existingRoutes)\n\t\t// add each route to corresponding leg + routes + existing route\n\n\t\t// TODO improve speed: make this async. array of promises\n\n\t\tconst toastID = toast.loading('Loading routes')\n\t\t// const routes = []\n\t\tconst requests = []\n\t\tconst isReqIdx = []\n\t\tforEach(pair(wps), ([start, end], idx) => {\n\t\t\tif (!start?.isLoading) {\n\t\t\t\tconst r = find(rts, r => r?.custom?.hash === start?.hash)\n\t\t\t\tif (r) requests.push(r)\n\t\t\t} else {\n\t\t\t\tif (start?.purpose === 'rail-dock' || start?.purpose === 'ferry-dock') { // get route from route template instead ptv\n\t\t\t\t\tconst routeID = start?.routeID || start?.custom?.routeID\n\t\t\t\t\tconst existingRoute = find(rts, i => i.id === routeID)\n\t\t\t\t\tif (existingRoute) requests.push(existingRoute)\n\t\t\t\t\telse {\n\t\t\t\t\t\trequests.push(getStoreActions().routes.getItemStoreOrAPI(routeID))\n\t\t\t\t\t\tisReqIdx.push(idx)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\trequests.push(getPTVRoute({ ptvProfile, waypoints: [start, end], latlngPath: 'latlng' }))\n\t\t\t\t\tisReqIdx.push(idx)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst routes = await Promise.all(requests)\n\n\t\tforEach(routes, (r, idx) => {\n\t\t\tconst w = wps[idx]\n\t\t\tset(w, 'isLoading', false)\n\n\t\t\tif (isReqIdx.includes(idx)) {\n\t\t\t\tset(r, 'id', r?.id || r?.route?.id)\n\t\t\t\tset(r, 'salesAgent', r?.route?.salesAgent)\n\t\t\t\tset(r, 'details', omit(r, 'route'))\n\n\t\t\t\tconst routeType = getRouteTypeByWaypointPurpose(w?.purpose)\n\t\t\t\tset(r, 'custom.hash', w?.hash)\n\t\t\t\tset(r, 'type', routeType)\n\t\t\t\tset(r, 'waypointID', w?.id)\n\t\t\t\tif (isNumber(w?.amount)) {\n\t\t\t\t\tset(r, 'details.toll.summary.costs', [{ amount: w?.amount, currency: w?.unit || 'EUR' }])\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst leg = find(legs, i => {\n\t\t\t\tconst idx = findIndex(i.waypoints, j => j.id === w?.id)\n\t\t\t\tif (idx !== -1 && idx !== i.waypoints?.length - 1) return true\n\t\t\t\treturn false\n\t\t\t})\n\n\t\t\tif (['dislocation', 'endDislocation'].includes(leg?.type)) {\n\t\t\t\tset(r, 'type', leg?.type)\n\t\t\t\tconst color = getRouteColor(leg?.type)\n\t\t\t\tset(r, 'color', color)\n\t\t\t} else {\n\t\t\t\tconst color = getRouteColor(w?.purpose, last(routes))\n\t\t\t\tset(r, 'color', color)\n\t\t\t}\n\t\t\tif (leg) leg.routes.push(r)\n\t\t})\n\n\t\ttoast.success('Loading Routes', { id: toastID })\n\t\t// #endregion\n\n\t\tconst wpsWithDurations = calculateWaypointsDurations(wps, routes, _, true)\n\n\t\t// #region 4 compute legs details (legs + wpsWithDurations)\n\t\tcomputeLegDetails(legs, wpsWithDurations)\n\t\t// #endregion\n\n\t\tactions.setWaypointsWithDurations(wpsWithDurations)\n\t\tactions.setRoutes(routes)\n\t\tactions.setLegs(legs)\n\n\t\tsetItemLS('fq', { wpsWithDurations })\n\n\t\tactions.setLoading(false)\n\t}),\n\n\tcreateTemporaryFromPTV: thunk(async (actions, locationPTV) => {\n\t\tconst {\n\t\t\tcountry,\n\t\t\tstate,\n\t\t\tprovince,\n\t\t\tpostalCode,\n\t\t\tcity,\n\t\t\tdistrict,\n\t\t\tsubdistrict,\n\t\t\tstreet,\n\t\t\thouseNumber,\n\t\t} = locationPTV?.address || {}\n\n\t\tconst { coordinates, formattedAddress } = locationPTV || {}\n\n\t\tif (!coordinates?.lat || !coordinates?.lng) return\n\n\t\tconst county = state || province || district || subdistrict\n\t\tconst name = formattedAddress || filter([street, houseNumber, postalCode, city, country]).join(', ')\n\t\tconst arr = [country, postalCode, city, street, houseNumber]\n\t\tconst computed = filter(arr).join(', ')\n\t\tconst timezone = moment.tz.zonesForCountry(country)?.find(i => i?.toLowerCase()?.includes(city) || i?.toLowerCase()?.includes('europe')) || moment.tz.zonesForCountry(country)[0]\n\t\tconst gmt = moment().tz(timezone).format('Z')\n\t\tconst location = {\n\t\t\tid: v4(),\n\t\t\tname,\n\t\t\taddress: name,\n\t\t\tstreet,\n\t\t\tstreetNumber: houseNumber,\n\t\t\tcity,\n\t\t\ttimezone,\n\t\t\tgmt,\n\t\t\ttypes: ['temporary'],\n\t\t\tpostalCode,\n\t\t\tcountry,\n\t\t\tcounty,\n\t\t\tgeometry: {\n\t\t\t\ttype: 'Point',\n\t\t\t\tcoordinates,\n\t\t\t},\n\t\t\tcoordinates,\n\t\t\tcomputed,\n\t\t}\n\n\t\treturn location\n\t}),\n\n\taddWp: thunk(async (actions, props, { getState }) => {\n\t\tconst { index, location, type, wp } = props || {}\n\t\tif (!wp && !location) return\n\t\tconst { waypoints } = getState()\n\n\t\tconst hasDislocation = first(waypoints)?.purpose === 'dislocation'\n\n\t\tif (wp) {\n\t\t\tconst wps = [...waypoints]\n\t\t\tif (hasDislocation) wps.splice(0, 0, wp)\n\t\t\telse wps.unshift(wp)\n\n\t\t\tactions.setWaypoints(wps)\n\t\t\treturn\n\t\t}\n\n\t\tconst isStart = type === 'start'\n\t\tconst isDislocation = type === 'dislocation' || (isStart && !hasDislocation)\n\t\tconst wps = (isDislocation && hasDislocation) ? filter(waypoints, i => i.purpose !== 'dislocation') : [...waypoints]\n\n\t\tlet prevWp, nextWp\n\t\tif (index !== undefined) {\n\t\t\tprevWp = wps[index]\n\t\t\tnextWp = wps[index + 1]\n\t\t} else {\n\t\t\tprevWp = last(wps)\n\t\t}\n\n\t\tconst diff = moment(getWaypointTimestampByPriority(nextWp) || getWaypointTimestampByPriority(prevWp)).diff(getWaypointTimestampByPriority(prevWp), 'ms')\n\t\tconst dif = diff / 2\n\t\tconst ts1 = moment(getWaypointTimestampByPriority(prevWp)).add(dif, 'ms').toISOString()\n\t\tconst purpose = isDislocation ? 'dislocation' : (type || 'via')\n\t\tconst item = {\n\t\t\tid: v4(),\n\t\t\tpurpose,\n\t\t\tduration: 30,\n\t\t\tlocationID: location?.id,\n\t\t\tplannedArrivalAt: ts1,\n\t\t\tcustomerRequestedArrival: { startTime: null },\n\t\t\tlocation: location,\n\t\t\tlatlng: location?.geometry?.coordinates,\n\t\t}\n\n\t\tif (!waypoints?.length) set(item, 'fuelLevel', 200)\n\n\t\tlet idx = isDislocation || (isStart && !hasDislocation) ? 0 : index + 1\n\t\tif (isStart && hasDislocation) idx = 1\n\n\t\tif (isNaN(idx)) idx = waypoints?.length\n\t\twps.splice(idx, 0, item)\n\t\tactions.setWaypoints(wps)\n\t}),\n\n\tupdateWp: thunk(async (actions, wp, { getState }) => {\n\t\tconst { waypoints } = getState()\n\t\tconst wpIdx = findIndex(waypoints, i => i.id === wp.id)\n\t\tconst wps = [...waypoints]\n\t\tconst newWp = { ...wp, latlng: wp?.location?.geometry?.coordinates }\n\t\tif (Array.isArray(newWp.latlng)) {\n\t\t\tset(newWp, 'latlng', getLanLngFromArray(newWp.latlng))\n\t\t}\n\t\tconst oldWp = wps[wpIdx]\n\t\tconst oldWpCoordsHash = [oldWp?.latlng?.lat, oldWp?.latlng?.lng].join('-')\n\t\tconst newWpCoordsHash = [newWp?.latlng?.lat, newWp?.latlng?.lng].join('-')\n\t\tif (oldWpCoordsHash !== newWpCoordsHash) set(newWp, 'id', v4())\n\t\twps.splice(wpIdx, 1, newWp)\n\t\tactions.setWaypoints(wps)\n\t}),\n\n\tremoveWpIdx: thunk(async (actions, idx, { getState }) => {\n\t\tconst { waypoints } = getState()\n\t\tconst item = waypoints[idx]\n\t\tif (!item) return\n\t\tconst wps = [...waypoints]\n\t\tif (['rail-dock', 'rail-undock', 'ferry-dock', 'ferry-undock'].includes(item?.purpose)) {\n\t\t\tconst routeID = item?.custom?.routeID\n\t\t\tconst filteredWPS = wps.filter(i => i?.custom?.routeID !== routeID)\n\t\t\tactions.setWaypoints(filteredWPS)\n\t\t} else {\n\t\t\twps.splice(idx, 1)\n\t\t\tactions.setWaypoints(wps)\n\t\t}\n\t}),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass FerryCost {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('tms/ferry-cost', FerryCost, 'ferryCost'),\n}\n\nexport default model\n","import { action, thunk } from 'easy-peasy'\nimport { assign } from 'lodash'\nimport api from '../../services/api'\n\nconst ENDPOINT = 'app/attachments'\n\n// IMPORTANT: This model is not using the .raw structure\nclass Model {\n\tconstructor (data) {\n\t\tassign(this, data)\n\t}\n}\n\nconst model = {\n\titems: [],\n\n\taddItem: action((state, { id, blob }) => {\n\t\tstate.items.push(new Model({ id, blob }))\n\t}),\n\n\tgetFile: thunk(async (actions, id, { getState }) => {\n\t\tif (!id) return\n\t\tconst file = getState().items.find(item => item?.id === id)\n\t\tif (file) {\n\t\t\treturn file?.blob\n\t\t}\n\t\tconst response = await api.downloadFile(`${ENDPOINT}/${id}/download`)\n\t\tactions.addItem({ id, blob: response })\n\t\treturn response\n\t}),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass Event {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('events', Event, 'event'),\n}\n\nexport default model\n","import { get } from 'lodash'\nimport { coordsToLatLngs, getCenter } from '../../utils/map'\nimport ListModel from '../helpers/list'\n\nclass Geofence {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n\n\tget latlngs () {\n\t\treturn coordsToLatLngs(get(this, 'raw.shape.coordinates'))\n\t}\n\n\tget shapeType () {\n\t\treturn get(this, 'raw.shape.type')\n\t}\n\n\tget center () {\n\t\tconst latlngs = get(this, 'latlngs')\n\t\tif (get(this, 'shapeType') === 'Polygon') {\n\t\t\treturn getCenter(latlngs)\n\t\t} else {\n\t\t\treturn latlngs[0]\n\t\t}\n\t}\n\n\tget name () {\n\t\tconst showExternalID = true // showExternalID: computed.alias('company.settings.showExternalID'),\n\t\tconst name = get(this, 'raw.name', '')\n\t\tif (!showExternalID) return name\n\t\tconst externalID = get(this, 'raw.externalID', '')\n\t\tif (!externalID) return name\n\t\treturn `${externalID} ${name}`\n\t}\n}\n\nconst model = {\n\t...ListModel('geofences', Geofence, 'geofence')\n}\n\nexport default model\n","import { action } from 'easy-peasy'\n\nconst model = {\n\tgoogleAPIKey: null,\n\tspv: null,\n\tassetsPath: '',\n\n\tsetSpv: action((state, key) => {\n\t\tstate.spv = key\n\t}),\n\tsetGoogleAPIKey: action((state, key) => {\n\t\tstate.googleAPIKey = key\n\t}),\n\tsetAssetsPath: action((state, path) => {\n\t\tstate.assetsPath = path\n\t}),\n}\n\nexport default model\n","import ListModel from '../helpers/list-v2'\nimport { assign } from 'lodash'\n\nclass Group {\n\tconstructor (data) {\n\t\tassign(this, data)\n\t}\n}\n\nconst model = {\n\t...ListModel('groups', Group, 'group')\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass Group {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('groups', Group, 'group')\n}\n\nexport default model\n","import ListModel from '../helpers/list'\nimport { thunk } from 'easy-peasy'\nimport api from '../../services/api'\n\nconst ENDPOINT = 'integrations'\nconst RESPONSEKEY = 'integration'\n\nclass Integration {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, Integration, RESPONSEKEY),\n\n\tupdate: thunk(async (actions, { newItem, oldItem }) => {\n\t\tlet item = newItem\n\t\tif (newItem.id != null) {\n\t\t\tawait api.put(`${ENDPOINT}/${item.id}`, {\n\t\t\t\t[RESPONSEKEY]: newItem,\n\t\t\t})\n\t\t} else {\n\t\t\tconst response = await api.post(ENDPOINT, {\n\t\t\t\t[RESPONSEKEY]: newItem,\n\t\t\t})\n\t\t\titem = response[RESPONSEKEY]\n\t\t}\n\n\t\tactions.updateItem({\n\t\t\tnewItem: item,\n\t\t\toldItem,\n\t\t})\n\t}),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\nimport { get, set } from 'lodash'\n\nconst ENDPOINT = 'maintenance/rules'\nconst RESPONSE_KEY = 'rule'\n\nclass MaintenanceRule {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n\n\tget email () {\n\t\treturn get(this, 'raw.settings.emails.0')\n\t}\n\n\tset email (value) {\n\t\tset(this, 'raw.settings.emails.0', value)\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, MaintenanceRule, RESPONSE_KEY),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nconst ENDPOINT = 'maintenances'\nconst RESPONSE_KEY = 'maintenance'\n\nclass Maintenance {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, Maintenance, RESPONSE_KEY),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\nimport { assign } from 'lodash'\nimport { thunk } from 'easy-peasy'\nimport api from '../../services/api'\n\nconst ENDPOINT = 'tms/routes/optimal'\nconst RESPONSE_KEY = 'optimalRoute'\n\nconst getTotalCost = (ptvRouteCost) => {\n\tif (!ptvRouteCost) return 0\n\tconst boat = ptvRouteCost.total?.boat || 0\n\tconst driver = ptvRouteCost.total?.driver || 0\n\tconst toll = ptvRouteCost.total?.toll || 0\n\tconst vehicle = ptvRouteCost.total?.vehicle || 0\n\treturn boat + driver + toll + vehicle\n}\n\n// IMPORTANT: This model is not using the .raw structure\nclass Route {\n\tconstructor (data) {\n\t\tassign(this, data)\n\t}\n\n\tget diffDistance () {\n\t\tconst distanceOriginal = this.originalRoute?.distance || 0\n\t\tconst distanceOptimal = this.optimalRoute?.distance || 0\n\t\treturn distanceOriginal - distanceOptimal\n\t}\n\n\tget diffDuration () {\n\t\tconst durationOriginal = this.originalRoute?.duration || 0\n\t\tconst durationOptimal = this.optimalRoute?.duration || 0\n\t\treturn durationOriginal - durationOptimal\n\t}\n\n\tget diffCost () {\n\t\tconst costOriginal = getTotalCost(this.originalRoute?.cost)\n\t\tconst costOptimal = getTotalCost(this.optimalRoute?.cost)\n\t\treturn costOriginal - costOptimal\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, Route, RESPONSE_KEY),\n\n\tupdate: thunk(async (actions, route, { getState }) => {\n\t\tlet item = route\n\t\tif (item.id != null) {\n\t\t\tawait api.patch(`${ENDPOINT}/${item.id}`, {\n\t\t\t\t[RESPONSE_KEY]: {\n\t\t\t\t\tname: route.name,\n\t\t\t\t\twaypoints: route.waypoints,\n\t\t\t\t\toptimalRoute: route.optimalRoute\n\t\t\t\t},\n\t\t\t})\n\t\t} else {\n\t\t\tconst response = await api.post(ENDPOINT, {\n\t\t\t\t[RESPONSE_KEY]: route,\n\t\t\t})\n\t\t\titem = response[RESPONSE_KEY]\n\t\t}\n\n\t\tif (!item) return\n\t\tconst state = getState()\n\t\tconst oldItemIdx = state.items.mapBy('id').indexOf(item.id)\n\t\tif (oldItemIdx !== -1) {\n\t\t\troute = state.items[oldItemIdx]\n\t\t}\n\t\tactions.updateItem({\n\t\t\tnewItem: item,\n\t\t\toldItem: route,\n\t\t})\n\t}),\n\n\tremove: thunk(async (actions, item) => {\n\t\tif (item.id != null) {\n\t\t\tawait api.delete(`${ENDPOINT}/${item.id}`)\n\t\t}\n\n\t\tactions.removeItem(item)\n\t}),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\nimport onThunkAction from '../helpers/handleErrorAndLoading'\nimport { thunk } from 'easy-peasy'\nimport api from '../../services/api'\n\nconst ENDPOINT = 'tms/order-properties'\nconst RESPONSE_KEY = 'orderProperty'\n\nclass OrderProperties {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, OrderProperties, RESPONSE_KEY),\n\n\treload: thunk(async (actions, type) => {\n\t\tconst query = {\n\t\t\t'$where[order_type]': type,\n\t\t}\n\n\t\tconst response = await api.get(ENDPOINT, query)\n\n\t\tactions.setItems(RESPONSE_KEY != null ? response[RESPONSE_KEY] : response)\n\t}),\n\n\treloadAll: thunk(async (actions, type) => {\n\t\tconst response = await api.get(ENDPOINT)\n\n\t\tactions.setItems(RESPONSE_KEY != null ? response[RESPONSE_KEY] : response)\n\t}),\n\n\t...onThunkAction(['reload', 'add', 'update', 'remove', 'reloadAll']),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nconst ENDPOINT = 'tms/orders/status'\nconst RESPONSE_KEY = 'orderStatus'\n\nclass OrderStatus {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, OrderStatus, RESPONSE_KEY),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\nimport { thunk } from 'easy-peasy'\nimport api from '../../services/api'\n\nconst ENDPOINT = 'tms/orders/freight'\nconst RESPONSE_KEY = 'freightOrder'\n\nclass OrdersTmsFreight {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, OrdersTmsFreight, RESPONSE_KEY),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\nimport onThunkAction from '../helpers/handleErrorAndLoading'\nimport { thunk } from 'easy-peasy'\nimport api from '../../services/api'\n\nconst ENDPOINT = 'tms/orders/transport'\nconst RESPONSE_KEY = 'transportOrder'\n\nclass OrdersTmsTransport {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, OrdersTmsTransport, RESPONSE_KEY),\n\n\treloadCombinedTransportsWithPeriod: thunk(async (actions, params) => {\n\t\tconst sourceQuery = params?.source ? `&$where[source]=${params?.source}` : ''\n\t\tconst assignedToQuery = params?.assignedTo ? `&$where[assigned_to]=${params?.assignedTo}` : ''\n\t\tconst response = await api.get(`${ENDPOINT}/combined?start=${params?.start}&end=${params?.end}${sourceQuery}${assignedToQuery}`)\n\t\tactions.setItems(RESPONSE_KEY != null ? response[RESPONSE_KEY] : response)\n\t\treturn response\n\t}),\n\n\t...onThunkAction(['reload', 'add', 'update', 'remove', 'reloadCombinedTransportsWithPeriod']),\n}\n\nexport default model\n","import { action, thunk } from 'easy-peasy'\nimport { assign } from 'lodash'\n\nimport listModel from '../helpers/list-v2'\nimport p from '../helpers/p'\nimport api from 'tracknamic-smb/react/services/api'\nimport { getItemLS, setItemLS } from 'tracknamic-smb/react/utils/ls'\n\nconst ENDPOINT = 'partners'\nconst RESPONSE_KEY = 'partner'\n\nclass Model {\n\tconstructor (data) {\n\t\tassign(this, data)\n\t}\n}\n\nconst model = {\n\t...listModel(ENDPOINT, Model, RESPONSE_KEY),\n\t...p('searchTxt', null),\n\n\tcolumnsState: [],\n\tsetColumnsState: action((state, val) => {\n\t\tstate.columnsState = val\n\t\tsetItemLS('et.columnsState', val)\n\t}),\n\n\tinit: thunk(async actions => {\n\t\tactions.reload()\n\t\tactions.setColumnsState(getItemLS('et.columnsState') || [])\n\t})\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass PlannedRoute {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('routes/planned', PlannedRoute, 'plannedRoute'),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass PlannedTmsRoute {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('tms/routes/planned', PlannedTmsRoute, 'plannedRoute'),\n}\n\nexport default model\n","import { thunk } from 'easy-peasy'\nimport { v4 } from 'ember-uuid'\nimport { get, set, map } from 'lodash'\nimport toast from 'react-hot-toast'\n\nimport API from 'tracknamic-smb/react/services/api'\nimport { parsePTVLocation } from 'tracknamic-smb/react/utils/locations'\nimport { defaultPtvProfile } from 'tracknamic-smb/react/utils/fastQuote'\nimport { getItemLS } from 'tracknamic-smb/react/utils/ls'\n\n// const KEY_PTV_DEVELOPER = 'RVVfMGY2ZjNlMmY2MWQ1NDk3Zjk1Y2RhYWZiZTQ0MGY3ZmE6MDk0ZDU2ODYtODc5ZC00ZjRjLWExYTktOGJkYjUyM2Q4Y2Qy'\nconst ENDPOINT_PTV = 'geo/ptv/route'\nconst ENDPOINT_PTV_LOCATE = 'geo/ptv/locate'\n// const ENDPOINT_CORRIDOR_FUELING_STATIONS = 'routes/fueling-stations'\n// const ENDPOINT_CORRIDOR_FUELING_STATIONS = 'locations/inside-polygon'\n// const ENDPOINT_NOTIFICATIONS_EMAIL = 'notifications/email'\n\nconst model = {\n\tgetPTVRoute: thunk(async (actions, params, { getStoreState }) => {\n\t\tconst { waypoints, latlngPath, resultFields, doNotShowMessage = true, distanceOnly, ptvProfile: customProfile, nodes } = params\n\n\t\tif (!waypoints?.length) return\n\n\t\tconst userPtvProfile = getItemLS('ptvProfile') || defaultPtvProfile\n\t\tconst ptvProfile = customProfile || userPtvProfile || null\n\n\t\tconst overwriteResultFields = distanceOnly ? ({\n\t\t\temissions: false,\n\t\t\treport: false,\n\t\t\ttourReport: false,\n\t\t\tlegs: {\n\t\t\t\tenabled: false,\n\t\t\t\ttollSummary: false,\n\t\t\t\temissions: false,\n\t\t\t},\n\t\t\ttoll: {\n\t\t\t\tenabled: false,\n\t\t\t\tsections: false,\n\t\t\t\tsystems: false,\n\t\t\t},\n\t\t\tmonetaryCostsReport: false,\n\t\t\tpolyline: false,\n\t\t}) : resultFields\n\n\t\tconst item = {\n\t\t\t...ptvProfile,\n\t\t\trequestProfile: {\n\t\t\t\t...get(ptvProfile, 'requestProfile', {}),\n\t\t\t\tmapLanguage: 'en',\n\t\t\t\troutingProfile: {\n\t\t\t\t\tcourse: {\n\t\t\t\t\t\ttoll: {\n\t\t\t\t\t\t\ttollPenalty: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tviolations: {\n\t\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trouteOptions: {\n\t\t\t\ttimeConsideration: {\n\t\t\t\t\t$type: 'TollOnlyTimeConsideration',\n\t\t\t\t},\n\t\t\t\t// tourRestrictions: {\n\t\t\t\t// configurableWorkingHours: {\n\t\t\t\t// // maximumDrivingTime: ,\n\t\t\t\t// // maximumTravelTime: ,\n\t\t\t\t// breakRule: {\n\t\t\t\t// breakTime: 15 * 60, // s\n\t\t\t\t// maximumDrivingTimeBetweenBreaks: (4 * 60 + 30) * 60, // s - 4h 30m\n\t\t\t\t// },\n\t\t\t\t// dailyRestRule: {\n\t\t\t\t// dailyRestTime: 11 * 60 * 60, // 11h in s\n\t\t\t\t// maximumDrivingTimeBetweenDailyRests: 9 * 60 * 60, // 9h in s\n\t\t\t\t// maximumTravelTimeBetweenDailyRests: 13 * 60 * 60, // 13h in s\n\t\t\t\t// },\n\t\t\t\t// }\n\t\t\t\t// },\n\t\t\t\tcurrency: 'EUR',\n\t\t\t\teffectiveFuelConsumption: {\n\t\t\t\t\tactualFuelConsumptionForThisRoute: 26, // TODO verify fuel consumption precision from ptv. values\n\t\t\t\t},\n\t\t\t\ttollOptions: {\n\t\t\t\t\tuseDetailedToll: true,\n\t\t\t\t\treturnZeroCosts: true,\n\t\t\t\t},\n\t\t\t\temissionOptions: {\n\t\t\t\t\tvalueScenarios: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$type: 'EmissionValueScenario_HBEFA_3_2',\n\t\t\t\t\t\t\tscenarios: ['CURRENT_ROUTE'],\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\tresultFields: overwriteResultFields || {\n\t\t\t\temissions: false,\n\t\t\t\treport: true,\n\t\t\t\ttourReport: true,\n\t\t\t\teventTypes: ['COUNTRY_EVENT', 'MANEUVER_EVENT', 'TOLL_EVENT', 'ROUTE_VIOLATION_EVENT', 'TOUR_EVENT', 'COMBINED_TRANSPORT_EVENT'],\n\t\t\t\tlegs: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\ttollSummary: true,\n\t\t\t\t\temissions: true,\n\t\t\t\t\t// polyline: true,\n\t\t\t\t},\n\t\t\t\ttoll: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\tsections: true,\n\t\t\t\t\tsystems: true,\n\t\t\t\t},\n\t\t\t\tmonetaryCostsReport: true,\n\t\t\t\tpolyline: true,\n\t\t\t},\n\t\t\twaypoints: map(waypoints, i => ({\n\t\t\t\t$type: 'OnRoadWaypoint',\n\t\t\t\tlocation: {\n\t\t\t\t\tcoordinate: {\n\t\t\t\t\t\tx: get(i, latlngPath, i)?.lng,\n\t\t\t\t\t\ty: get(i, latlngPath, i)?.lat,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})).filter(i => {\n\t\t\t\tconst x = i?.location?.coordinate?.x\n\t\t\t\tconst y = i?.location?.coordinate?.y\n\t\t\t\treturn (x || x === 0) && (y || y === 0)\n\t\t\t}),\n\t\t}\n\n\t\tif (distanceOnly) {\n\t\t\tset(item, 'routeOptions.timeConsideration', undefined)\n\t\t}\n\t\tif (nodes) set(item, 'resultFields.nodes', true)\n\n\t\tconst id = v4()\n\t\tif (!doNotShowMessage) {\n\t\t\ttoast.loading('Loading...', { id })\n\t\t}\n\t\ttry {\n\t\t\tconst response = await API.post(ENDPOINT_PTV, item)\n\t\t\tif (!doNotShowMessage) {\n\t\t\t\ttoast.success('Loaded', { id })\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\ttoast.error('Operation Failed', { id })\n\t\t\treturn null\n\t\t}\n\t}),\n\n\tgetPTVLocations: thunk(async (actions, data) => {\n\t\tconst { country, text } = data || {}\n\t\tif (!country && !text) return\n\n\t\tconst params = {\n\t\t\t$type: 'SearchByTextRequest',\n\t\t\tsearchOptions: {\n\t\t\t\toutputCountryType: 'ISO_3166_1_ALPHA_2',\n\t\t\t},\n\t\t\trequestProfile: {\n\t\t\t\tmapLanguage: 'en',\n\t\t\t},\n\t\t\ttext: text,\n\t\t}\n\t\tif (country) {\n\t\t\tparams.searchOptions.allowedCountries = [country]\n\t\t}\n\t\tconst response = await API.post(ENDPOINT_PTV_LOCATE, params)\n\t\treturn response?.results?.map(parsePTVLocation) || []\n\t}),\n\n\t// reverse geocoding\n\tgetPTVLocation: thunk(async (actions, latlng) => {\n\t\tif (!latlng?.lat && !latlng?.lng) return\n\t\tconst coordinate = {\n\t\t\tx: latlng.lng,\n\t\t\ty: latlng.lat,\n\t\t}\n\n\t\tconst params = {\n\t\t\t$type: 'SearchByPositionRequest',\n\t\t\tsearchOptions: {\n\t\t\t\toutputCountryType: 'ISO_3166_1_ALPHA_2',\n\t\t\t},\n\t\t\trequestProfile: {\n\t\t\t\tmapLanguage: 'en',\n\t\t\t},\n\t\t\tcoordinate,\n\t\t}\n\t\tconst response = await API.post(ENDPOINT_PTV_LOCATE, params)\n\t\treturn parsePTVLocation(response?.results?.[0])\n\t}),\n}\n\nexport default model\n","import { action, thunk, computed } from 'easy-peasy'\nimport api from '../../services/api'\nimport { get, isEmpty, indexOf, chain, set } from 'lodash'\nimport prop from '../helpers/prop'\nimport onThunkAction from '../helpers/handleErrorAndLoading'\n\nconst model = {\n\tuser: null, // this is not a model user. only a response from an endpoint\n\ttoken: null,\n\ttokenID: null,\n\n\tlocale: computed(state => get(state, 'user.details.locale')),\n\ttimezone: computed(state => get(state, 'user.details.timezone') || 'Europe/Bucharest'),\n\tmodules: computed(state => get(state, 'user.acl.modules') || []),\n\tpages: computed(state => get(state, 'user.acl.pages') || []),\n\tcompanyID: computed(state => get(state, 'user.companyID')),\n\tcompanySettings: computed(\n\t\t[\n\t\t\tstate => get(state, 'user.companyID'),\n\t\t\t(_state, storeState) => storeState.groups.items,\n\t\t],\n\t\t(companyID, groups) => chain(groups).find(['raw.id', companyID]).get('raw.settings').value(),\n\t),\n\n\thasMapRoutesAccess: computed(state => {\n\t\tconst hasModule = indexOf(state.modules, 'map-routes') !== -1\n\t\tconst hasPage = indexOf(state.pages, 'map.routes') !== -1 || indexOf(state.pages, 'map') !== -1\n\t\treturn hasModule && hasPage\n\t}),\n\n\thasMapEtaAccess: computed(state => {\n\t\tconst hasModule = indexOf(state.modules, 'map-eta') !== -1\n\t\tconst hasPage = indexOf(state.pages, 'map.route-eta') !== -1 || indexOf(state.pages, 'map') !== -1\n\t\treturn hasModule && hasPage\n\t}),\n\n\thasMapEtaPTVAccess: computed(state => {\n\t\tconst hasModule = indexOf(state.modules, 'eta-ptv') !== -1\n\t\tconst hasPage = indexOf(state.pages, 'map.route-eta') !== -1 || indexOf(state.pages, 'map') !== -1\n\t\treturn hasModule && hasPage\n\t}),\n\n\thasChatAccess: computed(state => {\n\t\tif (!state.user) return false\n\t\tconst hasModule = indexOf(state.modules, 'chat') !== -1\n\t\tconst hasRequiredUserType = state.user?.type === 'admin' || state.user?.type === 'manager'\n\t\treturn hasModule && hasRequiredUserType\n\t}),\n\n\thasTachoModule: computed(state => {\n\t\treturn indexOf(state.modules, 'tachograph') !== -1\n\t}),\n\n\thasFreezerModule: computed(state => {\n\t\treturn indexOf(state.modules, 'freezer') !== -1\n\t}),\n\n\thasSensorDoorModule: computed(state => {\n\t\treturn indexOf(state.modules, 'sensor-door') !== -1\n\t}),\n\n\thasTaxiModule: computed(state => {\n\t\treturn indexOf(state.modules, 'taxi') !== -1\n\t}),\n\n\thasChatModule: computed(state => {\n\t\treturn indexOf(state.modules, 'chat') !== -1\n\t}),\n\n\t...prop('mapMarkerSize', 'user.settings.map.markerSize', 'small'),\n\t...prop('mapMarkerText', 'user.settings.map.markerText', 'license-plate'),\n\t...prop('mapMarkerBigTopText', 'user.settings.map.markerBigTopText', 'speed'),\n\t...prop('mapMarkerBigBottomText', 'freezerStatus', 'freezerStatus'),\n\t...prop('mapHistoryInterval', 'user.settings.map.historyInterval', 3),\n\t...prop('mapGeofenceShapeVisibility', 'user.settings.map.geofenceShapeVisibility', 'zoom-12'),\n\n\t...prop('mapShowTraffic', 'user.settings.map.showTraffic', true),\n\t...prop('mapShowTerrain', 'user.settings.map.showTerrain', false),\n\t...prop('mapShowLabels', 'user.settings.map.showLabels', true),\n\t...prop('mapType', 'user.settings.map.type', 'roadmap'),\n\n\t...prop('userType', 'user.type', ''),\n\t...prop('mapStatusFilters', 'user.settings.map.statesFilter', []),\n\t...prop('mapVehiclesTypeFilter', 'user.settings.map.vehiclesFilter', []),\n\t...prop('mapGroupsFilter', 'user.settings.map.groupsFilter', []),\n\t...prop('mapDispatchersFilter', 'user.settings.map.dispatchersFilter', []),\n\n\t...prop('tmsTransportOrder', 'user.settings.tms.transportOrders.columnOrder', null),\n\n\tsetUser: action((state, user) => { state.user = user }),\n\tsetToken: action((state, token) => { state.token = token }),\n\tsetTokenID: action((state, tokenID) => { state.tokenID = tokenID }),\n\n\treload: thunk(async (actions) => {\n\t\tconst response = await api.get('users/me')\n\n\t\tactions.setUser(get(response, 'user'))\n\t}),\n\tsave: thunk(async (actions, payload, { getState }) => {\n\t\tconst user = getState().user\n\t\tconst id = get(user, 'id')\n\t\tif (isEmpty(id)) { throw new Error('No user available') }\n\n\t\tawait api.put(`users/${id}`, { user })\n\t\tactions.reload()\n\t}),\n\tupdateFilter: thunk(async (actions, { path, value }, { getState }) => {\n\t\tconst user = getState().user\n\t\tconst id = get(user, 'id')\n\t\tif (isEmpty(id)) { throw new Error('No user available') }\n\t\tset(user, path, value)\n\n\t\tawait api.put(`users/${id}`, { user })\n\n\t\tactions.reload()\n\t}),\n\n\t...onThunkAction(['reload', 'add', 'update', 'remove', 'updateFilter', 'save']),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass SharedIntegration {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('sharedIntegrations', SharedIntegration, 'sharedIntegration')\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nconst ENDPOINT = 'temporaryAlerts'\nconst RESPONSE_KEY = 'temporaryAlert'\n\nclass TemporaryAlert {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel(ENDPOINT, TemporaryAlert, RESPONSE_KEY),\n}\n\nexport default model\n","import { thunk } from 'easy-peasy'\nimport { assign, get, map } from 'lodash'\n\nimport listModel from '../helpers/list-v2'\nimport p from '../helpers/p'\nimport api from 'tracknamic-smb/react/services/api'\nimport { getVehicleStatus } from 'tracknamic-smb/react/utils/mapVehiclePopup'\n\nconst ENDPOINT = 'temporaryLink'\nconst RESPONSE_KEY = 'temporaryLink'\n\nclass Model {\n\tconstructor (data) {\n\t\tassign(this, data)\n\t}\n}\n\nconst model = {\n\t...listModel(ENDPOINT, Model, RESPONSE_KEY),\n\t...p('loading', false),\n\t...p('vehicles', []),\n\t...p('isExpired', false),\n\n\tinit: thunk(async (actions, _, { getStoreActions }) => {\n\t\ttry {\n\t\t\tactions.setLoading(true)\n\t\t\tawait getStoreActions().vehicles?.reload()\n\t\t\tawait actions.reload()\n\t\t\tactions.setLoading(false)\n\t\t} catch (error) {\n\t\t\tactions.setLoading(false)\n\t\t}\n\t}),\n\n\tgetVehicles: thunk(async (actions, id) => {\n\t\ttry {\n\t\t\tactions.setIsExpired(false)\n\t\t\tconst response = await api.get('vehicles/shared/' + id)\n\t\t\tconst vehicles = map(response?.vehicle, i => ({\n\t\t\t\t...i,\n\t\t\t\tlat: get(i, 'status.location.1'),\n\t\t\t\tlng: get(i, 'status.location.0'),\n\t\t\t\tstate: getVehicleStatus(i),\n\t\t\t}))\n\t\t\tactions.setVehicles(vehicles)\n\t\t\treturn vehicles\n\t\t} catch (e) {\n\t\t\tif (e?.code === 410) actions.setIsExpired(true)\n\t\t\tconsole.error(e) // eslint-disable-line no-console\n\t\t}\n\t}),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass TransportOrder {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('orders/transport', TransportOrder, 'transportOrder'),\n}\n\nexport default model\n","import { action, thunk } from 'easy-peasy'\nimport { assign, find, reduce } from 'lodash'\n\nimport listModel from '../helpers/list-v2'\nimport p from '../helpers/p'\nimport { getItemLS, setItemLS } from 'tracknamic-smb/react/utils/ls'\nimport { getModifVeh } from 'tracknamic-smb/react/utils/eTransport'\nimport api from 'tracknamic-smb/react/services/api'\n\nconst ENDPOINT = 'uits'\nconst RESPONSE_KEY = 'uit'\n\nconst parser = i => {\n\tconst goodsTotal = reduce(i.goods, (ac, v) => ({\n\t\tlength: (ac?.length || 0) + 1,\n\t\tnetWeight: (ac?.netWeight || 0) + (v?.netWeight || 0),\n\t\tgrossWeight: (ac?.grossWeight || 0) + (v?.grossWeight || 0),\n\t\tvalueRonWithoutTVA: (ac?.valueRonWithoutTVA || 0) + (v?.valueRonWithoutTVA || 0),\n\t}), { length: 0, netWeight: 0, grossWeight: 0, valueRonWithoutTVA: 0 })\n\n\tconst now = moment()?.valueOf()\n\tconst activatedAt = i?.activatedAt ? moment(i?.activatedAt).valueOf() : null\n\tconst disabledAt = i?.disabledAt ? moment(i?.disabledAt).valueOf() : null\n\n\tlet status = 'new'\n\tif (activatedAt && (activatedAt < now)) status = 'activated'\n\tif (disabledAt && (disabledAt < now)) status = 'disabled'\n\tif (activatedAt && disabledAt && (disabledAt < activatedAt) && (activatedAt < now)) status = 'activated'\n\n\tlet statusColor\n\tswitch (status) {\n\t\tcase 'new': statusColor = 'blue'; break\n\t\tcase 'activated': statusColor = 'green'; break\n\t\tcase 'disabled': statusColor = 'red'; break\n\t}\n\n\treturn {\n\t\t...i,\n\t\tactivated: status === 'activated',\n\t\tstatus,\n\t\tstatusColor,\n\t\tgoodsTotal,\n\t\tlastModifications: getModifVeh(i?.modifVeh),\n\t\tscheduledModifications: getModifVeh(i?.changeResources, 'common:uit.scheduledChanges'),\n\t}\n}\n\nclass Model {\n\tconstructor (data) {\n\t\tassign(this, data)\n\t}\n}\n\nconst model = {\n\t...listModel(ENDPOINT, Model, RESPONSE_KEY, parser),\n\t...p('searchTxt', null),\n\t...p('showDisabled', false),\n\t...p('integrationTokenExpiration', null),\n\n\tcolumnsState: [],\n\tsetColumnsState: action((state, val) => {\n\t\tstate.columnsState = val\n\t\tsetItemLS('et.columnsState', val)\n\t}),\n\n\tdays: 1,\n\tsetDays: action((state, val) => {\n\t\tstate.days = val\n\t\tsetItemLS('et.days', val)\n\t}),\n\n\tinit: thunk(async (actions, _, { getState, getStoreActions }) => {\n\t\tconst showDisabled = getState().showDisabled\n\t\tconst query = `?filterDisabled=${showDisabled}`\n\t\tactions.reload(query)\n\t\tactions.setColumnsState(getItemLS('et.columnsState') || [])\n\t\tactions.setDays(getItemLS('et.days') || 1)\n\t\tconst integrations = await getStoreActions().integrations?.reload()\n\t\tconst integrationETransport = find(integrations, i => i?.template === 'e-transport')\n\t\tconst expirationDate = find(integrationETransport?.options, i => i.name === 'expires_in')?.value\n\t\tif (expirationDate) actions.setIntegrationTokenExpiration(Number(expirationDate))\n\t}),\n\n\tsync: thunk(async (actions, _, { getState }) => {\n\t\tconst nowDate = new Date().toISOString() // ISO string\n\t\tconst lastSyncDate = moment(getItemLS('et.lastSyncDate'))\n\t\tconst minutes = moment.duration(moment().diff(lastSyncDate)).as('minutes')\n\t\tif (!isNaN(minutes) && minutes < 5) return\n\n\t\tsetItemLS('et.lastSyncDate', nowDate) // ISO string is readable + consistent\n\t\tawait api.post(`${ENDPOINT}/sync`, { uit: { days: getState().days || 1 } })\n\t\tactions.reload()\n\t}),\n\n\tchangeResources: thunk(async (actions, item) => {\n\t\tconst id = item?.id\n\t\tconst updated = await api.post(`${ENDPOINT}/changeResources/${id}`, { uit: item })\n\t\treturn updated\n\t}),\n\n\tgetVehicleUits: thunk(async (actions, vID) => {\n\t\tconst query = `/vehicle/${vID}`\n\t\treturn actions.reload(query)\n\t}),\n}\n\nexport default model\n","import api from '../../services/api'\nimport { thunk, action } from 'easy-peasy'\nimport { get, forEach } from 'lodash'\n\nconst model = {\n\tsetData: action((state, data) => { state.data = data }),\n\tsetLoading: action((state, value) => { state.loading = value }),\n\n\treload: thunk(async (actions, params = {}) => {\n\t\tconst arrayOfParams = []\n\t\tforEach(Object.keys(params), key => {\n\t\t\tarrayOfParams.push(`${key}=${params[key]}`)\n\t\t})\n\t\tactions.setLoading(true)\n\t\tconst response = await api.get(`dashboard/home/user-tacho-graph${arrayOfParams.length ? `?${arrayOfParams.join('&')}` : ''}`)\n\t\tactions.setData(get(response, 'data'))\n\t\tactions.setLoading(false)\n\t}),\n}\n\nexport default model\n","import { get } from 'lodash'\n\nimport ListModel from '../helpers/list'\n\nclass User {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n\n\tget name () {\n\t\tconst text = `${get(this, 'raw.firstName')} ${get(this, 'raw.lastName')}`\n\t\tif ((text.match(/\\0/g) || []).length > 3) {\n\t\t\treturn '-'\n\t\t}\n\t\treturn text\n\t}\n\n\tget chatID () {\n\t\tconst chatID = get(this, 'raw.chatID')\n\t\treturn chatID && !isNaN(chatID) ? Number(chatID) : null\n\t}\n\n\tget isDeleted () {\n\t\treturn !!get(this, 'raw.deletedAt')\n\t}\n}\n\nconst model = {\n\t...ListModel('users', User, 'user'),\n}\n\nexport default model\n","import ListModel from '../helpers/list'\n\nclass VehicleGroup {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n}\n\nconst model = {\n\t...ListModel('tms/vehicle-groups', VehicleGroup, 'vehicleGroup'),\n}\n\nexport default model\n","import api from '../../services/api'\nimport { thunk, action } from 'easy-peasy'\nimport { get, forEach } from 'lodash'\n\nconst model = {\n\tsetData: action((state, data) => { state.data = data }),\n\tsetLoading: action((state, value) => { state.loading = value }),\n\n\treload: thunk(async (actions, params = {}) => {\n\t\tconst arrayOfParams = []\n\t\tforEach(Object.keys(params), key => {\n\t\t\tarrayOfParams.push(`${key}=${params[key]}`)\n\t\t})\n\t\tactions.setLoading(true)\n\t\tconst response = await api.get(`dashboard/home/vehicle-tacho-graph${arrayOfParams.length ? `?${arrayOfParams.join('&')}` : ''}`)\n\t\tactions.setData(get(response, 'data'))\n\t\tactions.setLoading(false)\n\t}),\n}\n\nexport default model\n","import { thunk } from 'easy-peasy'\nimport { get, some, includes, find } from 'lodash'\nimport ListModel from '../helpers/list'\nimport api from '../../services/api'\n\nconst endpoint = 'vehicles'\nconst responseKey = 'vehicle'\n\nclass Vehicle {\n\tconstructor (data) {\n\t\tthis.raw = data\n\t}\n\n\tget lat () {\n\t\treturn get(this, 'raw.status.location.1')\n\t}\n\n\tget axleWeight1 () {\n\t\treturn get(this, 'raw.status.can.axleWeight1')\n\t}\n\n\tget axleWeight2 () {\n\t\treturn get(this, 'raw.status.can.axleWeight2')\n\t}\n\n\tget axleWeight3 () {\n\t\treturn get(this, 'raw.status.can.axleWeight3')\n\t}\n\n\tget axleWeight4 () {\n\t\treturn get(this, 'raw.status.can.axleWeight4')\n\t}\n\n\tget axleWeight5 () {\n\t\treturn get(this, 'raw.status.can.axleWeight5')\n\t}\n\n\tget adblueLevel () {\n\t\treturn get(this, 'raw.status.can.adblueLevel')\n\t}\n\n\tget grossWeight () {\n\t\treturn get(this, 'raw.status.can.grossWeight')\n\t}\n\n\tget engineTemperature () {\n\t\treturn get(this, 'raw.status.can.engineTemperature')\n\t}\n\n\tget acceleration () {\n\t\treturn get(this, 'raw.status.can.acceleration')\n\t}\n\n\tget cruiseControl () {\n\t\treturn get(this, 'raw.status.can.cruiseControl')\n\t}\n\n\tget retarder () {\n\t\treturn get(this, 'raw.status.can.retarder')\n\t}\n\n\tget lng () {\n\t\treturn get(this, 'raw.status.location.0')\n\t}\n\n\tget hasLocation () {\n\t\treturn get(this, 'raw.status.location') != null\n\t}\n\n\tget status () {\n\t\tconst engineState = get(this, 'raw.status.engineState')\n\t\tconst speed = get(this, 'raw.status.speed')\n\t\tconst updatedAt = new Date(get(this, 'raw.status.updatedAt'))\n\t\tconst power = get(this, 'raw.status.sensors.powerExternal')\n\t\tconst manualState = get(this, 'raw.status.state')\n\t\tconst now = new Date()\n\t\t/** Time (in ms) after which a vehicle is considered 'unreachable' */\n\t\tconst tenMinutes = 600000\n\t\tconst nintyMinutes = 5400000\n\t\tconst companyID = get(this, 'raw.companyID')\n\t\tconst threshold = companyID === '000026' ? nintyMinutes : tenMinutes // DUNCA(000026) 600000\n\t\tif (get(this, 'raw.noDevice') || manualState) return 'powerOutage'\n\t\tif ((now - updatedAt) > threshold) {\n\t\t\tif (power != null && power < 7000) { return 'powerOutage' }\n\t\t\treturn 'unreachable'\n\t\t}\n\n\t\tif (!engineState) return 'off'\n\n\t\treturn speed > 0 ? 'moving' : 'stopped'\n\t}\n\n\tget fuelUnit () {\n\t\tif (get(this, 'raw.fuel.type') === 'electric') {\n\t\t\treturn 'kWh'\n\t\t}\n\t\treturn 'L'\n\t}\n\n\tget fuelCapacity () {\n\t\treturn get(this, 'raw.fuel.capacity')\n\t}\n\n\tget adblueCapacity () {\n\t\treturn get(this, 'raw.adblueCapacity')\n\t}\n\n\thasSensor (type) {\n\t\tconst sensors = get(this, 'raw.sensors')\n\t\tif (!sensors || !type) { return false }\n\n\t\treturn some(sensors, (item) => {\n\t\t\treturn includes(get(item, 'type'), type)\n\t\t})\n\t}\n\n\tget openDoors () {\n\t\tif (!this.hasSensor('door')) { return null }\n\t\tconst sensors = get(this, 'raw.status.sensors') || {}\n\t\tconst doors = []\n\n\t\tfor (const sensor in sensors) {\n\t\t\tif (sensor.startsWith('door') && sensors[sensor]) {\n\t\t\t\tdoors.push(sensor)\n\t\t\t}\n\t\t}\n\n\t\treturn doors\n\t}\n\n\tget hasCan () {\n\t\treturn get(this, 'raw.status.can.fuel.used', null) !== null || get(this, 'raw.status.can.fuel.level.1', null) !== null\n\t}\n\n\tget isCng () {\n\t\treturn get(this, 'raw.fuel.type') === 'cng'\n\t}\n\n\tget hasTacho () {\n\t\treturn get(this, 'raw.status.tacho.odometer') > 0 || (get(this, 'raw.status.tacho.driver1') != null && get(this, 'raw.status.tacho.driver1.card') != null && get(this, 'raw.status.tacho.driver1.card').trim().length > 2)\n\t}\n\n\tget taxiState () {\n\t\tif (!this.hasSensor('taxi')) { return false }\n\t\tconst sensors = get(this, 'raw.status.sensors')\n\t\tif (!sensors) { return false }\n\t\tif (get(sensors, 'taxiAvailable') === true && get(sensors, 'taxiOccupied') === false) { // available\n\t\t\treturn 'available'\n\t\t} else if (get(sensors, 'taxiAvailable') === false && get(sensors, 'taxiOccupied') === true) { // occupied\n\t\t\treturn 'occupied'\n\t\t} else if (get(sensors, 'taxiAvailable') === null || get(sensors, 'taxiOccupied') === null) { // no availability\n\t\t\treturn 'not-available'\n\t\t}\n\t\treturn 'off' // off\n\t}\n\n\tget odometer () {\n\t\tconst tacho = (get(this, 'raw.status.tacho.odometer') || 0) / 1000\n\t\tconst can = (get(this, 'raw.status.can.distance') || 0) / 1000\n\t\tconst gps = get(this, 'raw.status.odometer') || 0\n\t\treturn parseInt(tacho || can || gps)\n\t}\n\n\tget workingTime () {\n\t\tconst can = get(this, 'raw.status.can.workTime') || 0\n\t\tconst virtual = get(this, 'raw.status.workTime') || 0\n\t\treturn parseInt(can || virtual)\n\t}\n}\n\nconst model = {\n\t...ListModel(endpoint, Vehicle, responseKey),\n\n\treload: thunk(async (actions, query, { getStoreState }) => {\n\t\tconst vehiclesWithDevices = getStoreState().devices.vehiclesIDs || []\n\t\tconst devices = getStoreState().devices.items || []\n\t\tconst response = await api.get(endpoint, query)\n\t\tconst vehicles = responseKey != null ? response[responseKey] : response\n\t\tif (vehiclesWithDevices.length) {\n\t\t\tactions.setItems(vehicles.map(v => {\n\t\t\t\tv.noDevice = !vehiclesWithDevices.includes(v.id)\n\t\t\t\tv.deviceSN = find(devices, d => d.vehicleID === v.id)?.sn\n\t\t\t\treturn v\n\t\t\t}))\n\t\t} else {\n\t\t\tactions.setItems(vehicles)\n\t\t}\n\t}),\n}\n\nexport default model\n","/**\n * Compare if the elements inside 2 arrays are equals\n * @param {array} a1 array 1\n * @param {array} a2 array 2\n * @returns {boolean}\n */\nexport function arraysAreEquals (a1, a2) {\n\tif (a1?.length !== a2?.length) return false\n\tconst array1Sorted = a1.slice().sort()\n\tconst array2Sorted = a2.slice().sort()\n\treturn array1Sorted.every((value, index) => value === array2Sorted[index])\n}\n\nexport const pair = (array, size = 2) => {\n\tconst pairs = []\n\tfor (let i = 0; i < array.length - 1; i++) {\n\t\tconst arr = []\n\t\tfor (let s = 0; s < size; s++) {\n\t\t\tarr.push(array[i + s])\n\t\t}\n\t\tpairs.push(arr)\n\t}\n\treturn pairs\n}\n","import { filter, map, get, set, isObject } from 'lodash'\n/**\n* GetColumns\n* @param {array} columns Table's columns\n* @param {array} columnsState Array of strings with columns dataIndex\n* @return {array} returns an array of sorted columns\n*/\nexport const getColumns = (columns = [], _columnsState = [], t) => {\n\tconst columnsState = _columnsState?.length ? _columnsState : map(columns, i => i?.key)\n\treturn filter(map(columnsState, key => {\n\t\tconst c = columns.find(c => c?.key === key)\n\t\tif (c?.translationKey) set(c, 'text', t(c?.translationKey))\n\t\tif (!c) return null\n\t\treturn c\n\t}))\n}\n\n/**\n * function to return the display data and popup based on multiple column and data structure:\n * 1 - columns.render\n * 2 - item.[key].display && item.[key].display\n * 3 - item.[key] (if item.[key] is not object)\n * @param {object} item record\n * @param {*} column column\n * @returns the value to display and popup {display, popup}\n */\nexport const getColumnDisplayPopup = (item, column, idx) => {\n\tconst result = { display: null, popup: null }\n\tconst columnValue = get(item, column?.key)\n\n\tif (column?.render) {\n\t\treturn column.render(columnValue, item, idx) // render\n\t} else if (!item || !column?.key) {\n\t\treturn result\n\t} else {\n\t\tconst displayValue = columnValue?.display\n\t\tconst displayPopup = columnValue?.popup\n\t\tif (displayValue || displayPopup) {\n\t\t\tresult.display = displayValue // item.key.display\n\t\t\tresult.popup = displayPopup // item.key.display\n\t\t} else {\n\t\t\tif (isObject(columnValue)) {\n\t\t\t\treturn result\n\t\t\t} else {\n\t\t\t\tresult.display = columnValue // item.key\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!result.popup) {\n\t\tresult.popup = typeof result.display === 'string' ? result.display : null\n\t}\n\treturn result\n}\n","import moment from 'moment'\n\nexport const DURATION_FORMAT_HHMM = 'HH[h] mm[m]'\nexport const DURATION_FORMAT_DDHHMM = 'DD[d] HH[h] mm[m]'\n\nexport function formatDuration (showUnits, val, timeUnit = 'm', durationFormat = DURATION_FORMAT_HHMM) {\n\tconst withFormat = moment.duration(val || 0, timeUnit).format(durationFormat)\n\tconst withoutFormat = moment.duration(val || 0, 'm').asHours().toFixed(2)\n\treturn showUnits ? withFormat : withoutFormat\n}\n\nexport const formatDurationByDuration = (duration) => {\n\tconst days = Math.trunc(moment.duration(duration).asDays())\n\tconst hours = Math.trunc(moment.duration(duration).asHours())\n\tconst minutes = Math.trunc(moment.duration(duration).asMinutes())\n\n\tif (days > 0) {\n\t\treturn days + 'z ' + (hours - (24 * days)) + 'h ' + moment.utc(duration).format('mm[m] ss[s]')\n\t} else if (hours > 0) {\n\t\treturn moment.utc(duration).format('H[h] mm[m] ss[s]')\n\t} else if (minutes > 0) {\n\t\treturn moment.utc(duration).format('mm[m] ss[s]')\n\t} else {\n\t\treturn moment.utc(duration).format('ss[s]')\n\t}\n}\n\nexport const formatDurationInHours = (duration) => {\n\tconst days = Math.trunc(moment.duration(duration).asDays())\n\tconst hours = Math.trunc(moment.duration(duration).asHours())\n\tconst minutes = Math.trunc(moment.duration(duration).asMinutes())\n\n\tif (days > 0) {\n\t\treturn (days * 24 + (hours - (24 * days))) + 'h ' + moment.utc(duration).format('mm[m]')\n\t} else if (hours > 0) {\n\t\treturn moment.utc(duration).format('H[h] mm[m]')\n\t} else if (minutes > 0) {\n\t\treturn moment.utc(duration).format('mm[m]')\n\t} else {\n\t\treturn moment.utc(duration).format('ss[s]')\n\t}\n}\n\n/**\n * Returns humanized formatted date bassed on difference from now until that date\n * @param {number} ts unix timestamp\n * @returns - | hour | yesterday | day of week | month | year\n * if not timestamp: -\n * if is today: hour[HH:mm]\n * if is yesterday: yesterday\n * if is last week: day of week[dddd]\n * if is last year: month[D MMM]\n * if bigger than last year: year[YYYY]\n */\nexport const formatTimeHumanized = ts => {\n\tif (!ts) return '-'\n\n\tconst now = moment()\n\tconst startOfDay = moment(ts).startOf('day').valueOf()\n\n\tif (startOfDay >= now.startOf('day').valueOf()) { // if is today - show hour\n\t\treturn moment(ts).format('HH:mm')\n\t}\n\n\tif (startOfDay >= now.subtract(1, 'days').startOf('day').valueOf()) { // if is yesterday - show yesterday\n\t\tconst dayString = moment(startOfDay).calendar()\n\t\treturn dayString.substr(0, dayString.indexOf(' '))\n\t}\n\n\tif (startOfDay >= now.subtract(5, 'days').startOf('day').valueOf()) { // if is last week - show day of week\n\t\treturn moment(ts).format('dddd')\n\t}\n\n\tif (startOfDay >= now.subtract(1, 'year').startOf('day').valueOf()) { // if is last year - show month\n\t\tconst monthString = moment(ts).format('D MMM')\n\t\tconst hasDot = monthString.indexOf('.') !== -1\n\t\treturn hasDot ? monthString.substr(0, monthString.indexOf('.')) : monthString\n\t}\n\n\tif (startOfDay <= now.subtract(1, 'year').startOf('day').valueOf()) { // if bigger than last year - show year\n\t\treturn moment(ts).format('YYYY')\n\t}\n}\n","export const stopPropagation = e => {\n\te.preventDefault()\n\te.stopPropagation()\n}\n","import React from 'react'\nimport { filter, find, get, last, map } from 'lodash'\n\nimport i18n from 'tracknamic-smb/react/services/i18n'\n\n// sl = start location, el = end location\nexport const OPTIONS_OPERATIONS_TYPE = [\n\t{ value: '10', short: 'AIC', label: 'AIC - Ach. intracomunitară', sl: ['PTF', 'ADR'], el: ['PTF', 'ADR'], purposesIDs: ['101', '201', '301', '401', '501', '601', '703', '801', '802', '901', '1001', '1101', '9901'] },\n\t{ value: '12', short: 'LHI', label: 'LHI - Lohn (UE) - intrare', sl: ['PTF', 'ADR'], el: ['ADR'], purposesIDs: ['9999'] },\n\t{ value: '14', short: 'SCI', label: 'SCI - Stoc client - intrare', sl: ['PTF', 'ADR'], el: ['ADR'], purposesIDs: ['9999'] },\n\t{ value: '20', short: 'LIC', label: 'LIC - Livr. intracomunitară', sl: ['ADR'], el: ['PTF', 'ADR'], purposesIDs: ['101', '301', '703', '801', '802', '9901'] },\n\t{ value: '22', short: 'LHE', label: 'LHE - Lohn (UE) - ieșire', sl: ['ADR'], el: ['PTF', 'ADR'], purposesIDs: ['9999'] },\n\t{ value: '24', short: 'SCE', label: 'SCE - Stoc client - ieșire', sl: ['ADR'], el: ['PTF', 'ADR'], purposesIDs: ['9999'] },\n\t{ value: '30', short: 'TTN', label: 'TTN - Transp. pe teritoriul național', sl: ['ADR'], el: ['ADR'], purposesIDs: ['101', '704', '705', '9901'] },\n\t{ value: '40', short: 'IMP', label: 'IMP - Import', sl: ['PTF', 'ADR', 'BV'], el: ['ADR'], purposesIDs: ['9999'] },\n\t{ value: '50', short: 'EXP', label: 'EXP - Export', sl: ['ADR'], el: ['PTF', 'ADR', 'BV'], purposesIDs: ['9999'] },\n\t{ value: '60', short: 'DIN', label: 'DIN - Intrare pentru depozitare', sl: ['PTF', 'ADR'], el: ['ADR'], purposesIDs: ['9999'] },\n\t{ value: '70', short: 'DIE', label: 'DIE - Ieșire după depozitare', sl: ['ADR'], el: ['PTF', 'ADR'], purposesIDs: ['9999'] },\n]\n\nexport const getRowStatus = r => {\n\tlet color = ''\n\tswitch (true) {\n\tcase r?.activated:\n\t\tcolor = 'green'\n\t\tbreak\n\tcase !r?.activatedAt && !r?.disabledAt: // new\n\t\tcolor = 'blue'\n\t\tbreak\n\tcase !r?.activated && r?.disabledAt: // deactivated\n\t\tcolor = 'gray'\n\t\tbreak\n\t}\n\t// case 'outdated':\n\t// color = 'yellow'\n\t// break\n\t// }\n\n\tif (color) return `hasState ${color}`\n\treturn 'hasState'\n}\nexport const getCCByOpCode = (opCode, p) => {\n\tconst isPartner = p === 'commercialPartner.countryCode'\n\tconst onlyEu = ['10', '12', '14', '20', '22', '24', '60', '70'].includes(opCode) && isPartner\n\tconst onlyNonEu = ['40', '50'].includes(opCode) && isPartner\n\tconst euCountries = ['AT', 'BE', 'BG', 'CZ', 'CY', 'DE', 'DK', 'EE', 'EL', 'ES', 'FI', 'HR', 'HU', 'IE', 'IT', 'FR', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SI', 'SE', 'SK', 'XI']\n\tif (onlyNonEu) {\n\t\treturn filter(CCs, i => !euCountries?.includes(i?.value))\n\t} if (onlyEu) {\n\t\treturn filter(CCs, i => euCountries?.includes(i?.value))\n\t} else {\n\t\treturn CCs\n\t}\n}\n\n// get start end location type options based on selected operation type code\nexport const getSELTypeOptions = (opCode, prop) => {\n\tif (!opCode) return OPTIONS_LOCATION_TYPE\n\tconst option = find(OPTIONS_OPERATIONS_TYPE, i => i.value === (opCode + ''))\n\tconst keys = get(option, prop)\n\treturn filter(OPTIONS_LOCATION_TYPE, i => keys?.includes(i?.value))\n}\n\nexport const getOptionsOperationPurpose = operationCode => {\n\tif (!operationCode) return []\n\tconst purposesIDs = find(OPTIONS_OPERATIONS_TYPE, i => i.value === (operationCode + ''))?.purposesIDs\n\treturn OPTIONS_GOODS_PURPOSE.filter(i => purposesIDs?.includes(i.value))\n}\n\nexport const OPTIONS_STARE = [\n\t{ value: 'OK', label: 'OK' },\n\t{ value: 'ERR', label: 'ERR' },\n]\n\nexport const OPTIONS_LOCATION_TYPE = [\n\t{ value: 'PTF', label: 'PTF (Punct Trecere Frontiera)' },\n\t{ value: 'ADR', label: 'ADR (Adresa pe Teritoriul National)' },\n\t{ value: 'BV', label: 'BV (Birou Vamal)' },\n]\n\nexport const OPTIONS_UM = [\n\t{ value: 'XOJ', label: '1/4 Euro paleți' },\n\t{ value: 'XAE', label: 'Aerosoli' },\n\t{ value: 'X6H', label: 'Ambalaje compozite, recipient din plastic' },\n\t{ value: 'X6P', label: 'Ambalaje compozite, recipient din sticlă' },\n\t{ value: 'XVP', label: 'Ambalaje vidate' },\n\t{ value: 'AB', label: 'Ambalaje vrac' },\n\t{ value: 'NAR', label: 'Articole' },\n\t{ value: 'XAT', label: 'Atomizoare' },\n\t{ value: 'XSD', label: 'Ax' },\n\t{ value: 'XLE', label: 'Bagaje' },\n\t{ value: 'XFL', label: 'Baloane' },\n\t{ value: 'XBF', label: 'Baloane, neprotejat' },\n\t{ value: 'XBP', label: 'Baloane, protejat' },\n\t{ value: 'XBL', label: 'Baloți, comprimați' },\n\t{ value: 'XBN', label: 'Baloți, necomprimați' },\n\t{ value: 'XBZ', label: 'Bare, în pachet/bucată/truss' },\n\t{ value: 'XBA', label: 'Barili' },\n\t{ value: 'XAL', label: 'Bile' },\n\t{ value: 'XOK', label: 'Blocuri' },\n\t{ value: 'XBD', label: 'Board' },\n\t{ value: 'XSO', label: 'Bobine' },\n\t{ value: 'XCL', label: 'Bobine' },\n\t{ value: 'XBB', label: 'Bobine' },\n\t{ value: 'XJR', label: 'Borcane' },\n\t{ value: 'XBC', label: 'Bottlecrate/bottlerack' },\n\t{ value: 'XDH', label: 'Box, CHEP, Eurobox' },\n\t{ value: 'XFI', label: 'Bradkin' },\n\t{ value: 'H87', label: 'Bucăți' },\n\t{ value: 'XPP', label: 'Bucăți' },\n\t{ value: 'XKG', label: 'Butoaie de bere' },\n\t{ value: 'XHG', label: 'Butoaie hogshead' },\n\t{ value: 'XQJ', label: 'Butoaie lemn, cap detașabil' },\n\t{ value: 'XQH', label: 'Butoaie lemn, tip cep' },\n\t{ value: 'X2C', label: 'Butoaie, din lemn' },\n\t{ value: 'XCK', label: 'Butoiașe' },\n\t{ value: 'XLZ', label: 'Bușteni, în pachet/truss' },\n\t{ value: 'XCI', label: 'Canistre' },\n\t{ value: 'XCZ', label: 'Canvas' },\n\t{ value: 'XQM', label: 'Cap de plastic, nedetașabil' },\n\t{ value: 'XAV', label: 'Capsule' },\n\t{ value: 'JWL', label: 'Carate' },\n\t{ value: 'CTM', label: 'Carate metrice' },\n\t{ value: 'XEF', label: 'Carcase, cu suport palet, carton' },\n\t{ value: 'XEH', label: 'Carcase, cu suport palet, metal' },\n\t{ value: 'XEG', label: 'Carcase, cu suport palet, plastic' },\n\t{ value: 'XSK', label: 'Carcase, cutii, cadre' },\n\t{ value: 'XEE', label: 'Carcasă, cu suport palet, din lemn' },\n\t{ value: 'X7B', label: 'Carcasă, din lemn' },\n\t{ value: 'XCM', label: 'Carduri' },\n\t{ value: 'XCQ', label: 'Cartușe' },\n\t{ value: 'CLT', label: 'Centilitri' },\n\t{ value: 'CMT', label: 'Centimetri' },\n\t{ value: 'CMQ', label: 'Centimetri cubi' },\n\t{ value: 'CMK', label: 'Centimetri pătrați' },\n\t{ value: 'CWI', label: 'Chintal ' },\n\t{ value: 'XCY', label: 'Cilindri' },\n\t{ value: 'XTY', label: 'Cisterne, cilindrică' },\n\t{ value: 'XT1', label: 'Comprimate' },\n\t{ value: '20', label: 'Containere (20ft)' },\n\t{ value: '21', label: 'Containere (40ft)' },\n\t{ value: 'X1F', label: 'Containere, flexibil' },\n\t{ value: 'XCN', label: 'Containere, nespecificat altfel ca echipament de transport' },\n\t{ value: 'XHR', label: 'Coș nuiele' },\n\t{ value: 'XHC', label: 'Coș, cu mâner, carton' },\n\t{ value: 'XHB', label: 'Coș, cu mâner, din lemn' },\n\t{ value: 'XHA', label: 'Coș, cu mâner, plastic' },\n\t{ value: 'XBK', label: 'Coșuri' },\n\t{ value: 'XCU', label: 'Cupe' },\n\t{ value: 'X4B', label: 'Cutie, aluminiu' },\n\t{ value: 'X4C', label: 'Cutie, lemn natural' },\n\t{ value: 'X4F', label: 'Cutie, lemn reconstituit' },\n\t{ value: 'X4A', label: 'Cutie, oțel' },\n\t{ value: 'X4G', label: 'Cutie, panouri fibrolemnoase' },\n\t{ value: 'XBW', label: 'Cutie, pentru lichide' },\n\t{ value: 'X4H', label: 'Cutie, plastic' },\n\t{ value: 'XDC', label: 'Cutie, strat multiplu, carton' },\n\t{ value: 'XDA', label: 'Cutie, strat multiplu, plastic' },\n\t{ value: 'XDK', label: 'Cutie, vrac, carton' },\n\t{ value: 'XDL', label: 'Cutie, vrac, din plastic' },\n\t{ value: 'XBX', label: 'Cutii' },\n\t{ value: 'XCS', label: 'Cutii (case)' },\n\t{ value: 'XCT', label: 'Cutii de carton' },\n\t{ value: 'XCA', label: 'Cutii, dreptunghiulare' },\n\t{ value: 'XCG', label: 'Cuști' },\n\t{ value: 'XDG', label: 'Cuști (CHEP)' },\n\t{ value: 'XCW', label: 'Cuști, role' },\n\t{ value: 'XFW', label: 'Cărucior, cu platformă' },\n\t{ value: 'XTB', label: 'Căzi' },\n\t{ value: 'XTL', label: 'Căzi, cu capac' },\n\t{ value: 'DLT', label: 'Decilitri' },\n\t{ value: 'DMT', label: 'Decimetri' },\n\t{ value: 'DMQ', label: 'Decimetri cubi' },\n\t{ value: 'DMK', label: 'Decimetri pătrați' },\n\t{ value: 'A47', label: 'Decitex' },\n\t{ value: 'XNE', label: 'Despachetat sau neambalat' },\n\t{ value: 'DZN', label: 'Duzine' },\n\t{ value: 'DPR', label: 'Duzine de perechi' },\n\t{ value: 'DZP', label: 'Duzină de pachete' },\n\t{ value: 'ODE', label: 'Echivalent ODS' },\n\t{ value: 'XAM', label: 'Fiole, neprotejată' },\n\t{ value: 'XAP', label: 'Fiole, protejată' },\n\t{ value: 'XVI', label: 'Flacoane' },\n\t{ value: 'XFB', label: 'FlexiBag' },\n\t{ value: 'XFE', label: 'Flexitank' },\n\t{ value: 'GRM', label: 'Grame' },\n\t{ value: 'ODG', label: 'Grame ODS' },\n\t{ value: 'XGI', label: 'Grinzi' },\n\t{ value: '10', label: 'Grupuri' },\n\t{ value: 'XBJ', label: 'Găleți' },\n\t{ value: 'HGM', label: 'Hectograme' },\n\t{ value: 'HLT', label: 'Hectolitri' },\n\t{ value: 'HPA', label: 'Hectolitri de alcool pur' },\n\t{ value: 'HMT', label: 'Hectometri' },\n\t{ value: 'H19', label: 'Hectometri cubi' },\n\t{ value: 'H18', label: 'Hectometri pătrați' },\n\t{ value: 'XSW', label: 'Infoliată' },\n\t{ value: 'KGM', label: 'Kilograme' },\n\t{ value: 'ODK', label: 'Kilograme ODS' },\n\t{ value: 'KHY', label: 'Kilograme de H2O2 (peroxid de hidrogen)' },\n\t{ value: 'KPO', label: 'Kilograme de K2O' },\n\t{ value: 'KPH', label: 'Kilograme de KOH (potasă caustică)' },\n\t{ value: 'KSH', label: 'Kilograme de NaOH (sodă caustică)' },\n\t{ value: 'KPP', label: 'Kilograme de P2O5 (anhidridă fosforică)' },\n\t{ value: 'KWO', label: 'Kilograme de WO3 (trioxid de tungsten)' },\n\t{ value: 'KMA', label: 'Kilograme de metilamină' },\n\t{ value: 'KSD', label: 'Kilograme de substanță 90% uscată' },\n\t{ value: 'KNS', label: 'Kilograme de substanță numită' },\n\t{ value: 'KUR', label: 'Kilograme de uraniu' },\n\t{ value: 'DMO', label: 'Kilolitri standard (la 15 grd C)' },\n\t{ value: 'KMT', label: 'Kilometri' },\n\t{ value: 'XKI', label: 'Kituri' },\n\t{ value: 'KT', label: 'Kituri' },\n\t{ value: 'XIN', label: 'Lingouri' },\n\t{ value: 'LTR', label: 'Litri' },\n\t{ value: 'STL', label: 'Litri standard (la 15 grd C)' },\n\t{ value: 'XLT', label: 'Lot' },\n\t{ value: '5B', label: 'Loturi' },\n\t{ value: 'XCR', label: 'Lăzi' },\n\t{ value: 'MTR', label: 'Metri' },\n\t{ value: 'MTQ', label: 'Metri cubi' },\n\t{ value: 'MTK', label: 'Metri pătrați' },\n\t{ value: 'MGM', label: 'Miligrame' },\n\t{ value: 'ODM', label: 'Miligrame ODS' },\n\t{ value: 'MLT', label: 'Mililitri' },\n\t{ value: 'MMT', label: 'Milimetri' },\n\t{ value: 'XPK', label: 'Pachete' },\n\t{ value: 'XBE', label: 'Pachete' },\n\t{ value: 'X8A', label: 'Palet, din lemn' },\n\t{ value: 'XPX', label: 'Paleți' },\n\t{ value: 'XAH', label: 'Paleți, 100x110 cm' },\n\t{ value: 'XOD', label: 'Paleți, AS 4068-1993' },\n\t{ value: 'XOC', label: 'Paleți, CHEP 100x120 cm' },\n\t{ value: 'XOA', label: 'Paleți, CHEP 40x60 cm' },\n\t{ value: 'XOB', label: 'Paleți, CHEP 80x120 cm' },\n\t{ value: 'XOE', label: 'Paleți, ISO T11' },\n\t{ value: 'XPB', label: 'Paleți, cutie combinată cu cutie deschisă și palet' },\n\t{ value: 'XPD', label: 'Paleți, modular, manșon 80x100 cm' },\n\t{ value: 'XPE', label: 'Paleți, modular, manșon 80x120 cm' },\n\t{ value: 'XAF', label: 'Paleți, modular, manșon 80x60 cm' },\n\t{ value: 'XTW', label: 'Paleți, triwall' },\n\t{ value: 'XAG', label: 'Paleți, înfășurat în vrac' },\n\t{ value: 'PR', label: 'Perechi' },\n\t{ value: 'XEN', label: 'Plicuri' },\n\t{ value: 'XXD', label: 'Pungi, folie de plastic' },\n\t{ value: 'XXJ', label: 'Pungi, hârtie, multi-perete' },\n\t{ value: 'XXK', label: 'Pungi, hârtie, multi-perete, rezistente la apă' },\n\t{ value: 'XEC', label: 'Pungi, plastic' },\n\t{ value: 'XXA', label: 'Pungi, plastic țesut, fără strat interior/căptușeală' },\n\t{ value: 'XXC', label: 'Pungi, plastic țesut, rezistentă la apă' },\n\t{ value: 'XRK', label: 'Rack-uri' },\n\t{ value: 'XME', label: 'Recipienţi, din metal' },\n\t{ value: 'XPR', label: 'Recipienţi, din plastic' },\n\t{ value: 'XAB', label: 'Recipienţi, fibră' },\n\t{ value: 'XAC', label: 'Recipienţi, hârtie' },\n\t{ value: 'XGR', label: 'Recipienţi, sticlă' },\n\t{ value: 'XWA', label: 'Recipienți vrac' },\n\t{ value: 'XWD', label: 'Recipienți vrac aluminiu' },\n\t{ value: 'XWF', label: 'Recipienți vrac din metal' },\n\t{ value: 'XWK', label: 'Recipienți vrac din oțel, lichide' },\n\t{ value: 'XZS', label: 'Recipienți vrac, compozit' },\n\t{ value: 'XZA', label: 'Recipienți vrac, hârtie, multi-perete' },\n\t{ value: 'XZW', label: 'Recipienți vrac, lemn natural' },\n\t{ value: 'XWJ', label: 'Recipienți vrac, metal, presurizat 10 kpa' },\n\t{ value: 'XWM', label: 'Recipienți vrac, metalic, lichide' },\n\t{ value: 'XZX', label: 'Recipienți vrac, placaj' },\n\t{ value: 'XWR', label: 'Recipienți vrac, plastic țesut, acoperit/căptușit' },\n\t{ value: 'XWX', label: 'Recipienți vrac, textil, acoperite și căptușit' },\n\t{ value: 'XRL', label: 'Role' },\n\t{ value: 'XBG', label: 'Saci' },\n\t{ value: 'X5M', label: 'Saci, hârtie' },\n\t{ value: 'XJB', label: 'Saci, jumbo' },\n\t{ value: 'X5L', label: 'Saci, textil' },\n\t{ value: 'XSX', label: 'Set' },\n\t{ value: 'SET', label: 'Seturi' },\n\t{ value: 'XBO', label: 'Sticle, neprotejate, cilindrice' },\n\t{ value: 'XPF', label: 'Stilouri injectoare (pen)' },\n\t{ value: 'XDR', label: 'Tambure' },\n\t{ value: 'TNE', label: 'Tone (metrice)' },\n\t{ value: 'XTU', label: 'Tuburi' },\n\t{ value: 'XPU', label: 'Tăvi' },\n\t{ value: 'XZZ', label: 'Unităţi definite de comun acord' },\n\t{ value: 'EA', label: 'Unități' },\n\t{ value: 'C62', label: 'Unități' },\n]\n\nexport const OPTIONS_PTF = [\n\t{ value: '1', label: 'Petea (HU)' },\n\t{ value: '2', label: 'Borș (HU)' },\n\t{ value: '3', label: 'Vărșand (HU)' },\n\t{ value: '4', label: 'Nădlac (HU)' },\n\t{ value: '5', label: 'Calafat (BG)' },\n\t{ value: '6', label: 'Bechet (BG)' },\n\t{ value: '7', label: 'Turnu Măgurele (BG)' },\n\t{ value: '8', label: 'Zimnicea (BG)' },\n\t{ value: '9', label: 'Giurgiu (BG)' },\n\t{ value: '10', label: 'Ostrov (BG)' },\n\t{ value: '11', label: 'Negru Vodă (BG)' },\n\t{ value: '12', label: 'Vama Veche (BG)' },\n\t{ value: '13', label: 'Călărași (BG)' },\n\t{ value: '14', label: 'Corabia (BG)' },\n\t{ value: '15', label: 'Oltenița (BG)' },\n\t{ value: '16', label: 'Carei (HU)' },\n\t{ value: '17', label: 'Cenad (HU)' },\n\t{ value: '18', label: 'Episcopia Bihor (HU)' },\n\t{ value: '19', label: 'Salonta (HU)' },\n\t{ value: '20', label: 'Săcuieni (HU)' },\n\t{ value: '21', label: 'Turnu (HU)' },\n\t{ value: '22', label: 'Urziceni (HU)' },\n\t{ value: '23', label: 'Valea lui Mihai (HU)' },\n\t{ value: '24', label: 'Vladimirescu (HU)' },\n\t{ value: '25', label: 'Porțile de Fier 1 (RS)' },\n\t{ value: '26', label: 'Naidăș (RS)' },\n\t{ value: '27', label: 'Stamora Moravița (RS)' },\n\t{ value: '28', label: 'Jimbolia (RS)' },\n\t{ value: '29', label: 'Halmeu (UA)' },\n\t{ value: '30', label: 'Stânca Costești (MD)' },\n\t{ value: '31', label: 'Sculeni (MD)' },\n\t{ value: '32', label: 'Albița (MD)' },\n\t{ value: '33', label: 'Oancea (MD)' },\n\t{ value: '34', label: 'Galați Giurgiulești (MD)' },\n\t{ value: '35', label: 'Constanța Sud Agigea (-)' },\n\t{ value: '36', label: 'Siret (UA)' },\n\t{ value: '37', label: 'Nădlac 2 - A1 (HU)' },\n\t{ value: '38', label: 'Borș 2 - A3 (HU)' },\n]\n\nexport const OPTIONS_COUNTY = [\n\t{ value: '1', label: 'Alba' },\n\t{ value: '2', label: 'Arad' },\n\t{ value: '3', label: 'Argeş' },\n\t{ value: '4', label: 'Bacău' },\n\t{ value: '5', label: 'Bihor' },\n\t{ value: '6', label: 'Bistriţa-Năsăud' },\n\t{ value: '7', label: 'Botoşani' },\n\t{ value: '8', label: 'Braşov' },\n\t{ value: '9', label: 'Brăila' },\n\t{ value: '10', label: 'Buzău' },\n\t{ value: '11', label: 'Caraş-Severin' },\n\t{ value: '51', label: 'Călăraşi' },\n\t{ value: '12', label: 'Cluj' },\n\t{ value: '13', label: 'Constanţa' },\n\t{ value: '14', label: 'Covasna' },\n\t{ value: '16', label: 'Dolj' },\n\t{ value: '15', label: 'Dâmboviţa' },\n\t{ value: '17', label: 'Galaţi' },\n\t{ value: '52', label: 'Giurgiu' },\n\t{ value: '18', label: 'Gorj' },\n\t{ value: '19', label: 'Harghita' },\n\t{ value: '20', label: 'Hunedoara' },\n\t{ value: '21', label: 'Ialomiţa' },\n\t{ value: '22', label: 'Iaşi' },\n\t{ value: '23', label: 'Ilfov' },\n\t{ value: '24', label: 'Maramureş' },\n\t{ value: '25', label: 'Mehedinţi' },\n\t{ value: '40', label: 'Municipiul Bucureşti' },\n\t{ value: '26', label: 'Mureş' },\n\t{ value: '27', label: 'Neamţ' },\n\t{ value: '28', label: 'Olt' },\n\t{ value: '29', label: 'Prahova' },\n\t{ value: '30', label: 'Satu Mare' },\n\t{ value: '32', label: 'Sibiu' },\n\t{ value: '33', label: 'Suceava' },\n\t{ value: '31', label: 'Sălaj' },\n\t{ value: '34', label: 'Teleorman' },\n\t{ value: '35', label: 'Timiş' },\n\t{ value: '36', label: 'Tulcea' },\n\t{ value: '37', label: 'Vaslui' },\n\t{ value: '39', label: 'Vrancea' },\n\t{ value: '38', label: 'Vâlcea' },\n]\n\nexport const OPTIONS_GOODS_PURPOSE = [\n\t{ value: '101', label: 'Comercializare' },\n\t{ value: '201', label: 'Producție' },\n\t{ value: '301', label: 'Gratuități' },\n\t{ value: '401', label: 'Echipament comercial' },\n\t{ value: '501', label: 'Mijloace fixe' },\n\t{ value: '601', label: 'Consum propriu' },\n\t{ value: '703', label: 'Operațiuni de livrare cu instalare' },\n\t{ value: '704', label: 'Transfer între gestiuni' },\n\t{ value: '705', label: 'Bunuri puse la dispoziția clientului' },\n\t{ value: '801', label: 'Leasing financiar/operațional' },\n\t{ value: '802', label: 'Bunuri în garanție' },\n\t{ value: '901', label: 'Operațiuni scutite' },\n\t{ value: '1001', label: 'Investiție in curs' },\n\t{ value: '1101', label: 'Donații, ajutoare' },\n\t{ value: '9901', label: 'Altele' },\n\t{ value: '9999', label: 'Același cu operațiunea' },\n]\n\nexport const OPTIONS_DOCUMENTS_TYPE = [\n\t{ value: '10', label: 'CMR' },\n\t{ value: '20', label: 'Factura' },\n\t{ value: '30', label: 'Aviz de însoțire a mărfii' },\n\t{ value: '9999', label: 'Altele' },\n]\n\nexport const COLUMNS_DOCUMENTS = [\n\t{ key: 'idx', translationKey: 'Nr. crt.', render: (v, r, idx) => idx + 1 },\n\t{\n\t\tkey: 'type',\n\t\ttranslationKey: 'column.document.type',\n\t\trender: v => {\n\t\t\tconst item = find(OPTIONS_DOCUMENTS_TYPE, i => i.value === (v + ''))\n\t\t\treturn <span title={item?.label}>{item?.label || v}</span>\n\t\t}\n\t},\n\t{ key: 'number', translationKey: 'column.document.number' },\n\t{ key: 'date', translationKey: 'column.document.date' },\n\t{ key: 'observations', translationKey: 'column.document.observations' },\n]\n\nexport const COLUMNS_GOODS = [\n\t{ key: 'idx', translationKey: 'Nr. crt.', render: (v, r, idx) => (idx || 0) + 1 },\n\t{\n\t\tkey: 'operationPurposeCode',\n\t\ttranslationKey: 'column.good.operationPurposeCode',\n\t\trender: v => {\n\t\t\tconst item = find(OPTIONS_GOODS_PURPOSE, i => i.value === (v + ''))\n\t\t\treturn <span title={item?.label}>{item?.label || v}</span>\n\t\t}\n\t},\n\t{ key: 'tariffCode', translationKey: 'column.good.tariffCode' },\n\t{ key: 'productName', translationKey: 'column.good.productName' },\n\t{ key: 'amount', translationKey: 'column.good.amount' },\n\t{\n\t\tkey: 'measureUnitCode',\n\t\ttranslationKey: 'column.good.measureUnitCode',\n\t\trender: v => {\n\t\t\tconst item = find(OPTIONS_UM, i => i.value === v)\n\t\t\treturn <span title={item?.label}>{item?.label || v}</span>\n\t\t}\n\t},\n\t{ key: 'netWeight', translationKey: 'column.good.netWeight' },\n\t{ key: 'grossWeight', translationKey: 'column.good.grossWeight' },\n\t{ key: 'valueRonWithoutTVA', translationKey: 'column.good.valueRonWithoutTVA' },\n]\n\nexport const COLUMNS_E_TRANSPORT = [\n\t{ key: 'name', translationKey: 'column.uit' },\n\t{ key: 'declarantName', translationKey: 'column.declarantName' },\n\t{ key: 'licensePlate', translationKey: 'column.licensePlate' },\n\t{ key: 'licensePlateSMR1', translationKey: 'column.licensePlateSMR1' },\n\t{ key: 'licensePlateSMR2', translationKey: 'column.licensePlateSMR2' },\n\t{\n\t\tkey: 'operationCode',\n\t\ttranslationKey: 'column.operationCode',\n\t\trender: v => {\n\t\t\tconst item = find(OPTIONS_OPERATIONS_TYPE, i => i.value === (v + ''))\n\t\t\treturn <span title={item?.label}>{item?.short || v}</span>\n\t\t}\n\t},\n\t{ key: 'dateTransportation', translationKey: 'column.dateTransportation', render: val => val ? moment(val).format('DD/MM/YYYY') : null },\n\t{ key: 'activatedAt', translationKey: 'column.activatedAt', render: val => val ? moment(val).format('DD/MM/YYYY HH:mm') : null },\n\t{ key: 'disabledAt', translationKey: 'column.disabledAt', render: val => val ? moment(val).format('DD/MM/YYYY HH:mm') : null },\n\t{ key: 'commercialPartner.countryCode', translationKey: 'column.commercialPartner.countryCode' },\n\t{ key: 'commercialPartner.code', translationKey: 'column.commercialPartner.code' },\n\t{ key: 'commercialPartner.name', translationKey: 'column.commercialPartner.name' },\n\t{ key: 'organizationTransport.countryCode', translationKey: 'column.organizationTransport.countryCode' },\n\t{ key: 'organizationTransport.code', translationKey: 'column.organizationTransport.code' },\n\t{ key: 'organizationTransport.name', translationKey: 'column.organizationTransport.name' },\n\n\t{ key: 'goodsTotal.length', translationKey: 'column.goodsTotal.length' },\n\t{ key: 'goodsTotal.netWeight', translationKey: 'column.goodsTotal.netWeight' },\n\t{ key: 'goodsTotal.grossWeight', translationKey: 'column.goodsTotal.grossWeight' },\n\t{ key: 'goodsTotal.valueRonWithoutTVA', translationKey: 'column.goodsTotal.valueRonWithoutTVA' },\n\n\t{ key: 'declarantReference', translationKey: 'column.declarantReference' },\n\t{ key: 'lastModifications', translationKey: 'column.modifVeh' },\n\t{ key: 'scheduledModifications', translationKey: 'column.scheduledModifications' },\n\t// { key: 'confirmare', translationKey: 'column.confirmare' },\n\t// { key: 'stare', translationKey: 'column.stare' },\n]\n\nexport const COLUMNS_PARTNERS = [\n\t{ key: 'CUI', translationKey: 'partners.CUI' },\n\t{ key: 'name', translationKey: 'partners.name' },\n\t{ key: 'email', translationKey: 'partners.email' },\n\t{ key: 'editTruck', translationKey: 'partners.editTruck' },\n\t{ key: 'editSMRS', translationKey: 'partners.editSMRS' },\n\t{ key: 'editLocations', translationKey: 'partners.editLocations' },\n\t{ key: 'editTransporter', translationKey: 'partners.editTransporter' },\n\t{ key: 'editAllUits', translationKey: 'partners.editAllUits' },\n\t{ key: 'subcontractor', translationKey: 'partners.subcontractor' },\n\t{ key: 'customer', translationKey: 'partners.customer' }\n]\n\nexport const getModifVeh = (arr, hdrTKey) => {\n\tif (!arr?.length) return null\n\tconst lastModif = last(arr)\n\tconst list = map(arr, i => `${moment(i?.date)?.format('DD/MM/YYYY HH:mm')} | ${i?.licensePlate || '-'} | ${i?.licensePlateSMR1 || '-'} | ${i?.licensePlateSMR2 || '-'} | ${i?.observations || '-'} `)\n\t// list.unshift('Data | Nr Veh | Nr Rem 1 | Nr Rem 2 | Observatii')\n\n\tlet popup = list.join('\\n')\n\tif (hdrTKey) {\n\t\tconst hdrTxt = i18n?.t(hdrTKey)\n\t\t// const hdrLine = hdrTxt.length ? new Array(Math.round(hdrTxt.length * 1.5)).fill('-').join('') : ''\n\t\t// popup = [hdrTxt, hdrLine, popup].join('\\n')\n\t\tpopup = [hdrTxt, popup].join('\\n')\n\t}\n\treturn {\n\t\tdisplay: `${lastModif?.licensePlate} - ${moment(lastModif?.date)?.format('DD/MM/YYYY HH:mm')}`,\n\t\tpopup,\n\t}\n}\n\n// country codes\nexport const CCs = [\n\t{ value: 'AF', label: 'Afganistan' },\n\t{ value: 'ZA', label: 'Africa de Sud' },\n\t{ value: 'AL', label: 'Albania' },\n\t{ value: 'DZ', label: 'Algeria' },\n\t{ value: 'AD', label: 'Andorra' },\n\t{ value: 'AO', label: 'Angola' },\n\t{ value: 'AI', label: 'Anguilla' },\n\t{ value: 'AQ', label: 'Antarctica' },\n\t{ value: 'AG', label: 'Antigua şi Barbuda' },\n\t{ value: 'SA', label: 'Arabia Saudită' },\n\t{ value: 'AR', label: 'Argentina' },\n\t{ value: 'AM', label: 'Armenia' },\n\t{ value: 'AW', label: 'Aruba' },\n\t{ value: 'AU', label: 'Australia' },\n\t{ value: 'AT', label: 'Austria (UE)' },\n\t{ value: 'AZ', label: 'Azerbaidjan' },\n\t{ value: 'BS', label: 'Bahamas' },\n\t{ value: 'BH', label: 'Bahrain' },\n\t{ value: 'BD', label: 'Bangladesh' },\n\t{ value: 'BB', label: 'Barbados' },\n\t{ value: 'BY', label: 'Belarus' },\n\t{ value: 'BE', label: 'Belgia (UE)' },\n\t{ value: 'BZ', label: 'Belize' },\n\t{ value: 'BJ', label: 'Benin' },\n\t{ value: 'BM', label: 'Bermuda' },\n\t{ value: 'BT', label: 'Bhutan' },\n\t{ value: 'BO', label: 'Bolivia' },\n\t{ value: 'BQ', label: 'Bonaire, Sint Eustatius si Saba (ins. Olandeze)' },\n\t{ value: 'BA', label: 'Bosnia şi Herţegovina' },\n\t{ value: 'BW', label: 'Botswana' },\n\t{ value: 'BR', label: 'Brazilia' },\n\t{ value: 'BN', label: 'Brunei' },\n\t{ value: 'BG', label: 'Bulgaria (UE)' },\n\t{ value: 'BF', label: 'Burkina Faso' },\n\t{ value: 'BI', label: 'Burundi' },\n\t{ value: 'KH', label: 'Cambodgia' },\n\t{ value: 'CM', label: 'Camerun' },\n\t{ value: 'CA', label: 'Canada' },\n\t{ value: 'CV', label: 'Capul Verde' },\n\t{ value: 'CZ', label: 'Cehia (UE)' },\n\t{ value: 'CL', label: 'Chile' },\n\t{ value: 'CN', label: 'China' },\n\t{ value: 'TD', label: 'Ciad' },\n\t{ value: 'CY', label: 'Cipru (UE)' },\n\t{ value: 'CO', label: 'Columbia' },\n\t{ value: 'KM', label: 'Comore' },\n\t{ value: 'CG', label: 'Congo' },\n\t{ value: 'KP', label: 'Coreea de Nord' },\n\t{ value: 'KR', label: 'Coreea de Sud' },\n\t{ value: 'CR', label: 'Costa Rica' },\n\t{ value: 'HR', label: 'Croaţia (UE)' },\n\t{ value: 'CU', label: 'Cuba' },\n\t{ value: 'CW', label: 'Curaçao' },\n\t{ value: 'CI', label: \"Côte d'Ivoire\" },\n\t{ value: 'DK', label: 'Danemarca (UE)' },\n\t{ value: 'DJ', label: 'Djibouti' },\n\t{ value: 'DM', label: 'Dominica' },\n\t{ value: 'EC', label: 'Ecuador' },\n\t{ value: 'EG', label: 'Egipt' },\n\t{ value: 'SV', label: 'El Salvador' },\n\t{ value: 'CH', label: 'Elveţia' },\n\t{ value: 'AE', label: 'Emiratele Arabe Unite' },\n\t{ value: 'ER', label: 'Eritreea' },\n\t{ value: 'EE', label: 'Estonia (UE)' },\n\t{ value: 'SZ', label: 'Eswatini' },\n\t{ value: 'ET', label: 'Etiopia' },\n\t{ value: 'FJ', label: 'Fiji' },\n\t{ value: 'PH', label: 'Filipine' },\n\t{ value: 'FI', label: 'Finlanda (UE)' },\n\t{ value: 'PS', label: 'Fisia Gaza' },\n\t{ value: 'FR', label: 'Franţa (UE)' },\n\t{ value: 'GA', label: 'Gabon' },\n\t{ value: 'GM', label: 'Gambia' },\n\t{ value: 'GE', label: 'Georgia' },\n\t{ value: 'GS', label: 'Georgia de Sud şi Insulele Sandwich de Sud' },\n\t{ value: 'DE', label: 'Germania (UE)' },\n\t{ value: 'GH', label: 'Ghana' },\n\t{ value: 'GI', label: 'Gibraltar' },\n\t{ value: 'EL', label: 'Grecia (UE)' },\n\t{ value: 'GD', label: 'Grenada' },\n\t{ value: 'GL', label: 'Groenlanda' },\n\t{ value: 'GP', label: 'Guadelupa' },\n\t{ value: 'GU', label: 'Guam' },\n\t{ value: 'GT', label: 'Guatemala' },\n\t{ value: 'GG', label: 'Guernsey' },\n\t{ value: 'GN', label: 'Guineea' },\n\t{ value: 'GQ', label: 'Guineea Ecuatorială' },\n\t{ value: 'GW', label: 'Guineea-Bissau' },\n\t{ value: 'GY', label: 'Guyana' },\n\t{ value: 'GF', label: 'Guyana Franceză' },\n\t{ value: 'HT', label: 'Haiti' },\n\t{ value: 'HN', label: 'Honduras' },\n\t{ value: 'HK', label: 'Hong Kong' },\n\t{ value: 'IN', label: 'India' },\n\t{ value: 'ID', label: 'Indonezia' },\n\t{ value: 'BV', label: 'Insula Bouvet' },\n\t{ value: 'CX', label: 'Insula Christmas' },\n\t{ value: 'HM', label: 'Insula Heard şi Insulele McDonald' },\n\t{ value: 'IM', label: 'Insula Man' },\n\t{ value: 'NF', label: 'Insula Norfolk' },\n\t{ value: 'AX', label: 'Insulele Aland' },\n\t{ value: 'KY', label: 'Insulele Cayman' },\n\t{ value: 'CC', label: 'Insulele Cocos (Keeling)' },\n\t{ value: 'CK', label: 'Insulele Cook' },\n\t{ value: 'FK', label: 'Insulele Falkland' },\n\t{ value: 'FO', label: 'Insulele Feroe' },\n\t{ value: 'MP', label: 'Insulele Mariane de Nord' },\n\t{ value: 'MH', label: 'Insulele Marshall' },\n\t{ value: 'UM', label: 'Insulele Minore Îndepărtate ale Statelor Unite' },\n\t{ value: 'PN', label: 'Insulele Pitcairn' },\n\t{ value: 'SB', label: 'Insulele Solomon' },\n\t{ value: 'TC', label: 'Insulele Turks şi Caicos' },\n\t{ value: 'VI', label: 'Insulele Virgine Americane' },\n\t{ value: 'VG', label: 'Insulele Virgine Britanice' },\n\t{ value: 'JO', label: 'Iordania' },\n\t{ value: 'IQ', label: 'Irak' },\n\t{ value: 'IR', label: 'Iran' },\n\t{ value: 'IE', label: 'Irlanda (UE)' },\n\t{ value: 'XI', label: 'Irlanda de Nord (UE)' },\n\t{ value: 'IS', label: 'Islanda' },\n\t{ value: 'IL', label: 'Israel' },\n\t{ value: 'IT', label: 'Italia (UE)' },\n\t{ value: 'JM', label: 'Jamaica' },\n\t{ value: 'JP', label: 'Japonia' },\n\t{ value: 'JE', label: 'Jersey' },\n\t{ value: 'KZ', label: 'Kazahstan' },\n\t{ value: 'KE', label: 'Kenya' },\n\t{ value: 'KI', label: 'Kiribati' },\n\t{ value: 'XK', label: 'Kosovo' },\n\t{ value: 'KW', label: 'Kuweit' },\n\t{ value: 'KG', label: 'Kârgâzstan' },\n\t{ value: 'LA', label: 'Laos' },\n\t{ value: 'LS', label: 'Lesotho' },\n\t{ value: 'LV', label: 'Letonia (UE)' },\n\t{ value: 'LB', label: 'Liban' },\n\t{ value: 'LR', label: 'Liberia' },\n\t{ value: 'LY', label: 'Libia' },\n\t{ value: 'LI', label: 'Liechtenstein' },\n\t{ value: 'LT', label: 'Lituania (UE)' },\n\t{ value: 'LU', label: 'Luxemburg (UE)' },\n\t{ value: 'MO', label: 'Macao' },\n\t{ value: 'MK', label: 'Macedonia de Nord' },\n\t{ value: 'MG', label: 'Madagascar' },\n\t{ value: 'MW', label: 'Malawi' },\n\t{ value: 'MY', label: 'Malaysia' },\n\t{ value: 'MV', label: 'Maldive' },\n\t{ value: 'ML', label: 'Mali' },\n\t{ value: 'MT', label: 'Malta (UE)' },\n\t{ value: 'MA', label: 'Maroc' },\n\t{ value: 'MQ', label: 'Martinica' },\n\t{ value: 'MR', label: 'Mauritania' },\n\t{ value: 'MU', label: 'Mauritius' },\n\t{ value: 'YT', label: 'Mayotte' },\n\t{ value: 'XL', label: 'Melila' },\n\t{ value: 'MX', label: 'Mexic' },\n\t{ value: 'FM', label: 'Micronezia' },\n\t{ value: 'MD', label: 'Moldova' },\n\t{ value: 'MC', label: 'Monaco' },\n\t{ value: 'MN', label: 'Mongolia' },\n\t{ value: 'MS', label: 'Montserrat' },\n\t{ value: 'MZ', label: 'Mozambic' },\n\t{ value: 'ME', label: 'Muntenegru' },\n\t{ value: 'MM', label: 'Myanmar/Birmania' },\n\t{ value: 'NA', label: 'Namibia' },\n\t{ value: 'NR', label: 'Nauru' },\n\t{ value: 'NP', label: 'Nepal' },\n\t{ value: 'AN', label: 'Netherlands Antilles1' },\n\t{ value: 'NI', label: 'Nicaragua' },\n\t{ value: 'NE', label: 'Niger' },\n\t{ value: 'NG', label: 'Nigeria' },\n\t{ value: 'NU', label: 'Niue' },\n\t{ value: 'NO', label: 'Norvegia' },\n\t{ value: 'NC', label: 'Noua Caledonie' },\n\t{ value: 'NZ', label: 'Noua Zeelandă' },\n\t{ value: 'OM', label: 'Oman' },\n\t{ value: 'PS', label: 'PALESTINA' },\n\t{ value: 'PK', label: 'Pakistan' },\n\t{ value: 'PW', label: 'Palau' },\n\t{ value: 'PA', label: 'Panama' },\n\t{ value: 'PG', label: 'Papua-Noua Guinee' },\n\t{ value: 'PY', label: 'Paraguay' },\n\t{ value: 'PE', label: 'Peru' },\n\t{ value: 'PF', label: 'Polinezia Franceză' },\n\t{ value: 'PL', label: 'Polonia (UE)' },\n\t{ value: 'PT', label: 'Portugalia (UE)' },\n\t{ value: 'XC', label: 'Poses. Spaniole Africa de Nord' },\n\t{ value: 'PR', label: 'Puerto Rico' },\n\t{ value: 'QA', label: 'Qatar' },\n\t{ value: 'GB', label: 'Regatul Unit' },\n\t{ value: 'CF', label: 'Republica Centrafricană' },\n\t{ value: 'CD', label: 'Republica Democratică Congo' },\n\t{ value: 'DO', label: 'Republica Dominicană' },\n\t{ value: 'RO', label: 'România (UE)' },\n\t{ value: 'RU', label: 'Rusia' },\n\t{ value: 'RW', label: 'Rwanda' },\n\t{ value: 'RE', label: 'Réunion' },\n\t{ value: 'US', label: 'S.U.A' },\n\t{ value: 'EH', label: 'Sahara Occidentală' },\n\t{ value: 'KN', label: 'Saint Kitts şi Nevis' },\n\t{ value: 'LC', label: 'Saint Lucia' },\n\t{ value: 'VC', label: 'Saint Vincent şi Grenadinele' },\n\t{ value: 'BL', label: 'Saint-Barthélemy' },\n\t{ value: 'MF', label: 'Saint-Martin' },\n\t{ value: 'PM', label: 'Saint-Pierre şi Miquelon' },\n\t{ value: 'WS', label: 'Samoa' },\n\t{ value: 'AS', label: 'Samoa Americană' },\n\t{ value: 'SM', label: 'San Marino' },\n\t{ value: 'ST', label: 'Sao Tomé şi Príncipe' },\n\t{ value: 'SN', label: 'Senegal' },\n\t{ value: 'RS', label: 'Serbia' },\n\t{ value: 'SC', label: 'Seychelles' },\n\t{ value: 'SH', label: 'Sfânta Elena, Ascension şi Tristan da Cunha' },\n\t{ value: 'SL', label: 'Sierra Leone' },\n\t{ value: 'SG', label: 'Singapore' },\n\t{ value: 'SX', label: 'Sint-Maarten' },\n\t{ value: 'SY', label: 'Siria' },\n\t{ value: 'SK', label: 'Slovacia (UE)' },\n\t{ value: 'SI', label: 'Slovenia (UE)' },\n\t{ value: 'SO', label: 'Somalia' },\n\t{ value: 'ES', label: 'Spania (UE)' },\n\t{ value: 'LK', label: 'Sri Lanka' },\n\t{ value: 'SD', label: 'Sudan' },\n\t{ value: 'SS', label: 'Sudanul de Sud' },\n\t{ value: 'SE', label: 'Suedia (UE)' },\n\t{ value: 'SR', label: 'Suriname' },\n\t{ value: 'SJ', label: 'Svalbard şi Jan Mayen' },\n\t{ value: 'TJ', label: 'Tadjikistan' },\n\t{ value: 'TW', label: 'Taiwan' },\n\t{ value: 'TZ', label: 'Tanzania' },\n\t{ value: 'TF', label: 'Teritoriile Australe şi Antarctice Franceze' },\n\t{ value: 'IO', label: 'Teritoriul Britanic din Oceanul Indian' },\n\t{ value: 'TH', label: 'Thailanda' },\n\t{ value: 'TL', label: 'Timorul de Est' },\n\t{ value: 'TG', label: 'Togo' },\n\t{ value: 'TK', label: 'Tokelau' },\n\t{ value: 'TO', label: 'Tonga' },\n\t{ value: 'TT', label: 'Trinidad şi Tobago' },\n\t{ value: 'TN', label: 'Tunisia' },\n\t{ value: 'TR', label: 'Turcia' },\n\t{ value: 'TM', label: 'Turkmenistan' },\n\t{ value: 'TV', label: 'Tuvalu' },\n\t{ value: 'UA', label: 'Ucraina' },\n\t{ value: 'UG', label: 'Uganda' },\n\t{ value: 'HU', label: 'Ungaria (UE)' },\n\t{ value: 'UY', label: 'Uruguay' },\n\t{ value: 'UZ', label: 'Uzbekistan' },\n\t{ value: 'VU', label: 'Vanuatu' },\n\t{ value: 'VA', label: 'Vatican' },\n\t{ value: 'VE', label: 'Venezuela' },\n\t{ value: 'VN', label: 'Vietnam' },\n\t{ value: 'WF', label: 'Wallis şi Futuna' },\n\t{ value: 'YE', label: 'Yemen' },\n\t{ value: 'ZM', label: 'Zambia' },\n\t{ value: 'ZW', label: 'Zimbabwe' },\n\t{ value: 'NL', label: 'Ţările de Jos (UE)' }\n]\n\n// settings.e-Transport\nexport const OPTIONS_DISABLE_DATE = [\n\t{ value: '8', label: '+ 8h' },\n\t{ value: '12', label: '+ 12h' },\n\t{ value: '24', label: '+ 24h' },\n\t{ value: '48', label: '+ 48h' },\n\t{ value: '120', label: '+ 120h (5 days)' },\n\t{ value: '360', label: '+ 360h (15 days)' },\n]\n","\nexport const EMISSION_STANDARDS = t => [\n\t{ value: 'EURO_0', text: t('emissionStandard.euro0') },\n\t{ value: 'EURO_1', text: t('emissionStandard.euro1') },\n\t{ value: 'EURO_2', text: t('emissionStandard.euro2') },\n\t{ value: 'EURO_3', text: t('emissionStandard.euro3') },\n\t{ value: 'EURO_4', text: t('emissionStandard.euro4') },\n\t{ value: 'EURO_5', text: t('emissionStandard.euro5') },\n\t{ value: 'EURO_EEV', text: t('emissionStandard.euroEEV') },\n\t{ value: 'EURO_6', text: t('emissionStandard.euro6') },\n\t{ value: 'EURO_6c', text: t('emissionStandard.euro6c') },\n\t{ value: 'EURO_6d_TEMP', text: t('emissionStandard.euro6dTemp') },\n\t{ value: 'EURO_6d', text: t('emissionStandard.euro6d') },\n\t{ value: 'EURO_6e', text: t('emissionStandard.euro6e') },\n\t{ value: 'EURO_7', text: t('emissionStandard.euro7') },\n]\n\nexport const NUMBER_OF_AXLES = [\n\t{ value: 2, text: '2' },\n\t{ value: 3, text: '3' },\n\t{ value: 4, text: '4' },\n\t{ value: 5, text: '5' },\n]\n\nexport const STORED_PROFILES = [\n\t{ value: 'bicycle', text: 'Bicycle', title: 'Bicycle modeled as a courier or performing service' },\n\t{ value: '4_box_truck', text: 'Box Truck', title: 'A box truck with a driver delivering goods.' },\n\t{ value: 'car', text: 'Car', title: 'Typical 1.77t car' },\n\t{ value: 'default', text: 'Default', title: 'This profile defaults to the rendering profile silkysand and the routing profile trailertruck.' },\n\t{ value: '5_delivery', text: 'Delivery', title: 'Typical medium duty truck (US GVWR class 5)' },\n\t{ value: '8_double_trailer', text: 'Double Trailer', title: 'A double trailer truck with 7 axles delivering goods.' },\n\t{ value: 'electric_car', text: 'Electric car', title: 'Electric car with driver transporting goods. Also possible service technician or salesman. No passenger transportation.' },\n\t{ value: 'HC_Heavy_combination', text: 'Heavy Combination', title: 'Heavy Combination Truck' },\n\t{ value: 'HR_Heavy_rigid', text: 'Heavy Rigid', title: 'Typical 53.4t heavy rigid truck with 4 axles' },\n\t{ value: '8_heavy_tractor', text: 'Heavy Tractor', title: 'A heavy tractor with 3 axles but without trailer delivering goods.' },\n\t{ value: 'LCV_Light_commercial_vehicle', text: 'Light commercial vehicle', title: 'Typical light commercial van or small truck' },\n\t{ value: 'MR_Medium_rigid', text: 'Medium Rigid', title: 'Typical 16t medium rigid truck' },\n\t{ value: '7_medium_tractor', text: 'Medium Tractor', title: 'A medium tractor without trailer delivering goods.' },\n\t{ value: 'MC_Multi_combination', text: 'Multi Combination', title: 'Multi Combination Truck a.k.a. Road Train' },\n\t{ value: 'pedestrian', text: 'Pedestrian', title: 'Pedestrian modeled as a courier or performing service' },\n\t{ value: '1_pickup', text: 'Pickup', title: 'Typical light duty pickup (US GVWR class 1)' },\n\t{ value: '8_semitrailer_3axle', text: 'Semitrailer 3 Axles', title: 'A semi trailer truck with 3 axles delivering goods.' },\n\t{ value: '8_semitrailer_4axle', text: 'Semitrailer 4 Axles', title: 'A semi trailer truck with 4 axles delivering goods.' },\n\t{ value: '8_semitrailer_5axle', text: 'Semitrailer 5 Axles', title: 'Typical semi-trailer truck (US GVWR class 8) with 5 axles' },\n\t{ value: '6_stake_body', text: 'Stake Body', title: 'A stake body truck with a driver delivering goods.' },\n\t{ value: 'trailertruck', text: 'Trailer Truck', title: 'Typical 40t semi-trailer truck (Euro-tractor) with 5 axles consisting of tractor with 2 or 3 axles but no loading area and semi-trailer with 2 or 3 axles' },\n\t{ value: 'truck11_99t', text: 'Truck 11.99t', title: 'Typical 11.99t medium duty truck with 2 axles' },\n\t{ value: 'truck40t', text: 'Truck 40t', title: 'Typical 40t truck with 5 axles consisting of tractor with 3 axles and trailer with 2 axles' },\n\t{ value: 'truck7_49t', text: 'Truck 7.49t', title: 'Typical 7.49t light duty truck with 2 axles' },\n\t{ value: 'van', text: 'Van', title: 'Typical 3.49t van or small truck' },\n\t{ value: '2_van', text: 'Van US', title: 'Van or small truck with a driver delivering goods. Also possible service technician or salesman.' },\n\t{ value: '3_walk_in', text: 'Walk In', title: 'Walk in truck with a driver delivering goods. Also possible service technician or salesman.' },\n]\n\nexport const EMISSION_TECHNOLOGIES = t => [\n\t{ value: 'NONE', text: t('none') },\n\t{ value: 'EXHAUST_GAS_RECIRCULATION', text: t('emissionReductionTechnology.egr') },\n\t{ value: 'SELECTIVE_CATALYTIC_REDUCTION', text: t('emissionReductionTechnology.scr') },\n]\n\nexport const defaultPtvProfile = {\n\tstoredProfile: 'truck7_49t',\n\trequestProfile: {\n\t\tfeatureLayerProfile: {\n\t\t\tthemes: [{\n\t\t\t\tid: 'PTV_TruckAttributes',\n\t\t\t\tenabled: true,\n\t\t\t}, {\n\t\t\t\tid: 'PTV_RestrictionZones',\n\t\t\t\tenabled: true,\n\t\t\t}],\n\t\t},\n\t\tvehicleProfile: {\n\t\t\tweight: {\n\t\t\t\ttotalPermittedWeight: 7000, // kg\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\tlength: 1650, // cm\n\t\t\t\twidth: 255, // cm\n\t\t\t\theight: 400, // cm\n\t\t\t},\n\t\t\telectronicTollCollectionSubscriptions: 'NONE',\n\t\t\taxle: {\n\t\t\t\tnumberOfAxles: 5, // 2 + 3\n\t\t\t},\n\t\t\tlegalCondition: {\n\t\t\t\tisDelivery: false,\n\t\t\t},\n\t\t\tengine: {\n\t\t\t\temissionStandardEU: 'EURO_6',\n\t\t\t\temissionTechnology: 'SELECTIVE_CATALYTIC_REDUCTION',\n\t\t\t},\n\t\t},\n\t},\n}\n","import { set } from 'lodash'\nimport { v4 } from 'ember-uuid'\n\nexport const WAYPOINTS_TYPES = t => [\n\t{ value: 'dislocation', label: t('waypoint.type.dislocation') },\n\t{ value: 'drop', label: t('waypoint.type.drop') },\n\t{ value: 'end', label: t('waypoint.type.end') },\n\t{ value: 'ferry-dock', label: t('waypoint.type.ferry-dock') },\n\t{ value: 'ferry-select', label: t('template.type.ferry') },\n\t{ value: 'ferry-undock', label: t('waypoint.type.ferry-undock') },\n\t{ value: 'fueling', label: t('waypoint.type.fueling') },\n\t{ value: 'loading', label: t('waypoint.type.loading') },\n\t{ value: 'parking', label: t('waypoint.type.parking') },\n\t{ value: 'pickup', label: t('waypoint.type.pickup') },\n\t{ value: 'rail-dock', label: t('waypoint.type.rail-dock') },\n\t{ value: 'rail-undock', label: t('waypoint.type.rail-undock') },\n\t{ value: 'rest', label: t('waypoint.type.rest') },\n\t{ value: 'split', label: t('waypoint.type.split') },\n\t{ value: 'split-intermodal', label: t('waypoint.type.splitIntermodal') },\n\t{ value: 'start', label: t('waypoint.type.start') },\n\t{ value: 'swap', label: t('waypoint.type.swap') },\n\t{ value: 'unloading', label: t('waypoint.type.unloading') },\n\t{ value: 'via', label: t('waypoint.type.via') }\n]\n\nexport const parsePTVLocation = params => {\n\tconst { location } = params || {}\n\tif (!location) return null\n\tconst id = v4()\n\tif (location?.address?.state) set(location, 'address.county', location?.address?.state)\n\tif (location?.address?.houseNumber) set(location, 'address.streetNumber', location?.address?.houseNumber)\n\treturn {\n\t\t...location,\n\t\tcoordinates: { lat: location?.referenceCoordinate?.y, lng: location?.referenceCoordinate?.x },\n\t\tid,\n\t\tvalue: id,\n\t\ttitle: location?.formattedAddress,\n\t}\n}\n","export const getItemLS = key => {\n\treturn JSON.parse(localStorage.getItem(key))\n}\n\nexport const setItemLS = (key, item) => {\n\treturn localStorage.setItem(key, JSON.stringify(item))\n}\n","\n/**\n * function to transform array of latLngs objects to array of coordinates\n * @param {array} arrLatLngs array of latLngs\n */\nexport function latLngsToCoords (arrLatLngs) {\n\tconst arr = []\n\tif (arrLatLngs.length === 1) { // Point\n\t\tarr.push(arrLatLngs[0].lng, arrLatLngs[0].lat)\n\t\treturn arr\n\t} else if (arrLatLngs.length > 1) { // Polygon min 4 items\n\t\tarrLatLngs.forEach((coor) => {\n\t\t\tarr.push([coor.lng, coor.lat])\n\t\t})\n\t\treturn [arr]\n\t}\n}\n\nexport const getLanLngFromArray = arr => ({ lat: arr[1], lng: arr[0] })\n\n/**\n * function to transform array of coordinates to array of latLngs objects\n * @param {array} arrCoordinates array of coordinates\n */\nexport function coordsToLatLngs (arrCoordinates) {\n\tconst arr = []\n\tif (arrCoordinates.length === 1) { // Polygon\n\t\tif (!arrCoordinates[0]) { return [] }\n\t\tarrCoordinates[0].forEach((coor) => {\n\t\t\tarr.push({ lat: coor[1], lng: coor[0] })\n\t\t})\n\t} else if (arrCoordinates.length === 2) { // Point\n\t\tarr.push({ lat: arrCoordinates[1], lng: arrCoordinates[0] })\n\t}\n\treturn arr\n}\n\n/**\n * function for get the center of and array of coordinates.\n * @param {array} latlngs array of coordinates {lat, lng}\n * @returns {lat, lng} center\n */\nexport function getCenter (latlngs) {\n\tif (!latlngs || !Array.isArray(latlngs) || latlngs.length < 3) { return false }\n\tconst pts = latlngs\n\tconst off = pts[0]\n\tlet twicearea = 0\n\tlet x = 0\n\tlet y = 0\n\tconst nPts = pts.length\n\tlet p1, p2\n\tlet f\n\tfor (let i = 0, j = nPts - 1; i < nPts; j = i++) {\n\t\tp1 = pts[i]\n\t\tp2 = pts[j]\n\t\tf = (p1.lat - off.lat) * (p2.lng - off.lng) - (p2.lat - off.lat) * (p1.lng - off.lng)\n\t\ttwicearea += f\n\t\tx += (p1.lat + p2.lat - 2 * off.lat) * f\n\t\ty += (p1.lng + p2.lng - 2 * off.lng) * f\n\t}\n\tf = twicearea * 3\n\treturn {\n\t\tlat: x / f + off.lat,\n\t\tlng: y / f + off.lng\n\t}\n}\n","import { get, includes, toInteger, camelCase, split, join, find } from 'lodash'\n\nexport const cngLiterToKg = 0.14\n\n/**\n * @param {object} t the translation library\n * @param {array} aSensors array of object with sensors\n * @param {object} status object with camelCase for status\n * @param {string} fuelUnit unit of fuel\n * @param {string} userLanguage current locale of user\n * @param {boolean} ignoreFuelsSensors for vehicle Popup we will ignore the fuelSensor\n * @returns {object}\n * label: Translated sensor name\n * value: Translated value [with unit if have it]\n */\nexport const processSensors = (t, aSensors, status, fuelUnit, userLanguage = 'en', ignoreFuelsSensors = true) => {\n\tconst sensors = []\n\tif (!aSensors || !Array.isArray(aSensors) || !status) { return sensors }\n\n\tconst taxiSensors = []\n\tconst fuelSensors = []\n\taSensors.forEach(sensor => {\n\t\tif (!sensor.type) { return }\n\t\tconst key = camelCase(sensor.type)\n\t\tconst val = status[key]\n\n\t\tlet label = ''\n\t\tlet value = ''\n\n\t\tif (includes(key, 'taxi')) { // taxi sensors will be processed later (need 2 sensors to detect state)\n\t\t\ttaxiSensors.push({ key, val })\n\t\t} else if (includes(key, 'fuel')) { // fuel sensors will be processed later (need to group and make sum of them if more than one)\n\t\t\tfuelSensors.push({ key, val })\n\t\t} else {\n\t\t\tif (!sensor.translation || !sensor.translation.length) { // default translations for sensosr which doesn't have them\n\t\t\t\tif (includes(key, 'door')) {\n\t\t\t\t\tconst arr = split(sensor.type, '-')\n\t\t\t\t\tarr.shift()\n\t\t\t\t\tconst translationKey = join(arr, '-')\n\t\t\t\t\tlabel = t(`vehicle.sensors.doors.labels.${translationKey}`)\n\t\t\t\t\tconst translationRef = val === true ? 'open' : val === false ? 'closed' : false\n\t\t\t\t\tvalue = translationRef ? t(`vehicle.sensors.doors.values.${translationRef}`) : '--'\n\t\t\t\t} else if (includes(key, 'freezer')) {\n\t\t\t\t\tlabel = t('vehicle.sensors.freezer.label')\n\t\t\t\t\tconst translationRef = val === true ? 'on' : val === false ? 'off' : false\n\t\t\t\t\tvalue = translationRef ? t(`vehicle.sensors.freezer.values.${translationRef}`) : '--'\n\t\t\t\t} else if (includes(key, 'auxCooling')) {\n\t\t\t\t\tlabel = t('vehicle.sensors.auxiliary-cooling.label')\n\t\t\t\t\tconst translationRef = val === true ? 'on' : val === false ? 'off' : false\n\t\t\t\t\tvalue = translationRef ? t(`vehicle.sensors.auxiliary-cooling.values.${translationRef}`) : '--'\n\t\t\t\t} else if (includes(key, 'auxHeating')) {\n\t\t\t\t\tlabel = t('vehicle.sensors.auxiliary-heating.label')\n\t\t\t\t\tconst translationRef = val === true ? 'on' : val === false ? 'off' : false\n\t\t\t\t\tvalue = translationRef ? t(`vehicle.sensors.auxiliary-heating.values.${translationRef}`) : '--'\n\t\t\t\t} else if (includes(key, 'power')) {\n\t\t\t\t\tlabel = t('vehicle.sensors.power-external.label')\n\t\t\t\t\tvalue = `${val ? (val / 1000).toFixed(1) : '--'} V`\n\t\t\t\t} else if (includes(key, 'tachoD8')) {\n\t\t\t\t\tlabel = 'Tacho D8'\n\t\t\t\t\tvalue = sensor.input === 'always-true' ? t('yes') : t('no')\n\t\t\t\t} else if (includes(key, 'temperature')) {\n\t\t\t\t\tif (includes(sensor.type, '-')) { // support for multiple temperatures (add the number of the sensor)\n\t\t\t\t\t\tconst arr = split(sensor.type, '-')\n\t\t\t\t\t\tlabel = `${t('map:temperatureSensor')} ${arr[1]}`\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlabel = t('map:temperatureSensor')\n\t\t\t\t\t}\n\t\t\t\t\tvalue = `${val ? toInteger(val) : '--'} ${t('vehicle.sensors.temperature.unit')}`\n\t\t\t\t} else {\n\t\t\t\t\tif (includes(sensor.input, 'analog-')) { // analog-input\n\t\t\t\t\t\tlabel = key\n\t\t\t\t\t\tconst outputUnit = sensor.outputUnit || ''\n\t\t\t\t\t\tvalue = `${val ? toInteger(val) : '--'} ${outputUnit}`\n\t\t\t\t\t} else { // digital-input without translations\n\t\t\t\t\t\tlabel = key\n\t\t\t\t\t\tvalue = val\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet translation = sensor.translation.findBy('locale', userLanguage)\n\t\t\t\tif (!translation) { // if userLanguage is not available get the en translation\n\t\t\t\t\ttranslation = sensor.translation.findBy('locale', 'en')\n\t\t\t\t}\n\t\t\t\tif (!translation) { // if the en translation is not available get the first available translation\n\t\t\t\t\ttranslation = sensor.translation[0]\n\t\t\t\t}\n\t\t\t\tif (translation && translation.text) {\n\t\t\t\t\tlabel = translation.text\n\t\t\t\t\tconst translatedValue = translation.values.findBy('value', val)\n\t\t\t\t\tvalue = translatedValue && translatedValue.text ? `${translatedValue.text}` : '--'\n\t\t\t\t\tif (sensor.outputUnit) {\n\t\t\t\t\t\tvalue += ` ${sensor.outputUnit}`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsensors.push({ label, value })\n\t\t}\n\t})\n\n\tif (!ignoreFuelsSensors && fuelSensors.length) { // fuel sensors\n\t\tlet total = 0\n\t\tfuelSensors.forEach(fuel => {\n\t\t\tif (fuel.value) {\n\t\t\t\ttotal += fuel.value\n\t\t\t}\n\t\t})\n\t\tconst label = t('fuel-level', { context: 'sensor' })\n\t\tconst value = `${total} ${fuelUnit}`\n\t\tsensors.push({ label, value })\n\t}\n\tif (taxiSensors.length === 2) { // taxi sensors\n\t\tconst available = taxiSensors.findBy('key', 'taxiAvailable')\n\t\tconst occupied = taxiSensors.findBy('key', 'taxiOccupied')\n\t\tlet status = 'off' // default off\n\t\tif (available.val === true && occupied.val === false) { // available\n\t\t\tstatus = 'available'\n\t\t} else if (available.val === false && occupied.val === true) { // occupied\n\t\t\tstatus = 'occupied'\n\t\t} else if (available.val === null || occupied.val === null) { // no availability\n\t\t\tstatus = 'not-available'\n\t\t}\n\t\tconst label = t('vehicle.sensors.taxi.label')\n\t\tconst value = t(`vehicle.sensors.taxi.values.${status}`)\n\t\tsensors.push({ label, value })\n\t}\n\treturn sensors\n}\n\nexport const durationAsHM = (duration, unit = 's') => {\n\treturn moment.duration(duration, unit).format('H[h] m[m]')\n}\n\nexport const durationAsHMin = (time, unit = 's') => {\n\treturn moment.duration(time, unit).format('H[h] m[min]')\n}\n\nexport const getUser = (id, users, from = 'raw.id') => {\n\tif (!id || !users || !users.length) return null\n\treturn find(users, [from, id])\n}\n\nexport const getTachoDriver = (driver, users, timeZone) => {\n\tconst card = get(driver, 'card') || ''\n\tif (card.trim().length !== 14) return false\n\n\tconst time = (get(driver, 'computed.driveTimeNextWeek') || 0) - 122400\n\tconst _distance = get(driver, 'distance') || 0\n\tconst parsedDistance = Math.round(_distance / 1000)\n\tconst activityDistance = (!parsedDistance || parsedDistance > 400) ? '' : `${parsedDistance}km` // hided bigger than 400km because of devices 4g firmware bug\n\tconst driveTimeNextWeek = { a: '', b: '' }\n\tif (time > 0) {\n\t\tdriveTimeNextWeek.a = durationAsHM(34, 'h')\n\t\tdriveTimeNextWeek.b = ` + ${durationAsHM(time)}`\n\t} else {\n\t\tdriveTimeNextWeek.a = durationAsHM(time)\n\t}\n\n\tconst user = getUser(card, users, 'raw.details.tachoCardID')\n\n\tconst result = {\n\t\tname: get(user, 'name', '-'),\n\t\tphoneNumber: get(user, 'raw.phoneNumber', null),\n\t\tactivity: (get(driver, 'activity')),\n\t\tactivityTime: durationAsHMin(get(driver, 'time') || 0),\n\t\tactivityDistance,\n\t\tdriveTimeLeft: (get(driver, 'computed.driveTimeLeft') || 0) > 0 ? durationAsHM(get(driver, 'computed.driveTimeLeft') || 0) : '-',\n\t\tdriveTimeLeftDay: (get(driver, 'computed.driveTimeLeftDay') || 0) > 0 ? durationAsHM(get(driver, 'computed.driveTimeLeftDay') || 0) : '-',\n\t\tdriveTimeLeftWeek: (get(driver, 'computed.driveTimeLeftWeek') || 0) > 0 ? durationAsHM(get(driver, 'computed.driveTimeLeftWeek') || 0) : '-',\n\t\tremainAmplitude: (get(driver, 'computed.remainAmplitude') || 0) > 0 ? durationAsHM(get(driver, 'computed.remainAmplitude') || 0) : '-',\n\t\ttotalRecovery: (get(driver, 'computed.totalRecovery') || 0) > 0 ? durationAsHM(get(driver, 'computed.totalRecovery') || 0) : '-',\n\t\tlastDailyDuration: (get(driver, 'computed.lastDailyDuration') || 0) > 0 ? durationAsHM(get(driver, 'computed.lastDailyDuration') || 0) : '-',\n\t\tamplitudeStartTime: (get(driver, 'computed.amplitudeStartTime') || 0) > 0 ? moment.utc(get(driver, 'computed.amplitudeStartTime')).tz(timeZone).format('DD/MM/YYYY HH:mm') : '-',\n\t}\n\treturn result\n}\n\nexport const getVehicleMakeModelYear = vehicle => {\n\tif (!vehicle || vehicle?.raw?.type !== 'truck') return null\n\tconst arr = []\n\tconst make = vehicle?.raw?.make\n\tif (make) arr.push(make)\n\tconst model = vehicle?.raw?.model\n\tif (model) arr.push(model)\n\tconst year = vehicle?.raw?.year\n\tif (year) arr.push(year)\n\treturn arr.join(', ')\n}\n\nexport const getVehicleStatus = veh => {\n\tconst engineState = get(veh, 'status.engineState')\n\tconst speed = get(veh, 'status.speed')\n\tconst updatedAt = new Date(get(veh, 'status.updatedAt'))\n\tconst power = get(veh, 'status.sensors.powerExternal')\n\tconst manualState = get(veh, 'status.state')\n\tconst now = new Date()\n\t/** Time (in ms) after which a vehicle is considered 'unreachable' */\n\tconst tenMinutes = 600000\n\tconst ninetyMinutes = 5400000\n\tconst companyID = get(veh, 'companyID')\n\tconst threshold = companyID === '000026' ? ninetyMinutes : tenMinutes // DUNCA(000026) 600000\n\tif (get(veh, 'noDevice') || manualState) return 'powerOutage'\n\tif ((now - updatedAt) > threshold) {\n\t\tif (power != null && power < 7000) { return 'powerOutage' }\n\t\treturn 'unreachable'\n\t}\n\n\tif (!engineState) return 'off'\n\n\treturn speed > 0 ? 'moving' : 'stopped'\n}\n\nexport const getStatusColor = status => {\n\tlet color = 'yellow'\n\tif (status === 'moving' || status === 'stopped') {\n\t\tcolor = 'green'\n\t} else if (status === 'off') {\n\t\tcolor = 'red'\n\t} else if (status === 'powerOutage') {\n\t\tcolor = 'gray'\n\t}\n\treturn color\n}\n","export const OPTIONS_TARIFF_CODE = [\n\t{ value: '01000000', label: 'ANIMALE VII' },\n\t{ value: '01010000', label: 'Cai, măgari, catâri și bardoi, vii' },\n\t{ value: '01012100', label: '- Cai' },\n\t{ value: '01012100', label: '-- Reproducători de rasă pură' },\n\t{ value: '01012900', label: '-- Altele' },\n\t{ value: '01012910', label: '--- Destinați sacrificării' },\n\t{ value: '01012990', label: '--- Altele' },\n\t{ value: '01013000', label: '- Măgari' },\n\t{ value: '01019000', label: '- Altele' },\n\t{ value: '01020000', label: 'Animale vii din specia bovine' },\n\t{ value: '01022100', label: '- Bovine' },\n\t{ value: '01022100', label: '-- Reproducători de rasă pură' },\n\t{ value: '01022110', label: '--- Juninci (care nu au fătat niciodată)' },\n\t{ value: '01022130', label: '--- Vaci' },\n\t{ value: '01022190', label: '--- Altele' },\n\t{ value: '01022900', label: '-- Altele' },\n\t{ value: '01022905', label: '--- Din subgenul Bibos sau din subgenul Poephagus' },\n\t{ value: '01022910', label: '--- Altele' },\n\t{ value: '01022910', label: '---- Cu o greutate de maximum 80 kg' },\n\t{ value: '01022921', label: '---- Cu o greutate peste 80 kg, dar de maximum 160 kg' },\n\t{ value: '01022921', label: '----- Destinate sacrificării' },\n\t{ value: '01022929', label: '----- Altele' },\n\t{ value: '01022941', label: '---- Cu o greutate peste 160 kg, dar de maximum 300 kg' },\n\t{ value: '01022941', label: '----- Destinate sacrificării' },\n\t{ value: '01022949', label: '----- Altele' },\n\t{ value: '01022951', label: '---- Cu o greutate peste 300 kg' },\n\t{ value: '01022951', label: '----- Juninci (care nu au fătat niciodată)' },\n\t{ value: '01022951', label: '------ Destinate sacrificării' },\n\t{ value: '01022959', label: '------ Altele' },\n\t{ value: '01022961', label: '----- Vaci' },\n\t{ value: '01022961', label: '------ Destinate sacrificării' },\n\t{ value: '01022969', label: '------ Altele' },\n\t{ value: '01022991', label: '----- Altele' },\n\t{ value: '01022991', label: '------ Destinate sacrificării' },\n\t{ value: '01022999', label: '------ Altele' },\n\t{ value: '01023100', label: '- Bivoli' },\n\t{ value: '01023100', label: '-- Reproducători de rasă pură' },\n\t{ value: '01023900', label: '-- Altele' },\n\t{ value: '01023910', label: '--- De specie domestică' },\n\t{ value: '01023990', label: '--- Altele' },\n\t{ value: '01029000', label: '- Altele' },\n\t{ value: '01029020', label: '-- Reproducători de rasă pură' },\n\t{ value: '01029091', label: '-- Altele' },\n\t{ value: '01029091', label: '--- De specie domestică' },\n\t{ value: '01029099', label: '--- Altele' },\n\t{ value: '01030000', label: 'Animale vii din specia porcine' },\n\t{ value: '01031000', label: '- Reproducători de rasă pură' },\n\t{ value: '01039100', label: '- Altele' },\n\t{ value: '01039100', label: '-- Cu o greutate sub 50 kg' },\n\t{ value: '01039110', label: '--- Animale domestice din specia porcină' },\n\t{ value: '01039190', label: '--- Altele' },\n\t{ value: '01039200', label: '-- Cu o greutate de minimum 50 kg' },\n\t{ value: '01039211', label: '--- Animale domestice din specia porcină' },\n\t{ value: '01039211', label: '---- Scroafe cu o greutate minimă de 160 kg, care au fătat cel puțin o dată' },\n\t{ value: '01039219', label: '---- Altele' },\n\t{ value: '01039290', label: '--- Altele' },\n\t{ value: '01040000', label: 'Animale vii din specia ovine sau caprine' },\n\t{ value: '01041000', label: '- Din specia ovine' },\n\t{ value: '01041010', label: '-- Reproducători de rasă pură' },\n\t{ value: '01041030', label: '-- Altele' },\n\t{ value: '01041030', label: '--- Miei (până la 1 an)' },\n\t{ value: '01041080', label: '--- Altele' },\n\t{ value: '01042000', label: '- Din specia caprine' },\n\t{ value: '01042010', label: '-- Reproducători de rasă pură' },\n\t{ value: '01042090', label: '-- Altele' },\n\t{ value: '01050000', label: 'Cocoși, găini, rațe, gâște, curcani, curci și bibilici, vii, din specii domestice' },\n\t{ value: '01051100', label: '- Cu o greutate de maximum 185 g' },\n\t{ value: '01051100', label: '-- Cocoși și găini' },\n\t{ value: '01051111', label: '--- Găini de selecție și de reproducție' },\n\t{ value: '01051111', label: '---- De rase ouătoare' },\n\t{ value: '01051119', label: '---- Altele' },\n\t{ value: '01051191', label: '--- Altele' },\n\t{ value: '01051191', label: '---- De rase ouătoare' },\n\t{ value: '01051199', label: '---- Altele' },\n\t{ value: '01051200', label: '-- Curcani și curci' },\n\t{ value: '01051300', label: '-- Rațe' },\n\t{ value: '01051400', label: '-- Gâște' },\n\t{ value: '01051500', label: '-- Bibilici' },\n\t{ value: '01059400', label: '- Altele' },\n\t{ value: '01059400', label: '-- Cocoși și găini' },\n\t{ value: '01059900', label: '-- Altele' },\n\t{ value: '01059910', label: '--- Rațe' },\n\t{ value: '01059920', label: '--- Gâște' },\n\t{ value: '01059930', label: '--- Curcani și curci' },\n\t{ value: '01059950', label: '--- Bibilici' },\n\t{ value: '01060000', label: 'Alte animale vii' },\n\t{ value: '01061100', label: '- Mamifere' },\n\t{ value: '01061100', label: '-- Primate' },\n\t{ value: '01061200', label: '-- Balene, delfini și marsuini (mamifere din ordinul Cetacee); lamantini și dugongi (mamifere din ordinul Sirenia); foci, lei de mare și morse (mamifere din subordinul Pinnipedia)' },\n\t{ value: '01061300', label: '-- Cămile și alte camelide (Camelidae)' },\n\t{ value: '01061400', label: '-- Iepuri și iepuri de câmp' },\n\t{ value: '01061410', label: '--- Iepuri domestici' },\n\t{ value: '01061490', label: '--- Altele' },\n\t{ value: '01061900', label: '-- Altele' },\n\t{ value: '01062000', label: '- Reptile (inclusiv șerpi și broaște țestoase de mare)' },\n\t{ value: '01063100', label: '- Păsări' },\n\t{ value: '01063100', label: '-- Păsări de pradă' },\n\t{ value: '01063200', label: '-- Psittaciforme (inclusiv papagali, peruși, arakanga și cacaduu)' },\n\t{ value: '01063300', label: '-- Struți; emu (Dromaius novaehollandiae)' },\n\t{ value: '01063900', label: '-- Altele' },\n\t{ value: '01063910', label: '--- Porumbei' },\n\t{ value: '01063980', label: '--- Altele' },\n\t{ value: '01064100', label: '- Insecte' },\n\t{ value: '01064100', label: '-- Albine' },\n\t{ value: '01064900', label: '-- Altele' },\n\t{ value: '01069000', label: '- Altele' },\n\t{ value: '02000000', label: 'CARNE ȘI ORGANE COMESTIBILE' },\n\t{ value: '02010000', label: 'Carne de animale din specia bovine, proaspătă sau refrigerată' },\n\t{ value: '02011000', label: '- În carcase sau semicarcase' },\n\t{ value: '02012000', label: '- Alte bucăți nedezosate' },\n\t{ value: '02012020', label: '-- Sferturi numite \"compensate\"' },\n\t{ value: '02012030', label: '-- Sferturi anterioare neseparate sau separate' },\n\t{ value: '02012050', label: '-- Sferturi posterioare neseparate sau separate' },\n\t{ value: '02012090', label: '-- Altele' },\n\t{ value: '02013000', label: '- Dezosată' },\n\t{ value: '02020000', label: 'Carne de animale din specia bovine, congelată' },\n\t{ value: '02021000', label: '- În carcase sau semicarcase' },\n\t{ value: '02022000', label: '- Alte bucăți nedezosate' },\n\t{ value: '02022010', label: '-- Sferturi numite \"compensate\"' },\n\t{ value: '02022030', label: '-- Sferturi anterioare neseparate sau separate' },\n\t{ value: '02022050', label: '-- Sferturi posterioare neseparate sau separate' },\n\t{ value: '02022090', label: '-- Altele' },\n\t{ value: '02023000', label: '- Dezosată' },\n\t{ value: '02023010', label: '-- Sferturi anterioare, întregi sau tăiate în maximum cinci bucăți, fiecare sfert anterior fiind prezentat într-un singur bloc congelat; sferturi numite \"compensate\" prezentate în două blocuri congelate, unul dintre ele conținând partea anterioară a carcasei, întreagă sau tranșată în maximum cinci bucăți, iar celălalt conținând sfertul posterior, într-o singură bucată, fără mușchiul file' },\n\t{ value: '02023050', label: '-- Bucăți rezultate din sferturi anterioare și din piept numite \"australiene\"' },\n\t{ value: '02023090', label: '-- Altele' },\n\t{ value: '02030000', label: 'Carne de animale din specia porcine, proaspătă, refrigerată sau congelată' },\n\t{ value: '02031100', label: '- Proaspătă sau refrigerată' },\n\t{ value: '02031100', label: '-- În carcase sau semicarcase' },\n\t{ value: '02031110', label: '--- De animale domestice din specia porcine' },\n\t{ value: '02031190', label: '--- Altele' },\n\t{ value: '02031200', label: '-- Jamboane, spete și părți din acestea, nedezosate' },\n\t{ value: '02031211', label: '--- De animale domestice din specia porcine' },\n\t{ value: '02031211', label: '---- Jamboane și părți din acestea' },\n\t{ value: '02031219', label: '---- Spete și părți din acestea' },\n\t{ value: '02031290', label: '--- Altele' },\n\t{ value: '02031900', label: '-- Altele' },\n\t{ value: '02031911', label: '--- De animale domestice din specia porcine' },\n\t{ value: '02031911', label: '---- Părți anterioare și părți din acestea' },\n\t{ value: '02031913', label: '---- Spinări și părți din acestea, nedezosate' },\n\t{ value: '02031915', label: '---- Piept (împănat) și părți de piept' },\n\t{ value: '02031955', label: '---- Altele' },\n\t{ value: '02031955', label: '----- Dezosate' },\n\t{ value: '02031959', label: '----- Altele' },\n\t{ value: '02031990', label: '--- Altele' },\n\t{ value: '02032100', label: '- Congelată' },\n\t{ value: '02032100', label: '-- În carcase sau semicarcase' },\n\t{ value: '02032110', label: '--- De la animale domestice din specia porcine' },\n\t{ value: '02032190', label: '--- Altele' },\n\t{ value: '02032200', label: '-- Jamboane, spete și părți din acestea, nedezosate' },\n\t{ value: '02032211', label: '--- De la animale domestice din specia porcine' },\n\t{ value: '02032211', label: '---- Jamboane și părți din acestea' },\n\t{ value: '02032219', label: '---- Spete și părți din acestea' },\n\t{ value: '02032290', label: '--- Altele' },\n\t{ value: '02032900', label: '-- Altele' },\n\t{ value: '02032911', label: '--- De la animale domestice din specia porcine' },\n\t{ value: '02032911', label: '---- Părți anterioare și părți din acestea' },\n\t{ value: '02032913', label: '---- Spinări și părți din acestea, nedezosate' },\n\t{ value: '02032915', label: '---- Piept (împănat) și părți de piept' },\n\t{ value: '02032955', label: '---- Altele' },\n\t{ value: '02032955', label: '----- Dezosate' },\n\t{ value: '02032959', label: '----- Altele' },\n\t{ value: '02032990', label: '--- Altele' },\n\t{ value: '02040000', label: 'Carne de animale din speciile ovine sau caprine, proaspătă, refrigerată sau congelată' },\n\t{ value: '02041000', label: '- Carcase și semicarcase de miel, proaspete sau refrigerate' },\n\t{ value: '02042100', label: '- Altă carne de animale din specia ovine, proaspătă sau refrigerată' },\n\t{ value: '02042100', label: '-- În carcase sau semicarcase' },\n\t{ value: '02042200', label: '-- Alte părți nedezosate' },\n\t{ value: '02042210', label: '--- Cască sau semicască' },\n\t{ value: '02042230', label: '--- Spinali și/sau șa sau semispinali și/sau semișa' },\n\t{ value: '02042250', label: '--- Chiulotă sau semichiulotă' },\n\t{ value: '02042290', label: '--- Altele' },\n\t{ value: '02042300', label: '-- Dezosată' },\n\t{ value: '02043000', label: '- Carcase și semicarcase de miel, congelate' },\n\t{ value: '02044100', label: '- Altă carne de animale din specia ovine, congelată' },\n\t{ value: '02044100', label: '-- În carcase sau semicarcase' },\n\t{ value: '02044200', label: '-- Alte părți nedezosate' },\n\t{ value: '02044210', label: '--- Cască sau semicască' },\n\t{ value: '02044230', label: '--- Spinali și/sau șa sau semispinali și/sau semișa' },\n\t{ value: '02044250', label: '--- Chiulotă sau semichiulotă' },\n\t{ value: '02044290', label: '--- Altele' },\n\t{ value: '02044300', label: '-- Dezosată' },\n\t{ value: '02044310', label: '--- De miel' },\n\t{ value: '02044390', label: '--- Altele' },\n\t{ value: '02045000', label: '- Carne de animale din specia caprine' },\n\t{ value: '02045011', label: '-- Proaspătă sau refrigerată' },\n\t{ value: '02045011', label: '--- Carcase sau semicarcase' },\n\t{ value: '02045013', label: '--- Cască sau semicască' },\n\t{ value: '02045015', label: '--- Spinali și/sau șa sau semispinali și/sau semișa' },\n\t{ value: '02045019', label: '--- Chiulotă sau semichiulotă' },\n\t{ value: '02045031', label: '--- Altele' },\n\t{ value: '02045031', label: '---- Bucăți nedezosate' },\n\t{ value: '02045039', label: '---- Bucăți dezosate' },\n\t{ value: '02045051', label: '-- Congelată' },\n\t{ value: '02045051', label: '--- Carcase sau semicarcase' },\n\t{ value: '02045053', label: '--- Cască sau semicască' },\n\t{ value: '02045055', label: '--- Spinali și/sau șa sau semispinali și/sau semișa' },\n\t{ value: '02045059', label: '--- Chiulotă sau semichiulotă' },\n\t{ value: '02045071', label: '--- Altele' },\n\t{ value: '02045071', label: '---- Bucăți nedezosate' },\n\t{ value: '02045079', label: '---- Bucăți dezosate' },\n\t{ value: '02050000', label: 'Carne de cal, de măgar sau de catâr, proaspătă, refrigerată sau congelată' },\n\t{ value: '02050020', label: '- Proaspătă sau refrigerată' },\n\t{ value: '02050080', label: '- Congelată' },\n\t{ value: '02060000', label: 'Organe comestibile de animale din speciile bovine, porcine, ovine, caprine, de cai, de măgari sau de catâri, proaspete, refrigerate sau congelate' },\n\t{ value: '02061000', label: '- De animale din specia bovine, proaspete sau refrigerate' },\n\t{ value: '02061010', label: '-- Destinate fabricării de produse farmaceutice' },\n\t{ value: '02061095', label: '-- Altele' },\n\t{ value: '02061095', label: '--- Mușchii pilieri diafragmatici și diafragma' },\n\t{ value: '02061098', label: '--- Altele' },\n\t{ value: '02062100', label: '- Din specia bovine, congelate' },\n\t{ value: '02062100', label: '-- Limbă' },\n\t{ value: '02062200', label: '-- Ficat' },\n\t{ value: '02062900', label: '-- Altele' },\n\t{ value: '02062910', label: '--- Destinate fabricării produselor farmaceutice' },\n\t{ value: '02062991', label: '--- Altele' },\n\t{ value: '02062991', label: '---- Mușchii pilieri diafragmatici și diafragma' },\n\t{ value: '02062999', label: '---- Altele' },\n\t{ value: '02063000', label: '- Din specia porcine, proaspete sau refrigerate' },\n\t{ value: '02064100', label: '- Din specia porcine, congelate' },\n\t{ value: '02064100', label: '-- Ficat' },\n\t{ value: '02064900', label: '-- Altele' },\n\t{ value: '02068000', label: '- Altele, proaspete sau refrigerate' },\n\t{ value: '02068010', label: '-- Destinate fabricării de produse farmaceutice' },\n\t{ value: '02068091', label: '-- Altele' },\n\t{ value: '02068091', label: '--- De cai, măgari sau catâri' },\n\t{ value: '02068099', label: '--- Din speciile ovine sau caprine' },\n\t{ value: '02069000', label: '- Altele, congelate' },\n\t{ value: '02069010', label: '-- Destinate fabricării de produse farmaceutice' },\n\t{ value: '02069091', label: '-- Altele' },\n\t{ value: '02069091', label: '--- De cai, măgari sau catâri' },\n\t{ value: '02069099', label: '--- Din speciile ovine sau caprine' },\n\t{ value: '02070000', label: 'Carne și organe comestibile, proaspete, refrigerate sau congelate, de păsări de la poziția 0105' },\n\t{ value: '02071100', label: '- De cocoși și de găini din specia Gallus domesticus' },\n\t{ value: '02071100', label: '-- Netranșate în bucăți, proaspete sau refrigerate' },\n\t{ value: '02071110', label: '--- Fără pene, eviscerate, cu cap și picioare, denumite \"pui 83 %\"' },\n\t{ value: '02071130', label: '--- Fără pene, eviscerate, fără cap și picioare, dar cu gât, inimă, ficat și pipotă, denumite \"pui 70 %\"' },\n\t{ value: '02071190', label: '--- Fără pene, eviscerate, fără cap și picioare și fără gât, inimă, ficat și pipotă, denumite \"pui 65 %\" sau altfel prezentate' },\n\t{ value: '02071200', label: '-- Netranșate în bucăți, congelate' },\n\t{ value: '02071210', label: '--- Fără pene, eviscerate, fără cap și picioare, dar cu gât, inimă, ficat și pipotă, denumite \"pui 70 %\"' },\n\t{ value: '02071290', label: '--- Fără pene, eviscerate, fără cap și picioare și fără gât, inimă, ficat și pipotă, denumite \"pui 65 %\", sau altfel prezentate' },\n\t{ value: '02071300', label: '-- Bucăți și organe, proaspete sau refrigerate' },\n\t{ value: '02071310', label: '--- Bucăți' },\n\t{ value: '02071310', label: '---- Dezosate' },\n\t{ value: '02071320', label: '---- Nedezosate' },\n\t{ value: '02071320', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02071330', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02071340', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02071350', label: '----- Piept și bucăți de piept' },\n\t{ value: '02071360', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02071370', label: '----- Altele' },\n\t{ value: '02071391', label: '--- Organe' },\n\t{ value: '02071391', label: '---- Ficat' },\n\t{ value: '02071399', label: '---- Altele' },\n\t{ value: '02071400', label: '-- Bucăți și organe, congelate' },\n\t{ value: '02071410', label: '--- Bucăți' },\n\t{ value: '02071410', label: '---- Dezosate' },\n\t{ value: '02071420', label: '---- Nedezosate' },\n\t{ value: '02071420', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02071430', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02071440', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02071450', label: '----- Piept și bucăți de piept' },\n\t{ value: '02071460', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02071470', label: '----- Altele' },\n\t{ value: '02071491', label: '--- Organe' },\n\t{ value: '02071491', label: '---- Ficat' },\n\t{ value: '02071499', label: '---- Altele' },\n\t{ value: '02072400', label: '- De curcani și de curci' },\n\t{ value: '02072400', label: '-- Netranșate în bucăți, proaspete sau refrigerate' },\n\t{ value: '02072410', label: '--- Fără pene, eviscerate, fără cap și picioare, cu gât, inimă, ficat și pipotă, denumite \"curcani 80 %\"' },\n\t{ value: '02072490', label: '--- Fără pene, eviscerate, fără cap și gât, fără picioare, inimă, ficat și pipotă, denumite \"curcani 73 %\", sau altfel prezentate' },\n\t{ value: '02072500', label: '-- Netranșate în bucăți, congelate' },\n\t{ value: '02072510', label: '--- Fără pene, eviscerate, fără cap și picioare, cu gât, inimă, ficat și pipotă, denumite \"curcani 80 %\"' },\n\t{ value: '02072590', label: '--- Fără pene, eviscerate, fără cap și gât, fără picioare, inimă, ficat și pipotă, denumite \"curcani 73 %\", sau altfel prezentați' },\n\t{ value: '02072600', label: '-- Bucăți și organe, proaspete sau refrigerate' },\n\t{ value: '02072610', label: '--- Bucăți' },\n\t{ value: '02072610', label: '---- Dezosate' },\n\t{ value: '02072620', label: '---- Nedezosate' },\n\t{ value: '02072620', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02072630', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02072640', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02072650', label: '----- Piept și bucăți de piept' },\n\t{ value: '02072660', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02072660', label: '------ Copane și bucăți de copane' },\n\t{ value: '02072670', label: '------ Altele' },\n\t{ value: '02072680', label: '----- Altele' },\n\t{ value: '02072691', label: '--- Organe' },\n\t{ value: '02072691', label: '---- Ficat' },\n\t{ value: '02072699', label: '---- Altele' },\n\t{ value: '02072700', label: '-- Bucăți și organe, congelate' },\n\t{ value: '02072710', label: '--- Bucăți' },\n\t{ value: '02072710', label: '---- Dezosate' },\n\t{ value: '02072720', label: '---- Nedezosate' },\n\t{ value: '02072720', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02072730', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02072740', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02072750', label: '----- Piept și bucăți de piept' },\n\t{ value: '02072760', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02072760', label: '------ Copane și bucăți de copane' },\n\t{ value: '02072770', label: '------ Altele' },\n\t{ value: '02072780', label: '----- Altele' },\n\t{ value: '02072791', label: '--- Organe' },\n\t{ value: '02072791', label: '---- Ficat' },\n\t{ value: '02072799', label: '---- Altele' },\n\t{ value: '02074100', label: '- De rață' },\n\t{ value: '02074100', label: '-- Netranșate în bucăți, proaspete sau refrigerate' },\n\t{ value: '02074120', label: '--- Fără pene și sânge, fără intestine, dar neeviscerate, cu cap și picioare, denumite \"rațe 85 %\"' },\n\t{ value: '02074130', label: '--- Fără pene, eviscerate, fără cap și picioare, cu gât, inimă, ficat și pipotă, denumite \"rațe 70 %\"' },\n\t{ value: '02074180', label: '--- Fără pene, eviscerate, fără cap și picioare și fără gât, inimă, ficat și pipotă, denumite \"rațe 63 %\", sau altfel prezentate' },\n\t{ value: '02074200', label: '-- Netranșate în bucăți, congelate' },\n\t{ value: '02074230', label: '--- Fără pene, eviscerate, fără cap și picioare, cu gât, inimă, ficat și pipotă, denumite \"rațe 70 %\"' },\n\t{ value: '02074280', label: '--- Fără pene, eviscerate, fără cap și picioare și fără gât, inimă, ficat și pipotă, denumite \"rațe 63 %\", sau altfel prezentate' },\n\t{ value: '02074300', label: '-- Ficat gras, proaspăt sau refrigerat' },\n\t{ value: '02074400', label: '-- Altele, proaspete sau refrigerate' },\n\t{ value: '02074410', label: '--- Bucăți' },\n\t{ value: '02074410', label: '---- Dezosate' },\n\t{ value: '02074421', label: '---- Nedezosate' },\n\t{ value: '02074421', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02074431', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02074441', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02074451', label: '----- Piept și bucăți de piept' },\n\t{ value: '02074461', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02074471', label: '----- Părți numite \"trunchi de rațe\"' },\n\t{ value: '02074481', label: '----- Altele' },\n\t{ value: '02074491', label: '--- Organe' },\n\t{ value: '02074491', label: '---- Ficat, altul decât ficatul gras' },\n\t{ value: '02074499', label: '---- Altele' },\n\t{ value: '02074500', label: '-- Altele, congelate' },\n\t{ value: '02074510', label: '--- Bucăți' },\n\t{ value: '02074510', label: '---- Dezosate' },\n\t{ value: '02074521', label: '---- Nedezosate' },\n\t{ value: '02074521', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02074531', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02074541', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02074551', label: '----- Piept și bucăți de piept' },\n\t{ value: '02074561', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02074571', label: '----- Părți numite \"trunchi de rațe\"' },\n\t{ value: '02074581', label: '----- Altele' },\n\t{ value: '02074593', label: '--- Organe' },\n\t{ value: '02074593', label: '---- Ficat' },\n\t{ value: '02074593', label: '----- Ficat gras' },\n\t{ value: '02074595', label: '----- Altele' },\n\t{ value: '02074599', label: '---- Altele' },\n\t{ value: '02075100', label: '- De gâscă' },\n\t{ value: '02075100', label: '-- Netranșate în bucăți, proaspete sau refrigerate' },\n\t{ value: '02075110', label: '--- Fără pene și sânge, neeviscerate, cu cap și picioare, denumite \"gâște 82 %\"' },\n\t{ value: '02075190', label: '--- Fără pene, eviscerate, fără cap și picioare, cu sau fără inimă și pipotă, denumite \"gâște 75 %\", sau altfel prezentate' },\n\t{ value: '02075200', label: '-- Netranșate în bucăți, congelate' },\n\t{ value: '02075210', label: '--- Fără pene și sânge, neeviscerate, cu cap și picioare, denumite \"gâște 82 %\"' },\n\t{ value: '02075290', label: '--- Fără pene, eviscerate, fără cap și picioare, cu sau fără inimă și pipotă, denumite \"gâște 75 %\", sau altfel prezentate' },\n\t{ value: '02075300', label: '-- Ficat gras, proaspăt sau refrigerat' },\n\t{ value: '02075400', label: '-- Altele, proaspete sau refrigerate' },\n\t{ value: '02075410', label: '--- Bucăți' },\n\t{ value: '02075410', label: '---- Dezosate' },\n\t{ value: '02075421', label: '---- Nedezosate' },\n\t{ value: '02075421', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02075431', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02075441', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02075451', label: '----- Piept și bucăți de piept' },\n\t{ value: '02075461', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02075471', label: '----- Părți numite \"trunchi de gâște\"' },\n\t{ value: '02075481', label: '----- Altele' },\n\t{ value: '02075491', label: '--- Organe' },\n\t{ value: '02075491', label: '---- Ficat, altul decât ficatul gras' },\n\t{ value: '02075499', label: '---- Altele' },\n\t{ value: '02075500', label: '-- Altele, congelate' },\n\t{ value: '02075510', label: '--- Bucăți' },\n\t{ value: '02075510', label: '---- Dezosate' },\n\t{ value: '02075521', label: '---- Nedezosate' },\n\t{ value: '02075521', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02075531', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02075541', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02075551', label: '----- Piept și bucăți de piept' },\n\t{ value: '02075561', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02075571', label: '----- Părți numite \"trunchi de gâște\"' },\n\t{ value: '02075581', label: '----- Altele' },\n\t{ value: '02075593', label: '--- Organe' },\n\t{ value: '02075593', label: '---- Ficat' },\n\t{ value: '02075593', label: '----- Ficat gras' },\n\t{ value: '02075595', label: '----- Altele' },\n\t{ value: '02075599', label: '---- Altele' },\n\t{ value: '02076000', label: '- De bibilică' },\n\t{ value: '02076005', label: '-- Netranșate în bucăți, proaspete, refrigerate sau congelate' },\n\t{ value: '02076010', label: '-- Altele, proaspete, refrigerate sau congelate' },\n\t{ value: '02076010', label: '--- Bucăți' },\n\t{ value: '02076010', label: '---- Dezosate' },\n\t{ value: '02076021', label: '---- Nedezosate' },\n\t{ value: '02076021', label: '----- Jumătăți sau sferturi' },\n\t{ value: '02076031', label: '----- Aripi întregi, cu sau fără vârfuri' },\n\t{ value: '02076041', label: '----- Spate, gâturi, spate cu gâturi împreună, târtițe, vârfuri de aripi' },\n\t{ value: '02076051', label: '----- Piept și bucăți de piept' },\n\t{ value: '02076061', label: '----- Pulpe și bucăți de pulpe' },\n\t{ value: '02076081', label: '----- Altele' },\n\t{ value: '02076091', label: '--- Organe' },\n\t{ value: '02076091', label: '---- Ficat' },\n\t{ value: '02076099', label: '---- Altele' },\n\t{ value: '02080000', label: 'Altă carne și organe comestibile, proaspete, refrigerate sau congelate' },\n\t{ value: '02081000', label: '- De iepuri domestici sau de iepuri de câmp' },\n\t{ value: '02081010', label: '-- De iepuri domestici' },\n\t{ value: '02081090', label: '-- Altele' },\n\t{ value: '02083000', label: '- De primate' },\n\t{ value: '02084000', label: '- De balene, delfini și marsuini (mamifere din ordinul Cetacee); de lamantini și dugongi (mamifere din ordinul Sirenia); de foci, lei de mare și morse (mamifere din subordinul Pinnipedia)' },\n\t{ value: '02084010', label: '-- Carne de balenă' },\n\t{ value: '02084020', label: '-- Carne de focă' },\n\t{ value: '02084080', label: '-- Altele' },\n\t{ value: '02085000', label: '- De reptile (inclusiv șerpi și broaște țestoase de mare)' },\n\t{ value: '02086000', label: '- De cămile și alte camelide (Camelidae)' },\n\t{ value: '02089000', label: '- Altele' },\n\t{ value: '02089010', label: '-- De porumbei domestici' },\n\t{ value: '02089030', label: '-- De vânat, altul decât iepurii domestici sau iepurii de câmp' },\n\t{ value: '02089060', label: '-- De reni' },\n\t{ value: '02089070', label: '-- Pulpe de broască' },\n\t{ value: '02089098', label: '-- Altele' },\n\t{ value: '02090000', label: 'Slănină fără părți slabe, grăsime de porc și de pasăre, netopite și nici altfel extrase, proaspete, refrigerate, congelate, sărate sau în saramură, uscate sau afumate' },\n\t{ value: '02091000', label: '- De porc' },\n\t{ value: '02091011', label: '-- Slănină' },\n\t{ value: '02091011', label: '--- Proaspătă, refrigerată, congelată, sărată sau în saramură' },\n\t{ value: '02091019', label: '--- Uscată sau afumată' },\n\t{ value: '02091090', label: '-- Grăsime de porc, alta decât cea de la subpozițiile 0209 10 11 și 0209 10 19' },\n\t{ value: '02099000', label: '- Altele' },\n\t{ value: '02100000', label: 'Carne și organe comestibile, sărate sau în saramură, uscate sau afumate; făină și pudră, comestibile, de carne sau de organe' },\n\t{ value: '02101100', label: '- Carne din specia porcine' },\n\t{ value: '02101100', label: '-- Jamboane, spete și bucăți din acestea, nedezosate' },\n\t{ value: '02101111', label: '--- De animale domestice din specia porcine' },\n\t{ value: '02101111', label: '---- Sărate sau în saramură' },\n\t{ value: '02101111', label: '----- Jamboane și bucăți de jamboane' },\n\t{ value: '02101119', label: '----- Spete și bucăți din acestea' },\n\t{ value: '02101131', label: '---- Uscate sau afumate' },\n\t{ value: '02101131', label: '----- Jamboane și bucăți de jamboane' },\n\t{ value: '02101139', label: '----- Spete și bucăți din acestea' },\n\t{ value: '02101190', label: '--- Altele' },\n\t{ value: '02101200', label: '-- Piept (împănat) și bucăţi din acesta' },\n\t{ value: '02101211', label: '--- De animale domestice din specia porcine' },\n\t{ value: '02101211', label: '---- Sărate sau în saramură' },\n\t{ value: '02101219', label: '---- Uscate sau afumate' },\n\t{ value: '02101290', label: '--- Altele' },\n\t{ value: '02101900', label: '-- Altele' },\n\t{ value: '02101910', label: '--- De animale domestice din specia porcine' },\n\t{ value: '02101910', label: '---- Sărate sau în saramură' },\n\t{ value: '02101910', label: '----- Semicarcase de bacon sau trei sferturi anterior' },\n\t{ value: '02101920', label: '----- Trei sferturi posterior sau mijloc' },\n\t{ value: '02101930', label: '----- Părți anterioare și bucăți din acestea' },\n\t{ value: '02101940', label: '----- Spinări și bucăți din acestea' },\n\t{ value: '02101950', label: '----- Altele' },\n\t{ value: '02101960', label: '---- Uscate sau afumate' },\n\t{ value: '02101960', label: '----- Părți anterioare și bucăți din acestea' },\n\t{ value: '02101970', label: '----- Spinări și bucăți din acestea' },\n\t{ value: '02101981', label: '----- Altele' },\n\t{ value: '02101981', label: '------ Dezosate' },\n\t{ value: '02101989', label: '------ Altele' },\n\t{ value: '02101990', label: '--- Altele' },\n\t{ value: '02102000', label: '- Carne din specia bovine' },\n\t{ value: '02102010', label: '-- Nedezosată' },\n\t{ value: '02102090', label: '-- Dezosată' },\n\t{ value: '02109100', label: '- Altele, inclusiv făină și pudră, comestibile, de carne sau de organe' },\n\t{ value: '02109100', label: '-- De primate' },\n\t{ value: '02109200', label: '-- De balene, delfini și marsuini (mamifere din ordinul Cetacee); de lamantini și dugongi (mamifere din ordinul Sirenia); de foci, lei de mare și morse (mamifere din subordinul Pinnipedia)' },\n\t{ value: '02109210', label: '--- De balene, delfini și delfini bruni (mamifere din ordinul Cetacee); de lamantini și dugongi (mamifere din ordinul Sirenia)' },\n\t{ value: '02109291', label: '--- Altele' },\n\t{ value: '02109291', label: '---- Carne' },\n\t{ value: '02109292', label: '---- Organe' },\n\t{ value: '02109299', label: '---- Făină și pudră, comestibile, de carne sau de organe comestibile' },\n\t{ value: '02109300', label: '-- De reptile (inclusiv șerpi și broaște țestoase de mare)' },\n\t{ value: '02109900', label: '-- Altele' },\n\t{ value: '02109910', label: '--- Carne' },\n\t{ value: '02109910', label: '---- De cal, sărată, în saramură sau uscată' },\n\t{ value: '02109921', label: '---- Din specia ovine sau caprine' },\n\t{ value: '02109921', label: '----- Nedezosată' },\n\t{ value: '02109929', label: '----- Dezosată' },\n\t{ value: '02109931', label: '---- De ren' },\n\t{ value: '02109939', label: '---- Altele' },\n\t{ value: '02109941', label: '--- Organe' },\n\t{ value: '02109941', label: '---- De animale domestice din specia porcine' },\n\t{ value: '02109941', label: '----- Ficat' },\n\t{ value: '02109949', label: '----- Altele' },\n\t{ value: '02109951', label: '---- De animale din specia bovine' },\n\t{ value: '02109951', label: '----- Mușchii pilieri diafragmatici și diafragma' },\n\t{ value: '02109959', label: '----- Altele' },\n\t{ value: '02109971', label: '---- Altele' },\n\t{ value: '02109971', label: '----- Ficat de pasăre' },\n\t{ value: '02109971', label: '------ Ficat gras de gâscă sau de rață, sărat sau în saramură' },\n\t{ value: '02109979', label: '------ Altele' },\n\t{ value: '02109985', label: '----- Altele' },\n\t{ value: '02109990', label: '--- Făină și pudră, comestibile, de carne sau de organe' },\n\t{ value: '03000000', label: 'PEȘTI ȘI CRUSTACEE, MOLUȘTE ȘI ALTE NEVERTEBRATE ACVATICE' },\n\t{ value: '03010000', label: 'Pești vii' },\n\t{ value: '03011100', label: '- Pești ornamentali' },\n\t{ value: '03011100', label: '-- De apă dulce' },\n\t{ value: '03011900', label: '-- Altele' },\n\t{ value: '03019100', label: '- Alte specii de pești vii' },\n\t{ value: '03019100', label: '-- Păstrăvi (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache și Oncorhynchus chrysogaster)' },\n\t{ value: '03019110', label: '--- Din specia Oncorhynchus apache sau Oncorhynchus chrysogaster' },\n\t{ value: '03019190', label: '--- Altele' },\n\t{ value: '03019200', label: '-- Anghile (Anguilla spp.)' },\n\t{ value: '03019210', label: '--- Cu lungimea mai mică de 12 cm' },\n\t{ value: '03019230', label: '--- Cu lungimea de minimum 12 cm, dar mai mică de 20 cm' },\n\t{ value: '03019290', label: '--- Cu lungimea de minimum 20 cm' },\n\t{ value: '03019300', label: '-- Crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.)' },\n\t{ value: '03019400', label: '-- Ton roșu de Atlantic și ton roșu de Pacific (Thunnus thynnus, Thunnus orientalis)' },\n\t{ value: '03019410', label: '--- Toni roșii de Atlantic (Thunnus thynnus)' },\n\t{ value: '03019490', label: '--- Toni roșii de Pacific (Thunnus orientalis)' },\n\t{ value: '03019500', label: '-- Toni roșii din sud (Thunnus maccoyii)' },\n\t{ value: '03019900', label: '-- Altele' },\n\t{ value: '03019911', label: '--- De apă dulce' },\n\t{ value: '03019911', label: '---- Somoni de Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou și Oncorhynchus rhodurus), somoni de Atlantic (Salmo salar) și lostriță (Hucho hucho)' },\n\t{ value: '03019917', label: '---- Altele' },\n\t{ value: '03019985', label: '--- Altele' },\n\t{ value: '03020000', label: 'Pește proaspăt sau refrigerat, cu excepția fileului de pește și a cărnii de pește de la poziția 0304' },\n\t{ value: '03021100', label: '- Salmonide, cu excepția organelor comestibile de pește de la subpozițiile 0302 91-0302 99' },\n\t{ value: '03021100', label: '-- Păstrăvi (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache și Oncorhynchus chrysogaster)' },\n\t{ value: '03021110', label: '--- Din specia Oncorhynchus apache sau Oncorhynchus chrysogaster' },\n\t{ value: '03021120', label: '--- Din specia Oncorhynchus mykiss, cu cap și branhii, eviscerați, cântărind peste 1,2 kg fiecare sau fără cap și fără branhii, eviscerați, cântărind peste 1 kg fiecare' },\n\t{ value: '03021180', label: '--- Altele' },\n\t{ value: '03021300', label: '-- Somoni de Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou și Oncorhynchus rhodurus)' },\n\t{ value: '03021400', label: '-- Somon de Atlantic (Salmo salar) și lostriță (Hucho hucho)' },\n\t{ value: '03021900', label: '-- Altele' },\n\t{ value: '03022100', label: '- Pești plați (Pleuronectidae, Bothidae, Cynoglossidae, Soleidae, Scophthalmidae și Citharidae), cu excepția organelor comestibile de pește de la subpozițiile 0302 91-0302 99' },\n\t{ value: '03022100', label: '-- Halibut (Reinhardtius hippoglossoides, Hippoglossus hippoglossus, Hippoglossus stenolepis)' },\n\t{ value: '03022110', label: '--- Halibut negru (Reinhardtius hippoglossoides)' },\n\t{ value: '03022130', label: '--- Halibut de Atlantic (Hippoglossus hippoglossus)' },\n\t{ value: '03022190', label: '--- Halibut de Pacific (Hippoglossus stenolepis)' },\n\t{ value: '03022200', label: '-- Cambula (Pleuronectes platessa)' },\n\t{ value: '03022300', label: '-- Calcan (Solea spp.)' },\n\t{ value: '03022400', label: '-- Calcani (Psetta maxima)' },\n\t{ value: '03022900', label: '-- Altele' },\n\t{ value: '03022910', label: '--- Calcani mici (Lepidorhombus spp.)' },\n\t{ value: '03022980', label: '--- Altele' },\n\t{ value: '03023100', label: '- Toni (din genul Thunnus), pești săritori (bonite cu abdomenul vărgat) (Katsuwonus pelamis), cu excepția organelor comestibile de pește de la subpozițiile 0302 91-0302 99' },\n\t{ value: '03023100', label: '-- Toni albi sau \"germon\" (Thunnus alalunga)' },\n\t{ value: '03023110', label: '--- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03023190', label: '--- Altele' },\n\t{ value: '03023200', label: '-- Toni cu aripioare galbene (Thunnus albacares)' },\n\t{ value: '03023210', label: '--- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03023290', label: '--- Altele' },\n\t{ value: '03023300', label: '-- Pești săritori (bonite cu abdomenul vărgat) (Katsuwonus pelamis)' },\n\t{ value: '03023310', label: '--- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03023390', label: '--- Altele' },\n\t{ value: '03023400', label: '-- Toni grași (Thunnus obesus)' },\n\t{ value: '03023410', label: '--- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03023490', label: '--- Altele' },\n\t{ value: '03023500', label: '-- Ton roșu de Atlantic și ton roșu de Pacific (Thunnus thynnus, Thunnus orientalis)' },\n\t{ value: '03023511', label: '--- Toni roșii de Atlantic (Thunnus thynnus)' },\n\t{ value: '03023511', label: '---- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03023519', label: '---- Altele' },\n\t{ value: '03023591', label: '--- Toni roșii de Pacific (Thunnus orientalis)' },\n\t{ value: '03023591', label: '---- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03023599', label: '---- Altele' },\n\t{ value: '03023600', label: '-- Toni roșii din sud (Thunnus maccoyii)' },\n\t{ value: '03023610', label: '--- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03023690', label: '--- Altele' },\n\t{ value: '03023900', label: '-- Altele' },\n\t{ value: '03023920', label: '--- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03023980', label: '--- Altele' },\n\t{ value: '03024100', label: '- Heringi (Clupea harengus, Clupea pallasii), anșoa (Engraulis spp.), sardine (Sardina pilchardus, Sardinops spp.), sardinele (Sardinella spp.), șprot (Sprattus sprattus), scrumbii (Scomber scombrus, Scomber australasicus, Scomber japonicus), specii de pești din genul Rastrelliger (Rastrelliger spp.), specii de pești din genul Scomberomorus (Scomberomorus spp.), stavrizi (Trachurus spp.), specii de pești din genul Caranx (Caranx spp.), cobie (Rachycentron canadum), specii de pești din genul Pampus (Pampus spp.), scrumbioară de Pacific (Cololabis saira), specii de pești din genul Decapterus (Decapterus spp.), capelin (Mallotus villosus), pește-spadă (Xiphias gladius), ton mic (Euthynnus affinis), bonite (Sarda spp.), marlini, pești călători, pește-sabie (Istiophoridae), cu excepția organelor comestibile de pește de la subpozițiile 0302 91-0302 99' },\n\t{ value: '03024100', label: '-- Heringi (Clupea harengus, Clupea pallasii)' },\n\t{ value: '03024200', label: '-- Anșoa (Engraulis spp.)' },\n\t{ value: '03024300', label: '-- Sardine (Sardina pilchardus, Sardinops spp.), sardinele (Sardinella spp.), șprot (Sprattus sprattus)' },\n\t{ value: '03024310', label: '--- Sardine din specia Sardina pilchardus' },\n\t{ value: '03024330', label: '--- Sardine din genul Sardinops; sardinele (Sardinella spp.)' },\n\t{ value: '03024390', label: '--- Șproturi (Sprattus sprattus)' },\n\t{ value: '03024400', label: '-- Scrumbii (Scomber scombrus, Scomber australasicus, Scomber japonicus)' },\n\t{ value: '03024500', label: '-- Stavrizi (Trachurus spp.)' },\n\t{ value: '03024510', label: '--- Stavrid de Atlantic (Trachurus trachurus)' },\n\t{ value: '03024530', label: '--- Stavrid chilian (Trachurus murphyi)' },\n\t{ value: '03024590', label: '--- Altele' },\n\t{ value: '03024600', label: '-- Cobie (Rachycentron canadum)' },\n\t{ value: '03024700', label: '-- Pește-spadă (Xiphias gladius)' },\n\t{ value: '03024900', label: '-- Altele' },\n\t{ value: '03024911', label: '--- Ton mic (Euthynnus affinis)' },\n\t{ value: '03024911', label: '---- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03024919', label: '---- Altele' },\n\t{ value: '03024990', label: '--- Altele' },\n\t{ value: '03025100', label: '- Pești din familiile Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae și Muraenolepididae, cu excepția organelor comestibile de pește de la subpozițiile 0302 91-0302 99' },\n\t{ value: '03025100', label: '-- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)' },\n\t{ value: '03025110', label: '--- Din specia Gadus morhua' },\n\t{ value: '03025190', label: '--- Altele' },\n\t{ value: '03025200', label: '-- Eglefin (Melanogramnus aeglefinus)' },\n\t{ value: '03025300', label: '-- Cod negru (Pollachius virens)' },\n\t{ value: '03025400', label: '-- Merluciu (Merluccius spp., Urophycis spp.)' },\n\t{ value: '03025411', label: '--- Pești marini din genul Merluccius' },\n\t{ value: '03025411', label: '---- Pești marini din specia Merluccius capensis sau Merluccius paradoxus' },\n\t{ value: '03025415', label: '---- Pești marini din specia Merluccius australis' },\n\t{ value: '03025419', label: '---- Altele' },\n\t{ value: '03025490', label: '--- Pești marini din genul Urophycis' },\n\t{ value: '03025500', label: '-- Pește marin de Alaska (Theragra chalcogramma)' },\n\t{ value: '03025600', label: '-- Merlani albaștri (Micromesistius poutassou, Micromesistius australis)' },\n\t{ value: '03025900', label: '-- Altele' },\n\t{ value: '03025910', label: '--- Cod arctic (Boreogadus saida)' },\n\t{ value: '03025920', label: '--- Merlani (Merlangus merlangus)' },\n\t{ value: '03025930', label: '--- Polac (Pollachius pollachius)' },\n\t{ value: '03025940', label: '--- Mihalți-de-mare (Molva spp.)' },\n\t{ value: '03025990', label: '--- Altele' },\n\t{ value: '03027100', label: '- Tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.), cu excepția organelor comestibile de pește de la subpozițiile 0302 91-0302 99' },\n\t{ value: '03027100', label: '-- Tilapia (Oreochromis spp.)' },\n\t{ value: '03027200', label: '-- Specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.)' },\n\t{ value: '03027300', label: '-- Crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.)' },\n\t{ value: '03027400', label: '-- Anghile (Anguilla spp.)' },\n\t{ value: '03027900', label: '-- Altele' },\n\t{ value: '03028100', label: '- Alte specii de pește, cu excepția organelor comestibile de pește de la subpozițiile 0302 91-0302 99' },\n\t{ value: '03028100', label: '-- Câini de mare și alte specii de rechini' },\n\t{ value: '03028115', label: '--- Câini de mare (Squalus acanthias) și rechini pisică (Scyliorhinus spp.)' },\n\t{ value: '03028130', label: '--- Rechinul Scrumbiilor (Lamna nasus)' },\n\t{ value: '03028140', label: '--- Rechin albastru (Prionace glauca)' },\n\t{ value: '03028180', label: '--- Altele' },\n\t{ value: '03028200', label: '-- Pisici și vulpi-de-mare (Rajidae)' },\n\t{ value: '03028300', label: '-- \"Toothfish\" (Dissostichus spp.)' },\n\t{ value: '03028400', label: '-- Lupi de mare (Dicentrarchus spp.)' },\n\t{ value: '03028410', label: '--- Lupi de mare (Dicentrarchus labrax)' },\n\t{ value: '03028490', label: '--- Altele' },\n\t{ value: '03028500', label: '-- Pagrus (Sparidae)' },\n\t{ value: '03028510', label: '--- Dorada de mare din specia Dentex dentex sau Pagellus spp.' },\n\t{ value: '03028530', label: '--- Dorade regale (Sparus aurata)' },\n\t{ value: '03028590', label: '--- Altele' },\n\t{ value: '03028900', label: '-- Altele' },\n\t{ value: '03028910', label: '--- De apă dulce' },\n\t{ value: '03028921', label: '--- Altele' },\n\t{ value: '03028921', label: '---- Pești din genul Euthynnus, alții decât tonul mic (Euthynnus affinis) de la subpoziția 0302 49' },\n\t{ value: '03028921', label: '----- Destinați fabricării industriale a produselor care fac obiectul poziției 1604' },\n\t{ value: '03028929', label: '----- Altele' },\n\t{ value: '03028931', label: '---- Sebaste (Sebastes spp.)' },\n\t{ value: '03028931', label: '----- Din specia Sebastes marinus' },\n\t{ value: '03028939', label: '----- Altele' },\n\t{ value: '03028940', label: '---- Pești din specia Brama (Brama spp.)' },\n\t{ value: '03028950', label: '---- Peşte-undiţar (Lophius spp.)' },\n\t{ value: '03028960', label: '---- Țipari roz (Genypterus blacodes)' },\n\t{ value: '03028990', label: '---- Altele' },\n\t{ value: '03029100', label: '- Ficat, icre, lapți, înotătoare, capete, cozi, vezici înotătoare de pește și alte organe comestibile de pește' },\n\t{ value: '03029100', label: '-- Ficat, icre și lapți' },\n\t{ value: '03029200', label: '-- Înotătoare de rechin' },\n\t{ value: '03029900', label: '-- Altele' },\n\t{ value: '03030000', label: 'Pești congelați, cu excepția fileurilor de pește și a cărnii de pește de la poziția 0304' },\n\t{ value: '03031100', label: '- Salmonide, cu excepția organelor comestibile de pește de la subpozițiile 0303 91-0303 99' },\n\t{ value: '03031100', label: '-- Somon roșu (Oncorhynchus nerka)' },\n\t{ value: '03031200', label: '-- Alți somoni de Pacific (Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou și Oncorhynchus rhodurus)' },\n\t{ value: '03031300', label: '-- Somon de Atlantic (Salmo salar) și lostriță (Hucho hucho)' },\n\t{ value: '03031400', label: '-- Păstrăvi (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache și Oncorhynchus chrysogaster)' },\n\t{ value: '03031410', label: '--- Din specia Oncorhnchus apache sau Oncorhynchus chrysogaster' },\n\t{ value: '03031420', label: '--- Din specia Oncorhynchus mykiss, cu cap și branhii, eviscerați, cântărind peste 1,2 kg fiecare sau fără cap și fără branhii, eviscerați, cântărind peste 1 kg fiecare' },\n\t{ value: '03031490', label: '--- Altele' },\n\t{ value: '03031900', label: '-- Altele' },\n\t{ value: '03032300', label: '- Tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.), cu excepția organelor comestibile de pește de la subpozițiile 0303 91-0303 99' },\n\t{ value: '03032300', label: '-- Tilapia (Oreochromis spp.)' },\n\t{ value: '03032400', label: '-- Specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.)' },\n\t{ value: '03032500', label: '-- Crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.)' },\n\t{ value: '03032600', label: '-- Anghile (Anguilla spp.)' },\n\t{ value: '03032900', label: '-- Altele' },\n\t{ value: '03033100', label: '- Pești plați (Pleuronectidae, Bothidae, Cynoglossidae, Soleidae, Scophthalmidae and Citharidae), cu excepția organelor comestibile de pește de la subpozițiile 0303 91-0303 99' },\n\t{ value: '03033100', label: '-- Halibut (Reinhardtius hippoglossoides, Hippoglossus hippoglossus, Hippoglossus stenolepis)' },\n\t{ value: '03033110', label: '--- Halibut negru (Reinhardtius hippoglossoides)' },\n\t{ value: '03033130', label: '--- Halibut de Atlantic (Hippoglossus hippoglossus)' },\n\t{ value: '03033190', label: '--- Halibut de Pacific (Hippoglossus stenolepis)' },\n\t{ value: '03033200', label: '-- Cambula (Pleuronectes platessa)' },\n\t{ value: '03033300', label: '-- Limbă de mare (Solea spp.)' },\n\t{ value: '03033400', label: '-- Calcani (Psetta maxima)' },\n\t{ value: '03033900', label: '-- Altele' },\n\t{ value: '03033910', label: '--- Pești din specia Platichthys flesus' },\n\t{ value: '03033930', label: '--- Pești din genul Rhombosolea' },\n\t{ value: '03033950', label: '--- Pești din specia Pelotreis flavilatus sau Peltorhamphus novaezelandiae' },\n\t{ value: '03033985', label: '--- Altele' },\n\t{ value: '03034100', label: '- Toni (din genul Thunnus), pești săritori (bonite cu abdomenul vărgat) (Katsuwonus pelamis), cu excepția organelor comestibile de pește de la subpozițiile 0303 91-0303 99' },\n\t{ value: '03034100', label: '-- Toni albi sau \"germon\" (Thunnus alalunga)' },\n\t{ value: '03034110', label: '--- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03034190', label: '--- Altele' },\n\t{ value: '03034200', label: '-- Toni cu aripioare galbene (Thunnus albacares)' },\n\t{ value: '03034220', label: '--- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03034290', label: '--- Altele' },\n\t{ value: '03034300', label: '-- Pești săritori (bonite cu abdomenul vărgat) (Katsuwonus pelamis)' },\n\t{ value: '03034310', label: '--- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03034390', label: '--- Altele' },\n\t{ value: '03034400', label: '-- Toni grași (Thunnus obesus)' },\n\t{ value: '03034410', label: '--- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03034490', label: '--- Altele' },\n\t{ value: '03034500', label: '-- Ton roșu de Atlantic și ton roșu de Pacific (Thunnus thynnus, Thunnus orientalis)' },\n\t{ value: '03034512', label: '--- Toni roșii de Atlantic (Thunnus thynnus)' },\n\t{ value: '03034512', label: '---- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03034518', label: '---- Altele' },\n\t{ value: '03034591', label: '--- Toni roșii de Pacific (Thunnus orientalis)' },\n\t{ value: '03034591', label: '---- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03034599', label: '---- Altele' },\n\t{ value: '03034600', label: '-- Toni roșii din sud (Thunnus maccoyii)' },\n\t{ value: '03034610', label: '--- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03034690', label: '--- Altele' },\n\t{ value: '03034900', label: '-- Altele' },\n\t{ value: '03034920', label: '--- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03034985', label: '--- Altele' },\n\t{ value: '03035100', label: '- Heringi (Clupea harengus, Clupea pallasii), anșoa (Engraulis spp.), sardine (Sardina pilchardus, Sardinops spp.), sardinele (Sardinella spp.), șprot (Sprattus sprattus), scrumbii (Scomber scombrus, Scomber australasicus, Scomber japonicus), specii de pești din genul Rastrelliger (Rastrelliger spp.), specii de pești din genul Scomberomorus (Scomberomorus spp.), stavrizi (Trachurus spp.), specii de pești din genul Caranx (Caranx spp.), cobie (Rachycentron canadum), specii de pești din genul Pampus (Pampus spp.), scrumbioară de Pacific (Cololabis saira), specii de pești din genul Decapterus (Decapterus spp.), capelin (Mallotus villosus), pește-spadă (Xiphias gladius), ton mic (Euthynnus affinis), bonite (Sarda spp.), marlini, pești călători, pește-sabie (Istiophoridae), cu excepția organelor comestibile de pește de la subpozițiile 0303 91-0303 99' },\n\t{ value: '03035100', label: '-- Heringi (Clupea harengus, Clupea pallasii)' },\n\t{ value: '03035300', label: '-- Sardine (Sardina pilchardus, Sardinops spp.), sardinele (Sardinella spp.), șprot (Sprattus sprattus)' },\n\t{ value: '03035310', label: '--- Sardine din specia Sardina pilchardus' },\n\t{ value: '03035330', label: '--- Sardine din genul Sardinops; sardinele (Sardinella spp.)' },\n\t{ value: '03035390', label: '--- Șproturi (Sprattus sprattus)' },\n\t{ value: '03035400', label: '-- Scrumbii (Scomber scombrus, Scomber australasicus, Scomber japonicus)' },\n\t{ value: '03035410', label: '--- Din specia Scomber scombrus sau Scomber japonicus' },\n\t{ value: '03035490', label: '--- Din specia Scomber australasicus' },\n\t{ value: '03035500', label: '-- Stavrizi (Trachurus spp.)' },\n\t{ value: '03035510', label: '--- Stavrid de Atlantic (Trachurus trachurus)' },\n\t{ value: '03035530', label: '--- Stavrid chilian (Trachurus murphyi)' },\n\t{ value: '03035590', label: '--- Altele' },\n\t{ value: '03035600', label: '-- Cobie (Rachycentron canadum)' },\n\t{ value: '03035700', label: '-- Pește-spadă (Xiphias gladius)' },\n\t{ value: '03035900', label: '-- Altele' },\n\t{ value: '03035910', label: '--- Anșoa (Engraulis spp.)' },\n\t{ value: '03035921', label: '--- Ton mic (Euthynnus affinis)' },\n\t{ value: '03035921', label: '---- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03035929', label: '---- Altele' },\n\t{ value: '03035990', label: '--- Altele' },\n\t{ value: '03036300', label: '- Pești din familiile Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae și Muraenolepididae, cu excepția organelor comestibile de pește de la subpozițiile 0303 91-0303 99' },\n\t{ value: '03036300', label: '-- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)' },\n\t{ value: '03036310', label: '--- Din specia Gadus morhua' },\n\t{ value: '03036330', label: '--- Din specia Gadus ogac' },\n\t{ value: '03036390', label: '--- Din specia Gadus macrocephalus' },\n\t{ value: '03036400', label: '-- Eglefin (Melanogrammus aeglefinus)' },\n\t{ value: '03036500', label: '-- Cod negru (Pollachius virens)' },\n\t{ value: '03036600', label: '-- Merluciu (Merluccius spp., Urophycis spp.)' },\n\t{ value: '03036611', label: '--- Pești marini din genul Merluccius' },\n\t{ value: '03036611', label: '---- Pești marini din specia Merluccius capensis sau Merluccius paradoxus' },\n\t{ value: '03036612', label: '---- Pești marini din specia Merluccius hubbsi' },\n\t{ value: '03036613', label: '---- Pești marini din specia Merluccius australis' },\n\t{ value: '03036619', label: '---- Altele' },\n\t{ value: '03036690', label: '--- Pești marini din genul Urophycis' },\n\t{ value: '03036700', label: '-- Pește marin de Alaska (Theragra chalcogramma)' },\n\t{ value: '03036800', label: '-- Merlani albaștri (Micromesistius poutassou, Micromesistius australis)' },\n\t{ value: '03036810', label: '--- Merlani albaștri (Micromesistius poutassou)' },\n\t{ value: '03036890', label: '--- Merlani albaștri sudici (Micromesistius australis)' },\n\t{ value: '03036900', label: '-- Altele' },\n\t{ value: '03036910', label: '--- Cod arctic (Boreogadus saida)' },\n\t{ value: '03036930', label: '--- Merlani (Merlangius merlangus)' },\n\t{ value: '03036950', label: '--- Polac (Pollachius pollachius)' },\n\t{ value: '03036970', label: '--- Grenadieri albaștri (Macruronus novaezelandiae)' },\n\t{ value: '03036980', label: '--- Mihalți-de-mare (Molva spp.)' },\n\t{ value: '03036990', label: '--- Altele' },\n\t{ value: '03038100', label: '- Alți pești, cu excepția organelor comestibile de pește de la subpozițiile 0303 91-0303 99' },\n\t{ value: '03038100', label: '-- Câini de mare și alte specii de rechini' },\n\t{ value: '03038115', label: '--- Câini de mare (Squalus acanthias) și rechini pisică (Scyliorhinus spp.)' },\n\t{ value: '03038130', label: '--- Rechinul Scrumbiilor (Lamna nasus)' },\n\t{ value: '03038140', label: '--- Rechin albastru (Prionace glauca)' },\n\t{ value: '03038190', label: '--- Altele' },\n\t{ value: '03038200', label: '-- Pisici și vulpi-de-mare (Rajidae)' },\n\t{ value: '03038300', label: '-- \"Toothfish\" (Dissostichus spp.)' },\n\t{ value: '03038400', label: '-- Lupi de mare (Dicentrarchus spp.)' },\n\t{ value: '03038410', label: '--- Lupi de mare (Dicentrarchus labrax)' },\n\t{ value: '03038490', label: '--- Altele' },\n\t{ value: '03038900', label: '-- Altele' },\n\t{ value: '03038910', label: '--- Pești de apă dulce' },\n\t{ value: '03038921', label: '--- Altele' },\n\t{ value: '03038921', label: '---- Pești din genul Euthynnus, alții decât tonul mic (Euthynnus affinis) de la subpoziția 0303 59' },\n\t{ value: '03038921', label: '----- Destinați fabricării industriale a produselor de la poziția 1604' },\n\t{ value: '03038929', label: '----- Altele' },\n\t{ value: '03038931', label: '---- Sebaste (Sebastes spp.)' },\n\t{ value: '03038931', label: '----- Din specia Sebastes marinus' },\n\t{ value: '03038939', label: '----- Altele' },\n\t{ value: '03038940', label: '---- Pești din specia Orcynopsis unicolor' },\n\t{ value: '03038950', label: '---- Dorada de mare din specia Dentex dentex sau Pagellus spp.' },\n\t{ value: '03038955', label: '---- Dorade regale (Sparus aurata)' },\n\t{ value: '03038960', label: '---- Pești din specia Brama (Brama spp.)' },\n\t{ value: '03038965', label: '---- Peşte-undiţar (Lophius spp.)' },\n\t{ value: '03038970', label: '---- Țipari roz (Genypterus blacodes)' },\n\t{ value: '03038990', label: '---- Altele' },\n\t{ value: '03039100', label: '- Ficat, icre, lapți, înotătoare, capete, cozi, vezici înotătoare de pește și alte organe comestibile de pește' },\n\t{ value: '03039100', label: '-- Ficat, icre și lapți' },\n\t{ value: '03039110', label: '--- Icre și lapți folosiți pentru obținerea acidului dezoxiribonucleic sau a sulfatului de protamina' },\n\t{ value: '03039190', label: '--- Altele' },\n\t{ value: '03039200', label: '-- Înotătoare de rechin' },\n\t{ value: '03039900', label: '-- Altele' },\n\t{ value: '03040000', label: 'Fileuri de pește și carne de pește (chiar tocată), proaspete, refrigerate sau congelate' },\n\t{ value: '03043100', label: '- Fileuri proaspete sau refrigerate de tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.)' },\n\t{ value: '03043100', label: '-- Tilapia (Oreochromis spp.)' },\n\t{ value: '03043200', label: '-- Specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.)' },\n\t{ value: '03043300', label: '-- Biban de Nil (Lates niloticus)' },\n\t{ value: '03043900', label: '-- Altele' },\n\t{ value: '03044100', label: '- Fileuri de alte specii de pește, proaspete sau refrigerate' },\n\t{ value: '03044100', label: '-- Somoni de Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou și Oncorhynchus rhodurus), somon de Atlantic (Salmo salar) și lostriță (Hucho hucho)' },\n\t{ value: '03044200', label: '-- Păstrăvi (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache și Oncorhynchus chrysogaster)' },\n\t{ value: '03044210', label: '--- Din specia Oncorhynchus mykiss cântărind peste 400 g fiecare' },\n\t{ value: '03044250', label: '--- Din specia Oncorhynchus apache sau Oncorhynchus chrysogaster' },\n\t{ value: '03044290', label: '--- Altele' },\n\t{ value: '03044300', label: '-- Pești plați (Pleuronectidae, Bothidae, Cynoglossidae, Soleidae, Scophthalmidae și Citharidae)' },\n\t{ value: '03044400', label: '-- Pești din familiile Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae și Muraenolepididae' },\n\t{ value: '03044410', label: '--- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus) și cod arctic (Boreogadus saida)' },\n\t{ value: '03044430', label: '--- Cod negru (Pollachius virens)' },\n\t{ value: '03044490', label: '--- Altele' },\n\t{ value: '03044500', label: '-- De pești-spadă (Xiphias gladius)' },\n\t{ value: '03044600', label: '-- De \"Toothfish\" (Dissostichus spp.)' },\n\t{ value: '03044700', label: '-- Câini de mare și alte specii de rechini' },\n\t{ value: '03044710', label: '--- Câini de mare (Squalus acanthias) și rechini pisică (Scyliorhinus spp.)' },\n\t{ value: '03044720', label: '--- Rechinul scrumbiilor (Lamna nasus)' },\n\t{ value: '03044730', label: '--- Rechin albastru (Prionace glauca)' },\n\t{ value: '03044790', label: '--- Altele' },\n\t{ value: '03044800', label: '-- Pisici și vulpi-de-mare (Rajidae)' },\n\t{ value: '03044900', label: '-- Altele' },\n\t{ value: '03044910', label: '--- Pești de apă dulce' },\n\t{ value: '03044950', label: '--- Altele' },\n\t{ value: '03044950', label: '---- Sebaste (Sebastes spp.)' },\n\t{ value: '03044990', label: '---- Altele' },\n\t{ value: '03045100', label: '- Altele, proaspete sau refrigerate' },\n\t{ value: '03045100', label: '-- Tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp.,Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.)' },\n\t{ value: '03045200', label: '-- Salmonide' },\n\t{ value: '03045300', label: '-- Pești din familiile Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae și Muraenolepididae' },\n\t{ value: '03045400', label: '-- Pește-spadă (Xiphias gladius)' },\n\t{ value: '03045500', label: '-- \"Toothfish\" (Dissostichus spp.)' },\n\t{ value: '03045600', label: '-- Câini de mare și alte specii de rechini' },\n\t{ value: '03045610', label: '--- Câini de mare (Squalus acanthias) și rechini pisică (Scyliorhinus spp.)' },\n\t{ value: '03045620', label: '--- Rechinul scrumbiilor (Lamna nasus)' },\n\t{ value: '03045630', label: '--- Rechin albastru (Prionace glauca)' },\n\t{ value: '03045690', label: '--- Altele' },\n\t{ value: '03045700', label: '-- Pisici și vulpi-de-mare (Rajidae)' },\n\t{ value: '03045900', label: '-- Altele' },\n\t{ value: '03045910', label: '--- Pești de apă dulce' },\n\t{ value: '03045950', label: '--- Altele' },\n\t{ value: '03045950', label: '---- Flanc de heringi' },\n\t{ value: '03045990', label: '---- Altele' },\n\t{ value: '03046100', label: '- Fileuri congelate de tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.)' },\n\t{ value: '03046100', label: '-- Tilapia (Oreochromis spp.)' },\n\t{ value: '03046200', label: '-- Specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.)' },\n\t{ value: '03046300', label: '-- Biban de Nil (Lates niloticus)' },\n\t{ value: '03046900', label: '-- Altele' },\n\t{ value: '03047100', label: '- Fileuri congelate de pești din familiile Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae și Muraenolepididae' },\n\t{ value: '03047100', label: '-- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)' },\n\t{ value: '03047110', label: '--- Cod din specia Gadus macrocephalus' },\n\t{ value: '03047190', label: '--- Altele' },\n\t{ value: '03047200', label: '-- Eglefin (Melanogramnus aeglefinus)' },\n\t{ value: '03047300', label: '-- Cod negru (Pollachius virens)' },\n\t{ value: '03047400', label: '-- Merluciu (Merluccius spp., Urophycis spp.)' },\n\t{ value: '03047411', label: '--- Pești marini din genul Merluccius' },\n\t{ value: '03047411', label: '---- Pești marini din specia Merluccius capensis sau Merluccius paradoxus' },\n\t{ value: '03047415', label: '---- Pești marini din specia Merluccius hubbsi' },\n\t{ value: '03047419', label: '---- Altele' },\n\t{ value: '03047490', label: '--- Pești marini din genul Urophycis' },\n\t{ value: '03047500', label: '-- Pește marin de Alaska (Theragra chalcogramma)' },\n\t{ value: '03047900', label: '-- Altele' },\n\t{ value: '03047910', label: '--- Cod arctic (Boreogadus saida)' },\n\t{ value: '03047930', label: '--- Merlani (Merlangius merlangus)' },\n\t{ value: '03047950', label: '--- Grenadieri albaștri (Macruronus novaezelandiae)' },\n\t{ value: '03047980', label: '--- Mihalți-de-mare (Molva spp.)' },\n\t{ value: '03047990', label: '--- Altele' },\n\t{ value: '03048100', label: '- Fileuri de alte specii de pește, congelate' },\n\t{ value: '03048100', label: '-- Somoni de Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou și Oncorhynchus rhodurus), somon de Atlantic (Salmo salar) și lostriță (Hucho hucho)' },\n\t{ value: '03048200', label: '-- Păstrăvi (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache și Oncorhynchus chrysogaster)' },\n\t{ value: '03048210', label: '--- Din specia Oncorhynchus mykiss cântărind peste 400 g fiecare' },\n\t{ value: '03048250', label: '--- Din specia Oncorhynchus apache sau Oncorhynchus chrysogaster' },\n\t{ value: '03048290', label: '--- Altele' },\n\t{ value: '03048300', label: '-- Pești plați (Pleuronectidae, Bothidae, Cynoglossidae, Soleidae, Scophthalmidae și Citharidae)' },\n\t{ value: '03048310', label: '--- Cambulă de Baltica (Pleuronectes platessa)' },\n\t{ value: '03048330', label: '--- Cambulă (Platichthys flesus)' },\n\t{ value: '03048350', label: '--- Cardină albă (Lepidorhombus spp.)' },\n\t{ value: '03048390', label: '--- Altele' },\n\t{ value: '03048400', label: '-- De pești-spadă (Xiphias gladius)' },\n\t{ value: '03048500', label: '-- De \"Toothfish\" (Dissostichus spp.)' },\n\t{ value: '03048600', label: '-- Heringi (Clupea harengus, Clupea pallasii)' },\n\t{ value: '03048700', label: '-- Toni (din genul Thunnus), pești săritori (bonite cu abdomenul vărgat) (Katsuwonus pelamis)' },\n\t{ value: '03048800', label: '-- Câini de mare, alte specii de rechini, pisici și vulpi-de-mare (Rajidae)' },\n\t{ value: '03048811', label: '--- Câini de mare și alte specii de rechini' },\n\t{ value: '03048811', label: '---- Câini de mare (Squalus acanthias) și rechini pisică (Scyliorhinus spp.)' },\n\t{ value: '03048815', label: '---- Rechinul scrumbiilor (Lamna nasus)' },\n\t{ value: '03048818', label: '---- Rechin albastru (Prionace glauca)' },\n\t{ value: '03048819', label: '---- Altele' },\n\t{ value: '03048890', label: '--- Pisici și vulpi-de-mare (Rajidae)' },\n\t{ value: '03048900', label: '-- Altele' },\n\t{ value: '03048910', label: '--- Pești de apă dulce' },\n\t{ value: '03048921', label: '--- Altele' },\n\t{ value: '03048921', label: '---- Sebaste (Sebastes spp.)' },\n\t{ value: '03048921', label: '----- Din specia Sebastes marinus' },\n\t{ value: '03048929', label: '----- Altele' },\n\t{ value: '03048930', label: '---- Pești din genul Euthynnus' },\n\t{ value: '03048941', label: '---- Macrou (Scomber scombrus, Scomber australasicus, Scomber japonicus) și pești din specia Orcynopsis unicolor' },\n\t{ value: '03048941', label: '----- Macrou din specia Scomber australasicus' },\n\t{ value: '03048949', label: '----- Altele' },\n\t{ value: '03048960', label: '---- Peşte-undiţar (Lophius spp.)' },\n\t{ value: '03048990', label: '---- Altele' },\n\t{ value: '03049100', label: '- Altele, congelate' },\n\t{ value: '03049100', label: '-- Pești-spadă (Xiphias gladius)' },\n\t{ value: '03049200', label: '-- \"Toothfish\" (Dissostichus spp.)' },\n\t{ value: '03049300', label: '-- Tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.)' },\n\t{ value: '03049310', label: '--- Surimi' },\n\t{ value: '03049390', label: '--- Altele' },\n\t{ value: '03049400', label: '-- Pește marin de Alaska (Theragra chalcogramma)' },\n\t{ value: '03049410', label: '--- Surimi' },\n\t{ value: '03049490', label: '--- Altele' },\n\t{ value: '03049500', label: '-- Pești din familiile Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae și Muraenolepididae, alții decât peștele marin de Alaska (Theragra chalcogramma)' },\n\t{ value: '03049510', label: '--- Surimi' },\n\t{ value: '03049521', label: '--- Altele' },\n\t{ value: '03049521', label: '---- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus) și cod arctic (Boreogadus saida)' },\n\t{ value: '03049521', label: '----- Cod din specia Gadus macrocephalus' },\n\t{ value: '03049525', label: '----- Cod din specia Gadus morhua' },\n\t{ value: '03049529', label: '----- Altele' },\n\t{ value: '03049530', label: '---- Eglefin (Melanogramnus aeglefinus)' },\n\t{ value: '03049540', label: '---- Cod negru (Pollachius virens)' },\n\t{ value: '03049550', label: '---- Pești marini din genul Merluccius' },\n\t{ value: '03049560', label: '---- Merlani albaștri (Micromesistius poutassou)' },\n\t{ value: '03049590', label: '---- Altele' },\n\t{ value: '03049600', label: '-- Câini de mare și alte specii de rechini' },\n\t{ value: '03049610', label: '--- Câini de mare (Squalus acanthias) și rechini pisică (Scyliorhinus spp.)' },\n\t{ value: '03049620', label: '--- Rechinul scrumbiilor (Lamna nasus)' },\n\t{ value: '03049630', label: '--- Rechin albastru (Prionace glauca)' },\n\t{ value: '03049690', label: '--- Altele' },\n\t{ value: '03049700', label: '-- Pisici și vulpi-de-mare (Rajidae)' },\n\t{ value: '03049900', label: '-- Altele' },\n\t{ value: '03049910', label: '--- Surimi' },\n\t{ value: '03049921', label: '--- Altele' },\n\t{ value: '03049921', label: '---- Pești de apă dulce' },\n\t{ value: '03049923', label: '---- Altele' },\n\t{ value: '03049923', label: '----- Heringi (Clupea harengus, Clupea pallasii)' },\n\t{ value: '03049929', label: '----- Sebaste (Sebastes spp.)' },\n\t{ value: '03049955', label: '----- Cardină albă (Lepidorhombus spp.)' },\n\t{ value: '03049961', label: '----- Pești din specia Brama (Brama spp.)' },\n\t{ value: '03049965', label: '----- Peşte-undiţar (Lophius spp.)' },\n\t{ value: '03049999', label: '----- Altele' },\n\t{ value: '03050000', label: 'Pește uscat, sărat sau în saramură; pește afumat, chiar fiert, înainte sau în timpul afumării' },\n\t{ value: '03052000', label: '- Ficat de peşte, icre și lapți, uscați, afumați, sărați sau în saramură' },\n\t{ value: '03053100', label: '- Fileuri de pește uscate, sărate sau în saramură, dar neafumate' },\n\t{ value: '03053100', label: '-- Tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.)' },\n\t{ value: '03053200', label: '-- Pești din familiile Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae și Muraenolepididae' },\n\t{ value: '03053211', label: '--- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus) și cod arctic (Boreogadus saida)' },\n\t{ value: '03053211', label: '---- Cod din specia Gadus macrocephalus' },\n\t{ value: '03053219', label: '---- Altele' },\n\t{ value: '03053290', label: '--- Altele' },\n\t{ value: '03053900', label: '-- Altele' },\n\t{ value: '03053910', label: '--- Somoni de Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou și Oncorhynchus rhodurus), de somoni de Atlantic (Salmo salar) și de lostriță (Hucho hucho), sărați sau în saramură' },\n\t{ value: '03053950', label: '--- Halibut negru (Reinhardtius hippoglossoides), sărat sau în saramură' },\n\t{ value: '03053990', label: '--- Altele' },\n\t{ value: '03054100', label: '- Pești afumați, inclusiv fileuri, cu excepția organelor comestibile de pește' },\n\t{ value: '03054100', label: '-- Somoni de Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou și Oncorhynchus rhodurus), somoni de Atlantic (Salmo salar) și lostriță (Hucho hucho)' },\n\t{ value: '03054200', label: '-- Heringi (Clupea harengus, Clupea pallasii)' },\n\t{ value: '03054300', label: '-- Păstrăvi (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache și Oncorhynchus chrysogaster)' },\n\t{ value: '03054400', label: '-- Tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.) crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.)' },\n\t{ value: '03054410', label: '--- Anghile (Anguilla spp.)' },\n\t{ value: '03054490', label: '--- Altele' },\n\t{ value: '03054900', label: '-- Altele' },\n\t{ value: '03054910', label: '--- Halibut negru (Reinhardtius hippoglossoides)' },\n\t{ value: '03054920', label: '--- Halibut de Atlantic (Hippoglossus hippoglossus)' },\n\t{ value: '03054930', label: '--- Specii de macrou (Scomber scombrus, Scomber australasicus, Scomber japonicus)' },\n\t{ value: '03054980', label: '--- Altele' },\n\t{ value: '03055100', label: '- Pești uscați, cu excepția organelor comestibile de pește, sărați sau nesărați, dar neafumați' },\n\t{ value: '03055100', label: '-- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)' },\n\t{ value: '03055110', label: '--- Uscați, nesărați' },\n\t{ value: '03055190', label: '--- Uscați și sărați' },\n\t{ value: '03055200', label: '-- Tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.)' },\n\t{ value: '03055300', label: '-- Pești din familiile Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae și Muraenolepididae, alții decât codul (Gadus morhua, Gadus ogac, Gadus macrocephalus)' },\n\t{ value: '03055310', label: '--- Cod arctic (Boreogadus saida)' },\n\t{ value: '03055390', label: '--- Altele' },\n\t{ value: '03055400', label: '-- Heringi (Clupea harengus, Clupea pallasii), anșoa (Engraulis spp.), sardine (Sardina pilchardus, Sardinops spp.), sardinele (Sardinella spp.), șprot (Sprattus sprattus), scrumbii (Scomber scombrus, Scomber australasicus, Scomber japonicus), specii de pești din genul Rastrelliger (Rastrelliger spp.), specii de pești din genul Scomberomorus (Scomberomorus spp.), stavrizi (Trachurus spp.), specii de pești din genul Caranx (Caranx spp.), cobie (Rachycentron canadum), specii de pești din genul Pampus (Pampus spp.), scrumbioară de Pacific (Cololabis saira), specii de pești din genul Decapterus (Decapterus spp.), capelin (Mallotus villosus), pește-spadă (Xiphias gladius), ton mic (Euthynnus affinis), bonite (Sarda spp.), marlini, pești călători, pește-sabie (Istiophoridae)' },\n\t{ value: '03055430', label: '--- Heringi (Clupea harengus, Clupea pallasii)' },\n\t{ value: '03055450', label: '--- Anșoa (Engraulis spp.)' },\n\t{ value: '03055490', label: '--- Altele' },\n\t{ value: '03055900', label: '-- Altele' },\n\t{ value: '03055970', label: '--- Halibut de Atlantic (Hippoglossus hippoglossus)' },\n\t{ value: '03055985', label: '--- Altele' },\n\t{ value: '03056100', label: '- Pești sărați, neuscați, neafumați și pești în saramură, cu excepția organelor comestibile de pește' },\n\t{ value: '03056100', label: '-- Heringi (Clupea harengus, Clupea pallasii)' },\n\t{ value: '03056200', label: '-- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)' },\n\t{ value: '03056300', label: '-- Anșoa (Engraulis spp.)' },\n\t{ value: '03056400', label: '-- Tilapia (Oreochromis spp.), specii de Anarhicatide (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), crapi (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.), anghile (Anguilla spp.), biban de Nil (Lates niloticus) și pești cap-de-șarpe (Channa spp.)' },\n\t{ value: '03056900', label: '-- Altele' },\n\t{ value: '03056910', label: '--- Cod arctic (Boreogadus saida)' },\n\t{ value: '03056930', label: '--- Halibut de Atlantic (Hippoglossus hippoglossus)' },\n\t{ value: '03056950', label: '--- Somoni de Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou și Oncorhynchus rhodurus), somoni de Atlantic (Salmo salar) și lostriță (Hucho hucho)' },\n\t{ value: '03056980', label: '--- Altele' },\n\t{ value: '03057100', label: '- Înotătoare, capete, cozi, vezici înotătoare de pește și alte organe comestibile de pește' },\n\t{ value: '03057100', label: '-- Înotătoare de rechin' },\n\t{ value: '03057200', label: '-- Capete, cozi și vezici înotătoare de pește' },\n\t{ value: '03057900', label: '-- Altele' },\n\t{ value: '03060000', label: 'Crustacee, atât decorticate, cât și nedecorticate, vii, proaspete, refrigerate, congelate, uscate, sărate sau în saramură; crustacee afumate, atât decorticate, cât și nedecorticate, atât fierte, cât și nefierte înainte sau în timpul afumării; crustacee nedecorticate, fierte în apă sau în aburi, chiar refrigerate, congelate, uscate, sărate sau în saramură' },\n\t{ value: '03061100', label: '- Congelate' },\n\t{ value: '03061100', label: '-- Languste (Palinurus spp., Panulirus spp., Jasus spp.)' },\n\t{ value: '03061110', label: '--- Cozi de languste' },\n\t{ value: '03061190', label: '--- Altele' },\n\t{ value: '03061200', label: '-- Homari (Homarus spp.)' },\n\t{ value: '03061210', label: '--- Întregi' },\n\t{ value: '03061290', label: '--- Altele' },\n\t{ value: '03061400', label: '-- Crabi' },\n\t{ value: '03061410', label: '--- Crabi din specia Paralithodes camchaticus, Chionoecetes spp. sau Callinectes sapidus' },\n\t{ value: '03061430', label: '--- Crabi din specia Cancer pagurus' },\n\t{ value: '03061490', label: '--- Altele' },\n\t{ value: '03061500', label: '-- Homari norvegieni (Nephrops norvegicus)' },\n\t{ value: '03061600', label: '-- Creveți de apă rece (Pandalus spp., Crangon crangon)' },\n\t{ value: '03061691', label: '--- Creveți din specia Crangon crangon' },\n\t{ value: '03061699', label: '--- Altele' },\n\t{ value: '03061700', label: '-- Alți creveți' },\n\t{ value: '03061791', label: '--- Creveți de adâncime (Parapenaeus longirostris)' },\n\t{ value: '03061792', label: '--- Creveți din genul Penaeus' },\n\t{ value: '03061793', label: '--- Creveți din familia Pandalidae, cu excepția genului Pandalus' },\n\t{ value: '03061794', label: '--- Creveți din genul Crangon, cu excepția speciei Crangon crangon' },\n\t{ value: '03061799', label: '--- Altele' },\n\t{ value: '03061900', label: '-- Altele' },\n\t{ value: '03061910', label: '--- Raci de apă dulce' },\n\t{ value: '03061990', label: '--- Altele' },\n\t{ value: '03063100', label: '- Vii, proaspete sau refrigerate' },\n\t{ value: '03063100', label: '-- Languste (Palinurus spp., Panulirus spp., Jasus spp.)' },\n\t{ value: '03063200', label: '-- Homari (Homarus spp.)' },\n\t{ value: '03063210', label: '--- Vii' },\n\t{ value: '03063291', label: '--- Altele' },\n\t{ value: '03063291', label: '---- Întregi' },\n\t{ value: '03063299', label: '---- Altele' },\n\t{ value: '03063300', label: '-- Crabi' },\n\t{ value: '03063310', label: '--- Crabi din specia Cancer pagurus' },\n\t{ value: '03063390', label: '--- Altele' },\n\t{ value: '03063400', label: '-- Homari norvegieni (Nephrops norvegicus)' },\n\t{ value: '03063500', label: '-- Creveți de apă rece (Pandalus spp., Crangon crangon)' },\n\t{ value: '03063510', label: '--- Creveți din specia Crangon crangon' },\n\t{ value: '03063510', label: '---- Proaspeți sau refrigerați' },\n\t{ value: '03063550', label: '---- Altele' },\n\t{ value: '03063590', label: '--- Altele' },\n\t{ value: '03063600', label: '-- Alți creveți' },\n\t{ value: '03063610', label: '--- Creveți din familia Pandalidae, cu excepția genului Pandalus' },\n\t{ value: '03063650', label: '--- Creveți din genul Crangon, cu excepția speciei Crangon crangon' },\n\t{ value: '03063690', label: '--- Altele' },\n\t{ value: '03063900', label: '-- Altele' },\n\t{ value: '03063910', label: '--- Raci de apă dulce' },\n\t{ value: '03063990', label: '--- Altele' },\n\t{ value: '03069100', label: '- Altele' },\n\t{ value: '03069100', label: '-- Languste (Palinurus spp., Panulirus spp., Jasus spp.)' },\n\t{ value: '03069200', label: '-- Homari (Homarus spp.)' },\n\t{ value: '03069210', label: '--- Întregi' },\n\t{ value: '03069290', label: '--- Altele' },\n\t{ value: '03069300', label: '-- Crabi' },\n\t{ value: '03069310', label: '--- Crabi din specia Cancer pagurus' },\n\t{ value: '03069390', label: '--- Altele' },\n\t{ value: '03069400', label: '-- Homari norvegieni (Nephrops norvegicus)' },\n\t{ value: '03069500', label: '-- Creveți' },\n\t{ value: '03069511', label: '--- Creveți de apă rece (Pandalus spp., Crangon crangon)' },\n\t{ value: '03069511', label: '---- Creveți din specia Crangon crangon' },\n\t{ value: '03069511', label: '----- Fierți în apă sau în vapori' },\n\t{ value: '03069519', label: '----- Altele' },\n\t{ value: '03069520', label: '---- Pandalus spp.' },\n\t{ value: '03069530', label: '--- Alți creveți' },\n\t{ value: '03069530', label: '---- Creveți din familia Pandalidae, cu excepția genului Pandalus' },\n\t{ value: '03069540', label: '---- Creveți din genul Crangon, cu excepția speciei Crangon crangon' },\n\t{ value: '03069590', label: '---- Altele' },\n\t{ value: '03069900', label: '-- Altele' },\n\t{ value: '03069910', label: '--- Raci de apă dulce' },\n\t{ value: '03069990', label: '--- Altele' },\n\t{ value: '03070000', label: 'Moluște, separate sau nu de cochilie, vii, proaspete, refrigerate, congelate, uscate, sărate sau în saramură; moluște afumate, separate sau nu de cochilie, atât fierte, cât și nefierte înainte sau în timpul afumării' },\n\t{ value: '03071100', label: '- Stridii' },\n\t{ value: '03071100', label: '-- Vii, proaspete sau refrigerate' },\n\t{ value: '03071110', label: '--- Stridii plate (Ostrea spp.), vii, de maximum 40 g fiecare, inclusiv cochiliile' },\n\t{ value: '03071190', label: '--- Altele' },\n\t{ value: '03071200', label: '-- Congelate' },\n\t{ value: '03071900', label: '-- Altele' },\n\t{ value: '03072100', label: '- Scoici St. Jacques și alte moluște din familia Pectinidae' },\n\t{ value: '03072100', label: '-- Vii, proaspete sau refrigerate' },\n\t{ value: '03072110', label: '--- Scoici St. Jacques sau scoici-pieptăne, pecteni și alte scoici din genul Pecten, Chlamys sau Placopecten' },\n\t{ value: '03072190', label: '--- Altele' },\n\t{ value: '03072200', label: '-- Congelate' },\n\t{ value: '03072210', label: '--- Scoici St. Jacques sau scoici-pieptăne, pecteni și alte scoici din genul Pecten, Chlamys sau Placopecten' },\n\t{ value: '03072210', label: '---- Scoici St. Jacques (Pecten maximus)' },\n\t{ value: '03072290', label: '---- Altele' },\n\t{ value: '03072295', label: '--- Altele' },\n\t{ value: '03072900', label: '-- Altele' },\n\t{ value: '03072910', label: '--- Scoici St. Jacques sau scoici-pieptăne, pecteni și alte scoici din genul Pecten, Chlamys sau Placopecten' },\n\t{ value: '03072990', label: '--- Altele' },\n\t{ value: '03073100', label: '- Midii (Mytilus spp., Perna spp.)' },\n\t{ value: '03073100', label: '-- Vii, proaspete sau refrigerate' },\n\t{ value: '03073110', label: '--- Mytilus spp.' },\n\t{ value: '03073190', label: '--- Perna spp.' },\n\t{ value: '03073200', label: '-- Congelate' },\n\t{ value: '03073210', label: '--- Mytilus spp.' },\n\t{ value: '03073290', label: '--- Perna spp.' },\n\t{ value: '03073900', label: '-- Altele' },\n\t{ value: '03073920', label: '--- Mytilus spp.' },\n\t{ value: '03073980', label: '--- Perna spp.' },\n\t{ value: '03074200', label: '- Sepii și sepiole' },\n\t{ value: '03074200', label: '-- Vii, proaspete sau refrigerate' },\n\t{ value: '03074210', label: '--- Sepia officinalis, Rossia macrosoma, Sepiola spp.' },\n\t{ value: '03074220', label: '--- Loligo spp.' },\n\t{ value: '03074230', label: '--- Ommastrephes spp., Nototodarus spp., Sepioteuthis spp.' },\n\t{ value: '03074240', label: '--- Todarodes sagittatus' },\n\t{ value: '03074290', label: '--- Altele' },\n\t{ value: '03074300', label: '-- Congelate' },\n\t{ value: '03074321', label: '--- Sepia officinalis, Rossia macrosoma, Sepiola spp.' },\n\t{ value: '03074321', label: '---- Sepiola spp.' },\n\t{ value: '03074321', label: '----- Sepiola rondeleti' },\n\t{ value: '03074325', label: '----- Altele' },\n\t{ value: '03074329', label: '---- Sepia officinalis, Rossia macrosoma' },\n\t{ value: '03074331', label: '--- Loligo spp.' },\n\t{ value: '03074331', label: '---- Loligo vulgaris' },\n\t{ value: '03074333', label: '---- Loligo pealei' },\n\t{ value: '03074335', label: '---- Loligo gahi' },\n\t{ value: '03074338', label: '---- Altele' },\n\t{ value: '03074391', label: '--- Ommastrephes spp., altele decât Ommastrephes sagittatus, Nototodarus spp., Sepioteuthis spp.' },\n\t{ value: '03074392', label: '--- Illex spp.' },\n\t{ value: '03074395', label: '--- Todarodes sagittatus (Ommastrephes sagittatus)' },\n\t{ value: '03074399', label: '--- Altele' },\n\t{ value: '03074900', label: '-- Altele' },\n\t{ value: '03074920', label: '--- Sepia officinalis, Rossia macrosoma, Sepiola spp.' },\n\t{ value: '03074940', label: '--- Loligo spp.' },\n\t{ value: '03074950', label: '--- Ommastrephes spp., altele decât Ommastrephes sagittatus, Nototodarus spp., Sepioteuthis spp.' },\n\t{ value: '03074960', label: '--- Todarodes sagittatus (Ommastrephes sagittatus)' },\n\t{ value: '03074980', label: '--- Altele' },\n\t{ value: '03075100', label: '- Caracatițe (Octopus spp.)' },\n\t{ value: '03075100', label: '-- Vii, proaspete sau refrigerate' },\n\t{ value: '03075200', label: '-- Congelate' },\n\t{ value: '03075900', label: '-- Altele' },\n\t{ value: '03076000', label: '- Melci, alții decât melcii de mare' },\n\t{ value: '03077100', label: '- Bivalve marine (familiile Arcidae, Arcticidae, Cardiidae, Donacidae, Hiatellidae, Mactridae, Mesodesmatidae, Myidae, Semelidae, Solecurtidae, Solenidae, Tridacnidae și Veneridae)' },\n\t{ value: '03077100', label: '-- Vii, proaspete sau refrigerate' },\n\t{ value: '03077200', label: '-- Congelate' },\n\t{ value: '03077210', label: '--- Pești vărgați sau alte specii din familia Veneridae' },\n\t{ value: '03077290', label: '--- Altele' },\n\t{ value: '03077900', label: '-- Altele' },\n\t{ value: '03078100', label: '- Urechea mării (Haliotis spp.) și specii de melci din genul Strombus (Strombus spp.)' },\n\t{ value: '03078100', label: '-- Urechea mării (Haliotis spp.) vii, proaspete sau refrigerate' },\n\t{ value: '03078200', label: '-- Specii de melci din genul Strombus (Strombus spp.) vii, proaspeți sau refrigerați' },\n\t{ value: '03078300', label: '-- Urechea mării (Haliotis spp.) congelate' },\n\t{ value: '03078400', label: '-- Specii de melci din genul Strombus (Strombus spp.) congelați' },\n\t{ value: '03078700', label: '-- Alte specii de urechea mării (Haliotis spp.)' },\n\t{ value: '03078800', label: '-- Alte specii de melci din genul Strombus (Strombus spp.)' },\n\t{ value: '03079100', label: '- Altele' },\n\t{ value: '03079100', label: '-- Vii, proaspete sau refrigerate' },\n\t{ value: '03079200', label: '-- Congelate' },\n\t{ value: '03079900', label: '-- Altele' },\n\t{ value: '03080000', label: 'Nevertebrate acvatice, altele decât crustaceele și moluștele, vii, proaspete, refrigerate, congelate, uscate, sărate sau în saramură; nevertebrate acvatice altele decât crustaceele și moluștele, afumate,, atât fierte, cât și nefierte înainte sau în timpul afumării' },\n\t{ value: '03081100', label: '- Castraveți de mare (Stichopus japonicus, Holothuroidea)' },\n\t{ value: '03081100', label: '-- Vii, proaspeți sau refrigerați' },\n\t{ value: '03081200', label: '-- Congelați' },\n\t{ value: '03081900', label: '-- Altele' },\n\t{ value: '03082100', label: '- Arici-de-mare (Strongylocentrotus spp., Paracentrotus lividus, Loxechinus albus, Echinus esculentus)' },\n\t{ value: '03082100', label: '-- Vii, proaspeți sau refrigerați' },\n\t{ value: '03082200', label: '-- Congelați' },\n\t{ value: '03082900', label: '-- Altele' },\n\t{ value: '03083000', label: '- Meduze (Rhopilema spp.)' },\n\t{ value: '03083050', label: '-- Congelate' },\n\t{ value: '03083080', label: '-- Altele' },\n\t{ value: '03089000', label: '- Altele' },\n\t{ value: '03089010', label: '-- Vii, proaspete sau refrigerate' },\n\t{ value: '03089050', label: '-- Congelate' },\n\t{ value: '03089090', label: '-- Altele' },\n\t{ value: '03090000', label: 'Făină, pudră și aglomerate sub formă de pelete de pește, de crustacee, de moluște și de alte nevertebrate acvatice, adecvate pentru consumul uman' },\n\t{ value: '03091000', label: '- De pește' },\n\t{ value: '03099000', label: '- Altele' },\n\t{ value: '04000000', label: 'LAPTE ȘI PRODUSE LACTATE; OUĂ DE PĂSĂRI; MIERE NATURALĂ; PRODUSE COMESTIBILE DE ORIGINE ANIMALĂ, NEDENUMITE ȘI NECUPRINSE ÎN ALTĂ PARTE' },\n\t{ value: '04010000', label: 'Lapte și smântână din lapte, neconcentrate, fără adaos de zahăr sau alți îndulcitori' },\n\t{ value: '04011000', label: '- Cu un conținut de grăsimi de maximum 1 % din greutate' },\n\t{ value: '04011010', label: '-- În ambalaje directe cu un conținut net de maximum 2 l' },\n\t{ value: '04011090', label: '-- Altele' },\n\t{ value: '04012000', label: '- Cu un conținut de grăsimi peste 1 %, dar maximum 6 % din greutate' },\n\t{ value: '04012011', label: '-- De maximum 3 %' },\n\t{ value: '04012011', label: '--- În ambalaje directe cu un conținut net de maximum 2 l' },\n\t{ value: '04012019', label: '--- Altele' },\n\t{ value: '04012091', label: '-- Peste 3 %' },\n\t{ value: '04012091', label: '--- În ambalaje directe cu un conținut net de maximum 2 l' },\n\t{ value: '04012099', label: '--- Altele' },\n\t{ value: '04014000', label: '- Cu un conținut de grăsimi peste 6 %, dar maximum 10 % din greutate' },\n\t{ value: '04014010', label: '-- În ambalaje directe cu un conținut net de maximum 2 l' },\n\t{ value: '04014090', label: '-- Altele' },\n\t{ value: '04015000', label: '- Cu un conținut de grăsimi de peste 10 % din greutate' },\n\t{ value: '04015011', label: '-- De maximum 21 %' },\n\t{ value: '04015011', label: '--- În ambalaje directe cu un conținut net de maximum 2 l' },\n\t{ value: '04015019', label: '--- Altele' },\n\t{ value: '04015031', label: '-- Peste 21 %, dar maximum 45 %' },\n\t{ value: '04015031', label: '--- În ambalaje directe cu un conținut net de maximum 2 l' },\n\t{ value: '04015039', label: '--- Altele' },\n\t{ value: '04015091', label: '-- Peste 45 %' },\n\t{ value: '04015091', label: '--- În ambalaje directe cu un conținut net de maximum 2 l' },\n\t{ value: '04015099', label: '--- Altele' },\n\t{ value: '04020000', label: 'Lapte și smântână din lapte, concentrate sau cu adaos de zahăr sau alți îndulcitori' },\n\t{ value: '04021000', label: '- Sub formă de praf, granule sau alte forme solide, cu un conținut de grăsimi de maximum 1,5 % din greutate' },\n\t{ value: '04021011', label: '-- Fără adaos de zahăr sau alți îndulcitori' },\n\t{ value: '04021011', label: '--- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04021019', label: '--- Altele' },\n\t{ value: '04021091', label: '-- Altele' },\n\t{ value: '04021091', label: '--- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04021099', label: '--- Altele' },\n\t{ value: '04022100', label: '- Sub formă de praf, granule sau alte forme solide, cu un conținut de grăsimi de peste 1,5 % din greutate' },\n\t{ value: '04022100', label: '-- Fără adaos de zahăr sau alți îndulcitori' },\n\t{ value: '04022111', label: '--- Cu un conținut de grăsimi de maximum 27 % din greutate' },\n\t{ value: '04022111', label: '---- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04022118', label: '---- Altele' },\n\t{ value: '04022191', label: '--- Cu un conținut de grăsimi de peste 27 % din greutate' },\n\t{ value: '04022191', label: '---- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04022199', label: '---- Altele' },\n\t{ value: '04022900', label: '-- Altele' },\n\t{ value: '04022911', label: '--- Cu un conținut de grăsimi de maximum 27 % din greutate' },\n\t{ value: '04022911', label: '---- Lapte special numit \"pentru sugari\", în recipiente închise ermetic, cu un conținut net de maximum 500 g și cu un conținut de grăsimi de peste 10 % din greutate' },\n\t{ value: '04022915', label: '---- Altele' },\n\t{ value: '04022915', label: '----- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04022919', label: '----- Altele' },\n\t{ value: '04022991', label: '--- Cu un conținut de grăsimi de peste 27 % din greutate' },\n\t{ value: '04022991', label: '---- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04022999', label: '---- Altele' },\n\t{ value: '04029100', label: '- Altele' },\n\t{ value: '04029100', label: '-- Fără adaos de zahăr sau alți îndulcitori' },\n\t{ value: '04029110', label: '--- Cu un conținut de grăsimi de maxim 8 % din greutate' },\n\t{ value: '04029130', label: '--- Cu un conținut de grăsimi de peste 8 %, dar de maximum 10 % din greutate' },\n\t{ value: '04029151', label: '--- Cu un conținut de grăsimi de peste 10 %, dar de maximum 45 % din greutate' },\n\t{ value: '04029151', label: '---- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04029159', label: '---- Altele' },\n\t{ value: '04029191', label: '--- Cu un conținut de grăsimi de peste 45 % din greutate' },\n\t{ value: '04029191', label: '---- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04029199', label: '---- Altele' },\n\t{ value: '04029900', label: '-- Altele' },\n\t{ value: '04029910', label: '--- Cu un conținut de grăsimi de maximum 9,5 % din greutate' },\n\t{ value: '04029931', label: '--- Cu un conținut de grăsimi de peste 9,5 %, dar de maximum 45 % din greutate' },\n\t{ value: '04029931', label: '---- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04029939', label: '---- Altele' },\n\t{ value: '04029991', label: '--- Cu un conținut de grăsimi de peste 45 % din greutate' },\n\t{ value: '04029991', label: '---- În ambalaje directe cu un conținut net de maximum 2,5 kg' },\n\t{ value: '04029999', label: '---- Altele' },\n\t{ value: '04030000', label: 'Iaurt; lapte acru, lapte și smântână covăsite, chefir și alte sortimente de lapte și smântână fermentate sau acrite, chiar concentrate, sau cu adaos de zahăr sau alți îndulcitori, sau aromatizate, sau cu adaos de fructe, fructe cu coajă lemnoasă sau cacao' },\n\t{ value: '04032000', label: '- Iaurt' },\n\t{ value: '04032011', label: '-- Nearomatizat, fără adaos de fructe, fructe cu coajă lemnoasă, cacao, ciocolată, mirodenii, cafea sau extract de cafea, plante, părți de plante, cereale sau produse de brutărie' },\n\t{ value: '04032011', label: '--- Fără adaos de zahăr sau alți îndulcitori și care are un conținut de grăsimi' },\n\t{ value: '04032011', label: '---- De maximum 3 % din greutate' },\n\t{ value: '04032013', label: '---- Peste 3 %, dar maximum 6 % din greutate' },\n\t{ value: '04032019', label: '---- Peste 6 % din greutate' },\n\t{ value: '04032031', label: '--- Altele, cu un conținut de grăsimi' },\n\t{ value: '04032031', label: '---- De maximum 3 % din greutate' },\n\t{ value: '04032033', label: '---- Peste 3 %, dar maximum 6 % din greutate' },\n\t{ value: '04032039', label: '---- Peste 6 % din greutate' },\n\t{ value: '04032041', label: '-- Cu adaos de ciocolată, mirodenii, cafea sau extract de cafea, plante, părți de plante, cereale sau produse de brutărie' },\n\t{ value: '04032041', label: '--- Cu un conținut sub 1,5 % de grăsimi din lapte, sub 5 % zaharoză (inclusiv zahăr invertit) sau izoglucoză, sub 5 % glucoză, amidon sau fecule' },\n\t{ value: '04032049', label: '--- Altele' },\n\t{ value: '04032051', label: '-- Altele, aromatizate sau cu adaos de fructe, fructe cu coajă lemnoasă sau cacao' },\n\t{ value: '04032051', label: '--- Sub formă de praf, granule sau alte forme solide, cu un conținut de grăsimi din lapte' },\n\t{ value: '04032051', label: '---- De maximum 1,5 % din greutate' },\n\t{ value: '04032053', label: '---- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04032059', label: '---- Peste 27 % din greutate' },\n\t{ value: '04032091', label: '--- Altele, cu un conținut de grăsimi din lapte' },\n\t{ value: '04032091', label: '---- De maximum 3 % din greutate' },\n\t{ value: '04032093', label: '---- Peste 3 %, dar maximum 6 % din greutate' },\n\t{ value: '04032099', label: '---- Peste 6 % din greutate' },\n\t{ value: '04039000', label: '- Altele' },\n\t{ value: '04039011', label: '-- Nearomatizate, fără adaos de fructe sau cacao' },\n\t{ value: '04039011', label: '--- Sub formă de praf, granule sau alte forme solide' },\n\t{ value: '04039011', label: '---- Fără adaos de zahăr sau alți îndulcitori și cu un conținut de grăsimi' },\n\t{ value: '04039011', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04039013', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04039019', label: '----- Peste 27 %' },\n\t{ value: '04039031', label: '---- Altele, cu un conținut de grăsimi' },\n\t{ value: '04039031', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04039033', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04039039', label: '----- Peste 27 %' },\n\t{ value: '04039051', label: '--- Altele' },\n\t{ value: '04039051', label: '---- Fără adaos de zahăr sau alți îndulcitori și cu un conținut de grăsimi' },\n\t{ value: '04039051', label: '----- De maximum 3 % din greutate' },\n\t{ value: '04039053', label: '----- Peste 3 %, dar maximum 6 % din greutate' },\n\t{ value: '04039059', label: '----- Peste 6 %' },\n\t{ value: '04039061', label: '---- Altele, cu un conținut de grăsimi' },\n\t{ value: '04039061', label: '----- De maximum 3 % din greutate' },\n\t{ value: '04039063', label: '----- Peste 3 %, dar maximum 6 % din greutate' },\n\t{ value: '04039069', label: '----- Peste 6 %' },\n\t{ value: '04039071', label: '-- Aromatizate sau cu adaos de fructe sau cacao' },\n\t{ value: '04039071', label: '--- Sub formă de praf, granule sau alte forme solide, cu un conținut de grăsimi din lapte' },\n\t{ value: '04039071', label: '---- De maximum 1,5 % din greutate' },\n\t{ value: '04039073', label: '---- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04039079', label: '---- Peste 27 % din greutate' },\n\t{ value: '04039091', label: '--- Altele, cu un conținut de grăsimi din lapte' },\n\t{ value: '04039091', label: '---- De maximum 3 % din greutate' },\n\t{ value: '04039093', label: '---- Peste 3 %, dar maximum 6 % din greutate' },\n\t{ value: '04039099', label: '---- Peste 6 % din greutate' },\n\t{ value: '04040000', label: 'Zer, chiar concentrat sau cu adaos de zahăr sau de alți îndulcitori; produse obținute din compuși naturali ai laptelui, chiar cu adaos de zahăr sau alți îndulcitori, nedenumite și necuprinse în altă parte' },\n\t{ value: '04041000', label: '- Zer, modificat sau nu, chiar concentrat sau cu adaos de zahăr sau de alți îndulcitori' },\n\t{ value: '04041002', label: '-- Sub formă de praf, granule sau alte forme solide' },\n\t{ value: '04041002', label: '--- Fără adaos de zahăr sau alți îndulcitori și cu un conținut de proteine (conținut de azot x 6,38)' },\n\t{ value: '04041002', label: '---- De maximum 15 % din greutate și cu un conținut de grăsimi' },\n\t{ value: '04041002', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04041004', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04041006', label: '----- Peste 27 % din greutate' },\n\t{ value: '04041012', label: '---- De peste 15 % din greutate și cu un conținut de grăsimi' },\n\t{ value: '04041012', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04041014', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04041016', label: '----- Peste 27 % din greutate' },\n\t{ value: '04041026', label: '--- Altele, cu un conținut de proteine (conținut de azot x 6,38)' },\n\t{ value: '04041026', label: '---- De maximum 15 % din greutate și cu un conținut de grăsimi' },\n\t{ value: '04041026', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04041028', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04041032', label: '----- Peste 27 % din greutate' },\n\t{ value: '04041034', label: '---- Peste 15 % din greutate și cu un conținut de grăsimi' },\n\t{ value: '04041034', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04041036', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04041038', label: '----- Peste 27 % din greutate' },\n\t{ value: '04041048', label: '-- Altele' },\n\t{ value: '04041048', label: '--- Fără adaos de zahăr sau alți îndulcitori și cu un conținut de proteine (conținut de azot x 6,38)' },\n\t{ value: '04041048', label: '---- De maximum 15 % din greutate și cu un conținut de grăsimi' },\n\t{ value: '04041048', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04041052', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04041054', label: '----- Peste 27 % din greutate' },\n\t{ value: '04041056', label: '---- Peste 15 % din greutate și cu un conținut de grăsimi' },\n\t{ value: '04041056', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04041058', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04041062', label: '----- Peste 27 % din greutate' },\n\t{ value: '04041072', label: '--- Altele, cu un conținut de proteine (conținut de azot x 6,38)' },\n\t{ value: '04041072', label: '---- De maximum 15 % din greutate și cu un conținut de grăsimi' },\n\t{ value: '04041072', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04041074', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04041076', label: '----- Peste 27 % din greutate' },\n\t{ value: '04041078', label: '---- Peste 15 % din greutate și cu un conținut de grăsimi' },\n\t{ value: '04041078', label: '----- De maximum 1,5 % din greutate' },\n\t{ value: '04041082', label: '----- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04041084', label: '----- Peste 27 % din greutate' },\n\t{ value: '04049000', label: '- Altele' },\n\t{ value: '04049021', label: '-- Fără adaos de zahăr sau alți îndulcitori și cu un conținut de grăsimi' },\n\t{ value: '04049021', label: '--- De maximum 1,5 % din greutate' },\n\t{ value: '04049023', label: '--- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04049029', label: '--- Peste 27 % din greutate' },\n\t{ value: '04049081', label: '-- Altele, cu un conținut de grăsimi' },\n\t{ value: '04049081', label: '--- De maximum 1,5 % din greutate' },\n\t{ value: '04049083', label: '--- Peste 1,5 %, dar maximum 27 % din greutate' },\n\t{ value: '04049089', label: '--- Peste 27 % din greutate' },\n\t{ value: '04050000', label: 'Unt și alte grăsimi care provin din lapte; pastă din lapte pentru tartine' },\n\t{ value: '04051000', label: '- Unt' },\n\t{ value: '04051011', label: '-- Cu un conținut de grăsimi de maximum 85 % din greutate' },\n\t{ value: '04051011', label: '--- Unt natural' },\n\t{ value: '04051011', label: '---- În ambalaje directe cu un conținut net de maximum 1 kg' },\n\t{ value: '04051019', label: '---- Altele' },\n\t{ value: '04051030', label: '--- Unt recombinat' },\n\t{ value: '04051050', label: '--- Unt din zer' },\n\t{ value: '04051090', label: '-- Altele' },\n\t{ value: '04052000', label: '- Pastă din lapte pentru tartine' },\n\t{ value: '04052010', label: '-- Cu un conținut de grăsimi egal cu sau mai mare de 39 %, dar mai mic de 60 % din greutate' },\n\t{ value: '04052030', label: '-- Cu un conținut de grăsimi egal cu sau mai mare de 60 %, dar de maximum 75 % din greutate' },\n\t{ value: '04052090', label: '-- Cu un conținut de grăsimi de peste 75 %, dar mai mic de 80 % din greutate' },\n\t{ value: '04059000', label: '- Altele' },\n\t{ value: '04059010', label: '-- Cu un conținut de grăsimi egal cu sau mai mare de 99,3 % și cu un conținut de apă de maximum 0,5 % din greutate' },\n\t{ value: '04059090', label: '-- Altele' },\n\t{ value: '04060000', label: 'Brânză și caș' },\n\t{ value: '04061000', label: '- Brânză proaspătă (nefermentată), inclusiv brânza din zer, și caș' },\n\t{ value: '04061030', label: '-- Cu un conținut de grăsimi de maximum 40 % din greutate' },\n\t{ value: '04061030', label: '--- Mozzarella, cu sau fără lichid' },\n\t{ value: '04061050', label: '--- Altele' },\n\t{ value: '04061080', label: '-- Altele' },\n\t{ value: '04062000', label: '- Brânză rasă sau pudră, de orice tip' },\n\t{ value: '04063000', label: '- Brânză topită, alta decât cea rasă sau pudră' },\n\t{ value: '04063010', label: '-- La fabricarea cărora nu s-au folosit alte brânzeturi decât Emmental, Gruyère și Appenzell și care pot avea adăugată brânză Glarus cu ierburi (zisă și \"Schabziger\"), condiționate pentru vânzarea cu amănuntul, cu un conținut de grăsimi în substanța uscată mai mic de sau egal cu 56 % din greutate' },\n\t{ value: '04063031', label: '-- Altele' },\n\t{ value: '04063031', label: '--- Cu un conținut de grăsimi de maximum 36 % și cu un conținut de grăsimi în substanță uscată' },\n\t{ value: '04063031', label: '---- De maximum 48 % din greutate' },\n\t{ value: '04063039', label: '---- Peste 48 % din greutate' },\n\t{ value: '04063090', label: '--- Cu un conținut de grăsimi de peste 36 % din greutate' },\n\t{ value: '04064000', label: '- Brânză cu mucegai și alte brânzeturi care conțin mucegai produs de Penicillium roqueforti' },\n\t{ value: '04064010', label: '-- Roquefort' },\n\t{ value: '04064050', label: '-- Gorgonzola' },\n\t{ value: '04064090', label: '-- Altele' },\n\t{ value: '04069000', label: '- Alte brânzeturi' },\n\t{ value: '04069001', label: '-- Destinate prelucrării' },\n\t{ value: '04069013', label: '-- Altele' },\n\t{ value: '04069013', label: '--- Emmental' },\n\t{ value: '04069015', label: '--- Gruyère, Sbrinz' },\n\t{ value: '04069017', label: '--- Bergkäse, Appenzell' },\n\t{ value: '04069018', label: '--- Brânză Fribourgeois, Vacherin Mont d\\'Or și Tête de Moine' },\n\t{ value: '04069021', label: '--- Cheddar' },\n\t{ value: '04069023', label: '--- Edam' },\n\t{ value: '04069025', label: '--- Tilsit' },\n\t{ value: '04069029', label: '--- Cașcaval' },\n\t{ value: '04069032', label: '--- Feta' },\n\t{ value: '04069035', label: '--- Kefalo-Tyri' },\n\t{ value: '04069037', label: '--- Finlandia' },\n\t{ value: '04069039', label: '--- Jarlsberg' },\n\t{ value: '04069050', label: '--- Altele' },\n\t{ value: '04069050', label: '---- Brânză din lapte de oaie sau de bivoliță, în recipiente conținând saramură, sau în burduf din piele de oaie sau de capră' },\n\t{ value: '04069061', label: '---- Altele' },\n\t{ value: '04069061', label: '----- Cu un conținut de grăsimi de maximum 40 % din greutate și cu un conținut de apă, în substanța fără grăsimi' },\n\t{ value: '04069061', label: '------ De maximum 47 % din greutate' },\n\t{ value: '04069061', label: '------- Grana Padano, Parmigiano Reggiano' },\n\t{ value: '04069063', label: '------- Fiore Sardo, Pecorino' },\n\t{ value: '04069069', label: '------- Altele' },\n\t{ value: '04069073', label: '------ Peste 47 %, dar de maximum 72 % din greutate' },\n\t{ value: '04069073', label: '------- Provolone' },\n\t{ value: '04069074', label: '------- Maasdam' },\n\t{ value: '04069075', label: '------- Asiago, Caciocavallo, Montasio, Ragusano' },\n\t{ value: '04069076', label: '------- Danbo, Fontal, Fontina, Fynbo, Havarti, Maribo, Samsø' },\n\t{ value: '04069078', label: '------- Gouda' },\n\t{ value: '04069079', label: '------- Esrom, Italico, Kernhem, Saint-Nectaire, Saint-Paulin, Taleggio' },\n\t{ value: '04069081', label: '------- Cantal, Cheshire, Wensleydale, Lancashire, Double Gloucester, Blarney, Colby, Monterey' },\n\t{ value: '04069082', label: '------- Camembert' },\n\t{ value: '04069084', label: '------- Brie' },\n\t{ value: '04069085', label: '------- Kefalograviera, Kasseri' },\n\t{ value: '04069086', label: '------- Alte brânzeturi, cu un conținut de apă în substanța fără grăsimi' },\n\t{ value: '04069086', label: '-------- Peste 47 %, dar de maximum 52 % din greutate' },\n\t{ value: '04069089', label: '-------- Peste 52 %, dar de maximum 62 % din greutate' },\n\t{ value: '04069092', label: '-------- Peste 62 %, dar de maximum 72 % din greutate' },\n\t{ value: '04069093', label: '------ Peste 72 % din greutate' },\n\t{ value: '04069099', label: '----- Altele' },\n\t{ value: '04070000', label: 'Ouă de păsări, în coajă, proaspete, conservate sau fierte' },\n\t{ value: '04071100', label: '- Ouă fecundate pentru incubație' },\n\t{ value: '04071100', label: '-- De găini din specia Gallus domesticus' },\n\t{ value: '04071900', label: '-- Altele' },\n\t{ value: '04071911', label: '--- De păsări de curte, altele decât cele de găini din specia Gallus domesticus' },\n\t{ value: '04071911', label: '---- De curci sau de gâște' },\n\t{ value: '04071919', label: '---- Altele' },\n\t{ value: '04071990', label: '--- Altele' },\n\t{ value: '04072100', label: '- Alte ouă proaspete' },\n\t{ value: '04072100', label: '-- De găini din specia Gallus domesticus' },\n\t{ value: '04072900', label: '-- Altele' },\n\t{ value: '04072910', label: '--- De păsări de curte, altele decât cele de găini din specia Gallus domesticus' },\n\t{ value: '04072990', label: '--- Altele' },\n\t{ value: '04079000', label: '- Altele' },\n\t{ value: '04079010', label: '-- De păsări de curte' },\n\t{ value: '04079090', label: '-- Altele' },\n\t{ value: '04080000', label: 'Ouă de păsări, fără coajă, și gălbenușuri, proaspete, uscate, fierte în apă sau în abur, turnate în formă, congelate sau altfel conservate, chiar cu adaos de zahăr sau de alți îndulcitori' },\n\t{ value: '04081100', label: '- Gălbenușuri' },\n\t{ value: '04081100', label: '-- Uscate' },\n\t{ value: '04081120', label: '--- Improprii consumului alimentar' },\n\t{ value: '04081180', label: '--- Altele' },\n\t{ value: '04081900', label: '-- Altele' },\n\t{ value: '04081920', label: '--- Improprii consumului alimentar' },\n\t{ value: '04081981', label: '--- Altele' },\n\t{ value: '04081981', label: '---- Lichide' },\n\t{ value: '04081989', label: '---- Altele, inclusiv congelate' },\n\t{ value: '04089100', label: '- Altele' },\n\t{ value: '04089100', label: '-- Uscate' },\n\t{ value: '04089120', label: '--- Improprii consumului alimentar' },\n\t{ value: '04089180', label: '--- Altele' },\n\t{ value: '04089900', label: '-- Altele' },\n\t{ value: '04089920', label: '--- Improprii consumului alimentar' },\n\t{ value: '04089980', label: '--- Altele' },\n\t{ value: '04090000', label: 'Miere naturală' },\n\t{ value: '04100000', label: 'Insecte și alte produse comestibile de origine animală, nedenumite și necuprinse în altă parte' },\n\t{ value: '04101000', label: '- Insecte' },\n\t{ value: '04101010', label: '-- Proaspete, refrigerate sau congelate' },\n\t{ value: '04101091', label: '-- Altele' },\n\t{ value: '04101091', label: '--- Făină și pudră, comestibile, de carne sau de organe' },\n\t{ value: '04101099', label: '--- Altele' },\n\t{ value: '04109000', label: '- Altele' },\n\t{ value: '05000000', label: 'ALTE PRODUSE DE ORIGINE ANIMALĂ, NEDENUMITE ȘI NECUPRINSE ÎN ALTĂ PARTE' },\n\t{ value: '05010000', label: 'Păr uman, brut, chiar spălat sau degresat; deșeuri de păr uman' },\n\t{ value: '05020000', label: 'Păr de porc sau de mistreț; păr de bursuc și alte tipuri de păr pentru perii și articole similare; deșeuri din aceste tipuri de păr' },\n\t{ value: '05021000', label: '- Păr de porc sau de mistreț și deșeuri din păr de porc sau de mistreț' },\n\t{ value: '05029000', label: '- Altele' },\n\t{ value: '05040000', label: 'Intestine, vezici și stomacuri de animale, întregi sau bucăți, altele decât cele de pește, proaspete, refrigerate, congelate, sărate sau în saramură, uscate sau afumate' },\n\t{ value: '05050000', label: 'Piei de păsări și alte părți de păsări, acoperite cu penele lor sau cu fulgii ori cu puful lor, pene și părți de pene (cu marginile fasonate sau nu), puf, brute sau simplu curățate, dezinfectate sau tratate în vederea conservării lor; pulbere și deșeuri de pene sau de părți de pene' },\n\t{ value: '05051000', label: '- Pene de tipul celor utilizate pentru umplut; puf' },\n\t{ value: '05051010', label: '-- În stare brută' },\n\t{ value: '05051090', label: '-- Altele' },\n\t{ value: '05059000', label: '- Altele' },\n\t{ value: '05060000', label: 'Oase și coarne brute, degresate, prelucrate sumar (dar nedecupate în forme), tratate cu acid sau degelatinate; pulbere și deșeuri din acestea' },\n\t{ value: '05061000', label: '- Oseină și oase tratate cu acid' },\n\t{ value: '05069000', label: '- Altele' },\n\t{ value: '05070000', label: 'Fildeș, carapace de broască țestoasă, fanoane (inclusiv filamentele de fanoane) de balenă sau de alte mamifere marine, coarne, ramuri de coarne de cerb, copite, unghii, gheare și ciocuri, brute sau prelucrate sumar, dar nedecupate în forme; pulbere și deșeuri din aceste materiale' },\n\t{ value: '05071000', label: '- Fildeș; pulbere și deșeuri de fildeș' },\n\t{ value: '05079000', label: '- Altele' },\n\t{ value: '05080000', label: 'Corali și similare, brute sau preparate sumar, dar neprelucrate altfel; cochilii și carapace de moluște, de crustacee sau de echinoderme și oase de sepii, brute sau preparate sumar, dar nedecupate în forme, pulbere și deșeuri din acestea' },\n\t{ value: '05080010', label: '- Coral roșu (Corallium rubrum)' },\n\t{ value: '05080090', label: '- Altele' },\n\t{ value: '05100000', label: 'Chihlimbar cenușiu, castoreum, zibeta, mosc; cantaride; bilă, chiar uscată; glande și alte substanțe de origine animală folosite la prepararea produselor farmaceutice, proaspete, refrigerate, congelate sau altfel conservate provizoriu' },\n\t{ value: '05110000', label: 'Produse de origine animală, nedenumite și necuprinse în altă parte; animale moarte de la capitolele 1 sau 3, improprii alimentației umane' },\n\t{ value: '05111000', label: '- Spermă de bovine' },\n\t{ value: '05119100', label: '- Altele' },\n\t{ value: '05119100', label: '-- Produse din pește sau din crustacee, din moluște sau din alte nevertebrate acvatice; animale moarte de la capitolul 3' },\n\t{ value: '05119110', label: '--- Deșeuri de pește' },\n\t{ value: '05119190', label: '--- Altele' },\n\t{ value: '05119900', label: '-- Altele' },\n\t{ value: '05119910', label: '--- Tendoane și vene; unghii și deșeuri similare de piei brute' },\n\t{ value: '05119931', label: '--- Bureți naturali de origine animală' },\n\t{ value: '05119931', label: '---- În stare brută' },\n\t{ value: '05119939', label: '---- Altele' },\n\t{ value: '05119985', label: '--- Altele' },\n\t{ value: '06000000', label: 'PLANTE VII ȘI PRODUSE DE FLORICULTURĂ' },\n\t{ value: '06010000', label: 'Bulbi, tuberculi, cepe, rădăcini tuberculate, grife și rizomi, în repaus vegetativ, în vegetație sau în floare; puieți, plante și rădăcini de cicoare, altele decât rădăcinile de la poziția 1212' },\n\t{ value: '06011000', label: '- Bulbi, tuberculi, cepe, rădăcini tuberculate, grife și rizomi, în repaus vegetativ' },\n\t{ value: '06011010', label: '-- Zambile' },\n\t{ value: '06011020', label: '-- Narcise' },\n\t{ value: '06011030', label: '-- Lalele' },\n\t{ value: '06011040', label: '-- Gladiole' },\n\t{ value: '06011090', label: '-- Altele' },\n\t{ value: '06012000', label: '- Bulbi, tuberculi, cepe, rădăcini tuberculate, grife și rizomi, în vegetație sau în floare; puieți, plante și rădăcini de cicoare' },\n\t{ value: '06012010', label: '-- Puieți, plante și rădăcini de cicoare' },\n\t{ value: '06012030', label: '-- Orhidee, zambile, narcise și lalele' },\n\t{ value: '06012090', label: '-- Altele' },\n\t{ value: '06020000', label: 'Alte plante vii (inclusiv rădăcinile acestora), butași și altoi; spori de ciuperci' },\n\t{ value: '06021000', label: '- Butași nerădăcinoși și altoi' },\n\t{ value: '06021010', label: '-- De viță de vie' },\n\t{ value: '06021090', label: '-- Altele' },\n\t{ value: '06022000', label: '- Arbori, arbuști, copăcei și tufișuri, cu fructe comestibile, altoiți sau nealtoiți' },\n\t{ value: '06022010', label: '-- Butași de viță de vie altoiți sau rădăcinoși' },\n\t{ value: '06022020', label: '-- Altele' },\n\t{ value: '06022020', label: '--- Cu rădăcini curăţate' },\n\t{ value: '06022030', label: '--- Altele' },\n\t{ value: '06022030', label: '---- Citrice' },\n\t{ value: '06022080', label: '---- Altele' },\n\t{ value: '06023000', label: '- Rododendroni și azalee, altoiți sau nealtoiți' },\n\t{ value: '06024000', label: '- Trandafiri, altoiți sau nealtoiți' },\n\t{ value: '06029000', label: '- Altele' },\n\t{ value: '06029010', label: '-- Spori de ciuperci' },\n\t{ value: '06029020', label: '-- Puieți de ananas' },\n\t{ value: '06029030', label: '-- Răsaduri de legume și răsaduri de căpșuni' },\n\t{ value: '06029041', label: '-- Altele' },\n\t{ value: '06029041', label: '--- Plante care cresc în aer liber' },\n\t{ value: '06029041', label: '---- Arbori, arbuști și tufișuri' },\n\t{ value: '06029041', label: '----- De pădure' },\n\t{ value: '06029045', label: '----- Altele' },\n\t{ value: '06029045', label: '------ Butași rădăcinoși și plante tinere' },\n\t{ value: '06029046', label: '------ Altele' },\n\t{ value: '06029046', label: '------- Cu rădăcini curăţate' },\n\t{ value: '06029047', label: '------- Altele' },\n\t{ value: '06029047', label: '-------- Conifere și plante sempervirescente' },\n\t{ value: '06029048', label: '-------- Altele' },\n\t{ value: '06029050', label: '---- Alte plante care cresc în aer liber' },\n\t{ value: '06029070', label: '--- Plante de interior' },\n\t{ value: '06029070', label: '---- Butași rădăcinoși și plante tinere, cu excepția cactușilor' },\n\t{ value: '06029091', label: '---- Altele' },\n\t{ value: '06029091', label: '----- Plante cu flori, îmbobocite sau în floare, cu excepția cactușilor' },\n\t{ value: '06029099', label: '----- Altele' },\n\t{ value: '06030000', label: 'Flori și boboci de flori, tăiate pentru buchete sau ornamente, proaspete, uscate, albite, vopsite, impregnate sau altfel pregătite' },\n\t{ value: '06031100', label: '- Proaspete' },\n\t{ value: '06031100', label: '-- Trandafiri' },\n\t{ value: '06031200', label: '-- Garoafe' },\n\t{ value: '06031300', label: '-- Orhidee' },\n\t{ value: '06031400', label: '-- Crizanteme' },\n\t{ value: '06031500', label: '-- Crini (Lilium spp.)' },\n\t{ value: '06031900', label: '-- Altele' },\n\t{ value: '06031910', label: '--- Gladiole' },\n\t{ value: '06031920', label: '--- Ranunculi' },\n\t{ value: '06031970', label: '--- Altele' },\n\t{ value: '06039000', label: '- Altele' },\n\t{ value: '06040000', label: 'Frunze, ramuri și alte părți de plante, fără flori și fără boboci de flori, ierburi, mușchi și licheni, pentru buchete și ornamente, proaspete, uscate, albite, vopsite, impregnate sau altfel pregătite' },\n\t{ value: '06042000', label: '- Proaspete' },\n\t{ value: '06042011', label: '-- Mușchi și licheni' },\n\t{ value: '06042011', label: '--- Mușchiul renului' },\n\t{ value: '06042019', label: '--- Altele' },\n\t{ value: '06042020', label: '-- Pomi de Crăciun' },\n\t{ value: '06042040', label: '-- Ramuri de conifere' },\n\t{ value: '06042090', label: '-- Altele' },\n\t{ value: '06049000', label: '- Altele' },\n\t{ value: '06049011', label: '-- Mușchi și licheni' },\n\t{ value: '06049011', label: '--- Mușchiul renului' },\n\t{ value: '06049019', label: '--- Altele' },\n\t{ value: '06049091', label: '-- Altele' },\n\t{ value: '06049091', label: '--- Neprelucrate altfel decât prin uscare' },\n\t{ value: '06049099', label: '--- Altele' },\n\t{ value: '07000000', label: 'LEGUME, PLANTE, RĂDĂCINI ȘI TUBERCULI, ALIMENTARE' },\n\t{ value: '07010000', label: 'Cartofi, în stare proaspătă sau refrigerată' },\n\t{ value: '07011000', label: '- Destinați însămânțării' },\n\t{ value: '07019000', label: '- Altele' },\n\t{ value: '07019010', label: '-- Destinați fabricării amidonului' },\n\t{ value: '07019050', label: '-- Altele' },\n\t{ value: '07019050', label: '--- Cartofi noi, de la 1 ianuarie la 30 iunie' },\n\t{ value: '07019090', label: '--- Altele' },\n\t{ value: '07020000', label: 'Tomate, în stare proaspătă sau refrigerată' },\n\t{ value: '07030000', label: 'Ceapă, ceapă eșalotă, usturoi, praz și alte legume aliacee, în stare proaspătă sau refrigerată' },\n\t{ value: '07031000', label: '- Ceapă și ceapă eșalotă' },\n\t{ value: '07031011', label: '-- Ceapă' },\n\t{ value: '07031011', label: '--- Destinată însămânțării' },\n\t{ value: '07031019', label: '--- Altele' },\n\t{ value: '07031090', label: '-- Ceapă eșalotă' },\n\t{ value: '07032000', label: '- Usturoi' },\n\t{ value: '07039000', label: '- Praz și alte legume aliacee' },\n\t{ value: '07040000', label: 'Varză, conopidă, varză creață, gulii și produse comestibile similare din genul Brassica, în stare proaspătă sau refrigerată' },\n\t{ value: '07041000', label: '- Conopidă și broccoli' },\n\t{ value: '07041010', label: '-- Conopidă și conopidă broccoli' },\n\t{ value: '07041090', label: '-- Altele' },\n\t{ value: '07042000', label: '- Varză de Bruxelles' },\n\t{ value: '07049000', label: '- Altele' },\n\t{ value: '07049010', label: '-- Varză albă și varză roșie' },\n\t{ value: '07049090', label: '-- Altele' },\n\t{ value: '07050000', label: 'Salată verde (Lactuca sativa) și cicoare (Cichorium spp.), în stare proaspătă sau refrigerată' },\n\t{ value: '07051100', label: '- Salată verde' },\n\t{ value: '07051100', label: '-- Salată verde varietatea cu căpățână' },\n\t{ value: '07051900', label: '-- Altele' },\n\t{ value: '07052100', label: '- Cicoare' },\n\t{ value: '07052100', label: '-- Cicoare Witloof (Cichorium intybus var. foliosum)' },\n\t{ value: '07052900', label: '-- Altele' },\n\t{ value: '07060000', label: 'Morcovi, napi, sfeclă roșie pentru salată, barba-caprei, țelină de rădăcină, ridichi și rădăcinoase comestibile similare, în stare proaspătă sau refrigerată' },\n\t{ value: '07061000', label: '- Morcovi și napi' },\n\t{ value: '07069000', label: '- Altele' },\n\t{ value: '07069010', label: '-- Țelină de rădăcină' },\n\t{ value: '07069030', label: '-- Hrean (Cochlearia armoracia)' },\n\t{ value: '07069090', label: '-- Altele' },\n\t{ value: '07070000', label: 'Castraveți și cornișon, în stare proaspătă sau refrigerată' },\n\t{ value: '07070005', label: '- Castraveți' },\n\t{ value: '07070090', label: '- Cornișon' },\n\t{ value: '07080000', label: 'Legume păstăi, curățate sau nu de păstăi, în stare proaspătă sau refrigerată' },\n\t{ value: '07081000', label: '- Mazăre (Pisum sativum)' },\n\t{ value: '07082000', label: '- Fasole (Vigna spp., Phaseolus spp.)' },\n\t{ value: '07089000', label: '- Alte legume păstăi' },\n\t{ value: '07090000', label: 'Alte legume, în stare proaspătă sau refrigerată' },\n\t{ value: '07092000', label: '- Sparanghel' },\n\t{ value: '07093000', label: '- Vinete' },\n\t{ value: '07094000', label: '- Țelină, alta decât țelina de rădăcină' },\n\t{ value: '07095100', label: '- Ciuperci și trufe' },\n\t{ value: '07095100', label: '-- Ciuperci din genul Agaricus' },\n\t{ value: '07095200', label: '-- Ciuperci din genul Boletus' },\n\t{ value: '07095300', label: '-- Ciuperci din genul Cantharellus' },\n\t{ value: '07095400', label: '-- Shiitake (Lentinus edodes)' },\n\t{ value: '07095500', label: '-- Matsutake (Tricholoma matsutake, Tricholoma magnivelare, Tricholoma anatolicum, Tricholoma dulciolens, Tricholoma caligatum)' },\n\t{ value: '07095600', label: '-- Trufe (Tuber spp.)' },\n\t{ value: '07095900', label: '-- Altele' },\n\t{ value: '07096000', label: '- Ardei din genul Capsicum sau din genul Pimenta' },\n\t{ value: '07096010', label: '-- Ardei grași' },\n\t{ value: '07096091', label: '-- Altele' },\n\t{ value: '07096091', label: '--- Din genul Capsicum destinate fabricării capsicinei sau a extractelor de oleorășini de Capsicum' },\n\t{ value: '07096095', label: '--- Destinate fabricării industriale a uleiurilor esențiale sau a rezinoidelor' },\n\t{ value: '07096099', label: '--- Altele' },\n\t{ value: '07097000', label: '- Spanac, ghizdei (spanac de Noua Zeelandă) și lobodă' },\n\t{ value: '07099100', label: '- Altele' },\n\t{ value: '07099100', label: '-- Anghinare' },\n\t{ value: '07099200', label: '-- Măsline' },\n\t{ value: '07099210', label: '--- Destinate altor utilizări decât pentru producția de ulei' },\n\t{ value: '07099290', label: '--- Altele' },\n\t{ value: '07099300', label: '-- Dovleci, dovleci turcești și tărtăcuțe (Cucurbita spp.)' },\n\t{ value: '07099310', label: '--- Dovlecei' },\n\t{ value: '07099390', label: '--- Altele' },\n\t{ value: '07099900', label: '-- Altele' },\n\t{ value: '07099910', label: '--- Salată, alta decât salata verde (Lactuca sativa) și cicoarea (Cichorium spp.)' },\n\t{ value: '07099920', label: '--- Cardon (anghinare americană) și frunze comestibile ale acesteia' },\n\t{ value: '07099940', label: '--- Capere' },\n\t{ value: '07099950', label: '--- Fenicul' },\n\t{ value: '07099960', label: '--- Porumb dulce' },\n\t{ value: '07099990', label: '--- Altele' },\n\t{ value: '07100000', label: 'Legume, nefierte sau fierte în apă sau în abur, congelate' },\n\t{ value: '07101000', label: '- Cartofi' },\n\t{ value: '07102100', label: '- Legume păstăi, curățate sau nu de păstăi' },\n\t{ value: '07102100', label: '-- Mazăre (Pisum sativum)' },\n\t{ value: '07102200', label: '-- Fasole (Vigna spp., Phaseolus spp.)' },\n\t{ value: '07102900', label: '-- Altele' },\n\t{ value: '07103000', label: '- Spanac, ghizdei (spanac de Noua Zeelandă) și lobodă' },\n\t{ value: '07104000', label: '- Porumb dulce' },\n\t{ value: '07108000', label: '- Alte legume' },\n\t{ value: '07108010', label: '-- Măsline' },\n\t{ value: '07108051', label: '-- Ardei din genul Capsicum sau din genul Pimenta' },\n\t{ value: '07108051', label: '--- Ardei grași' },\n\t{ value: '07108059', label: '--- Altele' },\n\t{ value: '07108061', label: '-- Ciuperci' },\n\t{ value: '07108061', label: '--- Din genul Agaricus' },\n\t{ value: '07108069', label: '--- Altele' },\n\t{ value: '07108070', label: '-- Tomate' },\n\t{ value: '07108080', label: '-- Anghinare' },\n\t{ value: '07108085', label: '-- Sparanghel' },\n\t{ value: '07108095', label: '-- Altele' },\n\t{ value: '07109000', label: '- Amestecuri de legume' },\n\t{ value: '07110000', label: 'Legume conservate provizoriu, dar improprii consumului în această stare' },\n\t{ value: '07112000', label: '- Măsline' },\n\t{ value: '07112010', label: '-- Destinate altor utilizări decât pentru producția de ulei' },\n\t{ value: '07112090', label: '-- Altele' },\n\t{ value: '07114000', label: '- Castraveți și cornișon' },\n\t{ value: '07115100', label: '- Ciuperci și trufe' },\n\t{ value: '07115100', label: '-- Ciuperci de genul Agaricus' },\n\t{ value: '07115900', label: '-- Altele' },\n\t{ value: '07119000', label: '- Alte legume; amestec de legume' },\n\t{ value: '07119010', label: '-- Legume' },\n\t{ value: '07119010', label: '--- Ardei din genul Capsicum sau din genul Pimenta, cu excepția ardeilor grași' },\n\t{ value: '07119030', label: '--- Porumb dulce' },\n\t{ value: '07119050', label: '--- Ceapă' },\n\t{ value: '07119070', label: '--- Capere' },\n\t{ value: '07119080', label: '--- Altele' },\n\t{ value: '07119090', label: '-- Amestecuri de legume' },\n\t{ value: '07120000', label: 'Legume uscate, chiar tăiate felii sau bucăți sau chiar sfărâmate sau pulverizate, dar nepreparate altfel' },\n\t{ value: '07122000', label: '- Ceapă' },\n\t{ value: '07123100', label: '- Ciuperci, inclusiv din genul Auricularia, Tremella și trufe' },\n\t{ value: '07123100', label: '-- Ciuperci din genul Agaricus' },\n\t{ value: '07123200', label: '-- Ciuperci din genul Auricularia' },\n\t{ value: '07123300', label: '-- Ciuperci din genul Tremella' },\n\t{ value: '07123400', label: '-- Shiitake (Lentinus edodes)' },\n\t{ value: '07123900', label: '-- Altele' },\n\t{ value: '07129000', label: '- Alte legume; amestecuri de legume' },\n\t{ value: '07129005', label: '-- Cartofi, chiar tăiați în bucăți sau în felii, dar nepreparați în alt mod' },\n\t{ value: '07129011', label: '-- Porumb dulce (Zea mays var. saccharata)' },\n\t{ value: '07129011', label: '--- Hibrizi destinați însămânțărilor' },\n\t{ value: '07129019', label: '--- Altele' },\n\t{ value: '07129030', label: '-- Tomate' },\n\t{ value: '07129050', label: '-- Morcovi' },\n\t{ value: '07129090', label: '-- Altele' },\n\t{ value: '07130000', label: 'Legume păstăi uscate, curățate de păstăi, chiar decorticate sau sfărâmate' },\n\t{ value: '07131000', label: '- Mazăre (Pisum sativum)' },\n\t{ value: '07131010', label: '-- Destinată însămânțării' },\n\t{ value: '07131090', label: '-- Altele' },\n\t{ value: '07132000', label: '- Năut' },\n\t{ value: '07133100', label: '- Fasole (Vigna spp., Phaseolus spp.)' },\n\t{ value: '07133100', label: '-- Fasole din speciile Vigna mungo (L.) Hepper sau Vigna radiata (L.) Wilczek' },\n\t{ value: '07133200', label: '-- Fasole \"mică roșie\" (Adzuki) (Phaseolus sau Vigna angularis)' },\n\t{ value: '07133300', label: '-- Fasole albă (Phaseolus vulgaris)' },\n\t{ value: '07133310', label: '--- Destinată însămânțării' },\n\t{ value: '07133390', label: '--- Altele' },\n\t{ value: '07133400', label: '-- Bambara beans (Vigna subterranea sau Voandzeia subterranea)' },\n\t{ value: '07133500', label: '-- Fasole - ochi negri (Vigna unguiculata)' },\n\t{ value: '07133900', label: '-- Altele' },\n\t{ value: '07134000', label: '- Linte' },\n\t{ value: '07135000', label: '- Bob mare (Vicia faba var. major) și măzăriche (Vicia faba var. equina, Vicia faba var. minor)' },\n\t{ value: '07136000', label: '- Mazăre de Angola (Cajanus cajan)' },\n\t{ value: '07139000', label: '- Altele' },\n\t{ value: '07140000', label: 'Rădăcini de manioc, de arorut sau de salep, topinamburi, batate și rădăcini și tuberculi similari, cu conținut ridicat de fecule sau inulină, proaspete, refrigerate, congelate sau uscate, chiar tăiate în bucăți sau aglomerate sub formă de pelete; miez de sagotier' },\n\t{ value: '07141000', label: '- Rădăcini de manioc' },\n\t{ value: '07142000', label: '- Batate' },\n\t{ value: '07142010', label: '-- Proaspete, întregi, destinate consumului alimentar' },\n\t{ value: '07142090', label: '-- Altele' },\n\t{ value: '07143000', label: '- Igname (Dioscorea spp.)' },\n\t{ value: '07144000', label: '- Taro (Colocasia spp.)' },\n\t{ value: '07145000', label: '- Yautia (Xanthosoma spp.)' },\n\t{ value: '07149000', label: '- Altele' },\n\t{ value: '07149020', label: '-- Rădăcini de arorut și de salep, rădăcini și tuberculi similari, cu un conținut ridicat de fecule' },\n\t{ value: '07149090', label: '-- Altele' },\n\t{ value: '08000000', label: 'FRUCTE COMESTIBILE; COJI DE CITRICE SAU DE PEPENI' },\n\t{ value: '08010000', label: 'Nuci de cocos, nuci de Brazilia și nuci de cajou, proaspete sau uscate, chiar decojite sau fără pieliță' },\n\t{ value: '08011100', label: '- Nuci de cocos' },\n\t{ value: '08011100', label: '-- Uscate' },\n\t{ value: '08011200', label: '-- În coaja internă (endocarp)' },\n\t{ value: '08011900', label: '-- Altele' },\n\t{ value: '08012100', label: '- Nuci de Brazilia' },\n\t{ value: '08012100', label: '-- În coajă' },\n\t{ value: '08012200', label: '-- Decojite' },\n\t{ value: '08013100', label: '- Nuci de cajou' },\n\t{ value: '08013100', label: '-- În coajă' },\n\t{ value: '08013200', label: '-- Decojite' },\n\t{ value: '08020000', label: 'Alte fructe cu coajă, proaspete sau uscate, chiar decojite sau fără pieliță' },\n\t{ value: '08021100', label: '- Migdale' },\n\t{ value: '08021100', label: '-- În coajă' },\n\t{ value: '08021110', label: '--- Amare' },\n\t{ value: '08021190', label: '--- Altele' },\n\t{ value: '08021200', label: '-- Decojite' },\n\t{ value: '08021210', label: '--- Amare' },\n\t{ value: '08021290', label: '--- Altele' },\n\t{ value: '08022100', label: '- Alune (Corylus spp.)' },\n\t{ value: '08022100', label: '-- În coajă' },\n\t{ value: '08022200', label: '-- Decojite' },\n\t{ value: '08023100', label: '- Nuci comune' },\n\t{ value: '08023100', label: '-- În coajă' },\n\t{ value: '08023200', label: '-- Decojite' },\n\t{ value: '08024100', label: '- Castane (Castanea spp.)' },\n\t{ value: '08024100', label: '-- În coajă' },\n\t{ value: '08024200', label: '-- Decojite' },\n\t{ value: '08025100', label: '- Fistic' },\n\t{ value: '08025100', label: '-- În coajă' },\n\t{ value: '08025200', label: '-- Decojit' },\n\t{ value: '08026100', label: '- Nuci de macadamia' },\n\t{ value: '08026100', label: '-- În coajă' },\n\t{ value: '08026200', label: '-- Decojite' },\n\t{ value: '08027000', label: '- Nuci de cola (Cola spp.)' },\n\t{ value: '08028000', label: '- Nuci de arec (sau betel)' },\n\t{ value: '08029100', label: '- Altele' },\n\t{ value: '08029100', label: '-- Semințe de pin , cu coajă' },\n\t{ value: '08029200', label: '-- Semințe de pin , fără coajă' },\n\t{ value: '08029900', label: '-- Altele' },\n\t{ value: '08029910', label: '--- Nuci Pecan' },\n\t{ value: '08029990', label: '--- Altele' },\n\t{ value: '08030000', label: 'Banane, inclusiv din specia Musa paradisiaca (\"plantains\"), proaspete sau uscate' },\n\t{ value: '08031000', label: '- Banane din specia Musa paradisiaca (\"plantains\")' },\n\t{ value: '08031010', label: '-- Proaspete' },\n\t{ value: '08031090', label: '-- Uscate' },\n\t{ value: '08039000', label: '- Altele' },\n\t{ value: '08039010', label: '-- Proaspete' },\n\t{ value: '08039090', label: '-- Uscate' },\n\t{ value: '08040000', label: 'Curmale, smochine, ananas, avocado, guave, mango și mangustan, proaspete sau uscate' },\n\t{ value: '08041000', label: '- Curmale' },\n\t{ value: '08042000', label: '- Smochine' },\n\t{ value: '08042010', label: '-- Proaspete' },\n\t{ value: '08042090', label: '-- Uscate' },\n\t{ value: '08043000', label: '- Ananas' },\n\t{ value: '08044000', label: '- Avocado' },\n\t{ value: '08045000', label: '- Guave, mango și mangustan' },\n\t{ value: '08050000', label: 'Citrice, proaspete sau uscate' },\n\t{ value: '08051000', label: '- Portocale' },\n\t{ value: '08051022', label: '-- Portocale dulci, proaspete' },\n\t{ value: '08051022', label: '--- Portocale Navel' },\n\t{ value: '08051024', label: '--- Portocale albe' },\n\t{ value: '08051028', label: '--- Altele' },\n\t{ value: '08051080', label: '-- Altele' },\n\t{ value: '08052100', label: '- Mandarine (inclusiv tangerine și satsumas); clementine, wilkings și hibrizi similari de citrice' },\n\t{ value: '08052100', label: '-- Mandarine (inclusiv tangerine și satsuma)' },\n\t{ value: '08052110', label: '--- Satsuma' },\n\t{ value: '08052190', label: '--- Altele' },\n\t{ value: '08052200', label: '-- Clementine' },\n\t{ value: '08052900', label: '-- Altele' },\n\t{ value: '08054000', label: '- Grepfrut și pomelo' },\n\t{ value: '08055000', label: '- Lămâi (Citrus limon, Citrus limonum) și lămâi mici \"lime\" (Citrus aurantifolia, Citrus latifolia)' },\n\t{ value: '08055010', label: '-- Lămâi (Citrus limon, Citrus limonum)' },\n\t{ value: '08055090', label: '-- Lămâi mici \"lime\" (Citrus aurantifolia, Citrus latifolia)' },\n\t{ value: '08059000', label: '- Altele' },\n\t{ value: '08060000', label: 'Struguri, proaspeți sau uscați' },\n\t{ value: '08061000', label: '- Proaspeți' },\n\t{ value: '08061010', label: '-- De masă' },\n\t{ value: '08061090', label: '-- Altele' },\n\t{ value: '08062000', label: '- Uscați' },\n\t{ value: '08062010', label: '-- Struguri de Corint' },\n\t{ value: '08062030', label: '-- Stafide (sultanine)' },\n\t{ value: '08062090', label: '-- Altele' },\n\t{ value: '08070000', label: 'Pepeni (inclusiv pepeni verzi) și papaia, proaspeți' },\n\t{ value: '08071100', label: '- Pepeni (inclusiv pepeni verzi)' },\n\t{ value: '08071100', label: '-- Pepeni verzi' },\n\t{ value: '08071900', label: '-- Altele' },\n\t{ value: '08072000', label: '- Papaia' },\n\t{ value: '08080000', label: 'Mere, pere și gutui, proaspete' },\n\t{ value: '08081000', label: '- Mere' },\n\t{ value: '08081010', label: '-- Mere pentru fabricarea cidrului, prezentate în vrac, de la 16 septembrie la 15 decembrie' },\n\t{ value: '08081080', label: '-- Altele' },\n\t{ value: '08083000', label: '- Pere' },\n\t{ value: '08083010', label: '-- Pere pentru fabricarea cidrului, prezentate în vrac, de la 1 august la 31 decembrie' },\n\t{ value: '08083090', label: '-- Altele' },\n\t{ value: '08084000', label: '- Gutui' },\n\t{ value: '08090000', label: 'Caise, cireșe, vișine, piersici (inclusiv piersici fără puf și nectarine), prune și porumbe, proaspete' },\n\t{ value: '08091000', label: '- Caise' },\n\t{ value: '08092100', label: '- Cireșe, vișine' },\n\t{ value: '08092100', label: '-- Vișine (Prunus cerasus)' },\n\t{ value: '08092900', label: '-- Altele' },\n\t{ value: '08093000', label: '- Piersici, inclusiv piersici fără puf și nectarine' },\n\t{ value: '08093010', label: '-- Piersici fără puf și nectarine' },\n\t{ value: '08093090', label: '-- Altele' },\n\t{ value: '08094000', label: '- Prune și porumbe' },\n\t{ value: '08094005', label: '-- Prune' },\n\t{ value: '08094090', label: '-- Porumbe' },\n\t{ value: '08100000', label: 'Alte fructe, proaspete' },\n\t{ value: '08101000', label: '- Căpșuni, fragi' },\n\t{ value: '08102000', label: '- Zmeură, dude, mure și hibrizi ai acestora' },\n\t{ value: '08102010', label: '-- Zmeură' },\n\t{ value: '08102090', label: '-- Altele' },\n\t{ value: '08103000', label: '- Coacăze negre, albe sau roșii și agrișe' },\n\t{ value: '08103010', label: '-- Coacăze negre' },\n\t{ value: '08103030', label: '-- Coacăze roșii' },\n\t{ value: '08103090', label: '-- Altele' },\n\t{ value: '08104000', label: '- Merișor, afine și alte fructe din genul Vaccinium' },\n\t{ value: '08104010', label: '-- Merișor (fructe din specia Vaccinium vitis idaea)' },\n\t{ value: '08104030', label: '-- Afine (fructe din specia Vaccinium myrtillus)' },\n\t{ value: '08104050', label: '-- Fructe din specia Vaccinium macrocarpon și din specia Vaccinium corymbosum' },\n\t{ value: '08104090', label: '-- Altele' },\n\t{ value: '08105000', label: '- Kiwi' },\n\t{ value: '08106000', label: '- Durian' },\n\t{ value: '08107000', label: '- Kaki' },\n\t{ value: '08109000', label: '- Altele' },\n\t{ value: '08109020', label: '-- Tamarine, mere de cajou, litchi, fructe de jaquier (arbore de pâine), sapotile, fructele pasiunii, carambola şi pitahaya' },\n\t{ value: '08109075', label: '-- Altele' },\n\t{ value: '08110000', label: 'Fructe, fierte sau nu în apă sau în abur, congelate, chiar cu adaos de zahăr sau alți îndulcitori' },\n\t{ value: '08111000', label: '- Căpșuni, fragi' },\n\t{ value: '08111011', label: '-- Cu adaos de zahăr sau de alți îndulcitori' },\n\t{ value: '08111011', label: '--- Cu un conținut de zahăr peste 13 % din greutate' },\n\t{ value: '08111019', label: '--- Altele' },\n\t{ value: '08111090', label: '-- Altele' },\n\t{ value: '08112000', label: '- Zmeură, mure, dude, hibrizi ai acestora, albe sau roșii și agrișe' },\n\t{ value: '08112011', label: '-- Cu adaos de zahăr sau de alți îndulcitori' },\n\t{ value: '08112011', label: '--- Cu un conținut de zahăr peste 13 % din greutate' },\n\t{ value: '08112019', label: '--- Altele' },\n\t{ value: '08112031', label: '-- Altele' },\n\t{ value: '08112031', label: '--- Zmeură' },\n\t{ value: '08112039', label: '--- Coacăze negre' },\n\t{ value: '08112051', label: '--- Coacăze roșii' },\n\t{ value: '08112059', label: '--- Dude, mure și hibrizi de zmeură și mure' },\n\t{ value: '08112090', label: '--- Altele' },\n\t{ value: '08119000', label: '- Altele' },\n\t{ value: '08119011', label: '-- Cu adaos de zahăr sau de alți îndulcitori' },\n\t{ value: '08119011', label: '--- Cu un conținut de zahăr peste 13 % din greutate' },\n\t{ value: '08119011', label: '---- Fructe tropicale și fructe tropicale cu coajă' },\n\t{ value: '08119019', label: '---- Altele' },\n\t{ value: '08119031', label: '--- Altele' },\n\t{ value: '08119031', label: '---- Fructe tropicale și fructe tropicale cu coajă' },\n\t{ value: '08119039', label: '---- Altele' },\n\t{ value: '08119050', label: '-- Altele' },\n\t{ value: '08119050', label: '--- Afine (fructe din specia Vaccinium myrtillus)' },\n\t{ value: '08119070', label: '--- Fructe din specia Vaccinium myrtilloides și din specia Vaccinium angustifolium' },\n\t{ value: '08119075', label: '--- Cireșe, vișine' },\n\t{ value: '08119075', label: '---- Vișine (Prunus cerasus)' },\n\t{ value: '08119080', label: '---- Altele' },\n\t{ value: '08119085', label: '--- Fructe tropicale și fructe tropicale cu coajă' },\n\t{ value: '08119095', label: '--- Altele' },\n\t{ value: '08120000', label: 'Fructe conservate provizoriu, dar improprii alimentației în această stare' },\n\t{ value: '08121000', label: '- Cireșe, vișine' },\n\t{ value: '08129000', label: '- Altele' },\n\t{ value: '08129025', label: '-- Caise; portocale' },\n\t{ value: '08129030', label: '-- Papaia' },\n\t{ value: '08129040', label: '-- Afine (fructe din specia Vaccinium myrtillus)' },\n\t{ value: '08129070', label: '-- Guave, mango, mangustan, tamarine, mere de cajou, litchi, fructe de jaquier (arbore de pâine), fructe de sapotier, fructele pasiunii, carambola, pitahaia și fructe tropicale cu coajă' },\n\t{ value: '08129098', label: '-- Altele' },\n\t{ value: '08130000', label: 'Fructe uscate, altele decât cele de la pozițiile 0801-0806; amestecuri de fructe uscate sau de fructe cu coajă de la acest capitol' },\n\t{ value: '08131000', label: '- Caise' },\n\t{ value: '08132000', label: '- Prune' },\n\t{ value: '08133000', label: '- Mere' },\n\t{ value: '08134000', label: '- Alte fructe' },\n\t{ value: '08134010', label: '-- Piersici, inclusiv piersicile fără puf și nectarinele' },\n\t{ value: '08134030', label: '-- Pere' },\n\t{ value: '08134050', label: '-- Papaia' },\n\t{ value: '08134065', label: '-- Tamarine, mere de cajou, litchi, fructe de jaquier (arbore de pâine), sapotile, fructele pasiunii, carambola şi pitahaya' },\n\t{ value: '08134095', label: '-- Altele' },\n\t{ value: '08135000', label: '- Amestecuri de fructe uscate sau de fructe cu coajă de la prezentul capitol' },\n\t{ value: '08135012', label: '-- Amestecuri de fructe uscate, altele decât cele de la pozițiile 0801-0806' },\n\t{ value: '08135012', label: '--- Care nu conțin prune' },\n\t{ value: '08135012', label: '---- De papaya, tamarin, mere de cajou, litchi, fructe de jaquier (arbore de pâine), fructe de sapotier, fructele pasiunii, carambola și pitahaia' },\n\t{ value: '08135015', label: '---- Altele' },\n\t{ value: '08135019', label: '--- Care conțin prune' },\n\t{ value: '08135031', label: '-- Amestecuri constituite numai din fructele cu coajă de la pozițiile 0801 și 0802' },\n\t{ value: '08135031', label: '--- Din fructe tropicale cu coajă' },\n\t{ value: '08135039', label: '--- Altele' },\n\t{ value: '08135091', label: '-- Alte amestecuri' },\n\t{ value: '08135091', label: '--- Care nu conțin prune sau smochine' },\n\t{ value: '08135099', label: '--- Altele' },\n\t{ value: '08140000', label: 'Coji de citrice sau de pepeni (inclusiv pepeni verzi), proaspete, congelate, uscate, prezentate în apă sărată, sulfurate sau cu adaos de alte substanțe care asigură provizoriu conservarea lor' },\n\t{ value: '09000000', label: 'CAFEA, CEAI, MATÉ ȘI MIRODENII' },\n\t{ value: '09010000', label: 'Cafea, chiar prăjită sau decafeinizată; coji și pelicule de cafea; înlocuitori de cafea care conțin cafea, indiferent de proporțiile amestecului' },\n\t{ value: '09011100', label: '- Cafea neprăjită' },\n\t{ value: '09011100', label: '-- Nedecafeinizată' },\n\t{ value: '09011200', label: '-- Decafeinizată' },\n\t{ value: '09012100', label: '- Cafea prăjită' },\n\t{ value: '09012100', label: '-- Nedecafeinizată' },\n\t{ value: '09012200', label: '-- Decafeinizată' },\n\t{ value: '09019000', label: '- Altele' },\n\t{ value: '09019010', label: '-- Coji și pelicule de cafea' },\n\t{ value: '09019090', label: '-- Înlocuitori de cafea care conțin cafea' },\n\t{ value: '09020000', label: 'Ceai, chiar aromatizat' },\n\t{ value: '09021000', label: '- Ceai verde (nefermentat), prezentat în ambalaje directe cu un conținut de maximum 3 kg' },\n\t{ value: '09022000', label: '- Ceai verde (nefermentat), altfel prezentat' },\n\t{ value: '09023000', label: '- Ceai negru (fermentat) și ceai parțial fermentat, prezentat în ambalaje directe cu un conținut de maximum 3 kg' },\n\t{ value: '09024000', label: '- Ceai negru (fermentat) și ceai parțial fermentat, altfel prezentat' },\n\t{ value: '09030000', label: 'Maté' },\n\t{ value: '09040000', label: 'Piper (din genul Piper); ardei din genul Capsicum sau din genul Pimenta, uscat sau sfărâmat sau măcinat' },\n\t{ value: '09041100', label: '- Piper' },\n\t{ value: '09041100', label: '-- Nesfărâmat și nemăcinat' },\n\t{ value: '09041200', label: '-- Sfărâmat sau măcinat' },\n\t{ value: '09042100', label: '- Ardei din genul Capsicum sau din genul Pimenta' },\n\t{ value: '09042100', label: '-- Uscați, nesfărâmaţi și nemăcinați' },\n\t{ value: '09042110', label: '--- Ardei grași (Capsicum annuum)' },\n\t{ value: '09042190', label: '--- Altele' },\n\t{ value: '09042200', label: '-- Sfărâmați sau măcinați' },\n\t{ value: '09050000', label: 'Vanilie' },\n\t{ value: '09051000', label: '- Nesfărâmată și nemăcinată' },\n\t{ value: '09052000', label: '- Sfărâmată sau măcinată' },\n\t{ value: '09060000', label: 'Scorțișoară și flori de scorțișoară' },\n\t{ value: '09061100', label: '- Nesfărâmate și nemăcinate' },\n\t{ value: '09061100', label: '-- Scorțișoară (Cinnamonum zeylanicum Blume)' },\n\t{ value: '09061900', label: '-- Altele' },\n\t{ value: '09062000', label: '- Sfărâmate sau măcinate' },\n\t{ value: '09070000', label: 'Cuișoare (fructe întregi, cuișoare și codițe)' },\n\t{ value: '09071000', label: '- Nesfărâmate și nemăcinate' },\n\t{ value: '09072000', label: '- Sfărâmate sau măcinate' },\n\t{ value: '09080000', label: 'Nucșoară, mirodenie din coaja uscată a nucșoarei și cardamom' },\n\t{ value: '09081100', label: '- Nucșoară' },\n\t{ value: '09081100', label: '-- Nesfărâmată și nemăcinată' },\n\t{ value: '09081200', label: '-- Sfărâmată sau măcinată' },\n\t{ value: '09082100', label: '- Mirodenie din coaja uscată a nucșoarei' },\n\t{ value: '09082100', label: '-- Nesfărâmată și nemăcinată' },\n\t{ value: '09082200', label: '-- Sfărâmată sau măcinată' },\n\t{ value: '09083100', label: '- Cardamom' },\n\t{ value: '09083100', label: '-- Nesfărâmat și nemăcinat' },\n\t{ value: '09083200', label: '-- Sfărâmat sau măcinat' },\n\t{ value: '09090000', label: 'Semințe de anason, de badian, de fenicul, de coriandru, de chimen, de chimion; bace de ienupăr' },\n\t{ value: '09092100', label: '- Semințe de coriandru' },\n\t{ value: '09092100', label: '-- Nesfărâmate și nemăcinate' },\n\t{ value: '09092200', label: '-- Sfărâmate sau măcinate' },\n\t{ value: '09093100', label: '- Semințe de chimen (Cuminum cyminum)' },\n\t{ value: '09093100', label: '-- Nesfărâmate și nemăcinate' },\n\t{ value: '09093200', label: '-- Sfărâmate sau măcinate' },\n\t{ value: '09096100', label: '- Semințe de anason, de badian, de chimion sau de fenicul; bace de ienupăr' },\n\t{ value: '09096100', label: '-- Nesfărâmate și nemăcinate' },\n\t{ value: '09096200', label: '-- Sfărâmate sau măcinate' },\n\t{ value: '09100000', label: 'Ghimbir, șofran, curcumă, cimbru, frunze de dafin, curry și alte mirodenii' },\n\t{ value: '09101100', label: '- Ghimbir' },\n\t{ value: '09101100', label: '-- Nesfărâmat și nemăcinat' },\n\t{ value: '09101200', label: '-- Sfărâmat sau măcinat' },\n\t{ value: '09102000', label: '- Șofran' },\n\t{ value: '09102010', label: '-- Nesfărâmat şi nemăcinat' },\n\t{ value: '09102090', label: '-- Sfărâmat sau măcinat' },\n\t{ value: '09103000', label: '- Curcumă' },\n\t{ value: '09109100', label: '- Alte mirodenii' },\n\t{ value: '09109100', label: '-- Amestecuri menționate la nota 1 litera (b) de la prezentul capitol' },\n\t{ value: '09109105', label: '--- Curry' },\n\t{ value: '09109110', label: '--- Altele' },\n\t{ value: '09109110', label: '---- Nesfărâmate şi nemăcinate' },\n\t{ value: '09109190', label: '---- Sfărâmate sau măcinate' },\n\t{ value: '09109900', label: '-- Altele' },\n\t{ value: '09109910', label: '--- Semințe de schinduf' },\n\t{ value: '09109931', label: '--- Cimbru' },\n\t{ value: '09109931', label: '---- Nesfărâmat şi nemăcinat' },\n\t{ value: '09109931', label: '----- Cimbrișor (Thymus serpyllum L.)' },\n\t{ value: '09109933', label: '----- Altele' },\n\t{ value: '09109939', label: '---- Sfărâmat sau măcinat' },\n\t{ value: '09109950', label: '--- Frunze de dafin' },\n\t{ value: '09109991', label: '--- Altele' },\n\t{ value: '09109991', label: '---- Nesfărâmate şi nemăcinate' },\n\t{ value: '09109999', label: '---- Sfărâmate sau măcinate' },\n\t{ value: '10000000', label: 'CEREALE' },\n\t{ value: '10010000', label: 'Grâu și meslin' },\n\t{ value: '10011100', label: '- Grâu dur' },\n\t{ value: '10011100', label: '-- Destinat însămânțării' },\n\t{ value: '10011900', label: '-- Altele' },\n\t{ value: '10019100', label: '- Altele' },\n\t{ value: '10019100', label: '-- Destinat însămânțării' },\n\t{ value: '10019110', label: '--- Triticum spelta' },\n\t{ value: '10019120', label: '--- Grâu comun și meslin' },\n\t{ value: '10019190', label: '--- Altele' },\n\t{ value: '10019900', label: '-- Altele' },\n\t{ value: '10020000', label: 'Secară' },\n\t{ value: '10021000', label: '- Destinată însămânțării' },\n\t{ value: '10029000', label: '- Altele' },\n\t{ value: '10030000', label: 'Orz' },\n\t{ value: '10031000', label: '- Destinat însămânțării' },\n\t{ value: '10039000', label: '- Altele' },\n\t{ value: '10040000', label: 'Ovăz' },\n\t{ value: '10041000', label: '- Destinat însămânțării' },\n\t{ value: '10049000', label: '- Altele' },\n\t{ value: '10050000', label: 'Porumb' },\n\t{ value: '10051000', label: '- Destinat însămânțării' },\n\t{ value: '10051013', label: '-- Hibrizi' },\n\t{ value: '10051013', label: '--- Hibrizi încrucișați de trei ori' },\n\t{ value: '10051015', label: '--- Hibrizi simpli' },\n\t{ value: '10051018', label: '--- Altele' },\n\t{ value: '10051090', label: '-- Altele' },\n\t{ value: '10059000', label: '- Altele' },\n\t{ value: '10060000', label: 'Orez' },\n\t{ value: '10061000', label: '- Orez nedecorticat (orez paddy)' },\n\t{ value: '10061010', label: '-- Destinat însămânțării' },\n\t{ value: '10061030', label: '-- Altele' },\n\t{ value: '10061030', label: '--- Cu bobul rotund' },\n\t{ value: '10061050', label: '--- Cu bobul mijlociu' },\n\t{ value: '10061071', label: '--- Cu bobul lung' },\n\t{ value: '10061071', label: '---- Care au raportul lungime/lățime peste 2, dar sub 3' },\n\t{ value: '10061079', label: '---- Care au raportul lungime/lățime minimum 3' },\n\t{ value: '10062000', label: '- Orez decorticat (orez cargo sau orez brun)' },\n\t{ value: '10062011', label: '-- Prefiert' },\n\t{ value: '10062011', label: '--- Cu bobul rotund' },\n\t{ value: '10062013', label: '--- Cu bobul mijlociu' },\n\t{ value: '10062015', label: '--- Cu bobul lung' },\n\t{ value: '10062015', label: '---- Care au raportul lungime/lățime peste 2, dar sub 3' },\n\t{ value: '10062017', label: '---- Care au raportul lungime/lățime minimum 3' },\n\t{ value: '10062092', label: '-- Altele' },\n\t{ value: '10062092', label: '--- Cu bobul rotund' },\n\t{ value: '10062094', label: '--- Cu bobul mijlociu' },\n\t{ value: '10062096', label: '--- Cu bobul lung' },\n\t{ value: '10062096', label: '---- Care au raportul lungime/lățime peste 2, dar sub 3' },\n\t{ value: '10062098', label: '---- Care au raportul lungime/lățime minimum 3' },\n\t{ value: '10063000', label: '- Orez semialbit sau albit, chiar sticlos sau glasat' },\n\t{ value: '10063021', label: '-- Orez semialbit' },\n\t{ value: '10063021', label: '--- Prefiert' },\n\t{ value: '10063021', label: '---- Cu bobul rotund' },\n\t{ value: '10063023', label: '---- Cu bobul mijlociu' },\n\t{ value: '10063025', label: '---- Cu bobul lung' },\n\t{ value: '10063025', label: '----- Care au raportul lungime/lățime peste 2, dar sub 3' },\n\t{ value: '10063027', label: '----- Care au raportul lungime/lățime minimum 3' },\n\t{ value: '10063042', label: '--- Altele' },\n\t{ value: '10063042', label: '---- Cu bobul rotund' },\n\t{ value: '10063044', label: '---- Cu bobul mijlociu' },\n\t{ value: '10063046', label: '---- Cu bobul lung' },\n\t{ value: '10063046', label: '----- Care au raportul lungime/lățime peste 2, dar sub 3' },\n\t{ value: '10063048', label: '----- Care au raportul lungime/lățime minimum 3' },\n\t{ value: '10063061', label: '-- Orez albit' },\n\t{ value: '10063061', label: '--- Prefiert' },\n\t{ value: '10063061', label: '---- Cu bobul rotund' },\n\t{ value: '10063063', label: '---- Cu bobul mijlociu' },\n\t{ value: '10063065', label: '---- Cu bobul lung' },\n\t{ value: '10063065', label: '----- Care au raportul lungime/lățime peste 2, dar sub 3' },\n\t{ value: '10063067', label: '----- Care au raportul lungime/lățime minimum 3' },\n\t{ value: '10063092', label: '--- Altele' },\n\t{ value: '10063092', label: '---- Cu bobul rotund' },\n\t{ value: '10063094', label: '---- Cu bobul mijlociu' },\n\t{ value: '10063096', label: '---- Cu bobul lung' },\n\t{ value: '10063096', label: '----- Care au raportul lungime/lățime peste 2, dar sub 3' },\n\t{ value: '10063098', label: '----- Care au raportul lungime/lățime minimum 3' },\n\t{ value: '10064000', label: '- Brizură de orez' },\n\t{ value: '10070000', label: 'Sorg boabe' },\n\t{ value: '10071000', label: '- Destinat însămânțării' },\n\t{ value: '10071010', label: '-- Hibrizi' },\n\t{ value: '10071090', label: '-- Altele' },\n\t{ value: '10079000', label: '- Altele' },\n\t{ value: '10080000', label: 'Hrișcă, mei, semințe de iarba-cănărașului (Phalaris canariensis); alte cereale' },\n\t{ value: '10081000', label: '- Hrișcă' },\n\t{ value: '10082100', label: '- Mei' },\n\t{ value: '10082100', label: '-- Destinat însămânțării' },\n\t{ value: '10082900', label: '-- Altele' },\n\t{ value: '10083000', label: '- Semințe de iarba-cănărașului (Phalaris canariensis)' },\n\t{ value: '10084000', label: '- Meișor (Digitaria spp.)' },\n\t{ value: '10085000', label: '- Quinoa (Chenopodium quinoa)' },\n\t{ value: '10086000', label: '- Triticale' },\n\t{ value: '10089000', label: '- Alte cereale' },\n\t{ value: '11000000', label: 'PRODUSE ALE INDUSTRIEI MORĂRITULUI; MALȚ; AMIDON ȘI FECULE; INULINĂ; GLUTEN DE GRÂU' },\n\t{ value: '11010000', label: 'Făină de grâu sau de meslin' },\n\t{ value: '11010011', label: '- De grâu' },\n\t{ value: '11010011', label: '-- De grâu dur' },\n\t{ value: '11010015', label: '-- De grâu comun și de alac' },\n\t{ value: '11010090', label: '- De meslin' },\n\t{ value: '11020000', label: 'Făină de cereale, alta decât de grâu sau de meslin' },\n\t{ value: '11022000', label: '- Făină de porumb' },\n\t{ value: '11022010', label: '-- Cu un conținut de grăsimi de maximum 1,5 % din greutate' },\n\t{ value: '11022090', label: '-- Altele' },\n\t{ value: '11029000', label: '- Altele' },\n\t{ value: '11029010', label: '-- Făină de orz' },\n\t{ value: '11029030', label: '-- Făină de ovăz' },\n\t{ value: '11029050', label: '-- Făină de orez' },\n\t{ value: '11029070', label: '-- Făină de secară' },\n\t{ value: '11029090', label: '-- Altele' },\n\t{ value: '11030000', label: 'Crupe, griș și aglomerate sub formă de pelete, din cereale' },\n\t{ value: '11031100', label: '- Crupe, griș' },\n\t{ value: '11031100', label: '-- De grâu' },\n\t{ value: '11031110', label: '--- De grâu dur' },\n\t{ value: '11031190', label: '--- De grâu comun și de alac' },\n\t{ value: '11031300', label: '-- De porumb' },\n\t{ value: '11031310', label: '--- Cu un conținut de grăsimi de maximum 1,5 % din greutate' },\n\t{ value: '11031390', label: '--- Altele' },\n\t{ value: '11031900', label: '-- De alte cereale' },\n\t{ value: '11031920', label: '--- Din secară sau orz' },\n\t{ value: '11031940', label: '--- De ovăz' },\n\t{ value: '11031950', label: '--- De orez' },\n\t{ value: '11031990', label: '--- Altele' },\n\t{ value: '11032000', label: '- Aglomerate sub formă de pelete' },\n\t{ value: '11032025', label: '-- Din secară sau orz' },\n\t{ value: '11032030', label: '-- De ovăz' },\n\t{ value: '11032040', label: '-- De porumb' },\n\t{ value: '11032050', label: '-- De orez' },\n\t{ value: '11032060', label: '-- De grâu' },\n\t{ value: '11032090', label: '-- Altele' },\n\t{ value: '11040000', label: 'Boabe de cereale altfel prelucrate (de exemplu decojite, presate, sub formă de fulgi, lustruite, tăiate sau zdrobite), cu excepția orezului de la poziția 1006; germeni de cereale, întregi, presați, sub formă de fulgi sau zdrobiți' },\n\t{ value: '11041200', label: '- Boabe presate sau sub formă de fulgi' },\n\t{ value: '11041200', label: '-- De ovăz' },\n\t{ value: '11041210', label: '--- Boabe presate' },\n\t{ value: '11041290', label: '--- Sub formă de fulgi' },\n\t{ value: '11041900', label: '-- De alte cereale' },\n\t{ value: '11041910', label: '--- De grâu' },\n\t{ value: '11041930', label: '--- De secară' },\n\t{ value: '11041950', label: '--- De porumb' },\n\t{ value: '11041961', label: '--- De orz' },\n\t{ value: '11041961', label: '---- Boabe presate' },\n\t{ value: '11041969', label: '---- Sub formă de fulgi' },\n\t{ value: '11041991', label: '--- Altele' },\n\t{ value: '11041991', label: '---- Fulgi de orez' },\n\t{ value: '11041999', label: '---- Altele' },\n\t{ value: '11042200', label: '- Alte boabe prelucrate (de exemplu decojite, lustruite, tăiate sau zdrobite)' },\n\t{ value: '11042200', label: '-- De ovăz' },\n\t{ value: '11042240', label: '--- Decojite (decorticate), chiar tăiate sau zdrobite' },\n\t{ value: '11042250', label: '--- Lustruite' },\n\t{ value: '11042295', label: '--- Altele' },\n\t{ value: '11042300', label: '-- De porumb' },\n\t{ value: '11042340', label: '--- Decojite (decorticate), chiar tăiate sau zdrobite; lustruite' },\n\t{ value: '11042398', label: '--- Altele' },\n\t{ value: '11042900', label: '-- De alte cereale' },\n\t{ value: '11042904', label: '--- De orz' },\n\t{ value: '11042904', label: '---- Decojite (decorticate), chiar tăiate sau zdrobite' },\n\t{ value: '11042905', label: '---- Lustruite' },\n\t{ value: '11042908', label: '---- Altele' },\n\t{ value: '11042917', label: '--- Altele' },\n\t{ value: '11042917', label: '---- Decojite (decorticate), chiar tăiate sau zdrobite' },\n\t{ value: '11042930', label: '---- Lustruite' },\n\t{ value: '11042951', label: '---- Numai zdrobite' },\n\t{ value: '11042951', label: '----- De grâu' },\n\t{ value: '11042955', label: '----- De secară' },\n\t{ value: '11042959', label: '----- Altele' },\n\t{ value: '11042981', label: '---- Altele' },\n\t{ value: '11042981', label: '----- De grâu' },\n\t{ value: '11042985', label: '----- De secară' },\n\t{ value: '11042989', label: '----- Altele' },\n\t{ value: '11043000', label: '- Germeni de cereale, întregi, presați, sub formă de fulgi sau zdrobiți' },\n\t{ value: '11043010', label: '-- De grâu' },\n\t{ value: '11043090', label: '-- Altele' },\n\t{ value: '11050000', label: 'Făină, griș, pudră, fulgi, granule și aglomerate sub formă de pelete, din cartofi' },\n\t{ value: '11051000', label: '- Făină, griș și pudră' },\n\t{ value: '11052000', label: '- Fulgi, granule și aglomerate sub formă de pelete' },\n\t{ value: '11060000', label: 'Făină, griș și pudră din legume păstăi uscate, de la poziția 0713, din sago sau din rădăcini sau tuberculi de la poziția 0714 și din produsele de la capitolul 8' },\n\t{ value: '11061000', label: '- Din legume păstăi uscate de la poziția 0713' },\n\t{ value: '11062000', label: '- Din sago, sau din rădăcini sau tuberculi de la poziția 0714' },\n\t{ value: '11062010', label: '-- Denaturate' },\n\t{ value: '11062090', label: '-- Altele' },\n\t{ value: '11063000', label: '- Din produse de la capitolul 8' },\n\t{ value: '11063010', label: '-- Din banane' },\n\t{ value: '11063090', label: '-- Altele' },\n\t{ value: '11070000', label: 'Malț, chiar prăjit' },\n\t{ value: '11071000', label: '- Neprăjit' },\n\t{ value: '11071011', label: '-- De grâu' },\n\t{ value: '11071011', label: '--- Prezentat sub formă de făină' },\n\t{ value: '11071019', label: '--- Altele' },\n\t{ value: '11071091', label: '-- Altele' },\n\t{ value: '11071091', label: '--- Prezentat sub formă de făină' },\n\t{ value: '11071099', label: '--- Altele' },\n\t{ value: '11072000', label: '- Prăjit' },\n\t{ value: '11080000', label: 'Amidon și fecule; inulină' },\n\t{ value: '11081100', label: '- Amidon și fecule' },\n\t{ value: '11081100', label: '-- Amidon de grâu' },\n\t{ value: '11081200', label: '-- Amidon de porumb' },\n\t{ value: '11081300', label: '-- Fecule de cartofi' },\n\t{ value: '11081400', label: '-- Fecule de manioc' },\n\t{ value: '11081900', label: '-- Alte tipuri de amidon și fecule' },\n\t{ value: '11081910', label: '--- Amidon de orez' },\n\t{ value: '11081990', label: '--- Altele' },\n\t{ value: '11082000', label: '- Inulină' },\n\t{ value: '11090000', label: 'Gluten de grâu, chiar uscat' },\n\t{ value: '12000000', label: 'SEMINȚE ȘI FRUCTE OLEAGINOASE; SEMINȚE ȘI FRUCTE DIVERSE; PLANTE INDUSTRIALE SAU MEDICINALE; PAIE ȘI FURAJE' },\n\t{ value: '12010000', label: 'Boabe de soia, chiar sfărâmate' },\n\t{ value: '12011000', label: '- Destinate însămânțării' },\n\t{ value: '12019000', label: '- Altele' },\n\t{ value: '12020000', label: 'Arahide, neprăjite și nici altfel preparate termic, chiar decorticate sau sfărâmate' },\n\t{ value: '12023000', label: '- Destinate însămânțării' },\n\t{ value: '12024100', label: '- Altele' },\n\t{ value: '12024100', label: '-- În coajă' },\n\t{ value: '12024200', label: '-- Decorticate, chiar sfărâmate' },\n\t{ value: '12030000', label: 'Copră' },\n\t{ value: '12040000', label: 'Semințe de in, chiar sfărâmate' },\n\t{ value: '12040010', label: '- Destinate însămânțării' },\n\t{ value: '12040090', label: '- Altele' },\n\t{ value: '12050000', label: 'Semințe de rapiță sau de rapiță sălbatică, chiar sfărâmate' },\n\t{ value: '12051000', label: '- Semințe de rapiță sau de rapiță sălbatică cu un conținut redus de acid erucic' },\n\t{ value: '12051010', label: '-- Destinate însămânțării' },\n\t{ value: '12051090', label: '-- Altele' },\n\t{ value: '12059000', label: '- Altele' },\n\t{ value: '12060000', label: 'Semințe de floarea-soarelui, chiar sfărâmate' },\n\t{ value: '12060010', label: '- Destinate însămânțării' },\n\t{ value: '12060091', label: '- Altele' },\n\t{ value: '12060091', label: '-- Decorticate; în coji cu dungi albe sau gri' },\n\t{ value: '12060099', label: '-- Altele' },\n\t{ value: '12070000', label: 'Alte semințe și fructe oleaginoase, chiar sfărâmate' },\n\t{ value: '12071000', label: '- Nuci și sâmburi de nuci de palmier' },\n\t{ value: '12072100', label: '- Semințe de bumbac' },\n\t{ value: '12072100', label: '-- Destinate însămânțării' },\n\t{ value: '12072900', label: '-- Altele' },\n\t{ value: '12073000', label: '- Semințe de ricin' },\n\t{ value: '12074000', label: '- Semințe de susan' },\n\t{ value: '12074010', label: '-- Destinate însămânțării' },\n\t{ value: '12074090', label: '-- Altele' },\n\t{ value: '12075000', label: '- Semințe de muștar' },\n\t{ value: '12075010', label: '-- Destinate însămânțării' },\n\t{ value: '12075090', label: '-- Altele' },\n\t{ value: '12076000', label: '- Semințe de șofrănaș (Carthamus tinctorius)' },\n\t{ value: '12077000', label: '- Semințe de pepene' },\n\t{ value: '12079100', label: '- Altele' },\n\t{ value: '12079100', label: '-- Semințe de mac' },\n\t{ value: '12079110', label: '--- Destinate însămânțării' },\n\t{ value: '12079190', label: '--- Altele' },\n\t{ value: '12079900', label: '-- Altele' },\n\t{ value: '12079920', label: '--- Destinate însămânțării' },\n\t{ value: '12079991', label: '--- Altele' },\n\t{ value: '12079991', label: '---- Semințe de cânepă' },\n\t{ value: '12079996', label: '---- Altele' },\n\t{ value: '12080000', label: 'Făină și griș din fructe și semințe oleaginoase, altele decât cele de muștar' },\n\t{ value: '12081000', label: '- Din boabe de soia' },\n\t{ value: '12089000', label: '- Altele' },\n\t{ value: '12090000', label: 'Semințe, fructe și spori, destinate însămânțării' },\n\t{ value: '12091000', label: '- Semințe de sfeclă de zahăr' },\n\t{ value: '12092100', label: '- Semințe de plante furajere' },\n\t{ value: '12092100', label: '-- Semințe de lucernă' },\n\t{ value: '12092200', label: '-- Semințe de trifoi (Trifolium spp.)' },\n\t{ value: '12092210', label: '--- De trifoi roșu (Trifolium pratense L.)' },\n\t{ value: '12092280', label: '--- Altele' },\n\t{ value: '12092300', label: '-- Semințe de păiuș' },\n\t{ value: '12092311', label: '--- De păiuș de livadă (Festuca pratensis Huds.)' },\n\t{ value: '12092315', label: '--- De păiuș roșu (Festuca rubra L.)' },\n\t{ value: '12092380', label: '--- Altele' },\n\t{ value: '12092400', label: '-- Semințe de plantă furajeră de Kentucky (Poa pratensis L.)' },\n\t{ value: '12092500', label: '-- Semințe de raigras (Lolium multiflorum Lam., Lolium perenne L.)' },\n\t{ value: '12092510', label: '--- De raigras aristat (Lolium multiflorum Lam.)' },\n\t{ value: '12092590', label: '--- De raigras peren (Lolium perenne L.)' },\n\t{ value: '12092900', label: '-- Altele' },\n\t{ value: '12092945', label: '--- Seminţe de timoftică; măzăriche; firuță de baltă (Poa palustris L.) și șuvăr (Poa trivialis L.); golomăț (Dactylis glomerata); iarba vântului (Agrostis)' },\n\t{ value: '12092950', label: '--- Semințe de lupin' },\n\t{ value: '12092960', label: '--- Semințe de sfeclă furajeră (Beta vulgaris var. alba)' },\n\t{ value: '12092980', label: '--- Altele' },\n\t{ value: '12093000', label: '- Semințe de plante erbacee cultivate în principal pentru flori' },\n\t{ value: '12099100', label: '- Altele' },\n\t{ value: '12099100', label: '-- Semințe de legume' },\n\t{ value: '12099130', label: '--- Semințe de sfeclă roșie (Beta vulgaris var. conditiva)' },\n\t{ value: '12099180', label: '--- Altele' },\n\t{ value: '12099900', label: '-- Altele' },\n\t{ value: '12099910', label: '--- Semințe de arbori de pădure' },\n\t{ value: '12099991', label: '--- Altele' },\n\t{ value: '12099991', label: '---- Semințe de plante cultivate în principal pentru florile lor, altele decât cele menționate la subpoziția 1209 30' },\n\t{ value: '12099999', label: '---- Altele' },\n\t{ value: '12100000', label: 'Conuri de hamei, proaspete sau uscate, chiar sfărâmate, măcinate sau sub formă de pulbere sau pelete; lupulină' },\n\t{ value: '12101000', label: '- Conuri de hamei, nesfărâmate, nemăcinate și nici sub formă de pelete' },\n\t{ value: '12102000', label: '- Conuri de hamei, sfărâmate, măcinate sau sub formă de pelete; lupulină' },\n\t{ value: '12102010', label: '-- Conuri de hamei, sfărâmate, măcinate sau sub formă de pelete, cu un conținut ridicat de lupulină; lupulină' },\n\t{ value: '12102090', label: '-- Altele' },\n\t{ value: '12110000', label: 'Plante și părți de plante, semințe și fructe din speciile folosite în principal în parfumerie, medicină sau ca insecticide, fungicide sau în scopuri similare, proaspete, refrigerate, congelate sau uscate, chiar tăiate, sfărâmate sau sub formă de pulbere' },\n\t{ value: '12112000', label: '- Rădăcini de ginseng' },\n\t{ value: '12113000', label: '- Frunze de coca' },\n\t{ value: '12114000', label: '- Tulpini de mac' },\n\t{ value: '12115000', label: '- Efedra' },\n\t{ value: '12116000', label: '- Scoarță de cireș african (Prunus africana)' },\n\t{ value: '12119000', label: '- Altele' },\n\t{ value: '12119030', label: '-- Semințe de tonka' },\n\t{ value: '12119086', label: '-- Altele' },\n\t{ value: '12120000', label: 'Roșcove, alge, sfeclă de zahăr și trestie de zahăr, proaspete, refrigerate, congelate sau uscate, chiar pulverizate; sâmburi și miez de sâmburi de fructe și alte produse vegetale (inclusiv rădăcini de cicoare neprăjite din varietatea Cichorium intybus sativum) destinate în principal alimentației umane, nedenumite și necuprinse în altă parte' },\n\t{ value: '12122100', label: '- Alge' },\n\t{ value: '12122100', label: '-- Adecvate pentru consumul uman' },\n\t{ value: '12122900', label: '-- Altele' },\n\t{ value: '12129100', label: '- Altele' },\n\t{ value: '12129100', label: '-- Sfeclă de zahăr' },\n\t{ value: '12129120', label: '--- Uscată, chiar măcinată' },\n\t{ value: '12129180', label: '--- Altele' },\n\t{ value: '12129200', label: '-- Roșcove' },\n\t{ value: '12129300', label: '-- Trestie de zahăr' },\n\t{ value: '12129400', label: '-- Rădăcini de cicoare' },\n\t{ value: '12129900', label: '-- Altele' },\n\t{ value: '12129941', label: '--- Boabe de roșcove' },\n\t{ value: '12129941', label: '---- Nedecorticate, nezdrobite, nemăcinate' },\n\t{ value: '12129949', label: '---- Altele' },\n\t{ value: '12129995', label: '--- Altele' },\n\t{ value: '12130000', label: 'Paie și pleavă de cereale brute, chiar tocate, măcinate, presate sau aglomerate sub formă de pelete' },\n\t{ value: '12140000', label: 'Gulii furajere, sfeclă furajeră, rădăcini furajere, fân, lucernă, trifoi, sparcetă, varză furajeră, lupin, măzăriche și alte produse furajere similare, chiar aglomerate sub formă de pelete' },\n\t{ value: '12141000', label: '- Făină și aglomerate sub formă de pelete, de lucernă' },\n\t{ value: '12149000', label: '- Altele' },\n\t{ value: '12149010', label: '-- Sfeclă furajeră, gulii furajere și alte rădăcini furajere' },\n\t{ value: '12149090', label: '-- Altele' },\n\t{ value: '13000000', label: 'GUME, RĂȘINI ȘI ALTE SEVE ȘI EXTRACTE VEGETALE' },\n\t{ value: '13010000', label: 'Șelac; gume, rășini, gume-rășini și oleorășini (de exemplu balsamuri), naturale' },\n\t{ value: '13012000', label: '- Gumă arabică' },\n\t{ value: '13019000', label: '- Altele' },\n\t{ value: '13020000', label: 'Seve și extracte vegetale; substanțe pectice, pectinați și pectați; agar-agar și alte mucilagii și agenți de mărire a viscozității, derivate din produse vegetale, chiar modificate' },\n\t{ value: '13021100', label: '- Seve și extracte vegetale' },\n\t{ value: '13021100', label: '-- Opiu' },\n\t{ value: '13021200', label: '-- Din lemn-dulce' },\n\t{ value: '13021300', label: '-- Din hamei' },\n\t{ value: '13021400', label: '-- Din efedra' },\n\t{ value: '13021900', label: '-- Altele' },\n\t{ value: '13021905', label: '--- Oleorășini de vanilie' },\n\t{ value: '13021970', label: '--- Altele' },\n\t{ value: '13022000', label: '- Substanțe pectice, pectinați și pectați' },\n\t{ value: '13022010', label: '-- Uscate' },\n\t{ value: '13022090', label: '-- Altele' },\n\t{ value: '13023100', label: '- Mucilagii și agenți de mărire a viscozității, derivați din produse vegetale, chiar modificați' },\n\t{ value: '13023100', label: '-- Agar-agar' },\n\t{ value: '13023200', label: '-- Mucilagii și agenți de mărire a viscozității, derivați din roșcove, din boabe de roșcove sau din semințe de guar, chiar modificați' },\n\t{ value: '13023210', label: '--- Din roșcove sau din boabe de roșcove' },\n\t{ value: '13023290', label: '--- Din semințe de guar' },\n\t{ value: '13023900', label: '-- Altele' },\n\t{ value: '14000000', label: 'MATERIALE PENTRU ÎMPLETIT ȘI ALTE PRODUSE DE ORIGINE VEGETALĂ, NEDENUMITE ȘI NECUPRINSE ÎN ALTĂ PARTE' },\n\t{ value: '14010000', label: 'Materii vegetale de tipul celor folosite în principal în industria împletiturilor (de exemplu bambus, ramuri de palmier, papură, stuf, trestie, răchită, rafie, paie de cereale curățate, albite sau vopsite, coajă de tei)' },\n\t{ value: '14011000', label: '- Bambus' },\n\t{ value: '14012000', label: '- Ramuri de palmier' },\n\t{ value: '14019000', label: '- Altele' },\n\t{ value: '14040000', label: 'Produse vegetale nedenumite și necuprinse în altă parte' },\n\t{ value: '14042000', label: '- Linters de bumbac' },\n\t{ value: '14049000', label: '- Altele' },\n\t{ value: '15000000', label: 'GRĂSIMI ȘI ULEIURI DE ORIGINE ANIMALĂ, VEGETALĂ SAU MICROBIANĂ ȘI PRODUSE ALE DISOCIERII ACESTORA; GRĂSIMI ALIMENTARE PRELUCRATE; CEARĂ DE ORIGINE ANIMALĂ SAU VEGETALĂ' },\n\t{ value: '15010000', label: 'Grăsime de porc (inclusiv untură) și grăsime de pasăre, altele decât cele de la pozițiile 0209 sau 1503' },\n\t{ value: '15011000', label: '- Untură' },\n\t{ value: '15011010', label: '-- Destinată utilizărilor industriale, alta decât cea destinată fabricării produselor pentru alimentația umană' },\n\t{ value: '15011090', label: '-- Altele' },\n\t{ value: '15012000', label: '- Alte tipuri de grăsime de porc' },\n\t{ value: '15012010', label: '-- Destinată utilizărilor industriale, alta decât cea destinată fabricării produselor pentru alimentația umană' },\n\t{ value: '15012090', label: '-- Altele' },\n\t{ value: '15019000', label: '- Altele' },\n\t{ value: '15020000', label: 'Grăsimi de animale din speciile bovine, ovine sau caprine, altele decât cele de la poziția 1503' },\n\t{ value: '15021000', label: '- Seu' },\n\t{ value: '15021010', label: '-- Destinate utilizărilor industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15021090', label: '-- Altele' },\n\t{ value: '15029000', label: '- Altele' },\n\t{ value: '15029010', label: '-- Destinată utilizărilor industriale, alta decât cea destinată fabricării produselor pentru alimentația umană' },\n\t{ value: '15029090', label: '-- Altele' },\n\t{ value: '15030000', label: 'Stearină din untură, ulei de untură, oleo-stearină, oleo-margarină și ulei de seu, neemulsionate, neamestecate și nici altfel preparate' },\n\t{ value: '15030011', label: '- Stearină din untură și oleo-stearină' },\n\t{ value: '15030011', label: '-- Destinate utilizărilor industriale' },\n\t{ value: '15030019', label: '-- Altele' },\n\t{ value: '15030030', label: '- Ulei de seu, destinat utilizărilor industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15030090', label: '- Altele' },\n\t{ value: '15040000', label: 'Grăsimi și uleiuri și fracțiunile acestora, de pește sau de mamifere marine, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15041000', label: '- Uleiuri din ficat de pește și fracțiunile acestora' },\n\t{ value: '15041010', label: '-- Cu un conținut de vitamina A egal sau mai mic de 2 500 unități internaționale per gram' },\n\t{ value: '15041091', label: '-- Altele' },\n\t{ value: '15041091', label: '--- De halibut' },\n\t{ value: '15041099', label: '--- Altele' },\n\t{ value: '15042000', label: '- Grăsimi și uleiuri de pește și fracțiunile lor, altele decât uleiurile din ficat de pește' },\n\t{ value: '15042010', label: '-- Fracțiuni solide' },\n\t{ value: '15042090', label: '-- Altele' },\n\t{ value: '15043000', label: '- Grăsimi și uleiuri de mamifere marine și fracțiunile acestora' },\n\t{ value: '15043010', label: '-- Fracțiuni solide' },\n\t{ value: '15043090', label: '-- Altele' },\n\t{ value: '15050000', label: 'Usuc și grăsimi derivate din acesta, inclusiv lanolina' },\n\t{ value: '15050010', label: '- Usuc brut (suintină)' },\n\t{ value: '15050090', label: '- Altele' },\n\t{ value: '15060000', label: 'Alte grăsimi și uleiuri de origine animală și fracțiunile acestora, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15070000', label: 'Ulei de soia și fracțiunile acestuia, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15071000', label: '- Ulei brut, chiar demucilaginat' },\n\t{ value: '15071010', label: '-- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15071090', label: '-- Altele' },\n\t{ value: '15079000', label: '- Altele' },\n\t{ value: '15079010', label: '-- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15079090', label: '-- Altele' },\n\t{ value: '15080000', label: 'Ulei de arahide și fracțiunile acestuia, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15081000', label: '- Ulei brut' },\n\t{ value: '15081010', label: '-- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15081090', label: '-- Altele' },\n\t{ value: '15089000', label: '- Altele' },\n\t{ value: '15089010', label: '-- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15089090', label: '-- Altele' },\n\t{ value: '15090000', label: 'Ulei de măsline și fracțiunile acestuia, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15092000', label: '- Ulei de măsline extravirgin' },\n\t{ value: '15093000', label: '- Ulei de măsline virgin' },\n\t{ value: '15094000', label: '- Alte uleiuri de măsline virgine' },\n\t{ value: '15099000', label: '- Altele' },\n\t{ value: '15100000', label: 'Alte uleiuri și fracțiunile acestora, obținute numai din măsline, chiar rafinate, dar nemodificate chimic și amestecurile acestor uleiuri sau fracțiuni cu uleiuri sau fracțiuni de la poziția 1509' },\n\t{ value: '15101000', label: '- Ulei brut din resturi de măsline' },\n\t{ value: '15109000', label: '- Altele' },\n\t{ value: '15110000', label: 'Ulei de palmier și fracțiunile lui, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15111000', label: '- Ulei brut' },\n\t{ value: '15111010', label: '-- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15111090', label: '-- Altele' },\n\t{ value: '15119000', label: '- Altele' },\n\t{ value: '15119011', label: '-- Fracțiuni solide' },\n\t{ value: '15119011', label: '--- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15119019', label: '--- Altfel prezentate' },\n\t{ value: '15119091', label: '-- Altele' },\n\t{ value: '15119091', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15119099', label: '--- Altele' },\n\t{ value: '15120000', label: 'Ulei de semințe de floarea-soarelui, de şofrănaş sau de semințe de bumbac și fracțiunile acestora, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15121100', label: '- Uleiuri de semințe de floarea-soarelui sau de şofrănaş și fracțiunile acestora' },\n\t{ value: '15121100', label: '-- Uleiuri brute' },\n\t{ value: '15121110', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15121191', label: '--- Altele' },\n\t{ value: '15121191', label: '---- De floarea-soarelui' },\n\t{ value: '15121199', label: '---- De şofrănaş' },\n\t{ value: '15121900', label: '-- Altele' },\n\t{ value: '15121910', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15121990', label: '--- Altele' },\n\t{ value: '15122100', label: '- Ulei de semințe de bumbac și fracțiunile acestuia' },\n\t{ value: '15122100', label: '-- Ulei brut, chiar fără gosipol' },\n\t{ value: '15122110', label: '--- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15122190', label: '--- Altele' },\n\t{ value: '15122900', label: '-- Altele' },\n\t{ value: '15122910', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15122990', label: '--- Altele' },\n\t{ value: '15130000', label: 'Ulei de cocos (ulei de copră), de sâmburi de palmier sau de babassu și fracțiunile acestora, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15131100', label: '- Ulei de cocos (ulei de copră) și fracțiunile acestuia' },\n\t{ value: '15131100', label: '-- Ulei brut' },\n\t{ value: '15131110', label: '--- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15131191', label: '--- Altele' },\n\t{ value: '15131191', label: '---- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15131199', label: '---- Altele' },\n\t{ value: '15131900', label: '-- Altele' },\n\t{ value: '15131911', label: '--- Fracțiuni solide' },\n\t{ value: '15131911', label: '---- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15131919', label: '---- Altele' },\n\t{ value: '15131930', label: '--- Altele' },\n\t{ value: '15131930', label: '---- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15131991', label: '---- Altele' },\n\t{ value: '15131991', label: '----- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15131999', label: '----- Altele' },\n\t{ value: '15132100', label: '- Uleiuri de sâmburi de palmier sau de babassu și fracțiunile acestora' },\n\t{ value: '15132100', label: '-- Uleiuri brute' },\n\t{ value: '15132110', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15132130', label: '--- Altele' },\n\t{ value: '15132130', label: '---- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15132190', label: '---- Altele' },\n\t{ value: '15132900', label: '-- Altele' },\n\t{ value: '15132911', label: '--- Fracțiuni solide' },\n\t{ value: '15132911', label: '---- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15132919', label: '---- Altele' },\n\t{ value: '15132930', label: '--- Altele' },\n\t{ value: '15132930', label: '---- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15132950', label: '---- Altele' },\n\t{ value: '15132950', label: '----- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15132990', label: '----- Altele' },\n\t{ value: '15140000', label: 'Uleiuri de rapiță, de rapiță sălbatică sau de muștar și fracțiunile acestora, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15141100', label: '- Uleiuri de rapiță sau de rapiță sălbatică cu conținut redus de acid erucic și fracțiunile acestora' },\n\t{ value: '15141100', label: '-- Uleiuri brute' },\n\t{ value: '15141110', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15141190', label: '--- Altele' },\n\t{ value: '15141900', label: '-- Altele' },\n\t{ value: '15141910', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15141990', label: '--- Altele' },\n\t{ value: '15149100', label: '- Altele' },\n\t{ value: '15149100', label: '-- Uleiuri brute' },\n\t{ value: '15149110', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15149190', label: '--- Altele' },\n\t{ value: '15149900', label: '-- Altele' },\n\t{ value: '15149910', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15149990', label: '--- Altele' },\n\t{ value: '15150000', label: 'Alte grăsimi și uleiuri fixe de origine vegetală sau microbiană (inclusiv ulei de jojoba) și fracțiunile acestora, chiar rafinate, dar nemodificate chimic' },\n\t{ value: '15151100', label: '- Ulei din semințe de in și fracțiunile acestuia' },\n\t{ value: '15151100', label: '-- Ulei brut' },\n\t{ value: '15151900', label: '-- Altele' },\n\t{ value: '15151910', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15151990', label: '--- Altele' },\n\t{ value: '15152100', label: '- Ulei de porumb și fracțiunile acestuia' },\n\t{ value: '15152100', label: '-- Ulei brut' },\n\t{ value: '15152110', label: '--- Destinat utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15152190', label: '--- Altele' },\n\t{ value: '15152900', label: '-- Altele' },\n\t{ value: '15152910', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15152990', label: '--- Altele' },\n\t{ value: '15153000', label: '- Ulei de ricin și fracțiunile acestuia' },\n\t{ value: '15153010', label: '-- Destinate producerii acidului aminoundecanoic, fabricării fibrelor sintetice sau a materialelor plastice' },\n\t{ value: '15153090', label: '-- Altele' },\n\t{ value: '15155000', label: '- Ulei de susan și fracțiunile acestuia' },\n\t{ value: '15155011', label: '-- Ulei brut' },\n\t{ value: '15155011', label: '--- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15155019', label: '--- Altele' },\n\t{ value: '15155091', label: '-- Altele' },\n\t{ value: '15155091', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15155099', label: '--- Altele' },\n\t{ value: '15156000', label: '- Grăsimi și uleiuri de origine microbiană și fracțiunile acestora' },\n\t{ value: '15156011', label: '-- Ulei brut' },\n\t{ value: '15156011', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15156051', label: '--- Altele' },\n\t{ value: '15156051', label: '---- Solide, prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15156059', label: '---- Solide, altfel prezentate; fluide' },\n\t{ value: '15156060', label: '-- Altele' },\n\t{ value: '15156060', label: '--- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15156091', label: '--- Altele' },\n\t{ value: '15156091', label: '---- Solide, prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15156099', label: '---- Solide, altfel prezentate; fluide' },\n\t{ value: '15159000', label: '- Altele' },\n\t{ value: '15159011', label: '-- Ulei de tung; uleiuri de jojoba, de oiticica; ceară de myrica, ceară de Japonia; fracțiunile acestora' },\n\t{ value: '15159021', label: '-- Ulei de semințe de tutun și fracțiunile acestuia' },\n\t{ value: '15159021', label: '--- Ulei brut' },\n\t{ value: '15159021', label: '---- Destinat utilizărilor tehnice sau industriale, altul decât cel destinat fabricării produselor pentru alimentația umană' },\n\t{ value: '15159029', label: '---- Altele' },\n\t{ value: '15159031', label: '--- Altele' },\n\t{ value: '15159031', label: '---- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15159039', label: '---- Altele' },\n\t{ value: '15159040', label: '-- Alte uleiuri și fracțiunile acestora' },\n\t{ value: '15159040', label: '--- Uleiuri brute' },\n\t{ value: '15159040', label: '---- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15159051', label: '---- Altele' },\n\t{ value: '15159051', label: '----- Solide, prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15159059', label: '----- Solide, altfel prezentate; fluide' },\n\t{ value: '15159060', label: '--- Altele' },\n\t{ value: '15159060', label: '---- Destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15159091', label: '---- Altele' },\n\t{ value: '15159091', label: '----- Solide, prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15159099', label: '----- Solide, altfel prezentate; fluide' },\n\t{ value: '15160000', label: 'Grăsimi și uleiuri de origine animală, vegetală sau microbiană și fracțiunile acestora, hidrogenate parțial sau total, interesterificate, reesterificate sau elaidinizate, chiar rafinate, dar nepreparate altfel' },\n\t{ value: '15161000', label: '- Grăsimi și uleiuri de origine animală și fracțiunile acestora' },\n\t{ value: '15161010', label: '-- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15161090', label: '-- Altele' },\n\t{ value: '15162000', label: '- Grăsimi și uleiuri de origine vegetală și fracțiunile acestora' },\n\t{ value: '15162010', label: '-- Uleiuri de ricin hidrogenate, numite \"ceară opal\"' },\n\t{ value: '15162091', label: '-- Altele' },\n\t{ value: '15162091', label: '--- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15162095', label: '--- Altele' },\n\t{ value: '15162095', label: '---- Uleiuri de rapiță, de rapiță sălbatică, de in, de floarea-soarelui, de ilipe, de karite, de makore, de touloucouna sau de babassu, destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15162096', label: '---- Altele' },\n\t{ value: '15162096', label: '----- Uleiuri de arahide, de semințe de bumbac, de boabe de soia sau de floarea-soarelui; alte uleiuri cu conținut sub 50 % din greutate acizi grași liberi și care nu conțin uleiuri din miez de palmier, de ilipe, de nuci de cocos, de rapiță, de rapiță sălbatică, sau de copaiba' },\n\t{ value: '15162098', label: '----- Altele' },\n\t{ value: '15163000', label: '- Grăsimi și uleiuri de origine microbiană și fracțiunile acestora' },\n\t{ value: '15163091', label: '-- Prezentate în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '15163098', label: '-- Altele' },\n\t{ value: '15170000', label: 'Margarină; amestecuri sau preparate alimentare de grăsimi sau de uleiuri de origine animală, vegetală sau microbiană sau din fracțiunile diferitelor grăsimi sau uleiuri din prezentul capitol, altele decât grăsimile și uleiurile alimentare și fracțiunile acestora de la poziția 1516' },\n\t{ value: '15171000', label: '- Margarină, cu excepția margarinei lichide' },\n\t{ value: '15171010', label: '-- Cu un conținut de grăsimi din lapte peste 10 %, dar de maximum 15 % din greutate' },\n\t{ value: '15171090', label: '-- Altele' },\n\t{ value: '15179000', label: '- Altele' },\n\t{ value: '15179010', label: '-- Cu un conținut de grăsimi din lapte peste 10 % dar de maximum 15 % din greutate' },\n\t{ value: '15179091', label: '-- Altele' },\n\t{ value: '15179091', label: '--- Uleiuri fixe (grase) de origine vegetală, fluide, amestecate' },\n\t{ value: '15179093', label: '--- Amestecuri sau preparate culinare utilizate pentru a ușura scoaterea preparatelor din forme' },\n\t{ value: '15179099', label: '--- Altele' },\n\t{ value: '15180000', label: 'Grăsimi și uleiuri de origine animală, vegetală sau microbiană și fracțiunile acestora, fierte, oxidate, deshidratate, sulfurate, suflate, polimerizate prin căldură în vacuum sau în gaz inert sau altfel modificate chimic, cu excepția celor de la poziția 1516; amestecuri sau preparate nealimentare de grăsimi sau de uleiuri de origine animală, vegetală sau microbiană sau din fracțiunile diferitelor grăsimi sau uleiuri de la prezentul capitol, nedenumite și necuprinse în altă parte' },\n\t{ value: '15180010', label: '- Linoxin' },\n\t{ value: '15180031', label: '- Uleiuri fixe (grase) de origine vegetală, fluide, amestecate, destinate utilizărilor tehnice sau industriale, altele decât cele destinate fabricării produselor pentru alimentația umană' },\n\t{ value: '15180031', label: '-- Brute' },\n\t{ value: '15180039', label: '-- Altele' },\n\t{ value: '15180091', label: '- Altele' },\n\t{ value: '15180091', label: '-- Grăsimi și uleiuri de origine animal, vegetală sau microbiană și fracțiunile acestora, fierte, oxidate, deshidratate, sulfurate, suflate, polimerizate prin căldură în vacuum sau gaz inert sau altfel modificate chimic, cu excepția celor de la poziția 1516' },\n\t{ value: '15180095', label: '-- Altele' },\n\t{ value: '15180095', label: '--- Amestecuri și preparate nealimentare de grăsimi și uleiuri de origine animală sau de grăsimi și uleiuri de origine animală, vegetală sau microbiană și fracțiunile acestora' },\n\t{ value: '15180099', label: '--- Altele' },\n\t{ value: '15200000', label: 'Glicerină brută; ape și leșii de glicerină' },\n\t{ value: '15210000', label: 'Ceară de origine vegetală (alta decât trigliceridele), ceară de albine sau de alte insecte și spermanțet, chiar rafinată sau colorată' },\n\t{ value: '15211000', label: '- Ceară de origine vegetală' },\n\t{ value: '15219000', label: '- Altele' },\n\t{ value: '15219010', label: '-- Spermanțet, chiar rafinat sau colorat' },\n\t{ value: '15219091', label: '-- Ceară de albine sau de alte insecte, chiar rafinată sau colorată' },\n\t{ value: '15219091', label: '--- Brută' },\n\t{ value: '15219099', label: '--- Altele' },\n\t{ value: '15220000', label: 'Degras; reziduuri provenite de la tratarea grăsimilor sau a cerii de origine animală sau vegetală' },\n\t{ value: '15220010', label: '- Degras' },\n\t{ value: '15220031', label: '- Reziduuri care provin din tratarea grăsimilor sau a cerii de origine animală sau vegetală' },\n\t{ value: '15220031', label: '-- Care conțin ulei cu caracteristici de ulei de măsline' },\n\t{ value: '15220031', label: '--- Paste de neutralizare (soap-stocks)' },\n\t{ value: '15220039', label: '--- Altele' },\n\t{ value: '15220091', label: '-- Altele' },\n\t{ value: '15220091', label: '--- Uleiuri de borhot sau de drojdie, paste de neutralizare (soap-stocks)' },\n\t{ value: '15220099', label: '--- Altele' },\n\t{ value: '16000000', label: 'PREPARATE DIN CARNE, DIN PEȘTE SAU DIN CRUSTACEE, DIN MOLUȘTE SAU DIN ALTE NEVERTEBRATE ACVATICE' },\n\t{ value: '16010000', label: 'Cârnați, cârnăciori, salamuri și produse similare, din carne, din organe, din sânge sau din insecte; preparate alimentare pe baza acestor produse' },\n\t{ value: '16010010', label: '- Din ficat' },\n\t{ value: '16010091', label: '- Altele' },\n\t{ value: '16010091', label: '-- Cârnați, cârnăciori, salamuri și produse similare, uscați sau pentru tartine, nefierți' },\n\t{ value: '16010099', label: '-- Altele' },\n\t{ value: '16020000', label: 'Alte preparate și conserve din carne, din organe, din sânge sau din insecte' },\n\t{ value: '16021000', label: '- Preparate omogenizate' },\n\t{ value: '16022000', label: '- Din ficat de orice animal' },\n\t{ value: '16022010', label: '-- De gâscă sau de rață' },\n\t{ value: '16022090', label: '-- Altele' },\n\t{ value: '16023100', label: '- De păsări de curte de la poziția 0105' },\n\t{ value: '16023100', label: '-- Din curcan' },\n\t{ value: '16023111', label: '--- Care conțin carne sau organe de păsări de curte în proporție de minimum 57 % din greutate' },\n\t{ value: '16023111', label: '---- Care conțin numai carne de curcan nefiartă' },\n\t{ value: '16023119', label: '---- Altele' },\n\t{ value: '16023180', label: '--- Altele' },\n\t{ value: '16023200', label: '-- Din cocoși și găini' },\n\t{ value: '16023211', label: '--- Care conțin carne sau organe de păsări de curte în proporție de minimum 57 % din greutate' },\n\t{ value: '16023211', label: '---- Nefierte' },\n\t{ value: '16023219', label: '---- Altele' },\n\t{ value: '16023230', label: '--- Care conțin carne sau organe comestibile de păsări de curte în proporție de minimum 25 % din greutate, dar sub 57 % din greutate' },\n\t{ value: '16023290', label: '--- Altele' },\n\t{ value: '16023900', label: '-- Altele' },\n\t{ value: '16023921', label: '--- Care conțin carne sau organe de păsări de curte în proporție de minimum 57 % din greutate' },\n\t{ value: '16023921', label: '---- Nefierte' },\n\t{ value: '16023929', label: '---- Altele' },\n\t{ value: '16023985', label: '--- Altele' },\n\t{ value: '16024100', label: '- Din specia porcine' },\n\t{ value: '16024100', label: '-- Jamboane și părți din acestea' },\n\t{ value: '16024110', label: '--- De animale domestice din specia porcine' },\n\t{ value: '16024190', label: '--- Altele' },\n\t{ value: '16024200', label: '-- Spete și părți din acestea' },\n\t{ value: '16024210', label: '--- De animale domestice din specia porcine' },\n\t{ value: '16024290', label: '--- Altele' },\n\t{ value: '16024900', label: '-- Altele, inclusiv amestecurile' },\n\t{ value: '16024911', label: '--- De animale domestice din specia porcine' },\n\t{ value: '16024911', label: '---- Care conțin carne sau organe de orice fel, inclusiv grăsimi de orice natură sau origine, în proporție de minimum 80 % din greutate' },\n\t{ value: '16024911', label: '----- Spinări (fără coloana vertebrală) și părți din acestea, inclusiv amestecuri de spinări și jamboane' },\n\t{ value: '16024913', label: '----- Coloana vertebrală și părți din aceasta, inclusiv amestecuri de coloană vertebrală și spete' },\n\t{ value: '16024915', label: '----- Alte amestecuri care conțin jamboane, spete sau spinări și părți din acestea' },\n\t{ value: '16024919', label: '----- Altele' },\n\t{ value: '16024930', label: '---- Care conțin carne sau organe de orice fel, inclusiv grăsimi de orice natură sau origine, în proporție de minimum 40 %, dar sub 80 %, din greutate' },\n\t{ value: '16024950', label: '---- Care conțin carne sau organe de orice fel, inclusiv grăsimi de orice natură sau origine, în proporție de sub 40 % din greutate' },\n\t{ value: '16024990', label: '--- Altele' },\n\t{ value: '16025000', label: '- Din specia bovine' },\n\t{ value: '16025010', label: '-- Nefierte; amestecuri de carne sau organe fierte și de carne sau organe nefierte' },\n\t{ value: '16025031', label: '-- Altele' },\n\t{ value: '16025031', label: '--- \"Corned beef\" în recipiente închise ermetic' },\n\t{ value: '16025095', label: '--- Altele' },\n\t{ value: '16029000', label: '- Altele, inclusiv preparate din sânge de orice animal' },\n\t{ value: '16029010', label: '-- Preparate din sânge de orice animal' },\n\t{ value: '16029031', label: '-- Altele' },\n\t{ value: '16029031', label: '--- De vânat sau de iepure' },\n\t{ value: '16029051', label: '--- Altele' },\n\t{ value: '16029051', label: '---- Care conțin carne sau organe de animale domestice din specia porcine' },\n\t{ value: '16029061', label: '---- Altele' },\n\t{ value: '16029061', label: '----- Care conțin carne și organe din specia bovine' },\n\t{ value: '16029061', label: '------ Nefierte; amestecuri de carne sau organe fierte și de carne sau organe nefierte' },\n\t{ value: '16029069', label: '------ Altele' },\n\t{ value: '16029091', label: '----- Altele' },\n\t{ value: '16029091', label: '------ De ovine' },\n\t{ value: '16029095', label: '------ De caprine' },\n\t{ value: '16029099', label: '------ Altele' },\n\t{ value: '16030000', label: 'Extracte și sucuri de carne, de pești sau de crustacee, de moluște sau de alte nevertebrate acvatice' },\n\t{ value: '16030010', label: '- În ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '16030080', label: '- Altele' },\n\t{ value: '16040000', label: 'Preparate și conserve din pește; caviar și înlocuitorii acestuia preparați din icre de pește' },\n\t{ value: '16041100', label: '- Pești, întregi sau bucăți, cu excepția peștilor tocați' },\n\t{ value: '16041100', label: '-- Somoni' },\n\t{ value: '16041200', label: '-- Heringi' },\n\t{ value: '16041210', label: '--- File crud, acoperit doar cu aluat sau pesmet (pane), chiar preprăjit în ulei, congelat' },\n\t{ value: '16041291', label: '--- Altele' },\n\t{ value: '16041291', label: '---- În recipiente închise ermetic' },\n\t{ value: '16041299', label: '---- Altele' },\n\t{ value: '16041300', label: '-- Sardine, sardinele și șproturi' },\n\t{ value: '16041311', label: '--- Sardine' },\n\t{ value: '16041311', label: '---- În ulei de măsline' },\n\t{ value: '16041319', label: '---- Altele' },\n\t{ value: '16041390', label: '--- Altele' },\n\t{ value: '16041400', label: '-- Toni, pești săritori și bonite (Sarda spp.)' },\n\t{ value: '16041421', label: '--- Toni și pești săritori' },\n\t{ value: '16041421', label: '---- Pești săritori' },\n\t{ value: '16041421', label: '----- În ulei vegetal' },\n\t{ value: '16041426', label: '----- Altele' },\n\t{ value: '16041426', label: '------ File denumite \"spate\"' },\n\t{ value: '16041428', label: '------ Altele' },\n\t{ value: '16041431', label: '---- Toni cu aripioare galbene (Thunnus albacares)' },\n\t{ value: '16041431', label: '----- În ulei vegetal' },\n\t{ value: '16041436', label: '----- Altele' },\n\t{ value: '16041436', label: '------ File denumite \"spate\"' },\n\t{ value: '16041438', label: '------ Altele' },\n\t{ value: '16041441', label: '---- Altele' },\n\t{ value: '16041441', label: '----- În ulei vegetal' },\n\t{ value: '16041446', label: '----- Altele' },\n\t{ value: '16041446', label: '------ File denumite \"spate\"' },\n\t{ value: '16041448', label: '------ Altele' },\n\t{ value: '16041490', label: '--- Bonite (Sarda spp.)' },\n\t{ value: '16041500', label: '-- Macrou' },\n\t{ value: '16041511', label: '--- Din speciile Scomber scombrus și Scomber japonicus' },\n\t{ value: '16041511', label: '---- File' },\n\t{ value: '16041519', label: '---- Altele' },\n\t{ value: '16041590', label: '--- Din specia Scomber australasicus' },\n\t{ value: '16041600', label: '-- Anșoa (Engraulius eurasicholus)' },\n\t{ value: '16041700', label: '-- Anghile' },\n\t{ value: '16041800', label: '-- Înotătoare de rechini' },\n\t{ value: '16041900', label: '-- Altele' },\n\t{ value: '16041910', label: '--- Salmonide, altele decât somonii' },\n\t{ value: '16041931', label: '--- Pești de genul Euthynnus, alții decât peștii săritori (Katsuwonus pelamis)' },\n\t{ value: '16041931', label: '---- File denumite \"spate\"' },\n\t{ value: '16041939', label: '---- Altele' },\n\t{ value: '16041950', label: '--- Pești din specia Orcynopsis unicolor' },\n\t{ value: '16041991', label: '--- Altele' },\n\t{ value: '16041991', label: '---- File crud, doar acoperit cu aluat sau pesmet (pane), chiar preprăjit în ulei, congelat' },\n\t{ value: '16041992', label: '---- Altele' },\n\t{ value: '16041992', label: '----- Cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)' },\n\t{ value: '16041993', label: '----- Pești marini din specia Pollachius virens' },\n\t{ value: '16041994', label: '----- Merlucius (Merluccius spp., Urophycis spp.)' },\n\t{ value: '16041995', label: '----- Pești marini de Alaska (Theragra chalcogramma) și pești marini din specia Pollachius pollachius' },\n\t{ value: '16041997', label: '----- Altele' },\n\t{ value: '16042000', label: '- Alte preparate și conserve din pește' },\n\t{ value: '16042005', label: '-- Preparate din surimi' },\n\t{ value: '16042010', label: '-- Altele' },\n\t{ value: '16042010', label: '--- De somoni' },\n\t{ value: '16042030', label: '--- De salmonide, altele decât somonii' },\n\t{ value: '16042040', label: '--- De anșoa (Engraulius eurasicholus)' },\n\t{ value: '16042050', label: '--- De sardine, de bonite, de macrouri din specia Scomber scombrus și Scomber japonicus și de pești din specia Orcynopsis unicolor' },\n\t{ value: '16042070', label: '--- De toni, de pești săritori și de alți pești de genul Euthynnus' },\n\t{ value: '16042090', label: '--- De alți pești' },\n\t{ value: '16043100', label: '- Caviar și înlocuitorii acestuia' },\n\t{ value: '16043100', label: '-- Caviar' },\n\t{ value: '16043200', label: '-- Înlocuitori de caviar' },\n\t{ value: '16050000', label: 'Crustacee, moluște și alte nevertebrate acvatice, preparate sau conservate' },\n\t{ value: '16051000', label: '- Crabi' },\n\t{ value: '16052100', label: '- Creveți' },\n\t{ value: '16052100', label: '-- În alte recipiente decăt recipiente închise ermetic' },\n\t{ value: '16052110', label: '--- În ambalaje directe cu un conținut net de maximum 2 kg' },\n\t{ value: '16052190', label: '--- Altele' },\n\t{ value: '16052900', label: '-- Altele' },\n\t{ value: '16053000', label: '- Homari' },\n\t{ value: '16053010', label: '-- Carne de homari, preparată pentru fabricarea untului de homar, a pastelor, pateurilor, supelor sau sosurilor de homar' },\n\t{ value: '16053090', label: '-- Altele' },\n\t{ value: '16054000', label: '- Alte crustacee' },\n\t{ value: '16055100', label: '- Moluște' },\n\t{ value: '16055100', label: '-- Stridii' },\n\t{ value: '16055200', label: '-- Scoici St. Jacques, inclusiv scoici-pieptene' },\n\t{ value: '16055300', label: '-- Midii' },\n\t{ value: '16055310', label: '--- În recipiente închise ermetic' },\n\t{ value: '16055390', label: '--- Altele' },\n\t{ value: '16055400', label: '-- Sepii și calmari' },\n\t{ value: '16055500', label: '-- Caracatițe' },\n\t{ value: '16055600', label: '-- Bivalve marine' },\n\t{ value: '16055700', label: '-- Urechea mării' },\n\t{ value: '16055800', label: '-- Melci, alții decât melcii de mare' },\n\t{ value: '16055900', label: '-- Altele' },\n\t{ value: '16056100', label: '- Alte nevertebrate acvatice' },\n\t{ value: '16056100', label: '-- Castraveți de mare' },\n\t{ value: '16056200', label: '-- Arici-de-mare' },\n\t{ value: '16056300', label: '-- Meduze' },\n\t{ value: '16056900', label: '-- Altele' },\n\t{ value: '17000000', label: 'ZAHARURI ȘI PRODUSE ZAHAROASE' },\n\t{ value: '17010000', label: 'Zahăr din trestie sau din sfeclă și zaharoză chimic pură, în stare solidă' },\n\t{ value: '17011200', label: '- Zahăr brut fără adaos de aromatizanți sau coloranți' },\n\t{ value: '17011200', label: '-- Zahăr din sfeclă' },\n\t{ value: '17011210', label: '--- Destinat rafinării' },\n\t{ value: '17011290', label: '--- Altele' },\n\t{ value: '17011300', label: '-- Zahăr din trestie de zahăr menționat la nota 2 de subpoziții din prezentul capitol' },\n\t{ value: '17011310', label: '--- Destinat rafinării' },\n\t{ value: '17011390', label: '--- Altele' },\n\t{ value: '17011400', label: '-- Alt zahăr din trestie de zahăr' },\n\t{ value: '17011410', label: '--- Destinat rafinării' },\n\t{ value: '17011490', label: '--- Altele' },\n\t{ value: '17019100', label: '- Altele' },\n\t{ value: '17019100', label: '-- Cu adaos de aromatizanți sau coloranți' },\n\t{ value: '17019900', label: '-- Altele' },\n\t{ value: '17019910', label: '--- Zahăr alb' },\n\t{ value: '17019990', label: '--- Altele' },\n\t{ value: '17020000', label: 'Alte zaharuri, inclusiv lactoza, maltoza, glucoza și fructoza (levuloza), chimic pure, în stare solidă; siropuri de zahăr la care nu s-au adăugat aromatizanți sau coloranți; înlocuitori de miere, chiar amestecați cu miere naturală; zaharuri și melase caramelizate' },\n\t{ value: '17021100', label: '- Lactoză și sirop de lactoză' },\n\t{ value: '17021100', label: '-- Care conțin lactoză minimum 99 % din greutate, exprimată în lactoză anhidră calculată la materia uscată' },\n\t{ value: '17021900', label: '-- Altele' },\n\t{ value: '17022000', label: '- Zahăr și sirop de arțar' },\n\t{ value: '17022010', label: '-- Zahăr de arțar în stare solidă, cu adaos de aromatizanți sau de coloranți' },\n\t{ value: '17022090', label: '-- Altele' },\n\t{ value: '17023000', label: '- Glucoză și sirop de glucoză, care nu conține fructoză sau cu un conținut de fructoză sub 20 % din greutate, raportat la substanţă uscată' },\n\t{ value: '17023010', label: '-- Izoglucoză' },\n\t{ value: '17023050', label: '-- Altele' },\n\t{ value: '17023050', label: '--- Sub formă de pudră albă cristalină, aglomerată sau nu' },\n\t{ value: '17023090', label: '--- Altele' },\n\t{ value: '17024000', label: '- Glucoză și sirop de glucoză cu un conținut de fructoză de minimum 20 %, dar sub 50 % din greutate, în stare uscată, cu excepția zahărului invertit' },\n\t{ value: '17024010', label: '-- Izoglucoză' },\n\t{ value: '17024090', label: '-- Altele' },\n\t{ value: '17025000', label: '- Fructoză chimic pură' },\n\t{ value: '17026000', label: '- Alte fructoze și siropuri de fructoză cu un conținut de fructoză peste 50 % în greutate, în stare uscată, cu excepția zahărului invertit' },\n\t{ value: '17026010', label: '-- Izoglucoză' },\n\t{ value: '17026080', label: '-- Sirop de inulină' },\n\t{ value: '17026095', label: '-- Altele' },\n\t{ value: '17029000', label: '- Altele, inclusiv zahăr invertit și alte zaharuri și amestecuri de sirop de zahăr cu un conținut de fructoză de 50 % din greutate, în stare uscată' },\n\t{ value: '17029010', label: '-- Maltoză chimic pură' },\n\t{ value: '17029030', label: '-- Izoglucoză' },\n\t{ value: '17029050', label: '-- Maltodextrină și sirop de maltodextrină' },\n\t{ value: '17029071', label: '-- Zaharuri și melase, caramelizate' },\n\t{ value: '17029071', label: '--- Care conțin în stare uscată minimum 50 % din greutate zaharoză' },\n\t{ value: '17029075', label: '--- Altele' },\n\t{ value: '17029075', label: '---- Sub formă de pudră, aglomerată sau nu' },\n\t{ value: '17029079', label: '---- Altele' },\n\t{ value: '17029080', label: '-- Sirop de inulină' },\n\t{ value: '17029095', label: '-- Altele' },\n\t{ value: '17030000', label: 'Melase rezultate din extracția sau rafinarea zahărului' },\n\t{ value: '17031000', label: '- Melase din trestie' },\n\t{ value: '17039000', label: '- Altele' },\n\t{ value: '17040000', label: 'Produse zaharoase fără cacao (inclusiv ciocolată albă)' },\n\t{ value: '17041000', label: '- Gumă de mestecat (chewing-gum), chiar glasată cu zahăr' },\n\t{ value: '17041010', label: '-- Cu un conținut de zaharoză mai mic de 60 % din greutate (inclusiv zahăr invertit calculat în zaharoză)' },\n\t{ value: '17041090', label: '-- Cu un conținut de zaharoză egal sau mai mare de 60 % din greutate (inclusiv zahăr invertit calculat în zaharoză)' },\n\t{ value: '17049000', label: '- Altele' },\n\t{ value: '17049010', label: '-- Extracte de lemn dulce care conțin zaharoză peste 10 % din greutate, fără adaos de alte substanțe' },\n\t{ value: '17049030', label: '-- Ciocolată albă' },\n\t{ value: '17049051', label: '-- Altele' },\n\t{ value: '17049051', label: '--- Paste, inclusiv marțipan, în ambalaje directe cu un conținut net de minimum 1 kg' },\n\t{ value: '17049055', label: '--- Pastile pentru gât și dropsuri contra tusei' },\n\t{ value: '17049061', label: '--- Drajeuri și dulciuri similare drajeificate' },\n\t{ value: '17049065', label: '--- Altele' },\n\t{ value: '17049065', label: '---- Gume și jeleuri, inclusiv paste de fructe sub formă de dulciuri' },\n\t{ value: '17049071', label: '---- Bomboane de zahăr prelucrat termic, umplute sau nu' },\n\t{ value: '17049075', label: '---- Caramele' },\n\t{ value: '17049081', label: '---- Altele' },\n\t{ value: '17049081', label: '----- Obținute prin compresie' },\n\t{ value: '17049099', label: '----- Altele' },\n\t{ value: '18000000', label: 'CACAO ȘI PREPARATE DIN CACAO' },\n\t{ value: '18010000', label: 'Cacao boabe și spărturi de boabe de cacao, crude sau prăjite' },\n\t{ value: '18020000', label: 'Coji, pelicule (pielițe) și alte resturi, de cacao' },\n\t{ value: '18030000', label: 'Pastă de cacao, chiar degresată' },\n\t{ value: '18031000', label: '- Nedegresată' },\n\t{ value: '18032000', label: '- Degresată total sau parțial' },\n\t{ value: '18040000', label: 'Unt, grăsime și ulei de cacao' },\n\t{ value: '18050000', label: 'Pudră de cacao, fără adaos de zahăr sau alți îndulcitori' },\n\t{ value: '18060000', label: 'Ciocolată și alte preparate alimentare care conțin cacao' },\n\t{ value: '18061000', label: '- Pudră de cacao, cu adaos de zahăr sau alți îndulcitori' },\n\t{ value: '18061015', label: '-- Care nu conține zaharoză sau conține zaharoză sub 5 % din greutate (inclusiv zahăr invertit calculat în zaharoză), sau izoglucoză calculată, de asemenea, în zaharoză' },\n\t{ value: '18061020', label: '-- Cu un conținut de zaharoză de minimum 5 %, dar sub 65 % din greutate (inclusiv zahăr invertit calculat în zaharoză) sau izoglucoză calculată, de asemenea, în zaharoză' },\n\t{ value: '18061030', label: '-- Cu un conținut de zaharoză (inclusiv zahăr invertit calculat în zaharoză) sau izoglucoză calculată, de asemenea, în zaharoză, de minimum 65 %, dar sub 80 % din greutate' },\n\t{ value: '18061090', label: '-- Cu un conținut de zaharoză (inclusiv zahăr invertit calculat în zaharoză) sau izoglucoză calculată, de asemenea, în zaharoză de minimum 80 %' },\n\t{ value: '18062000', label: '- Alte preparate prezentate fie sub formă de blocuri sau bare în greutate de peste 2 kg, fie sub formă de lichid, de pastă, de pudră, de granule sau forme similare, ambalate în recipiente sau ambalaje directe cu un conținut de peste 2 kg' },\n\t{ value: '18062010', label: '-- Cu un conținut de unt de cacao de minimum 31 % din greutate sau cu un conținut total de unt de cacao și grăsimi din lapte de minimum 31 % din greutate' },\n\t{ value: '18062030', label: '-- Cu un conținut total de unt de cacao și grăsimi din lapte de minimum 25 % din greutate și sub 31 % din greutate' },\n\t{ value: '18062050', label: '-- Altele' },\n\t{ value: '18062050', label: '--- Cu un conținut de unt de cacao de minimum 18 % din greutate' },\n\t{ value: '18062070', label: '--- Preparate numite \"chocolate milk crumb\"' },\n\t{ value: '18062080', label: '--- Glazură de cacao' },\n\t{ value: '18062095', label: '--- Altele' },\n\t{ value: '18063100', label: '- Altele, prezentate sub formă de tablete, bare sau batoane' },\n\t{ value: '18063100', label: '-- Umplute' },\n\t{ value: '18063200', label: '-- Neumplute' },\n\t{ value: '18063210', label: '--- Cu adaos de cereale, nuci sau alte fructe' },\n\t{ value: '18063290', label: '--- Altele' },\n\t{ value: '18069000', label: '- Altele' },\n\t{ value: '18069011', label: '-- Ciocolată și produse din ciocolată' },\n\t{ value: '18069011', label: '--- Bomboane de ciocolată (inclusiv praline), umplute sau nu' },\n\t{ value: '18069011', label: '---- Care conțin alcool' },\n\t{ value: '18069019', label: '---- Altele' },\n\t{ value: '18069031', label: '--- Altele' },\n\t{ value: '18069031', label: '---- Umplute' },\n\t{ value: '18069039', label: '---- Neumplute' },\n\t{ value: '18069050', label: '-- Dulciuri și înlocuitori ai acestora fabricați din înlocuitori ai zahărului, care conțin cacao' },\n\t{ value: '18069060', label: '-- Pastă pentru tartine care conține cacao' },\n\t{ value: '18069070', label: '-- Preparate conținând cacao, pentru băuturi' },\n\t{ value: '18069090', label: '-- Altele' },\n\t{ value: '19000000', label: 'PREPARATE PE BAZĂ DE CEREALE, DE FĂINĂ, DE AMIDON, DE FECULE SAU DE LAPTE; PRODUSE DE PATISERIE' },\n\t{ value: '19010000', label: 'Extracte de malț; preparate alimentare din făină, crupe, griș, amidon, fecule sau extracte de malț, care nu conțin cacao sau care conțin cacao într-o proporție de sub 40 % din greutate, calculată pe o bază complet degresată, nedenumite și necuprinse în altă parte; preparate alimentare din produsele de la pozițiile 0401-0404, care nu conțin cacao sau care conțin cacao într-o proporție de sub 5 % din greutate calculată pe o bază complet degresată, nedenumite și necuprinse în altă parte' },\n\t{ value: '19011000', label: '- Preparate potrivite pentru sugari sau pentru copiii de vârstă mică, prezentate pentru vânzarea cu amănuntul' },\n\t{ value: '19012000', label: '- Amestecuri și aluaturi pentru prepararea produselor de brutărie, de patiserie sau a biscuiților de la poziția 1905' },\n\t{ value: '19019000', label: '- Altele' },\n\t{ value: '19019011', label: '-- Extracte de malț' },\n\t{ value: '19019011', label: '--- Cu un conținut de extract uscat de minimum 90 % din greutate' },\n\t{ value: '19019019', label: '--- Altele' },\n\t{ value: '19019091', label: '-- Altele' },\n\t{ value: '19019091', label: '--- Care nu conțin grăsimi din lapte, zaharoză, izoglucoză, glucoză, amidon sau fecule sau care conțin în greutate sub 1,5 % grăsimi din lapte, sub 5 % zaharoză (inclusiv zahăr invertit) sau izoglucoză, sub 5 % glucoză, amidon sau fecule, cu excepția preparatelor alimentare sub formă de pudră de la pozițiile 0401-0404' },\n\t{ value: '19019095', label: '--- Preparate alimentare sub formă de pudră constituite dintr-un amestec de lapte degresat și/sau zer și grăsimi/uleiuri vegetale, cu un conținut de grăsimi/uleiuri de maximum 30 % din greutate' },\n\t{ value: '19019099', label: '--- Altele' },\n\t{ value: '19020000', label: 'Paste alimentare chiar fierte sau umplute (cu carne sau cu alte substanțe) sau chiar altfel preparate, cum ar fi spaghete, macaroane, fidea, lasagna, gnochi, ravioli, caneloni; cușcuș, chiar preparat' },\n\t{ value: '19021100', label: '- Paste alimentare nefierte, neumplute și nici altfel preparate' },\n\t{ value: '19021100', label: '-- Care conțin ouă' },\n\t{ value: '19021900', label: '-- Altele' },\n\t{ value: '19021910', label: '--- Care nu conțin făină sau griș din grâu comun' },\n\t{ value: '19021990', label: '--- Altele' },\n\t{ value: '19022000', label: '- Paste alimentare umplute (chiar fierte sau altfel preparate)' },\n\t{ value: '19022010', label: '-- Care conțin pești, crustacee, moluște sau alte nevertebrate acvatice în proporție de peste 20 % din greutate' },\n\t{ value: '19022030', label: '-- Care conțin cârnați, cârnăciori și produse similare, carne și organe de orice fel, inclusiv grăsimi de orice natură sau origine într-o proporție de peste 20 % din greutate' },\n\t{ value: '19022091', label: '-- Altele' },\n\t{ value: '19022091', label: '--- Fierte' },\n\t{ value: '19022099', label: '--- Altele' },\n\t{ value: '19023000', label: '- Alte paste alimentare' },\n\t{ value: '19023010', label: '-- Uscate' },\n\t{ value: '19023090', label: '-- Altele' },\n\t{ value: '19024000', label: '- Cușcuș' },\n\t{ value: '19024010', label: '-- Nepreparat' },\n\t{ value: '19024090', label: '-- Altele' },\n\t{ value: '19030000', label: 'Tapioca și înlocuitorii săi preparați din fecule, sub formă de fulgi, granule, boabe mici, criblură sau alte forme similare' },\n\t{ value: '19040000', label: 'Produse pe bază de cereale obținute prin expandare sau prăjire (de exemplu corn flakes); cereale (altele decât porumbul), sub formă de boabe sau sub formă de fulgi ori de alte grăunțe preparate (cu excepția făinii, crupelor și a grișului), prefierte sau altfel preparate, nedenumite și necuprinse în altă parte' },\n\t{ value: '19041000', label: '- Produse pe bază de cereale obținute prin expandare sau prăjire' },\n\t{ value: '19041010', label: '-- Pe bază de porumb' },\n\t{ value: '19041030', label: '-- Pe bază de orez' },\n\t{ value: '19041090', label: '-- Altele' },\n\t{ value: '19042000', label: '- Preparate alimentare obținute din fulgi de cereale neprăjiți sau din amestecuri de fulgi de cereale neprăjiți și din fulgi de cereale prăjiți sau de cereale expandate' },\n\t{ value: '19042010', label: '-- Preparate de tip Musli pe bază de fulgi de cereale neprăjiți' },\n\t{ value: '19042091', label: '-- Altele' },\n\t{ value: '19042091', label: '--- Pe bază de porumb' },\n\t{ value: '19042095', label: '--- Pe bază de orez' },\n\t{ value: '19042099', label: '--- Altele' },\n\t{ value: '19043000', label: '- Grâu numit bulgur' },\n\t{ value: '19049000', label: '- Altele' },\n\t{ value: '19049010', label: '-- Pe bază de orez' },\n\t{ value: '19049080', label: '-- Altele' },\n\t{ value: '19050000', label: 'Produse de brutărie, de patiserie și biscuiți, chiar cu adaos de cacao; ostii, cașete goale de tipul celor utilizate pentru medicamente, vafe cu capac, paste uscate din făină, din amidon sau din fecule în foi și produse similare' },\n\t{ value: '19051000', label: '- Pâine crocantă denumită Knäckebrot' },\n\t{ value: '19052000', label: '- Turtă dulce' },\n\t{ value: '19052010', label: '-- Cu un conținut de zaharoză (inclusiv zahăr invertit calculat în zaharoză) sub 30 % din greutate' },\n\t{ value: '19052030', label: '-- Cu un conținut de zaharoză (inclusiv zahăr invertit calculat în zaharoză) de minimum 30 % dar sub 50 % din greutate' },\n\t{ value: '19052090', label: '-- Cu un conținut de zaharoză (inclusiv zahăr invertit calculat în zaharoză) de minimum 50 % din greutate' },\n\t{ value: '19053100', label: '- Biscuiți la care s-au adăugat îndulcitori; vafe și alveole' },\n\t{ value: '19053100', label: '-- Biscuiți la care s-au adăugat îndulcitori' },\n\t{ value: '19053111', label: '--- Acoperiți sau glasați complet sau parțial cu ciocolată sau cu alte preparate care conțin cacao' },\n\t{ value: '19053111', label: '---- În ambalaje directe, cu un conținut net de maximum 85 g' },\n\t{ value: '19053119', label: '---- Altele' },\n\t{ value: '19053130', label: '--- Altele' },\n\t{ value: '19053130', label: '---- Cu un conținut de grăsimi din lapte de minimum 8 % din greutate' },\n\t{ value: '19053191', label: '---- Altele' },\n\t{ value: '19053191', label: '----- Sandviș de biscuiți' },\n\t{ value: '19053199', label: '----- Altele' },\n\t{ value: '19053200', label: '-- Vafe și alveole' },\n\t{ value: '19053205', label: '--- Cu un conținut de apă peste 10 % din greutate' },\n\t{ value: '19053211', label: '--- Altele' },\n\t{ value: '19053211', label: '---- Acoperite sau glasate complet sau parțial cu ciocolată sau cu alte preparate care conțin cacao' },\n\t{ value: '19053211', label: '----- În ambalaje directe, cu un conținut net de maximum 85 g' },\n\t{ value: '19053219', label: '----- Altele' },\n\t{ value: '19053291', label: '---- Altele' },\n\t{ value: '19053291', label: '----- Sărate, umplute sau neumplute' },\n\t{ value: '19053299', label: '----- Altele' },\n\t{ value: '19054000', label: '- Pesmet, pâine prăjită și produse similare prăjite' },\n\t{ value: '19054010', label: '-- Pesmet' },\n\t{ value: '19054090', label: '-- Altele' },\n\t{ value: '19059000', label: '- Altele' },\n\t{ value: '19059010', label: '-- Azima (mazoth)' },\n\t{ value: '19059020', label: '-- Ostii, cașete goale pentru uz farmaceutic, vafe cu capac, pastă uscată din făină, din amidon sau din fecule în foi și produse similare' },\n\t{ value: '19059030', label: '-- Altele' },\n\t{ value: '19059030', label: '--- Pâine, la care nu s-a adăugat miere, ouă, brânză sau fructe și care are un conținut de zahăr în substanță uscată de maximum 5 % din greutate și grăsimi în substanță uscată de maximum 5 % din greutate' },\n\t{ value: '19059045', label: '--- Biscuiți' },\n\t{ value: '19059055', label: '--- Produse extrudate sau expandate, sărate sau aromatizate' },\n\t{ value: '19059070', label: '--- Altele' },\n\t{ value: '19059070', label: '---- Cu un conținut de cel puțin 5%, în greutate, de zaharoză, zahăr invertit sau izoglucoză' },\n\t{ value: '19059080', label: '---- Altele' },\n\t{ value: '20000000', label: 'PREPARATE DIN LEGUME, DIN FRUCTE SAU DIN ALTE PĂRȚI DE PLANTE' },\n\t{ value: '20010000', label: 'Legume, fructe și alte părți comestibile de plante, preparate sau conservate în oțet sau acid acetic' },\n\t{ value: '20011000', label: '- Castraveți și cornișon' },\n\t{ value: '20019000', label: '- Altele' },\n\t{ value: '20019010', label: '-- Chutney (condimente) de mango' },\n\t{ value: '20019020', label: '-- Fructe din genul Capsicum, altele decât ardeii grași' },\n\t{ value: '20019030', label: '-- Porumb dulce (Zea mays var. saccharata)' },\n\t{ value: '20019040', label: '-- Ignami, batate și părți comestibile similare de plante cu un conținut de amidon sau de fecule de minimum 5 % din greutate' },\n\t{ value: '20019050', label: '-- Ciuperci' },\n\t{ value: '20019065', label: '-- Măsline' },\n\t{ value: '20019070', label: '-- Ardei grași' },\n\t{ value: '20019092', label: '-- Fructe tropicale și fructe tropicale cu coajă; miez (inimă) de palmier' },\n\t{ value: '20019097', label: '-- Altele' },\n\t{ value: '20020000', label: 'Tomate preparate sau conservate altfel decât în oțet sau acid acetic' },\n\t{ value: '20021000', label: '- Tomate, întregi sau în bucăți' },\n\t{ value: '20021010', label: '-- Cojite' },\n\t{ value: '20021090', label: '-- Altele' },\n\t{ value: '20029000', label: '- Altele' },\n\t{ value: '20029011', label: '-- Cu un conținut de materie uscată sub 12 % din greutate' },\n\t{ value: '20029011', label: '--- În ambalaje directe cu un conținut net de peste 1 kg' },\n\t{ value: '20029019', label: '--- În ambalaje directe cu un conținut net de maximum 1 kg' },\n\t{ value: '20029031', label: '-- Cu un conținut de materie uscată de minimum 12 % dar de maximum 30 % din greutate' },\n\t{ value: '20029031', label: '--- În ambalaje directe cu un conținut net de peste 1 kg' },\n\t{ value: '20029039', label: '--- În ambalaje directe cu un conținut net de maximum 1 kg' },\n\t{ value: '20029091', label: '-- Cu un conținut de materie uscată mai mare de 30 % din greutate' },\n\t{ value: '20029091', label: '--- În ambalaje directe cu un conținut net peste 1 kg' },\n\t{ value: '20029099', label: '--- În ambalaje directe cu un conținut net de maximum 1 kg' },\n\t{ value: '20030000', label: 'Ciuperci și trufe, preparate sau conservate altfel decât în oțet sau acid acetic' },\n\t{ value: '20031000', label: '- Ciuperci din genul Agaricus' },\n\t{ value: '20031020', label: '-- Conservate provizoriu, complet fierte' },\n\t{ value: '20031030', label: '-- Altele' },\n\t{ value: '20039000', label: '- Altele' },\n\t{ value: '20039010', label: '-- Trufe' },\n\t{ value: '20039090', label: '-- Altele' },\n\t{ value: '20040000', label: 'Alte legume preparate sau conservate altfel decât în oțet sau acid acetic, congelate, altele decât produsele de la poziția 2006' },\n\t{ value: '20041000', label: '- Cartofi' },\n\t{ value: '20041010', label: '-- Fierți și nepreparați altfel' },\n\t{ value: '20041091', label: '-- Altele' },\n\t{ value: '20041091', label: '--- Sub formă de făină, griș sau fulgi' },\n\t{ value: '20041099', label: '--- Altele' },\n\t{ value: '20049000', label: '- Alte legume și amestecuri de legume' },\n\t{ value: '20049010', label: '-- Porumb dulce (Zea mays var. saccharata)' },\n\t{ value: '20049030', label: '-- Varză acră, capere și măsline' },\n\t{ value: '20049050', label: '-- Mazăre (Pisum sativum) și fasole verde' },\n\t{ value: '20049091', label: '-- Altele, inclusiv amestecuri' },\n\t{ value: '20049091', label: '--- Ceapă, fiartă și nepreparată altfel' },\n\t{ value: '20049098', label: '--- Altele' },\n\t{ value: '20050000', label: 'Alte legume preparate sau conservate altfel decât în oțet sau acid acetic, necongelate, altele decât produsele de la poziția 2006' },\n\t{ value: '20051000', label: '- Legume omogenizate' },\n\t{ value: '20052000', label: '- Cartofi' },\n\t{ value: '20052010', label: '-- Sub formă de făină, griș sau fulgi' },\n\t{ value: '20052020', label: '-- Altele' },\n\t{ value: '20052020', label: '--- Tăiați în felii subțiri, prăjiți sau copți, chiar sărați sau aromatizați, în ambalaje închise ermetic, pentru consumul direct' },\n\t{ value: '20052080', label: '--- Altele' },\n\t{ value: '20054000', label: '- Mazăre (Pisum sativum)' },\n\t{ value: '20055100', label: '- Fasole (Vigna spp., Phaseolus spp.)' },\n\t{ value: '20055100', label: '-- Fasole boabe' },\n\t{ value: '20055900', label: '-- Altele' },\n\t{ value: '20056000', label: '- Sparanghel' },\n\t{ value: '20057000', label: '- Măsline' },\n\t{ value: '20058000', label: '- Porumb dulce (Zea mays var. saccharata)' },\n\t{ value: '20059100', label: '- Alte legume și amestecuri de legume' },\n\t{ value: '20059100', label: '-- Muguri de bambus' },\n\t{ value: '20059900', label: '-- Altele' },\n\t{ value: '20059910', label: '--- Fructe din genul Capsicum, altele decât ardeii grași' },\n\t{ value: '20059920', label: '--- Capere' },\n\t{ value: '20059930', label: '--- Anghinare' },\n\t{ value: '20059950', label: '--- Amestecuri de legume' },\n\t{ value: '20059960', label: '--- Varză acră' },\n\t{ value: '20059980', label: '--- Altele' },\n\t{ value: '20060000', label: 'Legume, fructe, coji de fructe și alte părți de plante, confiate (uscate, glasate sau cristalizate)' },\n\t{ value: '20060010', label: '- Ghimbir' },\n\t{ value: '20060031', label: '- Altele' },\n\t{ value: '20060031', label: '-- Cu un conținut de zahăr peste 13 % din greutate' },\n\t{ value: '20060031', label: '--- Cireșe, vișine' },\n\t{ value: '20060035', label: '--- Fructe tropicale și fructe tropicale cu coajă' },\n\t{ value: '20060038', label: '--- Altele' },\n\t{ value: '20060091', label: '-- Altele' },\n\t{ value: '20060091', label: '--- Fructe tropicale și fructe tropicale cu coajă' },\n\t{ value: '20060099', label: '--- Altele' },\n\t{ value: '20070000', label: 'Dulcețuri, jeleuri, marmelade, paste și piureuri de fructe, obținute prin fierbere, cu sau fără adaos de zahăr sau de alți îndulcitori' },\n\t{ value: '20071000', label: '- Preparate omogenizate' },\n\t{ value: '20071010', label: '-- Cu un conținut de zahăr de peste 13 % din greutate' },\n\t{ value: '20071091', label: '-- Altele' },\n\t{ value: '20071091', label: '--- Din fructe tropicale' },\n\t{ value: '20071099', label: '--- Altele' },\n\t{ value: '20079100', label: '- Altele' },\n\t{ value: '20079100', label: '-- Citrice' },\n\t{ value: '20079110', label: '--- Cu un conținut de zahăr de peste 30 % din greutate' },\n\t{ value: '20079130', label: '--- Cu un conținut de zahăr de peste 13 % din greutate, dar de maximum 30 % din greutate' },\n\t{ value: '20079190', label: '--- Altele' },\n\t{ value: '20079900', label: '-- Altele' },\n\t{ value: '20079910', label: '--- Cu un conținut de zahăr de peste 30 % din greutate' },\n\t{ value: '20079910', label: '---- Piure și pastă de prune, în ambalaje directe, cu un conținut net de peste 100 kg și care sunt destinate prelucrării industriale' },\n\t{ value: '20079920', label: '---- Piure și pastă de castane' },\n\t{ value: '20079931', label: '---- Altele' },\n\t{ value: '20079931', label: '----- De cireșe, de vișine' },\n\t{ value: '20079933', label: '----- De căpșuni, de fragi' },\n\t{ value: '20079935', label: '----- De zmeură' },\n\t{ value: '20079939', label: '----- Altele' },\n\t{ value: '20079950', label: '--- Cu un conținut de zahăr de peste 13 % din greutate, dar de maximum 30 % din greutate' },\n\t{ value: '20079993', label: '--- Altele' },\n\t{ value: '20079993', label: '---- Din fructe tropicale și fructe tropicale cu coajă' },\n\t{ value: '20079997', label: '---- Altele' },\n\t{ value: '20080000', label: 'Fructe și alte părți comestibile de plante, altfel preparate sau conservate, cu sau fără adaos de zahăr sau de alți îndulcitori sau de alcool, nedenumite și necuprinse în altă parte' },\n\t{ value: '20081100', label: '- Fructe cu coajă, arahide și alte semințe, chiar amestecate între ele' },\n\t{ value: '20081100', label: '-- Arahide' },\n\t{ value: '20081110', label: '--- Unt de arahide' },\n\t{ value: '20081191', label: '--- Altele, în ambalaje directe cu un conținut net' },\n\t{ value: '20081191', label: '---- De peste 1 kg' },\n\t{ value: '20081196', label: '---- De maximum 1 kg' },\n\t{ value: '20081196', label: '----- Prăjite' },\n\t{ value: '20081198', label: '----- Altele' },\n\t{ value: '20081900', label: '-- Altele, inclusiv amestecuri' },\n\t{ value: '20081912', label: '--- În ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20081912', label: '---- Fructe tropicale cu coajă; amestecuri care conțin minimum 50 % din greutate fructe tropicale cu coajă' },\n\t{ value: '20081913', label: '---- Altele' },\n\t{ value: '20081913', label: '----- Migdale și fistic, prăjite' },\n\t{ value: '20081919', label: '----- Altele' },\n\t{ value: '20081992', label: '--- În ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20081992', label: '---- Fructe tropicale cu coajă; amestecuri care conțin minimum 50 % din greutate fructe tropicale cu coajă' },\n\t{ value: '20081993', label: '---- Altele' },\n\t{ value: '20081993', label: '----- Fructe cu coajă, prăjite' },\n\t{ value: '20081993', label: '------ Migdale și fistic' },\n\t{ value: '20081995', label: '------ Altele' },\n\t{ value: '20081999', label: '----- Altele' },\n\t{ value: '20082000', label: '- Ananas' },\n\t{ value: '20082011', label: '-- Cu adaos de alcool' },\n\t{ value: '20082011', label: '--- În ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20082011', label: '---- Cu un conținut de zahăr de peste 17 % din greutate' },\n\t{ value: '20082019', label: '---- Altele' },\n\t{ value: '20082031', label: '--- În ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20082031', label: '---- Cu un conținut de zahăr de peste 19 % în greutate' },\n\t{ value: '20082039', label: '---- Altele' },\n\t{ value: '20082051', label: '-- Fără adaos de alcool' },\n\t{ value: '20082051', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20082051', label: '---- Cu un conținut de zahăr de peste 17 % în greutate' },\n\t{ value: '20082059', label: '---- Altele' },\n\t{ value: '20082071', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20082071', label: '---- Cu un conținut de zahăr de peste 19 % în greutate' },\n\t{ value: '20082079', label: '---- Altele' },\n\t{ value: '20082090', label: '--- Fără adaos de zahăr' },\n\t{ value: '20083000', label: '- Citrice' },\n\t{ value: '20083011', label: '-- Cu adaos de alcool' },\n\t{ value: '20083011', label: '--- Cu un conținut de zahăr de peste 9 % în greutate' },\n\t{ value: '20083011', label: '---- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20083019', label: '---- Altele' },\n\t{ value: '20083031', label: '--- Altele' },\n\t{ value: '20083031', label: '---- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20083039', label: '---- Altele' },\n\t{ value: '20083051', label: '-- Fără adaos de alcool' },\n\t{ value: '20083051', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20083051', label: '---- Segmente de grepfrut și pomelo' },\n\t{ value: '20083055', label: '---- Mandarine, inclusiv tangerine și satsuma; clementine, wilkings și alți hibrizi similari de citrice' },\n\t{ value: '20083059', label: '---- Altele' },\n\t{ value: '20083071', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20083071', label: '---- Segmente de grepfrut și pomelo' },\n\t{ value: '20083075', label: '---- Mandarine, inclusiv tangerine și satsuma; clementine, wilkings și alți hibrizi similari de citrice' },\n\t{ value: '20083079', label: '---- Altele' },\n\t{ value: '20083090', label: '--- Fără adaos de zahăr' },\n\t{ value: '20084000', label: '- Pere' },\n\t{ value: '20084011', label: '-- Cu adaos de alcool' },\n\t{ value: '20084011', label: '--- În ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20084011', label: '---- Cu un conținut de zahăr de peste 13 % din greutate' },\n\t{ value: '20084011', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20084019', label: '----- Altele' },\n\t{ value: '20084021', label: '---- Altele' },\n\t{ value: '20084021', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20084029', label: '----- Altele' },\n\t{ value: '20084031', label: '--- În ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20084031', label: '---- Cu un conținut de zahăr de peste 15 % din greutate' },\n\t{ value: '20084039', label: '---- Altele' },\n\t{ value: '20084051', label: '-- Fără adaos de alcool' },\n\t{ value: '20084051', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20084051', label: '---- Cu un conținut de zahăr de peste 13 % din greutate' },\n\t{ value: '20084059', label: '---- Altele' },\n\t{ value: '20084071', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20084071', label: '---- Cu un conținut de zahăr de peste 15 % din greutate' },\n\t{ value: '20084079', label: '---- Altele' },\n\t{ value: '20084090', label: '--- Fără adaos de zahăr' },\n\t{ value: '20085000', label: '- Caise' },\n\t{ value: '20085011', label: '-- Cu adaos de alcool' },\n\t{ value: '20085011', label: '--- În ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20085011', label: '---- Cu un conținut de zahăr de peste 13 % din greutate' },\n\t{ value: '20085011', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20085019', label: '----- Altele' },\n\t{ value: '20085031', label: '---- Altele' },\n\t{ value: '20085031', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20085039', label: '----- Altele' },\n\t{ value: '20085051', label: '--- În ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20085051', label: '---- Cu un conținut de zahăr de peste 15 % din greutate' },\n\t{ value: '20085059', label: '---- Altele' },\n\t{ value: '20085061', label: '-- Fără adaos de alcool' },\n\t{ value: '20085061', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20085061', label: '---- Cu un conținut de zahăr de peste 13 % din greutate' },\n\t{ value: '20085069', label: '---- Altele' },\n\t{ value: '20085071', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20085071', label: '---- Cu un conținut de zahăr de peste 15 % din greutate' },\n\t{ value: '20085079', label: '---- Altele' },\n\t{ value: '20085092', label: '--- Fără adaos de zahăr, în ambalaje directe, cu un conținut net de' },\n\t{ value: '20085092', label: '---- Minimum 5 kg' },\n\t{ value: '20085098', label: '---- Sub 5 kg' },\n\t{ value: '20086000', label: '- Cireșe și vișine' },\n\t{ value: '20086011', label: '-- Cu adaos de alcool' },\n\t{ value: '20086011', label: '--- Cu un conținut de zahăr de peste 9 % din greutate' },\n\t{ value: '20086011', label: '---- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20086019', label: '---- Altele' },\n\t{ value: '20086031', label: '--- Altele' },\n\t{ value: '20086031', label: '---- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20086039', label: '---- Altele' },\n\t{ value: '20086050', label: '-- Fără adaos de alcool' },\n\t{ value: '20086050', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de' },\n\t{ value: '20086050', label: '---- Peste 1 kg' },\n\t{ value: '20086060', label: '---- De maximum 1 kg' },\n\t{ value: '20086070', label: '--- Fără adaos de zahăr, în ambalaje directe, cu un conținut net de' },\n\t{ value: '20086070', label: '---- Minimum 4,5 kg' },\n\t{ value: '20086090', label: '---- Sub 4,5 kg' },\n\t{ value: '20087000', label: '- Piersici, inclusiv piersici fără puf și nectarine' },\n\t{ value: '20087011', label: '-- Cu adaos de alcool' },\n\t{ value: '20087011', label: '--- În ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20087011', label: '---- Cu un conținut de zahăr peste 13 % din greutate' },\n\t{ value: '20087011', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20087019', label: '----- Altele' },\n\t{ value: '20087031', label: '---- Altele' },\n\t{ value: '20087031', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20087039', label: '----- Altele' },\n\t{ value: '20087051', label: '--- În ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20087051', label: '---- Cu un conținut de zahăr de peste 15 % din greutate' },\n\t{ value: '20087059', label: '---- Altele' },\n\t{ value: '20087061', label: '-- Fără adaos de alcool' },\n\t{ value: '20087061', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20087061', label: '---- Cu un conținut de zahăr de peste 13 % din greutate' },\n\t{ value: '20087069', label: '---- Altele' },\n\t{ value: '20087071', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20087071', label: '---- Cu un conținut de zahăr de peste 15 % din greutate' },\n\t{ value: '20087079', label: '---- Altele' },\n\t{ value: '20087092', label: '--- Fără adaos de zahăr, în ambalaje directe, cu un conținut net de' },\n\t{ value: '20087092', label: '---- Minimum 5 kg' },\n\t{ value: '20087098', label: '---- Sub 5 kg' },\n\t{ value: '20088000', label: '- Căpșuni, fragi' },\n\t{ value: '20088011', label: '-- Cu adaos de alcool' },\n\t{ value: '20088011', label: '--- Cu un conținut de zahăr de peste 9 % din greutate' },\n\t{ value: '20088011', label: '---- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20088019', label: '---- Altele' },\n\t{ value: '20088031', label: '--- Altele' },\n\t{ value: '20088031', label: '---- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20088039', label: '---- Altele' },\n\t{ value: '20088050', label: '-- Fără adaos de alcool' },\n\t{ value: '20088050', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20088070', label: '--- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20088090', label: '--- Fără adaos de zahăr' },\n\t{ value: '20089100', label: '- Altele, inclusiv amestecurile, cu excepția celor de la subpoziția 2008 19' },\n\t{ value: '20089100', label: '-- Miez (inimă) de palmier' },\n\t{ value: '20089300', label: '-- Afine roșii (fructe din speciile Vaccinium macrocarpon, Vaccinium oxycoccos); merișor (Vaccinium vitis-idaea)' },\n\t{ value: '20089311', label: '--- Cu adaos de alcool' },\n\t{ value: '20089311', label: '---- Cu un conținut de zahăr de peste 9 % în greutate' },\n\t{ value: '20089311', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20089319', label: '----- Altele' },\n\t{ value: '20089321', label: '---- Altele' },\n\t{ value: '20089321', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20089329', label: '----- Altele' },\n\t{ value: '20089391', label: '--- Fără adaos de alcool' },\n\t{ value: '20089391', label: '---- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20089393', label: '---- Cu adaos de zahăr, în ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20089399', label: '---- Fără adaos de zahăr' },\n\t{ value: '20089700', label: '-- Amestecuri' },\n\t{ value: '20089703', label: '--- De fructe tropicale cu coajă și fructe tropicale, care conțin minimum 50 % în greutate fructe tropicale cu coajă' },\n\t{ value: '20089703', label: '---- În ambalaje directe, cu un conținut net de peste 1 kg' },\n\t{ value: '20089705', label: '---- În ambalaje directe, cu un conținut net de maximum 1 kg' },\n\t{ value: '20089712', label: '--- Altele' },\n\t{ value: '20089712', label: '---- Cu adaos de alcool' },\n\t{ value: '20089712', label: '----- Cu un conținut de zahăr de peste 9 % în greutate' },\n\t{ value: '20089712', label: '------ Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20089712', label: '------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089714', label: '------- Altele' },\n\t{ value: '20089716', label: '------ Altele' },\n\t{ value: '20089716', label: '------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089718', label: '------- Altele' },\n\t{ value: '20089732', label: '----- Altele' },\n\t{ value: '20089732', label: '------ Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20089732', label: '------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089734', label: '------- Altele' },\n\t{ value: '20089736', label: '------ Altele' },\n\t{ value: '20089736', label: '------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089738', label: '------- Altele' },\n\t{ value: '20089751', label: '---- Fără adaos de alcool' },\n\t{ value: '20089751', label: '----- Cu adaos de zahăr' },\n\t{ value: '20089751', label: '------ În ambalaje directe cu un conținut net de peste 1 kg' },\n\t{ value: '20089751', label: '------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089759', label: '------- Altele' },\n\t{ value: '20089772', label: '------ Altele' },\n\t{ value: '20089772', label: '------- Amestecuri în care nici unul din fructele componente nu reprezintă o cantitate mai mare de 50 % din greutatea totală a fructelor prezente' },\n\t{ value: '20089772', label: '-------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089774', label: '-------- Altele' },\n\t{ value: '20089776', label: '------- Altele' },\n\t{ value: '20089776', label: '-------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089778', label: '-------- Altele' },\n\t{ value: '20089792', label: '----- Fără adaos de zahăr, în ambalaje directe, cu un conținut net de' },\n\t{ value: '20089792', label: '------ Minimum 5 kg' },\n\t{ value: '20089792', label: '------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089793', label: '------- Altele' },\n\t{ value: '20089794', label: '------ Minimum 4,5 kg dar sub 5 kg' },\n\t{ value: '20089794', label: '------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089796', label: '------- Altele' },\n\t{ value: '20089797', label: '------ Sub 4,5 kg' },\n\t{ value: '20089797', label: '------- Din fructe tropicale (inclusiv amestecuri care conțin minimum 50 % din greutate fructe tropicale și fructe tropicale cu coajă)' },\n\t{ value: '20089798', label: '------- Altele' },\n\t{ value: '20089900', label: '-- Altele' },\n\t{ value: '20089911', label: '--- Cu adaos de alcool' },\n\t{ value: '20089911', label: '---- Ghimbir' },\n\t{ value: '20089911', label: '----- Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20089919', label: '----- Altele' },\n\t{ value: '20089921', label: '---- Struguri' },\n\t{ value: '20089921', label: '----- Cu un conținut de zahăr de peste 13 % din greutate' },\n\t{ value: '20089923', label: '----- Altele' },\n\t{ value: '20089924', label: '---- Altele' },\n\t{ value: '20089924', label: '----- Cu un conținut de zahăr de peste 9 % în greutate' },\n\t{ value: '20089924', label: '------ Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20089924', label: '------- Fructe tropicale' },\n\t{ value: '20089928', label: '------- Altele' },\n\t{ value: '20089931', label: '------ Altele' },\n\t{ value: '20089931', label: '------- Fructe tropicale' },\n\t{ value: '20089934', label: '------- Altele' },\n\t{ value: '20089936', label: '----- Altele' },\n\t{ value: '20089936', label: '------ Cu un titru alcoolic masic existent de maximum 11,85 % mas.' },\n\t{ value: '20089936', label: '------- Fructe tropicale' },\n\t{ value: '20089937', label: '------- Altele' },\n\t{ value: '20089938', label: '------ Altele' },\n\t{ value: '20089938', label: '------- Fructe tropicale' },\n\t{ value: '20089940', label: '------- Altele' },\n\t{ value: '20089941', label: '--- Fără adaos de alcool' },\n\t{ value: '20089941', label: '---- Cu adaos de zahăr, în ambalaje directe cu un conținut net de peste 1 kg' },\n\t{ value: '20089941', label: '----- Ghimbir' },\n\t{ value: '20089943', label: '----- Struguri' },\n\t{ value: '20089945', label: '----- Prune' },\n\t{ value: '20089948', label: '----- Fructe tropicale' },\n\t{ value: '20089949', label: '----- Altele' },\n\t{ value: '20089951', label: '---- Cu adaos de zahăr, în ambalaje directe cu un conținut net de maximum 1 kg' },\n\t{ value: '20089951', label: '----- Ghimbir' },\n\t{ value: '20089963', label: '----- Fructe tropicale' },\n\t{ value: '20089967', label: '----- Altele' },\n\t{ value: '20089972', label: '---- Fără adaos de zahăr' },\n\t{ value: '20089972', label: '----- Prune în ambalaje directe cu un conținut net de' },\n\t{ value: '20089972', label: '------ Minimum 5 kg' },\n\t{ value: '20089978', label: '------ Sub 5 kg' },\n\t{ value: '20089985', label: '----- Porumb, altul decât porumbul dulce (Zea mays var. saccharata)' },\n\t{ value: '20089991', label: '----- Ignami, batate și părți similare comestibile de plante, cu un conținut de amidon sau de feculă egal sau mai mare de 5 % din greutate' },\n\t{ value: '20089999', label: '----- Altele' },\n\t{ value: '20090000', label: 'Sucuri de fructe (inclusiv mustul de struguri și apa de cocos) și sucuri de legume, nefermentate, fără adaos de alcool, cu sau fără adaos de zahăr sau de alți îndulcitori' },\n\t{ value: '20091100', label: '- Suc de portocale' },\n\t{ value: '20091100', label: '-- Congelate' },\n\t{ value: '20091111', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20091111', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20091119', label: '---- Altele' },\n\t{ value: '20091191', label: '--- Cu o valoare Brix de maximum 67' },\n\t{ value: '20091191', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă și cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20091199', label: '---- Altele' },\n\t{ value: '20091200', label: '-- Necongelate, cu o valoare Brix de maximum 20' },\n\t{ value: '20091900', label: '-- Altele' },\n\t{ value: '20091911', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20091911', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20091919', label: '---- Altele' },\n\t{ value: '20091991', label: '--- Cu o valoare Brix de peste 20, dar maxim 67' },\n\t{ value: '20091991', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă și cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20091998', label: '---- Altele' },\n\t{ value: '20092100', label: '- Suc de grepfrut; suc de pomelo' },\n\t{ value: '20092100', label: '-- Cu o valoare Brix de maximum 20' },\n\t{ value: '20092900', label: '-- Altele' },\n\t{ value: '20092911', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20092911', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20092919', label: '---- Altele' },\n\t{ value: '20092991', label: '--- Cu o valoare Brix de peste 20, dar maxim 67' },\n\t{ value: '20092991', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă și cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20092999', label: '---- Altele' },\n\t{ value: '20093100', label: '- Suc de orice alt singur fruct de citrice' },\n\t{ value: '20093100', label: '-- Cu o valoare Brix de maximum 20' },\n\t{ value: '20093111', label: '--- Cu o valoare de peste 30 €/100 kg greutate netă' },\n\t{ value: '20093111', label: '---- Care conțin zahăr adăugat' },\n\t{ value: '20093119', label: '---- Care nu conțin zahăr adăugat' },\n\t{ value: '20093151', label: '--- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20093151', label: '---- De lămâie' },\n\t{ value: '20093151', label: '----- Care conțin zahăr adăugat' },\n\t{ value: '20093159', label: '----- Care nu conțin zahăr adăugat' },\n\t{ value: '20093191', label: '---- Din alte citrice' },\n\t{ value: '20093191', label: '----- Care conțin zahăr adăugat' },\n\t{ value: '20093199', label: '----- Care nu conțin zahăr adăugat' },\n\t{ value: '20093900', label: '-- Altele' },\n\t{ value: '20093911', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20093911', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20093919', label: '---- Altele' },\n\t{ value: '20093931', label: '--- Cu o valoare Brix de peste 20, dar maxim 67' },\n\t{ value: '20093931', label: '---- Cu o valoare de peste 30 €/100 kg greutate netă' },\n\t{ value: '20093931', label: '----- Care conțin zahăr adăugat' },\n\t{ value: '20093939', label: '----- Care nu conțin zahăr adăugat' },\n\t{ value: '20093951', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20093951', label: '----- De lămâie' },\n\t{ value: '20093951', label: '------ Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20093955', label: '------ Cu un conținut de zahăr adăugat de maximum 30 % din greutate' },\n\t{ value: '20093959', label: '------ Care nu conțin zahăr adăugat' },\n\t{ value: '20093991', label: '----- Din alte citrice' },\n\t{ value: '20093991', label: '------ Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20093995', label: '------ Cu un conținut de zahăr adăugat de maximum 30 % din greutate' },\n\t{ value: '20093999', label: '------ Care nu conțin zahăr adăugat' },\n\t{ value: '20094100', label: '- Suc de ananas' },\n\t{ value: '20094100', label: '-- Cu o valoare Brix de maximum 20' },\n\t{ value: '20094192', label: '--- Care conțin zahăr adăugat' },\n\t{ value: '20094199', label: '--- Care nu conțin zahăr adăugat' },\n\t{ value: '20094900', label: '-- Altele' },\n\t{ value: '20094911', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20094911', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20094919', label: '---- Altele' },\n\t{ value: '20094930', label: '--- Cu o valoare Brix de peste 20, dar maxim 67' },\n\t{ value: '20094930', label: '---- Cu o valoare de peste 30 €/100 kg greutate netă, care conțin zahăr adăugat' },\n\t{ value: '20094991', label: '---- Altele' },\n\t{ value: '20094991', label: '----- Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20094993', label: '----- Cu un conținut de zahăr adăugat de maximum 30 % din greutate' },\n\t{ value: '20094999', label: '----- Care nu conțin zahăr adăugat' },\n\t{ value: '20095000', label: '- Suc de tomate' },\n\t{ value: '20095010', label: '-- Care conțin zahăr adăugat' },\n\t{ value: '20095090', label: '-- Altele' },\n\t{ value: '20096100', label: '- Suc de struguri (inclusiv must de struguri)' },\n\t{ value: '20096100', label: '-- Cu o valoare Brix de maximum 30' },\n\t{ value: '20096110', label: '--- Cu o valoare de peste 18 €/100 kg greutate netă' },\n\t{ value: '20096190', label: '--- Cu o valoare de maximum 18 €/100 kg greutate netă' },\n\t{ value: '20096900', label: '-- Altele' },\n\t{ value: '20096911', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20096911', label: '---- Cu o valoare de maximum 22 €/100 kg greutate netă' },\n\t{ value: '20096919', label: '---- Altele' },\n\t{ value: '20096951', label: '--- Cu o valoare Brix de peste 30 dar de maximum 67' },\n\t{ value: '20096951', label: '---- Cu o valoare de peste 18 €/100 kg greutate netă' },\n\t{ value: '20096951', label: '----- Concentrate' },\n\t{ value: '20096959', label: '----- Altele' },\n\t{ value: '20096971', label: '---- Cu o valoare de maximum 18 €/100 kg greutate netă' },\n\t{ value: '20096971', label: '----- Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20096971', label: '------ Concentrate' },\n\t{ value: '20096979', label: '------ Altele' },\n\t{ value: '20096990', label: '----- Altele' },\n\t{ value: '20097100', label: '- Suc de mere' },\n\t{ value: '20097100', label: '-- Cu o valoare Brix de maximum 20' },\n\t{ value: '20097120', label: '--- Care conțin zahăr adăugat' },\n\t{ value: '20097199', label: '--- Care nu conțin zahăr adăugat' },\n\t{ value: '20097900', label: '-- Altele' },\n\t{ value: '20097911', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20097911', label: '---- Cu o valoare de maximum 22 €/100 kg greutate netă' },\n\t{ value: '20097919', label: '---- Altele' },\n\t{ value: '20097930', label: '--- Cu o valoare Brix de peste 20 dar maxim 67' },\n\t{ value: '20097930', label: '---- Cu o valoare de peste 18 €/100 kg greutate netă, care conțin zahăr adăugat' },\n\t{ value: '20097991', label: '---- Altele' },\n\t{ value: '20097991', label: '----- Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20097998', label: '----- Altele' },\n\t{ value: '20098100', label: '- Suc dintr-un singur alt fruct sau fruct cu coajă lemnoasă sau dintr-o singură legumă' },\n\t{ value: '20098100', label: '-- Suc de afine roșii (Vaccinium macrocarpon, Vaccinium oxycoccos); suc de merișor (Vaccinium vitis-idaea)' },\n\t{ value: '20098111', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20098111', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20098119', label: '---- Altele' },\n\t{ value: '20098131', label: '--- Cu o valoare Brix de maximum 67' },\n\t{ value: '20098131', label: '---- Cu o valoare de peste 30 €/100 kg greutate netă, care conțin zahăr adăugat' },\n\t{ value: '20098151', label: '---- Altele' },\n\t{ value: '20098151', label: '----- Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20098159', label: '----- Cu un conținut de zahăr adăugat de maximum 30 % din greutate' },\n\t{ value: '20098195', label: '----- Care nu conțin zahăr adăugat' },\n\t{ value: '20098195', label: '------ Suc de fructe din specia Vaccinium macrocarpon' },\n\t{ value: '20098199', label: '------ Altele' },\n\t{ value: '20098900', label: '-- Altele' },\n\t{ value: '20098911', label: '--- Cu o valoare Brix de peste 67' },\n\t{ value: '20098911', label: '---- Suc de pere' },\n\t{ value: '20098911', label: '----- Cu o valoare de maximum 22 €/100 kg greutate netă' },\n\t{ value: '20098919', label: '----- Altele' },\n\t{ value: '20098934', label: '---- Altele' },\n\t{ value: '20098934', label: '----- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20098934', label: '------ Suc din fructe tropicale' },\n\t{ value: '20098935', label: '------ Altele' },\n\t{ value: '20098936', label: '----- Altele' },\n\t{ value: '20098936', label: '------ Suc din fructe tropicale' },\n\t{ value: '20098938', label: '------ Altele' },\n\t{ value: '20098950', label: '--- Cu o valoare Brix de maximum 67' },\n\t{ value: '20098950', label: '---- Suc de pere' },\n\t{ value: '20098950', label: '----- Cu o valoare de peste 18 €/100 kg greutate netă, care conțin zahăr adăugat' },\n\t{ value: '20098961', label: '----- Altele' },\n\t{ value: '20098961', label: '------ Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20098963', label: '------ Cu un conținut de zahăr adăugat de maximum 30 % din greutate' },\n\t{ value: '20098969', label: '------ Care nu conțin zahăr adăugat' },\n\t{ value: '20098971', label: '---- Altele' },\n\t{ value: '20098971', label: '----- Cu o valoare de peste 30 €/100 kg greutate netă, care conțin zahăr adăugat' },\n\t{ value: '20098971', label: '------ Suc de cireșe sau de vișine' },\n\t{ value: '20098973', label: '------ Suc din fructe tropicale' },\n\t{ value: '20098979', label: '------ Altele' },\n\t{ value: '20098985', label: '----- Altele' },\n\t{ value: '20098985', label: '------ Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20098985', label: '------- Suc din fructe tropicale' },\n\t{ value: '20098986', label: '------- Altele' },\n\t{ value: '20098988', label: '------ Cu un conținut de zahăr adăugat de maximum 30 % din greutate' },\n\t{ value: '20098988', label: '------- Suc din fructe tropicale' },\n\t{ value: '20098989', label: '------- Altele' },\n\t{ value: '20098996', label: '------ Care nu conțin zahăr adăugat' },\n\t{ value: '20098996', label: '------- Suc de cireșe sau de vișine' },\n\t{ value: '20098997', label: '------- Suc din fructe tropicale' },\n\t{ value: '20098999', label: '------- Altele' },\n\t{ value: '20099000', label: '- Amestecuri de sucuri' },\n\t{ value: '20099011', label: '-- Cu o valoare Brix de peste 67' },\n\t{ value: '20099011', label: '--- Amestecuri de suc de mere și de pere' },\n\t{ value: '20099011', label: '---- Cu o valoare de maximum 22 €/100 kg greutate netă' },\n\t{ value: '20099019', label: '---- Altele' },\n\t{ value: '20099021', label: '--- Altele' },\n\t{ value: '20099021', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20099029', label: '---- Altele' },\n\t{ value: '20099031', label: '-- Cu o valoare Brix de maximum 67' },\n\t{ value: '20099031', label: '--- Amestecuri de suc de mere și de pere' },\n\t{ value: '20099031', label: '---- De o valoare de maximum 18 €/100 kg greutate netă și cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20099039', label: '---- Altele' },\n\t{ value: '20099041', label: '--- Altele' },\n\t{ value: '20099041', label: '---- Cu o valoare de peste 30 €/100 kg greutate netă' },\n\t{ value: '20099041', label: '----- Amestecuri de suc de citrice și suc de ananas' },\n\t{ value: '20099041', label: '------ Care conțin zahăr adăugat' },\n\t{ value: '20099049', label: '------ Altele' },\n\t{ value: '20099051', label: '----- Altele' },\n\t{ value: '20099051', label: '------ Care conțin zahăr adăugat' },\n\t{ value: '20099059', label: '------ Altele' },\n\t{ value: '20099071', label: '---- Cu o valoare de maximum 30 €/100 kg greutate netă' },\n\t{ value: '20099071', label: '----- Amestecuri de suc de citrice și suc de ananas' },\n\t{ value: '20099071', label: '------ Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20099073', label: '------ Cu un conținut de zahăr adăugat de maximum 30 % din greutate' },\n\t{ value: '20099079', label: '------ Care nu conțin zahăr adăugat' },\n\t{ value: '20099092', label: '----- Altele' },\n\t{ value: '20099092', label: '------ Cu un conținut de zahăr adăugat de peste 30 % din greutate' },\n\t{ value: '20099092', label: '------- Amestecuri de sucuri de fructe tropicale' },\n\t{ value: '20099094', label: '------- Altele' },\n\t{ value: '20099095', label: '------ Cu un conținut de zahăr adăugat de maximum 30 % din greutate' },\n\t{ value: '20099095', label: '------- Amestecuri de sucuri de fructe tropicale' },\n\t{ value: '20099096', label: '------- Altele' },\n\t{ value: '20099097', label: '------ Care nu conțin zahăr adăugat' },\n\t{ value: '20099097', label: '------- Amestecuri de sucuri de fructe tropicale' },\n\t{ value: '20099098', label: '------- Altele' },\n\t{ value: '21000000', label: 'PREPARATE ALIMENTARE DIVERSE' },\n\t{ value: '21010000', label: 'Extracte, esențe și concentrate de cafea, de ceai sau de mate și preparate pe bază de aceste produse sau pe bază de cafea, de ceai sau de maté; cicoare prăjită și alți înlocuitori prăjiți de cafea și extractele, esențele și concentratele acestora' },\n\t{ value: '21011100', label: '- Extracte, esențe și concentrate de cafea și preparate pe baza acestor extracte, esențe sau concentrate sau pe bază de cafea' },\n\t{ value: '21011100', label: '-- Extracte, esențe și concentrate' },\n\t{ value: '21011200', label: '-- Preparate pe bază de extracte, de esențe sau de concentrate sau pe bază de cafea' },\n\t{ value: '21011292', label: '--- Preparate pe bază de extracte, esențe sau concentrate de cafea' },\n\t{ value: '21011298', label: '--- Altele' },\n\t{ value: '21012000', label: '- Extracte, esențe și concentrate de ceai sau de maté și preparate pe baza acestor extracte, esențe sau concentrate sau pe bază de ceai sau de maté' },\n\t{ value: '21012020', label: '-- Extracte, esențe și concentrate' },\n\t{ value: '21012092', label: '-- Preparate' },\n\t{ value: '21012092', label: '--- Pe bază de extracte, esențe sau concentrate de ceai sau de maté' },\n\t{ value: '21012098', label: '--- Altele' },\n\t{ value: '21013000', label: '- Cicoare prăjită și alți înlocuitori prăjiți de cafea și extractele, esențele și concentratele lor' },\n\t{ value: '21013011', label: '-- Cicoare prăjită și alți înlocuitori prăjiți de cafea' },\n\t{ value: '21013011', label: '--- Cicoare prăjită' },\n\t{ value: '21013019', label: '--- Altele' },\n\t{ value: '21013091', label: '-- Extracte, esențe și concentrate de cicoare prăjită și de alți înlocuitori prăjiți de cafea' },\n\t{ value: '21013091', label: '--- De cicoare prăjită' },\n\t{ value: '21013099', label: '--- Altele' },\n\t{ value: '21020000', label: 'Drojdii (active sau inactive); alte microorganisme monocelulare moarte (cu excepția vaccinurilor de la poziția 3002); praf de copt preparat' },\n\t{ value: '21021000', label: '- Drojdii active' },\n\t{ value: '21021010', label: '-- Drojdii de cultură' },\n\t{ value: '21021031', label: '-- Drojdii pentru panificație' },\n\t{ value: '21021031', label: '--- Uscate' },\n\t{ value: '21021039', label: '--- Altele' },\n\t{ value: '21021090', label: '-- Altele' },\n\t{ value: '21022000', label: '- Drojdii inactive; alte microorganisme monocelulare moarte' },\n\t{ value: '21022011', label: '-- Drojdii inactive' },\n\t{ value: '21022011', label: '--- În tablete, cuburi sau în alte forme similare, sau în ambalaje directe cu un conținut net de maximum 1 kg' },\n\t{ value: '21022019', label: '--- Altele' },\n\t{ value: '21022090', label: '-- Altele' },\n\t{ value: '21023000', label: '- Praf de copt preparat' },\n\t{ value: '21030000', label: 'Preparate pentru sosuri și sosuri preparate; condimente și produse de asezonare, amestecate; făină și pudră de muștar și muștar preparat' },\n\t{ value: '21031000', label: '- Sos de soia' },\n\t{ value: '21032000', label: '- Ketchup și alte sosuri, de tomate' },\n\t{ value: '21033000', label: '- Făină și pudră de muștar și muștar preparat' },\n\t{ value: '21033010', label: '-- Făină și pudră de muștar' },\n\t{ value: '21033090', label: '-- Muștar preparat' },\n\t{ value: '21039000', label: '- Altele' },\n\t{ value: '21039010', label: '-- Chutney (condimente) de mango, lichide' },\n\t{ value: '21039030', label: '-- Biter aromat, cu un titru alcoolic volumic de minimum 44,2 % vol și de maximum 49,2 % vol, cu un conținut de gențiană, mirodenii și ingrediente diverse de la 1,5 % până la 6 % din greutate, cu un conținut de zahăr de la 4 % până la 10 % și prezentat în recipiente cu un conținut de maximum 0,50 l' },\n\t{ value: '21039090', label: '-- Altele' },\n\t{ value: '21040000', label: 'Preparate pentru supe, ciorbe sau supe cremă; supe, ciorbe sau supe cremă preparate; preparate alimentare compuse omogenizate' },\n\t{ value: '21041000', label: '- Preparate pentru supe, ciorbe sau supe cremă; supe, ciorbe sau supe cremă preparate' },\n\t{ value: '21042000', label: '- Preparate alimentare compuse omogenizate' },\n\t{ value: '21050000', label: 'Înghețate și alte produse similare sub formă de înghețată, comestibile, cu sau fără cacao' },\n\t{ value: '21050010', label: '- Care nu conțin grăsimi din lapte sau conțin sub 3 % din greutate grăsimi din lapte' },\n\t{ value: '21050091', label: '- Cu un conținut de grăsimi din lapte' },\n\t{ value: '21050091', label: '-- De minimum 3 %, dar sub 7 %' },\n\t{ value: '21050099', label: '-- De minimum 7 %' },\n\t{ value: '21060000', label: 'Preparate alimentare nedenumite și necuprinse în altă parte' },\n\t{ value: '21061000', label: '- Concentrate de proteine și substanțe proteice texturate' },\n\t{ value: '21061020', label: '-- Care nu conțin grăsimi din lapte, zaharoză, izoglucoză, glucoză, amidon sau fecule sau conțin sub 1,5 % grăsimi din lapte, sub 5 % zaharoză sau izoglucoză, sub 5 % glucoză, amidon sau fecule' },\n\t{ value: '21061080', label: '-- Altele' },\n\t{ value: '21069000', label: '- Altele' },\n\t{ value: '21069020', label: '-- Preparate alcoolice compuse, altele decât cele pe bază de substanțe odorifiante, de tipul celor utilizate pentru fabricarea băuturilor' },\n\t{ value: '21069030', label: '-- Siropuri de zahăr, aromatizate sau cu adaos de coloranți' },\n\t{ value: '21069030', label: '--- De izoglucoză' },\n\t{ value: '21069051', label: '--- Altele' },\n\t{ value: '21069051', label: '---- De lactoză' },\n\t{ value: '21069055', label: '---- De glucoză sau de maltodextrine' },\n\t{ value: '21069059', label: '---- Altele' },\n\t{ value: '21069092', label: '-- Altele' },\n\t{ value: '21069092', label: '--- Care nu conțin grăsimi din lapte, zaharoză, izoglucoză, glucoză, amidon, sau fecule sau conțin sub 1,5 % grăsimi din lapte, sub 5 % zaharoză sau izoglucoză, sub 5 % glucoză, amidon sau fecule' },\n\t{ value: '21069098', label: '--- Altele' },\n\t{ value: '22000000', label: 'BĂUTURI, LICHIDE ALCOOLICE ȘI OȚET' },\n\t{ value: '22010000', label: 'Ape, inclusiv ape minerale naturale sau artificiale și ape gazeificate care nu conțin zahăr sau alți îndulcitori și nici aromatizanți; gheața și zăpada' },\n\t{ value: '22011000', label: '- Ape minerale și ape gazeificate' },\n\t{ value: '22011011', label: '-- Ape minerale naturale' },\n\t{ value: '22011011', label: '--- Fără dioxid de carbon' },\n\t{ value: '22011019', label: '--- Altele' },\n\t{ value: '22011090', label: '-- Altele' },\n\t{ value: '22019000', label: '- Altele' },\n\t{ value: '22020000', label: 'Ape, inclusiv ape minerale și ape gazeificate, care conțin adaos de zahăr sau de alți îndulcitori sau aromatizate și alte băuturi nealcoolice, cu excepția sucurilor de fructe, fructe cu coajă lemnoasă sau de legume de la poziția 2009' },\n\t{ value: '22021000', label: '- Ape, inclusiv ape minerale și ape gazeificate, care conțin zahăr sau alți îndulcitori sau aromatizate' },\n\t{ value: '22029100', label: '- Altele' },\n\t{ value: '22029100', label: '-- Bere fără alcool' },\n\t{ value: '22029900', label: '-- Altele' },\n\t{ value: '22029911', label: '--- Care nu conțin produse de la pozițiile 0401-0404 sau grăsimi obținute din produse de la pozițiile 0401-0404' },\n\t{ value: '22029911', label: '---- Băuturi pe bază de soia cu un conținut de proteine de minimum 2,8 % din greutate' },\n\t{ value: '22029915', label: '---- Băuturi pe bază de soia cu un conținut de proteine mai mic de 2,8 % din greutate; băuturi pe bază de fructe cu coajă lemnoasă de la capitolul 08, cereale de la capitolul 10 sau semințe de la capitolul 12' },\n\t{ value: '22029919', label: '---- Altele' },\n\t{ value: '22029991', label: '--- Altele, cu un conținut de grăsimi provenite din produse de la pozițiile 0401-0404' },\n\t{ value: '22029991', label: '---- Sub 0,2 % din greutate' },\n\t{ value: '22029995', label: '---- De minimum 0,2 % dar sub 2 %' },\n\t{ value: '22029999', label: '---- De minimum 2 %' },\n\t{ value: '22030000', label: 'Bere fabricată din malț' },\n\t{ value: '22030001', label: '- Prezentate în recipiente cu un conținut de maximum 10 l' },\n\t{ value: '22030001', label: '-- În recipiente sub formă de sticlă' },\n\t{ value: '22030009', label: '-- Altele' },\n\t{ value: '22030010', label: '- Prezentate în recipiente cu un conținut de peste 10 l' },\n\t{ value: '22040000', label: 'Vinuri din struguri proaspeți, inclusiv vinurile îmbogățite cu alcool; musturi de struguri, altele decât cele de la poziția 2009' },\n\t{ value: '22041000', label: '- Vinuri spumoase' },\n\t{ value: '22041011', label: '-- Vinuri cu denumire de origine protejată (DOP)' },\n\t{ value: '22041011', label: '--- Șampanie' },\n\t{ value: '22041013', label: '--- Cava' },\n\t{ value: '22041015', label: '--- Prosecco' },\n\t{ value: '22041091', label: '--- Asti spumante' },\n\t{ value: '22041093', label: '--- Altele' },\n\t{ value: '22041094', label: '-- Vinuri cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22041096', label: '-- Alte vinuri din soiuri' },\n\t{ value: '22041098', label: '-- Altele' },\n\t{ value: '22042100', label: '- Alte vinuri; musturi de struguri a căror fermentație a fost împiedicată sau întreruptă prin adaos de alcool' },\n\t{ value: '22042100', label: '-- Prezentate în recipiente cu un conținut de maximum 2 l' },\n\t{ value: '22042106', label: '--- Vinuri, altele decât cele de la subpoziția 2204 10, prezentate în sticle închise cu dopuri tip \"ciupercă\", fixate cu ajutorul clemelor sau legăturilor; vinuri, altfel prezentate, care au la temperatura de 20 °C o suprapresiune datorată anhidridei carbonice în soluție de minimum 1 bar dar sub 3 bari' },\n\t{ value: '22042106', label: '---- Vinuri cu denumire de origine protejată (DOP)' },\n\t{ value: '22042107', label: '---- Vinuri cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042108', label: '---- Alte vinuri din soiuri' },\n\t{ value: '22042109', label: '---- Altele' },\n\t{ value: '22042111', label: '--- Altele' },\n\t{ value: '22042111', label: '---- Produse în Uniunea Europeană' },\n\t{ value: '22042111', label: '----- Cu un titru alcoolic volumic existent de maximum 15 % vol' },\n\t{ value: '22042111', label: '------ Vinuri cu denumire de origine protejată (DOP)' },\n\t{ value: '22042111', label: '------- Vinuri albe' },\n\t{ value: '22042111', label: '-------- Alsace' },\n\t{ value: '22042112', label: '-------- Bordeaux' },\n\t{ value: '22042113', label: '-------- Bourgogne' },\n\t{ value: '22042117', label: '-------- Val de Loire' },\n\t{ value: '22042118', label: '-------- Mosel' },\n\t{ value: '22042119', label: '-------- Pfalz (Palatinat)' },\n\t{ value: '22042122', label: '-------- Rheinhessen (Hesse rhenane)' },\n\t{ value: '22042123', label: '-------- Tokay' },\n\t{ value: '22042124', label: '-------- Lazio (Latium)' },\n\t{ value: '22042126', label: '-------- Toscana (Toscane)' },\n\t{ value: '22042127', label: '-------- Trentino, Alto Adige și Friuli' },\n\t{ value: '22042128', label: '-------- Veneto' },\n\t{ value: '22042131', label: '-------- Sicilia' },\n\t{ value: '22042132', label: '-------- Vinho Verde' },\n\t{ value: '22042134', label: '-------- Penedés' },\n\t{ value: '22042136', label: '-------- Rioja' },\n\t{ value: '22042137', label: '-------- Valencia' },\n\t{ value: '22042138', label: '-------- Altele' },\n\t{ value: '22042142', label: '------- Altele' },\n\t{ value: '22042142', label: '-------- Bordeaux' },\n\t{ value: '22042143', label: '-------- Bourgogne' },\n\t{ value: '22042144', label: '-------- Beaujolais' },\n\t{ value: '22042146', label: '-------- Vallée du Rhône' },\n\t{ value: '22042147', label: '-------- Languedoc-Roussillon' },\n\t{ value: '22042148', label: '-------- Val de Loire' },\n\t{ value: '22042161', label: '-------- Sicilia' },\n\t{ value: '22042162', label: '-------- Piemonte (Piemont)' },\n\t{ value: '22042166', label: '-------- Toscana (Toscane)' },\n\t{ value: '22042167', label: '-------- Trentino și Alto Adige' },\n\t{ value: '22042168', label: '-------- Veneto' },\n\t{ value: '22042169', label: '-------- Dão, Bairrada și Douro' },\n\t{ value: '22042171', label: '-------- Navarra' },\n\t{ value: '22042174', label: '-------- Penedés' },\n\t{ value: '22042176', label: '-------- Rioja' },\n\t{ value: '22042177', label: '-------- Valdepeñas' },\n\t{ value: '22042178', label: '-------- Altele' },\n\t{ value: '22042179', label: '------ Vinuri cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042179', label: '------- Vinuri albe' },\n\t{ value: '22042180', label: '------- Altele' },\n\t{ value: '22042181', label: '------ Alte vinuri din soiuri' },\n\t{ value: '22042181', label: '------- Vinuri albe' },\n\t{ value: '22042182', label: '------- Altele' },\n\t{ value: '22042183', label: '------ Altele' },\n\t{ value: '22042183', label: '------- Vinuri albe' },\n\t{ value: '22042184', label: '------- Altele' },\n\t{ value: '22042185', label: '----- Cu titru alcoolic volumic existent de peste 15 % vol' },\n\t{ value: '22042185', label: '------ Vinuri cu denumire de origine protejată (DOP) sau cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042185', label: '------- Madeira și muscatel de Setubal' },\n\t{ value: '22042186', label: '------- Xeres' },\n\t{ value: '22042187', label: '------- Marsala' },\n\t{ value: '22042188', label: '------- Samos și muscat de Lemnos' },\n\t{ value: '22042189', label: '------- Porto' },\n\t{ value: '22042190', label: '------- Altele' },\n\t{ value: '22042191', label: '------ Altele' },\n\t{ value: '22042193', label: '---- Altele' },\n\t{ value: '22042193', label: '----- Vinuri cu denumire de origine protejată (DOP) sau cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042193', label: '------ Vinuri albe' },\n\t{ value: '22042194', label: '------ Altele' },\n\t{ value: '22042195', label: '----- Alte vinuri din soiuri' },\n\t{ value: '22042195', label: '------ Vinuri albe' },\n\t{ value: '22042196', label: '------ Altele' },\n\t{ value: '22042197', label: '----- Altele' },\n\t{ value: '22042197', label: '------ Vinuri albe' },\n\t{ value: '22042198', label: '------ Altele' },\n\t{ value: '22042200', label: '-- În recipiente cu un conținut mai mare de 2 l dar de maximum 10 l' },\n\t{ value: '22042210', label: '--- Vinuri, altele decât cele de la subpoziția 2204 10, prezentate în sticle închise cu dopuri tip \"ciupercă\", fixate cu ajutorul clemelor sau legăturilor; vinuri, altfel prezentate, care au la temperatura de 20 °C o suprapresiune datorată anhidridei carbonice în soluție de minimum 1 bar dar sub 3 bari' },\n\t{ value: '22042222', label: '--- Altele' },\n\t{ value: '22042222', label: '---- Produse în Uniunea Europeană' },\n\t{ value: '22042222', label: '----- Cu un titru alcoolic volumic existent de maximum 15 % vol' },\n\t{ value: '22042222', label: '------ Vinuri cu denumire de origine protejată (DOP)' },\n\t{ value: '22042222', label: '------- Bordeaux' },\n\t{ value: '22042223', label: '------- Bourgogne' },\n\t{ value: '22042224', label: '------- Beaujolais' },\n\t{ value: '22042226', label: '------- Vallée du Rhône' },\n\t{ value: '22042227', label: '------- Languedoc-Roussillon' },\n\t{ value: '22042228', label: '------- Val de Loire' },\n\t{ value: '22042232', label: '------- Piemonte (Piemont)' },\n\t{ value: '22042233', label: '------- Tokay' },\n\t{ value: '22042238', label: '------- Altele' },\n\t{ value: '22042238', label: '-------- Vinuri albe' },\n\t{ value: '22042278', label: '-------- Altele' },\n\t{ value: '22042279', label: '------ Vinuri cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042279', label: '------- Vinuri albe' },\n\t{ value: '22042280', label: '------- Altele' },\n\t{ value: '22042281', label: '------ Alte vinuri din soiuri' },\n\t{ value: '22042281', label: '------- Vinuri albe' },\n\t{ value: '22042282', label: '------- Altele' },\n\t{ value: '22042283', label: '------ Altele' },\n\t{ value: '22042283', label: '------- Vinuri albe' },\n\t{ value: '22042284', label: '------- Altele' },\n\t{ value: '22042285', label: '----- Cu titru alcoolic volumic existent de peste 15 % vol' },\n\t{ value: '22042285', label: '------ Vinuri cu denumire de origine protejată (DOP) sau cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042285', label: '------- Madeira și muscatel de Setubal' },\n\t{ value: '22042286', label: '------- Xeres' },\n\t{ value: '22042288', label: '------- Samos și muscat de Lemnos' },\n\t{ value: '22042290', label: '------- Altele' },\n\t{ value: '22042291', label: '------ Altele' },\n\t{ value: '22042293', label: '---- Altele' },\n\t{ value: '22042293', label: '----- Vinuri cu denumire de origine protejată (DOP) sau cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042293', label: '------ Vinuri albe' },\n\t{ value: '22042294', label: '------ Altele' },\n\t{ value: '22042295', label: '----- Alte vinuri din soiuri' },\n\t{ value: '22042295', label: '------ Vinuri albe' },\n\t{ value: '22042296', label: '------ Altele' },\n\t{ value: '22042297', label: '----- Altele' },\n\t{ value: '22042297', label: '------ Vinuri albe' },\n\t{ value: '22042298', label: '------ Altele' },\n\t{ value: '22042900', label: '-- Altele' },\n\t{ value: '22042910', label: '--- Vinuri, altele decât cele de la subpoziția 2204 10, prezentate în sticle închise cu dopuri tip \"ciupercă\", fixate cu ajutorul clemelor sau legăturilor; vinuri, altfel prezentate, care au la temperatura de 20 °C o suprapresiune datorată anhidridei carbonice în soluție de minimum 1 bar dar sub 3 bari' },\n\t{ value: '22042922', label: '--- Altele' },\n\t{ value: '22042922', label: '---- Produse în Uniunea Europeană' },\n\t{ value: '22042922', label: '----- Cu un titru alcoolic volumic existent de maximum 15 % vol' },\n\t{ value: '22042922', label: '------ Vinuri cu denumire de origine protejată (DOP)' },\n\t{ value: '22042922', label: '------- Bordeaux' },\n\t{ value: '22042923', label: '------- Bourgogne' },\n\t{ value: '22042924', label: '------- Beaujolais' },\n\t{ value: '22042926', label: '------- Vallée du Rhône' },\n\t{ value: '22042927', label: '------- Languedoc-Roussillon' },\n\t{ value: '22042928', label: '------- Val de Loire' },\n\t{ value: '22042932', label: '------- Piemonte (Piemont)' },\n\t{ value: '22042938', label: '------- Altele' },\n\t{ value: '22042938', label: '-------- Vinuri albe' },\n\t{ value: '22042978', label: '-------- Altele' },\n\t{ value: '22042979', label: '------ Vinuri cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042979', label: '------- Vinuri albe' },\n\t{ value: '22042980', label: '------- Altele' },\n\t{ value: '22042981', label: '------ Alte vinuri din soiuri' },\n\t{ value: '22042981', label: '------- Vinuri albe' },\n\t{ value: '22042982', label: '------- Altele' },\n\t{ value: '22042983', label: '------ Altele' },\n\t{ value: '22042983', label: '------- Vinuri albe' },\n\t{ value: '22042984', label: '------- Altele' },\n\t{ value: '22042985', label: '----- Cu titru alcoolic volumic existent de peste 15 % vol' },\n\t{ value: '22042985', label: '------ Vinuri cu denumire de origine protejată (DOP) sau cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042985', label: '------- Madeira și muscatel de Setubal' },\n\t{ value: '22042986', label: '------- Xeres' },\n\t{ value: '22042988', label: '------- Samos și muscat de Lemnos' },\n\t{ value: '22042990', label: '------- Altele' },\n\t{ value: '22042991', label: '------ Altele' },\n\t{ value: '22042993', label: '---- Altele' },\n\t{ value: '22042993', label: '----- Vinuri cu denumire de origine protejată (DOP) sau cu indicaţie geografică protejată (IGP)' },\n\t{ value: '22042993', label: '------ Vinuri albe' },\n\t{ value: '22042994', label: '------ Altele' },\n\t{ value: '22042995', label: '----- Alte vinuri din soiuri' },\n\t{ value: '22042995', label: '------ Vinuri albe' },\n\t{ value: '22042996', label: '------ Altele' },\n\t{ value: '22042997', label: '----- Altele' },\n\t{ value: '22042997', label: '------ Vinuri albe' },\n\t{ value: '22042998', label: '------ Altele' },\n\t{ value: '22043000', label: '- Alte musturi de struguri' },\n\t{ value: '22043010', label: '-- Parțial fermentate, sau a căror fermentație a fost oprită altfel decât cu adaos de alcool' },\n\t{ value: '22043092', label: '-- Altele' },\n\t{ value: '22043092', label: '--- Cu densitatea de maximum 1,33 g/cm3 la 20 °C și cu titru alcoolic volumic existent de maximum 1 % vol' },\n\t{ value: '22043092', label: '---- Concentrate' },\n\t{ value: '22043094', label: '---- Altele' },\n\t{ value: '22043096', label: '--- Altele' },\n\t{ value: '22043096', label: '---- Concentrate' },\n\t{ value: '22043098', label: '---- Altele' },\n\t{ value: '22050000', label: 'Vermuturi și alte vinuri din struguri proaspeți, aromatizate cu plante sau substanțe aromatice' },\n\t{ value: '22051000', label: '- Prezentate în recipiente cu un conținut de maximum 2 l' },\n\t{ value: '22051010', label: '-- Cu titru alcoolic volumic existent de maximum 18 % vol' },\n\t{ value: '22051090', label: '-- Cu titru alcoolic volumic existent de peste 18 % vol' },\n\t{ value: '22059000', label: '- Altele' },\n\t{ value: '22059010', label: '-- Cu titru alcoolic volumic existent de maximum 18 % vol' },\n\t{ value: '22059090', label: '-- Cu titru alcoolic volumic existent de peste 18 % vol' },\n\t{ value: '22060000', label: 'Alte băuturi fermentate (de exemplu cidru de mere, cidru de pere, hidromel, saké); amestecuri de băuturi fermentate și amestecuri de băuturi fermentate și băuturi nealcoolice, nedenumite și necuprinse în altă parte' },\n\t{ value: '22060010', label: '- Piquette' },\n\t{ value: '22060031', label: '- Altele' },\n\t{ value: '22060031', label: '-- Spumoase' },\n\t{ value: '22060031', label: '--- Cidru de mere și de pere' },\n\t{ value: '22060039', label: '--- Altele' },\n\t{ value: '22060051', label: '-- Nespumoase, prezentate în recipiente cu un conținut' },\n\t{ value: '22060051', label: '--- De maximum 2 l' },\n\t{ value: '22060051', label: '---- Cidru de mere și cidru de pere' },\n\t{ value: '22060059', label: '---- Altele' },\n\t{ value: '22060081', label: '--- De peste 2 l' },\n\t{ value: '22060081', label: '---- Cidru de mere și cidru de pere' },\n\t{ value: '22060089', label: '---- Altele' },\n\t{ value: '22070000', label: 'Alcool etilic nedenaturat cu titru alcoolic volumic de minimum 80 % vol; alcool etilic și alte distilate denaturate, cu orice titru' },\n\t{ value: '22071000', label: '- Alcool etilic nedenaturat cu titru alcoolic volumic de minim 80 % vol' },\n\t{ value: '22072000', label: '- Alcool etilic denaturat și alte distilate denaturate, cu orice titru' },\n\t{ value: '22080000', label: 'Alcool etilic nedenaturat cu titru alcoolic volumic sub 80 % vol; distilate, rachiuri, lichioruri și alte băuturi spirtoase' },\n\t{ value: '22082000', label: '- Distilat de vin sau de tescovină de struguri' },\n\t{ value: '22082012', label: '-- Prezentate în recipiente cu un conținut de maximum 2 l' },\n\t{ value: '22082012', label: '--- Obținute prin distilarea vinului de struguri' },\n\t{ value: '22082012', label: '---- Coniac' },\n\t{ value: '22082014', label: '---- Armaniac' },\n\t{ value: '22082016', label: '---- Brandy sau Weinbrand' },\n\t{ value: '22082016', label: '----- Brandy de Jerez' },\n\t{ value: '22082018', label: '----- Altele' },\n\t{ value: '22082019', label: '---- Altele' },\n\t{ value: '22082026', label: '--- Obținute prin distilarea tescovinei de struguri' },\n\t{ value: '22082026', label: '---- Grappa' },\n\t{ value: '22082028', label: '---- Altele' },\n\t{ value: '22082062', label: '-- Prezentate în recipiente cu un conținut de peste 2 l' },\n\t{ value: '22082062', label: '--- Obținute prin distilarea vinului de struguri' },\n\t{ value: '22082062', label: '---- Coniac' },\n\t{ value: '22082066', label: '---- Brandy sau Weinbrand' },\n\t{ value: '22082069', label: '---- Altele' },\n\t{ value: '22082086', label: '--- Obținute prin distilarea tescovinei de struguri' },\n\t{ value: '22082086', label: '---- Grappa' },\n\t{ value: '22082088', label: '---- Altele' },\n\t{ value: '22083000', label: '- Whisky' },\n\t{ value: '22083011', label: '-- Whisky \"bourbon\", prezentat în recipiente cu un conținut' },\n\t{ value: '22083011', label: '--- De maximum 2 l' },\n\t{ value: '22083019', label: '--- De peste 2 l' },\n\t{ value: '22083030', label: '-- Whisky scoțian (scotch whisky)' },\n\t{ value: '22083030', label: '--- Whisky \"single malt\"' },\n\t{ value: '22083041', label: '--- Whisky \"blended malt\", prezentat în recipiente cu un conținut' },\n\t{ value: '22083041', label: '---- De maximum 2 l' },\n\t{ value: '22083049', label: '---- De peste 2 l' },\n\t{ value: '22083061', label: '--- Whisky \"single grain\" şi whisky \"blended grain\", prezentat în recipiente cu un conținut' },\n\t{ value: '22083061', label: '---- De maximum 2 l' },\n\t{ value: '22083069', label: '---- De peste 2 l' },\n\t{ value: '22083071', label: '--- Alte tipuri de whisky \"blended\" prezentat în recipiente cu un conținut' },\n\t{ value: '22083071', label: '---- De maximum 2 l' },\n\t{ value: '22083079', label: '---- De peste 2 l' },\n\t{ value: '22083082', label: '-- Altele, prezentate în recipiente cu un conținut' },\n\t{ value: '22083082', label: '--- De maximum 2 l' },\n\t{ value: '22083088', label: '--- De peste 2 l' },\n\t{ value: '22084000', label: '- Rom și alte rachiuri obținute prin distilare, după fermentarea produselor din trestie de zahăr' },\n\t{ value: '22084011', label: '-- Prezentate în recipiente cu un conținut de maximum 2 l' },\n\t{ value: '22084011', label: '--- Rom cu un conținut de substanțe volatile altele decât alcool etilic și metilic egal sau mai mare de 225 g per hectolitru de alcool pur (cu o toleranță de 10 %)' },\n\t{ value: '22084031', label: '--- Altele' },\n\t{ value: '22084031', label: '---- Cu o valoare de peste 7,9 € per litru de alcool pur' },\n\t{ value: '22084039', label: '---- Altele' },\n\t{ value: '22084051', label: '-- Prezentate în recipiente cu un conținut de peste 2 l' },\n\t{ value: '22084051', label: '--- Rom cu un conținut de substanțe volatile altele decât alcool etilic și metilic egal sau mai mare de 225 g per hectolitru de alcool pur (cu o toleranță de 10 %)' },\n\t{ value: '22084091', label: '--- Altele' },\n\t{ value: '22084091', label: '---- Cu o valoare de peste 2 € per litru de alcool pur' },\n\t{ value: '22084099', label: '---- Altele' },\n\t{ value: '22085000', label: '- Gin și rachiu de ienupăr' },\n\t{ value: '22085011', label: '-- Gin, prezentat în recipiente cu un conținut' },\n\t{ value: '22085011', label: '--- De maximum 2 l' },\n\t{ value: '22085019', label: '--- De peste 2 l' },\n\t{ value: '22085091', label: '-- Rachiu de ienupăr, prezentat în recipiente cu un conținut' },\n\t{ value: '22085091', label: '--- De maximum 2 l' },\n\t{ value: '22085099', label: '--- De peste 2 l' },\n\t{ value: '22086000', label: '- Votcă' },\n\t{ value: '22086011', label: '-- Cu titru alcoolic volumic de maximum 45,4 % vol, prezentată în recipiente cu un conținut' },\n\t{ value: '22086011', label: '--- De maximum 2 l' },\n\t{ value: '22086019', label: '--- De peste 2 l' },\n\t{ value: '22086091', label: '-- Cu titru alcoolic volumic de peste 45,4 % vol, prezentată în recipiente cu un conținut' },\n\t{ value: '22086091', label: '--- De maximum 2 l' },\n\t{ value: '22086099', label: '--- De peste 2 l' },\n\t{ value: '22087000', label: '- Lichioruri' },\n\t{ value: '22087010', label: '-- Prezentate în recipiente cu un conținut de maximum 2 l' },\n\t{ value: '22087090', label: '-- Prezentate în recipiente cu un conținut de peste 2 l' },\n\t{ value: '22089000', label: '- Altele' },\n\t{ value: '22089011', label: '-- Arak, prezentat în recipiente cu un conținut' },\n\t{ value: '22089011', label: '--- De maximum 2 l' },\n\t{ value: '22089019', label: '--- De peste 2 l' },\n\t{ value: '22089033', label: '-- Rachiu obținut din prune, pere, cireșe sau vișine (excluzând lichiorurile), prezentat în recipiente cu un conținut' },\n\t{ value: '22089033', label: '--- De maximum 2 l' },\n\t{ value: '22089038', label: '--- De peste 2 l' },\n\t{ value: '22089041', label: '-- Alte rachiuri și alte băuturi spirtoase, prezentate în recipiente cu un conținut' },\n\t{ value: '22089041', label: '--- De maximum 2 l' },\n\t{ value: '22089041', label: '---- Uzo' },\n\t{ value: '22089045', label: '---- Altele' },\n\t{ value: '22089045', label: '----- Rachiuri (excluzând lichiorurile)' },\n\t{ value: '22089045', label: '------ Distilate din fructe' },\n\t{ value: '22089045', label: '------- Calvados' },\n\t{ value: '22089048', label: '------- Altele' },\n\t{ value: '22089054', label: '------ Altele' },\n\t{ value: '22089054', label: '------- Tequila' },\n\t{ value: '22089056', label: '------- Altele' },\n\t{ value: '22089069', label: '----- Alte băuturi spirtoase' },\n\t{ value: '22089071', label: '--- De peste 2 l' },\n\t{ value: '22089071', label: '---- Rachiuri (excluzând lichiorurile)' },\n\t{ value: '22089071', label: '----- Din fructe' },\n\t{ value: '22089075', label: '----- Tequila' },\n\t{ value: '22089077', label: '----- Altele' },\n\t{ value: '22089078', label: '---- Alte băuturi spirtoase' },\n\t{ value: '22089091', label: '-- Alcool etilic nedenaturat cu titru alcoolic volumic sub 80 % vol, prezentat în recipiente cu un conținut' },\n\t{ value: '22089091', label: '--- De maximum 2 l' },\n\t{ value: '22089099', label: '--- De peste 2 l' },\n\t{ value: '22090000', label: 'Oțet comestibil și înlocuitori de oțet comestibil obținuți din acid acetic' },\n\t{ value: '22090011', label: '- Oțet de vin, prezentat în recipiente cu un conținut' },\n\t{ value: '22090011', label: '-- De maximum 2 l' },\n\t{ value: '22090019', label: '-- De peste 2 l' },\n\t{ value: '22090091', label: '- Altele, prezentate în recipiente cu un conținut' },\n\t{ value: '22090091', label: '-- De maximum 2 l' },\n\t{ value: '22090099', label: '-- De peste 2 l' },\n\t{ value: '23000000', label: 'REZIDUURI ȘI DEȘEURI ALE INDUSTRIEI ALIMENTARE; ALIMENTE PREPARATE PENTRU ANIMALE' },\n\t{ value: '23010000', label: 'Făină, pudră și aglomerate sub formă de pelete din carne, organe, pește sau crustacee, din moluște sau din alte nevertebrate acvatice, improprii alimentației umane; jumări' },\n\t{ value: '23011000', label: '- Făină, pudră și aglomerate sub formă de pelete din carne sau din organe; jumări' },\n\t{ value: '23012000', label: '- Făină, pudră și aglomerate sub formă de pelete, din pește sau crustacee, din moluște sau din alte nevertebrate acvatice' },\n\t{ value: '23020000', label: 'Tărâțe, spărturi și alte reziduuri, chiar aglomerate sub formă de pelete, provenite din măcinarea, presarea, cernerea sau din alte procedee de prelucrare a cerealelor sau a leguminoaselor' },\n\t{ value: '23021000', label: '- De porumb' },\n\t{ value: '23021010', label: '-- Al căror conținut de amidon este mai mic sau egal cu 35 % din greutate' },\n\t{ value: '23021090', label: '-- Altele' },\n\t{ value: '23023000', label: '- De grâu' },\n\t{ value: '23023010', label: '-- Al căror conținut de amidon este mai mic sau egal cu 28 % din greutate și procentajul lui de trecere printr-o sită, cu țesătură metalică cu deschizătura de ochi (de plasă) de 0,2 mm, este sub 10 % din greutate sau, în caz contrar, produsul cernut are un conținut de cenușă, calculat pe produs uscat, egal sau mai mare de 1,5 % din greutate' },\n\t{ value: '23023090', label: '-- Altele' },\n\t{ value: '23024000', label: '- De alte cereale' },\n\t{ value: '23024002', label: '-- De orez' },\n\t{ value: '23024002', label: '--- Al căror conținut de amidon este mai mic sau egal cu 35 % din greutate' },\n\t{ value: '23024008', label: '--- Altele' },\n\t{ value: '23024010', label: '-- Altele' },\n\t{ value: '23024010', label: '--- Al căror conținut de amidon este mai mic sau egal cu 28 % din greutate și procentajul lui de trecere printr-o sită, cu țesătură metalică cu deschizătura de ochi (de plasă) de 0,2 mm, este sub 10 % din greutate sau, în caz contrar, produsul cernut are un conținut de cenușă, calculat pe produs uscat, egal sau mai mare de 1,5 % din greutate' },\n\t{ value: '23024090', label: '--- Altele' },\n\t{ value: '23025000', label: '- De leguminoase' },\n\t{ value: '23030000', label: 'Reziduuri rezultate de la fabricarea amidonului și reziduuri similare, pulpa de sfeclă de zahăr, resturi rezultate din prelucrarea trestiei de zahăr și alte deșeuri rezultate de la fabricarea zahărului, depuneri și deșeuri rezultate de la fabricarea berii sau de la distilare, chiar aglomerate sub formă de pelete' },\n\t{ value: '23031000', label: '- Reziduuri rezultate de la fabricarea amidonului și reziduuri similare' },\n\t{ value: '23031011', label: '-- Reziduuri rezultate de la fabricarea amidonului din porumb (cu excepția substanțelor concentrate de înmuiere), cu un conținut de proteine calculat în materia uscată' },\n\t{ value: '23031011', label: '--- Mai mare de 40 % din greutate' },\n\t{ value: '23031019', label: '--- Mai mic sau egal cu 40 % din greutate' },\n\t{ value: '23031090', label: '-- Altele' },\n\t{ value: '23032000', label: '- Pulpă de sfeclă de zahăr, resturi rezultate din prelucrarea trestiei de zahăr și alte deșeuri rezultate de la fabricarea zahărului' },\n\t{ value: '23032010', label: '-- Pulpă de sfeclă de zahăr' },\n\t{ value: '23032090', label: '-- Altele' },\n\t{ value: '23033000', label: '- Depuneri și deșeuri rezultate de la fabricarea berii sau de la distilare' },\n\t{ value: '23040000', label: 'Turte și alte reziduuri solide, chiar măcinate sau aglomerate sub formă de pelete, rezultate din extracția uleiului de soia' },\n\t{ value: '23050000', label: 'Turte și alte reziduuri solide, chiar măcinate sau aglomerate sub formă de pelete, rezultate din extracția uleiului de arahide' },\n\t{ value: '23060000', label: 'Turte și alte reziduuri solide, chiar măcinate sau aglomerate sub formă de pelete, rezultate din extracția grăsimilor sau a uleiurilor vegetale sau de origine microbiană, altele decât cele de la pozițiile 2304 sau 2305' },\n\t{ value: '23061000', label: '- Din semințe de bumbac' },\n\t{ value: '23062000', label: '- Din semințe de in' },\n\t{ value: '23063000', label: '- Din semințe de floarea-soarelui' },\n\t{ value: '23064100', label: '- Din semințe de rapiță sau rapiță sălbatică' },\n\t{ value: '23064100', label: '-- Din semințe de rapiță sau rapiță sălbatică cu conținut redus de acid erucic' },\n\t{ value: '23064900', label: '-- Altele' },\n\t{ value: '23065000', label: '- Din nucă de cocos sau copră' },\n\t{ value: '23066000', label: '- Din nuci sau miez de nucă de palmier' },\n\t{ value: '23069000', label: '- Altele' },\n\t{ value: '23069005', label: '-- Din germeni de porumb' },\n\t{ value: '23069011', label: '-- Altele' },\n\t{ value: '23069011', label: '--- Turte de măsline și alte reziduuri provenite din extracția uleiului de măsline' },\n\t{ value: '23069011', label: '---- Cu un conținut de ulei de măsline mai mic sau egal cu 3 % din greutate' },\n\t{ value: '23069019', label: '---- Cu un conținut de ulei de măsline mai mare de 3 % din greutate' },\n\t{ value: '23069090', label: '--- Altele' },\n\t{ value: '23070000', label: 'Drojdii de vin; tartru brut' },\n\t{ value: '23070011', label: '- Drojdii de vin' },\n\t{ value: '23070011', label: '-- Cu titru alcoolic total de maximum 7,9 % mas și cu un conținut de substanță uscată de minimum 25 % din greutate' },\n\t{ value: '23070019', label: '-- Altele' },\n\t{ value: '23070090', label: '- Tartru brut' },\n\t{ value: '23080000', label: 'Materiale vegetale și deșeuri vegetale, reziduuri și subproduse vegetale, chiar aglomerate sub formă de pelete, de tipul celor folosite în hrana animalelor, nedenumite și necuprinse în altă parte' },\n\t{ value: '23080011', label: '- Tescovină de struguri' },\n\t{ value: '23080011', label: '-- Cu titru alcoolic total de maximum 4,3 % mas și un conținut de substanță uscată de minimum 40 % din greutate' },\n\t{ value: '23080019', label: '-- Altele' },\n\t{ value: '23080040', label: '- Ghinde de stejar și castane de India; drojdii de fructe, altele decât cele de struguri' },\n\t{ value: '23080090', label: '- Altele' },\n\t{ value: '23090000', label: 'Preparate de tipul celor folosite pentru hrana animalelor' },\n\t{ value: '23091000', label: '- Alimente pentru câini sau pisici, condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '23091011', label: '-- Cu un conținut de amidon sau de fecule, de glucoză sau de sirop de glucoză, de maltodextrine sau de sirop de maltodextrine clasificate la subpozițiile 1702 30 50, 1702 30 90, 1702 40 90, 1702 90 50 și 2106 90 55 sau de produse lactate' },\n\t{ value: '23091011', label: '--- Cu un conținut de amidon sau de fecule, de glucoză, de maltodextrine, de sirop de glucoză sau sirop de maltodextrine' },\n\t{ value: '23091011', label: '---- Care nu conțin nici amidon, nici fecule sau cu un conținut din acestea mai mic sau egal cu 10 % din greutate' },\n\t{ value: '23091011', label: '----- Care nu conțin produse lactate sau cu un conținut de produse lactate mai mic de 10 % din greutate' },\n\t{ value: '23091013', label: '----- Cu un conținut de produse lactate egal sau mai mare de 10 % din greutate și mai mic de 50 %' },\n\t{ value: '23091015', label: '----- Cu un conținut de produse lactate egal sau mai mare de 50 % din greutate și mai mic de 75 %' },\n\t{ value: '23091019', label: '----- Cu un conținut de produse lactate egal sau mai mare de 75 % din greutate' },\n\t{ value: '23091031', label: '---- Cu un conținut de amidon sau de fecule mai mare de 10 % din greutate și egal sau mai mic de 30 %' },\n\t{ value: '23091031', label: '----- Care nu conțin produse lactate sau cu un conținut de produse lactate mai mic de 10 % din greutate' },\n\t{ value: '23091033', label: '----- Cu un conținut de produse lactate egal sau mai mare de 10 % din greutate și mai mic de 50 %' },\n\t{ value: '23091039', label: '----- Cu un conținut de produse lactate egal sau mai mare de 50 % din greutate' },\n\t{ value: '23091051', label: '---- Cu un conținut de amidon sau de fecule mai mare de 30 % din greutate' },\n\t{ value: '23091051', label: '----- Care nu conțin produse lactate sau cu un conținut de produse lactate mai mic de 10 % din greutate' },\n\t{ value: '23091053', label: '----- Cu un conținut de produse lactate egal sau mai mare de 10 % din greutate și mai mic de 50 %' },\n\t{ value: '23091059', label: '----- Cu un conținut de produse lactate egal sau mai mare de 50 % din greutate' },\n\t{ value: '23091070', label: '--- Care nu conțin amidon sau fecule, glucoză sau sirop de glucoză, maltodextrine sau sirop de maltodextrine și care conțin produse lactate' },\n\t{ value: '23091090', label: '-- Altele' },\n\t{ value: '23099000', label: '- Altele' },\n\t{ value: '23099010', label: '-- Produse numite \"solubile\" din pește sau din mamifere marine' },\n\t{ value: '23099020', label: '-- Produse prevăzute la nota complementară 5 de la prezentul capitol' },\n\t{ value: '23099031', label: '-- Altele, inclusiv preamestecurile' },\n\t{ value: '23099031', label: '--- Cu un conținut de amidon sau fecule, glucoză sau sirop de glucoză, maltodextrine sau sirop de maltodextrine de la subpozițiile 1702 30 50, 1702 30 90, 1702 40 90, 1702 90 50 și 2106 90 55 sau de produse lactate' },\n\t{ value: '23099031', label: '---- Care conțin amidon sau fecule sau glucoză sau sirop de glucoză, maltodextrine sau sirop de maltodextrine' },\n\t{ value: '23099031', label: '----- Care nu conțin amidon sau fecule sau cu un conținut din acestea mai mic sau egal cu 10 % din greutate' },\n\t{ value: '23099031', label: '------ Care nu conțin produse lactate sau cu un conținut de produse lactate mai mic de 10 % din greutate' },\n\t{ value: '23099033', label: '------ Cu un conținut de produse lactate egal sau mai mare de 10 % din greutate și mai mic de 50 %' },\n\t{ value: '23099035', label: '------ Cu un conținut de produse lactate egal sau mai mare de 50 % din greutate și mai mic de 75 %' },\n\t{ value: '23099039', label: '------ Cu un conținut de produse lactate egal sau mai mare de 75 % din greutate' },\n\t{ value: '23099041', label: '----- Cu un conținut de amidon sau de fecule mai mare de 10 % din greutate și egal sau mai mic de 30 %' },\n\t{ value: '23099041', label: '------ Care nu conțin produse lactate sau cu un conținut de produse lactate mai mic de 10 % din greutate' },\n\t{ value: '23099043', label: '------ Cu un conținut de produse lactate egal sau mai mare de 10 % din greutate și mai mic de 50 %' },\n\t{ value: '23099049', label: '------ Cu un conținut de produse lactate egal sau mai mare de 50 % din greutate' },\n\t{ value: '23099051', label: '----- Cu un conținut de amidon sau de fecule mai mare de 30 % din greutate' },\n\t{ value: '23099051', label: '------ Care nu conțin produse lactate sau cu un conținut de produse lactate mai mic de 10 % din greutate' },\n\t{ value: '23099053', label: '------ Cu un conținut de produse lactate egal sau mai mare de 10 % din greutate și mai mic de 50 %' },\n\t{ value: '23099059', label: '------ Cu un conținut de produse lactate egal sau mai mare de 50 % din greutate' },\n\t{ value: '23099070', label: '---- Care nu conțin amidon sau fecule, glucoză sau sirop de glucoză, maltodextrine sau sirop de maltodextrine și care conțin produse lactate' },\n\t{ value: '23099091', label: '--- Altele' },\n\t{ value: '23099091', label: '---- Pulpă de sfeclă de zahăr cu adaos de melasă' },\n\t{ value: '23099096', label: '---- Altele' },\n\t{ value: '24000000', label: 'TUTUN ȘI ÎNLOCUITORI DE TUTUN PRELUCRAȚI' },\n\t{ value: '24010000', label: 'Tutunuri brute sau neprelucrate; deșeuri de tutun' },\n\t{ value: '24011000', label: '- Tutunuri nedesprinse de pe tulpină' },\n\t{ value: '24011035', label: '-- Tutunuri uscate cu aer cald (light air cured)' },\n\t{ value: '24011060', label: '-- Tutunuri de tip oriental uscate la soare (sun cured)' },\n\t{ value: '24011070', label: '-- Tutunuri uscate cu fum rece (dark air cured)' },\n\t{ value: '24011085', label: '-- Tutunuri uscate cu fum (flue cured)' },\n\t{ value: '24011095', label: '-- Altele' },\n\t{ value: '24012000', label: '- Tutunuri parțial sau total desprinse de pe tulpină' },\n\t{ value: '24012035', label: '-- Tutunuri uscate cu aer cald (light air cured)' },\n\t{ value: '24012060', label: '-- Tutunuri de tip oriental uscate la soare (sun cured)' },\n\t{ value: '24012070', label: '-- Tutunuri uscate cu fum rece (dark air cured)' },\n\t{ value: '24012085', label: '-- Tutunuri uscate cu fum (flue cured)' },\n\t{ value: '24012095', label: '-- Altele' },\n\t{ value: '24013000', label: '- Deșeuri de tutun' },\n\t{ value: '24020000', label: 'Țigări de foi (inclusiv cele cu capete tăiate), trabucuri și țigarete, din tutun sau din înlocuitori de tutun' },\n\t{ value: '24021000', label: '- Țigări de foi (inclusiv cele cu capete tăiate) și trabucuri, care conțin tutun' },\n\t{ value: '24022000', label: '- Țigarete care conțin tutun' },\n\t{ value: '24022010', label: '-- Care conțin cuișoare' },\n\t{ value: '24022090', label: '-- Altele' },\n\t{ value: '24029000', label: '- Altele' },\n\t{ value: '24030000', label: 'Alte tutunuri și înlocuitori de tutun, prelucrate; tutunuri \"omogenizate\" sau \"reconstituite\"; extracte și esențe de tutun' },\n\t{ value: '24031100', label: '- Tutun pentru fumat, cu sau fără înlocuitori, în orice proporție' },\n\t{ value: '24031100', label: '-- Tutun pentru pipă cu apă menționat la nota 1 de subpoziții a capitolului' },\n\t{ value: '24031900', label: '-- Altele' },\n\t{ value: '24031910', label: '--- În ambalaje directe cu un conținut net de maximum 500 g' },\n\t{ value: '24031990', label: '--- Altele' },\n\t{ value: '24039100', label: '- Altele' },\n\t{ value: '24039100', label: '-- Tutunuri \"omogenizate\" sau \"reconstituite\"' },\n\t{ value: '24039900', label: '-- Altele' },\n\t{ value: '24039910', label: '--- Tutunuri pentru mestecat și tutunuri pentru prizat (tutunuri pentru uz nazal)' },\n\t{ value: '24039990', label: '--- Altele' },\n\t{ value: '24040000', label: 'Produse care conțin tutun, tutun reconstituit, nicotină sau înlocuitori de tutun sau de nicotină, destinate inhalării fără ardere; alte produse care conțin nicotină destinate absorbției nicotinei în corpul uman' },\n\t{ value: '24041100', label: '- Produse destinate inhalării fără ardere' },\n\t{ value: '24041100', label: '-- Care conțin tutun sau tutun reconstituit' },\n\t{ value: '24041200', label: '-- Altele, care conțin nicotină' },\n\t{ value: '24041900', label: '-- Altele' },\n\t{ value: '24041910', label: '--- Care conțin înlocuitori de tutun' },\n\t{ value: '24041990', label: '--- Altele' },\n\t{ value: '24049100', label: '- Altele' },\n\t{ value: '24049100', label: '-- Pentru aplicare orală' },\n\t{ value: '24049110', label: '--- Produse care conțin nicotină destinate să ajute la renunțarea la fumat' },\n\t{ value: '24049190', label: '--- Altele' },\n\t{ value: '24049200', label: '-- Pentru aplicare transdermică' },\n\t{ value: '24049900', label: '-- Altele' },\n\t{ value: '25000000', label: 'SARE; SULF; PĂMÂNTURI ȘI PIETRE; IPSOS, VAR ȘI CIMENT' },\n\t{ value: '25010000', label: 'Sare (inclusiv sarea de masă și sarea denaturată) și clorura de sodiu pură, chiar sub formă de soluție apoasă sau cu adaos de agenți antiaglomeranți sau agenți care asigură o bună fluiditate; apă de mare' },\n\t{ value: '25010010', label: '- Apă de mare și ape care provin din saline' },\n\t{ value: '25010031', label: '- Sare (inclusiv sarea de masă și sarea denaturată) și clorura de sodiu pură, chiar sub formă de soluție apoasă sau cu adaos de agenți antiaglomeranți sau agenți care asigură o bună fluiditate' },\n\t{ value: '25010031', label: '-- Destinate transformării chimice (separarea Na de Cl) pentru fabricarea altor produse' },\n\t{ value: '25010051', label: '-- Altele' },\n\t{ value: '25010051', label: '--- Denaturate sau destinate altor utilizări industriale (inclusiv pentru rafinare), cu excepția conservării sau preparării produselor destinate alimentației umane sau animale' },\n\t{ value: '25010091', label: '--- Altele' },\n\t{ value: '25010091', label: '---- Sare destinată alimentației umane' },\n\t{ value: '25010099', label: '---- Altele' },\n\t{ value: '25020000', label: 'Pirite de fier neprăjite' },\n\t{ value: '25030000', label: 'Sulf de orice fel, cu excepția sulfului sublimat, a sulfului precipitat și a sulfului coloidal' },\n\t{ value: '25030010', label: '- Sulf brut și sulf nerafinat' },\n\t{ value: '25030090', label: '- Altele' },\n\t{ value: '25040000', label: 'Grafit natural' },\n\t{ value: '25041000', label: '- Sub formă de pulbere sau foițe' },\n\t{ value: '25049000', label: '- Altele' },\n\t{ value: '25050000', label: 'Nisipuri naturale de orice fel, chiar colorate, cu excepția nisipurilor metalifere de la capitolul 26' },\n\t{ value: '25051000', label: '- Nisipuri silicioase și nisipuri cuarțoase' },\n\t{ value: '25059000', label: '- Alte nisipuri' },\n\t{ value: '25060000', label: 'Cuarț (altul decât nisipurile naturale); cuarțite, chiar degroșate sau simplu debitate cu ferăstrăul sau prin alt procedeu, în blocuri sau în plăci de formă pătrată sau dreptunghiulară' },\n\t{ value: '25061000', label: '- Cuarț' },\n\t{ value: '25062000', label: '- Cuarțite' },\n\t{ value: '25070000', label: 'Caolin și alte argile caolinice, chiar calcinate' },\n\t{ value: '25070020', label: '- Caolin' },\n\t{ value: '25070080', label: '- Alte argile caolinice' },\n\t{ value: '25080000', label: 'Alte argile (cu excepția argilelor expandate de la poziția 6806), andaluzit, cianit, silimanit, chiar calcinate; mulit; pământuri de șamotă și de cărămizi silicioase' },\n\t{ value: '25081000', label: '- Bentonită' },\n\t{ value: '25083000', label: '- Argile refractare' },\n\t{ value: '25084000', label: '- Alte argile' },\n\t{ value: '25085000', label: '- Andaluzit, cianit și silimanit' },\n\t{ value: '25086000', label: '- Mulit' },\n\t{ value: '25087000', label: '- Pământuri de șamotă sau de cărămizi silicioase' },\n\t{ value: '25090000', label: 'Cretă' },\n\t{ value: '25100000', label: 'Fosfați de calciu naturali, fosfați aluminocalcici naturali și cretă fosfatică' },\n\t{ value: '25101000', label: '- Nemăcinate' },\n\t{ value: '25102000', label: '- Măcinate' },\n\t{ value: '25110000', label: 'Sulfat de bariu natural (baritină); carbonat de bariu natural (witherit), chiar calcinat, altele decât oxidul de bariu de la poziția 2816' },\n\t{ value: '25111000', label: '- Sulfat de bariu natural (baritină)' },\n\t{ value: '25112000', label: '- Carbonat de bariu natural (witherit)' },\n\t{ value: '25120000', label: 'Făină silicioasă fosilă (de exemplu, kieselgur, tripolit și diatomit) și alte pământuri silicioase similare, cu o densitate aparentă de maximum 1, chiar calcinate' },\n\t{ value: '25130000', label: 'Piatră ponce; emeri (piatră de șlefuit), corindon natural, granat natural și alte abrazive naturale, chiar tratate termic' },\n\t{ value: '25131000', label: '- Piatră ponce' },\n\t{ value: '25132000', label: '- Emeri (piatră de șlefuit), corindon natural, granat natural și alte abrazive naturale' },\n\t{ value: '25140000', label: 'Ardezie, chiar degroșată sau simplu debitată prin tăiere cu ferăstrăul sau prin alt procedeu, în blocuri sau în plăci de formă pătrată sau dreptunghiulară' },\n\t{ value: '25150000', label: 'Marmură, travertin, ecausin și alte pietre calcaroase pentru cioplit sau pentru construcții având o densitate aparentă de minimum 2,5 și alabastru, chiar degroșate sau simplu debitate, prin tăiere cu ferăstrăul sau prin alt procedeu, în blocuri sau în plăci de formă pătrată sau dreptunghiulară' },\n\t{ value: '25151100', label: '- Marmură și travertin' },\n\t{ value: '25151100', label: '-- Brute sau degroșate' },\n\t{ value: '25151200', label: '-- Simplu debitate, prin tăiere cu ferăstrăul sau prin alt procedeu, în blocuri sau în plăci de formă pătrată sau dreptunghiulară' },\n\t{ value: '25152000', label: '- Ecausin și alte pietre calcaroase pentru cioplit sau pentru construcții; alabastru' },\n\t{ value: '25160000', label: 'Granit, porfir, bazalt, gresie și alte pietre pentru cioplit sau pentru construcții, chiar degroșate sau simplu debitate, cu ferăstrăul sau prin alte procedee, în blocuri sau plăci de formă pătrată sau dreptunghiulară' },\n\t{ value: '25161100', label: '- Granit' },\n\t{ value: '25161100', label: '-- Brut sau degroșat' },\n\t{ value: '25161200', label: '-- Simplu debitat, cu ferăstrăul sau prin alte procedee, în blocuri sau plăci de formă pătrată sau dreptunghiulară' },\n\t{ value: '25162000', label: '- Gresie' },\n\t{ value: '25169000', label: '- Alte pietre pentru cioplit sau pentru construcții' },\n\t{ value: '25170000', label: 'Prundiș, pietriș, pietre concasate, din cele folosite în general ca agregate pentru betoane sau pietruirea drumurilor, pentru căile ferate sau alt balast, pietriș și silex, chiar tratate termic; macadam de zgură, de zgură metalurgică, de deșeuri industriale similare, care conține chiar materiale cuprinse în prima parte a poziției; macadam gudronat pentru șosele; granule, spărturi și praf din pietre de la pozițiile 2515 sau 2516, chiar tratate termic' },\n\t{ value: '25171000', label: '- Prundiș, pietriș, pietre concasate, din cele folosite în general ca agregate pentru betoane sau pietruirea drumurilor, pentru căile ferate sau alt balast, pietriș și silex, chiar tratate termic' },\n\t{ value: '25171010', label: '-- Bolovani, prundiș, silex și pietriș' },\n\t{ value: '25171020', label: '-- Piatră de var, dolomită și alte pietre calcaroase, concasate' },\n\t{ value: '25171080', label: '-- Altele' },\n\t{ value: '25172000', label: '- Macadam de zgură, de zgură metalurgică sau de deșeuri industriale similare, care conține chiar materialele menționate la subpoziția 2517 10' },\n\t{ value: '25173000', label: '- Macadam gudronat pentru șosele' },\n\t{ value: '25174100', label: '- Granule, așchii, praf din pietre de la pozițiile 2515 sau 2516, chiar tratate termic' },\n\t{ value: '25174100', label: '-- De marmură' },\n\t{ value: '25174900', label: '-- Altele' },\n\t{ value: '25180000', label: 'Dolomită, chiar sinterizată sau calcinată, inclusiv dolomita degroșată sau simplu debitată, cu ferăstrăul sau prin alte procedee, în blocuri sau în plăci de formă pătrată sau dreptunghiulară' },\n\t{ value: '25181000', label: '- Dolomită necalcinată, nesinterizată, denumită \"crudă\"' },\n\t{ value: '25182000', label: '- Dolomită calcinată sau sinterizată' },\n\t{ value: '25190000', label: 'Carbonat de magneziu natural (magnezită); magnezie topită; magnezie calcinată total (sinterizată), care conține chiar cantități mici de alți oxizi adăugați înainte de sinterizare; alți oxizi de magneziu, chiar în stare pură' },\n\t{ value: '25191000', label: '- Carbonat de magneziu natural (magnezită)' },\n\t{ value: '25199000', label: '- Altele' },\n\t{ value: '25199010', label: '-- Oxid de magneziu, altul decât carbonatul natural de magneziu (magnezită) calcinat' },\n\t{ value: '25199030', label: '-- Magnezie calcinată total (sinterizată)' },\n\t{ value: '25199090', label: '-- Altele' },\n\t{ value: '25200000', label: 'Gips; anhidrit; ipsos (din gips calcinat sau din sulfat de calciu), chiar colorat, cu sau fără adaos de cantități mici de acceleratori sau întârzietori' },\n\t{ value: '25201000', label: '- Gips; anhidrit' },\n\t{ value: '25202000', label: '- Ipsos' },\n\t{ value: '25210000', label: 'Piatră de var pentru furnale; piatră de var și alte roci calcaroase de tipul celor folosite pentru fabricarea varului sau a cimentului' },\n\t{ value: '25220000', label: 'Var nestins, var stins și var hidraulic, cu excepția oxidului și a hidroxidului de calciu de la poziția 2825' },\n\t{ value: '25221000', label: '- Var nestins' },\n\t{ value: '25222000', label: '- Var stins' },\n\t{ value: '25223000', label: '- Var hidraulic' },\n\t{ value: '25230000', label: 'Cimenturi hidraulice (inclusiv cimenturi nepulverizate numite \"clinkers\"), chiar colorate' },\n\t{ value: '25231000', label: '- Cimenturi nepulverizate numite \"clinkers\"' },\n\t{ value: '25232100', label: '- Cimenturi Portland' },\n\t{ value: '25232100', label: '-- Cimenturi albe, chiar colorate artificial' },\n\t{ value: '25232900', label: '-- Altele' },\n\t{ value: '25233000', label: '- Cimenturi aluminoase' },\n\t{ value: '25239000', label: '- Alte cimenturi hidraulice' },\n\t{ value: '25240000', label: 'Azbest' },\n\t{ value: '25241000', label: '- Crocidolit' },\n\t{ value: '25249000', label: '- Altele' },\n\t{ value: '25250000', label: 'Mică, inclusiv despicată în foițe sau lamele neregulate (splittings); deșeuri de mică' },\n\t{ value: '25251000', label: '- Mică brută sau despicată în foițe sau lamele neregulate' },\n\t{ value: '25252000', label: '- Pudră de mică' },\n\t{ value: '25253000', label: '- Deșeuri de mică' },\n\t{ value: '25260000', label: 'Steatit natural, chiar degroșat sau simplu debitat prin tăiere cu ferăstrăul sau prin alte procedee, în blocuri sau plăci de formă pătrată sau dreptunghiulară; talc' },\n\t{ value: '25261000', label: '- Nemăcinate, nepulverizate' },\n\t{ value: '25262000', label: '- Măcinate sau pulverizate' },\n\t{ value: '25280000', label: 'Borați naturali și concentratele lor (chiar calcinați), cu excepția boraților extrași din saramuri naturale; acid boric natural cu o concentrație de maximum 85 % H3BO3 din produsul uscat' },\n\t{ value: '25290000', label: 'Feldspat; leucit; nefelin și nefelin sienit; fluorină' },\n\t{ value: '25291000', label: '- Feldspat' },\n\t{ value: '25292100', label: '- Fluorină' },\n\t{ value: '25292100', label: '-- Cu maximum 97 % din greutate fluorură de calciu' },\n\t{ value: '25292200', label: '-- Cu peste 97 % din greutate fluorură de calciu' },\n\t{ value: '25293000', label: '- Leucit; nefelin și nefelin sienit' },\n\t{ value: '25300000', label: 'Substanțe minerale nedenumite și necuprinse în altă parte' },\n\t{ value: '25301000', label: '- Vermiculită, perlit și clorită, neexpandate' },\n\t{ value: '25302000', label: '- Kieserit, epsomit (sulfați de magneziu naturali)' },\n\t{ value: '25309000', label: '- Altele' },\n\t{ value: '26000000', label: 'MINEREURI, ZGURĂ ȘI CENUȘĂ' },\n\t{ value: '26010000', label: 'Minereuri de fier și concentratele lor, inclusiv piritele de fier prăjite (cenușă de pirite)' },\n\t{ value: '26011100', label: '- Minereuri de fier și concentratele lor, altele decât piritele de fier prăjite (cenușă de pirite)' },\n\t{ value: '26011100', label: '-- Neaglomerate' },\n\t{ value: '26011200', label: '-- Aglomerate' },\n\t{ value: '26012000', label: '- Pirite de fier prăjite (cenușă de pirite)' },\n\t{ value: '26020000', label: 'Minereuri de mangan și concentratele lor, inclusiv minereuri de mangan feruginoase și concentratele lor cu un conținut minim de mangan de 20 % din greutatea produsului uscat' },\n\t{ value: '26030000', label: 'Minereuri de cupru și concentratele lor' },\n\t{ value: '26040000', label: 'Minereuri de nichel și concentratele lor' },\n\t{ value: '26050000', label: 'Minereuri de cobalt și concentratele lor' },\n\t{ value: '26060000', label: 'Minereuri de aluminiu și concentratele lor' },\n\t{ value: '26070000', label: 'Minereuri de plumb și concentratele lor' },\n\t{ value: '26080000', label: 'Minereuri de zinc și concentratele lor' },\n\t{ value: '26090000', label: 'Minereuri de staniu și concentratele lor' },\n\t{ value: '26100000', label: 'Minereuri de crom și concentratele lor' },\n\t{ value: '26110000', label: 'Minereuri de tungsten și concentratele lor' },\n\t{ value: '26120000', label: 'Minereuri de uraniu sau de toriu și concentratele lor' },\n\t{ value: '26121000', label: '- Minereuri de uraniu și concentratele lor' },\n\t{ value: '26121010', label: '-- Minereuri de uraniu și pehblendă și concentratele lor, cu un conținut de uraniu peste 5 % din greutate' },\n\t{ value: '26121090', label: '-- Altele' },\n\t{ value: '26122000', label: '- Minereuri de toriu și concentratele lor' },\n\t{ value: '26122010', label: '-- Monazit; urano-torianit și alte minereuri de toriu și concentratele lor, cu un conținut de toriu peste 20 % din greutate' },\n\t{ value: '26122090', label: '-- Altele' },\n\t{ value: '26130000', label: 'Minereuri de molibden și concentratele lor' },\n\t{ value: '26131000', label: '- Prăjite' },\n\t{ value: '26139000', label: '- Altele' },\n\t{ value: '26140000', label: 'Minereuri de titan și concentratele lor' },\n\t{ value: '26150000', label: 'Minereuri de niobiu, de tantal, de vanadiu sau de zirconiu și concentratele lor' },\n\t{ value: '26151000', label: '- Minereuri de zirconiu și concentratele lor' },\n\t{ value: '26159000', label: '- Altele' },\n\t{ value: '26160000', label: 'Minereuri de metale prețioase și concentratele lor' },\n\t{ value: '26161000', label: '- Minereuri de argint și concentratele lor' },\n\t{ value: '26169000', label: '- Altele' },\n\t{ value: '26170000', label: 'Alte minereuri și concentratele lor' },\n\t{ value: '26171000', label: '- Minereuri de antimoniu și concentratele lor' },\n\t{ value: '26179000', label: '- Altele' },\n\t{ value: '26180000', label: 'Zgură de furnal granulată (nisip de zgură) rezultată de la fabricarea fontei, fierului sau oțelului' },\n\t{ value: '26190000', label: 'Zgură, zgură de furnal (altele decât zgura de furnal granulată), coji, țunder și alte deșeuri rezultate de la fabricarea fontei, fierului sau a oțelului' },\n\t{ value: '26190020', label: '- Deșeuri destinate recuperării fierului sau manganului' },\n\t{ value: '26190090', label: '- Altele' },\n\t{ value: '26200000', label: 'Zgură, cenușă și reziduuri (altele decât cele rezultate de la fabricarea fontei, fierului sau oțelului) care conțin arsen, metale sau compuși ai metalelor' },\n\t{ value: '26201100', label: '- Care conțin în principal zinc' },\n\t{ value: '26201100', label: '-- Mate de galvanizare' },\n\t{ value: '26201900', label: '-- Altele' },\n\t{ value: '26202100', label: '- Care conțin în principal plumb' },\n\t{ value: '26202100', label: '-- Nămoluri de benzină cu plumb și nămoluri de compuși antidetonanți care conțin plumb' },\n\t{ value: '26202900', label: '-- Altele' },\n\t{ value: '26203000', label: '- Care conțin în principal cupru' },\n\t{ value: '26204000', label: '- Care conțin în principal aluminiu' },\n\t{ value: '26206000', label: '- Care conțin arsen, mercur, taliu sau amestecuri ale acestora, de tipul celor utilizate la extracția arsenului sau a metalelor specificate ori pentru fabricarea compușilor lor chimici' },\n\t{ value: '26209100', label: '- Altele' },\n\t{ value: '26209100', label: '-- Care conțin antimoniu, beriliu, cadmiu, crom sau amestecuri ale acestora' },\n\t{ value: '26209900', label: '-- Altele' },\n\t{ value: '26209910', label: '--- Care conțin în principal nichel' },\n\t{ value: '26209920', label: '--- Care conțin în principal niobiu sau tantal' },\n\t{ value: '26209940', label: '--- Care conțin în principal staniu' },\n\t{ value: '26209960', label: '--- Care conțin în principal titan' },\n\t{ value: '26209995', label: '--- Altele' },\n\t{ value: '26210000', label: 'Alte zguri și cenușă, inclusiv cenușa de vareh; cenușă și reziduuri care provin de la incinerarea deșeurilor orășenești' },\n\t{ value: '26211000', label: '- Cenușa și reziduuri provenind de la incinerarea deșeurilor orășenești' },\n\t{ value: '26219000', label: '- Altele' },\n\t{ value: '27000000', label: 'COMBUSTIBILI MINERALI, ULEIURI MINERALE ȘI PRODUSE REZULTATE DIN DISTILAREA ACESTORA; MATERIALE BITUMINOASE; CEARĂ MINERALĂ' },\n\t{ value: '27010000', label: 'Huilă; brichete, aglomerate de formă ovoidală și combustibili solizi în forme similare obținuți din huilă' },\n\t{ value: '27011100', label: '- Huilă, chiar pulverizată, dar neaglomerată' },\n\t{ value: '27011100', label: '-- Antracit' },\n\t{ value: '27011200', label: '-- Huilă bituminoasă' },\n\t{ value: '27011210', label: '--- Huilă de cocs' },\n\t{ value: '27011290', label: '--- Altele' },\n\t{ value: '27011900', label: '-- Altă huilă' },\n\t{ value: '27012000', label: '- Brichete, aglomerate de formă ovoidală și combustibili solizi în forme similare, obținuți din huilă' },\n\t{ value: '27020000', label: 'Lignit, chiar aglomerat, cu excepția gagatului' },\n\t{ value: '27021000', label: '- Lignit, chiar pulverizat dar neaglomerat' },\n\t{ value: '27022000', label: '- Lignit aglomerat' },\n\t{ value: '27030000', label: 'Turbă (inclusiv turba pentru așternut), chiar aglomerată' },\n\t{ value: '27040000', label: 'Cocs și semicocs de huilă, de lignit sau de turbă, chiar aglomerate; cărbune de retortă' },\n\t{ value: '27040010', label: '- Cocs și semicocs de huilă' },\n\t{ value: '27040030', label: '- Cocs și semicocs de lignit' },\n\t{ value: '27040090', label: '- Altele' },\n\t{ value: '27050000', label: 'Gaz de huilă, gaz de apă, gaz de generator și gaze similare, cu excepția gazului de sondă, și alte hidrocarburi gazoase' },\n\t{ value: '27060000', label: 'Gudron de huilă, de lignit sau de turbă și alte gudroane minerale, chiar deshidratate sau parțial distilate, inclusiv gudroane reconstituite' },\n\t{ value: '27070000', label: 'Uleiuri și alte produse rezultate din distilarea gudronului de huilă la temperaturi înalte; produse similare la care greutatea constituenților aromatici depășește greutatea constituenților nearomatici' },\n\t{ value: '27071000', label: '- Benzol (benzen)' },\n\t{ value: '27072000', label: '- Toluol (toluen)' },\n\t{ value: '27073000', label: '- Xilol (xileni)' },\n\t{ value: '27074000', label: '- Naftalină' },\n\t{ value: '27075000', label: '- Alte amestecuri de hidrocarburi aromatice care distilă minimum 65 % din volum (inclusiv pierderile) la 250 °C după metoda ISO 3405 (echivalentă cu metoda ASTM D 86)' },\n\t{ value: '27079100', label: '- Altele' },\n\t{ value: '27079100', label: '-- Uleiuri de creozot' },\n\t{ value: '27079900', label: '-- Altele' },\n\t{ value: '27079911', label: '--- Uleiuri brute' },\n\t{ value: '27079911', label: '---- Uleiuri ușoare brute, care distilă în proporție de minimum 90 % în volum până la temperatura de 200 °C' },\n\t{ value: '27079919', label: '---- Altele' },\n\t{ value: '27079920', label: '--- Fracțiuni ușoare (frunți) sulfurate; antracen' },\n\t{ value: '27079950', label: '--- Produse bazice' },\n\t{ value: '27079980', label: '--- Fenoli' },\n\t{ value: '27079991', label: '--- Altele' },\n\t{ value: '27079991', label: '---- Destinate fabricării produselor de la poziția 2803' },\n\t{ value: '27079999', label: '---- Altele' },\n\t{ value: '27080000', label: 'Smoală și cocs de smoală, din gudron de huilă sau din alte gudroane minerale' },\n\t{ value: '27081000', label: '- Smoală' },\n\t{ value: '27082000', label: '- Cocs de smoală' },\n\t{ value: '27090000', label: 'Uleiuri brute din petrol sau din minerale bituminoase' },\n\t{ value: '27090010', label: '- Condensate de gaz natural' },\n\t{ value: '27090090', label: '- Altele' },\n\t{ value: '27100000', label: 'Uleiuri din petrol sau uleiuri din minerale bituminoase, altele decât uleiurile brute; preparatele nedenumite și necuprinse în altă parte, care conțin în greutate minimum 70 % uleiuri din petrol sau din minerale bituminoase și pentru care aceste uleiuri constituie elementele de bază; deșeuri de uleiuri' },\n\t{ value: '27101200', label: '- Uleiuri din petrol sau uleiuri din minerale bituminoase (altele decât uleiurile brute) și preparatele nedenumite și necuprinse în altă parte, care conțin în greutate minimum 70 % uleiuri din petrol sau din minerale bituminoase și pentru care aceste uleiuri constituie elementele de bază, altele decât cele care conțin biodiesel și altele decât deșeurile de uleiuri' },\n\t{ value: '27101200', label: '-- Uleiuri ușoare și preparate' },\n\t{ value: '27101211', label: '--- Destinate a fi supuse unui tratament specific' },\n\t{ value: '27101215', label: '--- Destinate a fi supuse unei transformări chimice printr-un tratament altul decât cele specificate pentru subpoziția 2710 12 11' },\n\t{ value: '27101221', label: '--- Destinate altor utilizări' },\n\t{ value: '27101221', label: '---- Benzine speciale' },\n\t{ value: '27101221', label: '----- White spirit' },\n\t{ value: '27101225', label: '----- Altele' },\n\t{ value: '27101231', label: '---- Altele' },\n\t{ value: '27101231', label: '----- Benzine pentru motoare' },\n\t{ value: '27101231', label: '------ Benzine pentru aviație' },\n\t{ value: '27101241', label: '------ Altele, cu un conținut de plumb' },\n\t{ value: '27101241', label: '------- De maximum 0,013 g pe litru' },\n\t{ value: '27101241', label: '-------- Cu cifra octanică (COR) sub 95' },\n\t{ value: '27101245', label: '-------- Cu cifra octanică (COR) de minimum 95, dar sub 98' },\n\t{ value: '27101249', label: '-------- Cu cifra octanică (COR) de minimum 98' },\n\t{ value: '27101250', label: '------- Peste 0,013 g pe litru' },\n\t{ value: '27101270', label: '----- Benzină tip \"jet fuel\"' },\n\t{ value: '27101290', label: '----- Alte uleiuri ușoare' },\n\t{ value: '27101900', label: '-- Altele' },\n\t{ value: '27101911', label: '--- Uleiuri medii' },\n\t{ value: '27101911', label: '---- Destinate a fi supuse unui tratament specific' },\n\t{ value: '27101915', label: '---- Destinate a fi supuse unei transformări chimice printr-un tratament, altul decât cele specificate pentru subpoziția 2710 19 11' },\n\t{ value: '27101921', label: '---- Destinate altor utilizări' },\n\t{ value: '27101921', label: '----- Petrol lampant (kerosen)' },\n\t{ value: '27101921', label: '------ Jet fuel' },\n\t{ value: '27101925', label: '------ Altele' },\n\t{ value: '27101929', label: '----- Altele' },\n\t{ value: '27101931', label: '--- Uleiuri grele' },\n\t{ value: '27101931', label: '---- Motorină' },\n\t{ value: '27101931', label: '----- Destinată a fi supusă unui tratament specific' },\n\t{ value: '27101935', label: '----- Destinată a fi supusă unei transformări chimice printr-un tratament, altul decât cele specificate pentru subpoziția 2710 19 31' },\n\t{ value: '27101943', label: '----- Destinată altor utilizări' },\n\t{ value: '27101943', label: '------ Cu un conținut de sulf de maximum 0,001 % în greutate' },\n\t{ value: '27101946', label: '------ Cu un conținut de sulf de peste 0,001 % dar de maximum 0,002 %' },\n\t{ value: '27101947', label: '------ Cu un conținut de sulf de peste 0,002 % dar de maximum 0,1 %' },\n\t{ value: '27101948', label: '------ Cu un conținut de sulf de peste 0,1 % în greutate' },\n\t{ value: '27101951', label: '---- Păcură' },\n\t{ value: '27101951', label: '----- Destinată a fi supusă unui tratament specific' },\n\t{ value: '27101955', label: '----- Destinată a fi supusă unei transformări chimice printr-un tratament, altul decât cele specificate pentru subpoziția 2710 19 51' },\n\t{ value: '27101962', label: '----- Destinată altor utilizări' },\n\t{ value: '27101962', label: '------ Cu un conținut de sulf de maximum 0,1 % în greutate' },\n\t{ value: '27101966', label: '------ Cu un conținut de sulf de peste 0,1 % dar de maximum 0,5 % în greutate' },\n\t{ value: '27101967', label: '------ Cu un conținut de sulf de peste 0,5 %' },\n\t{ value: '27101971', label: '---- Uleiuri lubrifiante și alte uleiuri' },\n\t{ value: '27101971', label: '----- Destinate a fi supuse unui tratament specific' },\n\t{ value: '27101975', label: '----- Destinate a fi supuse unei transformări chimice printr-un tratament, altul decât cele specificate pentru subpoziția 2710 19 71' },\n\t{ value: '27101981', label: '----- Destinate altor utilizări' },\n\t{ value: '27101981', label: '------ Uleiuri pentru motoare, uleiuri lubrifiante pentru compresoare și uleiuri lubrifiante pentru turbine' },\n\t{ value: '27101983', label: '------ Uleiuri hidraulice' },\n\t{ value: '27101985', label: '------ Uleiuri albe, parafine lichide' },\n\t{ value: '27101987', label: '------ Uleiuri pentru angrenaje' },\n\t{ value: '27101991', label: '------ Uleiuri pentru prelucrarea metalelor, uleiuri de scoatere din forme, uleiuri anticorozive' },\n\t{ value: '27101993', label: '------ Uleiuri electroizolante' },\n\t{ value: '27101999', label: '------ Alte uleiuri lubrifiante și alte uleiuri' },\n\t{ value: '27102000', label: '- Uleiuri din petrol și uleiuri din minerale bituminoase (altele decât uleiurile brute) și preparate nedenumite și necuprinse în altă parte, care conțin în greutate minimum 70 % uleiuri din petrol sau din minerale bituminoase și pentru care aceste uleiuri constituie elementele de bază, care conțin biodiesel, altele decât deșeurile de uleiuri' },\n\t{ value: '27102011', label: '-- Motorină' },\n\t{ value: '27102011', label: '--- Cu un conținut de sulf de maximum 0,001 % în greutate' },\n\t{ value: '27102016', label: '--- Cu un conținut de sulf de peste 0,001 % dar de maximum 0,1 %' },\n\t{ value: '27102019', label: '--- Cu un conținut de sulf de peste 0,1 % în greutate' },\n\t{ value: '27102031', label: '-- Păcură' },\n\t{ value: '27102032', label: '--- Cu un conținut de sulf de maximum 0,5 % în greutate' },\n\t{ value: '27102038', label: '--- Cu un conținut de sulf de peste 0,5 %' },\n\t{ value: '27102090', label: '-- Alte uleiuri' },\n\t{ value: '27109100', label: '- Deșeuri de uleiuri' },\n\t{ value: '27109100', label: '-- Care conțin difenili policlorurați (PCB), terfenili policlorurați (PCT) sau difenili polibromurați (PBB)' },\n\t{ value: '27109900', label: '-- Altele' },\n\t{ value: '27110000', label: 'Gaz de sondă și alte hidrocarburi gazoase' },\n\t{ value: '27111100', label: '- Lichefiate' },\n\t{ value: '27111100', label: '-- Gaz natural' },\n\t{ value: '27111200', label: '-- Propan' },\n\t{ value: '27111211', label: '--- Propan cu o puritate de minimum 99 %' },\n\t{ value: '27111211', label: '---- Destinat utilizării drept carburant sau combustibil' },\n\t{ value: '27111219', label: '---- Destinat altor utilizări' },\n\t{ value: '27111291', label: '--- Altele' },\n\t{ value: '27111291', label: '---- Destinat a fi supus unui tratament specific' },\n\t{ value: '27111293', label: '---- Destinat a fi supus unei transformări chimice printr-un tratament, altul decât cele definite pentru subpoziția 2711 12 91' },\n\t{ value: '27111294', label: '---- Destinat altor utilizări' },\n\t{ value: '27111294', label: '----- De o puritate peste 90 % dar sub 99 %' },\n\t{ value: '27111297', label: '----- Altele' },\n\t{ value: '27111300', label: '-- Butani' },\n\t{ value: '27111310', label: '--- Destinați a fi supus unui tratament specific' },\n\t{ value: '27111330', label: '--- Destinați a fi supus unei transformări chimice printr-un tratament, altul decât cele definite pentru subpoziția 2711 13 10' },\n\t{ value: '27111391', label: '--- Destinați altor utilizări' },\n\t{ value: '27111391', label: '---- De o puritate peste 90 % dar sub 95 %' },\n\t{ value: '27111397', label: '---- Altele' },\n\t{ value: '27111400', label: '-- Etilenă, propilenă, butilenă și butadienă' },\n\t{ value: '27111900', label: '-- Altele' },\n\t{ value: '27112100', label: '- În stare gazoasă' },\n\t{ value: '27112100', label: '-- Gaz natural' },\n\t{ value: '27112900', label: '-- Altele' },\n\t{ value: '27120000', label: 'Vaselină; ceară de parafină, ceară de petrol microcristalină, ceară din praf de cărbune (slack wax), ozocherită, ceară de lignit, ceară de turbă, alte tipuri de ceară minerală și produse similare obținute prin sinteză sau prin alte procedee, chiar colorate' },\n\t{ value: '27121000', label: '- Vaselină' },\n\t{ value: '27121010', label: '-- Brută' },\n\t{ value: '27121090', label: '-- Altele' },\n\t{ value: '27122000', label: '- Ceară de parafină care conține în greutate sub 0,75 % ulei' },\n\t{ value: '27122010', label: '-- Ceară de parafină sintetică cu o greutate moleculară de minimum 460 dar de maximum 1 560' },\n\t{ value: '27122090', label: '-- Altele' },\n\t{ value: '27129000', label: '- Altele' },\n\t{ value: '27129011', label: '-- Ozocherită, ceară de lignit sau de turbă (produse naturale)' },\n\t{ value: '27129011', label: '--- Brute' },\n\t{ value: '27129019', label: '--- Altele' },\n\t{ value: '27129031', label: '-- Altele' },\n\t{ value: '27129031', label: '--- Brute' },\n\t{ value: '27129031', label: '---- Destinate a fi supuse unui tratament specific' },\n\t{ value: '27129033', label: '---- Destinate a fi supuse unei transformări chimice printr-un tratament, altul decât cele definite pentru subpoziția 2712 90 31' },\n\t{ value: '27129039', label: '---- Destinate altor utilizări' },\n\t{ value: '27129091', label: '--- Altele' },\n\t{ value: '27129091', label: '---- Amestec de 1-alchene care conține în greutate minimum 80 % 1-alchene cu catene de minimum 24 atomi de carbon dar de maximum 28 atomi de carbon' },\n\t{ value: '27129099', label: '---- Altele' },\n\t{ value: '27130000', label: 'Cocs de petrol, bitum de petrol și alte reziduuri de uleiuri din petrol sau de uleiuri din minerale bituminoase' },\n\t{ value: '27131100', label: '- Cocs de petrol' },\n\t{ value: '27131100', label: '-- Necalcinat' },\n\t{ value: '27131200', label: '-- Calcinat' },\n\t{ value: '27132000', label: '- Bitum de petrol' },\n\t{ value: '27139000', label: '- Alte reziduuri de uleiuri din petrol sau din minerale bituminoase' },\n\t{ value: '27139010', label: '-- Destinate fabricării produselor de la poziția 2803' },\n\t{ value: '27139090', label: '-- Altele' },\n\t{ value: '27140000', label: 'Bitumuri și asfalturi, naturale; șisturi și nisipuri bituminoase; asfaltiți și roci asfaltice' },\n\t{ value: '27141000', label: '- Șisturi și nisipuri bituminoase' },\n\t{ value: '27149000', label: '- Altele' },\n\t{ value: '27150000', label: 'Amestecuri bituminoase pe bază de asfalt natural sau de bitum natural, de bitum de petrol, de gudron mineral sau de smoală de gudron mineral (de exemplu, mastic bituminos, cut-backs)' },\n\t{ value: '27160000', label: 'Energie electrică' },\n\t{ value: '28000000', label: 'PRODUSE CHIMICE ANORGANICE; COMPUȘI ANORGANICI SAU ORGANICI AI METALELOR PREȚIOASE, AI ELEMENTELOR RADIOACTIVE, AI METALELOR DE PĂMÂNTURI RARE SAU AI IZOTOPILOR' },\n\t{ value: '28010000', label: 'I. ELEMENTE CHIMICE' },\n\t{ value: '28010000', label: 'Fluor, clor, brom și iod' },\n\t{ value: '28011000', label: '- Clor' },\n\t{ value: '28012000', label: '- Iod' },\n\t{ value: '28013000', label: '- Fluor; brom' },\n\t{ value: '28013010', label: '-- Fluor' },\n\t{ value: '28013090', label: '-- Brom' },\n\t{ value: '28020000', label: 'Sulf sublimat sau precipitat; sulf coloidal' },\n\t{ value: '28030000', label: 'Carbon (negru de fum și alte forme de carbon nedenumite și necuprinse în altă parte)' },\n\t{ value: '28040000', label: 'Hidrogen, gaze rare și alte nemetale' },\n\t{ value: '28041000', label: '- Hidrogen' },\n\t{ value: '28042100', label: '- Gaze rare' },\n\t{ value: '28042100', label: '-- Argon' },\n\t{ value: '28042900', label: '-- Altele' },\n\t{ value: '28042910', label: '--- Heliu' },\n\t{ value: '28042990', label: '--- Altele' },\n\t{ value: '28043000', label: '- Azot' },\n\t{ value: '28044000', label: '- Oxigen' },\n\t{ value: '28045000', label: '- Bor; telur' },\n\t{ value: '28045010', label: '-- Bor' },\n\t{ value: '28045090', label: '-- Telur' },\n\t{ value: '28046100', label: '- Siliciu' },\n\t{ value: '28046100', label: '-- Cu un conținut în greutate de minimum 99,99 % siliciu' },\n\t{ value: '28046900', label: '-- Altele' },\n\t{ value: '28047000', label: '- Fosfor' },\n\t{ value: '28047010', label: '-- Fosfor roșu' },\n\t{ value: '28047090', label: '-- Altele' },\n\t{ value: '28048000', label: '- Arsen' },\n\t{ value: '28049000', label: '- Seleniu' },\n\t{ value: '28050000', label: 'Metale alcaline sau alcalino-pământoase; metale din pământuri rare, ytriu și scandiu, chiar amestecate sau aliate între ele; mercur' },\n\t{ value: '28051100', label: '- Metale alcaline sau alcalino-pământoase' },\n\t{ value: '28051100', label: '-- Sodiu' },\n\t{ value: '28051200', label: '-- Calciu' },\n\t{ value: '28051900', label: '-- Altele' },\n\t{ value: '28051910', label: '--- Stronțiu și bariu' },\n\t{ value: '28051990', label: '--- Altele' },\n\t{ value: '28053000', label: '- Metale din pământuri rare, scandiu și ytriu, chiar amestecate sau aliate între ele' },\n\t{ value: '28053010', label: '-- Amestecate sau aliate între ele' },\n\t{ value: '28053020', label: '-- Altele' },\n\t{ value: '28053020', label: '--- Cu o puritate de minimum 95% din greutate' },\n\t{ value: '28053020', label: '---- Ceriu, lantan, praseodim, neodim și samariu' },\n\t{ value: '28053030', label: '---- Europiu, gadoliniu, terbiu, disprosiu, holmiu, erbiu, tuliu, yterbiu, lutețiu și ytriu' },\n\t{ value: '28053040', label: '---- Scandiu' },\n\t{ value: '28053080', label: '--- Altele' },\n\t{ value: '28054000', label: '- Mercur' },\n\t{ value: '28054010', label: '-- În recipiente cu conținutul net de 34,5 kg (greutate standard) și cu valoarea FOB, pe recipient, de maximum 224 €' },\n\t{ value: '28054090', label: '-- Altele' },\n\t{ value: '28060000', label: 'II. ACIZI ANORGANICI ȘI COMPUȘI OXIGENAȚI ANORGANICI AI NEMETALELOR' },\n\t{ value: '28060000', label: 'Clorura de hidrogen (acid clorhidric); acid clorosulfuric' },\n\t{ value: '28061000', label: '- Clorura de hidrogen (acid clorhidric)' },\n\t{ value: '28062000', label: '- Acid clorosulfuric' },\n\t{ value: '28070000', label: 'Acid sulfuric; oleum' },\n\t{ value: '28080000', label: 'Acid nitric (azotic); acizi sulfonitrici' },\n\t{ value: '28090000', label: 'Pentaoxid de difosfor; acid fosforic; acizi polifosforici, cu compoziție chimică definită sau nu' },\n\t{ value: '28091000', label: '- Pentaoxid de difosfor' },\n\t{ value: '28092000', label: '- Acid fosforic și acizi polifosforici' },\n\t{ value: '28100000', label: 'Oxizi de bor; acizi borici' },\n\t{ value: '28100010', label: '- Trioxid de dibor' },\n\t{ value: '28100090', label: '- Altele' },\n\t{ value: '28110000', label: 'Alți acizi anorganici și alți compuși oxigenați anorganici ai nemetalelor' },\n\t{ value: '28111100', label: '- Alți acizi anorganici' },\n\t{ value: '28111100', label: '-- Fluorură de hidrogen (acid fluorhidric)' },\n\t{ value: '28111200', label: '-- Cianură de hidrogen (acid cianhidric)' },\n\t{ value: '28111900', label: '-- Altele' },\n\t{ value: '28111910', label: '--- Bromură de hidrogen (acid bromhidric)' },\n\t{ value: '28111980', label: '--- Altele' },\n\t{ value: '28112100', label: '- Alți compuși oxigenați anorganici ai nemetalelor' },\n\t{ value: '28112100', label: '-- Dioxid de carbon' },\n\t{ value: '28112200', label: '-- Dioxid de siliciu' },\n\t{ value: '28112900', label: '-- Altele' },\n\t{ value: '28112905', label: '--- Dioxid de sulf' },\n\t{ value: '28112910', label: '--- Trioxid de sulf (anhidridă sulfurică); trioxid de diarsen (anhidridă arsenioasă)' },\n\t{ value: '28112930', label: '--- Oxizi de azot' },\n\t{ value: '28112990', label: '--- Altele' },\n\t{ value: '28120000', label: 'III. DERIVAȚI HALOGENAȚI, OXIHALOGENAȚI SAU SULFURAȚI AI NEMETALELOR' },\n\t{ value: '28120000', label: 'Halogenuri și oxihalogenuri de nemetale' },\n\t{ value: '28121100', label: '- Cloruri și oxicloruri' },\n\t{ value: '28121100', label: '-- Diclorură de carbonil (fosgen)' },\n\t{ value: '28121200', label: '-- Oxiclorură de fosfor' },\n\t{ value: '28121300', label: '-- Triclorură de fosfor' },\n\t{ value: '28121400', label: '-- Pentaclorură de fosfor' },\n\t{ value: '28121500', label: '-- Monoclorură de sulf' },\n\t{ value: '28121600', label: '-- Diclorură de sulf' },\n\t{ value: '28121700', label: '-- Clorură de tionil' },\n\t{ value: '28121900', label: '-- Altele' },\n\t{ value: '28121910', label: '--- De fosfor' },\n\t{ value: '28121990', label: '--- Altele' },\n\t{ value: '28129000', label: '- Altele' },\n\t{ value: '28130000', label: 'Sulfuri de nemetale; trisulfură de fosfor comercială' },\n\t{ value: '28131000', label: '- Disulfură de carbon' },\n\t{ value: '28139000', label: '- Altele' },\n\t{ value: '28139010', label: '-- Sulfuri de fosfor, inclusiv trisulfura de fosfor comercială' },\n\t{ value: '28139090', label: '-- Altele' },\n\t{ value: '28140000', label: 'IV. BAZE ANORGANICE ȘI OXIZI, HIDROXIZI ȘI PEROXIZI AI METALELOR' },\n\t{ value: '28140000', label: 'Amoniac, anhidru sau în soluție apoasă' },\n\t{ value: '28141000', label: '- Amoniac anhidru' },\n\t{ value: '28142000', label: '- Amoniac în soluție apoasă' },\n\t{ value: '28150000', label: 'Hidroxid de sodiu (sodă caustică); hidroxid de potasiu (potasă caustică); peroxizi de sodiu sau de potasiu' },\n\t{ value: '28151100', label: '- Hidroxid de sodiu (sodă caustică)' },\n\t{ value: '28151100', label: '-- Solid' },\n\t{ value: '28151200', label: '-- În soluție apoasă (leșie de sodă caustică)' },\n\t{ value: '28152000', label: '- Hidroxid de potasiu (potasă caustică)' },\n\t{ value: '28153000', label: '- Peroxizi de sodiu sau de potasiu' },\n\t{ value: '28160000', label: 'Hidroxid și peroxid de magneziu; oxizi, hidroxizi și peroxizi de stronțiu sau de bariu' },\n\t{ value: '28161000', label: '- Hidroxid și peroxid de magneziu' },\n\t{ value: '28164000', label: '- Oxizi, hidroxizi și peroxizi de stronțiu sau de bariu' },\n\t{ value: '28170000', label: 'Oxid de zinc; peroxid de zinc' },\n\t{ value: '28180000', label: 'Corindon artificial, cu compoziție chimică definită sau nu; oxid de aluminiu; hidroxid de aluminiu' },\n\t{ value: '28181000', label: '- Corindon artificial, cu compoziție chimică definită sau nu' },\n\t{ value: '28181011', label: '-- cu un conţinut de oxid de aluminiu de minimum 98,5 % în greutate' },\n\t{ value: '28181011', label: '--- cu sub 50 % din greutatea totală având mărimea particulelor de minimum 10 mm' },\n\t{ value: '28181019', label: '--- cu minimum 50 % din greutatea totală având mărimea particulelor de minimum 10 mm' },\n\t{ value: '28181091', label: '-- cu un conţinut de oxid de aluminiu mai mic de 98,5 % din greutate' },\n\t{ value: '28181091', label: '--- cu sub 50 % din greutatea totală având mărimea particulelor de minimum 10 mm' },\n\t{ value: '28181099', label: '--- cu minimum 50 % din greutatea totală având mărimea particulelor de minimum 10 mm' },\n\t{ value: '28182000', label: '- Oxid de aluminiu altul decât corindon artificial' },\n\t{ value: '28183000', label: '- Hidroxid de aluminiu' },\n\t{ value: '28190000', label: 'Oxizi și hidroxizi de crom' },\n\t{ value: '28191000', label: '- Trioxid de crom' },\n\t{ value: '28199000', label: '- Altele' },\n\t{ value: '28199010', label: '-- Dioxid de crom' },\n\t{ value: '28199090', label: '-- Altele' },\n\t{ value: '28200000', label: 'Oxizi de mangan' },\n\t{ value: '28201000', label: '- Dioxid de mangan' },\n\t{ value: '28209000', label: '- Altele' },\n\t{ value: '28209010', label: '-- Oxid de mangan care conține mangan minimum 77 % în greutate' },\n\t{ value: '28209090', label: '-- Altele' },\n\t{ value: '28210000', label: 'Oxizi și hidroxizi de fier; pământuri colorante care conțin minimum 70 %, în greutate, fier combinat evaluat în Fe2O3' },\n\t{ value: '28211000', label: '- Oxizi și hidroxizi de fier' },\n\t{ value: '28212000', label: '- Pământuri colorante' },\n\t{ value: '28220000', label: 'Oxizi și hidroxizi de cobalt; oxizi de cobalt comerciali' },\n\t{ value: '28230000', label: 'Oxizi de titan' },\n\t{ value: '28240000', label: 'Oxizi de plumb; miniu de plumb roșu și portocaliu' },\n\t{ value: '28241000', label: '- Monoxid de plumb (litargă, massicot)' },\n\t{ value: '28249000', label: '- Altele' },\n\t{ value: '28250000', label: 'Hidrazină și hidroxilamină și sărurile lor anorganice; alte baze anorganice; alți oxizi, hidroxizi și peroxizi de metale' },\n\t{ value: '28251000', label: '- Hidrazină și hidroxilamină și sărurile lor anorganice' },\n\t{ value: '28252000', label: '- Oxid și hidroxid de litiu' },\n\t{ value: '28253000', label: '- Oxizi și hidroxizi de vanadiu' },\n\t{ value: '28254000', label: '- Oxizi și hidroxizi de nichel' },\n\t{ value: '28255000', label: '- Oxizi și hidroxizi de cupru' },\n\t{ value: '28256000', label: '- Oxizi de germaniu și dioxid de zirconiu' },\n\t{ value: '28257000', label: '- Oxizi și hidroxizi de molibden' },\n\t{ value: '28258000', label: '- Oxizi de antimoniu' },\n\t{ value: '28259000', label: '- Altele' },\n\t{ value: '28259011', label: '-- Oxid, hidroxid și peroxid de calciu' },\n\t{ value: '28259011', label: '--- Hidroxid de calciu de o puritate, calculată în substanță uscată, de minimum 98 %, sub formă de particule dintre care:\\n- maximum 1 % în greutate sunt de o dimensiune peste 75 microni, și\\n- maximum 4 % în greutate sunt de o dimensiune sub 1,3 microni' },\n\t{ value: '28259019', label: '--- Altele' },\n\t{ value: '28259020', label: '-- Oxid și hidroxid de beriliu' },\n\t{ value: '28259040', label: '-- Oxizi și hidroxizi de tungsten' },\n\t{ value: '28259060', label: '-- Oxid de cadmiu' },\n\t{ value: '28259085', label: '-- Altele' },\n\t{ value: '28260000', label: 'V. SĂRURI ȘI PERSĂRURI METALICE ALE ACIZILOR ANORGANICI' },\n\t{ value: '28260000', label: 'Fluoruri; fluorosilicați, fluoroaluminați și alte săruri complexe de fluor' },\n\t{ value: '28261200', label: '- Fluoruri' },\n\t{ value: '28261200', label: '-- De aluminiu' },\n\t{ value: '28261900', label: '-- Altele' },\n\t{ value: '28261910', label: '--- De amoniu sau de sodiu' },\n\t{ value: '28261990', label: '--- Altele' },\n\t{ value: '28263000', label: '- Hexafluoroaluminat de sodiu (criolit sintetic)' },\n\t{ value: '28269000', label: '- Altele' },\n\t{ value: '28269010', label: '-- Hexafluorozirconat de dipotasiu' },\n\t{ value: '28269080', label: '-- Altele' },\n\t{ value: '28270000', label: 'Cloruri, oxicloruri și hidroxicloruri; bromuri și oxibromuri; ioduri și oxiioduri' },\n\t{ value: '28271000', label: '- Clorură de amoniu' },\n\t{ value: '28272000', label: '- Clorură de calciu' },\n\t{ value: '28273100', label: '- Alte cloruri' },\n\t{ value: '28273100', label: '-- De magneziu' },\n\t{ value: '28273200', label: '-- De aluminiu' },\n\t{ value: '28273500', label: '-- De nichel' },\n\t{ value: '28273900', label: '-- Altele' },\n\t{ value: '28273910', label: '--- De staniu' },\n\t{ value: '28273920', label: '--- De fier' },\n\t{ value: '28273930', label: '--- De cobalt' },\n\t{ value: '28273985', label: '--- Altele' },\n\t{ value: '28274100', label: '- Oxicloruri și hidroxicloruri' },\n\t{ value: '28274100', label: '-- De cupru' },\n\t{ value: '28274900', label: '-- Altele' },\n\t{ value: '28274910', label: '--- De plumb' },\n\t{ value: '28274990', label: '--- Altele' },\n\t{ value: '28275100', label: '- Bromuri și oxibromuri' },\n\t{ value: '28275100', label: '-- Bromuri de sodiu sau de potasiu' },\n\t{ value: '28275900', label: '-- Altele' },\n\t{ value: '28276000', label: '- Ioduri și oxiioduri' },\n\t{ value: '28280000', label: 'Hipocloriți; hipoclorit de calciu comercial; cloriți; hipobromiți' },\n\t{ value: '28281000', label: '- Hipoclorit de calciu comercial și alți hipocloriți de calciu' },\n\t{ value: '28289000', label: '- Altele' },\n\t{ value: '28290000', label: 'Clorați și perclorați; bromați și perbromați; iodați și periodați' },\n\t{ value: '28291100', label: '- Clorați' },\n\t{ value: '28291100', label: '-- De sodiu' },\n\t{ value: '28291900', label: '-- Altele' },\n\t{ value: '28299000', label: '- Altele' },\n\t{ value: '28299010', label: '-- Perclorați' },\n\t{ value: '28299040', label: '-- Bromat de potasiu sau de sodiu' },\n\t{ value: '28299080', label: '-- Altele' },\n\t{ value: '28300000', label: 'Sulfuri; polisulfuri, cu compoziție chimică definită sau nu' },\n\t{ value: '28301000', label: '- Sulfuri de sodiu' },\n\t{ value: '28309000', label: '- Altele' },\n\t{ value: '28309011', label: '-- Sulfuri de calciu, de antimoniu, de fier' },\n\t{ value: '28309085', label: '-- Altele' },\n\t{ value: '28310000', label: 'Ditioniți și sulfoxilați' },\n\t{ value: '28311000', label: '- De sodiu' },\n\t{ value: '28319000', label: '- Altele' },\n\t{ value: '28320000', label: 'Sulfiți; tiosulfați' },\n\t{ value: '28321000', label: '- Sulfiți de sodiu' },\n\t{ value: '28322000', label: '- Alți sulfiți' },\n\t{ value: '28323000', label: '- Tiosulfați' },\n\t{ value: '28330000', label: 'Sulfați; alauni; persulfați' },\n\t{ value: '28331100', label: '- Sulfați de sodiu' },\n\t{ value: '28331100', label: '-- Sulfat de disodiu' },\n\t{ value: '28331900', label: '-- Altele' },\n\t{ value: '28332100', label: '- Alți sulfați' },\n\t{ value: '28332100', label: '-- De magneziu' },\n\t{ value: '28332200', label: '-- De aluminiu' },\n\t{ value: '28332400', label: '-- De nichel' },\n\t{ value: '28332500', label: '-- De cupru' },\n\t{ value: '28332700', label: '-- De bariu' },\n\t{ value: '28332900', label: '-- Altele' },\n\t{ value: '28332920', label: '--- De cadmiu, de crom, de zinc' },\n\t{ value: '28332930', label: '--- De cobalt, de titan' },\n\t{ value: '28332960', label: '--- De plumb' },\n\t{ value: '28332980', label: '--- Altele' },\n\t{ value: '28333000', label: '- Alauni' },\n\t{ value: '28334000', label: '- Persulfați' },\n\t{ value: '28340000', label: 'Nitriți (azotiți); nitrați (azotați)' },\n\t{ value: '28341000', label: '- Nitriți (azotiți)' },\n\t{ value: '28342100', label: '- Nitrați (azotați)' },\n\t{ value: '28342100', label: '-- De potasiu' },\n\t{ value: '28342900', label: '-- Altele' },\n\t{ value: '28342920', label: '--- De bariu, de beriliu, de cadmiu, de cobalt, de nichel, de plumb' },\n\t{ value: '28342940', label: '--- De cupru' },\n\t{ value: '28342980', label: '--- Altele' },\n\t{ value: '28350000', label: 'Fosfinați (hipofosfiți), fosfonați (fosfiți) și fosfați; polifosfați, cu compoziție chimică definită sau nu' },\n\t{ value: '28351000', label: '- Fosfinați (hipofosfiți) și fosfonați (fosfiți)' },\n\t{ value: '28352200', label: '- Fosfați' },\n\t{ value: '28352200', label: '-- De mono- sau de disodiu' },\n\t{ value: '28352400', label: '-- De potasiu' },\n\t{ value: '28352500', label: '-- Hidrogenoortofosfat de calciu (fosfat dicalcic)' },\n\t{ value: '28352600', label: '-- Alți fosfați de calciu' },\n\t{ value: '28352900', label: '-- Altele' },\n\t{ value: '28352910', label: '--- De triamoniu' },\n\t{ value: '28352930', label: '--- De trisodiu' },\n\t{ value: '28352990', label: '--- Altele' },\n\t{ value: '28353100', label: '- Polifosfați' },\n\t{ value: '28353100', label: '-- Trifosfat de sodiu (tripolifosfat de sodiu)' },\n\t{ value: '28353900', label: '-- Altele' },\n\t{ value: '28360000', label: 'Carbonați; percarbonați; carbonat de amoniu comercial care conține carbamat de amoniu' },\n\t{ value: '28362000', label: '- Carbonat disodic' },\n\t{ value: '28363000', label: '- Hidrogenocarbonat de sodiu (bicarbonat de sodiu)' },\n\t{ value: '28364000', label: '- Carbonați de potasiu' },\n\t{ value: '28365000', label: '- Carbonat de calciu' },\n\t{ value: '28366000', label: '- Carbonat de bariu' },\n\t{ value: '28369100', label: '- Altele' },\n\t{ value: '28369100', label: '-- Carbonați de litiu' },\n\t{ value: '28369200', label: '-- Carbonat de stronțiu' },\n\t{ value: '28369900', label: '-- Altele' },\n\t{ value: '28369911', label: '--- Carbonați' },\n\t{ value: '28369911', label: '---- De magneziu, de cupru' },\n\t{ value: '28369917', label: '---- Altele' },\n\t{ value: '28369990', label: '--- Percarbonați' },\n\t{ value: '28370000', label: 'Cianuri, oxicianuri și cianuri complexe' },\n\t{ value: '28371100', label: '- Cianuri și oxicianuri' },\n\t{ value: '28371100', label: '-- De sodiu' },\n\t{ value: '28371900', label: '-- Altele' },\n\t{ value: '28372000', label: '- Cianuri complexe' },\n\t{ value: '28390000', label: 'Silicați; silicați de metale alcaline comerciali' },\n\t{ value: '28391100', label: '- De sodiu' },\n\t{ value: '28391100', label: '-- Metasilicați' },\n\t{ value: '28391900', label: '-- Altele' },\n\t{ value: '28399000', label: '- Altele' },\n\t{ value: '28400000', label: 'Borați; perborați' },\n\t{ value: '28401100', label: '- Tetraborat de disodiu (borax rafinat)' },\n\t{ value: '28401100', label: '-- Anhidru' },\n\t{ value: '28401900', label: '-- Altele' },\n\t{ value: '28401910', label: '--- Tetraborat de disodiu pentahidrat' },\n\t{ value: '28401990', label: '--- Altele' },\n\t{ value: '28402000', label: '- Alți borați' },\n\t{ value: '28402010', label: '-- Borați de sodiu anhidri' },\n\t{ value: '28402090', label: '-- Alții' },\n\t{ value: '28403000', label: '- Perborați' },\n\t{ value: '28410000', label: 'Săruri ale oxiacizilor metalici sau permetalici' },\n\t{ value: '28413000', label: '- Dicromat de sodiu' },\n\t{ value: '28415000', label: '- Alți cromați și dicromați; percromați' },\n\t{ value: '28416100', label: '- Manganiți, manganați și permanganați' },\n\t{ value: '28416100', label: '-- Permanganat de potasiu' },\n\t{ value: '28416900', label: '-- Altele' },\n\t{ value: '28417000', label: '- Molibdați' },\n\t{ value: '28418000', label: '- Tungstenați (wolframați)' },\n\t{ value: '28419000', label: '- Altele' },\n\t{ value: '28419030', label: '-- Zincați, vanadați' },\n\t{ value: '28419085', label: '-- Altele' },\n\t{ value: '28420000', label: 'Alte săruri ale acizilor sau peracizilor anorganici (inclusiv aluminosilicați cu compoziție chimică definită sau nu), altele decât azidele' },\n\t{ value: '28421000', label: '- Silicați dubli sau complecși, inclusiv aluminosilicați cu compoziție chimică definită sau nu' },\n\t{ value: '28429000', label: '- Altele' },\n\t{ value: '28429010', label: '-- Săruri simple, duble sau complexe ale acizilor seleniului sau telurului' },\n\t{ value: '28429080', label: '-- Altele' },\n\t{ value: '28430000', label: 'VI. DIVERSE' },\n\t{ value: '28430000', label: 'Metale prețioase în stare coloidală; compuși anorganici sau organici ai metalelor prețioase, cu compoziție chimică definită sau nu; amalgame de metale prețioase' },\n\t{ value: '28431000', label: '- Metale prețioase în stare coloidală' },\n\t{ value: '28431010', label: '-- Argint' },\n\t{ value: '28431090', label: '-- Altele' },\n\t{ value: '28432100', label: '- Compuși ai argintului' },\n\t{ value: '28432100', label: '-- Nitrat de argint' },\n\t{ value: '28432900', label: '-- Altele' },\n\t{ value: '28433000', label: '- Compuși ai aurului' },\n\t{ value: '28439000', label: '- Alți compuși; amalgame' },\n\t{ value: '28439010', label: '-- Amalgame' },\n\t{ value: '28439090', label: '-- Altele' },\n\t{ value: '28440000', label: 'Elemente chimice radioactive și izotopi radioactivi (inclusiv elementele chimice și izotopii fisionabili sau fertili) și compușii lor; amestecuri și reziduuri care conțin aceste produse' },\n\t{ value: '28441000', label: '- Uraniu natural și compușii săi; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin uraniu natural sau compuși de uraniu natural' },\n\t{ value: '28441010', label: '-- Uraniu natural' },\n\t{ value: '28441010', label: '--- Brut; deșeuri și resturi' },\n\t{ value: '28441030', label: '--- Prelucrat' },\n\t{ value: '28441050', label: '-- Fero-uraniu' },\n\t{ value: '28441090', label: '-- Altele' },\n\t{ value: '28442000', label: '- Uraniu îmbogățit în U 235 și compușii săi; plutoniu și compușii săi; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin uraniu îmbogățit în U 235, plutoniu sau compuși ai acestor produse' },\n\t{ value: '28442025', label: '-- Uraniu îmbogățit în U 235 și compușii săi; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin uraniu îmbogățit în U 235, plutoniu sau compuși ai acestor produse' },\n\t{ value: '28442025', label: '--- Fero-uraniu' },\n\t{ value: '28442035', label: '--- Altele' },\n\t{ value: '28442051', label: '-- Plutoniu și compușii săi; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin plutoniu sau compuși ai acestor produse' },\n\t{ value: '28442051', label: '--- Amestecuri de uraniu și de plutoniu' },\n\t{ value: '28442051', label: '---- Fero-uraniu' },\n\t{ value: '28442059', label: '---- Altele' },\n\t{ value: '28442099', label: '--- Altele' },\n\t{ value: '28443000', label: '- Uraniu sărăcit în U 235 și compușii săi; toriu și compușii săi; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin uraniu sărăcit în U 235, toriu sau compuși ai acestor produse' },\n\t{ value: '28443011', label: '-- Uraniu sărăcit în U 235; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin uraniu sărăcit în U 235 sau compuși ai acestor produse' },\n\t{ value: '28443011', label: '--- Metaloceramice' },\n\t{ value: '28443019', label: '--- Altele' },\n\t{ value: '28443051', label: '-- Toriu; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin toriu sau compuși ai acestui produs' },\n\t{ value: '28443051', label: '--- Metaloceramice' },\n\t{ value: '28443055', label: '--- Altele' },\n\t{ value: '28443055', label: '---- Brut; deșeuri și resturi' },\n\t{ value: '28443061', label: '---- Prelucrate' },\n\t{ value: '28443061', label: '----- Bare, profile, fire, tole, benzi și foi' },\n\t{ value: '28443069', label: '----- Altele' },\n\t{ value: '28443091', label: '-- Compuși de uraniu sărăcit în U 235, compuși de toriu, chiar amestecați între ei' },\n\t{ value: '28443091', label: '--- De uraniu sărăcit în U 235, de toriu, chiar amestecați între ei , cu excepția sărurilor de toriu' },\n\t{ value: '28443099', label: '--- Altele' },\n\t{ value: '28444100', label: '- Elemente și izotopi radioactivi și compuși radioactivi, altele decât cele de la subpozițiile 2844 10, 2844 20 sau 2844 30; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin aceste elemente, izotopi sau compuși; reziduuri radioactive' },\n\t{ value: '28444100', label: '-- Tritiu și compușii săi; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin tritiu sau compușii săi' },\n\t{ value: '28444110', label: '--- Izotop radioactiv artificial ; compuși ai izotopului radioactiv artificial' },\n\t{ value: '28444190', label: '--- Altele' },\n\t{ value: '28444200', label: '-- Actiniu-225, actiniu-227, californiu-253, curiu-240, curiu-241, curiu-242, curiu-243, curiu-244, einsteiniu-253, einsteiniu-254, gadoliniu-148, poloniu-208, poloniu-209, poloniu-210, radiu-223, uraniu-230 sau uraniu-232 și compușii acestor produse; aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin aceste elemente sau compuși ai acestora' },\n\t{ value: '28444210', label: '--- Izotopi radioactivi artificiali ; compuși ai izotopilor radioactivi artificiali' },\n\t{ value: '28444290', label: '--- Altele' },\n\t{ value: '28444300', label: '-- Alte elemente, izotopi și compuși radioactivi; alte aliaje, dispersii (inclusiv metaloceramice), produse ceramice și amestecuri care conțin aceste elemente, izotopi sau compuși' },\n\t{ value: '28444310', label: '--- Uraniu care conține U 233 și compușii lui; aliaje, dispersii (inclusiv metaloceramice), produse ceramice, amestecuri și compuși care conțin U 233 sau compuși ai acestui produs' },\n\t{ value: '28444320', label: '--- Izotopi radioactivi artificiali ; compuși ai izotopilor radioactivi artificiali' },\n\t{ value: '28444380', label: '--- Altele' },\n\t{ value: '28444400', label: '-- Reziduuri radioactive' },\n\t{ value: '28445000', label: '- Elemente combustibile (cartușe) uzate (iradiate) ale reactoarelor nucleare' },\n\t{ value: '28450000', label: 'Izotopi, alții decât cei de la poziția 2844; compușii lor anorganici sau organici cu compoziție chimică definită sau nu' },\n\t{ value: '28451000', label: '- Apă grea (oxid de deuteriu)' },\n\t{ value: '28452000', label: '- Bor îmbogățit în bor-10 și compușii săi' },\n\t{ value: '28453000', label: '- Litiu îmbogățit în litiu-6 și compușii săi' },\n\t{ value: '28454000', label: '- Heliu-3' },\n\t{ value: '28459000', label: '- Altele' },\n\t{ value: '28459010', label: '-- Deuteriu și compuși de deuteriu; hidrogen și compușii săi îmbogățiți în deuteriu; amestecuri și soluții care conțin aceste produse' },\n\t{ value: '28459090', label: '-- Altele' },\n\t{ value: '28460000', label: 'Compuși anorganici sau organici ai metalelor de pământuri rare, ai ytriului sau ai scandiului sau ai amestecurilor din aceste metale' },\n\t{ value: '28461000', label: '- Compuși ai ceriului' },\n\t{ value: '28469000', label: '- Altele' },\n\t{ value: '28469010', label: '-- Compuși ai lantanului, ai praseodimului, ai neodimului sau ai samariului' },\n\t{ value: '28469020', label: '-- Compuși ai europiului, ai gadoliniului, ai terbiului, ai disprosiului, ai holmiului, ai erbiului, ai tuliului, ai yterbiului, ai lutețiului sau ai ytriului' },\n\t{ value: '28469030', label: '-- Compuși ai scandiului' },\n\t{ value: '28469090', label: '-- Compuși ai amestecurilor de metale' },\n\t{ value: '28470000', label: 'Peroxid de hidrogen (apă oxigenată) chiar solidificat cu uree' },\n\t{ value: '28490000', label: 'Carburi cu compoziție chimică definită sau nu' },\n\t{ value: '28491000', label: '- De calciu' },\n\t{ value: '28492000', label: '- De siliciu' },\n\t{ value: '28499000', label: '- Altele' },\n\t{ value: '28499010', label: '-- De bor' },\n\t{ value: '28499030', label: '-- De tungsten' },\n\t{ value: '28499050', label: '-- De aluminiu, de crom, de molibden, de vanadiu, de tantal, de titan' },\n\t{ value: '28499090', label: '-- Altele' },\n\t{ value: '28500000', label: 'Hidruri, nitruri, azide, siliciuri și boruri, cu compoziție chimică definită sau nu, altele decât compușii care constituie în același timp carburi de la poziția 2849' },\n\t{ value: '28500020', label: '- Hidruri, nitruri' },\n\t{ value: '28500060', label: '- Azide; siliciuri' },\n\t{ value: '28500090', label: '- Boruri' },\n\t{ value: '28520000', label: 'Compuși organici sau anorganici ai mercurului, cu compoziție chimică definită sau nu, cu excepția amalgamelor' },\n\t{ value: '28521000', label: '- Cu compoziție chimică definită' },\n\t{ value: '28529000', label: '- Altele' },\n\t{ value: '28530000', label: 'Fosfuri, definite chimic sau nu, cu excepția ferofosfurilor; alți compuși anorganici (inclusiv apă distilată sau de conductibilitate și apă de puritate similară); aer lichid (indiferent dacă gazele rare au fost eliminate sau nu); aer comprimat; amalgame, altele decât amalgamele de metale prețioase' },\n\t{ value: '28531000', label: '- Clorură de cianogen (clorcian)' },\n\t{ value: '28539000', label: '- Altele' },\n\t{ value: '28539010', label: '-- Apă distilată, apă de conductibilitate sau apă de puritate similară' },\n\t{ value: '28539030', label: '-- Aer lichid (inclusiv aerul lichid din care au fost eliminate gazele rare); aer comprimat' },\n\t{ value: '28539090', label: '-- Altele' },\n\t{ value: '29000000', label: 'PRODUSE CHIMICE ORGANICE' },\n\t{ value: '29010000', label: 'I. HIDROCARBURI ȘI DERIVAȚII LOR HALOGENAȚI, SULFONAȚI, NITRAȚI SAU NITROZAȚI' },\n\t{ value: '29010000', label: 'Hidrocarburi aciclice' },\n\t{ value: '29011000', label: '- Saturate' },\n\t{ value: '29012100', label: '- Nesaturate' },\n\t{ value: '29012100', label: '-- Etilenă' },\n\t{ value: '29012200', label: '-- Propenă (propilenă)' },\n\t{ value: '29012300', label: '-- Butenă (butilenă) și izomerii acesteia' },\n\t{ value: '29012400', label: '-- Buta-1,3-dienă și izopren' },\n\t{ value: '29012900', label: '-- Altele' },\n\t{ value: '29020000', label: 'Hidrocarburi ciclice' },\n\t{ value: '29021100', label: '- Ciclanice, ciclenice sau cicloterpenice' },\n\t{ value: '29021100', label: '-- Ciclohexan' },\n\t{ value: '29021900', label: '-- Altele' },\n\t{ value: '29022000', label: '- Benzen' },\n\t{ value: '29023000', label: '- Toluen' },\n\t{ value: '29024100', label: '- Xileni' },\n\t{ value: '29024100', label: '-- o-Xilen' },\n\t{ value: '29024200', label: '-- m-Xilen' },\n\t{ value: '29024300', label: '-- p-Xilen' },\n\t{ value: '29024400', label: '-- Amestec de izomeri ai xilenului' },\n\t{ value: '29025000', label: '- Stiren' },\n\t{ value: '29026000', label: '- Etilbenzen' },\n\t{ value: '29027000', label: '- Cumen' },\n\t{ value: '29029000', label: '- Altele' },\n\t{ value: '29030000', label: 'Derivați halogenați ai hidrocarburilor' },\n\t{ value: '29031100', label: '- Derivați clorurați saturați ai hidrocarburilor aciclice' },\n\t{ value: '29031100', label: '-- Clormetan (clorură de metil) și cloretan (clorură de etil)' },\n\t{ value: '29031200', label: '-- Diclormetan (clorură de metilen)' },\n\t{ value: '29031300', label: '-- Cloroform (triclormetan)' },\n\t{ value: '29031400', label: '-- Tetraclorură de carbon' },\n\t{ value: '29031500', label: '-- Clorură de etilenă (ISO) (1,2-dicloretan)' },\n\t{ value: '29031900', label: '-- Altele' },\n\t{ value: '29032100', label: '- Derivați clorurați nesaturați ai hidrocarburilor aciclice' },\n\t{ value: '29032100', label: '-- Clorură de vinil (cloretilenă)' },\n\t{ value: '29032200', label: '-- Tricloretilenă' },\n\t{ value: '29032300', label: '-- Tetracloretilenă (percloretilenă)' },\n\t{ value: '29032900', label: '-- Altele' },\n\t{ value: '29034100', label: '- Derivați fluorurați saturați ai hidrocarburilor aciclice' },\n\t{ value: '29034100', label: '-- Trifluormetan (HFC-23)' },\n\t{ value: '29034200', label: '-- Difluormetan (HFC-32)' },\n\t{ value: '29034300', label: '-- Fluormetan (HFC-41), 1,2-difluoretan (HFC-152) și 1,1-difluoretan (HFC-152a)' },\n\t{ value: '29034400', label: '-- Pentafluoretan (HFC-125), 1,1,1-trifluoretan (HFC-143a) și 1,1,2-trifluoretan (HFC-143)' },\n\t{ value: '29034500', label: '-- 1,1,1,2-tetrafluoretan (HFC-134a) și 1,1,2,2-tetrafluoretan (HFC-134)' },\n\t{ value: '29034600', label: '-- 1,1,1,2,3,3,3-heptafluorpropan (HFC-227ea), 1,1,1,2,2,3-hexafluorpropan (HFC-236cb), 1,1,1,2,3,3-hexafluorpropan (HFC-236ea) și 1,1,1,3,3,3-hexafluorpropan (HFC-236fa)' },\n\t{ value: '29034700', label: '-- 1,1,1,3,3-pentafluorpropan (HFC-245fa) și 1,1,2,2,3-pentafluorpropan (HFC-245ca)' },\n\t{ value: '29034800', label: '-- 1,1,1,3,3-pentafluorbutan (HFC-365mfc) și 1,1,1,2,2,3,4,5,5,5-decafluorpentan (HFC-43-10mee)' },\n\t{ value: '29034900', label: '-- Altele' },\n\t{ value: '29034910', label: '--- Alti pentafluorpropani, hexafluorpropani și heptafluorpropani' },\n\t{ value: '29034930', label: '--- Derivați perfluorurați' },\n\t{ value: '29034990', label: '--- Altele' },\n\t{ value: '29035100', label: '- Derivați fluorurați nesaturați ai hidrocarburilor aciclice' },\n\t{ value: '29035100', label: '-- 2,3,3,3-tetrafluorpropenă (HFO-1234yf), 1,3,3,3-tetrafluorpropenă (HFO-1234ze) și (Z)-1,1,1,4,4,4-hexafluor-2-butenă (HFO-1336mzz)' },\n\t{ value: '29035900', label: '-- Altele' },\n\t{ value: '29036100', label: '- Derivați bromurați sau iodați ai hidrocarburilor aciclice' },\n\t{ value: '29036100', label: '-- Bromură de metil (bromometan)' },\n\t{ value: '29036200', label: '-- Dibromură de etilenă (ISO) (1,2-dibrometan)' },\n\t{ value: '29036900', label: '-- Altele' },\n\t{ value: '29036911', label: '--- Bromuri' },\n\t{ value: '29036911', label: '---- Dibrometan' },\n\t{ value: '29036919', label: '---- Altele' },\n\t{ value: '29036980', label: '--- Ioduri' },\n\t{ value: '29037100', label: '- Derivați halogenați ai hidrocarburilor aciclice care conțin cel puțin doi halogeni diferiți' },\n\t{ value: '29037100', label: '-- Clorodifluormetan (HCFC-22)' },\n\t{ value: '29037200', label: '-- Diclorotrifluoroetani (HCFC-123)' },\n\t{ value: '29037300', label: '-- Diclorofluoroetani (HCFC-141, 141b)' },\n\t{ value: '29037400', label: '-- Clorodifluoroetani (HCFC-142, 142b)' },\n\t{ value: '29037500', label: '-- Dicloropentafluoropropani (HCFC-225, 225ca, 225cb)' },\n\t{ value: '29037600', label: '-- Bromoclorodifluormetan (Halon-1211), bromotrifluorometan (Halon-1301) și dibromotetrafluoroetani (Halon-2402)' },\n\t{ value: '29037610', label: '--- Bromoclorodifluormetan (Halon-1211)' },\n\t{ value: '29037620', label: '--- Bromotrifluorometan (Halon-1301)' },\n\t{ value: '29037690', label: '--- Dibromotetrafluoroetani (Halon-2402)' },\n\t{ value: '29037700', label: '-- Alții, perhalogenați numai cu fluor și clor' },\n\t{ value: '29037760', label: '--- Triclorfluormetan, diclordifluormetan, triclortrifluoretani, diclortetrafluoretani și clorpentafluoretan' },\n\t{ value: '29037790', label: '--- Altele' },\n\t{ value: '29037800', label: '-- Alți derivați perhalogenați' },\n\t{ value: '29037900', label: '-- Altele' },\n\t{ value: '29037930', label: '--- Halogenați numai cu brom și clor, cu fluor și clor sau cu fluor și brom' },\n\t{ value: '29037980', label: '--- Altele' },\n\t{ value: '29038100', label: '- Derivați halogenați ai hidrocarburilor ciclanice, ciclenice sau cicloterpenice' },\n\t{ value: '29038100', label: '-- 1,2,3,4,5,6-Hexaclorciclohexan (HCH (ISO)), inclusiv lindan (ISO, DCI)' },\n\t{ value: '29038200', label: '-- Aldrin (ISO), clordan (ISO) și heptaclor (ISO)' },\n\t{ value: '29038300', label: '-- Mirex (ISO)' },\n\t{ value: '29038900', label: '-- Altele' },\n\t{ value: '29038910', label: '--- 1,2-Dibrom-4-(1,2-dibrometil)ciclohexan; tetrabromciclooctani' },\n\t{ value: '29038980', label: '--- Altele' },\n\t{ value: '29039100', label: '- Derivați halogenați ai hidrocarburilor aromatice' },\n\t{ value: '29039100', label: '-- Clorbenzen, orto-diclorbenzen și para-diclorbenzen' },\n\t{ value: '29039200', label: '-- Hexaclorbenzen (ISO) și DDT (ISO) [clofenotan (DCI), 1,1,1-triclor-2,2-bis(p-clorfenil)etan]' },\n\t{ value: '29039300', label: '-- Pentaclorbenzen (ISO)' },\n\t{ value: '29039400', label: '-- Hexabrombifenili' },\n\t{ value: '29039900', label: '-- Altele' },\n\t{ value: '29039910', label: '--- 2,3,4,5,6-Pentabrometilbenzen' },\n\t{ value: '29039980', label: '--- Altele' },\n\t{ value: '29040000', label: 'Derivați sulfonați, nitrați sau nitrozați ai hidrocarburilor, chiar halogenate' },\n\t{ value: '29041000', label: '- Derivați care conțin numai grupe sulfonice, sărurile lor și esterii lor etilici' },\n\t{ value: '29042000', label: '- Derivați care conțin numai grupe nitro sau nitrozo' },\n\t{ value: '29043100', label: '- Acid perfluoroctansulfonic, sărurile acestuia și fluorură de sulfonil perfluorooctanică' },\n\t{ value: '29043100', label: '-- Acid perfluoroctansulfonic' },\n\t{ value: '29043200', label: '-- Perfluoroctan sulfonat de amoniu' },\n\t{ value: '29043300', label: '-- Perfluoroctan sulfonat de litiu' },\n\t{ value: '29043400', label: '-- Perfluoroctan sulfonat de potasiu' },\n\t{ value: '29043500', label: '-- Alte săruri ale acidului perfluoroctansulfonic' },\n\t{ value: '29043600', label: '-- Fluorură de sulfonil perfluorooctanică' },\n\t{ value: '29049100', label: '- Altele' },\n\t{ value: '29049100', label: '-- Triclornitrometan (cloropicrină)' },\n\t{ value: '29049900', label: '-- Altele' },\n\t{ value: '29050000', label: 'II. ALCOOLI ȘI DERIVAȚII LOR HALOGENAȚI, SULFONAȚI, NITRAȚI SAU NITROZAȚI' },\n\t{ value: '29050000', label: 'Alcooli aciclici și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29051100', label: '- Alcooli monohidroxilici saturați' },\n\t{ value: '29051100', label: '-- Metanol (alcool metilic)' },\n\t{ value: '29051200', label: '-- Propan-1-ol (alcool propilic) și propan-2-ol (alcool izopropilic)' },\n\t{ value: '29051300', label: '-- Butan-1-ol (alcool n-butilic)' },\n\t{ value: '29051400', label: '-- Alți butanoli' },\n\t{ value: '29051410', label: '--- 2-Metilpropan-2-ol (alcool terț-butilic)' },\n\t{ value: '29051490', label: '--- Altele' },\n\t{ value: '29051600', label: '-- Octanol (alcool octilic) și izomerii acestuia' },\n\t{ value: '29051620', label: '--- Octan-2-ol' },\n\t{ value: '29051685', label: '--- Altele' },\n\t{ value: '29051700', label: '-- Dodecan-1-ol (alcool lauric), hexadecan-1-ol (alcool cetilic) și octadecan-1-ol (alcool stearic)' },\n\t{ value: '29051900', label: '-- Altele' },\n\t{ value: '29052200', label: '- Alcooli monohidroxilici nesaturați' },\n\t{ value: '29052200', label: '-- Alcooli terpenici aciclici' },\n\t{ value: '29052900', label: '-- Altele' },\n\t{ value: '29052910', label: '--- Alcool alilic' },\n\t{ value: '29052990', label: '--- Altele' },\n\t{ value: '29053100', label: '- Dioli' },\n\t{ value: '29053100', label: '-- Etilen glicol (etandiol)' },\n\t{ value: '29053200', label: '-- Propilen glicol (propan-1,2-diol)' },\n\t{ value: '29053900', label: '-- Altele' },\n\t{ value: '29053920', label: '--- Butan-1,3-diol' },\n\t{ value: '29053926', label: '--- Butan-1,4-diol' },\n\t{ value: '29053926', label: '---- Butan-1,4-diol sau tetrametilen glicol (1,4-butandiol) cu un conținut de carbon din biomasă de 100 % în masă' },\n\t{ value: '29053928', label: '---- Altele' },\n\t{ value: '29053930', label: '--- 2,4,7,9-Tetrametildec-5-ină-4,7-diol' },\n\t{ value: '29053995', label: '--- Altele' },\n\t{ value: '29054100', label: '- Alți polialcooli' },\n\t{ value: '29054100', label: '-- 2-Etil-2-(hidroximetil)propan-1,3-diol (trimetilolpropan)' },\n\t{ value: '29054200', label: '-- Pentaeritritol' },\n\t{ value: '29054300', label: '-- Manitol' },\n\t{ value: '29054400', label: '-- D-Glucitol (sorbitol)' },\n\t{ value: '29054411', label: '--- În soluție apoasă' },\n\t{ value: '29054411', label: '---- Care conține D-manitol într-o proporție de maximum 2 % în greutate, calculat în raport cu conținutul de D-glucitol' },\n\t{ value: '29054419', label: '---- Altele' },\n\t{ value: '29054491', label: '--- Altele' },\n\t{ value: '29054491', label: '---- Care conțin D-manitol într-o proporție de maximum 2 % în greutate, calculat în raport cu conținutul de D-glucitol' },\n\t{ value: '29054499', label: '---- Altele' },\n\t{ value: '29054500', label: '-- Glicerină' },\n\t{ value: '29054900', label: '-- Altele' },\n\t{ value: '29055100', label: '- Derivați halogenați, sulfonați, nitrați sau nitrozați ai alcoolilor aciclici' },\n\t{ value: '29055100', label: '-- Etclorvinol (DCI)' },\n\t{ value: '29055900', label: '-- Altele' },\n\t{ value: '29055991', label: '--- 2,2-Bis(bromometil)propandiol' },\n\t{ value: '29055998', label: '--- Altele' },\n\t{ value: '29060000', label: 'Alcooli ciclici și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29061100', label: '- Ciclanici, ciclenici sau cicloterpenici' },\n\t{ value: '29061100', label: '-- Mentol' },\n\t{ value: '29061200', label: '-- Ciclohexanol, metilciclohexanoli și dimetilciclohexanoli' },\n\t{ value: '29061300', label: '-- Steroli și inozitoli' },\n\t{ value: '29061310', label: '--- Steroli' },\n\t{ value: '29061390', label: '--- Inozitoli' },\n\t{ value: '29061900', label: '-- Altele' },\n\t{ value: '29062100', label: '- Aromatici' },\n\t{ value: '29062100', label: '-- Alcool benzilic' },\n\t{ value: '29062900', label: '-- Altele' },\n\t{ value: '29070000', label: 'III. FENOLI ȘI FENOLI-ALCOOLI ȘI DERIVAȚII LOR HALOGENAȚI, SULFONAȚI, NITRAȚI SAU NITROZAȚI' },\n\t{ value: '29070000', label: 'Fenoli; fenoli-alcooli' },\n\t{ value: '29071100', label: '- Monofenoli' },\n\t{ value: '29071100', label: '-- Fenol (hidroxibenzen) și sărurile lui' },\n\t{ value: '29071200', label: '-- Crezoli și sărurile lor' },\n\t{ value: '29071300', label: '-- Octifenol, nonilfenol și izomerii lor; sărurile acestor produse' },\n\t{ value: '29071500', label: '-- Naftoli și sărurile lor' },\n\t{ value: '29071510', label: '--- 1-Naftol' },\n\t{ value: '29071590', label: '--- Altele' },\n\t{ value: '29071900', label: '-- Altele' },\n\t{ value: '29071910', label: '--- Xilenoli și sărurile lor' },\n\t{ value: '29071990', label: '--- Altele' },\n\t{ value: '29072100', label: '- Polifenoli; fenoli-alcooli' },\n\t{ value: '29072100', label: '-- Rezorcinol și sărurile lui' },\n\t{ value: '29072200', label: '-- Hidrochinonă și sărurile ei' },\n\t{ value: '29072300', label: '-- 4,4′-Izopropilidendifenol (bisfenol A, difenilolpropan) și sărurile lui' },\n\t{ value: '29072900', label: '-- Altele' },\n\t{ value: '29080000', label: 'Derivați halogenați, sulfonați, nitrați sau nitrozați ai fenolilor sau ai fenoli-alcoolilor' },\n\t{ value: '29081100', label: '- Derivați doar halogenați și sărurile lor' },\n\t{ value: '29081100', label: '-- Pentaclorfenol (ISO)' },\n\t{ value: '29081900', label: '-- Altele' },\n\t{ value: '29089100', label: '- Altele' },\n\t{ value: '29089100', label: '-- Dinoseb (ISO) și sărurile sale' },\n\t{ value: '29089200', label: '-- 4,6-Dinitro-o-crezol [DNOC (ISO)] și sărurile sale' },\n\t{ value: '29089900', label: '-- Altele' },\n\t{ value: '29090000', label: 'IV. ETERI, PEROXIZI AI ALCOOLILOR, PEROXIZI AI ETERILOR, PEROXIZI AI ACETALILOR ȘI AI SEMIACETALILOR, PEROXIZI AI CETONELOR, EPOXIZI CU TREI ATOMI ÎN CICLU, ACETALI ȘI SEMIACETALI ȘI DERIVAȚII LOR HALOGENAȚI, SULFONAȚI, NITRAȚI SAU NITROZAȚI' },\n\t{ value: '29090000', label: 'Eteri, eteri-alcooli, eteri-fenoli, eteri-alcooli-fenoli, peroxizi ai alcoolilor, peroxizi ai eterilor, peroxizi ai acetalilor și ai semiacetalilor, peroxizi ai cetonelor (cu compoziție chimică definită sau nu) și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29091100', label: '- Eteri aciclici și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29091100', label: '-- Eter etilic (oxid de dietil)' },\n\t{ value: '29091900', label: '-- Altele' },\n\t{ value: '29091910', label: '--- Terţ-butil etil eter (etil-terţ-butil-eter, ETBE)' },\n\t{ value: '29091990', label: '--- Altele' },\n\t{ value: '29092000', label: '- Eteri ciclanici, ciclenici, cicloterpenici și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29093000', label: '- Eteri aromatici și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29093010', label: '-- Difenil eter (oxid de difenil)' },\n\t{ value: '29093031', label: '-- Derivați halogenați numai cu brom' },\n\t{ value: '29093031', label: '--- Pentabromdifenil eter; 1,2,4,5-tetrabrom-3,6-bis (pentabromfenoxi)benzen' },\n\t{ value: '29093035', label: '--- 1,2-Bis(2,4,6-tribromfenoxi)etan, pentru producerea acrilo-nitril-butadien-stiren (ABS)' },\n\t{ value: '29093038', label: '--- Altele' },\n\t{ value: '29093090', label: '-- Altele' },\n\t{ value: '29094100', label: '- Eteri-alcooli și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29094100', label: '-- 2,2′-Oxidietanol (dietilenglicol)' },\n\t{ value: '29094300', label: '-- Eteri monobutilici de etilen glicol sau de dietilen glicol' },\n\t{ value: '29094400', label: '-- Alți eteri monoalchilici de etilen glicol sau de dietilen glicol' },\n\t{ value: '29094900', label: '-- Altele' },\n\t{ value: '29094911', label: '--- 2-(2-cloretoxi)etanol' },\n\t{ value: '29094980', label: '--- Altele' },\n\t{ value: '29095000', label: '- Eteri-fenoli, eteri-alcooli-fenoli și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29096000', label: '- Peroxizi ai alcoolilor, peroxizi ai eterilor, peroxizi ai acetalilor și ai semiacetalilor, peroxizi ai cetonelor și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29096010', label: '-- peroxizi ai acetalilor și ai semiacetalilor' },\n\t{ value: '29096090', label: '-- Altele' },\n\t{ value: '29100000', label: 'Epoxizi, epoxi-alcooli, epoxi-fenoli și epoxi-eteri cu trei atomi în ciclu și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29101000', label: '- Oxiran (oxid de etilenă)' },\n\t{ value: '29102000', label: '- Metiloxiran (oxid de propilenă)' },\n\t{ value: '29103000', label: '- 1-Clor-2,3-epoxipropan (epiclorhidrină)' },\n\t{ value: '29104000', label: '- Dieldrin (ISO, DCI)' },\n\t{ value: '29105000', label: '- Endrin (ISO)' },\n\t{ value: '29109000', label: '- Altele' },\n\t{ value: '29110000', label: 'Acetali și semiacetali, care conțin chiar alte funcții oxigenate, și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29120000', label: 'V. COMPUȘI CU FUNCȚIE ALDEHIDĂ' },\n\t{ value: '29120000', label: 'Aldehide, chiar conținând alte funcții oxigenate; polimeri ciclici ai aldehidelor; paraformaldehidă' },\n\t{ value: '29121100', label: '- Aldehide aciclice fără alte funcții oxigenate' },\n\t{ value: '29121100', label: '-- Metanal (formaldehidă)' },\n\t{ value: '29121200', label: '-- Etanal (acetaldehidă)' },\n\t{ value: '29121900', label: '-- Altele' },\n\t{ value: '29122100', label: '- Aldehide ciclice fără alte funcții oxigenate' },\n\t{ value: '29122100', label: '-- Benzaldehidă (aldehidă benzoică)' },\n\t{ value: '29122900', label: '-- Altele' },\n\t{ value: '29124100', label: '- Aldehide-alcooli, aldehide-eteri, aldehide-fenoli și aldehide care conțin alte funcții oxigenate' },\n\t{ value: '29124100', label: '-- Vanilina (metilprotocatechualdehida sau 4-hidroxi-3-metoxibenzaldehida)' },\n\t{ value: '29124200', label: '-- Etilvanilina (etil protocatechualdehida sau 3-etoxi-4-hidroxibenzaldehidă)' },\n\t{ value: '29124900', label: '-- Altele' },\n\t{ value: '29125000', label: '- Polimeri ciclici ai aldehidelor' },\n\t{ value: '29126000', label: '- Paraformaldehidă' },\n\t{ value: '29130000', label: 'Derivați halogenați, sulfonați, nitrați sau nitrozați ai produselor de la poziția 2912' },\n\t{ value: '29140000', label: 'VI. COMPUȘI CU FUNCȚIE CETONĂ SAU CU FUNCȚIE CHINONĂ' },\n\t{ value: '29140000', label: 'Cetone și chinone, chiar conținând alte funcții oxigenate, și derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29141100', label: '- Cetone aciclice fără alte funcții oxigenate' },\n\t{ value: '29141100', label: '-- Acetonă' },\n\t{ value: '29141200', label: '-- Butanonă (metiletilcetonă)' },\n\t{ value: '29141300', label: '-- 4-Metilpentan-2-onă (metilizobutilcetonă)' },\n\t{ value: '29141900', label: '-- Altele' },\n\t{ value: '29141910', label: '--- 5-Metilhexan-2-onă' },\n\t{ value: '29141990', label: '--- Altele' },\n\t{ value: '29142200', label: '- Cetone ciclanice, ciclenice sau cicloterpenice fără alte funcții oxigenate' },\n\t{ value: '29142200', label: '-- Ciclohexanonă și metilciclohexanone' },\n\t{ value: '29142300', label: '-- Ionone metilionone' },\n\t{ value: '29142900', label: '-- Altele' },\n\t{ value: '29143100', label: '- Cetone aromatice fără alte funcții oxigenate' },\n\t{ value: '29143100', label: '-- Fenilacetonă (fenilpropan-2-onă)' },\n\t{ value: '29143900', label: '-- Altele' },\n\t{ value: '29144000', label: '- Cetone-alcooli și cetone-aldehide' },\n\t{ value: '29144010', label: '-- 4-Hidroxi-4-metilpentan-2-onă (diacetonă alcool)' },\n\t{ value: '29144090', label: '-- Altele' },\n\t{ value: '29145000', label: '- Cetone-fenoli și cetone care conțin alte funcții oxigenate' },\n\t{ value: '29146100', label: '- Chinone' },\n\t{ value: '29146100', label: '-- Antrachinonă' },\n\t{ value: '29146200', label: '-- Coenzima Q10 [ubidecarenon (DCI)]' },\n\t{ value: '29146900', label: '-- Altele' },\n\t{ value: '29146910', label: '--- 1,4-Naftachinonă' },\n\t{ value: '29146980', label: '--- Altele' },\n\t{ value: '29147100', label: '- Derivați halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29147100', label: '-- Clordecon (ISO)' },\n\t{ value: '29147900', label: '-- Altele' },\n\t{ value: '29150000', label: 'VII. ACIZI CARBOXILICI, ANHIDRIDELE, HALOGENURILE, PEROXIZII ȘI PEROXIACIZII LOR; DERIVAȚII LOR HALOGENAȚI, SULFONAȚI, NITRAȚI SAU NITROZAȚI' },\n\t{ value: '29150000', label: 'Acizi monocarboxilici aciclici saturați și anhidridele, halogenurile, peroxizii și peroxiacizii lor; derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29151100', label: '- Acid formic, sărurile și esterii lui' },\n\t{ value: '29151100', label: '-- Acid formic' },\n\t{ value: '29151200', label: '-- Sărurile acidului formic' },\n\t{ value: '29151300', label: '-- Esterii acidului formic' },\n\t{ value: '29152100', label: '- Acid acetic și sărurile lui; anhidridă acetică' },\n\t{ value: '29152100', label: '-- Acid acetic' },\n\t{ value: '29152400', label: '-- Anhidridă acetică' },\n\t{ value: '29152900', label: '-- Altele' },\n\t{ value: '29153100', label: '- Esteri ai acidului acetic' },\n\t{ value: '29153100', label: '-- Acetat de etil' },\n\t{ value: '29153200', label: '-- Acetat de vinil' },\n\t{ value: '29153300', label: '-- Acetat de n-butil' },\n\t{ value: '29153600', label: '-- Dinoseb (ISO) acetat' },\n\t{ value: '29153900', label: '-- Altele' },\n\t{ value: '29154000', label: '- Acizi mono-, di- sau tricloracetici, sărurile și esterii lor' },\n\t{ value: '29155000', label: '- Acid propionic, sărurile și esterii lui' },\n\t{ value: '29156000', label: '- Acizi butanoici, acizi pentanoici, sărurile și esterii lor' },\n\t{ value: '29156011', label: '-- Acizi butanoici, sărurile și esterii lor' },\n\t{ value: '29156011', label: '--- 1-Izopropil-2,2-dimetiltrimetilen diisobutirat' },\n\t{ value: '29156019', label: '--- Altele' },\n\t{ value: '29156090', label: '-- Acizi pentanoici, sărurile și esterii lor' },\n\t{ value: '29157000', label: '- Acid palmitic, acid stearic, sărurile și esterii lor' },\n\t{ value: '29157040', label: '-- Acid palmitic, sărurile și esterii lui' },\n\t{ value: '29157050', label: '-- Acid stearic, sărurile și esterii lui' },\n\t{ value: '29159000', label: '- Altele' },\n\t{ value: '29159030', label: '-- Acid lauric, sărurile și esterii lui' },\n\t{ value: '29159070', label: '-- Altele' },\n\t{ value: '29160000', label: 'Acizi monocarboxilici aciclici nesaturați și acizi monocarboxilici ciclici, anhidridele, halogenurile, peroxizii și peroxiacizii lor; derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29161100', label: '- Acizi monocarboxilici aciclici nesaturați, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29161100', label: '-- Acid acrilic și sărurile lui' },\n\t{ value: '29161200', label: '-- Esterii acidului acrilic' },\n\t{ value: '29161300', label: '-- Acid metacrilic și sărurile lui' },\n\t{ value: '29161400', label: '-- Esterii acidului metacrilic' },\n\t{ value: '29161500', label: '-- Acizi oleic, linoleic sau linolenic, sărurile și esterii lor' },\n\t{ value: '29161600', label: '-- Binapacril (ISO)' },\n\t{ value: '29161900', label: '-- Altele' },\n\t{ value: '29161910', label: '--- Acizi undecenoici, sărurile și esterii lor' },\n\t{ value: '29161940', label: '--- Acid crotonic' },\n\t{ value: '29161995', label: '--- Altele' },\n\t{ value: '29162000', label: '- Acizi monocarboxilici ciclanici, ciclenici sau cicloterpenici, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29163100', label: '- Acizi monocarboxilici aromatici, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29163100', label: '-- Acid benzoic, sărurile și esterii lui' },\n\t{ value: '29163200', label: '-- Peroxid de benzoil și clorură de benzoil' },\n\t{ value: '29163400', label: '-- Acid fenilacetic și sărurile sale' },\n\t{ value: '29163900', label: '-- Altele' },\n\t{ value: '29163910', label: '--- Esteri ai acidului fenilacetic' },\n\t{ value: '29163990', label: '--- Altele' },\n\t{ value: '29170000', label: 'Acizi policarboxilici, anhidridele, halogenurile, peroxizii și peroxiacizii lor; derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29171100', label: '- Acizi policarboxilici aciclici, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29171100', label: '-- Acid oxalic, sărurile și esterii lui' },\n\t{ value: '29171200', label: '-- Acid adipic, sărurile și esterii lui' },\n\t{ value: '29171300', label: '-- Acid azelaic, acid sebacic, sărurile și esterii lor' },\n\t{ value: '29171310', label: '--- Acid sebacic' },\n\t{ value: '29171390', label: '--- Altele' },\n\t{ value: '29171400', label: '-- Anhidridă maleică' },\n\t{ value: '29171900', label: '-- Altele' },\n\t{ value: '29171910', label: '--- Acid malonic, sărurile și esterii săi' },\n\t{ value: '29171920', label: '--- Acid etan-1,2-dicarboxilic sau acid butandioic (acid succinic) cu un conținut de carbon din biomasă de 100 % în masă' },\n\t{ value: '29171980', label: '--- Altele' },\n\t{ value: '29172000', label: '- Acizi policarboxilici ciclanici, ciclenici sau cicloterpenici, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29173200', label: '- Acizi policarboxilici aromatici, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29173200', label: '-- Ortoftalații de dioctil' },\n\t{ value: '29173300', label: '-- Ortoftalații de dinonil sau de didecil' },\n\t{ value: '29173400', label: '-- Alți esteri ai acidului ortoftalic' },\n\t{ value: '29173500', label: '-- Anhidridă ftalică' },\n\t{ value: '29173600', label: '-- Acid tereftalic și sărurile lui' },\n\t{ value: '29173700', label: '-- Tereftalat de dimetil' },\n\t{ value: '29173900', label: '-- Altele' },\n\t{ value: '29173920', label: '--- Ester sau anhidridă ale acidului tetrabromftalic; acid benzen-1,2,4-tricarboxilic; isoftaloil diclorură care conține în greutate maximum 0,8 % tereftaloil diclorură; acid naftalen-1,4,5,8-tetracarboxilic; anhidridă tetraclorftalică; 3,5-bis(metoxicarbonil) benzensulfonat de sodiu' },\n\t{ value: '29173995', label: '--- Altele' },\n\t{ value: '29180000', label: 'Acizi carboxilici cu funcții oxigenate suplimentare și anhidridele, halogenurile, peroxizii și peroxiacizii lor; derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29181100', label: '- Acizi carboxilici cu funcție alcool, dar fără altă funcție oxigenată, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29181100', label: '-- Acid lactic, sărurile și esterii lui' },\n\t{ value: '29181200', label: '-- Acid tartric' },\n\t{ value: '29181300', label: '-- Sărurile și esterii acidului tartric' },\n\t{ value: '29181400', label: '-- Acid citric' },\n\t{ value: '29181500', label: '-- Sărurile și esterii acidului citric' },\n\t{ value: '29181600', label: '-- Acid gluconic, sărurile și esterii lui' },\n\t{ value: '29181700', label: '-- Acid 2,2-difenil-2-hidroxiacetic (acid benzilic)' },\n\t{ value: '29181800', label: '-- Clorbenzilat (ISO)' },\n\t{ value: '29181900', label: '-- Altele' },\n\t{ value: '29181930', label: '--- Acid colic, acid 3-α,12-α-dihidroxi-5-β-colan-24-oic (acid dezoxicolic), sărurile și esterii lor' },\n\t{ value: '29181940', label: '--- Acid 2,2-bis(hidroximetil)propionic' },\n\t{ value: '29181998', label: '--- Altele' },\n\t{ value: '29182100', label: '- Acizi carboxilici cu funcție fenolică, dar fără alte funcții oxigenate, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29182100', label: '-- Acid salicilic și sărurile lui' },\n\t{ value: '29182200', label: '-- Acid o-acetilsalicilic, sărurile și esterii lui' },\n\t{ value: '29182300', label: '-- Alți esteri ai acidului salicilic și sărurile lor' },\n\t{ value: '29182900', label: '-- Altele' },\n\t{ value: '29183000', label: '- Acizi carboxilici cu funcție aldehidă sau cetonă, dar fără alte funcții oxigenate, anhidridele, halogenurile, peroxizii, peroxiacizii și derivații lor' },\n\t{ value: '29189100', label: '- Altele' },\n\t{ value: '29189100', label: '-- 2,4,5-T (ISO) (acid 2,4,5-triclorfenoxiacetic), sărurile și esterii lui' },\n\t{ value: '29189900', label: '-- Altele' },\n\t{ value: '29189940', label: '--- Acid 2,6-dimetoxibenzoic; dicamba (ISO); fenoxiacetat de sodiu' },\n\t{ value: '29189990', label: '--- Altele' },\n\t{ value: '29190000', label: 'VIII. ESTERII ACIZILOR ANORGANICI AI NEMETALELOR ȘI SĂRURILE LOR, DERIVAȚII LOR HALOGENAȚI, SULFONAȚI, NITRAȚI SAU NITROZAȚI' },\n\t{ value: '29190000', label: 'Esteri fosforici și sărurile lor, inclusiv lactofosfați; derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29191000', label: '- Tris(2,3-dibromopropil) fosfat' },\n\t{ value: '29199000', label: '- Altele' },\n\t{ value: '29200000', label: 'Esterii altor acizi anorganici ai nemetalelor (cu excepția esterilor acizilor halogenhidrici) și sărurile lor; derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29201100', label: '- Esterii tiofosforici (fosfortioații) și sărurile lor; derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29201100', label: '-- Paration (ISO) și paration metil (ISO) (metil-paration)' },\n\t{ value: '29201900', label: '-- Altele' },\n\t{ value: '29202100', label: '- Esteri de fosfiți și sărurile lor; derivații lor halogenați, sulfonați, nitrați sau nitrozați' },\n\t{ value: '29202100', label: '-- Fosfit de dimetil' },\n\t{ value: '29202200', label: '-- Fosfit de dietil' },\n\t{ value: '29202300', label: '-- Fosfit de trimetil' },\n\t{ value: '29202400', label: '-- Fosfit de trietil' },\n\t{ value: '29202900', label: '-- Altele' },\n\t{ value: '29203000', label: '- Endosulfan (ISO)' },\n\t{ value: '29209000', label: '- Altele' },\n\t{ value: '29209010', label: '-- Esteri sulfurici și esteri carbonici; sărurile lor și derivații lor halogenați, sulfonați, nitrați, nitrozați' },\n\t{ value: '29209070', label: '-- Altele' },\n\t{ value: '29210000', label: 'IX. COMPUȘI CU FUNCȚII AZOTATE' },\n\t{ value: '29210000', label: 'Compuși cu funcție aminică' },\n\t{ value: '29211100', label: '- Monoamine aciclice și derivații lor; sărurile acestor produse' },\n\t{ value: '29211100', label: '-- Mono-, di- sau trimetilamină și sărurile lor' },\n\t{ value: '29211200', label: '-- Clorură de 2-(N,N-dimetilamino)etil, clorhidrat' },\n\t{ value: '29211300', label: '-- Clorură de 2-(N,N-dietilamino)etil, clorhidrat' },\n\t{ value: '29211400', label: '-- Clorură de 2-(N,N-diizopropilamino)etil, clorhidrat' },\n\t{ value: '29211900', label: '-- Altele' },\n\t{ value: '29211940', label: '--- 1,1,3,3-Tetrametilbutilamină' },\n\t{ value: '29211950', label: '--- Dietilamina și sărurile ei' },\n\t{ value: '29211999', label: '--- Altele' },\n\t{ value: '29212100', label: '- Poliamine aciclice și derivații lor; sărurile acestor produse' },\n\t{ value: '29212100', label: '-- Etilendiamină și sărurile ei' },\n\t{ value: '29212200', label: '-- Hexametilendiamină și sărurile ei' },\n\t{ value: '29212900', label: '-- Altele' },\n\t{ value: '29213000', label: '- Monoamine și poliamine ciclanice, ciclenice sau cicloterpenice și derivații lor; sărurile acestor produse' },\n\t{ value: '29213010', label: '-- Ciclohexilamină, ciclohexildimetilamina și sărurile lor' },\n\t{ value: '29213091', label: '-- Ciclohex-1,3-ilendiamina (1,3-diaminociclohexan)' },\n\t{ value: '29213099', label: '-- Altele' },\n\t{ value: '29214100', label: '- Monoamine aromatice și derivații lor; sărurile acestor produse' },\n\t{ value: '29214100', label: '-- Anilina și sărurile ei' },\n\t{ value: '29214200', label: '-- Derivați ai anilinei și sărurile acestor produse' },\n\t{ value: '29214300', label: '-- Toluidine și derivații lor; sărurile acestor produse' },\n\t{ value: '29214400', label: '-- Difenilamina și derivații ei; sărurile acestor produse' },\n\t{ value: '29214500', label: '-- 1-Naftilamină (alfa-naftilamină), 2-naftilamină (beta-naftilamină) și derivații lor; sărurile acestor produse' },\n\t{ value: '29214600', label: '-- Amfetamina (DCI), benzfetamina (DCI), dexamfetamina (DCI), etilamfetamina (DCI), fencamfamina (DCI), lefetamina (DCI), levamfetamina (DCI), mefenorex (DCI) și fentermina (DCI); sărurile acestor produse' },\n\t{ value: '29214900', label: '-- Altele' },\n\t{ value: '29215100', label: '- Poliamine aromatice și derivații lor; sărurile acestor produse' },\n\t{ value: '29215100', label: '-- o-, m-, p-Fenilendiamina, diaminotolueni și derivații lor; sărurile acestor produse' },\n\t{ value: '29215111', label: '--- o-, m-, p-Fenilendiamina, diaminotolueni și derivații lor halogenați, sulfonați, nitrați, nitrozați; sărurile acestor produse' },\n\t{ value: '29215111', label: '---- m-Fenilendiamină, de o puritate de minimum 99 % în greutate și care conține:\\n- maximum 1 % în greutate apă;\\n- maximum 200 mg/kg o-fenilendiamină; și\\n- maximum 450 mg/kg p-fenilendiamină' },\n\t{ value: '29215119', label: '---- Altele' },\n\t{ value: '29215190', label: '--- Altele' },\n\t{ value: '29215900', label: '-- Altele' },\n\t{ value: '29215950', label: '--- m-Fenilenbis(metilamină); 2,2′-diclor-4,4′-metilendianilină; 4,4′-bi-o-toluidină; 1,8-naftilendiamină' },\n\t{ value: '29215990', label: '--- Altele' },\n\t{ value: '29220000', label: 'Amino compuși cu funcții oxigenate' },\n\t{ value: '29221100', label: '- Amino-alcooli, alții decât cei care conțin mai mult de un tip de funcție oxigenată, eterii și esterii lor; sărurile acestor produse' },\n\t{ value: '29221100', label: '-- Monoetanolamina și sărurile ei' },\n\t{ value: '29221200', label: '-- Dietanolamina și sărurile ei' },\n\t{ value: '29221400', label: '-- Dextropropoxifen (DCI) și sărurile lui' },\n\t{ value: '29221500', label: '-- Trietanolamină' },\n\t{ value: '29221600', label: '-- Perfluoroctan sulfonat de dietanolamoniu' },\n\t{ value: '29221700', label: '-- Metildietanolamină și etildietanolamină' },\n\t{ value: '29221800', label: '-- 2-(N,N-diizopropilamino)etanol' },\n\t{ value: '29221900', label: '-- Altele' },\n\t{ value: '29222100', label: '- Amino-naftoli și alți amino-fenoli, alții decât cei care conțin mai mult de un tip de funcție oxigenată, eterii și esterii lor; sărurile acestor produse' },\n\t{ value: '29222100', label: '-- Acizi aminonaftolsulfonici și sărurile lor' },\n\t{ value: '29222900', label: '-- Altele' },\n\t{ value: '29223100', label: '- Amino-aldehide, amino-cetone și amino-chinone, altele decât cele cu funcții oxigenate diferite; sărurile acestor produse' },\n\t{ value: '29223100', label: '-- Amfepramona (DCI), metadona (DCI) și normetadona (DCI); sărurile acestor produse' },\n\t{ value: '29223900', label: '-- Altele' },\n\t{ value: '29224100', label: '- Amino-acizi, alții decât cei care conțin mai mult de un tip de funcție oxigenată și esterii lor; sărurile acestor produse' },\n\t{ value: '29224100', label: '-- Lizina și esterii ei; sărurile acestor produse' },\n\t{ value: '29224200', label: '-- Acid glutamic și sărurile lui' },\n\t{ value: '29224300', label: '-- Acid antranilic și sărurile lui' },\n\t{ value: '29224400', label: '-- Tilidina (DCI) și sărurile ei' },\n\t{ value: '29224900', label: '-- Altele' },\n\t{ value: '29224920', label: '--- beta-Alanină' },\n\t{ value: '29224985', label: '--- Altele' },\n\t{ value: '29225000', label: '- Amino-alcooli-fenoli; amino-acizi-fenoli și alți amino-compuși cu funcții oxigenate' },\n\t{ value: '29230000', label: 'Săruri și hidroxizi de amoniu cuaternari; lecitine și alte fosfoaminolipide, cu compoziție chimică definită sau nu' },\n\t{ value: '29231000', label: '- Colina și sărurile ei' },\n\t{ value: '29232000', label: '- Lecitine și alte fosfoaminolipide' },\n\t{ value: '29233000', label: '- Perfluoroctan sulfonat de tetraetilamoniu' },\n\t{ value: '29234000', label: '- Perfluoroctan sulfonat de didecildimetilamoniu' },\n\t{ value: '29239000', label: '- Altele' },\n\t{ value: '29240000', label: 'Compuși cu funcție carboxiamidă; compuși cu funcție amidă ai acidului carbonic' },\n\t{ value: '29241100', label: '- Amide (inclusiv carbamații) aciclice și derivații lor; sărurile acestor produse' },\n\t{ value: '29241100', label: '-- Meprobamat (DCI)' },\n\t{ value: '29241200', label: '-- Fluoracetamid (ISO), monocrotofos (ISO) și fosfamidon (ISO)' },\n\t{ value: '29241900', label: '-- Altele' },\n\t{ value: '29242100', label: '- Amide (inclusiv carbamații) ciclice și derivații lor; sărurile acestor produse' },\n\t{ value: '29242100', label: '-- Ureine și derivații lor; sărurile acestor produse' },\n\t{ value: '29242300', label: '-- Acid 2-acetamidobenzoic (acid N-acetilantranilic) și sărurile lui' },\n\t{ value: '29242400', label: '-- Etinamat (DCI)' },\n\t{ value: '29242500', label: '-- Alaclor (ISO)' },\n\t{ value: '29242900', label: '-- Altele' },\n\t{ value: '29242910', label: '--- Lidocaină (DCI)' },\n\t{ value: '29242970', label: '--- Altele' },\n\t{ value: '29250000', label: 'Compuși cu funcție carboximidă (inclusiv zaharină și sărurile ei) și compuși cu funcție imină' },\n\t{ value: '29251100', label: '- Imide și derivații lor; sărurile acestor produse' },\n\t{ value: '29251100', label: '-- Zaharină și sărurile ei' },\n\t{ value: '29251200', label: '-- Glutetimid (DCI)' },\n\t{ value: '29251900', label: '-- Altele' },\n\t{ value: '29251920', label: '--- 3,3′,4,4′,5,5′,6,6′-Octabrom-N,N′-etilen-diftalimidă; N,N′-etilenbis(4,5-dibromhexahidro-3,6-metanftalmidă)' },\n\t{ value: '29251995', label: '--- Altele' },\n\t{ value: '29252100', label: '- Imine și derivații lor; sărurile acestor produse' },\n\t{ value: '29252100', label: '-- Clordimeform (ISO)' },\n\t{ value: '29252900', label: '-- Altele' },\n\t{ value: '29260000', label: 'Compuși cu funcție nitril' },\n\t{ value: '29261000', label: '- Acrilonitril' },\n\t{ value: '29262000', label: '- 1-Cianoguanidină (diciandiamida)' },\n\t{ value: '29263000', label: '- Fenproporex (DCI) și sărurile lui; metadona (DCI) intermediar (4-ciano-2-dimetilamino-4,4-difenilbutan)' },\n\t{ value: '29264000', label: '- Alfa-fenilacetoacetonitril' },\n\t{ value: '29269000', label: '- Altele' },\n\t{ value: '29269020', label: '-- Izoftalonitril' },\n\t{ value: '29269070', label: '-- Altele' },\n\t{ value: '29270000', label: 'Compuși diazoici, azoici sau azoxici' },\n\t{ value: '29280000', label: 'Derivați organici ai hidrazinei sau ai hidroxilaminei' },\n\t{ value: '29280010', label: '- N,N-bis(2-metoxietil)hidroxilamină' },\n\t{ value: '29280090', label: '- Altele' },\n\t{ value: '29290000', label: 'Compuși cu alte funcții azotate' },\n\t{ value: '29291000', label: '- Izocianați' },\n\t{ value: '29299000', label: '- Altele' },\n\t{ value: '29300000', label: 'X. COMPUȘI ORGANO-ANORGANICI, COMPUȘI HETEROCICLICI, ACIZI NUCLEICI ȘI SĂRURILE LOR, SULFONAMIDE' },\n\t{ value: '29300000', label: 'Tiocompuși organici' },\n\t{ value: '29301000', label: '- 2-(N,N-dimetilamino) etanetiol' },\n\t{ value: '29302000', label: '- Tiocarbamați și ditiocarbamați' },\n\t{ value: '29303000', label: '- Mono-, di-sau tetrasulfuri de tiouram' },\n\t{ value: '29304000', label: '- Metionină' },\n\t{ value: '29304010', label: '-- Metionină (DCI)' },\n\t{ value: '29304090', label: '-- Altele' },\n\t{ value: '29306000', label: '- 2-(N,N-dietilamino)etantiol' },\n\t{ value: '29307000', label: '- Sulfură de bi(2-hidroxietil) [tiodiglicol (DCI)]' },\n\t{ value: '29308000', label: '- Aldicarb (ISO), captafol (ISO) și metamidofos (ISO)' },\n\t{ value: '29309000', label: '- Altele' },\n\t{ value: '29309013', label: '-- Cisteină și cistină' },\n\t{ value: '29309016', label: '-- Derivați de cisteină și cistină' },\n\t{ value: '29309030', label: '-- Acid DL-2-hidroxi-4-(metiltio) butiric' },\n\t{ value: '29309040', label: '-- 2,2′-tiodietil-bis[3-(3,5-di-terț-butil-4-hidroxifenil)propionat]' },\n\t{ value: '29309050', label: '-- Amestec de izomeri 4-metil-2,6-bis (metiltio)-m-fenilendiamină și 2-metil-4,6-bis (metiltio)-m-fenilendiamină' },\n\t{ value: '29309098', label: '-- Altele' },\n\t{ value: '29310000', label: 'Alți compuși organo-anorganici' },\n\t{ value: '29311000', label: '- Tetrametil de plumb și tetraetil de plumb' },\n\t{ value: '29312000', label: '- Compuși tributilstanici' },\n\t{ value: '29314100', label: '- Derivați organofosforici nehalogenați' },\n\t{ value: '29314100', label: '-- Metilfosfonat de dimetil' },\n\t{ value: '29314200', label: '-- Propilfosfonat de dimetil' },\n\t{ value: '29314300', label: '-- Etilfosfonat de dietil' },\n\t{ value: '29314400', label: '-- Acid metilfosfonic' },\n\t{ value: '29314500', label: '-- Sare de acid metilfosfonic și de (aminoiminometil)uree (1: 1)' },\n\t{ value: '29314600', label: '-- 2,4,6-tripropil-1,3,5,2,4,6-trioxatrifosfinan 2,4,6-trioxid' },\n\t{ value: '29314700', label: '-- (5-etil-2-metil-2-oxido-1,3,2-dioxafosfinan-5-il)metil metilfosfonat' },\n\t{ value: '29314800', label: '-- 3,9-dimetil-2,4,8,10-tetraoxa-3,9-difosfaspiro[5.5] undecan 3,9-dioxid' },\n\t{ value: '29314900', label: '-- Altele' },\n\t{ value: '29314910', label: '--- 3-(trihidroxisilil)propil metilfosfonat de sodiu' },\n\t{ value: '29314920', label: '--- bi[(5-etil-2-metil-2-oxido-1,3,2-dioxafosfinan-5-il)metil] metilfosfonat' },\n\t{ value: '29314930', label: '--- Acid etidronic (INN) (acid 1-hidroxietan-1,1-difosfonic) și sărurile sale' },\n\t{ value: '29314940', label: '--- (Nitrilotrimetandiil)tris(acid fosfonic), {etan-1,2-diilbis[nitrilobis(metilen)]}tetrakis(acid fosfonic), acid[(bis{2-[bis(fosfonometil)amino]etil}amino)metil]fosfonic, {hexan-1,6-diilbis[nitrilobis(metilen)]}tetrakis(acid fosfonic), {[(2-hidroxietil)imino]bis(metilen)}bis(acid fosfonic), și acid[(bis{6-[bis(fosfonometil)amino]hexil}amino)metil]fosfonic; sărurile acestor produse' },\n\t{ value: '29314990', label: '--- Altele' },\n\t{ value: '29315100', label: '- Derivați organofosforici halogenați' },\n\t{ value: '29315100', label: '-- Diclorură metilfosfonică' },\n\t{ value: '29315200', label: '-- Diclorură propilfosfonică' },\n\t{ value: '29315300', label: '-- O-(3-cloropropil) O-[4-nitro-3-(trifluormetil)fenil] metilfosfonotionat' },\n\t{ value: '29315400', label: '-- Triclorfon (ISO)' },\n\t{ value: '29315900', label: '-- Altele' },\n\t{ value: '29315910', label: '--- Difluorură de metilfosfonoil (difluorură metilfosfonică)' },\n\t{ value: '29315990', label: '--- Altele' },\n\t{ value: '29319000', label: '- Altele' },\n\t{ value: '29320000', label: 'Compuși heterociclici care conțin ca hetero-atom(i) numai oxigen' },\n\t{ value: '29321100', label: '- Compuși care conțin în moleculă un ciclu furan necondensat (hidrogenat sau nu)' },\n\t{ value: '29321100', label: '-- Tetrahidrofuran' },\n\t{ value: '29321200', label: '-- 2-Furaldehidă (furfuraldehidă, furfural)' },\n\t{ value: '29321300', label: '-- Alcool furfurilic și alcool tetrahidrofurfurilic' },\n\t{ value: '29321400', label: '-- Sucraloză' },\n\t{ value: '29321900', label: '-- Altele' },\n\t{ value: '29322000', label: '- Lactone' },\n\t{ value: '29322010', label: '-- Fenolftaleină; acid 1-hidroxi-4-[1-(4-hidroxi-3-metoxicarbonil-1-naftil)-3-oxo-1H,3H-benzo[de]izocromen-1-il]-6-octadeciloxi-2-naftoic; 3′-clor-6′-ciclohexilaminospiro[izobenzofuran-1(3H),9′-xanten]-3-onă; 6′-(N-etil-p-toluidino)-2′-metilspiro[izobenzofuran-1(3H),9′-xanten]-3-onă; 6-docosiloxi-1-hidroxi-4-[1-(4-hidroxi-3-metil-1-fenantril)-3-oxo-1H,3H-nafto[1,8-cd]piran-1-il]naftalen-2-carboxilat de metil' },\n\t{ value: '29322020', label: '-- gamma-Butirlactonă' },\n\t{ value: '29322090', label: '-- Altele' },\n\t{ value: '29329100', label: '- Altele' },\n\t{ value: '29329100', label: '-- Izosafrol' },\n\t{ value: '29329200', label: '-- 1-(1,3-Benzodioxal-5-il)propan-2-onă' },\n\t{ value: '29329300', label: '-- Piperonal' },\n\t{ value: '29329400', label: '-- Safrol' },\n\t{ value: '29329500', label: '-- Tetrahidroxocanabinoli (toți izomerii)' },\n\t{ value: '29329600', label: '-- Carbofuran (ISO)' },\n\t{ value: '29329900', label: '-- Altele' },\n\t{ value: '29330000', label: 'Compuși heterociclici cu heteroatom(i) de azot în exclusivitate' },\n\t{ value: '29331100', label: '- Compuși a căror structură conține un ciclu pirazol necondensat (hidrogenat sau nu)' },\n\t{ value: '29331100', label: '-- Fenazonă (antipirină) și derivații ei' },\n\t{ value: '29331110', label: '--- Propifenazonă (DCI)' },\n\t{ value: '29331190', label: '--- Altele' },\n\t{ value: '29331900', label: '-- Altele' },\n\t{ value: '29331910', label: '--- Fenilbutazonă (DCI)' },\n\t{ value: '29331990', label: '--- Altele' },\n\t{ value: '29332100', label: '- Compuși a căror structură conține un ciclu imidazol necondensat (hidrogenat sau nu)' },\n\t{ value: '29332100', label: '-- Hidantoină și derivații ei' },\n\t{ value: '29332900', label: '-- Altele' },\n\t{ value: '29332910', label: '--- Clorhidrat de nafazolină (DCIM) și nitrat de nafazolină (DCIM); fentolamină (DCI); clorhidrat de tolazolină (DCIM)' },\n\t{ value: '29332990', label: '--- Altele' },\n\t{ value: '29333100', label: '- Compuși a căror structură conține un ciclu piridină necondensat (hidrogenat sau nu)' },\n\t{ value: '29333100', label: '-- Piridină și sărurile ei' },\n\t{ value: '29333200', label: '-- Piperidină și sărurile ei' },\n\t{ value: '29333300', label: '-- Alfentanil (DCI), anileridină (DCI), bezitramidă (DCI), bromazepam (DCI), carfentanil (DCI), difenoxin (DCI), difenoxilat (DCI), dipipanonă (DCI), fentanil (DCI), ketobemidonă (DCI), metilfenidat (DCI), pentazocină (DCI), petidină (DCI), petidină (DCI) intermediar A, fenciclidină (DCI) (PCP), fenoperidină (DCI), pipradrol (DCI), piritramidă (DCI), propiram (DCI), remifentanil (DCI) și trimeperidină (DCI); sărurile acestora' },\n\t{ value: '29333400', label: '-- Alți fentanili și derivații lor' },\n\t{ value: '29333500', label: '-- 3-quinuclidin' },\n\t{ value: '29333600', label: '-- 4-anilino-N-fenetilpiperidină (ANPP)' },\n\t{ value: '29333700', label: '-- N-fenetil-4-piperidonă (NPP)' },\n\t{ value: '29333900', label: '-- Altele' },\n\t{ value: '29333910', label: '--- Iproniazidă (DCI); clorhidrat de cetobemidonă (DCIM); bromură de piridostigmină (DCI)' },\n\t{ value: '29333920', label: '--- 2,3,5,6-Tetraclorpiridină' },\n\t{ value: '29333925', label: '--- Acid 3,6-diclorpiridin-2-carboxilic' },\n\t{ value: '29333935', label: '--- 3,6-Diclorpiridin-2-carboxilat de 2-hidroxietilamoniu' },\n\t{ value: '29333940', label: '--- 2-Butoxietil (3,5,6-triclor-2-piridiloxi)acetat' },\n\t{ value: '29333945', label: '--- 3,5-Diclor-2,4,6-trifluorpiridină' },\n\t{ value: '29333950', label: '--- Ester metilic de fluoroxipir (ISO)' },\n\t{ value: '29333955', label: '--- 4-Metilpiridină' },\n\t{ value: '29333999', label: '--- Altele' },\n\t{ value: '29334100', label: '- Compuși a căror structură conține un ciclu chinoleină sau izochinoleină (hidrogenate sau nu), fără alte condensări' },\n\t{ value: '29334100', label: '-- Levorfanol (DCI) și sărurile lui' },\n\t{ value: '29334900', label: '-- Altele' },\n\t{ value: '29334910', label: '--- Derivati halogenați ai chinoleinei; derivați ai acizilor chinolein-carboxilici' },\n\t{ value: '29334930', label: '--- Dextrometorfan (DCI) și sărurile lui' },\n\t{ value: '29334990', label: '--- Altele' },\n\t{ value: '29335200', label: '- Compuși a căror structură conține un ciclu pirimidină (hidrogenată sau nu) sau piperazină' },\n\t{ value: '29335200', label: '-- Maloniluree (acid barbituric) și sărurile ei' },\n\t{ value: '29335300', label: '-- Alobarbital (DCI), amobarbital (DCI), barbital (DCI), butalbital (DCI), butobarbital, ciclobarbital (DCI), metilfenobarbital (DCI), pentobarbital (DCI), fenobarbital (DCI), secbutabarbital (DCI), secobarbital (DCI) și vinilbital (DCI); sărurile acestor produse' },\n\t{ value: '29335310', label: '--- Fenobarbital (DCI), barbital (DCI) și sărurile lor' },\n\t{ value: '29335390', label: '--- Altele' },\n\t{ value: '29335400', label: '-- Alte derivate de maloniluree (acid barbituric); sărurile acestor produse' },\n\t{ value: '29335500', label: '-- Loprazolam (DCI), meclocualonă (DCI), metacualonă (DCI) și zipeprol; sărurile acestor produse' },\n\t{ value: '29335900', label: '-- Altele' },\n\t{ value: '29335910', label: '--- Diazinon (ISO)' },\n\t{ value: '29335920', label: '--- 1,4-Diazabiciclo[2.2.2]octan (trietilendiamină)' },\n\t{ value: '29335995', label: '--- Altele' },\n\t{ value: '29336100', label: '- Compuși a căror structură conține un ciclu triazină necondensat (hidrogenat sau nu)' },\n\t{ value: '29336100', label: '-- Melamină' },\n\t{ value: '29336900', label: '-- Altele' },\n\t{ value: '29336910', label: '--- Atrazină (ISO); propazină (ISO); simazină (ISO); hexahidro-1,3,5-trinitro-1,3,5-triazină (hexogen, trimetilentrinitramină)' },\n\t{ value: '29336940', label: '--- Metenamină (DCI) (hexametilentetramină); 2,6-di-terț-butil-4-[4,6-bis(octiltio)-1,3,5-triazin-2-il-amino]fenol' },\n\t{ value: '29336980', label: '--- Altele' },\n\t{ value: '29337100', label: '- Lactame' },\n\t{ value: '29337100', label: '-- 6-Hexanlactamă (epsilon-caprolactamă)' },\n\t{ value: '29337200', label: '-- Clobazam (DCI) și metiprilonă (DCI)' },\n\t{ value: '29337900', label: '-- Alte lactame' },\n\t{ value: '29339100', label: '- Altele' },\n\t{ value: '29339100', label: '-- Alprazolam (DCI), camazepam (DCI), clordiazepoxid (DCI), clonazepam (DCI), clorazepat, delorazepam (DCI), diazepam (DCI), estazolam (DCI); fludiazepam (DCI), flunitrazepam (DCI), flurazepam (DCI), halazepam (DCI), loflazepat de etil (DCI), lorazepam(DCI), lormetazepam (DCI), mazindol (DCI), medazepam (DCI), midazolam (DCI), nimetazepam (DCI), nitrazepam (DCI), nordazepam (DCI), oxazepam (DCI), pinazepam (DCI), prazepam (DCI), pirovaleronă (DCI), temazepam (DCI), tetrazepam (DCI) și triazolam (DCI); sărurile acestor produse' },\n\t{ value: '29339110', label: '--- Clordiazepoxid (DCI)' },\n\t{ value: '29339190', label: '--- Altele' },\n\t{ value: '29339200', label: '-- Azinfos-metil (ISO)' },\n\t{ value: '29339900', label: '-- Altele' },\n\t{ value: '29339920', label: '--- Indol, 3-metilindol (scatol), 6-alil-6,7-dihidro-5H-dibenzo[c,e]azepină (azapetină), fenindamină (DCI) și sărurile lor, clorhidrat de imipramină (DCIM)' },\n\t{ value: '29339950', label: '--- 2,4-Di-terț-butil-6-(5-clorbenzotriazol-2-il) fenol' },\n\t{ value: '29339980', label: '--- Altele' },\n\t{ value: '29340000', label: 'Acizi nucleici și sărurile lor, cu compoziție chimica definită sau nu, alți compuși heterociclici' },\n\t{ value: '29341000', label: '- Compuși a căror structură conține un ciclu tiazol (hidrogenat sau nu) necondensat' },\n\t{ value: '29342000', label: '- Compuși a căror structură conține cicluri benzotiazol (hidrogenate sau nu), fără alte condensări' },\n\t{ value: '29342020', label: '-- Disulfură de di(benzotiazol-2-il); benzotiazol-2-tiol (mercaptobenzotiazol) și sărurile lui' },\n\t{ value: '29342080', label: '-- Altele' },\n\t{ value: '29343000', label: '- Compuși a căror structură conține cicluri fenotiazină (hidrogenate sau nu), fără alte condensări' },\n\t{ value: '29343010', label: '-- Tietilperazină (DCI); tioridazină (DCI) și sărurile ei' },\n\t{ value: '29343090', label: '-- Altele' },\n\t{ value: '29349100', label: '- Altele' },\n\t{ value: '29349100', label: '-- Aminorex (DCI), brotizolam (DCI), clotiazepam (DCI), cloxazolam (DCI), dextromoramidă (DCI), haloxazolam (DCI), ketazolam (DCI), mesocarb (DCI), oxazolam (DCI), pemolină (DCI), fendimetrazina (DCI), fenmetrazină (DCI) și sufentanil (DCI); sărurile acestor produse' },\n\t{ value: '29349200', label: '-- Alți fentanili și derivații lor' },\n\t{ value: '29349900', label: '-- Altele' },\n\t{ value: '29349960', label: '--- Clorprotixen (DCI); tenalidină (DCI), tartrații și maleații ei; furazolidon (DCI); acid 7-aminocefalosporanic; săruri și esteri ai acidului (6R,7R)-3-acetoximetil-7-[(R)-2-formiloxi-2-fenilacetamido]-8-oxo-5-tia-1-azabiciclo[4.2.0]oct-2-enă-2-carboxilic; bromură de 1-[2-(1,3-dioxan-2-il)etil]-2-metilpiridină' },\n\t{ value: '29349990', label: '--- Altele' },\n\t{ value: '29350000', label: 'Sulfonamide' },\n\t{ value: '29351000', label: '- Sulfonamidă de N-metilperfluoroctan' },\n\t{ value: '29352000', label: '- Sulfonamidă de N-etilperfluoroctan' },\n\t{ value: '29353000', label: '- Sulfonamidă de N-etil-N-(2-hidroxietil) perfluoroctan' },\n\t{ value: '29354000', label: '- Sulfonamidă de N-(2-hidroxietil)-N-metilperfluoroctan' },\n\t{ value: '29355000', label: '- Alte sulfonamide de perfluoroctan' },\n\t{ value: '29359000', label: '- Altele' },\n\t{ value: '29359030', label: '-- 3-{1-[7-(hexadecilsulfonilamino)-1H-indol-3-il]-3-oxo-1H,3H-nafto[1,8-cd]piran-1-il]-N,N-dimetil-1H-indol-7-sulfonamidă; metosulam (ISO)' },\n\t{ value: '29359090', label: '-- Altele' },\n\t{ value: '29360000', label: 'XI. PROVITAMINE, VITAMINE ȘI HORMONI' },\n\t{ value: '29360000', label: 'Provitamine și vitamine, naturale sau obținute prin sinteză (inclusiv concentratele naturale), precum și derivații lor utilizați în principal ca vitamine, amestecați sau nu între ei, chiar în diferite soluții' },\n\t{ value: '29362100', label: '- Vitamine și derivații lor, neamestecate' },\n\t{ value: '29362100', label: '-- Vitaminele A și derivații lor' },\n\t{ value: '29362200', label: '-- Vitamina B1 și derivații ei' },\n\t{ value: '29362300', label: '-- Vitamina B2 și derivații ei' },\n\t{ value: '29362400', label: '-- Acid D- sau DL-pantotenic (vitamina B5) și derivații săi' },\n\t{ value: '29362500', label: '-- Vitamina B6 și derivații ei' },\n\t{ value: '29362600', label: '-- Vitamina B12 și derivații ei' },\n\t{ value: '29362700', label: '-- Vitamina C și derivații ei' },\n\t{ value: '29362800', label: '-- Vitamina E și derivații ei' },\n\t{ value: '29362900', label: '-- Alte vitamine și derivații lor' },\n\t{ value: '29369000', label: '- Altele, inclusiv concentrate naturale' },\n\t{ value: '29370000', label: 'Hormoni, prostaglandine, tromboxani și leucotriene, naturali sau reproduși prin sinteză; derivații și analogii lor structurali, inclusiv polipeptidele cu catena modificată, utilizați în principal ca hormoni' },\n\t{ value: '29371100', label: '- Hormoni polipeptidici, hormoni proteici și hormoni glicoproteici, derivații și analogii lor structurali' },\n\t{ value: '29371100', label: '-- Somatotropina, derivații și analogii ei structurali' },\n\t{ value: '29371200', label: '-- Insulină și sărurile ei' },\n\t{ value: '29371900', label: '-- Altele' },\n\t{ value: '29372100', label: '- Hormoni steroizi, derivații și analogii lor structurali' },\n\t{ value: '29372100', label: '-- Cortizon, hidrocortizon, prednison (dehidrocortizon) și prednisolon (dehidrohidrocortizon)' },\n\t{ value: '29372200', label: '-- Derivați halogenați ai hormonilor corticosteroizi' },\n\t{ value: '29372300', label: '-- Estrogeni și progestogeni' },\n\t{ value: '29372900', label: '-- Altele' },\n\t{ value: '29375000', label: '- Prostaglandine, tromboxani și leucotriene, derivații și analogii lor structurali' },\n\t{ value: '29379000', label: '- Altele' },\n\t{ value: '29380000', label: 'XII. GLICOZIDE ȘI ALCALOIZI, NATURALI SAU REPRODUȘI PRIN SINTEZĂ; SĂRURILE, ETERII, ESTERII LOR ȘI ALȚI DERIVAȚI' },\n\t{ value: '29380000', label: 'Glicozide, naturale sau reproduse prin sinteză, sărurile, eterii, esterii lor și alți derivați' },\n\t{ value: '29381000', label: '- Rutozida (rutina) și derivații ei' },\n\t{ value: '29389000', label: '- Altele' },\n\t{ value: '29389010', label: '-- Glicozidele digitalelor' },\n\t{ value: '29389030', label: '-- Acid glicirizic și glicirizați' },\n\t{ value: '29389090', label: '-- Altele' },\n\t{ value: '29390000', label: 'Alcaloizi, naturali sau reproduși prin sinteză, sărurile, eterii, esterii lor și alți derivați' },\n\t{ value: '29391100', label: '- Alcalozii opiului și derivatii lor; sărurile acestor produse' },\n\t{ value: '29391100', label: '-- Concentrat din tulpini de mac; buprenorfina (DCI), codeina, dihidrocodeina (DCI), etilmorfina, etorfina (DCI), heroina, hidrocodona (DCI), hidromorfona (DCI), morfina, nicomorfina (DCI), oxicodona (DCI), oximorfona (DCI), folcodina (DCI), tebacona (DCI) și tebaina; sărurile acestor produse' },\n\t{ value: '29391900', label: '-- Altele' },\n\t{ value: '29392000', label: '- Alcaloizii arborelui de chinină și derivații lor; sărurile acestor produse' },\n\t{ value: '29393000', label: '- Cafeina și sărurile ei' },\n\t{ value: '29394100', label: '- Alcaloizii efedrei și derivații lor; sărurile acestora' },\n\t{ value: '29394100', label: '-- Efedrina și sărurile ei' },\n\t{ value: '29394200', label: '-- Pseudoefedrină (DCI) și sărurile ei' },\n\t{ value: '29394300', label: '-- Catina (DCI) și sărurile ei' },\n\t{ value: '29394400', label: '-- Norefedrină și sărurile ei' },\n\t{ value: '29394500', label: '-- Levometamfetamină, metamfetamină (DCI), racemat de metamfetamină și sărurile lor' },\n\t{ value: '29394900', label: '-- Altele' },\n\t{ value: '29395100', label: '- Teofilină și aminofilină (teofilin-etilendiamină) și derivații lor; sărurile acestor produse' },\n\t{ value: '29395100', label: '-- Fenetilina (DCI) și sărurile ei' },\n\t{ value: '29395900', label: '-- Altele' },\n\t{ value: '29396100', label: '- Alcaloizii cornului de secară și derivații lor; sărurile acestor produse' },\n\t{ value: '29396100', label: '-- Ergometrină (DCI) și sărurile ei' },\n\t{ value: '29396200', label: '-- Ergotamină (DCI) și sărurile ei' },\n\t{ value: '29396300', label: '-- Acidul lisergic și sărurile lui' },\n\t{ value: '29396900', label: '-- Altele' },\n\t{ value: '29397200', label: '- Altele, de origine vegetală' },\n\t{ value: '29397200', label: '-- Cocaină, ecgonină; săruri, esteri și alți derivați ai acestor produse' },\n\t{ value: '29397900', label: '-- Altele' },\n\t{ value: '29397910', label: '--- Nicotina și sărurile, eterii, esterii și alți derivați ai acesteia' },\n\t{ value: '29397990', label: '--- Altele' },\n\t{ value: '29398000', label: '- Altele' },\n\t{ value: '29400000', label: 'XIII. ALȚI COMPUȘI ORGANICI' },\n\t{ value: '29400000', label: 'Zaharuri chimic pure, cu excepția zaharozei, a lactozei, a maltozei, a glucozei și a fructozei (levuloză); eteri, acetali și esteri ai zaharurilor și sărurile lor, altele decât produsele de la pozițiile 2937, 2938 și 2939' },\n\t{ value: '29410000', label: 'Antibiotice' },\n\t{ value: '29411000', label: '- Penicilinele și derivații lor cu structură de acid penicilanic; sărurile acestor produse' },\n\t{ value: '29412000', label: '- Streptomicinele și derivații lor; sărurile acestor produse' },\n\t{ value: '29412030', label: '-- Dihidrostreptomicină, săruri, esteri și hidrați ai acesteia' },\n\t{ value: '29412080', label: '-- Altele' },\n\t{ value: '29413000', label: '- Tetraciclinele și derivații lor; sărurile acestor produse' },\n\t{ value: '29414000', label: '- Cloramfenicol și derivații lui; sărurile acestor produse' },\n\t{ value: '29415000', label: '- Eritromicină și derivații ei; sărurile acestor produse' },\n\t{ value: '29419000', label: '- Altele' },\n\t{ value: '29420000', label: 'Alți compuși organici' },\n\t{ value: '30000000', label: 'PRODUSE FARMACEUTICE' },\n\t{ value: '30010000', label: 'Glande și alte organe pentru utilizări organoterapeutice, uscate, chiar pulverizate; extracte pentru utilizări organoterapeutice de glande sau de alte organe sau din secrețiile acestora; heparină și sărurile acesteia; alte substanțe de origine umană sau animală preparate pentru utilizări terapeutice sau profilactice, nedenumite și necuprinse în altă parte' },\n\t{ value: '30012000', label: '- Extracte de glande, de alte organe sau din secrețiile acestora' },\n\t{ value: '30012010', label: '-- De origine umană' },\n\t{ value: '30012090', label: '-- Altele' },\n\t{ value: '30019000', label: '- Altele' },\n\t{ value: '30019020', label: '-- De origine umană' },\n\t{ value: '30019091', label: '-- Altele' },\n\t{ value: '30019091', label: '--- Heparină și sărurile acesteia' },\n\t{ value: '30019098', label: '--- Altele' },\n\t{ value: '30020000', label: 'Sânge uman; sânge animal preparat pentru utilizări terapeutice, profilactice sau de diagnosticare; antiseruri, alte fracțiuni ale sângelui, produse imunologice, chiar modificate sau obținute pe cale biotehnologică; vaccinuri, toxine, culturi de microorganisme (excluzând drojdiile) și produse similare; culturi celulare, chiar modificate' },\n\t{ value: '30021200', label: '- Antiseruri, alte fracțiuni ale sângelui, produse imunologice, chiar modificate sau obținute pe cale biotehnologică' },\n\t{ value: '30021200', label: '-- Antiseruri și alte fracțiuni ale sângelui' },\n\t{ value: '30021300', label: '-- Produse imunologice, neamestecate, necondiționate în doze măsurate sau în forme sau ambalaje pentru vânzarea cu amănuntul' },\n\t{ value: '30021400', label: '-- Produse imunologice, amestecate, necondiționate în doze măsurate sau în forme sau ambalaje pentru vânzarea cu amănuntul' },\n\t{ value: '30021500', label: '-- Produse imunologice, condiționate în doze măsurate sau în forme sau ambalaje pentru vânzarea cu amănuntul' },\n\t{ value: '30024100', label: '- Vaccinuri, toxine, culturi de microorganisme (excluzând drojdiile) și produse similare' },\n\t{ value: '30024100', label: '-- Vaccinuri pentru medicina umană' },\n\t{ value: '30024110', label: '--- Vaccinuri împotriva coronavirusurilor legate de SARS (specia SARS-CoV)' },\n\t{ value: '30024190', label: '--- Altele' },\n\t{ value: '30024200', label: '-- Vaccinuri pentru medicina veterinară' },\n\t{ value: '30024900', label: '-- Altele' },\n\t{ value: '30025100', label: '- Culturi celulare, chiar modificate' },\n\t{ value: '30025100', label: '-- Produse pentru terapie celulară' },\n\t{ value: '30025900', label: '-- Altele' },\n\t{ value: '30029000', label: '- Altele' },\n\t{ value: '30029010', label: '-- Sânge uman' },\n\t{ value: '30029030', label: '-- Sânge animal preparat în vederea utilizării terapeutice, profilactice sau de diagnostic' },\n\t{ value: '30029090', label: '-- Altele' },\n\t{ value: '30030000', label: 'Medicamente (cu excepția produselor de la pozițiile 3002, 3005 sau 3006), constituite din produse amestecate între ele, preparate pentru utilizări terapeutice sau profilactice, dar neprezentate sub formă de doze, nici condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '30031000', label: '- Care conțin peniciline sau derivați ai acestor produse, cu structură de acid penicilanic sau care conțin streptomicine sau derivați ai acestor produse' },\n\t{ value: '30032000', label: '- Altele, care conțin antibiotice' },\n\t{ value: '30033100', label: '- Altele, care conțin hormoni sau alte produse de la poziția 2937' },\n\t{ value: '30033100', label: '-- Care conțin insulină' },\n\t{ value: '30033900', label: '-- Altele' },\n\t{ value: '30034100', label: '- Altele, care conțin alcaloizi sau derivați ai acestora' },\n\t{ value: '30034100', label: '-- Care conțin efedrină sau săruri ale acesteia' },\n\t{ value: '30034200', label: '-- Care conțin pseudoefedrină (DCI) sau săruri ale acesteia' },\n\t{ value: '30034300', label: '-- Care conțin norefedrină sau săruri ale acesteia' },\n\t{ value: '30034900', label: '-- Altele' },\n\t{ value: '30036000', label: '- Altele, care conțin principii active anti-malarie descrise în nota de subpoziție 2 din prezentul capitol' },\n\t{ value: '30039000', label: '- Altele' },\n\t{ value: '30040000', label: 'Medicamente (cu excepția produselor de la pozițiile 3002, 3005 sau 3006) constituite din produse amestecate sau neamestecate, preparate în scopuri terapeutice sau profilactice, prezentate sub formă de doze (inclusiv cele care se administrează transdermic) sau condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '30041000', label: '- Care conțin peniciline sau derivați ai acestor produse, cu structură de acid penicilanic sau care conțin streptomicine sau derivați ai acestor produse' },\n\t{ value: '30042000', label: '- Altele, care conțin antibiotice' },\n\t{ value: '30043100', label: '- Altele, care conțin hormoni sau alte produse de la poziția 2937' },\n\t{ value: '30043100', label: '-- Care conțin insulină' },\n\t{ value: '30043200', label: '-- Care conțin hormoni corticosteroizi, derivații sau analogii lor structurali' },\n\t{ value: '30043900', label: '-- Altele' },\n\t{ value: '30044100', label: '- Altele, care conțin alcaloizi sau derivați ai acestora' },\n\t{ value: '30044100', label: '-- Care conțin efedrină sau săruri ale acesteia' },\n\t{ value: '30044200', label: '-- Care conțin pseudoefedrină (DCI) sau săruri ale acesteia' },\n\t{ value: '30044300', label: '-- Care conțin norefedrină sau săruri ale acesteia' },\n\t{ value: '30044900', label: '-- Altele' },\n\t{ value: '30045000', label: '- Altele, care conțin vitamine sau alte produse de la poziția 2936' },\n\t{ value: '30046000', label: '- Altele, care conțin principii active anti-malarie descrise în nota de subpoziție 2 din prezentul capitol' },\n\t{ value: '30049000', label: '- Altele' },\n\t{ value: '30050000', label: 'Vată, tifoane, feșe și articole similare (de exemplu, pansamente, plasturi adezivi, cataplasme) impregnate sau acoperite cu substanțe farmaceutice sau condiționate pentru vânzarea cu amănuntul în scopuri medicale, chirurgicale, stomatologice sau veterinare' },\n\t{ value: '30051000', label: '- Pansamente adezive și alte articole prevăzute cu un strat adeziv' },\n\t{ value: '30059000', label: '- Altele' },\n\t{ value: '30059010', label: '-- Vată și articole din vată' },\n\t{ value: '30059031', label: '-- Altele' },\n\t{ value: '30059031', label: '--- Din materiale textile' },\n\t{ value: '30059031', label: '---- Tifon și articole din tifon' },\n\t{ value: '30059050', label: '---- Altele' },\n\t{ value: '30059099', label: '--- Altele' },\n\t{ value: '30060000', label: 'Preparate și articole farmaceutice menționate la nota 4 a capitolului' },\n\t{ value: '30061000', label: '- Catguturi chirurgicale sterile, ligaturi sterile similare pentru suturi chirurgicale (inclusiv firele dentare sau chirurgicale sterile absorbabile) și adezivi sterili pentru țesuturi organice utilizate în chirurgie pentru închiderea plăgilor; laminarii sterile; hemostatice resorbabile sterile pentru chirurgie sau lucrări stomatologice; bariere antiaderențe sterile pentru chirurgie sau stomatologie, resorbabile sau neresorbabile' },\n\t{ value: '30061010', label: '-- Catguturi sterile' },\n\t{ value: '30061030', label: '-- Bariere antiaderențe sterile pentru chirurgie sau stomatologie, resorbabile sau neresorbabile' },\n\t{ value: '30061090', label: '-- Altele' },\n\t{ value: '30063000', label: '- Preparate opacifiante pentru examinări radiografice; reactivi de diagnostic concepuți pentru a fi administrați pacienților' },\n\t{ value: '30064000', label: '- Cimenturi și alte produse pentru obturații dentare; cimenturi pentru refaceri osoase' },\n\t{ value: '30065000', label: '- Truse și cutii complete pentru prim ajutor' },\n\t{ value: '30066000', label: '- Preparate chimice anticoncepționale pe bază de hormoni, de alte produse de la poziția 2937 sau de spermicide' },\n\t{ value: '30067000', label: '- Preparate prezentate sub formă de gel, concepute pentru a fi utilizate în medicina umană sau veterinară ca lubrifianți pentru anumite părți ale corpului în timpul operațiilor chirurgicale sau examenelor medicale sau ca agent de legătură între corp și instrumentele medicale' },\n\t{ value: '30069100', label: '- Altele' },\n\t{ value: '30069100', label: '-- Articole identificabile ca fiind pentru stomie' },\n\t{ value: '30069200', label: '-- Deșeuri farmaceutice' },\n\t{ value: '30069300', label: '-- Placebo și truse pentru trialuri clinice orb (sau dublu-orb) pentru un trial clinic recunoscut, prezentate în doze măsurate' },\n\t{ value: '31000000', label: 'ÎNGRĂȘĂMINTE' },\n\t{ value: '31010000', label: 'Îngrășăminte de origine animală sau vegetală, chiar amestecate între ele sau tratate chimic; îngrășăminte obținute prin amestecarea sau tratarea chimică a produselor de origine animală sau vegetală' },\n\t{ value: '31020000', label: 'Îngrășăminte minerale sau chimice azotate' },\n\t{ value: '31021000', label: '- Uree, chiar în soluție apoasă' },\n\t{ value: '31021010', label: '-- Uree, cu un conținut de azot de peste 45 % din greutatea produsului anhidru în stare uscată' },\n\t{ value: '31021090', label: '-- Altele' },\n\t{ value: '31022100', label: '- Sulfat de amoniu; săruri duble și amestecuri de sulfat de amoniu și de nitrat de amoniu' },\n\t{ value: '31022100', label: '-- Sulfat de amoniu' },\n\t{ value: '31022900', label: '-- Altele' },\n\t{ value: '31023000', label: '- Nitrat de amoniu, chiar in soluție apoasă' },\n\t{ value: '31023010', label: '-- În soluție apoasă' },\n\t{ value: '31023090', label: '-- Altele' },\n\t{ value: '31024000', label: '- Amestecuri de nitrat de amoniu cu carbonat de calciu sau alte substanțe anorganice fără putere de fertilizare' },\n\t{ value: '31024010', label: '-- Cu un conținut de azot de maximum 28 % din greutate' },\n\t{ value: '31024090', label: '-- Cu un conținut de azot de peste 28 % din greutate' },\n\t{ value: '31025000', label: '- Nitrat de sodiu' },\n\t{ value: '31026000', label: '- Săruri duble și amestecuri de nitrat de calciu și de nitrat de amoniu' },\n\t{ value: '31028000', label: '- Amestecuri de uree și de nitrat de amoniu în soluții apoase sau amoniacale' },\n\t{ value: '31029000', label: '- Altele, inclusiv amestecurile nedenumite la subpozițiile precedente' },\n\t{ value: '31030000', label: 'Îngrășăminte minerale sau chimice fosfatice' },\n\t{ value: '31031100', label: '- Superfosfați' },\n\t{ value: '31031100', label: '-- Care conțin peste 35 % din greutate pentaoxid de difosfor (P2O5)' },\n\t{ value: '31031900', label: '-- Altele' },\n\t{ value: '31039000', label: '- Altele' },\n\t{ value: '31040000', label: 'Îngrășăminte minerale sau chimice potasice' },\n\t{ value: '31042000', label: '- Clorură de potasiu' },\n\t{ value: '31042010', label: '-- Cu un conținut de potasiu calculat în K2O de maximum 40 % din greutatea produsului anhidru în stare uscată' },\n\t{ value: '31042050', label: '-- Cu un conținut de potasiu calculat în K2O de peste 40 %, dar de maximum 62 % din greutatea produsului anhidru în stare uscată' },\n\t{ value: '31042090', label: '-- Cu un conținut de potasiu calculat în K2O de peste 62 %, din greutatea produsului anhidru în stare uscată' },\n\t{ value: '31043000', label: '- Sulfat de potasiu' },\n\t{ value: '31049000', label: '- Altele' },\n\t{ value: '31050000', label: 'Îngrășăminte minerale sau chimice care conțin două sau trei dintre elemente fertilizante azot, fosfor și potasiu; alte îngrășăminte; produse de la acest capitol prezentate fie în tablete sau forme similare, fie în ambalaje cu o greutate brută de maximum 10 kg' },\n\t{ value: '31051000', label: '- Produsele acestui capitol prezentate fie în tablete sau forme similare, fie în ambalaje cu o greutate brută de maximum 10 kg' },\n\t{ value: '31052000', label: '- Îngrășăminte minerale sau chimice care conțin cele trei elemente fertilizante azot, fosfor și potasiu' },\n\t{ value: '31052010', label: '-- Cu un conținut de azot de peste 10 % din greutatea produsului anhidru în stare uscată' },\n\t{ value: '31052090', label: '-- Altele' },\n\t{ value: '31053000', label: '- Hidrogenoortofosfat de diamoniu (fosfat diamoniu)' },\n\t{ value: '31054000', label: '- Dihidrogenoortofosfat de amoniu (fosfat monoamoniu), chiar în amestec cu hidrogenoortofosfat de diamoniu (fosfat diamoniu)' },\n\t{ value: '31055100', label: '- Alte îngrășăminte minerale sau chimice care conțin două elemente fertilizante azot și fosfor' },\n\t{ value: '31055100', label: '-- Care conțin nitrați și fosfați' },\n\t{ value: '31055900', label: '-- Altele' },\n\t{ value: '31056000', label: '- Îngrășăminte minerale sau chimice care conțin două elemente fertilizante fosfor și potasiu' },\n\t{ value: '31059000', label: '- Altele' },\n\t{ value: '31059020', label: '-- Cu un conținut de azot de peste 10 % din greutatea produsului anhidru în stare uscată' },\n\t{ value: '31059080', label: '-- Altele' },\n\t{ value: '32000000', label: 'EXTRACTE TANANTE SAU COLORANTE; TANINI ȘI DERIVAȚII LOR; PIGMENȚI ȘI ALTE SUBSTANȚE COLORANTE; VOPSELE ȘI LACURI; MASTICURI; CERNELURI' },\n\t{ value: '32010000', label: 'Extracte tanante de origine vegetală; tanini și sărurile lor, eterii, esterii și alți derivați ai acestor produse' },\n\t{ value: '32011000', label: '- Extract de quebracho' },\n\t{ value: '32012000', label: '- Exctract de mimoză (salcâm australian)' },\n\t{ value: '32019000', label: '- Altele' },\n\t{ value: '32019020', label: '-- Extracte de sumac, de vallonia, de stejar sau de castan' },\n\t{ value: '32019090', label: '-- Altele' },\n\t{ value: '32020000', label: 'Produse tanante organice sintetice; produse tanante anorganice; preparate tanante, care conțin chiar produse tanante naturale; preparate enzimatice pentru pretăbăcire' },\n\t{ value: '32021000', label: '- Produse tanante organice sintetice' },\n\t{ value: '32029000', label: '- Altele' },\n\t{ value: '32030000', label: 'Substanțe colorante de origine vegetală sau animală (inclusiv extracte colorante, cu excepția negrului de origine animală), chiar cu compoziție chimică definită; preparate menţionate la nota 3 de capitol, pe bază de substanțe colorante de origine vegetală sau animală' },\n\t{ value: '32030010', label: '- Substanțe colorante de origine vegetală și preparate pe baza acestora' },\n\t{ value: '32030090', label: '- Substanțe colorante de origine animală și preparate pe baza acestora' },\n\t{ value: '32040000', label: 'Substanțe colorante organice sintetice, chiar cu compoziție chimică definită; preparate menţionate la nota 3 de capitol, pe bază de substanțe colorante organice sintetice; produse organice sintetice de tipul celor utilizate ca agenți de strălucire fluorescentă sau ca luminofori, chiar cu compoziție chimică definită' },\n\t{ value: '32041100', label: '- Substanțe colorante organice sintetice și preparate menţionate la nota 3 de capitol, pe baza acestor substanțe colorante' },\n\t{ value: '32041100', label: '-- Coloranți dispersați și preparate pe baza acestor coloranți' },\n\t{ value: '32041200', label: '-- Coloranți acizi, chiar metalizați, și preparate pe baza acestor coloranți; coloranți cu mordanți și preparate pe baza acestor coloranți' },\n\t{ value: '32041300', label: '-- Coloranți bazici și preparate pe baza acestor coloranți' },\n\t{ value: '32041400', label: '-- Coloranți direcți și preparate pe baza acestor coloranți' },\n\t{ value: '32041500', label: '-- Coloranți de cadă (inclusiv cei utilizabili în această stare, ca pigmenți) și preparate pe baza acestor coloranți' },\n\t{ value: '32041600', label: '-- Coloranți reactivi și preparate pe baza acestor coloranți' },\n\t{ value: '32041700', label: '-- Coloranți-pigment și preparate pe baza acestor coloranți' },\n\t{ value: '32041800', label: '-- Substanțe colorante pe bază de carotenoide și preparate pe bază de aceste substanțe' },\n\t{ value: '32041900', label: '-- Altele, inclusiv amestecurile de două sau mai multe substanțe colorante de la subpozițiile 3204 11-3204 19' },\n\t{ value: '32042000', label: '- Produse organice sintetice de tipul celor utilizate ca agenți de strălucire fluorescentă' },\n\t{ value: '32049000', label: '- Altele' },\n\t{ value: '32050000', label: 'Lacuri colorante; preparate menţionate la nota 3 de capitol, pe bază de lacuri colorante' },\n\t{ value: '32060000', label: 'Alte substanțe colorante; preparate menționate la nota 3 de capitol, altele decât cele de la pozițiile 3203, 3204 sau 3205; produse anorganice de tipul celor utilizate ca luminofori, chiar cu compoziție chimică definită' },\n\t{ value: '32061100', label: '- Pigmenți și preparate pe bază de dioxid de titan' },\n\t{ value: '32061100', label: '-- Care conțin dioxid de titan minimum 80 % din greutatea produsului uscat' },\n\t{ value: '32061900', label: '-- Altele' },\n\t{ value: '32062000', label: '- Pigmenți și preparate pe bază de compuși ai cromului' },\n\t{ value: '32064100', label: '- Alte substanțe colorante și alte preparate' },\n\t{ value: '32064100', label: '-- Ultramarin și preparatele pe bază de ultramarin' },\n\t{ value: '32064200', label: '-- Litopon și alți pigmenți și preparate pe bază de sulfură de zinc' },\n\t{ value: '32064900', label: '-- Altele' },\n\t{ value: '32064910', label: '--- Magnetită' },\n\t{ value: '32064970', label: '--- Altele' },\n\t{ value: '32065000', label: '- Produse anorganice de tipul celor utilizate ca luminofori' },\n\t{ value: '32070000', label: 'Pigmenți, opacifianți și culori preparate, compoziții vitrifiabile, engobe, produse lichide pentru obținerea luciului și preparate similare, de tipul celor utilizate în industria ceramică, a sticlei și a emailurilor; frite de sticlă și altă sticlă sub formă de pulbere, de granule, de lamele sau de fulgi' },\n\t{ value: '32071000', label: '- Pigmenți, opacifianți și culori preparate și preparate similare' },\n\t{ value: '32072000', label: '- Compoziții vitrifiabile, engobe și preparate similare' },\n\t{ value: '32072010', label: '-- Engobe' },\n\t{ value: '32072090', label: '-- Altele' },\n\t{ value: '32073000', label: '- Produse lichide pentru obținerea luciului și preparate similare' },\n\t{ value: '32074000', label: '- Frite și altă sticlă, sub formă de pulbere, granule, lamele sau fulgi' },\n\t{ value: '32074040', label: '-- Sticlă sub formă de fulgi cu lungimea de minimum 0,1 mm și maximum 3,5 mm și grosimea de minimum 2 microni și maximum 5 microni; sticlă sub formă de pulbere sau granule, care conține dioxid de siliciu minimum 99 % în greutate' },\n\t{ value: '32074085', label: '-- Altele' },\n\t{ value: '32080000', label: 'Lacuri și vopsele (inclusiv emailuri) pe bază de polimeri sintetici sau de polimeri naturali modificați, dispersați sau dizolvați într-un mediu neapos; soluții definite la nota 4 a capitolului' },\n\t{ value: '32081000', label: '- Pe bază de poliesteri' },\n\t{ value: '32081010', label: '-- Soluții definite la nota 4 a capitolului' },\n\t{ value: '32081090', label: '-- Altele' },\n\t{ value: '32082000', label: '- Pe bază de polimeri acrilici sau vinilici' },\n\t{ value: '32082010', label: '-- Soluții definite la nota 4 de capitol' },\n\t{ value: '32082090', label: '-- Altele' },\n\t{ value: '32089000', label: '- Altele' },\n\t{ value: '32089011', label: '-- Soluții definite la nota 4 de capitol' },\n\t{ value: '32089011', label: '--- Poliuretan obținut din 2,2′-(terț-butilimino)dietanol și 4,4′-metilen-diciclohexil diizocianat, sub formă de soluție în N,N-dimetilacetamidă care conține polimer minimum 48 % în greutate' },\n\t{ value: '32089013', label: '--- Copolimer de p-cresol și divinilbenzen, sub formă de soluție în N,N-dimetilacetamidă care conține polimer minimum 48 % în greutate' },\n\t{ value: '32089019', label: '--- Altele' },\n\t{ value: '32089091', label: '-- Altele' },\n\t{ value: '32089091', label: '--- Pe bază de polimeri sintetici' },\n\t{ value: '32089099', label: '--- Pe bază de polimeri naturali modificați chimic' },\n\t{ value: '32090000', label: 'Lacuri și vopsele (inclusiv emailuri) pe bază de polimeri sintetici sau de polimeri naturali modificați, dispersați sau dizolvați într-un mediu apos' },\n\t{ value: '32091000', label: '- Pe bază de polimeri acrilici sau vinilici' },\n\t{ value: '32099000', label: '- Altele' },\n\t{ value: '32100000', label: 'Alte lacuri și vopsele (inclusiv emailuri şi vopsele de apă); pigmenți de apă preparați de tipul celor utilizați pentru finisarea pieilor' },\n\t{ value: '32100010', label: '- Lacuri și vopsele pe bază de ulei' },\n\t{ value: '32100090', label: '- Altele' },\n\t{ value: '32110000', label: 'Sicativi preparați' },\n\t{ value: '32120000', label: 'Pigmenți (inclusiv pulberi și fulgi metalici) dispersați în medii neapoase, sub formă de lichid sau de pastă, de tipul celor utilizate pentru fabricarea vopselelor (inclusiv a emailurilor); folii pentru marcare prin presare la cald; tincturi și alte substanțe colorante prezentate în forme sau ambalaje condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '32121000', label: '- Folii pentru marcare prin presare la cald' },\n\t{ value: '32129000', label: '- Altele' },\n\t{ value: '32130000', label: 'Culori pentru pictură artistică, pentru uz didactic, pictarea firmelor, modificarea nuanțelor, amuzament și culori similare în tuburi, tablete, flacoane, sticle, tăvițe sau în alte forme similare de ambalaj' },\n\t{ value: '32131000', label: '- Seturi de culori' },\n\t{ value: '32139000', label: '- Altele' },\n\t{ value: '32140000', label: 'Chit pentru geamuri, chit pentru îmbinări, cimenturi de rășină și alte masticuri; glet pentru zugrăvit; gleturi nerefractare de tipul celor utilizate în construcții la faţade, pereţi interiori, podele, tavane şi similare' },\n\t{ value: '32141000', label: '- Chit pentru geamuri, chit pentru îmbinări, cimenturi de rășină și alte masticuri; gleturi pentru zugrăvit' },\n\t{ value: '32141010', label: '-- Chit pentru geamuri, chit pentru îmbinări, cimenturi de rășină și alte masticuri' },\n\t{ value: '32141090', label: '-- Gleturi pentru zugrăvit' },\n\t{ value: '32149000', label: '- Altele' },\n\t{ value: '32150000', label: 'Cerneluri de imprimat, de scris sau de desen și alte cerneluri, chiar concentrate sau sub forme solide' },\n\t{ value: '32151100', label: '- Cerneluri de imprimat' },\n\t{ value: '32151100', label: '-- Negre' },\n\t{ value: '32151900', label: '-- Altele' },\n\t{ value: '32159000', label: '- Altele' },\n\t{ value: '32159020', label: '-- Cartușe de cerneală (fără un cap de imprimare integrat) destinate introducerii în aparatele de la subpozițiile 8443 31, 8443 32 sau 8443 39, și dotate cu componente mecanice sau electrice; cerneală solidă în forme special concepute pentru introducerea în aparatele de la subpozițiile 8443 31, 8443 32 sau 8443 39' },\n\t{ value: '32159070', label: '-- Altele' },\n\t{ value: '33000000', label: 'ULEIURI ESENȚIALE ȘI REZINOIDE; PRODUSE PREPARATE DE PARFUMERIE SAU DE TOALETĂ ȘI PREPARATE COSMETICE' },\n\t{ value: '33010000', label: 'Uleiuri esențiale (deterpenizate sau nu), inclusiv cele așa-zise \"concrete\" sau \"absolute\"; rezinoide; oleorășini de extracție; soluții concentrate de uleiuri esențiale în grăsimi, în uleiuri fixe (grase), în ceară sau în substanțe similare, obținute prin extracție din flori sau macerare; subproduse terpenice reziduale de la deterpenizarea uleiurilor esențiale; ape distilate aromatice și soluții apoase ale uleiurilor esențiale' },\n\t{ value: '33011200', label: '- Uleiuri esențiale de citrice' },\n\t{ value: '33011200', label: '-- De portocală' },\n\t{ value: '33011210', label: '--- Nedeterpenizate' },\n\t{ value: '33011290', label: '--- Deterpenizate' },\n\t{ value: '33011300', label: '-- De lămâie' },\n\t{ value: '33011310', label: '--- Nedeterpenizate' },\n\t{ value: '33011390', label: '--- Deterpenizate' },\n\t{ value: '33011900', label: '-- Altele' },\n\t{ value: '33011920', label: '--- Nedeterpenizate' },\n\t{ value: '33011980', label: '--- Deterpenizate' },\n\t{ value: '33012400', label: '- Uleiuri esențiale, altele decât cele de citrice' },\n\t{ value: '33012400', label: '-- De mentă piperată (Mentha piperita)' },\n\t{ value: '33012410', label: '--- Nedeterpenizate' },\n\t{ value: '33012490', label: '--- Deterpenizate' },\n\t{ value: '33012500', label: '-- De altă mentă' },\n\t{ value: '33012510', label: '--- Nedeterpenizate' },\n\t{ value: '33012590', label: '--- Deterpenizate' },\n\t{ value: '33012900', label: '-- Altele' },\n\t{ value: '33012911', label: '--- De cuișoare, de niaouli, de ylang-ylang' },\n\t{ value: '33012911', label: '---- Nedeterpenizate' },\n\t{ value: '33012931', label: '---- Deterpenizate' },\n\t{ value: '33012942', label: '--- Altele' },\n\t{ value: '33012942', label: '---- Nedeterpenizate' },\n\t{ value: '33012942', label: '----- De trandafir' },\n\t{ value: '33012949', label: '----- Altele' },\n\t{ value: '33012971', label: '---- Deterpenizate' },\n\t{ value: '33012971', label: '----- De mușcată, de iasomie, de vetiver' },\n\t{ value: '33012979', label: '----- De levănțică sau de levandină' },\n\t{ value: '33012991', label: '----- Altele' },\n\t{ value: '33013000', label: '- Rezinoide' },\n\t{ value: '33019000', label: '- Altele' },\n\t{ value: '33019010', label: '-- Subproduse terpenice rezultate din deterpenizarea uleiurilor esențiale' },\n\t{ value: '33019021', label: '-- Oleorășini de extracție' },\n\t{ value: '33019021', label: '--- De lemn dulce și de hamei' },\n\t{ value: '33019030', label: '--- Altele' },\n\t{ value: '33019090', label: '-- Altele' },\n\t{ value: '33020000', label: 'Amestecuri de substanțe odoriferante și amestecuri (inclusiv soluțiile alcoolice) pe baza uneia sau mai multor substanțe odoriferante, de tipul celor utilizate ca materii prime pentru industrie; alte preparate pe bază de substanțe odoriferante, de tipul celor utilizate pentru fabricarea băuturilor' },\n\t{ value: '33021000', label: '- De tipul celor utilizate în industria alimentară sau a băuturilor' },\n\t{ value: '33021010', label: '-- De tipul celor utilizate în industria băuturilor' },\n\t{ value: '33021010', label: '--- Preparate care conțin toți agenții aromatizanți care caracterizează o băutură' },\n\t{ value: '33021010', label: '---- Cu o concentrație de alcool de peste 0,5 % vol' },\n\t{ value: '33021021', label: '---- Altele' },\n\t{ value: '33021021', label: '----- Care nu conțin grăsimi provenite din lapte, zaharoză, izoglucoză, glucoză, amidon sau fecule sau care conțin în greutate sub 1,5 % grăsimi din lapte, sub 5 % zaharoză sau izoglucoză, sub 5 % glucoză sau amidon sau fecule' },\n\t{ value: '33021029', label: '----- Altele' },\n\t{ value: '33021040', label: '--- Altele' },\n\t{ value: '33021090', label: '-- De tipul celor utilizate în industria alimentară' },\n\t{ value: '33029000', label: '- Altele' },\n\t{ value: '33029010', label: '-- Soluții alcoolice' },\n\t{ value: '33029090', label: '-- Altele' },\n\t{ value: '33030000', label: 'Parfumuri și ape de toaletă' },\n\t{ value: '33030010', label: '- Parfumuri' },\n\t{ value: '33030090', label: '- Ape de toaletă' },\n\t{ value: '33040000', label: 'Produse de înfrumusețare sau de machiaj și preparate pentru întreținerea sau îngrijirea pielii (altele decât medicamentele), inclusiv preparate de protecție împotriva soarelui și preparate pentru bronzare; preparate pentru manichiură sau pedichiură' },\n\t{ value: '33041000', label: '- Preparate de machiaj pentru buze' },\n\t{ value: '33042000', label: '- Preparate de machiaj pentru ochi' },\n\t{ value: '33043000', label: '- Preparate pentru manichiură sau pedichiură' },\n\t{ value: '33049100', label: '- Altele' },\n\t{ value: '33049100', label: '-- Pudră, inclusiv compactă' },\n\t{ value: '33049900', label: '-- Altele' },\n\t{ value: '33050000', label: 'Preparate pentru îngrijirea părului' },\n\t{ value: '33051000', label: '- Șampoane' },\n\t{ value: '33052000', label: '- Preparate pentru ondularea sau îndreptarea permanentă a părului' },\n\t{ value: '33053000', label: '- Lacuri pentru păr' },\n\t{ value: '33059000', label: '- Altele' },\n\t{ value: '33060000', label: 'Preparate pentru igiena bucală sau dentară, inclusiv pudrele și cremele pentru facilitarea aderenței protezelor dentare; fire utilizate pentru curățarea spațiilor interdentare (fire dentare), în ambalaje individuale pentru vânzarea cu amănuntul' },\n\t{ value: '33061000', label: '- Preparate pentru curățarea dinților' },\n\t{ value: '33062000', label: '- Ață utilizată pentru curățarea spațiilor interdentare (ață dentară)' },\n\t{ value: '33069000', label: '- Altele' },\n\t{ value: '33070000', label: 'Preparate pentru preras, ras sau după ras, deodorante corporale, preparate pentru baie, depilatoare, alte preparate de parfumerie sau de toaletă și alte preparate cosmetice, nedenumite și necuprinse în altă parte; deodorante pentru încăperi, preparate chiar parfumate, care au sau nu proprietăți dezinfectante' },\n\t{ value: '33071000', label: '- Preparate pentru preras, ras sau după ras' },\n\t{ value: '33072000', label: '- Deodorante corporale și antisudorifice' },\n\t{ value: '33073000', label: '- Săruri parfumate și alte preparate pentru baie' },\n\t{ value: '33074100', label: '- Preparate pentru parfumarea sau dezodorizarea încăperilor, inclusiv preparatele odoriferante pentru ceremonii religioase' },\n\t{ value: '33074100', label: '-- \"Agarbatti\" și alte preparate odoriferante acționând prin ardere' },\n\t{ value: '33074900', label: '-- Altele' },\n\t{ value: '33079000', label: '- Altele' },\n\t{ value: '34000000', label: 'SĂPUNURI, AGENȚI DE SUPRAFAȚĂ ORGANICI, PREPARATE PENTRU SPĂLAT, PREPARATE LUBRIFIANTE, CEARĂ ARTIFICIALĂ, CEARĂ PREPARATĂ, PRODUSE PENTRU ÎNTREȚINERE, LUMÂNĂRI ȘI ARTICOLE SIMILARE, PASTE PENTRU MODELARE, \"CEARĂ DENTARĂ\" ȘI PREPARATE DENTARE PE BAZĂ DE IPSOS' },\n\t{ value: '34010000', label: 'Săpunuri; produse și preparate organice tensioactive folosite ca săpun, în formă de bare, în calupuri, în bucăți, chiar modelate, care conțin sau nu săpun; produse și preparate organice tensioactive pentru spălarea pielii, sub formă lichidă sau cremă, condiționate pentru vânzarea cu amănuntul, care conțin sau nu săpun; hârtie, vată, fetru și materiale nețesute, impregnate, îmbibate sau acoperite cu săpun sau detergent' },\n\t{ value: '34011100', label: '- Săpunuri, produse și preparate organice tensioactive, sub formă de bare, calupuri, bucăți, chiar modelate și hârtie, vată, fetru și materiale nețesute, impregnate, îmbibate sau acoperite cu săpun sau detergent' },\n\t{ value: '34011100', label: '-- De toaletă (inclusiv produsele medicinale)' },\n\t{ value: '34011900', label: '-- Altele' },\n\t{ value: '34012000', label: '- Săpunuri sub alte forme' },\n\t{ value: '34012010', label: '-- Fulgi, foiţe, granule sau pudră' },\n\t{ value: '34012090', label: '-- Altele' },\n\t{ value: '34013000', label: '- Produse și preparate organice tensioactive pentru spălarea pielii, sub formă lichidă sau cremă, condiționate pentru vânzarea cu amănuntul, care conțin sau nu săpun' },\n\t{ value: '34020000', label: 'Agenți organici de suprafață (alții decât săpunurile); preparate tensioactive, preparate pentru spălat (inclusiv preparatele auxiliare pentru spălat) și preparate de curățat, care conțin sau nu săpun, altele decât cele de la poziția 3401' },\n\t{ value: '34023100', label: '- Agenți activi de suprafață organici anionici, chiar condiționați pentru vânzarea cu amănuntul' },\n\t{ value: '34023100', label: '-- Acizi sulfonici de alchilbenzeni lineari și sărurile lor' },\n\t{ value: '34023900', label: '-- Altele' },\n\t{ value: '34023910', label: '--- Soluții apoase care conțin alchil [oxidi(benzensulfonat)] de disodiu, minimum 30 % în greutate, dar maximum 50 %' },\n\t{ value: '34023990', label: '--- Altele' },\n\t{ value: '34024100', label: '- Alți agenți activi de suprafață organici, chiar condiționați pentru vânzarea cu amănuntul' },\n\t{ value: '34024100', label: '-- Cationici' },\n\t{ value: '34024200', label: '-- Neionici' },\n\t{ value: '34024900', label: '-- Altele' },\n\t{ value: '34025000', label: '- Preparate condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '34025010', label: '-- Preparate tensioactive' },\n\t{ value: '34025090', label: '-- Preparate pentru spălat și preparate pentru curățat' },\n\t{ value: '34029000', label: '- Altele' },\n\t{ value: '34029010', label: '-- Preparate tensioactive' },\n\t{ value: '34029090', label: '-- Preparate pentru spălat și preparate pentru curățat' },\n\t{ value: '34030000', label: 'Preparate lubrifiante (inclusiv lichide de răcire, preparate pentru degriparea șuruburilor, preparate antirugină sau anticorozive și preparate pentru demulare pe bază de lubrifianți) și preparate de tipul celor utilizate pentru tratarea cu ulei și gresarea materialelor textile, pieilor, blănurilor sau altor materiale, cu excepția preparatelor care conțin, cu rol de constituenți de bază, minimum 70 % în greutate uleiuri din petrol sau din minerale bituminoase' },\n\t{ value: '34031100', label: '- Care conțin uleiuri din petrol sau din minerale bituminoase' },\n\t{ value: '34031100', label: '-- Preparate pentru tratarea materialelor textile, a pieilor, a blănurilor sau a altor materiale' },\n\t{ value: '34031900', label: '-- Altele' },\n\t{ value: '34031910', label: '--- Care conțin minimum 70 % în greutate uleiuri din petrol sau din minerale bituminoase neconsiderate constituenți de bază' },\n\t{ value: '34031920', label: '--- Lubrifianți cu un conținut de carbon din biomasă de cel puțin 25 % în masă și biodegradabili la un nivel de minimum 60%' },\n\t{ value: '34031980', label: '--- Altele' },\n\t{ value: '34039100', label: '- Altele' },\n\t{ value: '34039100', label: '-- Preparate pentru tratarea materialelor textile, a pieilor, a blănurilor sau a altor materiale' },\n\t{ value: '34039900', label: '-- Altele' },\n\t{ value: '34040000', label: 'Ceară artificială și ceară preparată' },\n\t{ value: '34042000', label: '- Din poli(oxietilenă) (polietilenglicol)' },\n\t{ value: '34049000', label: '- Altele' },\n\t{ value: '34050000', label: 'Ceară și creme pentru încălțăminte, ceară de parchet, materiale de lustruit pentru caroserii, sticlă sau metal, pastă și praf pentru curățat și preparate similare (chiar sub formă de hârtie, vată, fetru, materiale nețesute, materiale plastice sau cauciuc alveolar, impregnate, îmbibate sau acoperite cu astfel de preparate), fără a include ceara de la poziția 3404' },\n\t{ value: '34051000', label: '- Ceară, creme și preparate similare pentru încălțăminte sau piele' },\n\t{ value: '34052000', label: '- Ceară de parchet, creme și preparate similare pentru întreținerea mobilei din lemn, a parchetului sau a altor obiecte din lemn' },\n\t{ value: '34053000', label: '- Materiale de lustruit și preparate similare pentru caroserii, altele decât cele pentru lustruirea metalelor' },\n\t{ value: '34054000', label: '- Paste, prafuri și alte preparate pentru curățat' },\n\t{ value: '34059000', label: '- Altele' },\n\t{ value: '34059010', label: '-- Materiale pentru lustruirea metalelor' },\n\t{ value: '34059090', label: '-- Altele' },\n\t{ value: '34060000', label: 'Lumânări și articole similare' },\n\t{ value: '34070000', label: 'Paste pentru modelat, inclusiv cele prezentate pentru joacă; compoziții numite \"ceară pentru stomatologie\" sau \"materiale pentru impresiuni dentare\", prezentate în seturi, în ambalaje pentru vânzarea cu amănuntul sau în plachete, potcoave, batoane sau forme similare; alte compoziții pentru stomatologie, pe bază de ipsos sau ghips (ghips calcinat sau sulfat de calciu)' },\n\t{ value: '35000000', label: 'SUBSTANȚE ALBUMINOIDE; PRODUSE PE BAZĂ DE AMIDON SAU DE FECULE MODIFICATE; CLEIURI; ENZIME' },\n\t{ value: '35010000', label: 'Cazeină, cazeinați și alți derivați ai cazeinei; cleiuri de cazeină' },\n\t{ value: '35011000', label: '- Cazeină' },\n\t{ value: '35011010', label: '-- Destinată fabricării fibrelor textile artificiale' },\n\t{ value: '35011050', label: '-- Destinată utilizărilor industriale, altele decât fabricarea produselor alimentare sau furajere' },\n\t{ value: '35011090', label: '-- Altele' },\n\t{ value: '35019000', label: '- Altele' },\n\t{ value: '35019010', label: '-- Cleiuri de cazeină' },\n\t{ value: '35019090', label: '-- Altele' },\n\t{ value: '35020000', label: 'Albumine (inclusiv concentratele care conțin două sau mai multe proteine din zer, care conțin proteine din zer peste 80 % din greutatea substanței uscate), albuminați și alți derivați de albumine' },\n\t{ value: '35021100', label: '- Albumină din ou' },\n\t{ value: '35021100', label: '-- Uscată' },\n\t{ value: '35021110', label: '--- Improprie sau devenită improprie alimentației umane' },\n\t{ value: '35021190', label: '--- Altele' },\n\t{ value: '35021900', label: '-- Altele' },\n\t{ value: '35021910', label: '--- Improprie sau devenită improprie alimentației umane' },\n\t{ value: '35021990', label: '--- Altele' },\n\t{ value: '35022000', label: '- Albumină din lapte, inclusiv concentratele din două sau mai multe proteine din zer' },\n\t{ value: '35022010', label: '-- Improprie sau devenită improprie alimentației umane' },\n\t{ value: '35022091', label: '-- Altele' },\n\t{ value: '35022091', label: '--- Uscate (în foi, fulgi, granule, pudră etc.)' },\n\t{ value: '35022099', label: '--- Altele' },\n\t{ value: '35029000', label: '- Altele' },\n\t{ value: '35029020', label: '-- Albumine, altele decât cele din ouă sau din lapte' },\n\t{ value: '35029020', label: '--- Improprii sau devenite improprii alimentației umane' },\n\t{ value: '35029070', label: '--- Altele' },\n\t{ value: '35029090', label: '-- Albuminați și alți derivați de albumine' },\n\t{ value: '35030000', label: 'Gelatine (inclusiv cele prezentate în foi de formă pătrată sau dreptunghiulară, chiar prelucrate la suprafață sau colorate) și derivații lor; clei de pește (ihtiocol); alte cleiuri de origine animală, cu excepția cleiurilor de cazeină de la poziția 3501' },\n\t{ value: '35030010', label: '- Gelatine și derivații lor' },\n\t{ value: '35030080', label: '- Altele' },\n\t{ value: '35040000', label: 'Peptone și derivații lor; alte substanțe proteice și derivații lor, nedenumite și necuprinse în altă parte; pulbere de piele, tratată sau nu cu crom' },\n\t{ value: '35040010', label: '- Concentrate de proteine din lapte menţionate la nota complementară 1 a capitolului' },\n\t{ value: '35040090', label: '- Altele' },\n\t{ value: '35050000', label: 'Dextrine și alte amidonuri și fecule modificate (de exemplu, amidonuri și fecule pregelatinizate sau esterificate); cleiuri pe bază de amidon sau de fecule, de dextrine sau de alte amidonuri sau fecule modificate' },\n\t{ value: '35051000', label: '- Dextrine și alte amidonuri și fecule modificate' },\n\t{ value: '35051010', label: '-- Dextrine' },\n\t{ value: '35051050', label: '-- Alte amidonuri și fecule modificate' },\n\t{ value: '35051050', label: '--- Amidonuri și fecule esterificate sau eterificate' },\n\t{ value: '35051090', label: '--- Altele' },\n\t{ value: '35052000', label: '- Cleiuri' },\n\t{ value: '35052010', label: '-- Cu un conținut de amidon sau de fecule, de dextrine sau de alte amidonuri sau fecule modificate sub 25 % din greutate' },\n\t{ value: '35052030', label: '-- Cu un conținut de amidon sau de fecule, de dextrine sau de alte amidonuri sau fecule modificate de minimum 25 % din greutate, dar sub 55 %' },\n\t{ value: '35052050', label: '-- Cu un conținut de amidon sau de fecule, de dextrine sau de alte amidonuri sau fecule modificate de minimum 55 % din greutate, dar sub 80 %' },\n\t{ value: '35052090', label: '-- Cu un conținut de amidon sau de fecule, de dextrine sau de alte amidonuri sau fecule modificate de minimum 80 % din greutate' },\n\t{ value: '35060000', label: 'Cleiuri și alți adezivi preparați, nedenumiți și necuprinși în altă parte; produse de orice fel folosite ca adezivi sau cleiuri, condiționate pentru vânzarea cu amănuntul ca adezivi sau cleiuri, cu o greutate netă de maximum 1 kg' },\n\t{ value: '35061000', label: '- Produse de orice fel folosite ca adezivi sau cleiuri, condiționate pentru vânzarea cu amănuntul ca adezivi sau cleiuri, cu o greutate netă de maximum 1 kg' },\n\t{ value: '35069100', label: '- Altele' },\n\t{ value: '35069100', label: '-- Adezivi pe bază de polimeri de la pozițiile 3901-3913 sau pe bază de cauciuc' },\n\t{ value: '35069110', label: '--- Adezivi sub formă de film transparenți optic și adezivi lichizi transparenți optic care se întăresc, de tipul celor utilizați exclusiv sau în principal pentru fabricarea dispozitivelor de afișare cu ecran plat sau a ecranelor tactile' },\n\t{ value: '35069190', label: '--- Altele' },\n\t{ value: '35069900', label: '-- Altele' },\n\t{ value: '35070000', label: 'Enzime; enzime preparate nedenumite și necuprinse în altă parte' },\n\t{ value: '35071000', label: '- Cheag și concentratele sale' },\n\t{ value: '35079000', label: '- Altele' },\n\t{ value: '35079030', label: '-- Lipoprotein lipaza; Aspergillus alkalin proteaza' },\n\t{ value: '35079090', label: '-- Altele' },\n\t{ value: '36000000', label: 'PULBERI ȘI EXPLOZIVI; ARTICOLE DE PIROTEHNIE; CHIBRITURI; ALIAJE PIROFORICE; MATERIALE INFLAMABILE' },\n\t{ value: '36010000', label: 'Pulberi propulsive' },\n\t{ value: '36020000', label: 'Explozivi preparați, alții decât pulberile propulsive' },\n\t{ value: '36030000', label: 'Fitiluri de siguranță; fitiluri detonante; amorse și capse explozive; aprinzătoare; detonatoare electrice' },\n\t{ value: '36031000', label: '- Fitiluri de siguranță' },\n\t{ value: '36032000', label: '- Fitiluri detonante' },\n\t{ value: '36033000', label: '- Amorse explozive' },\n\t{ value: '36034000', label: '- Capse explozive' },\n\t{ value: '36035000', label: '- Aprinzătoare' },\n\t{ value: '36036000', label: '- Detonatoare electrice' },\n\t{ value: '36040000', label: 'Articole pentru focuri de artificii, rachete de semnalizare sau contra grindinei și similare, petarde și alte articole pirotehnice' },\n\t{ value: '36041000', label: '- Articole pentru focuri de artificii' },\n\t{ value: '36049000', label: '- Altele' },\n\t{ value: '36050000', label: 'Chibrituri, altele decât articolele pirotehnice de la poziția 3604' },\n\t{ value: '36060000', label: 'Feroceriu și alte aliaje piroforice sub toate formele; articole din materiale inflamabile specificate la nota 2 a capitolului' },\n\t{ value: '36061000', label: '- Combustibili lichizi și gaze combustibile lichefiate în recipiente de tipul celor utilizate pentru alimentarea sau reîncărcarea brichetelor sau aprinzătoarelor care au o capacitate de maximum 300 cm3' },\n\t{ value: '36069000', label: '- Altele' },\n\t{ value: '36069010', label: '-- Feroceriu și alte aliaje piroforice, sub toate formele' },\n\t{ value: '36069090', label: '-- Altele' },\n\t{ value: '37000000', label: 'PRODUSE FOTOGRAFICE SAU CINEMATOGRAFICE' },\n\t{ value: '37010000', label: 'Plăci și filme fotografice plane, sensibilizate, neimpresionate, din alte materiale decât hârtia, cartonul sau textilele; filme fotografice plane cu developare și revelare instantanee, sensibilizate, neimpresionate, chiar în încărcătoare' },\n\t{ value: '37011000', label: '- Pentru raze X' },\n\t{ value: '37012000', label: '- Filme cu developare și revelare instantanee' },\n\t{ value: '37013000', label: '- Alte filme și plăci a căror dimensiune este peste 255 mm pe cel puțin una dintre laturi' },\n\t{ value: '37019100', label: '- Altele' },\n\t{ value: '37019100', label: '-- Pentru fotografii în culori (policrome)' },\n\t{ value: '37019900', label: '-- Altele' },\n\t{ value: '37020000', label: 'Pelicule fotografice sensibilizate, neimpresionate, în role, din alte materiale decât hârtia, cartonul sau textilele; pelicule fotografice cu developare și revelare instantanee, în role, sensibilizate, neimpresionate' },\n\t{ value: '37021000', label: '- Pentru raze X' },\n\t{ value: '37023100', label: '- Alte pelicule, neperforate, cu o lățime de maximum 105 mm' },\n\t{ value: '37023100', label: '-- Pentru fotografii în culori (policrome)' },\n\t{ value: '37023191', label: '--- Filme color negative:- cu o lățime de minimum 75 mm, dar de maximum 105 mm și- cu o lungime de minimum 100 m,destinate fabricării încărcătoarelor pentru aparatele fotografice cu developare și revelare instantanee' },\n\t{ value: '37023197', label: '--- Altele' },\n\t{ value: '37023200', label: '-- Altele, care conțin o emulsie de halogenură de argint' },\n\t{ value: '37023210', label: '--- Cu o lățime de maximum 35 mm' },\n\t{ value: '37023210', label: '---- Microfilme; filme pentru artele grafice' },\n\t{ value: '37023220', label: '---- Altele' },\n\t{ value: '37023285', label: '--- Cu o lățime de peste 35 mm' },\n\t{ value: '37023900', label: '-- Altele' },\n\t{ value: '37024100', label: '- Alte pelicule, neperforate, cu o lățime de peste 105 mm' },\n\t{ value: '37024100', label: '-- Cu o lățime de peste 610 mm și o lungime de peste 200 m, pentru fotografii în culori (policrome)' },\n\t{ value: '37024200', label: '-- Cu o lățime de peste 610 mm și o lungime de peste 200 m, altele decât cele pentru fotografii în culori' },\n\t{ value: '37024300', label: '-- Cu o lățime de peste 610 mm și o lungime de maximum 200 m' },\n\t{ value: '37024400', label: '-- Cu o lățime de peste 105 mm, dar de maximum 610 mm' },\n\t{ value: '37025200', label: '- Alte pelicule pentru fotografii în culori (policrome)' },\n\t{ value: '37025200', label: '-- Cu o lățime de maximum 16 mm' },\n\t{ value: '37025300', label: '-- Cu o lățime de peste 16 mm, dar de maximum 35 mm și o lungime de maximum 30 m, pentru diapozitive' },\n\t{ value: '37025400', label: '-- Cu o lățime de peste 16 mm, dar de maximum 35 mm și o lungime de maximum 30 m, altele decât cele pentru diapozitive' },\n\t{ value: '37025500', label: '-- Cu o lățime de peste 16 mm, dar de maximum 35 mm și o lungime de peste 30 m' },\n\t{ value: '37025600', label: '-- Cu o lățime de peste 35 mm' },\n\t{ value: '37029600', label: '- Altele' },\n\t{ value: '37029600', label: '-- Cu o lățime de maximum 35 mm și o lungime de maximum 30 m' },\n\t{ value: '37029610', label: '--- Microfilme; filme pentru artele grafice' },\n\t{ value: '37029690', label: '--- Altele' },\n\t{ value: '37029700', label: '-- Cu o lățime de maximum 35 mm și o lungime de peste 30 m' },\n\t{ value: '37029710', label: '--- Microfilme; filme pentru artele grafice' },\n\t{ value: '37029790', label: '--- Altele' },\n\t{ value: '37029800', label: '-- Cu o lățime de peste 35 mm' },\n\t{ value: '37030000', label: 'Hârtii, cartoane și textile, fotografice, sensibilizate, neimpresionate' },\n\t{ value: '37031000', label: '- În role, cu o lățime de peste 610 mm' },\n\t{ value: '37032000', label: '- Altele, pentru fotografii în culori (policrome)' },\n\t{ value: '37039000', label: '- Altele' },\n\t{ value: '37040000', label: 'Plăci, pelicule, filme, hârtii, cartoane și textile fotografice, impresionate, dar nedevelopate' },\n\t{ value: '37040010', label: '- Plăci, pelicule și filme' },\n\t{ value: '37040090', label: '- Altele' },\n\t{ value: '37050000', label: 'Plăci și pelicule fotografice, impresionate și developate, altele decât filmele cinematografice' },\n\t{ value: '37050010', label: '- Pentru reproducere offset' },\n\t{ value: '37050090', label: '- Altele' },\n\t{ value: '37060000', label: 'Filme cinematografice impresionate și developate, care conțin sau nu înregistrarea sunetului sau care conțin numai înregistrarea sunetului' },\n\t{ value: '37061000', label: '- Cu o lățime de minimum 35 mm' },\n\t{ value: '37061020', label: '-- Care nu conțin decât înregistrarea sunetului; negative; pozitive intermediare de lucru' },\n\t{ value: '37061099', label: '-- Alte pozitive' },\n\t{ value: '37069000', label: '- Altele' },\n\t{ value: '37069052', label: '-- Care nu conțin decât înregistrarea sunetului; negative; pozitive intermediare de lucru; filme de actualități' },\n\t{ value: '37069091', label: '-- Altele, cu o lățime' },\n\t{ value: '37069091', label: '--- Sub 10 mm' },\n\t{ value: '37069099', label: '--- De minimum 10 mm' },\n\t{ value: '37070000', label: 'Preparate chimice pentru utilizări fotografice (altele decât lacurile, cleiurile, adezivii și preparatele similare); produse neamestecate, pentru utilizări fotografice, dozate sau condiționate pentru vânzarea cu amănuntul într-o formă gata de folosire' },\n\t{ value: '37071000', label: '- Emulsii pentru sensibilizarea suprafețelor' },\n\t{ value: '37079000', label: '- Altele' },\n\t{ value: '37079020', label: '-- Revelatori și fixatori' },\n\t{ value: '37079090', label: '-- Altele' },\n\t{ value: '38000000', label: 'PRODUSE DIVERSE ALE INDUSTRIEI CHIMICE' },\n\t{ value: '38010000', label: 'Grafit artificial; grafit coloidal sau semicoloidal; preparate pe bază de grafit sau de alt cărbune, sub formă de paste, blocuri, plachete sau alte semifabricate' },\n\t{ value: '38011000', label: '- Grafit artificial' },\n\t{ value: '38012000', label: '- Grafit coloidal sau semicoloidal' },\n\t{ value: '38012010', label: '-- Grafit coloidal sub formă de suspensie în ulei; grafit semicoloidal' },\n\t{ value: '38012090', label: '-- Altele' },\n\t{ value: '38013000', label: '- Paste carbonate pentru electrozi și paste similare pentru căptușirea cuptoarelor' },\n\t{ value: '38019000', label: '- Altele' },\n\t{ value: '38020000', label: 'Cărbune activ; materiale minerale naturale activate; negru de origine animală, inclusiv negru animal rezidual' },\n\t{ value: '38021000', label: '- Cărbune activ' },\n\t{ value: '38029000', label: '- Altele' },\n\t{ value: '38030000', label: 'Ulei de tal, chiar rafinat' },\n\t{ value: '38030010', label: '- Brut' },\n\t{ value: '38030090', label: '- Altele' },\n\t{ value: '38040000', label: 'Leșii reziduale rezultate de la fabricarea pastei de celuloză, chiar concentrate sau din care s-a extras zahărul sau tratate chimic, inclusiv lignosulfonați, dar fără a include uleiul de tal de la poziția 3803' },\n\t{ value: '38050000', label: 'Esențe de terebentină, de lemn de pin sau de celuloză sulfatată rezultată din industria hârtiei și alte esențe terpenice provenind de la distilare sau de la alte tratamente ale lemnului de conifere; dipenten brut; esență de la obținerea celulozei cu bisulfit și alte paracimene brute; ulei de pin care conține alfaterpinol ca principal constituent' },\n\t{ value: '38051000', label: '- Esențe de terebentină, de lemn de pin sau de celuloză sulfatată' },\n\t{ value: '38051010', label: '-- Esență de terebentină' },\n\t{ value: '38051030', label: '-- Esență de lemn de pin' },\n\t{ value: '38051090', label: '-- Esență de celuloză sulfatată rezultată din industria hârtiei' },\n\t{ value: '38059000', label: '- Altele' },\n\t{ value: '38059010', label: '-- Ulei de pin' },\n\t{ value: '38059090', label: '-- Altele' },\n\t{ value: '38060000', label: 'Colofoniu și acizi rezinici, derivații lor; esență de colofoniu și uleiuri de colofoniu; gume topite' },\n\t{ value: '38061000', label: '- Colofoniu și acizi rezinici' },\n\t{ value: '38062000', label: '- Săruri de colofoniu, de acizi rezinici sau de derivați de colofoniu sau de acizi rezinici, alții decât sărurile de aducți de colofoniu' },\n\t{ value: '38063000', label: '- Gume esteri' },\n\t{ value: '38069000', label: '- Altele' },\n\t{ value: '38070000', label: 'Gudron de lemn; uleiuri din gudron de lemn; creozot de lemn; metanol brut (spirt de lemn); smoală vegetală; smoală pentru butoaie de bere și preparate similare pe bază de colofoniu, de acizi rezinici sau de smoală vegetală' },\n\t{ value: '38070010', label: '- Gudron de lemn' },\n\t{ value: '38070090', label: '- Altele' },\n\t{ value: '38080000', label: 'Insecticide, rodenticide, fungicide, erbicide, inhibitori de germinare și regulatori de creștere pentru plante, dezinfectanți și produse similare, prezentate în forme sau ambalaje pentru vânzarea cu amănuntul sau ca preparate sau ca articole (de exemplu, panglici, meșe și lumânări cu sulf și hârtie specială contra muștelor)' },\n\t{ value: '38085200', label: '- Mărfuri menționate la nota 1 de subpoziție a capitolului' },\n\t{ value: '38085200', label: '-- DDT (ISO) [clofenotan (DCI)], în ambalaje cu o greutate netă de maximum 300 g' },\n\t{ value: '38085900', label: '-- Altele' },\n\t{ value: '38086100', label: '- Produse menționate în nota de subpoziție 2 din prezentul capitol' },\n\t{ value: '38086100', label: '-- În ambalaje cu o greutate netă de maximum 300 g' },\n\t{ value: '38086200', label: '-- În ambalaje cu o greutate netă de peste 300 g, dar de maximum 7,5 kg' },\n\t{ value: '38086900', label: '-- Altele' },\n\t{ value: '38089100', label: '- Altele' },\n\t{ value: '38089100', label: '-- Insecticide' },\n\t{ value: '38089110', label: '--- Pe bază de piretroide' },\n\t{ value: '38089120', label: '--- Pe bază de hidrocarburi clorurate' },\n\t{ value: '38089130', label: '--- Pe bază de carbamați' },\n\t{ value: '38089140', label: '--- Pe bază de compuși organo-fosforici' },\n\t{ value: '38089190', label: '--- Altele' },\n\t{ value: '38089200', label: '-- Fungicide' },\n\t{ value: '38089210', label: '--- Anorganice' },\n\t{ value: '38089210', label: '---- Preparate pe bază de compuși de cupru' },\n\t{ value: '38089220', label: '---- Altele' },\n\t{ value: '38089230', label: '--- Altele' },\n\t{ value: '38089230', label: '---- Pe bază de ditiocarbamați' },\n\t{ value: '38089240', label: '---- Pe bază de benzimidazoli' },\n\t{ value: '38089250', label: '---- Pe bază de diazoli sau triazoli' },\n\t{ value: '38089260', label: '---- Pe bază de diazine sau morfoline' },\n\t{ value: '38089290', label: '---- Altele' },\n\t{ value: '38089300', label: '-- Erbicide, inhibitori de germinare și regulatori de creștere pentru plante' },\n\t{ value: '38089311', label: '--- Erbicide' },\n\t{ value: '38089311', label: '---- Pe bază de fenoxi-fitohormoni' },\n\t{ value: '38089313', label: '---- Pe bază de triazine' },\n\t{ value: '38089315', label: '---- Pe bază de amide' },\n\t{ value: '38089317', label: '---- Pe bază de carbamați' },\n\t{ value: '38089321', label: '---- Pe bază de derivați de dinitroanilină' },\n\t{ value: '38089323', label: '---- Pe bază de derivați de uree, de uracil sau de sulfoniluree' },\n\t{ value: '38089327', label: '---- Altele' },\n\t{ value: '38089330', label: '--- Inhibitori de germinare' },\n\t{ value: '38089390', label: '--- Regulatori de creștere pentru plante' },\n\t{ value: '38089400', label: '-- Dezinfectanți' },\n\t{ value: '38089410', label: '--- Pe bază de săruri cuaternare de amoniu' },\n\t{ value: '38089420', label: '--- Pe bază de compuși halogenați' },\n\t{ value: '38089490', label: '--- Altele' },\n\t{ value: '38089900', label: '-- Altele' },\n\t{ value: '38089910', label: '--- Rodenticide' },\n\t{ value: '38089990', label: '--- Altele' },\n\t{ value: '38090000', label: 'Agenți de apretare sau finisare, acceleratori de vopsire sau de fixare a substanțelor colorante și alte produse și preparate (de exemplu, produse pentru scrobit și preparate pentru mordansare), de felul celor folosite în industria textilă, industria hârtiei, industria pielăriei sau în alte industrii similare, nedenumite și necuprinse în altă parte' },\n\t{ value: '38091000', label: '- Pe bază de substanțe amilacee' },\n\t{ value: '38091010', label: '-- Cu un conținut de astfel de substanțe sub 55 % în greutate' },\n\t{ value: '38091030', label: '-- Cu un conținut de astfel de substanțe de minimum 55 %, dar sub 70 % în greutate' },\n\t{ value: '38091050', label: '-- Cu un conținut de astfel de substanțe de minimum 70 %, dar sub 83 % în greutate' },\n\t{ value: '38091090', label: '-- Cu un conținut de astfel de substanțe de minimum 83 % în greutate' },\n\t{ value: '38099100', label: '- Altele' },\n\t{ value: '38099100', label: '-- De felul celor folosite în industria textilă sau în industrii similare' },\n\t{ value: '38099200', label: '-- De felul celor folosite în industria hârtiei sau în industrii similare' },\n\t{ value: '38099300', label: '-- De felul celor folosite în industria pielăriei sau în industrii similare' },\n\t{ value: '38100000', label: 'Preparate pentru decaparea suprafeţei metalelor; flux de sudură sau de lipire și alte preparate auxiliare pentru sudarea sau lipirea metalelor; paste și pulberi din metale și din alte materiale pentru sudură sau lipire; preparate de tipul celor utilizate pentru acoperirea sau umplerea electrozilor sau a baghetelor de sudură' },\n\t{ value: '38101000', label: '- Preparate pentru decaparea suprafeţei metalelor; paste și pulberi din metale și alte materiale pentru sudură sau lipire' },\n\t{ value: '38109000', label: '- Altele' },\n\t{ value: '38109010', label: '-- Preparate de tipul celor utilizate pentru acoperirea sau umplerea electrozilor sau a baghetelor de sudură' },\n\t{ value: '38109090', label: '-- Altele' },\n\t{ value: '38110000', label: 'Preparate antidetonante, inhibitori de oxidare, aditivi peptizanți, amelioratori de viscozitate, aditivi anticorozivi și alți aditivi preparați, pentru uleiurile minerale (inclusiv pentru benzină) sau pentru alte lichide utilizate în aceleași scopuri ca și uleiurile minerale' },\n\t{ value: '38111100', label: '- Preparate antidetonante' },\n\t{ value: '38111100', label: '-- Pe bază de compuși ai plumbului' },\n\t{ value: '38111110', label: '--- Pe bază de plumb tetraetil' },\n\t{ value: '38111190', label: '--- Altele' },\n\t{ value: '38111900', label: '-- Altele' },\n\t{ value: '38112100', label: '- Aditivi pentru uleiuri lubrifiante' },\n\t{ value: '38112100', label: '-- Care conțin uleiuri din petrol sau din minerale bituminoase' },\n\t{ value: '38112900', label: '-- Altele' },\n\t{ value: '38119000', label: '- Altele' },\n\t{ value: '38120000', label: 'Preparate numite \"acceleratori de vulcanizare\"; plastifianți compuși pentru cauciuc sau materiale plastice nedenumite și necuprinse în altă parte; preparate antioxidante și alți stabilizatori compuși pentru cauciuc sau materiale plastice' },\n\t{ value: '38121000', label: '- Preparate numite \"acceleratori de vulcanizare\"' },\n\t{ value: '38122000', label: '- Plastifianți compuși pentru cauciuc sau materiale plastice' },\n\t{ value: '38122010', label: '-- Amestecuri de reacție care conțin benzil 3-izobutiriloxi-1-izopropil-2,2-dimetilpropil ftalat și benzil 3-izobutiriloxi-2,2,4-trimetilpentil ftalat' },\n\t{ value: '38122090', label: '-- Altele' },\n\t{ value: '38123100', label: '- Preparate antioxidante și alți stabilizatori compuși pentru cauciuc sau materiale plastice' },\n\t{ value: '38123100', label: '-- Amestecuri de oligomeri de 2,2,4-trimetil-1,2-dihidrochinolină (TMQ)' },\n\t{ value: '38123900', label: '-- Altele' },\n\t{ value: '38123910', label: '--- Preparate antioxidante' },\n\t{ value: '38123990', label: '--- Altele' },\n\t{ value: '38130000', label: 'Preparate și încărcături pentru aparate extinctoare; grenade și bombe extinctoare' },\n\t{ value: '38140000', label: 'Solvenți și diluanți organici compoziţi, nedenumiți și necuprinși în altă parte; preparate concepute pentru îndepărtarea lacurilor și vopselelor' },\n\t{ value: '38140010', label: '- Pe bază de acetat de butil' },\n\t{ value: '38140090', label: '- Altele' },\n\t{ value: '38150000', label: 'Inițiatori de reacție, acceleratori de reacție și preparate catalitice, nedenumite și necuprinse în altă parte' },\n\t{ value: '38151100', label: '- Catalizatori pe suport' },\n\t{ value: '38151100', label: '-- Cu nichel sau compuși de nichel ca substanță activă' },\n\t{ value: '38151200', label: '-- Cu metale prețioase sau compuși ai metalelor prețioase ca substanță activă' },\n\t{ value: '38151900', label: '-- Altele' },\n\t{ value: '38151910', label: '--- Catalizatori, sub formă de granule, din care minimum 90 % din greutate au mărimea particulelor de maximum 10 microni, constând într-un amestec de oxizi pe un suport de silicat de magneziu şi care conțin în greutate:\\n- minimum 20 %, dar maximum 35 % cupru; şi\\n- minimum 2 %, dar maximum 3 % bismut,\\nși cu densitate specifică aparentă de minimum 0,2, dar maximum 1,0' },\n\t{ value: '38151990', label: '--- Altele' },\n\t{ value: '38159000', label: '- Altele' },\n\t{ value: '38159010', label: '-- Catalizator compus din acetat de etiltrifenilfosfoniu sub formă de soluție în metanol' },\n\t{ value: '38159090', label: '-- Altele' },\n\t{ value: '38160000', label: 'Cimenturi refractare, mortare refractare, betoane refractare și compoziții similare, inclusiv dolomita aglomerată, altele decât produsele de la poziția 3801' },\n\t{ value: '38160010', label: '- Dolomită aglomerată' },\n\t{ value: '38160090', label: '- Altele' },\n\t{ value: '38170000', label: 'Alchilbenzeni în amestec și alchil-naftaline în amestec, altele decât cele de la poziția 2707 sau 2902' },\n\t{ value: '38170050', label: '- Alchilbenzeni lineari' },\n\t{ value: '38170080', label: '- Altele' },\n\t{ value: '38180000', label: 'Elemente chimice dopate în vederea utilizării lor în electronică, sub formă de discuri, plachete, sau forme similare; compuși chimici dopați în vederea utilizării lor în electronică' },\n\t{ value: '38180010', label: '- Siliciu dopat' },\n\t{ value: '38180090', label: '- Altele' },\n\t{ value: '38190000', label: 'Lichide pentru frâne hidraulice și alte lichide preparate pentru transmisii hidraulice, care nu conțin sau care conțin sub 70 % din greutate uleiuri de petrol sau de minerale bituminoase' },\n\t{ value: '38200000', label: 'Preparate antigel și lichide preparate pentru degivrare' },\n\t{ value: '38210000', label: 'Medii de cultură preparate pentru dezvoltarea și păstrarea microorganismelor (inclusiv viruși și microorganisme similare) sau celulelor umane, de plante sau de animale' },\n\t{ value: '38220000', label: 'Reactivi de diagnostic sau de laborator pe orice fel de suport, reactivi de diagnostic sau de laborator preparați, chiar pe un suport, chiar prezentați sub formă de kituri, alții decât cei de la poziția 3006; materiale de referință certificate' },\n\t{ value: '38221100', label: '- Reactivi de diagnostic sau de laborator pe orice fel de suport, reactivi de diagnostic sau de laborator preparați, chiar pe un suport, chiar prezentați sub formă de kituri' },\n\t{ value: '38221100', label: '-- Pentru malarie' },\n\t{ value: '38221200', label: '-- Pentru Zika și pentru alte boli transmise de țânțarii din genul Aedes' },\n\t{ value: '38221300', label: '-- Pentru determinarea grupelor de sânge' },\n\t{ value: '38221900', label: '-- Altele' },\n\t{ value: '38229000', label: '- Altele' },\n\t{ value: '38230000', label: 'Acizi grași monocarboxilici industriali; uleiuri acide de rafinare; alcooli grași industriali' },\n\t{ value: '38231100', label: '- Acizi grași monocarboxilici industriali; uleiuri acide de rafinare' },\n\t{ value: '38231100', label: '-- Acid stearic' },\n\t{ value: '38231200', label: '-- Acid oleic' },\n\t{ value: '38231300', label: '-- Acizi grași de tal' },\n\t{ value: '38231900', label: '-- Altele' },\n\t{ value: '38231910', label: '--- Acizi grași distilați' },\n\t{ value: '38231930', label: '--- Distilat de acid gras' },\n\t{ value: '38231990', label: '--- Altele' },\n\t{ value: '38237000', label: '- Alcooli grași industriali' },\n\t{ value: '38240000', label: 'Lianți preparați pentru tipare sau miezuri de turnătorie; produse chimice și preparate ale industriei chimice sau ale industriilor conexe (inclusiv cele constând în amestecuri de produse naturale), nedenumite și necuprinse în altă parte' },\n\t{ value: '38241000', label: '- Lianți preparați pentru tipare și miezuri de turnătorie' },\n\t{ value: '38243000', label: '- Carburi metalice neaglomerate amestecate între ele sau cu lianți metalici' },\n\t{ value: '38244000', label: '- Aditivi preparați pentru cimenturi, mortare sau betoane' },\n\t{ value: '38245000', label: '- Mortare și betoane, nerefractare' },\n\t{ value: '38245010', label: '-- Beton gata de turnare' },\n\t{ value: '38245090', label: '-- Altele' },\n\t{ value: '38246000', label: '- Sorbitol, altul decât cel de la subpoziția 2905 44' },\n\t{ value: '38246011', label: '-- În soluție apoasă' },\n\t{ value: '38246011', label: '--- Care conține D-manitol maximum 2 % în greutate, calculat în raport cu conținutul de D-glucitol' },\n\t{ value: '38246019', label: '--- Altele' },\n\t{ value: '38246091', label: '-- Altele' },\n\t{ value: '38246091', label: '--- Care conține D-manitol maximum 2 % în greutate, calculat în raport cu conținutul de D-glucitol' },\n\t{ value: '38246099', label: '--- Altele' },\n\t{ value: '38248100', label: '- Produse menționate în nota de subpoziție 3 din prezentul capitol' },\n\t{ value: '38248100', label: '-- Care conțin oxiran (oxid de etilenă)' },\n\t{ value: '38248200', label: '-- Care conțin bifenili policlorurați (PCB), terfenili policlorurați (PCT) sau bifenili polibromurați (PBB)' },\n\t{ value: '38248300', label: '-- Care conțin fosfat de tri(2,3-dibrompropil)' },\n\t{ value: '38248400', label: '-- Care conțin aldrin (ISO), camfeclor (ISO) (toxafen), clordan (ISO), clordeconă (ISO), DDT (ISO) (clofenotan (DCI), 1,1,1-triclor-2,2-bi(p-clorfenil)etan), dieldrin (ISO, DCI), endosulfan (ISO), endrin (ISO), heptaclor (ISO) sau mirex (ISO)' },\n\t{ value: '38248500', label: '-- Care conțin 1,2,3,4,5,6-hexaclorciclohexan [HCH (ISO)], inclusiv lindan (ISO, DCI)' },\n\t{ value: '38248600', label: '-- Care conțin pentaclorbenzen (ISO) sau hexaclorbenzen (ISO)' },\n\t{ value: '38248700', label: '-- Care conțin acid perfluoroctansulfonic, sărurile sale, sulfonamide de perfluoroctan sau fluorură de sulfonil perfluorooctanică' },\n\t{ value: '38248800', label: '-- Care conțin tetra-, penta-, hexa-, hepta- sau octabromdifenil eter' },\n\t{ value: '38248900', label: '-- Care conțin parafine clorurate cu catenă scurtă' },\n\t{ value: '38249100', label: '- Altele' },\n\t{ value: '38249100', label: '-- Amestecuri și preparate constând în principal în (5-etil-2-metil-2-oxido-1,3,2-dioxafosfinan-5-il)metil metil metilfosfonat și în bi[(5-etil-2-metil-2-oxido-1,3,2-dioxafosfinan-5-il)metil] metilfosfonat' },\n\t{ value: '38249200', label: '-- Esteri poliglicerici ai acidului metilfosfonic' },\n\t{ value: '38249900', label: '-- Altele' },\n\t{ value: '38249910', label: '--- Sulfonați de petrol, cu excepția sulfonaților de petrol ai metalelor alcaline, ai amoniului sau ai etanolaminelor; acizi sulfonici tiofenați din uleiuri de minerale bituminoase și sărurile lor' },\n\t{ value: '38249915', label: '--- Schimbători de ioni' },\n\t{ value: '38249920', label: '--- Compoziții absorbante pentru desăvârșirea vidului din tuburile sau valvele electrice' },\n\t{ value: '38249925', label: '--- Piroligniți (de exemplu, de calciu); tartrat de calciu brut; citrat de calciu brut' },\n\t{ value: '38249930', label: '--- Acizi naftenici, sărurile lor insolubile în apă și esterii lor' },\n\t{ value: '38249945', label: '--- Altele' },\n\t{ value: '38249945', label: '---- Preparate pentru dezincrustare și similare' },\n\t{ value: '38249950', label: '---- Preparate pentru galvanoplastie' },\n\t{ value: '38249955', label: '---- Amestecuri de mono-, di- și tri- esteri ai glicerinei cu acizi grași (emulsionanți pentru grăsimi)' },\n\t{ value: '38249961', label: '---- Produse și preparate utilizate în scopuri farmaceutice sau chirurgicale' },\n\t{ value: '38249961', label: '----- Produse intermediare din procesul de fabricare a antibioticelor obținute prin fermentarea Streptomyces tenebrarius, uscate sau nu, utilizate la fabricarea medicamentelor de uz uman de la poziția 3004' },\n\t{ value: '38249962', label: '----- Produse intermediare ale procesului de fabricare a sărurilor monensin' },\n\t{ value: '38249964', label: '----- Altele' },\n\t{ value: '38249965', label: '---- Produse auxiliare de felul celor utilizate în turnătorie (altele decât cele menționate la subpoziția 3824 10 00)' },\n\t{ value: '38249970', label: '---- Preparate ignifuge, hidrofuge și altele, utilizate pentru protecția construcțiilor' },\n\t{ value: '38249975', label: '---- Altele' },\n\t{ value: '38249975', label: '----- Discuri de niobat de litiu, nedopate' },\n\t{ value: '38249980', label: '----- Amestecuri de amine derivate de la dimerizarea acizilor grași, cu greutatea moleculară medie de minimum 520, dar maximum 550' },\n\t{ value: '38249985', label: '----- 3-(1-Etil-1-metilpropil) isoxazol-5-ilamină, sub formă de soluție în toluen' },\n\t{ value: '38249986', label: '----- Amestecuri conținând în principal dimetil metilfosfonat, oxiran și pentaoxid de difosfor' },\n\t{ value: '38249992', label: '----- Produse chimice sau preparate, compuse predominant din compuși organici, nedenumite și necuprinse în altă parte' },\n\t{ value: '38249992', label: '------ În formă lichidă la 20 °C' },\n\t{ value: '38249993', label: '------ Altele' },\n\t{ value: '38249996', label: '----- Altele' },\n\t{ value: '38250000', label: 'Produse reziduale ale industriei chimice sau ale industriilor conexe, nedenumite și necuprinse în altă parte; deșeuri orășenești; nămol de epurare; alte deșeuri menționate la nota 6 a capitolului' },\n\t{ value: '38251000', label: '- Deșeuri orășenești' },\n\t{ value: '38252000', label: '- Nămol de epurare' },\n\t{ value: '38253000', label: '- Deșeuri clinice' },\n\t{ value: '38254100', label: '- Deșeuri de solvenți organici' },\n\t{ value: '38254100', label: '-- Halogenați' },\n\t{ value: '38254900', label: '-- Altele' },\n\t{ value: '38255000', label: '- Deșeuri de soluții (leșii) decapante pentru metale, de lichide hidraulice, de lichide de frână și de lichide antigel' },\n\t{ value: '38256100', label: '- Alte deșeuri ale industriei chimice sau ale industriilor conexe' },\n\t{ value: '38256100', label: '-- Care conțin în principal constituenți organici' },\n\t{ value: '38256900', label: '-- Altele' },\n\t{ value: '38259000', label: '- Altele' },\n\t{ value: '38259010', label: '-- Oxizi de fier alcalinizați pentru purificarea gazelor' },\n\t{ value: '38259090', label: '-- Altele' },\n\t{ value: '38260000', label: 'Biodiesel și amestecuri de biodiesel, care nu conțin sau care conțin sub 70 % în greutate uleiuri petroliere sau uleiuri obținute din minerale bituminoase' },\n\t{ value: '38260010', label: '- Esteri monoalchilici de acid gras, cu un conținut de esteri de minimum 96,5 % din greutate' },\n\t{ value: '38260090', label: '- Altele' },\n\t{ value: '38270000', label: 'Amestecuri conținând derivați halogenați ai metanului, etanului sau propanului, nedenumite și necuprinse în altă parte' },\n\t{ value: '38271100', label: '- Care conțin clorofluorocarburi (CFC-uri), care conţin sau nu hidroclorofluorocarburi (HCFC-uri), perfluorocarburi (PFC-uri) sau hidrofluorocarburi (HFC-uri); care conțin hidrobromofluorocarburi (HBFC-uri); care conțin tetraclorură de carbon; care conțin 1,1,1-tricloretan (metilcloroform)' },\n\t{ value: '38271100', label: '-- Care conțin clorofluorocarburi (CFC-uri), care conţin sau nu hidroclorofluorocarburi (HCFC-uri), perfluorocarburi (PFC-uri) sau hidrofluorocarburi (HFC-uri)' },\n\t{ value: '38271200', label: '-- Care conțin hidrobromofluorocarburi (HBFC-uri)' },\n\t{ value: '38271300', label: '-- Care conțin tetraclorură de carbon' },\n\t{ value: '38271400', label: '-- Care conțin 1,1,1-tricloretan (metilcloroform)' },\n\t{ value: '38272000', label: '- Care conțin bromoclorodifluormetan (Halon-1211), bromotrifluorometan (Halon-1301) sau dibromotetrafluoroetani (Halon-2402)' },\n\t{ value: '38273100', label: '- Care conțin hidroclorofluorocarburi (HCFC-uri), care conţin sau nu perfluorocarburi (PFC-uri) sau hidrofluorocarburi (HFC-uri), dar care nu conțin clorofluorocarburi (CFC-uri)' },\n\t{ value: '38273100', label: '-- Containing substances of subheadings 2903 41-2903 48' },\n\t{ value: '38273200', label: '-- Altele, care conțin substanțe de la supozițiile 2903 71-2903 75' },\n\t{ value: '38273900', label: '-- Altele' },\n\t{ value: '38274000', label: '- Care conțin bromură de metil (bromometan) sau bromoclorometan' },\n\t{ value: '38275100', label: '- Care conțin trifluormetan (HFC-23) sau perfluorocarburi (HFC-uri), dar care nu conțin clorofluorocarburi (CFC-uri) sau hidroclorofluorocarburi (HCFC-uri)' },\n\t{ value: '38275100', label: '-- Care conțin trifluorometan (HFC-23)' },\n\t{ value: '38275900', label: '-- Altele' },\n\t{ value: '38276100', label: '- Care conțin alte hidrofluorocarburi (HFC-uri), dar care nu conțin clorofluorocarburi (CFC-uri) sau hidroclorofluorocarburi (HCFC-uri)' },\n\t{ value: '38276100', label: '-- Care conțin 1,1,1-trifluoretan (HFC-143a) în proporție de 15 % sau mai mult, în greutate' },\n\t{ value: '38276200', label: '-- Altele, neincluse la subpoziția de mai sus, care conțin pentafluoretan (HFC-125) în proporție de 55 % sau mai mult, în greutate, dar care nu conțin derivați fluorurați nesaturați ai hidrocarburilor aciclice (HFO-uri)' },\n\t{ value: '38276300', label: '-- Altele, neincluse la subpozițiile de mai sus, care conțin pentafluoretan (HFC-125) în proporție de 40 % sau mai mult, în greutate' },\n\t{ value: '38276400', label: '-- Altele, neincluse la subpozițiile de mai sus, care conțin 1,1,1,2-tetrafluoretan (HFC-134a) în proporție de 30 % sau mai mult, în greutate, dar care nu conțin derivați fluorurați nesaturați ai hidrocarburilor aciclice (HFO-uri)' },\n\t{ value: '38276500', label: '-- Altele, neincluse la subpozițiile de mai sus, care conțin difluormetan (HFC-32) în proporție de 20 % sau mai mult, în greutate, și pentafluoretan (HFC-125) în proporție de 20 % sau mai mult, în greutate' },\n\t{ value: '38276800', label: '-- Altele, neincluse la subpozițiile de mai sus, care conțin substanțe de la subpozițiile 2903 41-2903 48' },\n\t{ value: '38276900', label: '-- Altele' },\n\t{ value: '38279000', label: '- Altele' },\n\t{ value: '39000000', label: 'MATERIALE PLASTICE ȘI ARTICOLE DIN MATERIAL PLASTIC' },\n\t{ value: '39010000', label: 'I. FORME PRIMARE' },\n\t{ value: '39010000', label: 'Polimeri de etilenă, în forme primare' },\n\t{ value: '39011000', label: '- Polietilenă cu densitate sub 0,94' },\n\t{ value: '39011010', label: '-- Polietilenă liniară' },\n\t{ value: '39011090', label: '-- Altele' },\n\t{ value: '39012000', label: '- Polietilenă cu densitate de minimum 0,94' },\n\t{ value: '39012010', label: '-- Polietilenă în una din formele menționate la nota 6 litera (b) a capitolului, cu densitate de minimum 0,958 la 23 °C, care conține:\\n- maximum 50 mg/kg aluminiu;\\n- maximum 2 mg/kg calciu;\\n- maximum 2 mg/kg crom;\\n- maximum 2 mg/kg fier;\\n- maximum 2 mg/kg nichel;\\n- maximum 2 mg/kg titan;\\n- maximum 8 mg/kg vanadiu,\\npentru fabricarea polietilenei clorosulfonate' },\n\t{ value: '39012090', label: '-- Altele' },\n\t{ value: '39013000', label: '- Copolimeri de etilenă și acetat de vinil' },\n\t{ value: '39014000', label: '- Copolimeri etilen-alfa-olefinici, care au o densitate relativă de sub 0,94' },\n\t{ value: '39019000', label: '- Altele' },\n\t{ value: '39019030', label: '-- Rășină ionomer constând într-o sare a unui terpolimer de etilenă cu acrilat de izobutil și acid metacrilic; copolimer de polistiren de tip bloc A-B-A, copolimer de etilenă-butilenă și polistiren, care conține în greutate maximum 35 % stiren, în una din formele menționate la nota 6 litera (b) a capitolului' },\n\t{ value: '39019080', label: '-- Altele' },\n\t{ value: '39020000', label: 'Polimeri de propilenă sau de alte olefine, sub forme primare' },\n\t{ value: '39021000', label: '- Polipropilenă' },\n\t{ value: '39022000', label: '- Poliizobutilenă' },\n\t{ value: '39023000', label: '- Copolimeri de propilenă' },\n\t{ value: '39029000', label: '- Altele' },\n\t{ value: '39029010', label: '-- Copolimer de polistiren de tip bloc A-B-A, copolimer de etilenă-butilenă și polistiren, care conține în greutate maximum 35 % stiren, în una din formele menționate la nota 6 litera (b) a capitolului' },\n\t{ value: '39029020', label: '-- Poli-1-butenă, un copolimer al 1-butenei cu etilenă care conține în greutate maximum 10 % etilenă, sau un amestec de poli-1-butenă cu polietilenă și/sau polipropilenă care conține în greutate maximum 10 % polietilenă și/sau maximum 25 % polipropilenă, în una din formele menționate la nota 6 litera (b) a capitolului' },\n\t{ value: '39029090', label: '-- Altele' },\n\t{ value: '39030000', label: 'Polimeri de stiren, sub forme primare' },\n\t{ value: '39031100', label: '- Polistiren' },\n\t{ value: '39031100', label: '-- Expandabil' },\n\t{ value: '39031900', label: '-- Altele' },\n\t{ value: '39032000', label: '- Copolimeri de stiren-acrilonitril (SAN)' },\n\t{ value: '39033000', label: '- Copolimeri de acrilonitril-butadien-stiren (ABS)' },\n\t{ value: '39039000', label: '- Altele' },\n\t{ value: '39039010', label: '-- Copolimer de stiren numai cu alcool alilic, cu valoare acetil de minimum 175' },\n\t{ value: '39039020', label: '-- Polistiren bromurat, care conține în greutate minimum 58 %, dar maximum 71 % brom, în una dintre formele menționate la nota 6 litera (b) a capitolului' },\n\t{ value: '39039090', label: '-- Altele' },\n\t{ value: '39040000', label: 'Polimeri de clorură de vinil sau de alte olefine halogenate, sub forme primare' },\n\t{ value: '39041000', label: '- Poli(clorură de vinil), neamestecată cu alte substanțe' },\n\t{ value: '39042100', label: '- Altă poli(clorură de vinil)' },\n\t{ value: '39042100', label: '-- Neplastifiată' },\n\t{ value: '39042200', label: '-- Plastifiată' },\n\t{ value: '39043000', label: '- Copolimeri de clorură de vinil și de acetat de vinil' },\n\t{ value: '39044000', label: '- Alți copolimeri de clorură de vinil' },\n\t{ value: '39045000', label: '- Polimeri de clorură de viniliden' },\n\t{ value: '39045010', label: '-- Copolimer de clorură de viniliden cu acrilonitril, sub formă de bile expandabile cu diametru de minimum 4 microni, dar maximum 20 de microni' },\n\t{ value: '39045090', label: '-- Altele' },\n\t{ value: '39046100', label: '- Polimeri fluorurați' },\n\t{ value: '39046100', label: '-- Politetrafluoroetilenă' },\n\t{ value: '39046900', label: '-- Altele' },\n\t{ value: '39046910', label: '--- Poli(fluorură de vinil) în una din formele menționate la nota 6 litera (b) a capitolului' },\n\t{ value: '39046920', label: '--- Fluoroelastomeri FKM' },\n\t{ value: '39046980', label: '--- Altele' },\n\t{ value: '39049000', label: '- Altele' },\n\t{ value: '39050000', label: 'Polimeri de acetat de vinil sau de alți esteri de vinil sub forme primare; alți polimeri de vinil sub forme primare' },\n\t{ value: '39051200', label: '- Poli(acetat de vinil)' },\n\t{ value: '39051200', label: '-- În dispersie apoasă' },\n\t{ value: '39051900', label: '-- Altele' },\n\t{ value: '39052100', label: '- Copolimeri de acetat de vinil' },\n\t{ value: '39052100', label: '-- În dispersie apoasă' },\n\t{ value: '39052900', label: '-- Altele' },\n\t{ value: '39053000', label: '- Poli(vinil alcool), care conține sau nu grupări acetat nehidrolizate' },\n\t{ value: '39059100', label: '- Altele' },\n\t{ value: '39059100', label: '-- Copolimeri' },\n\t{ value: '39059900', label: '-- Altele' },\n\t{ value: '39059910', label: '--- Poli(vinil formal), în una din formele menționate la nota 6 litera (b) a capitolului, cu o greutate moleculară de minimum 10 000, dar de maximum 40 000 și conținând în greutate:\\n- minimum 9,5 %, dar maximum 13 % grupări acetil evaluate ca acetat de vinil; și\\n- minimum 5 %, dar maximum 6,5 % grupări hidroxil evaluate ca alcool vinilic' },\n\t{ value: '39059990', label: '--- Altele' },\n\t{ value: '39060000', label: 'Polimeri acrilici sub forme primare' },\n\t{ value: '39061000', label: '- Poli(metacrilat de metil)' },\n\t{ value: '39069000', label: '- Altele' },\n\t{ value: '39069010', label: '-- Poli[N-(3-hidroxiimino-1,1-dimetilbutil) acrilamidă]' },\n\t{ value: '39069020', label: '-- Copolimer de metacrilat de 2-diizopropilaminoetil cu metracrilat de decil, sub formă de soluție în N,N-dimetilacetamidă, care conține în greutate minimum 55 % copolimer' },\n\t{ value: '39069030', label: '-- Copolimer de acid acrilic cu acrilat de 2-etilhexil, care conține în greutate minimum 10 %, dar maximum 11 % acrilat de 2-etilhexil' },\n\t{ value: '39069040', label: '-- Copolimer de acrilonitril cu acrilat de metil, modificat cu polibutadien-acrilonitril (NBR)' },\n\t{ value: '39069050', label: '-- Produs de polimerizare a acidului acrilic cu metacrilat de alchil și mici cantități de alți monomeri, utilizat ca substanță de îngroșare în fabricarea pastelor utilizate la imprimarea textilelor' },\n\t{ value: '39069060', label: '-- Copolimer de acrilat de metil cu etilenă și un monomer care conțin ca substituent o grupă carboxi neterminală, cu o greutate de minimum 50 % acrilat de metil, combinat sau nu cu silice' },\n\t{ value: '39069090', label: '-- Altele' },\n\t{ value: '39070000', label: 'Poliacetali, alți polieteri și rășini epoxidice, sub forme primare; policarbonați, rășini alchidice, poliesteri alilici și alți poliesteri, sub forme primare' },\n\t{ value: '39071000', label: '- Poliacetali' },\n\t{ value: '39072100', label: '- Alți polieteri' },\n\t{ value: '39072100', label: '-- Bis(polioxietilen) metilfosfonat' },\n\t{ value: '39072900', label: '-- Altele' },\n\t{ value: '39072911', label: '--- Polieteri-alcooli' },\n\t{ value: '39072911', label: '---- Polietilen-glicoli' },\n\t{ value: '39072920', label: '---- Altele' },\n\t{ value: '39072991', label: '--- Altele' },\n\t{ value: '39072991', label: '---- Copolimer de 1-clor-2,3-epoxipropan cu oxid de etilenă' },\n\t{ value: '39072999', label: '---- Altele' },\n\t{ value: '39073000', label: '- Rășini epoxidice' },\n\t{ value: '39074000', label: '- Policarbonați' },\n\t{ value: '39075000', label: '- Rășini alchidice' },\n\t{ value: '39076100', label: '- Poli(etilenă tereftalat)' },\n\t{ value: '39076100', label: '-- Cu un indice de viscozitate de minimum 78 ml/g' },\n\t{ value: '39076900', label: '-- Altele' },\n\t{ value: '39077000', label: '- Poli(acid lactic)' },\n\t{ value: '39079100', label: '- Alți poliesteri' },\n\t{ value: '39079100', label: '-- Nesaturați' },\n\t{ value: '39079110', label: '--- Lichizi' },\n\t{ value: '39079190', label: '--- Altele' },\n\t{ value: '39079900', label: '-- Altele' },\n\t{ value: '39079905', label: '--- Copolimeri termoplastici de cristale lichide pe bază de poliester aromatic' },\n\t{ value: '39079910', label: '--- Poli(etilennaftalin-2,6-dicarboxilat)' },\n\t{ value: '39079980', label: '--- Altele' },\n\t{ value: '39080000', label: 'Poliamide sub forme primare' },\n\t{ value: '39081000', label: '- Poliamida-6, -11, -12, -6,6, -6,9, -6,10 sau -6,12' },\n\t{ value: '39089000', label: '- Altele' },\n\t{ value: '39090000', label: 'Rășini aminice, rășini fenolice și poliuretani, sub forme primare' },\n\t{ value: '39091000', label: '- Rășini ureice; rășini de tiouree' },\n\t{ value: '39092000', label: '- Rășini melaminice' },\n\t{ value: '39093100', label: '- Alte rășini aminice' },\n\t{ value: '39093100', label: '-- Poli(metilen fenil izocianat) (MDI brut, MDI polimeric)' },\n\t{ value: '39093900', label: '-- Altele' },\n\t{ value: '39094000', label: '- Rășini fenolice' },\n\t{ value: '39095000', label: '- Poliuretani' },\n\t{ value: '39095010', label: '-- Poliuretan de 2,2′-(terț-butilimino)dietanol și de diizocianat de 4,4′-metilendiciclohexil, sub formă de soluție în N,N-dimetilacetamidă care conține în greutate minimum 50 % polimer' },\n\t{ value: '39095090', label: '-- Altele' },\n\t{ value: '39100000', label: 'Siliconi sub forme primare' },\n\t{ value: '39110000', label: 'Rășini de petrol, rășini cumaron-indenice, politerpene, polisulfuri, polisulfoni și alte produse menționate la nota 3 din prezentul capitol, nedenumite și neclasificate în altă parte, sub forme primare' },\n\t{ value: '39111000', label: '- Rășini de petrol, rășini de cumaronă, rășini de inden, rășini cumaron-indenice și politerpene' },\n\t{ value: '39112000', label: '- Poli(1,3-fenilen metilfosfonat)' },\n\t{ value: '39119000', label: '- Altele' },\n\t{ value: '39119011', label: '-- Produse de polimerizare, de reorganizare sau de condensare, chiar modificate chimic' },\n\t{ value: '39119011', label: '--- Poli(oxi-1,4-fenilensulfonil-1,4-fenilenoxi-1,4-fenilenizopropiliden-1,4-fenilenă), în una din formele menționate la nota 6 litera (b) a capitolului' },\n\t{ value: '39119013', label: '--- Poli(tio-1,4-fenilenă)' },\n\t{ value: '39119019', label: '--- Altele' },\n\t{ value: '39119092', label: '-- Altele' },\n\t{ value: '39119092', label: '--- Copolimer de p-cresol și divinilbenzen, sub formă de soluție în N,N-dimetilacetamidă, care conține în greutate minimum 50 % polimer; copolimeri hidrogenați de viniltoluen și α-metilstiren' },\n\t{ value: '39119099', label: '--- Altele' },\n\t{ value: '39120000', label: 'Celuloză și derivații ei chimici, nedenumiți și necuprinși în altă parte, sub forme primare' },\n\t{ value: '39121100', label: '- Acetați de celuloză' },\n\t{ value: '39121100', label: '-- Neplastifiați' },\n\t{ value: '39121200', label: '-- Plastifiați' },\n\t{ value: '39122000', label: '- Nitrați de celuloză (inclusiv colodiu)' },\n\t{ value: '39122011', label: '-- Neplastifiați' },\n\t{ value: '39122011', label: '--- Colodiu și celoidin' },\n\t{ value: '39122019', label: '--- Altele' },\n\t{ value: '39122090', label: '-- Plastifiați' },\n\t{ value: '39123100', label: '- Eteri de celuloză' },\n\t{ value: '39123100', label: '-- Carboximetilceluloză și sărurile ei' },\n\t{ value: '39123900', label: '-- Altele' },\n\t{ value: '39123920', label: '--- Hidroxipropilceluloză' },\n\t{ value: '39123985', label: '--- Altele' },\n\t{ value: '39129000', label: '- Altele' },\n\t{ value: '39129010', label: '-- Esteri de celuloză' },\n\t{ value: '39129090', label: '-- Altele' },\n\t{ value: '39130000', label: 'Polimeri naturali (de exemplu, acid alginic) și polimeri naturali modificați (de exemplu, proteine întărite, derivați chimici ai cauciucului natural), nedenumiți și necuprinși în altă parte, sub forme primare' },\n\t{ value: '39131000', label: '- Acid alginic, sărurile și esterii acestuia' },\n\t{ value: '39139000', label: '- Altele' },\n\t{ value: '39140000', label: 'Schimbători de ioni pe bază de polimeri de la pozițiile 3901-3913, sub forme primare' },\n\t{ value: '39150000', label: 'II. DEȘEURI, ȘPAN, TALAȘ, SPĂRTURI; SEMIFABRICATE; ARTICOLE' },\n\t{ value: '39150000', label: 'Deșeuri, șpan, talaș, spărturi de materiale plastice' },\n\t{ value: '39151000', label: '- De polimeri de etilenă' },\n\t{ value: '39152000', label: '- De polimeri de stiren' },\n\t{ value: '39153000', label: '- De polimeri de clorură de vinil' },\n\t{ value: '39159000', label: '- De alte materiale plastice' },\n\t{ value: '39159011', label: '-- De polimeri de propilenă' },\n\t{ value: '39159080', label: '-- Altele' },\n\t{ value: '39160000', label: 'Monofilamente a căror dimensiune maximă în secțiunea transversală depășește 1 mm (monofire), inele, tije, bare și profile, chiar prelucrate la suprafață, dar neprelucrate altfel, din material plastic' },\n\t{ value: '39161000', label: '- Din polimeri de etilenă' },\n\t{ value: '39162000', label: '- Din polimeri de clorură de vinil' },\n\t{ value: '39169000', label: '- Din alte materiale plastice' },\n\t{ value: '39169010', label: '-- Din produse de polimerizare de reorganizare sau de condensare, chiar modificate chimic' },\n\t{ value: '39169050', label: '-- Din produse de polimerizare de adiție' },\n\t{ value: '39169090', label: '-- Altele' },\n\t{ value: '39170000', label: 'Tuburi, țevi și accesorii ale acestora (de exemplu, îmbinări, coturi, flanșe), din materiale plastice' },\n\t{ value: '39171000', label: '- Mațe artificiale din proteine întărite sau din materiale plastice celulozice' },\n\t{ value: '39171010', label: '-- Din proteine întărite' },\n\t{ value: '39171090', label: '-- Din materiale plastice celulozice' },\n\t{ value: '39172100', label: '- Tuburi, țevi şi furtunuri rigide' },\n\t{ value: '39172100', label: '-- Din polimeri de etilenă' },\n\t{ value: '39172110', label: '--- Obținute fără sudură sau lipire și de lungime care depășește dimensiunea maximă a secțiunii transversale, chiar fasonate, dar nu altfel prelucrate' },\n\t{ value: '39172190', label: '--- Altele' },\n\t{ value: '39172200', label: '-- Din polimeri de propilenă' },\n\t{ value: '39172210', label: '--- Obținute fără sudură sau lipire și cu o lungime care depășește dimensiunea maximă a secțiunii transversale, chiar fasonate, dar nu altfel prelucrate' },\n\t{ value: '39172290', label: '--- Altele' },\n\t{ value: '39172300', label: '-- Din polimeri de clorură de vinil' },\n\t{ value: '39172310', label: '--- Obținute fără sudură sau lipire și cu o lungime care depășește dimensiunea maximă a secțiunii transversale, chiar fasonate, dar nu altfel prelucrate' },\n\t{ value: '39172390', label: '--- Altele' },\n\t{ value: '39172900', label: '-- Din alte materiale plastice' },\n\t{ value: '39173100', label: '- Alte tuburi, țevi şi furtunuri' },\n\t{ value: '39173100', label: '-- Tuburi, țevi şi furtunuri, flexibile, care pot suporta o presiune minimă de 27,6 MPa' },\n\t{ value: '39173200', label: '-- Altele, neranforsate cu alte materiale, nici asociate în alt mod cu alte materiale, fără accesorii' },\n\t{ value: '39173300', label: '-- Altele, neranforsate cu alte materiale, nici asociate în alt mod cu alte materiale, cu accesorii' },\n\t{ value: '39173900', label: '-- Altele' },\n\t{ value: '39174000', label: '- Accesorii' },\n\t{ value: '39180000', label: 'Învelitori din materiale plastice pentru podele, autoadezive sau nu, în rulouri sau în formă de plăci de pardoseală sau de dale; învelitori pentru pereți și tavane din materiale plastice definite la nota 9 din acest capitol' },\n\t{ value: '39181000', label: '- Din polimeri de clorură de vinil' },\n\t{ value: '39181010', label: '-- Constând într-un suport impregnat, îmbrăcat sau acoperit cu poli(clorură de vinil)' },\n\t{ value: '39181090', label: '-- Altele' },\n\t{ value: '39189000', label: '- Din alte materiale plastice' },\n\t{ value: '39190000', label: 'Plăci, foi, folii, benzi, panglici, pelicule și alte forme plate autoadezive, din materiale plastice, chiar în rulouri' },\n\t{ value: '39191000', label: '- În rulouri cu o lățime de maximum 20 cm' },\n\t{ value: '39191012', label: '-- Benzi, panglici acoperite cu cauciuc natural sau sintetic, nevulcanizat' },\n\t{ value: '39191012', label: '--- Din poli(clorură de vinil) sau din polietilenă' },\n\t{ value: '39191015', label: '--- Din polipropilenă' },\n\t{ value: '39191019', label: '--- Altele' },\n\t{ value: '39191080', label: '-- Altele' },\n\t{ value: '39199000', label: '- Altele' },\n\t{ value: '39199020', label: '-- Paduri abrazive autoadezive de formă circulară de tipul celor utilizate pentru fabricarea plachetelor (\"wafers\") de semiconductori' },\n\t{ value: '39199080', label: '-- Altele' },\n\t{ value: '39200000', label: 'Alte plăci, foi, folii, pelicule, benzi, panglici și lame, din materiale plastice nealveolare, neranforsate, nestratificate, neasociate cu alte materiale, neprevăzute cu un suport' },\n\t{ value: '39201000', label: '- Din polimeri de etilenă' },\n\t{ value: '39201023', label: '-- Cu grosime de maximum 0,125 mm' },\n\t{ value: '39201023', label: '--- Din polietilenă cu densitate' },\n\t{ value: '39201023', label: '---- Sub 0,94' },\n\t{ value: '39201023', label: '----- Pelicule de polietilenă cu o grosime de minimum 20 de microni, dar de maximum 40 de microni, pentru fabricarea peliculelor fotorezistente utilizate la fabricarea semiconductorilor sau a circuitelor imprimate' },\n\t{ value: '39201024', label: '----- Pelicule extensibile, neimprimate' },\n\t{ value: '39201025', label: '----- Altele' },\n\t{ value: '39201028', label: '---- De minimum 0,94' },\n\t{ value: '39201040', label: '--- Altele' },\n\t{ value: '39201081', label: '-- Cu grosime de peste 0,125 mm' },\n\t{ value: '39201081', label: '--- Pastă de hârtie sintetică, sub formă de foi umede, formate din fibre necoezive de polietilenă, amestecate sau nu cu fibre de celuloză într-o proporție de maximum 15 %, care conține, ca agent de umezire, poli(alcool vinilic) dizolvat în apă' },\n\t{ value: '39201089', label: '--- Altele' },\n\t{ value: '39202000', label: '- Din polimeri de propilenă' },\n\t{ value: '39202021', label: '-- Cu grosime de maximum 0,10 mm' },\n\t{ value: '39202021', label: '--- Orientate biaxial' },\n\t{ value: '39202029', label: '--- Altele' },\n\t{ value: '39202080', label: '-- Cu grosime de peste 0,10 mm' },\n\t{ value: '39203000', label: '- Din polimeri de stiren' },\n\t{ value: '39204300', label: '- Din polimeri de clorură de vinil' },\n\t{ value: '39204300', label: '-- Care conțin în greutate minimum 6 % plastifianți' },\n\t{ value: '39204310', label: '--- Cu grosime de maximum 1 mm' },\n\t{ value: '39204390', label: '--- Cu grosime de peste 1 mm' },\n\t{ value: '39204900', label: '-- Altele' },\n\t{ value: '39204910', label: '--- Cu grosime de maximum 1 mm' },\n\t{ value: '39204990', label: '--- Cu grosime de peste 1 mm' },\n\t{ value: '39205100', label: '- Din polimeri acrilici' },\n\t{ value: '39205100', label: '-- Din poli(metacrilat de metil)' },\n\t{ value: '39205900', label: '-- Altele' },\n\t{ value: '39205910', label: '--- Copolimer din esteri acrilic și metacrilic, sub formă de pelicule cu grosimea de maximum 150 de microni' },\n\t{ value: '39205990', label: '--- Altele' },\n\t{ value: '39206100', label: '- Din policarbonați, din rășini alchidice, din poliesteri alilici sau din alți poliesteri' },\n\t{ value: '39206100', label: '-- Din policarbonați' },\n\t{ value: '39206200', label: '-- Din poli(etilen tereftalat)' },\n\t{ value: '39206212', label: '--- Cu grosime de maximum 0,35 mm' },\n\t{ value: '39206212', label: '---- Pelicule de poli(etilen tereftalat), cu grosimea de minimum 72 de microni, dar de maximum 79 de microni, pentru producerea discurilor magnetice flexibile; pelicule de poli(etilen tereftalat), cu grosimea de minimum 100 de microni, dar de maximum 150 de microni, pentru producerea plăcilor de imprimare din fotopolimeri' },\n\t{ value: '39206219', label: '---- Altele' },\n\t{ value: '39206290', label: '--- Cu grosime de peste 0,35 mm' },\n\t{ value: '39206300', label: '-- Din poliesteri nesaturați' },\n\t{ value: '39206900', label: '-- Din alți poliesteri' },\n\t{ value: '39207100', label: '- Din celuloză sau din derivații ei chimici' },\n\t{ value: '39207100', label: '-- Din celuloză regenerată' },\n\t{ value: '39207300', label: '-- Din acetat de celuloză' },\n\t{ value: '39207310', label: '--- Pelicule sub formă de role sau benzi, pentru cinematografie sau pentru fotografie' },\n\t{ value: '39207380', label: '--- Altele' },\n\t{ value: '39207900', label: '-- Din alte derivate ale celulozei' },\n\t{ value: '39207910', label: '--- Din fibre vulcanizate' },\n\t{ value: '39207990', label: '--- Altele' },\n\t{ value: '39209100', label: '- Din alte materiale plastice' },\n\t{ value: '39209100', label: '-- Din poli(butiral de vinil)' },\n\t{ value: '39209200', label: '-- Din poliamide' },\n\t{ value: '39209300', label: '-- Din rășini aminice' },\n\t{ value: '39209400', label: '-- Din rășini fenolice' },\n\t{ value: '39209900', label: '-- Din alte materiale plastice' },\n\t{ value: '39209921', label: '--- Din produse de polimerizare reorganizare sau de condensare, chiar modificate chimic' },\n\t{ value: '39209921', label: '---- Folii și benzi din poliamidă, neacoperite, sau acoperite ori îmbrăcate numai cu materiale plastice' },\n\t{ value: '39209928', label: '---- Altele' },\n\t{ value: '39209952', label: '--- Din produse de polimerizare de adiție' },\n\t{ value: '39209952', label: '---- Folii din poli(fluorură de vinil); pelicule din poli(alcool vinilic) orientat biaxial care conține în greutate minimum 97 % poli(alcool vinilic), neacoperite, de o grosime de maximum 1 mm' },\n\t{ value: '39209953', label: '---- Membrane schimbătoare de ioni din material plastic fluorurat, utilizate în celule electrolitice clor-alcaline' },\n\t{ value: '39209959', label: '---- Altele' },\n\t{ value: '39209990', label: '--- Altele' },\n\t{ value: '39210000', label: 'Alte plăci, folii, pelicule, benzi și lame din materiale plastice' },\n\t{ value: '39211100', label: '- Produse alveolare' },\n\t{ value: '39211100', label: '-- Din polimeri de stiren' },\n\t{ value: '39211200', label: '-- Din polimeri de clorură de vinil' },\n\t{ value: '39211300', label: '-- Din poliuretan' },\n\t{ value: '39211310', label: '--- Flexibile' },\n\t{ value: '39211390', label: '--- Altele' },\n\t{ value: '39211400', label: '-- Din celuloză regenerată' },\n\t{ value: '39211900', label: '-- Din alte materiale plastice' },\n\t{ value: '39219000', label: '- Altele' },\n\t{ value: '39219010', label: '-- Din produse de polimerizare de reorganizare sau de condensare, chiar modificate chimic' },\n\t{ value: '39219010', label: '--- Din poliesteri' },\n\t{ value: '39219030', label: '--- Din rășini fenolice' },\n\t{ value: '39219041', label: '--- Din rășini aminice' },\n\t{ value: '39219041', label: '---- Laminate' },\n\t{ value: '39219041', label: '----- Sub presiune înaltă, cu suprafețe decorative pe o față sau pe ambele fețe' },\n\t{ value: '39219043', label: '----- Altele' },\n\t{ value: '39219049', label: '---- Altele' },\n\t{ value: '39219055', label: '--- Altele' },\n\t{ value: '39219060', label: '-- Din produse de polimerizare de adiție' },\n\t{ value: '39219090', label: '-- Altele' },\n\t{ value: '39220000', label: 'Căzi de baie, căzi de duș, chiuvete, lavoare, bideuri, vase de closet, scaune și capace pentru closete, rezervoare de apă și articole similare pentru utilizări sanitare sau igienice, din materiale plastice' },\n\t{ value: '39221000', label: '- Căzi de baie, căzi de duș, chiuvete și lavoare' },\n\t{ value: '39222000', label: '- Scaune și capace pentru closete' },\n\t{ value: '39229000', label: '- Altele' },\n\t{ value: '39230000', label: 'Articole de transport sau de ambalare din materiale plastice; bușoane, dopuri, capace, capsule și alte dispozitive de închidere, din materiale plastice' },\n\t{ value: '39231000', label: '- Cutii, lăzi, stelaje și articole similare' },\n\t{ value: '39231010', label: '-- Cutii, lăzi, stelaje și articole similare, din plastic, special realizate pentru transportul sau ambalarea plachetelor (\"wafers\") de semiconductori, a măștilor sau a reticulelor' },\n\t{ value: '39231090', label: '-- Altele' },\n\t{ value: '39232100', label: '- Saci, sacoșe, pungi și cornete' },\n\t{ value: '39232100', label: '-- Din polimeri de etilenă' },\n\t{ value: '39232900', label: '-- Din alte materiale plastice' },\n\t{ value: '39232910', label: '--- Din poli(clorură de vinil)' },\n\t{ value: '39232990', label: '--- Altele' },\n\t{ value: '39233000', label: '- Bidoane, sticle, flacoane și articole similare' },\n\t{ value: '39233010', label: '-- Cu capacitate de maximum 2 l' },\n\t{ value: '39233090', label: '-- Cu capacitate de peste 2 l' },\n\t{ value: '39234000', label: '- Mosoare, bobine, canete și suporturi similare' },\n\t{ value: '39234010', label: '-- Bobine și suporturi similare pentru rularea filmelor și peliculelor fotografice și cinematografice sau a benzilor, filmelor etc. menționate la poziția 8523' },\n\t{ value: '39234090', label: '-- Altele' },\n\t{ value: '39235000', label: '- Bușoane, dopuri, capace, capsule și alte dispozitive de închidere' },\n\t{ value: '39235010', label: '-- Capsule și dopuri pentru astupare' },\n\t{ value: '39235090', label: '-- Altele' },\n\t{ value: '39239000', label: '- Altele' },\n\t{ value: '39240000', label: 'Veselă, alte articole de menaj sau obiecte de uz casnic și articole de igienă sau de toaletă, din materiale plastice' },\n\t{ value: '39241000', label: '- Veselă și alte articole pentru servirea mesei sau de bucătărie' },\n\t{ value: '39249000', label: '- Altele' },\n\t{ value: '39250000', label: 'Articole pentru echiparea construcțiilor, din materiale plastice, nedenumite și necuprinse în altă parte' },\n\t{ value: '39251000', label: '- Rezervoare, butoaie, cuve și recipienți similari, cu capacitatea de peste 300 l' },\n\t{ value: '39252000', label: '- Uși, ferestre, cadre și tocuri, pervazuri și praguri' },\n\t{ value: '39253000', label: '- Obloane, storuri (inclusiv storuri venețiene) și alte articole similare și părți ale acestora' },\n\t{ value: '39259000', label: '- Altele' },\n\t{ value: '39259010', label: '-- Accesorii și garnituri destinate pentru instalarea definitivă în sau pe uși, ferestre, scări, pereți sau pe alte părți de construcții' },\n\t{ value: '39259020', label: '-- Conducte, țevi și doze de perete, pentru circuite electrice' },\n\t{ value: '39259080', label: '-- Altele' },\n\t{ value: '39260000', label: 'Alte articole din materiale plastice și articole din alte materiale de la pozițiile 3901-3914' },\n\t{ value: '39261000', label: '- Articole de birou și articole școlare' },\n\t{ value: '39262000', label: '- Articole și accesorii de îmbrăcăminte (inclusiv mănuși, mitene și mănuși cu un deget)' },\n\t{ value: '39263000', label: '- Garnituri pentru mobilă, caroserii sau similare' },\n\t{ value: '39264000', label: '- Statuete și alte obiecte de ornament' },\n\t{ value: '39269000', label: '- Altele' },\n\t{ value: '39269050', label: '-- Grătare și articole similare pentru filtrarea apei la intrarea în canalul de scurgere' },\n\t{ value: '39269060', label: '-- Dispozitive de protecție pentru față/viziere' },\n\t{ value: '39269097', label: '-- Altele' },\n\t{ value: '40000000', label: 'CAUCIUC ȘI ARTICOLE DIN CAUCIUC' },\n\t{ value: '40010000', label: 'Cauciuc natural, balată, gutapercă, guayul, chicle și gume naturale similare, sub forme primare sau în plăci, folii sau benzi' },\n\t{ value: '40011000', label: '- Latex de cauciuc natural, chiar prevulcanizat' },\n\t{ value: '40012100', label: '- Cauciuc natural sub alte forme' },\n\t{ value: '40012100', label: '-- Foi afumate' },\n\t{ value: '40012200', label: '-- Cauciuc natural tehnic specificat (TSNR)' },\n\t{ value: '40012900', label: '-- Altele' },\n\t{ value: '40013000', label: '- Balată, gutapercă, guayul, chicle și gume naturale similare' },\n\t{ value: '40020000', label: 'Cauciuc sintetic și factice derivat din uleiuri, sub forme primare sau în plăci, foi și benzi; amestecuri ale produselor din poziția 4001 cu produse de la prezenta poziție, sub forme primare sau în plăci, foi sau benzi' },\n\t{ value: '40021100', label: '- Cauciuc stiren-butadienic (SBR); cauciuc stiren-butadienic carboxilat (XSBR)' },\n\t{ value: '40021100', label: '-- Latex' },\n\t{ value: '40021900', label: '-- Altele' },\n\t{ value: '40021910', label: '--- Cauciuc stiren-butadienic fabricat prin polimerizare în emulsie (E-SBR), în baloți' },\n\t{ value: '40021920', label: '--- Copolimeri bloc stiren-butadiene-stiren fabricați prin polimerizare în soluție (SBS, elastomeri termoplastici), sub formă de granule, firimituri sau pudră' },\n\t{ value: '40021930', label: '--- Cauciuc stiren butadienic fabricat prin polimerizare în soluție (S-SBR), în baloți' },\n\t{ value: '40021990', label: '--- Altele' },\n\t{ value: '40022000', label: '- Cauciuc butadienic (BR)' },\n\t{ value: '40023100', label: '- Cauciuc izobuten-izoprenic (butilcauciuc) (IIR); cauciuc izobuten-izoprenic halogenat (CIIR sau BIIR)' },\n\t{ value: '40023100', label: '-- Cauciuc izobuten-izoprenic (butilcauciuc) (IIR)' },\n\t{ value: '40023900', label: '-- Altele' },\n\t{ value: '40024100', label: '- Cauciuc cloroprenic (clorobutadienic) (CR)' },\n\t{ value: '40024100', label: '-- Latex' },\n\t{ value: '40024900', label: '-- Altele' },\n\t{ value: '40025100', label: '- Cauciuc acrilonitrilbutadienic (NBR)' },\n\t{ value: '40025100', label: '-- Latex' },\n\t{ value: '40025900', label: '-- Altele' },\n\t{ value: '40026000', label: '- Cauciuc izoprenic (IR)' },\n\t{ value: '40027000', label: '- Caucic etilenopropilendienic neconjugat (EPDM)' },\n\t{ value: '40028000', label: '- Amestecuri ale produselor de la poziția 4001 cu produse de la această poziție' },\n\t{ value: '40029100', label: '- Altele' },\n\t{ value: '40029100', label: '-- Latex' },\n\t{ value: '40029900', label: '-- Altele' },\n\t{ value: '40029910', label: '--- Produse modificate prin încorporarea de materiale plastice' },\n\t{ value: '40029990', label: '--- Altele' },\n\t{ value: '40030000', label: 'Cauciuc regenerat sub forme primare sau în plăci, foi sau benzi' },\n\t{ value: '40040000', label: 'Deșeuri, bavuri și resturi de cauciuc nedurificat, chiar în pulbere sau în granule' },\n\t{ value: '40050000', label: 'Cauciuc amestecat, nevulcanizat, sub forme primare sau în plăci, foi sau benzi' },\n\t{ value: '40051000', label: '- Cauciuc amestecat cu negru de fum sau silice' },\n\t{ value: '40052000', label: '- Soluții, dispersii, altele decât cele din subpoziția 4005 10' },\n\t{ value: '40059100', label: '- Altele' },\n\t{ value: '40059100', label: '-- Plăci, foi și benzi' },\n\t{ value: '40059900', label: '-- Altele' },\n\t{ value: '40060000', label: 'Alte forme (de exemplu, baghete, tuburi, profile) și articole (de exemplu, discuri, rondele) din cauciuc nevulcanizat' },\n\t{ value: '40061000', label: '- Profile pentru reșapare' },\n\t{ value: '40069000', label: '- Altele' },\n\t{ value: '40070000', label: 'Fire și corzi din cauciuc vulcanizat' },\n\t{ value: '40080000', label: 'Plăci, foi, benzi, baghete și profile, din cauciuc vulcanizat nedurificat' },\n\t{ value: '40081100', label: '- Din cauciuc alveolar' },\n\t{ value: '40081100', label: '-- Plăci, foi și benzi' },\n\t{ value: '40081900', label: '-- Altele' },\n\t{ value: '40082100', label: '- Din cauciuc nealveolar' },\n\t{ value: '40082100', label: '-- Plăci, foi și benzi' },\n\t{ value: '40082110', label: '--- Acoperitoare de podele și ștergătoare pentru picioare' },\n\t{ value: '40082190', label: '--- Altele' },\n\t{ value: '40082900', label: '-- Altele' },\n\t{ value: '40090000', label: 'Tuburi, țevi și furtunuri din cauciuc vulcanizat nedurificat, prevăzute sau nu cu accesoriile lor (de exemplu, racorduri, garnituri, coturi, flanșe)' },\n\t{ value: '40091100', label: '- Neranforsate cu alte materiale, nici asociate cu alte materiale' },\n\t{ value: '40091100', label: '-- Fără accesorii' },\n\t{ value: '40091200', label: '-- Cu accesorii' },\n\t{ value: '40092100', label: '- Ranforsate numai cu metal sau altfel asociate numai cu metal' },\n\t{ value: '40092100', label: '-- Fără accesorii' },\n\t{ value: '40092200', label: '-- Cu accesorii' },\n\t{ value: '40093100', label: '- Ranforsate numai cu materiale textile sau altfel asociate numai cu materiale textile' },\n\t{ value: '40093100', label: '-- Fără accesorii' },\n\t{ value: '40093200', label: '-- Cu accesorii' },\n\t{ value: '40094100', label: '- Ranforsate cu alte materiale sau altfel asociate cu alte materiale' },\n\t{ value: '40094100', label: '-- Fără accesorii' },\n\t{ value: '40094200', label: '-- Cu accesorii' },\n\t{ value: '40100000', label: 'Benzi transportoare sau curele de transmisie, din cauciuc vulcanizat' },\n\t{ value: '40101100', label: '- Benzi transportoare' },\n\t{ value: '40101100', label: '-- Ranforsate numai cu metal' },\n\t{ value: '40101200', label: '-- Ranforsate numai cu materiale textile' },\n\t{ value: '40101900', label: '-- Altele' },\n\t{ value: '40103100', label: '- Curele de transmisie' },\n\t{ value: '40103100', label: '-- Curele de transmisie continue (fără sfârșit), striate, de secțiune trapezoidală, cu o circumferință exterioară de peste 60 cm, dar de maximum 180 cm' },\n\t{ value: '40103200', label: '-- Curele de transmisie continue (fără sfârșit), de secțiune trapezoidală, altele decât cele striate, cu o circumferință exterioară de peste 60 cm, dar de maximum 180 cm' },\n\t{ value: '40103300', label: '-- Curele de transmisie continue (fără sfârșit), de secțiune trapezoidală, striate, cu o circumferință exterioară de peste 180 cm, dar de maximum 240 cm' },\n\t{ value: '40103400', label: '-- Curele de transmisie continue (fără sfârșit), de secțiune trapezoidală, altele decât cele striate, cu o circumferință exterioară de peste 180 cm, dar de maximum 240 cm' },\n\t{ value: '40103500', label: '-- Curele de transmisie continue (fără sfârșit), crestate (sincrone), cu o circumferință exterioară de peste 60 cm, dar de maximum 150 cm' },\n\t{ value: '40103600', label: '-- Curele de transmisie continue (fără sfârșit), crestate (sincrone), cu o circumferință exterioară de peste 150 cm, dar de maximum 198 cm' },\n\t{ value: '40103900', label: '-- Altele' },\n\t{ value: '40110000', label: 'Anvelope pneumatice noi, din cauciuc' },\n\t{ value: '40111000', label: '- De tipul celor utilizate pentru autoturisme (inclusiv cele de tip break și cele de curse)' },\n\t{ value: '40112000', label: '- De tipul celor utilizate pentru autobuze sau camioane' },\n\t{ value: '40112010', label: '-- Cu un indice de sarcină de maximum 121' },\n\t{ value: '40112090', label: '-- Cu un indice de sarcină de peste 121' },\n\t{ value: '40113000', label: '- De tipul celor utilizate pentru aeronave' },\n\t{ value: '40114000', label: '- De tipul celor utilizate pentru motociclete' },\n\t{ value: '40115000', label: '- De tipul celor utilizate pentru biciclete' },\n\t{ value: '40117000', label: '- De tipul celor utilizate pentru vehicule și mașini agricole și forestiere' },\n\t{ value: '40118000', label: '- De tipul celor utilizate pentru vehicule și mașini de construcție, miniere sau de manipulare industrială' },\n\t{ value: '40119000', label: '- Altele' },\n\t{ value: '40120000', label: 'Anvelope pneumatice reșapate sau uzate, din cauciuc; bandaje, benzi de rulare amovibile pentru anvelope și \"flapsuri\", din cauciuc' },\n\t{ value: '40121100', label: '- Anvelope pneumatice reșapate' },\n\t{ value: '40121100', label: '-- De tipul celor utilizate pentru autoturisme (inclusiv mașinile de tip \"break\" și mașinile de curse)' },\n\t{ value: '40121200', label: '-- De tipul celor utilizate pentru autobuze sau camioane' },\n\t{ value: '40121300', label: '-- De tipul celor utilizate pentru aeronave' },\n\t{ value: '40121900', label: '-- Altele' },\n\t{ value: '40122000', label: '- Anvelope pneumatice uzate' },\n\t{ value: '40129000', label: '- Altele' },\n\t{ value: '40129020', label: '-- Bandaje pline sau cave' },\n\t{ value: '40129030', label: '-- Benzi de rulare amovibile pentru pneuri' },\n\t{ value: '40129090', label: '-- \"Flapsuri\"' },\n\t{ value: '40130000', label: 'Camere de aer, din cauciuc' },\n\t{ value: '40131000', label: '- De tipul celor utilizate pentru autoturisme (inclusiv vehicule de tip \"break\" și vehicule de curse), pentru autobuze sau pentru camioane' },\n\t{ value: '40132000', label: '- De tipul celor utilizate pentru biciclete' },\n\t{ value: '40139000', label: '- Altele' },\n\t{ value: '40140000', label: 'Articole de igienă sau de farmacie (inclusiv tetinele), din cauciuc vulcanizat, nedurificat, chiar cu părți din cauciuc durificat (ebonită)' },\n\t{ value: '40141000', label: '- Prezervative' },\n\t{ value: '40149000', label: '- Altele' },\n\t{ value: '40150000', label: 'Îmbrăcăminte și accesorii de îmbrăcăminte (inclusiv mănuși, mitene și mănuși cu un deget), din cauciuc vulcanizat, nedurificat, pentru orice utilizare' },\n\t{ value: '40151200', label: '- Mănuși, mitene și mănuși cu un deget' },\n\t{ value: '40151200', label: '-- De tipul celor utilizate în medicină, în chirurgie, în stomatologie sau în scopuri veterinare' },\n\t{ value: '40151900', label: '-- Altele' },\n\t{ value: '40159000', label: '- Altele' },\n\t{ value: '40160000', label: 'Alte articole din cauciuc vulcanizat, nedurificat' },\n\t{ value: '40161000', label: '- Din cauciuc alveolar' },\n\t{ value: '40169100', label: '- Altele' },\n\t{ value: '40169100', label: '-- Acoperitoare de podea și ștergătoare de picioare' },\n\t{ value: '40169200', label: '-- Gume de șters' },\n\t{ value: '40169300', label: '-- Garnituri, șaibe și alte etanșări' },\n\t{ value: '40169400', label: '-- Parașocuri, chiar gonflabile, pentru acostarea navelor' },\n\t{ value: '40169500', label: '-- Alte articole gonflabile' },\n\t{ value: '40169900', label: '-- Altele' },\n\t{ value: '40169952', label: '--- Pentru automobilele de la pozițiile 8701-8705' },\n\t{ value: '40169952', label: '---- Piese din cauciuc-metal' },\n\t{ value: '40169957', label: '---- Altele' },\n\t{ value: '40169991', label: '--- Altele' },\n\t{ value: '40169991', label: '---- Piese din cauciuc-metal' },\n\t{ value: '40169997', label: '---- Altele' },\n\t{ value: '40170000', label: 'Cauciuc durificat (de exemplu, ebonită) sub toate formele, inclusiv deșeurile și resturile; articole din cauciuc durificat' },\n\t{ value: '41000000', label: 'PIEI BRUTE (ALTELE DECÂT PIEILE CU BLANĂ) ȘI PIEI FINITE' },\n\t{ value: '41010000', label: 'Piei brute de bovine (inclusiv de bivoli) sau de ecvidee (proaspete sau sărate, uscate, cenușărite, piclate sau altfel conservate, dar netăbăcite, nepergamentate sau altfel preparate), chiar epilate sau șpăltuite' },\n\t{ value: '41012000', label: '- Piei brute întregi, neșpăltuite, cu o greutate unitară de maximum 8 kg atunci când sunt uscate, de 10 kg atunci când sunt sărate uscat și de 16 kg atunci când sunt proaspete, sărate umed sau altfel conservate' },\n\t{ value: '41012010', label: '-- Proaspete' },\n\t{ value: '41012030', label: '-- Sărate umed' },\n\t{ value: '41012050', label: '-- Uscate sau sărate uscat' },\n\t{ value: '41012080', label: '-- Altele' },\n\t{ value: '41015000', label: '- Piei brute întregi, cu o greutate unitară de peste 16 kg' },\n\t{ value: '41015010', label: '-- Proaspete' },\n\t{ value: '41015030', label: '-- Sărate umed' },\n\t{ value: '41015050', label: '-- Uscate sau sărate uscat' },\n\t{ value: '41015090', label: '-- Altele' },\n\t{ value: '41019000', label: '- Altele, inclusiv crupoanele, semicrupoanele și flancurile' },\n\t{ value: '41020000', label: 'Piei brute de ovine (proaspete sau sărate, uscate, cenușărite, piclate sau altfel conservate, dar netăbăcite, nepergamentate sau altfel preparate) chiar epilate sau șpăltuite, altele decât cele excluse prin nota 1 litera (c) din acest capitol' },\n\t{ value: '41021000', label: '- Cu lână' },\n\t{ value: '41021010', label: '-- De miel' },\n\t{ value: '41021090', label: '-- De alte ovine' },\n\t{ value: '41022100', label: '- Epilate sau fără lână' },\n\t{ value: '41022100', label: '-- Piclate' },\n\t{ value: '41022900', label: '-- Altele' },\n\t{ value: '41030000', label: 'Alte piei brute (proaspete sau sărate, uscate, cenușărite, piclate sau altfel conservate, dar netăbăcite, nepergamentate sau altfel preparate), chiar epilate sau șpăltuite, altele decât cele excluse prin notele 1 litera (b) sau 1 litera (c) ale acestui capitol' },\n\t{ value: '41032000', label: '- De reptile' },\n\t{ value: '41033000', label: '- De porcine' },\n\t{ value: '41039000', label: '- Altele' },\n\t{ value: '41040000', label: 'Piei tăbăcite sau piei semifinite de bovine (inclusiv de bivoli) sau de ecvidee, epilate, chiar șpăltuite, dar fără alte prelucrări' },\n\t{ value: '41041100', label: '- În stare umedă (inclusiv pielea tăbăcită cu crom, wet-blue)' },\n\t{ value: '41041100', label: '-- Piele față naturală neșpăltuită; șpalt de față' },\n\t{ value: '41041110', label: '--- Piei întregi de bovine (inclusiv de bivoli) cu o suprafață unitară de maximum 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41041151', label: '--- Altele' },\n\t{ value: '41041151', label: '---- De bovine (inclusiv de bivoli)' },\n\t{ value: '41041151', label: '----- Piei întregi, cu o suprafață unitară de peste 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41041159', label: '----- Altele' },\n\t{ value: '41041190', label: '---- Altele' },\n\t{ value: '41041900', label: '-- Altele' },\n\t{ value: '41041910', label: '--- Piei întregi de bovine (inclusiv de bivoli) cu o suprafață unitară de maximum 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41041951', label: '--- Altele' },\n\t{ value: '41041951', label: '---- De bovine (inclusiv de bivoli)' },\n\t{ value: '41041951', label: '----- Piei întregi cu o suprafață unitară de peste 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41041959', label: '----- Altele' },\n\t{ value: '41041990', label: '---- Altele' },\n\t{ value: '41044100', label: '- În stare uscată (semifinită)' },\n\t{ value: '41044100', label: '-- Piele față naturală, neșpăltuită; șpalt de față' },\n\t{ value: '41044111', label: '--- Piei întregi de bovine (inclusiv de bivoli) cu o suprafață unitară de maximum 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41044111', label: '---- Piei box de India (\"kips\") întregi sau chiar fără cap și labe, cu o greutate netă unitară de maximum 4,5 kg, tăbăcite simplu cu ajutorul unor substanțe vegetale, chiar supuse unor tratamente, dar care sunt în mod clar neutilizabile ca atare pentru fabricarea unor articole din piele' },\n\t{ value: '41044119', label: '---- Altele' },\n\t{ value: '41044151', label: '--- Altele' },\n\t{ value: '41044151', label: '---- De bovine (inclusiv de bivoli)' },\n\t{ value: '41044151', label: '----- Piei întregi cu o suprafață unitară de peste 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41044159', label: '----- Altele' },\n\t{ value: '41044190', label: '---- Altele' },\n\t{ value: '41044900', label: '-- Altele' },\n\t{ value: '41044911', label: '--- Piei întregi de bovine (inclusiv de bivoli) cu o suprafață unitară de maximum 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41044911', label: '---- Piei box de India (\"kips\") întregi sau chiar fără cap și picioare, cu o greutate netă unitară de maximum 4,5 kg, tăbăcite simplu cu ajutorul unor substanțe vegetale, chiar supuse unor tratamente, dar care sunt în mod clar neutilizabile ca atare pentru fabricarea unor articole din piele' },\n\t{ value: '41044919', label: '---- Altele' },\n\t{ value: '41044951', label: '--- Altele' },\n\t{ value: '41044951', label: '---- De bovine (inclusiv de bivoli)' },\n\t{ value: '41044951', label: '----- Piei întregi, cu o suprafață unitară de peste 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41044959', label: '----- Altele' },\n\t{ value: '41044990', label: '---- Altele' },\n\t{ value: '41050000', label: 'Piei tăbăcite sau piei semifinite de ovine, epilate, chiar șpăltuite, dar fără alte prelucrări' },\n\t{ value: '41051000', label: '- În stare umedă (inclusiv pielea tăbăcită cu crom, wet-blue)' },\n\t{ value: '41053000', label: '- În stare uscată (semifinită)' },\n\t{ value: '41053010', label: '-- De metis de India, pretăbăcite vegetal, chiar supuse unor tratamente, dar care sunt în mod clar neutilizabile ca atare pentru fabricarea unor articole din piele' },\n\t{ value: '41053090', label: '-- Altele' },\n\t{ value: '41060000', label: 'Piei tăbăcite sau semifinite ale altor animale și piei fără blană, epilate, chiar șpăltuite, dar fără alte prelucrări' },\n\t{ value: '41062100', label: '- De caprine' },\n\t{ value: '41062100', label: '-- În stare umedă (inclusiv pielea tăbăcită cu crom, wet-blue)' },\n\t{ value: '41062200', label: '-- În stare uscată (semifinită)' },\n\t{ value: '41062210', label: '--- De capre de India, pretăbăcite vegetal, chiar supuse unor tratamente, dar care sunt în mod clar neutilizabile ca atare pentru fabricarea unor articole din piele' },\n\t{ value: '41062290', label: '--- Altele' },\n\t{ value: '41063100', label: '- De porcine' },\n\t{ value: '41063100', label: '-- În stare umedă (inclusiv pielea tăbăcită cu crom, wet-blue)' },\n\t{ value: '41063200', label: '-- În stare uscată (semifinită)' },\n\t{ value: '41064000', label: '- De reptile' },\n\t{ value: '41064010', label: '-- Pretăbăcite vegetal' },\n\t{ value: '41064090', label: '-- Altele' },\n\t{ value: '41069100', label: '- Altele' },\n\t{ value: '41069100', label: '-- În stare umedă (inclusiv pielea tăbăcită cu crom, wet-blue)' },\n\t{ value: '41069200', label: '-- În stare uscată (semifinită)' },\n\t{ value: '41070000', label: 'Piei prelucrate după tăbăcire sau după uscare și piei pergamentate de bovine (inclusiv de bivoli) sau de ecvidee, epilate, chiar șpăltuite, altele decât cele de la poziția 4114' },\n\t{ value: '41071100', label: '- Piei întregi' },\n\t{ value: '41071100', label: '-- Piele față naturală, neșpăltuite' },\n\t{ value: '41071111', label: '--- Piei întregi de bovine (inclusiv de bivoli), cu o suprafață unitară de maximum 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41071111', label: '---- Piele box de vițel (box-calf)' },\n\t{ value: '41071119', label: '---- Altele' },\n\t{ value: '41071190', label: '--- Altele' },\n\t{ value: '41071200', label: '-- Șpalt de față' },\n\t{ value: '41071211', label: '--- Piei întregi de bovine (inclusiv de bivoli), cu o suprafață unitară de maximum 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41071211', label: '---- Piele box de vițel (box-calf)' },\n\t{ value: '41071219', label: '---- Altele' },\n\t{ value: '41071291', label: '--- Altele' },\n\t{ value: '41071291', label: '---- De bovine (inclusiv de bivoli)' },\n\t{ value: '41071299', label: '---- De ecvidee' },\n\t{ value: '41071900', label: '-- Altele' },\n\t{ value: '41071910', label: '--- Piei întregi de bovine (inclusiv de bivoli) cu o suprafață unitară de maximum 28 picioare pătrate (2,6 m2)' },\n\t{ value: '41071990', label: '--- Altele' },\n\t{ value: '41079100', label: '- Altele, inclusiv canatele' },\n\t{ value: '41079100', label: '-- Piele față naturală, neșpăltuită' },\n\t{ value: '41079110', label: '--- Pentru tălpi' },\n\t{ value: '41079190', label: '--- Altele' },\n\t{ value: '41079200', label: '-- Șpalt de față' },\n\t{ value: '41079210', label: '--- De bovine (inclusiv de bivoli)' },\n\t{ value: '41079290', label: '--- De ecvidee' },\n\t{ value: '41079900', label: '-- Altele' },\n\t{ value: '41079910', label: '--- De bovine (inclusiv de bivoli)' },\n\t{ value: '41079990', label: '--- De ecvidee' },\n\t{ value: '41120000', label: 'Piei prelucrate după tăbăcire sau după uscare și piei pergamentate, de ovine, epilate, chiar șpăltuite, altele decât cele de la poziția 4114' },\n\t{ value: '41130000', label: 'Piei prelucrate după tăbăcire sau după uscare și piei pergamentate, ale altor animale, epilate, și piei prelucrate după tăbăcire și piei pergamentate de animale lipsite de păr, chiar șpăltuite, altele decât cele de la poziția 4114' },\n\t{ value: '41131000', label: '- De caprine' },\n\t{ value: '41132000', label: '- De porcine' },\n\t{ value: '41133000', label: '- De reptile' },\n\t{ value: '41139000', label: '- Altele' },\n\t{ value: '41140000', label: 'Piei tăbăcite în grăsimi (piei chamois), inclusiv cele obținute prin tăbăcire combinată; piei lăcuite sau lăcuite stratificate; piei metalizate' },\n\t{ value: '41141000', label: '- Piei tăbăcite în grăsimi (inclusiv cele obținute prin tăbăcire combinată)' },\n\t{ value: '41141010', label: '-- De ovine' },\n\t{ value: '41141090', label: '-- De alte animale' },\n\t{ value: '41142000', label: '- Piei lăcuite sau lăcuite stratificate; piei metalizate' },\n\t{ value: '41150000', label: 'Piei reconstituite pe bază de piele sau de fibre de piele, sub formă de plăci, foi sau benzi, chiar rulate; resturi și alte deșeuri de piele sau de piele reconstituită, inutilizabile pentru fabricarea unor articole din piele; praf, pudră și făină de piele' },\n\t{ value: '41151000', label: '- Piele reconstituită pe bază de piele sau de fibre de piele, sub formă de plăci, foi sau benzi, chiar rulate' },\n\t{ value: '41152000', label: '- Resturi sau alte deșeuri de piele sau de piele prelucrată sau de piele reconstituită, neutilizabile pentru fabricarea unor articole din piele; praf, pudră și făină de piele' },\n\t{ value: '42000000', label: 'OBIECTE DIN PIELE; ARTICOLE DE CURELĂRIE SAU DE ȘELĂRIE; ARTICOLE DE VOIAJ, BAGAJE DE MÂNĂ ȘI ARTICOLE SIMILARE; ARTICOLE DIN INTESTINE DE ANIMALE (ALTELE DECÂT CELE DE LA VIERMII DE MĂTASE)' },\n\t{ value: '42010000', label: 'Articole de șelărie sau de curelărie pentru orice animale (inclusiv șleauri, zgărzi, genunchiere, botnițe, pături pentru șa, oblâncuri, îmbrăcăminte pentru câini și articole similare) din orice materiale' },\n\t{ value: '42020000', label: 'Valize, geamantane și cufere, inclusiv casete de toaletă și mape port-documente, serviete, ghiozdane, tocuri pentru ochelari, tocuri pentru binocluri, tocuri pentru aparate fotografice, pentru aparate de filmat, cutii pentru instrumente muzicale sau arme, tocuri de pistol și articole similare; genți de voiaj, genți izolate termic pentru produse alimentare și băuturi, truse de toaletă, rucsacuri, genți, sacoșe pentru cumpărături, portofele, portmonee, porthărți, tabachere, pungi pentru tutun, truse pentru scule, genți pentru articole sportive, cutii pentru sticle sau bijuterii, cutii pentru pudră, casete pentru argintărie și articole similar, din piele naturală sau reconstituită, din foi de material plastic, din materiale textile, din fibră vulcanizată sau din carton sau acoperite în totalitate sau în mare parte cu astfel de materiale sau cu hârtie' },\n\t{ value: '42021100', label: '- Valize, geamantane și cufere, inclusiv casete de toaletă și mape port-documente, serviete, ghiozdane și articole similare' },\n\t{ value: '42021100', label: '-- Cu suprafața exterioară din piele naturală sau din piele reconstituită' },\n\t{ value: '42021110', label: '--- Mape port-documente, serviete, ghiozdane și articole similare' },\n\t{ value: '42021190', label: '--- Altele' },\n\t{ value: '42021200', label: '-- Cu suprafața exterioară din material plastic sau materiale textile' },\n\t{ value: '42021211', label: '--- Din foi de material plastic' },\n\t{ value: '42021211', label: '---- Mape port-documente, serviete, ghiozdane și articole similare' },\n\t{ value: '42021219', label: '---- Altele' },\n\t{ value: '42021250', label: '--- Din material plastic turnat' },\n\t{ value: '42021291', label: '--- Din alte materiale, inclusiv fibră vulcanizată' },\n\t{ value: '42021291', label: '---- Mape port-documente, serviete, ghiozdane și articole similare' },\n\t{ value: '42021299', label: '---- Altele' },\n\t{ value: '42021900', label: '-- Altele' },\n\t{ value: '42021910', label: '--- Din aluminiu' },\n\t{ value: '42021990', label: '--- Din alte materiale' },\n\t{ value: '42022100', label: '- Genți, chiar de umăr, inclusiv cele fără mâner' },\n\t{ value: '42022100', label: '-- Cu suprafața exterioară din piele naturală sau din piele reconstituită' },\n\t{ value: '42022200', label: '-- Cu suprafața exterioară din foi de material plastic sau din materiale textile' },\n\t{ value: '42022210', label: '--- Din foi de material plastic' },\n\t{ value: '42022290', label: '--- Din materiale textile' },\n\t{ value: '42022900', label: '-- Altele' },\n\t{ value: '42023100', label: '- Articole de buzunar sau care se poartă în geantă' },\n\t{ value: '42023100', label: '-- Cu suprafața exterioară din piele naturală sau din piele reconstituită' },\n\t{ value: '42023200', label: '-- Cu suprafața exterioară din foi de material plastic sau din materiale textile' },\n\t{ value: '42023210', label: '--- Din foi de material plastic' },\n\t{ value: '42023290', label: '--- Din materiale textile' },\n\t{ value: '42023900', label: '-- Altele' },\n\t{ value: '42029100', label: '- Altele' },\n\t{ value: '42029100', label: '-- Cu suprafața exterioară din piele naturală sau din piele reconstituită' },\n\t{ value: '42029110', label: '--- Genți de voiaj, truse de toaletă, rucsacuri și genți pentru articole sportive' },\n\t{ value: '42029180', label: '--- Altele' },\n\t{ value: '42029200', label: '-- Cu suprafața exterioară din foi de material plastic sau din materiale textile' },\n\t{ value: '42029211', label: '--- Din foi de material plastic' },\n\t{ value: '42029211', label: '---- Genți de voiaj, truse de toaletă, rucsacuri și genți pentru articole sportive' },\n\t{ value: '42029215', label: '---- Cutii pentru instrumente muzicale' },\n\t{ value: '42029219', label: '---- Altele' },\n\t{ value: '42029291', label: '--- Din materiale textile' },\n\t{ value: '42029291', label: '---- Genți de voiaj, truse de toaletă, rucsacuri și genți pentru articole sportive' },\n\t{ value: '42029298', label: '---- Altele' },\n\t{ value: '42029900', label: '-- Altele' },\n\t{ value: '42030000', label: 'Îmbrăcăminte și accesorii de îmbrăcăminte, din piele naturală sau reconstituită' },\n\t{ value: '42031000', label: '- Îmbrăcăminte' },\n\t{ value: '42032100', label: '- Mănuși, mitene și mănuși cu un deget' },\n\t{ value: '42032100', label: '-- Special destinate pentru practicarea sporturilor' },\n\t{ value: '42032900', label: '-- Altele' },\n\t{ value: '42032910', label: '--- De protecție pentru toate meseriile' },\n\t{ value: '42032990', label: '--- Altele' },\n\t{ value: '42033000', label: '- Curele, centuri și banduliere' },\n\t{ value: '42034000', label: '- Alte accesorii de îmbrăcăminte' },\n\t{ value: '42050000', label: 'Alte articole din piele naturală sau reconstituită' },\n\t{ value: '42050011', label: '- De tipul celor folosite la mașini sau aparate mecanice sau pentru alte utilizări tehnice' },\n\t{ value: '42050011', label: '-- Curele de transmisie sau de transport' },\n\t{ value: '42050019', label: '-- Altele' },\n\t{ value: '42050090', label: '- Altele' },\n\t{ value: '42060000', label: 'Articole din intestine de animale (altele decât cele de la viermii de mătase), din bășici, din vezici sau din tendoane' },\n\t{ value: '43000000', label: 'BLĂNURI ȘI BLĂNURI ARTIFICIALE; ARTICOLE DIN ACESTEA' },\n\t{ value: '43010000', label: 'Blănuri brute (inclusiv capetele, cozile, labele și alte bucăți utilizate în blănărie), altele decât pieile brute de la pozițiile 4101, 4102 sau 4103' },\n\t{ value: '43011000', label: '- De vizon, întregi, chiar fără capete, cozi sau labe' },\n\t{ value: '43013000', label: '- De miel, denumite \"astrahan\", \"breitschwanz\", \"caracul\", \"persan\" sau similare, de miel de India, China, Mongolia sau Tibet, întregi, chiar fără capete, cozi sau labe' },\n\t{ value: '43016000', label: '- De vulpe, întregi, chiar fără capete, cozi sau labe' },\n\t{ value: '43018000', label: '- Alte blănuri întregi, chiar fără capete, cozi sau labe' },\n\t{ value: '43019000', label: '- Capete, cozi, labe și alte părți utilizabile în blănărie' },\n\t{ value: '43020000', label: 'Blănuri tăbăcite sau finisate (inclusiv capetele, cozile, labele și alte părți, deșeuri și resturi), neasamblate sau asamblate (fără adăugarea altor materiale), altele decât cele de la poziția 4303' },\n\t{ value: '43021100', label: '- Blănuri întregi, chiar fără capete, cozi sau labe, neasamblate' },\n\t{ value: '43021100', label: '-- De vizon' },\n\t{ value: '43021900', label: '-- Altele' },\n\t{ value: '43021915', label: '--- Din castor, bizam sau vulpe' },\n\t{ value: '43021935', label: '--- De iepure de casă sau de iepure de câmp' },\n\t{ value: '43021941', label: '--- De foci sau de otarie' },\n\t{ value: '43021941', label: '---- De pui de focă harpă (\"cu mantie albă\") sau de pui de focă cu capișon (\"cu spinarea albastră\")' },\n\t{ value: '43021949', label: '---- Altele' },\n\t{ value: '43021975', label: '--- De ovine' },\n\t{ value: '43021975', label: '---- De miel din speciile astrahan, breitschwanz, caracul, persan sau similare, de miel de India, China, Mongolia sau Tibet' },\n\t{ value: '43021980', label: '---- Altele' },\n\t{ value: '43021999', label: '--- Altele' },\n\t{ value: '43022000', label: '- Capete, cozi, labe și alte părți, deșeuri și resturi, neasamblate' },\n\t{ value: '43023000', label: '- Blănuri întregi și părți ale acestora și resturi, asamblate' },\n\t{ value: '43023010', label: '-- Piei numite \"întinse\"' },\n\t{ value: '43023025', label: '-- Altele' },\n\t{ value: '43023025', label: '--- De iepure de casă sau de iepure de câmp' },\n\t{ value: '43023051', label: '--- De focă' },\n\t{ value: '43023051', label: '---- De pui de focă harpă (\"cu mantie albă\") sau de pui de focă cu capișon (\"cu spinarea albastră\")' },\n\t{ value: '43023055', label: '---- Altele' },\n\t{ value: '43023099', label: '--- Altele' },\n\t{ value: '43030000', label: 'Îmbrăcăminte, accesorii de îmbrăcăminte și alte articole din blană' },\n\t{ value: '43031000', label: '- Îmbrăcăminte și accesorii de îmbrăcăminte' },\n\t{ value: '43031010', label: '-- Din blană de pui de focă harpă (\"cu mantie albă\") sau de pui de focă cu capișon (\"cu spinarea albastră\")' },\n\t{ value: '43031090', label: '-- Altele' },\n\t{ value: '43039000', label: '- Altele' },\n\t{ value: '43040000', label: 'Blănuri artificiale și articole din blănuri artificiale' },\n\t{ value: '44000000', label: 'LEMN, CĂRBUNE DE LEMN ȘI ARTICOLE DIN LEMN' },\n\t{ value: '44010000', label: 'Lemn de foc, sub formă de trunchiuri, butuci, vreascuri, ramuri sau sub forme similare; lemn sub formă de așchii sau particule; rumeguș, deșeuri și resturi de lemn, chiar aglomerate, sub formă de butuci, brichete, pelete sau forme similare' },\n\t{ value: '44011100', label: '- Lemn de foc, sub formă de trunchiuri, butuci, vreascuri, ramuri sau sub forme similare' },\n\t{ value: '44011100', label: '-- De conifere' },\n\t{ value: '44011200', label: '-- Altele decât de conifere' },\n\t{ value: '44012100', label: '- Lemn sub formă de așchii sau particule' },\n\t{ value: '44012100', label: '-- De conifere' },\n\t{ value: '44012200', label: '-- Altele decât de conifere' },\n\t{ value: '44012210', label: '--- De eucalipt (Eucalyptus spp.)' },\n\t{ value: '44012290', label: '--- Altele' },\n\t{ value: '44013100', label: '- Rumeguș, deșeuri și resturi de lemn, aglomerate sub formă de bușteni, brichete, pelete sau sub forme similare' },\n\t{ value: '44013100', label: '-- Pelete din lemn' },\n\t{ value: '44013200', label: '-- Brichete din lemn' },\n\t{ value: '44013900', label: '-- Altele' },\n\t{ value: '44014100', label: '- Rumeguș, deșeuri și resturi de lemn, neaglomerate' },\n\t{ value: '44014100', label: '-- Rumeguș' },\n\t{ value: '44014900', label: '-- Altele' },\n\t{ value: '44020000', label: 'Cărbune de lemn (inclusiv cărbunele din coji sau din nuci), chiar aglomerat' },\n\t{ value: '44021000', label: '- De bambus' },\n\t{ value: '44022000', label: '- Din coji sau din nuci' },\n\t{ value: '44029000', label: '- Altele' },\n\t{ value: '44030000', label: 'Lemn brut, chiar cojit, curățat de ramuri sau ecarisat' },\n\t{ value: '44031100', label: '- Tratat cu vopsea, baiț, creozot sau alți agenți de conservare' },\n\t{ value: '44031100', label: '-- De conifere' },\n\t{ value: '44031200', label: '-- Altele decât de conifere' },\n\t{ value: '44032100', label: '- Altele, de conifere' },\n\t{ value: '44032100', label: '-- Din pin (Pinus spp.), pentru care cea mai mică dimensiune a secțiunii transversale este de cel puțin 15 cm' },\n\t{ value: '44032110', label: '--- Bușteni pentru cherestea' },\n\t{ value: '44032190', label: '--- Altele' },\n\t{ value: '44032200', label: '-- Din pin (Pinus spp.), altele' },\n\t{ value: '44032300', label: '-- Din brad (Abies spp.) și molid (Picea spp.), pentru care cea mai mică dimensiune a secțiunii transversale este de cel puțin 15 cm' },\n\t{ value: '44032310', label: '--- Bușteni pentru cherestea' },\n\t{ value: '44032390', label: '--- Altele' },\n\t{ value: '44032400', label: '-- Din brad (Abies spp.) și molid (Picea spp.), altele' },\n\t{ value: '44032500', label: '-- Altele, pentru care cea mai mică dimensiune a secțiunii transversale este de cel puțin 15 cm' },\n\t{ value: '44032510', label: '--- Bușteni pentru cherestea' },\n\t{ value: '44032590', label: '--- Altele' },\n\t{ value: '44032600', label: '-- Altele' },\n\t{ value: '44034100', label: '- Altele, din lemn tropical' },\n\t{ value: '44034100', label: '-- Dark Red Meranti, Light Red Meranti și Meranti Bakau' },\n\t{ value: '44034200', label: '-- Tec' },\n\t{ value: '44034900', label: '-- Altele' },\n\t{ value: '44034910', label: '--- Acaju de Africa, Iroko și Sapelli' },\n\t{ value: '44034935', label: '--- Okumé și Sipo' },\n\t{ value: '44034985', label: '--- Altele' },\n\t{ value: '44039100', label: '- Altele' },\n\t{ value: '44039100', label: '-- De stejar (Quercus spp.)' },\n\t{ value: '44039300', label: '-- Din fag (Fagus spp.), pentru care cea mai mică dimensiune a secțiunii transversale este de cel puțin 15 cm' },\n\t{ value: '44039400', label: '-- Din fag (Fagus spp.), altele' },\n\t{ value: '44039500', label: '-- Din mesteacăn (Betula spp.), pentru care cea mai mică dimensiune a secțiunii transversale este de cel puțin 15 cm' },\n\t{ value: '44039510', label: '--- Bușteni pentru cherestea' },\n\t{ value: '44039590', label: '--- Altele' },\n\t{ value: '44039600', label: '-- Din mesteacăn (Betula spp.), altele' },\n\t{ value: '44039700', label: '-- Din plop și plop tremurător (Populus spp.)' },\n\t{ value: '44039800', label: '-- Din eucalipt (Eucalyptus spp.)' },\n\t{ value: '44039900', label: '-- Altele' },\n\t{ value: '44040000', label: 'Lemn pentru dogărie; prăjini despicate; țăruși și pari din lemn, ascuțiți, nedespicați longitudinal; lemn simplu degroșat sau rotunjit dar nestrunjit, necurbat sau altfel prelucrat, pentru bastoane, umbrele, mânere de scule sau similare; lemn sub formă de eclise, lame, benzi și produse similare' },\n\t{ value: '44041000', label: '- De conifere' },\n\t{ value: '44042000', label: '- Altele decât de conifere' },\n\t{ value: '44050000', label: 'Lână de lemn; făină de lemn' },\n\t{ value: '44060000', label: 'Traverse din lemn pentru căi ferate sau similare' },\n\t{ value: '44061100', label: '- Neimpregnate' },\n\t{ value: '44061100', label: '-- De conifere' },\n\t{ value: '44061200', label: '-- Altele decât de conifere' },\n\t{ value: '44069100', label: '- Altele' },\n\t{ value: '44069100', label: '-- De conifere' },\n\t{ value: '44069200', label: '-- Altele decât de conifere' },\n\t{ value: '44070000', label: 'Lemn tăiat sau despicat longitudinal, tranșat sau derulat, chiar geluit, șlefuit sau lipit prin îmbinare cap la cap, cu o grosime de peste 6 mm' },\n\t{ value: '44071100', label: '- De conifere' },\n\t{ value: '44071100', label: '-- Din pin (Pinus spp.)' },\n\t{ value: '44071110', label: '--- Lipit prin îmbinare cap la cap, chiar șlefuit sau geluit' },\n\t{ value: '44071120', label: '--- Geluit' },\n\t{ value: '44071190', label: '--- Altele' },\n\t{ value: '44071200', label: '-- Din brad (Abies spp.) și molid (Picea spp.)' },\n\t{ value: '44071210', label: '--- Lipit prin îmbinare cap la cap, chiar șlefuit sau geluit' },\n\t{ value: '44071220', label: '--- Geluit' },\n\t{ value: '44071290', label: '--- Altele' },\n\t{ value: '44071300', label: '-- Din S-P-F [molid (Picea spp.), pin (Pinus spp.) și brad (Abies spp.)]' },\n\t{ value: '44071400', label: '-- Din Hem-fir [ combinație de tsuga vestică (Tsuga heterophylla) și brad (Abies spp.)]' },\n\t{ value: '44071900', label: '-- Altele' },\n\t{ value: '44071910', label: '--- Lipit prin îmbinare cap la cap, chiar șlefuit sau geluit' },\n\t{ value: '44071920', label: '--- Geluit' },\n\t{ value: '44071990', label: '--- Altele' },\n\t{ value: '44072100', label: '- Din lemn tropical' },\n\t{ value: '44072100', label: '-- Mahogany (Swietenia spp.)' },\n\t{ value: '44072110', label: '--- Șlefuit; lipit prin îmbinare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44072191', label: '--- Altele' },\n\t{ value: '44072191', label: '---- Geluit' },\n\t{ value: '44072199', label: '---- Altele' },\n\t{ value: '44072200', label: '-- Virola, Imbuia și Balsa' },\n\t{ value: '44072210', label: '--- Șlefuit; lipit prin îmbinare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44072291', label: '--- Altele' },\n\t{ value: '44072291', label: '---- Geluit' },\n\t{ value: '44072299', label: '---- Altele' },\n\t{ value: '44072300', label: '-- Tec' },\n\t{ value: '44072310', label: '--- Șlefuit; lipit prin îmbinare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44072320', label: '--- Geluit' },\n\t{ value: '44072390', label: '--- Altele' },\n\t{ value: '44072500', label: '-- Dark Red Meranti, Light Red Meranti și Meranti Bakau' },\n\t{ value: '44072510', label: '--- Lipit prin îmbinare cap la cap, chiar șlefuit sau geluit' },\n\t{ value: '44072530', label: '--- Altele' },\n\t{ value: '44072530', label: '---- Șlefuit' },\n\t{ value: '44072550', label: '---- Geluit' },\n\t{ value: '44072590', label: '---- Altele' },\n\t{ value: '44072600', label: '-- White Lauan, White Meranti, White Seraya, Yellow Meranti și Alan' },\n\t{ value: '44072610', label: '--- Lipit prin îmbinare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44072630', label: '--- Altele' },\n\t{ value: '44072630', label: '---- Geluit' },\n\t{ value: '44072650', label: '---- Șlefuit' },\n\t{ value: '44072690', label: '---- Altele' },\n\t{ value: '44072700', label: '-- Sapelli' },\n\t{ value: '44072710', label: '--- Șlefuit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44072791', label: '--- Altele' },\n\t{ value: '44072791', label: '---- Geluit' },\n\t{ value: '44072799', label: '---- Altele' },\n\t{ value: '44072800', label: '-- Iroko' },\n\t{ value: '44072810', label: '--- Șlefuit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44072891', label: '--- Altele' },\n\t{ value: '44072891', label: '---- Geluit' },\n\t{ value: '44072899', label: '---- Altele' },\n\t{ value: '44072900', label: '-- Altele' },\n\t{ value: '44072915', label: '--- Abura, Acaju de Africa, Afrormosia, Ako, Andiroba, Aningré, Avodiré, Azobé, Balau, Bossé Clair, Bossé Foncé, Cativo, Cedro, Dabema, Dibétou, Doussié, Framiré, Freijo, Fromager, Fuma, Geronggang, Ilomba, Ipé, Jaboty, Jelutong, Jequitiba, Jongkong, Kapur, Kempas, Keruing, Kosipo, Kotibé, Koto, Limba, Louro, Maçaranduba, Makoré, Mandioquieira, Mansonia, Mengkulang, Merawan, Merbau, Merpauh, Mersawa, Moabi, Niangon, Nyatoh, Obeche, Okumé, Onzabili, Orey, Ovengkol, Ozigo, Padauk, Paldao, Palisandru de Guatemala, Palisandru de Para, Palisandru de Rio, Palisandru de Rose, Pau Amarelo, Pau Marfim, Pulai, Punah, Quaruba, Ramin, Saqui-Saqui, Sepetir, Sipo, Sucupira, Suren, Tauari, Tiama, Tola' },\n\t{ value: '44072915', label: '---- Lipit prin îmbinare cap la cap, chiar șlefuit sau geluit' },\n\t{ value: '44072920', label: '---- Altele' },\n\t{ value: '44072920', label: '----- Palisandru de Para, Palisandru de Rio și Palisandru de Rose, geluit' },\n\t{ value: '44072983', label: '----- Altele' },\n\t{ value: '44072983', label: '------ Geluit' },\n\t{ value: '44072985', label: '------ Șlefuit' },\n\t{ value: '44072995', label: '------ Altele' },\n\t{ value: '44072996', label: '--- Altele, din lemn tropical' },\n\t{ value: '44072996', label: '---- Geluit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44072997', label: '---- Altele' },\n\t{ value: '44072997', label: '----- Șlefuit' },\n\t{ value: '44072998', label: '----- Altele' },\n\t{ value: '44079100', label: '- Altele' },\n\t{ value: '44079100', label: '-- De stejar (Quercus spp.)' },\n\t{ value: '44079115', label: '--- Șlefuit; lipit prin îmbinare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44079131', label: '--- Altele' },\n\t{ value: '44079131', label: '---- Geluit' },\n\t{ value: '44079131', label: '----- Lame și frize pentru parchet, neasamblate' },\n\t{ value: '44079139', label: '----- Altele' },\n\t{ value: '44079190', label: '---- Altele' },\n\t{ value: '44079200', label: '-- De fag (Fagus spp.)' },\n\t{ value: '44079300', label: '-- De arțar (Acer spp.)' },\n\t{ value: '44079310', label: '--- Geluit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44079391', label: '--- Altele' },\n\t{ value: '44079391', label: '---- Șlefuit' },\n\t{ value: '44079399', label: '---- Altele' },\n\t{ value: '44079400', label: '-- De cireș (Prunus spp.)' },\n\t{ value: '44079410', label: '--- Geluit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44079491', label: '--- Altele' },\n\t{ value: '44079491', label: '---- Șlefuit' },\n\t{ value: '44079499', label: '---- Altele' },\n\t{ value: '44079500', label: '-- De frasin (Fraxinus spp.)' },\n\t{ value: '44079510', label: '--- Geluit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44079591', label: '--- Altele' },\n\t{ value: '44079591', label: '---- Șlefuit' },\n\t{ value: '44079599', label: '---- Altele' },\n\t{ value: '44079600', label: '-- Din mesteacăn (Betula spp.)' },\n\t{ value: '44079610', label: '--- Geluit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44079691', label: '--- Altele' },\n\t{ value: '44079691', label: '---- Șlefuit' },\n\t{ value: '44079699', label: '---- Altele' },\n\t{ value: '44079700', label: '-- Din plop și plop tremurător (Populus spp.)' },\n\t{ value: '44079710', label: '--- Geluit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44079791', label: '--- Altele' },\n\t{ value: '44079791', label: '---- Șlefuit' },\n\t{ value: '44079799', label: '---- Altele' },\n\t{ value: '44079900', label: '-- Altele' },\n\t{ value: '44079927', label: '--- Geluit; lipit prin asamblare cap la cap, chiar geluit sau șlefuit' },\n\t{ value: '44079940', label: '--- Altele' },\n\t{ value: '44079940', label: '---- Șlefuit' },\n\t{ value: '44079990', label: '---- Altele' },\n\t{ value: '44080000', label: 'Foi pentru furnir (inclusiv cele obținute prin tranșarea lemnului stratificat), foi pentru placaj sau pentru alt lemn stratificat similar și alt lemn tăiat longitudinal, tranșat sau derulat, chiar geluit, șlefuit, îmbinat lateral sau cap la cap, cu o grosime de maximum 6 mm' },\n\t{ value: '44081000', label: '- De conifere' },\n\t{ value: '44081015', label: '-- Geluite; șlefuite; lipite prin îmbinare cap la cap, chiar geluite sau șlefuite' },\n\t{ value: '44081091', label: '-- Altele' },\n\t{ value: '44081091', label: '--- Scândurele destinate fabricării creioanelor' },\n\t{ value: '44081098', label: '--- Altele' },\n\t{ value: '44083100', label: '- Din lemn tropical' },\n\t{ value: '44083100', label: '-- Dark Red Meranti, Light Red Meranti și Meranti Bakau' },\n\t{ value: '44083111', label: '--- Lipite prin îmbinare cap la cap, chiar geluite sau șlefuite' },\n\t{ value: '44083121', label: '--- Altele' },\n\t{ value: '44083121', label: '---- Geluite' },\n\t{ value: '44083125', label: '---- Șlefuite' },\n\t{ value: '44083130', label: '---- Altele' },\n\t{ value: '44083900', label: '-- Altele' },\n\t{ value: '44083915', label: '--- Acaju de Africa, Limba, Mahogany (Swietenia spp.), Obeche, Okumé, Palisandru de Para, Palisandru de Rio, Palisandru de Rose, Sapelli, Sipo, Virola și White Lauan' },\n\t{ value: '44083915', label: '---- Șlefuite; lipite prin îmbinare cap la cap, chiar geluite sau șlefuite' },\n\t{ value: '44083921', label: '---- Altele' },\n\t{ value: '44083921', label: '----- Geluite' },\n\t{ value: '44083930', label: '----- Altele' },\n\t{ value: '44083955', label: '--- Altele' },\n\t{ value: '44083955', label: '---- Geluite; șlefuite; lipite prin îmbinare cap la cap, chiar geluite sau șlefuite' },\n\t{ value: '44083970', label: '---- Altele' },\n\t{ value: '44083970', label: '----- Scândurele destinate fabricării creioanelor' },\n\t{ value: '44083985', label: '----- Altele' },\n\t{ value: '44083985', label: '------ Cu o grosime de maximum 1 mm' },\n\t{ value: '44083995', label: '------ Cu o grosime de peste 1 mm' },\n\t{ value: '44089000', label: '- Altele' },\n\t{ value: '44089015', label: '-- Geluite; șlefuite; lipite prin îmbinare cap la cap, chiar geluite sau șlefuite' },\n\t{ value: '44089035', label: '-- Altele' },\n\t{ value: '44089035', label: '--- Scândurele destinate fabricării creioanelor' },\n\t{ value: '44089085', label: '--- Altele' },\n\t{ value: '44089085', label: '---- Cu o grosime de maximum 1 mm' },\n\t{ value: '44089095', label: '---- Cu o grosime de peste 1 mm' },\n\t{ value: '44090000', label: 'Lemn (inclusiv lame și frize de parchet, neasamblate), profilat (sub formă de lambă, de uluc, fălțuit, nutuit, șanfrenat, îmbinat în V, mulurat, rotunjit sau similare), în lungul unuia sau a mai multor canturi, fețe sau capete, chiar geluit, șlefuit sau lipit prin îmbinare cap la cap' },\n\t{ value: '44091000', label: '- De conifere' },\n\t{ value: '44091011', label: '-- Baghete și forme de lemn pentru rame de tablouri, fotografii, oglinzi sau obiecte similare' },\n\t{ value: '44091018', label: '-- Altele' },\n\t{ value: '44092100', label: '- Altele decât coniferele' },\n\t{ value: '44092100', label: '-- De bambus' },\n\t{ value: '44092200', label: '-- Din lemn tropical' },\n\t{ value: '44092900', label: '-- Altele' },\n\t{ value: '44092910', label: '--- Baghete și forme de lemn pentru rame de tablouri, fotografii, oglinzi sau obiecte similare' },\n\t{ value: '44092991', label: '--- Altele' },\n\t{ value: '44092991', label: '---- Lame și frize pentru parchet, neasamblate' },\n\t{ value: '44092999', label: '---- Altele' },\n\t{ value: '44100000', label: 'Plăci aglomerate, panouri numite \"oriented strand board\" (OSB) și panouri similare (de exemplu, panourile numite \"waferboard\"), din lemn sau din alte materiale lemnoase, chiar aglomerate cu rășini sau cu alți lianți organici' },\n\t{ value: '44101100', label: '- Din lemn' },\n\t{ value: '44101100', label: '-- Plăci aglomerate' },\n\t{ value: '44101110', label: '--- Neprelucrate sau cel mult geluite (plăci brute)' },\n\t{ value: '44101130', label: '--- Acoperite la suprafață cu hârtie impregnată cu melamină' },\n\t{ value: '44101150', label: '--- Acoperite la suprafață cu foi subțiri din materiale plastice' },\n\t{ value: '44101190', label: '--- Altele' },\n\t{ value: '44101200', label: '-- Panouri numite \"oriented strand board\" (OSB)' },\n\t{ value: '44101210', label: '--- Neprelucrate sau cel mult geluite (plăci brute)' },\n\t{ value: '44101290', label: '--- Altele' },\n\t{ value: '44101900', label: '-- Altele' },\n\t{ value: '44109000', label: '- Altele' },\n\t{ value: '44110000', label: 'Panouri fibrolemnoase sau din alte materiale lemnoase, chiar aglomerate cu rășini sau alți lianți organici' },\n\t{ value: '44111200', label: '- Panouri fibrolemnoase de densitate medie (MDF)' },\n\t{ value: '44111200', label: '-- Cu o grosime de maximum 5 mm' },\n\t{ value: '44111210', label: '--- Neprelucrate mecanic și nici acoperite la suprafață (plăci brute)' },\n\t{ value: '44111292', label: '--- Altele' },\n\t{ value: '44111292', label: '---- Cu o densitate peste 0,8 g/cm3 (HDF)' },\n\t{ value: '44111294', label: '---- Cu o densitate de maximum 0,8 g/cm3' },\n\t{ value: '44111300', label: '-- Cu o grosime de peste 5 mm, dar de maximum 9 mm' },\n\t{ value: '44111310', label: '--- Neprelucrate mecanic și nici acoperite la suprafață (plăci brute)' },\n\t{ value: '44111392', label: '--- Altele' },\n\t{ value: '44111392', label: '---- Cu o densitate peste 0,8 g/cm3 (HDF)' },\n\t{ value: '44111394', label: '---- Cu o densitate de maximum 0,8 g/cm3' },\n\t{ value: '44111400', label: '-- Cu o grosime de peste 9 mm' },\n\t{ value: '44111410', label: '--- Neprelucrate mecanic și nici acoperite la suprafață (plăci brute)' },\n\t{ value: '44111492', label: '--- Altele' },\n\t{ value: '44111492', label: '---- Cu o densitate peste 0,8 g/cm3 (HDF)' },\n\t{ value: '44111495', label: '---- Cu o densitate peste 0,5 g/cm3, dar de maximum 0,8 g/cm3' },\n\t{ value: '44111497', label: '---- Cu o densitate de maximum 0,5 g/cm3' },\n\t{ value: '44119200', label: '- Altele' },\n\t{ value: '44119200', label: '-- Cu o densitate peste 0,8 g/cm3' },\n\t{ value: '44119210', label: '--- Neprelucrate mecanic și nici acoperite la suprafață (plăci brute)' },\n\t{ value: '44119290', label: '--- Altele' },\n\t{ value: '44119300', label: '-- Cu o densitate peste 0,5 g/cm3, dar de maximum 0,8 g/cm3' },\n\t{ value: '44119400', label: '-- Cu o densitate de maximum 0,5 g/cm3' },\n\t{ value: '44119410', label: '--- Neprelucrate mecanic și nici acoperite la suprafață (plăci brute)' },\n\t{ value: '44119490', label: '--- Altele' },\n\t{ value: '44120000', label: 'Placaj, lemn furniruit și lemn stratificat similar' },\n\t{ value: '44121000', label: '- De bambus' },\n\t{ value: '44123100', label: '- Alt placaj constituit exclusiv din foi de lemn (altele decât bambus), cu grosimea maximă a fiecărei foi de 6 mm' },\n\t{ value: '44123100', label: '-- Cu cel puțin un strat exterior din lemn tropical' },\n\t{ value: '44123110', label: '--- De Acaju de Africa, Dark Red Meranti, Light Red Meranti, Limba, Mahogany (Swietenia spp.), Obeche, Okumé, Palisandru de Para, Palisandru de Rio, și Palisandru de Rose, Sapelli, Sipo, Virola sau White Lauan' },\n\t{ value: '44123190', label: '--- Altele' },\n\t{ value: '44123300', label: '-- Altele, cu cel puțin un strat eexterior din lemn, altul decât de conifere, din speciile: anin (Alnus spp.), frasin (Fraxinus spp.), fag (Fagus spp.), mesteacăn (Betula spp.), cireș (Prunus spp.), castan (Castanea spp.), ulm (Ulmus spp.), eucalipt (Eucalyptus spp.), nuc American (Carya spp.), castan porcesc (Aesculus spp.), lămâi verde (Tilia spp.), arțar (Acer spp.), stejar (Quercus spp.), platan (Platanus spp.), plop și plop tremurător (Populus spp.), salcâm (Robinia spp.), arbore de lalea (Liriodendron spp.) sau nuc (Juglans spp.)' },\n\t{ value: '44123310', label: '--- Cu cel puțin un strat exterior din mesteacăn (Betula spp.)' },\n\t{ value: '44123320', label: '--- Fără niciun strat exterior din mesteacăn, dar cu cel puțin o față exterioară din plop sau plop tremurător (Populus spp.)' },\n\t{ value: '44123330', label: '--- Fără niciun strat exterior din mesteacăn, plop sau plop tremurător (Populus spp.), dar cu cel puțin o față exterioară din eucalipt (Eucalyptus spp.)' },\n\t{ value: '44123390', label: '--- Altele' },\n\t{ value: '44123400', label: '-- Altele, cu cel puțin un strat exterior din lemn, altul decât de conifere, nespecificat la subpoziția 4412 33' },\n\t{ value: '44123900', label: '-- Altele, cu ambele straturi exterioare din lemn de conifere' },\n\t{ value: '44124100', label: '- Lemn furniruit laminat (LVL)' },\n\t{ value: '44124100', label: '-- Cu cel puțin un strat exterior din lemn tropical' },\n\t{ value: '44124191', label: '--- Având cel puțin un strat exterior din alt lemn decât de conifere' },\n\t{ value: '44124199', label: '--- Altele' },\n\t{ value: '44124200', label: '-- Altele, cu cel puțin un strat exterior din lemn de alt tip decât de conifere' },\n\t{ value: '44124900', label: '-- Altele, cu ambele straturi exterioare din lemn de conifere' },\n\t{ value: '44125100', label: '- Plăcuțe, șipci și lamele' },\n\t{ value: '44125100', label: '-- Cu cel puțin un strat exterior din lemn tropical' },\n\t{ value: '44125110', label: '--- Având cel puțin un strat exterior din alt lemn decât de conifere' },\n\t{ value: '44125190', label: '--- Altele' },\n\t{ value: '44125200', label: '-- Altele, cu cel puțin un strat exterior din lemn de alt tip decât de conifere' },\n\t{ value: '44125900', label: '-- Altele, cu ambele straturi exterioare din lemn de conifere' },\n\t{ value: '44129100', label: '- Altele' },\n\t{ value: '44129100', label: '-- Cu cel puțin un strat exterior din lemn tropical' },\n\t{ value: '44129110', label: '--- Care conţin cel puţin un strat din plăci aglomerate' },\n\t{ value: '44129191', label: '--- Altele' },\n\t{ value: '44129191', label: '---- Având cel puțin un strat exterior din alt lemn decât de conifere' },\n\t{ value: '44129199', label: '---- Altele' },\n\t{ value: '44129200', label: '-- Altele, cu cel puțin un strat exterior din alt lemn decât de conifere' },\n\t{ value: '44129210', label: '--- Care conţin cel puţin un strat din plăci aglomerate' },\n\t{ value: '44129290', label: '--- Altele' },\n\t{ value: '44129900', label: '-- Altele, cu ambele straturi exterioare din lemn de conifere' },\n\t{ value: '44129910', label: '--- Care conţin cel puţin un strat din plăci aglomerate' },\n\t{ value: '44129990', label: '--- Altele' },\n\t{ value: '44130000', label: 'Lemn \"densificat\", în blocuri, scânduri, lame sau sub formă de profile' },\n\t{ value: '44140000', label: 'Rame din lemn pentru tablouri, fotografii, oglinzi sau obiecte similare' },\n\t{ value: '44141000', label: '- Din lemn tropical' },\n\t{ value: '44141010', label: '-- Din lemn tropical menționat la nota complementară 2 de la acest capitol' },\n\t{ value: '44141090', label: '-- Altele' },\n\t{ value: '44149000', label: '- Altele' },\n\t{ value: '44150000', label: 'Lăzi, lădițe, coșuri, cilindri și ambalaje similare, din lemn; tambure pentru cabluri, din lemn; paleți simpli, boxpaleți și alte platforme de încărcare, din lemn; grilaje pentru paleți, din lemn' },\n\t{ value: '44151000', label: '- Lăzi, lădițe, coșuri, cilindri și ambalaje similare; tambure pentru cabluri' },\n\t{ value: '44151010', label: '-- Lăzi, lădițe, coșuri, cilindri și ambalaje similare' },\n\t{ value: '44151090', label: '-- Tambure pentru cabluri' },\n\t{ value: '44152000', label: '- Paleți simpli, boxpaleți și alte platforme de încărcare; grilaje pentru paleți' },\n\t{ value: '44152020', label: '-- Paleți simpli; grilaje pentru paleți' },\n\t{ value: '44152090', label: '-- Altele' },\n\t{ value: '44160000', label: 'Butoaie, cuve, putini și alte produse de dogărie și părțile lor, din lemn, inclusiv doagele' },\n\t{ value: '44170000', label: 'Unelte, suporturi și mânere de unelte, monturi de perii, cozi de mături sau de perii, din lemn; forme, calapoade și șanuri pentru încălțăminte, din lemn' },\n\t{ value: '44180000', label: 'Lucrări de tâmplărie și piese de dulgherie pentru construcții, inclusiv panouri celulare, panouri asamblate pentru acoperit podeaua și șindrile (\"shingles\" și \"shakes\"), din lemn' },\n\t{ value: '44181100', label: '- Ferestre, uși-ferestre și ramele și pervazurile acestora' },\n\t{ value: '44181100', label: '-- Din lemn tropical' },\n\t{ value: '44181900', label: '-- Altele' },\n\t{ value: '44181950', label: '--- De conifere' },\n\t{ value: '44181990', label: '--- Altele' },\n\t{ value: '44182100', label: '- Uși și ramele lor, pervazuri și praguri' },\n\t{ value: '44182100', label: '-- Din lemn tropical' },\n\t{ value: '44182110', label: '--- Din lemn tropical menționat la nota complementară 2 de la acest capitol' },\n\t{ value: '44182190', label: '--- Altele' },\n\t{ value: '44182900', label: '-- Altele' },\n\t{ value: '44182950', label: '--- De conifere' },\n\t{ value: '44182980', label: '--- Altele' },\n\t{ value: '44183000', label: '- Stâlpi și grinzi, altele decât produsele de la subpozițiile 4418 81-4418 89' },\n\t{ value: '44184000', label: '- Cofraje pentru betonare' },\n\t{ value: '44185000', label: '- Șindrile (shingles și shakes)' },\n\t{ value: '44187300', label: '- Panouri asamblate pentru acoperit podeaua' },\n\t{ value: '44187300', label: '-- Din bambus sau cel puțin cu stratul superior (stratul de uzură) din bambus' },\n\t{ value: '44187310', label: '--- Pentru podele mozaicate' },\n\t{ value: '44187390', label: '--- Altele' },\n\t{ value: '44187400', label: '-- Altele, pentru podele mozaicate' },\n\t{ value: '44187500', label: '-- Altele, multistratificate' },\n\t{ value: '44187900', label: '-- Altele' },\n\t{ value: '44188100', label: '- Produse din lemn pentru structuri' },\n\t{ value: '44188100', label: '-- Din lemn lamelar (glulam)' },\n\t{ value: '44188200', label: '-- Din lemn laminat cu lamele ortogonale (CLT sau X-lam)' },\n\t{ value: '44188300', label: '-- Grinzi în I' },\n\t{ value: '44188900', label: '-- Altele' },\n\t{ value: '44189100', label: '- Altele' },\n\t{ value: '44189100', label: '-- Din bambus' },\n\t{ value: '44189200', label: '-- Panouri celulare' },\n\t{ value: '44189900', label: '-- Altele' },\n\t{ value: '44190000', label: 'Articole de masă sau de bucătărie, din lemn' },\n\t{ value: '44191100', label: '- Din bambus' },\n\t{ value: '44191100', label: '-- Planșetă de tăiat pâinea, planșete pentru tocat și alte planșete similare' },\n\t{ value: '44191200', label: '-- Bețișoare chinezești' },\n\t{ value: '44191900', label: '-- Altele' },\n\t{ value: '44192000', label: '- Din lemn tropical' },\n\t{ value: '44192010', label: '-- Din lemn tropical menționat la nota complementară 2 de la acest capitol' },\n\t{ value: '44192090', label: '-- Altele' },\n\t{ value: '44199000', label: '- Altele' },\n\t{ value: '44200000', label: 'Lemn marchetat și lemn încrustat; sipete, casete și cutii pentru bijuterii sau argintărie și articole similare, din lemn; statuete și alte obiecte de ornament, din lemn; articole de mobilier din lemn, necuprinse la capitolul 94' },\n\t{ value: '44201100', label: '- Statuete și alte obiecte de ornament' },\n\t{ value: '44201100', label: '-- Din lemn tropical' },\n\t{ value: '44201110', label: '--- Din lemn tropical menționat la nota complementară 2 de la acest capitol' },\n\t{ value: '44201190', label: '--- Altele' },\n\t{ value: '44201900', label: '-- Altele' },\n\t{ value: '44209000', label: '- Altele' },\n\t{ value: '44209010', label: '-- Lemn marchetat și lemn încrustat' },\n\t{ value: '44209091', label: '-- Altele' },\n\t{ value: '44209091', label: '--- Din lemn tropical menționat la nota complementară 2 de la acest capitol' },\n\t{ value: '44209099', label: '--- Altele' },\n\t{ value: '44210000', label: 'Alte articole din lemn' },\n\t{ value: '44211000', label: '- Umerașe pentru îmbrăcăminte' },\n\t{ value: '44212000', label: '- Sicrie' },\n\t{ value: '44219100', label: '- Altele' },\n\t{ value: '44219100', label: '-- Din bambus' },\n\t{ value: '44219900', label: '-- Altele' },\n\t{ value: '44219910', label: '--- Din panouri fibrolemnoase' },\n\t{ value: '44219999', label: '--- Altele' },\n\t{ value: '45000000', label: 'PLUTĂ ȘI ARTICOLE DIN PLUTĂ' },\n\t{ value: '45010000', label: 'Plută naturală brută sau simplu prelucrată; deșeuri de plută; plută concasată, granulată sau pulverizată' },\n\t{ value: '45011000', label: '- Plută naturală brută sau simplu prelucrată' },\n\t{ value: '45019000', label: '- Altele' },\n\t{ value: '45020000', label: 'Plută naturală, decojită sau simplu ecarisată sau în cuburi, plăci, foi sau benzi de formă pătrată sau dreptunghiulară (inclusiv eboșele cu muchii nefinisate pentru dopuri)' },\n\t{ value: '45030000', label: 'Articole din plută naturală' },\n\t{ value: '45031000', label: '- Dopuri' },\n\t{ value: '45031010', label: '-- Cilindrice' },\n\t{ value: '45031090', label: '-- Altele' },\n\t{ value: '45039000', label: '- Altele' },\n\t{ value: '45040000', label: 'Plută aglomerată (cu sau fără liant) și articole din plută aglomerată' },\n\t{ value: '45041000', label: '- Cuburi, blocuri, plăci, foi și benzi; plăci de orice formă; cilindri plini, inclusiv discurile' },\n\t{ value: '45041011', label: '-- Dopuri' },\n\t{ value: '45041011', label: '--- Pentru vin spumos, inclusiv cele cu garnitură de etanșare din plută naturală' },\n\t{ value: '45041019', label: '--- Altele' },\n\t{ value: '45041091', label: '-- Altele' },\n\t{ value: '45041091', label: '--- Cu lianți' },\n\t{ value: '45041099', label: '--- Altele' },\n\t{ value: '45049000', label: '- Altele' },\n\t{ value: '45049020', label: '-- Dopuri' },\n\t{ value: '45049080', label: '-- Altele' },\n\t{ value: '46000000', label: 'ARTICOLE DIN ÎMPLETITURI DE FIBRE VEGETALE SAU DIN NUIELE' },\n\t{ value: '46010000', label: 'Împletituri și articole similare din materiale de împletit, chiar asamblate în benzi; materiale de împletit, împletituri și articole similare din materiale de împletit, țesute sau așezate paralel sub formă de foi, chiar finisate (de exemplu, rogojini, ștergătoare și diverse împletituri)' },\n\t{ value: '46012100', label: '- Rogojini, ștergătoare și împletituri din materiale vegetale' },\n\t{ value: '46012100', label: '-- Din bambus' },\n\t{ value: '46012110', label: '--- Confecționate din împletituri și articole similare din materiale de împletit' },\n\t{ value: '46012190', label: '--- Altele' },\n\t{ value: '46012200', label: '-- Din ratan' },\n\t{ value: '46012210', label: '--- Confecționate din împletituri și articole similare din materiale de împletit' },\n\t{ value: '46012290', label: '--- Altele' },\n\t{ value: '46012900', label: '-- Altele' },\n\t{ value: '46012910', label: '--- Confecționate din împletituri și articole similare din materiale de împletit' },\n\t{ value: '46012990', label: '--- Altele' },\n\t{ value: '46019200', label: '- Altele' },\n\t{ value: '46019200', label: '-- Din bambus' },\n\t{ value: '46019205', label: '--- Împletituri și articole similare din materiale de împletit, chiar asamblate în benzi' },\n\t{ value: '46019210', label: '--- Altele' },\n\t{ value: '46019210', label: '---- Confecționate din împletituri și articole similare din materiale de împletit' },\n\t{ value: '46019290', label: '---- Altele' },\n\t{ value: '46019300', label: '-- Din ratan' },\n\t{ value: '46019305', label: '--- Împletituri și articole similare din materiale de împletit, chiar asamblate în benzi' },\n\t{ value: '46019310', label: '--- Altele' },\n\t{ value: '46019310', label: '---- Confecționate din împletituri și articole similare din materiale de împletit' },\n\t{ value: '46019390', label: '---- Altele' },\n\t{ value: '46019400', label: '-- Din alte materiale vegetale' },\n\t{ value: '46019405', label: '--- Împletituri și articole similare din materiale de împletit, chiar asamblate în benzi' },\n\t{ value: '46019410', label: '--- Altele' },\n\t{ value: '46019410', label: '---- Confecționate din împletituri și articole similare din materiale de împletit' },\n\t{ value: '46019490', label: '---- Altele' },\n\t{ value: '46019900', label: '-- Altele' },\n\t{ value: '46019905', label: '--- Împletituri și articole similare din materiale de împletit, chiar asamblate în benzi' },\n\t{ value: '46019910', label: '--- Altele' },\n\t{ value: '46019910', label: '---- Confecționate din împletituri și articole similare din materiale de împletit' },\n\t{ value: '46019990', label: '---- Altele' },\n\t{ value: '46020000', label: 'Obiecte împletite şi alte articole, confecționate direct în formă finală din materiale de împletit sau din articole de la poziția 4601; articole din lufa' },\n\t{ value: '46021100', label: '- Din materiale vegetale' },\n\t{ value: '46021100', label: '-- Din bambus' },\n\t{ value: '46021200', label: '-- Din ratan' },\n\t{ value: '46021900', label: '-- Altele' },\n\t{ value: '46021910', label: '--- Împletituri de paie pentru sticle, utilizate ca ambalaj de protecție' },\n\t{ value: '46021990', label: '--- Altele' },\n\t{ value: '46029000', label: '- Altele' },\n\t{ value: '47000000', label: 'PASTĂ DIN LEMN SAU DIN ALTE MATERIALE FIBROASE CELULOZICE; HÂRTIE SAU CARTON RECICLABILE (DEȘEURI ȘI MACULATURĂ)' },\n\t{ value: '47010000', label: 'Paste mecanice din lemn' },\n\t{ value: '47010010', label: '- Paste termomecanice din lemn' },\n\t{ value: '47010090', label: '- Altele' },\n\t{ value: '47020000', label: 'Paste chimice din lemn, de dizolvare' },\n\t{ value: '47030000', label: 'Paste chimice din lemn, cu sodă sau cu sulfat, altele decât pastele de dizolvare' },\n\t{ value: '47031100', label: '- Nealbite' },\n\t{ value: '47031100', label: '-- De conifere' },\n\t{ value: '47031900', label: '-- Altele decât de conifere' },\n\t{ value: '47032100', label: '- Semialbite sau albite' },\n\t{ value: '47032100', label: '-- De conifere' },\n\t{ value: '47032900', label: '-- Altele decât de conifere' },\n\t{ value: '47040000', label: 'Paste chimice din lemn, cu bisulfit, altele decât pastele de dizolvare' },\n\t{ value: '47041100', label: '- Nealbite' },\n\t{ value: '47041100', label: '-- De conifere' },\n\t{ value: '47041900', label: '-- Altele decât de conifere' },\n\t{ value: '47042100', label: '- Semialbite sau albite' },\n\t{ value: '47042100', label: '-- De conifere' },\n\t{ value: '47042900', label: '-- Altele decât de conifere' },\n\t{ value: '47050000', label: 'Paste din lemn obținute prin combinarea unei prelucrări mecanice și a unei prelucrări chimice' },\n\t{ value: '47060000', label: 'Paste din fibre obținute din hârtie sau carton reciclate (deșeuri sau maculatură) sau din alte materiale fibrocelulozice' },\n\t{ value: '47061000', label: '- Paste din linters de bumbac' },\n\t{ value: '47062000', label: '- Paste din fibre obținute din hârtie sau carton reciclate (deșeuri și maculatură)' },\n\t{ value: '47063000', label: '- Altele, din bambus' },\n\t{ value: '47069100', label: '- Altele' },\n\t{ value: '47069100', label: '-- Mecanice' },\n\t{ value: '47069200', label: '-- Chimice' },\n\t{ value: '47069300', label: '-- Obținute printr-o combinație de procedee mecanice și chimice' },\n\t{ value: '47070000', label: 'Hârtie sau carton reciclabile (deșeuri și maculatură)' },\n\t{ value: '47071000', label: '- Hârtii sau carton kraft nealbite sau hârtie sau cartoane ondulate' },\n\t{ value: '47072000', label: '- Alte hârtii sau cartoane obținute în principal din pastă chimică albită, necolorate în masă' },\n\t{ value: '47073000', label: '- Hârtii sau cartoane obținute în principal din pastă mecanică (de exemplu, ziare, periodice și imprimate similare)' },\n\t{ value: '47073010', label: '-- Numere vechi și nevândute de ziare și reviste, anuare telefonice, broșuri și imprimate publicitare' },\n\t{ value: '47073090', label: '-- Altele' },\n\t{ value: '47079000', label: '- Altele, inclusiv deșeurile și maculatura netriate' },\n\t{ value: '47079010', label: '-- Netriate' },\n\t{ value: '47079090', label: '-- Triate' },\n\t{ value: '48000000', label: 'HÂRTIE ȘI CARTON; ARTICOLE DIN PASTĂ DE CELULOZĂ, DIN HÂRTIE SAU DIN CARTON' },\n\t{ value: '48010000', label: 'Hârtie de ziar, în rulouri sau foi' },\n\t{ value: '48020000', label: 'Hârtii și cartoane necretate, de tipul celor utilizate pentru scris, tipărit sau în alte scopuri grafice și hârtii și cartoane pentru cartele sau benzi de perforat, neperforate, în rulouri sau foi de formă pătrată sau dreptunghiulară, de orice dimensiuni, altele decât hârtia de la poziția 4801 sau 4803; hârtii și cartoane fabricate manual' },\n\t{ value: '48021000', label: '- Hârtii și cartoane fabricate manual' },\n\t{ value: '48022000', label: '- Hârtii și cartoane suport pentru hârtii și cartoane fotosensibile, termosensibile sau electrosensibile' },\n\t{ value: '48024000', label: '- Hârtii suport pentru tapet' },\n\t{ value: '48024010', label: '-- Fără fibre obținute printr-un procedeu mecanic sau la care maximum 10 % din greutatea totală a compoziției fibroase o constituie astfel de fibre' },\n\t{ value: '48024090', label: '-- Altele' },\n\t{ value: '48025400', label: '- Alte hârtii și cartoane, fără fibre obținute printr-un procedeu mecanic sau chimico-mecanic sau la care maximum 10 % din greutatea totală a compoziției fibroase o constituie astfel de fibre' },\n\t{ value: '48025400', label: '-- Cu o greutate sub 40 g/m2' },\n\t{ value: '48025500', label: '-- Cu o greutate de minimum 40 g/m2, dar de maximum 150 g/m2, în rulouri' },\n\t{ value: '48025515', label: '--- Cu o greutate de minimum 40 g/m2, dar sub 60 g/m2' },\n\t{ value: '48025525', label: '--- Cu o greutate de minimum 60 g/m2, dar sub 75 g/m2' },\n\t{ value: '48025530', label: '--- Cu o greutate de minimum 75 g/m2, dar sub 80 g/m2' },\n\t{ value: '48025590', label: '--- Cu o greutate de minimum 80 g/m2' },\n\t{ value: '48025600', label: '-- Cu o greutate de minimum 40 g/m2, dar de maximum 150 g/m2, în foi având o latură de maximum 435 mm și cealaltă de maximum 297 mm, nepliată' },\n\t{ value: '48025620', label: '--- La care o latură are 297 mm și cealaltă 210 mm (format A4)' },\n\t{ value: '48025680', label: '--- Altele' },\n\t{ value: '48025700', label: '-- Altele, cu o greutate de minimum 40 g/m2, dar de maximum 150 g/m2' },\n\t{ value: '48025800', label: '-- Cu o greutate de peste 150 g/m2' },\n\t{ value: '48025810', label: '--- În rulouri' },\n\t{ value: '48025890', label: '--- Altele' },\n\t{ value: '48026100', label: '- Alte hârtii și cartoane, la care peste 10 % din greutatea totală a compoziției fibroase o constituie fibrele obținute printr-un procedeu mecanic sau chimico-mecanic' },\n\t{ value: '48026100', label: '-- În rulouri' },\n\t{ value: '48026115', label: '--- Cu o greutate sub 72 g/m2 și la care mai mult de 50 % din greutatea totală a compoziției fibroase o constituie fibrele obținute printr-un procedeu mecanic' },\n\t{ value: '48026180', label: '--- Altele' },\n\t{ value: '48026200', label: '-- În foi la care o latură are maximum 435 mm și cealaltă este de maximum 297 mm, în stare nepliată' },\n\t{ value: '48026900', label: '-- Altele' },\n\t{ value: '48030000', label: 'Hârtii de tipul celor utilizate ca hârtie igienică, șervețele de demachiat, pentru șters mâinile, ca șervețele sau hârtii similare pentru uz casnic, de igienă sau de toaletă, vată de celuloză și straturi subțiri din fibre celulozice, chiar creponate, încrețite, gofrate, ștanțate, perforate, colorate la suprafață, decorate la suprafață sau imprimate, în rulouri sau foi' },\n\t{ value: '48030010', label: '- Vată de celuloză' },\n\t{ value: '48030031', label: '- Hârtie creponată și straturi subțiri din fibre celulozice numite \"țesătură\", cu o greutate pe strat' },\n\t{ value: '48030031', label: '-- De maximum 25 g/m2' },\n\t{ value: '48030039', label: '-- De peste 25 g/m2' },\n\t{ value: '48030090', label: '- Altele' },\n\t{ value: '48040000', label: 'Hârtii și cartoane kraft necretate, în rulouri sau foi, altele decât cele de la poziția 4802 sau 4803' },\n\t{ value: '48041100', label: '- Hârtii și cartoane pentru coperți, numite kraftliner' },\n\t{ value: '48041100', label: '-- Nealbite' },\n\t{ value: '48041111', label: '--- În care minimum 80 % din greutatea totală a compoziției fibroase o constituie fibrele de conifere obținute prin procedeul chimic cu sulfat sau cu sodă' },\n\t{ value: '48041111', label: '---- Cu greutatea sub 150 g/m2' },\n\t{ value: '48041115', label: '---- Cu greutatea de minimum 150 g/m2, dar sub 175 g/m2' },\n\t{ value: '48041119', label: '---- Cu greutatea de minimum 175 g/m2' },\n\t{ value: '48041190', label: '--- Altele' },\n\t{ value: '48041900', label: '-- Altele' },\n\t{ value: '48041912', label: '--- În care minimum 80 % din greutatea totală a compoziției fibroase o constituie fibrele de conifere obținute prin procedeul chimic cu sulfat sau cu sodă' },\n\t{ value: '48041912', label: '---- Realizate din unul sau mai multe straturi nealbite și un strat exterior albit, semialbit sau colorat în masă, cu greutatea pe m2' },\n\t{ value: '48041912', label: '----- Sub 175 g' },\n\t{ value: '48041919', label: '----- De minimum 175 g' },\n\t{ value: '48041930', label: '---- Altele' },\n\t{ value: '48041990', label: '--- Altele' },\n\t{ value: '48042100', label: '- Hârtii kraft pentru saci de mari dimensiuni' },\n\t{ value: '48042100', label: '-- Nealbite' },\n\t{ value: '48042110', label: '--- În care minimum 80 % din greutatea totală a compoziției fibroase o constituie fibrele de conifere obținute prin procedeul chimic cu sulfat sau cu sodă' },\n\t{ value: '48042190', label: '--- Altele' },\n\t{ value: '48042900', label: '-- Altele' },\n\t{ value: '48042910', label: '--- În care minimum 80 % din greutatea totală a compoziției fibroase o constituie fibrele de conifere obținute prin procedeul chimic cu sulfat sau cu sodă' },\n\t{ value: '48042990', label: '--- Altele' },\n\t{ value: '48043100', label: '- Alte hârtii și cartoane kraft, cu o greutate de maximum 150 g/m2' },\n\t{ value: '48043100', label: '-- Nealbite' },\n\t{ value: '48043151', label: '--- În care minimum 80 % din greutatea totală a compoziției fibroase o constituie fibrele de conifere obținute prin procedeul chimic cu sulfat sau cu sodă' },\n\t{ value: '48043151', label: '---- Utilizate ca izolant în electrotehnică' },\n\t{ value: '48043158', label: '---- Altele' },\n\t{ value: '48043180', label: '--- Altele' },\n\t{ value: '48043900', label: '-- Altele' },\n\t{ value: '48043951', label: '--- În care minimum 80 % din greutatea totală a compoziției fibroase o constituie fibrele de conifere obținute prin procedeul chimic cu sulfat sau cu sodă' },\n\t{ value: '48043951', label: '---- Albite uniform în masă' },\n\t{ value: '48043958', label: '---- Altele' },\n\t{ value: '48043980', label: '--- Altele' },\n\t{ value: '48044100', label: '- Alte hârtii și cartoane kraft, cu o greutate peste 150 g/m2, dar sub 225 g/m2' },\n\t{ value: '48044100', label: '-- Nealbite' },\n\t{ value: '48044191', label: '--- Hârtii și cartoane denumite saturating kraft' },\n\t{ value: '48044198', label: '--- Altele' },\n\t{ value: '48044200', label: '-- Albite uniform în masă și la care peste 95 % din greutatea compoziției fibroase totale o constituie fibrele de lemn obținute printr-un procedeu chimic' },\n\t{ value: '48044900', label: '-- Altele' },\n\t{ value: '48045100', label: '- Alte hârtii și cartoane kraft, cu o greutate de minimum 225 g/m2' },\n\t{ value: '48045100', label: '-- Nealbite' },\n\t{ value: '48045200', label: '-- Albite uniform în masă și la care peste 95 % din greutatea compoziției fibroase totale o constituie fibrele de lemn obținute printr-un procedeu chimic' },\n\t{ value: '48045900', label: '-- Altele' },\n\t{ value: '48045910', label: '--- În care minimum 80 % din greutatea totală a compoziției fibroase o constituie fibrele de conifere obținute prin procedeul chimic cu sulfat sau cu sodă' },\n\t{ value: '48045990', label: '--- Altele' },\n\t{ value: '48050000', label: 'Alte hârtii și cartoane, necretate, în rulouri sau foi, care nu au fost supuse unei prelucrări suplimentare sau unor tratamente, altele decât cele stipulate la nota 3 din acest capitol' },\n\t{ value: '48051100', label: '- Hârtie pentru caneluri' },\n\t{ value: '48051100', label: '-- Hârtie semichimică pentru caneluri' },\n\t{ value: '48051200', label: '-- Hârtie din paie pentru caneluri' },\n\t{ value: '48051900', label: '-- Altele' },\n\t{ value: '48051910', label: '--- Wellenstoff' },\n\t{ value: '48051990', label: '--- Altele' },\n\t{ value: '48052400', label: '- Testliner (carton din fibre recuperate)' },\n\t{ value: '48052400', label: '-- Cu o greutate de maximum 150 g/m2' },\n\t{ value: '48052500', label: '-- Cu o greutate de peste 150 g/m2' },\n\t{ value: '48053000', label: '- Hârtie sulfit pentru ambalaj' },\n\t{ value: '48054000', label: '- Hârtie și carton filtru' },\n\t{ value: '48055000', label: '- Hârtie și carton fetru, hârtie și carton lânos' },\n\t{ value: '48059100', label: '- Altele' },\n\t{ value: '48059100', label: '-- Cu o greutate de maximum 150 g/m2' },\n\t{ value: '48059200', label: '-- Cu o greutate de peste 150 g/m2, dar sub 225 g/m2' },\n\t{ value: '48059300', label: '-- Cu o greutate de minimum 225 g/m2' },\n\t{ value: '48059320', label: '--- Realizate din hârtie reciclată' },\n\t{ value: '48059380', label: '--- Altele' },\n\t{ value: '48060000', label: 'Hârtii și cartoane sulfurizate, hârtii rezistente la grăsimi, hârtii calc, hârtii pergament și alte hârtii glazurate, transparente sau translucide, în rulouri sau foi' },\n\t{ value: '48061000', label: '- Hârtii și cartoane sulfurizate (pergament vegetal)' },\n\t{ value: '48062000', label: '- Hârtii rezistente la grăsimi (greaseproof)' },\n\t{ value: '48063000', label: '- Hârtie calc' },\n\t{ value: '48064000', label: '- Hârtii pergament și alte hârtii glazurate, transparente sau translucide' },\n\t{ value: '48064010', label: '-- Hârtie pergament (transparentă)' },\n\t{ value: '48064090', label: '-- Altele' },\n\t{ value: '48070000', label: 'Hârtii și cartoane asamblate plan prin lipire, necretate la suprafață și neimpregnate, chiar întărite în interior, în rulouri sau coli' },\n\t{ value: '48070030', label: '- Realizate din hârtie reciclată, chiar acoperite cu hârtie' },\n\t{ value: '48070080', label: '- Altele' },\n\t{ value: '48080000', label: 'Hârtii și cartoane ondulate (chiar acoperite prin lipire), creponate, încrețite, gofrate, ștanțate sau perforate, în rulouri sau în foi, altele decât cele de la poziția 4803' },\n\t{ value: '48081000', label: '- Hârtii și cartoane, ondulate, chiar perforate' },\n\t{ value: '48084000', label: '- Hârtii kraft, creponate sau încrețite, chiar gofrate, ștanțate sau perforate' },\n\t{ value: '48089000', label: '- Altele' },\n\t{ value: '48090000', label: 'Hârtii carbon, hârtii denumite \"autocopiante\" și alte hârtii pentru copii (inclusiv hârtii cretate, acoperite sau impregnate, pentru hârtii stencil sau plăci offset), chiar imprimate, în rulouri sau foi' },\n\t{ value: '48092000', label: '- Hârtii \"autocopiante\"' },\n\t{ value: '48099000', label: '- Altele' },\n\t{ value: '48100000', label: 'Hârtii și cartoane, cretate cu caolin sau cu alte substanțe anorganice pe una sau pe ambele fețe, cu sau fără lianți, fără alte stratificări sau aplicări la suprafață, chiar colorate la suprafață, decorate la suprafață sau imprimate, în rulouri sau în foi de formă pătrată sau dreptunghiulară, de orice dimensiuni' },\n\t{ value: '48101300', label: '- Hârtii și cartoane de tipul celor utilizate pentru scris, imprimat sau pentru alte scopuri grafice, fără fibre obținute printr-un procedeu mecanic sau chimico-mecanic, sau în care maximum 10 % din greutatea totală a compoziției fibroase o constituie astfel de fibre' },\n\t{ value: '48101300', label: '-- În rulouri' },\n\t{ value: '48101400', label: '-- În foi la care una dintre laturi este de maximum 435 mm și cealaltă de maximum 297 mm, în stare nepliată' },\n\t{ value: '48101900', label: '-- Altele' },\n\t{ value: '48102200', label: '- Hârtii și cartoane de tipul celor utilizate pentru scris, imprimat sau pentru alte scopuri grafice, la care peste 10 % din greutatea totală a compoziției fibroase o constituie fibrele obținute printr-un procedeu mecanic sau chimico-mecanic' },\n\t{ value: '48102200', label: '-- Hârtie ușor cretată, denumită LWC' },\n\t{ value: '48102900', label: '-- Altele' },\n\t{ value: '48102930', label: '--- În rulouri' },\n\t{ value: '48102980', label: '--- Altele' },\n\t{ value: '48103100', label: '- Hârtie și carton kraft, altele decât cele de tipul folosit pentru scris, tipărit sau alte scopuri grafice' },\n\t{ value: '48103100', label: '-- Albite uniform în masă și la care peste 95 % din greutatea totală a compoziției fibroase o constituie fibrele de lemn obținute printr-un procedeu chimic, având o greutate de maximum 150 g/m2' },\n\t{ value: '48103200', label: '-- Albite uniform în masă și la care peste 95 % din greutatea totală a compoziției fibroase o constituie fibrele de lemn obținute printr-un procedeu chimic, având o greutate de peste 150 g/m2' },\n\t{ value: '48103210', label: '--- Cretate sau acoperite cu caolin' },\n\t{ value: '48103290', label: '--- Altele' },\n\t{ value: '48103900', label: '-- Altele' },\n\t{ value: '48109200', label: '- Alte hârtii și cartoane' },\n\t{ value: '48109200', label: '-- Multistrat' },\n\t{ value: '48109210', label: '--- La care fiecare strat este albit' },\n\t{ value: '48109230', label: '--- La care un singur strat este albit' },\n\t{ value: '48109290', label: '--- Altele' },\n\t{ value: '48109900', label: '-- Altele' },\n\t{ value: '48109910', label: '--- Din pastă albită, acoperite sau impregnate cu caolin' },\n\t{ value: '48109980', label: '--- Altele' },\n\t{ value: '48110000', label: 'Hârtii, cartoane, vată de celuloză și straturi subțiri din fibre celulozice, cretate, impregnate, acoperite, colorate la suprafață, decorate la suprafață sau imprimate, în rulouri sau în foi de formă pătrată sau dreptunghiulară, având orice dimensiuni, altele decât produsele de tipul celor descrise la pozițiile 4803, 4809 sau 4810' },\n\t{ value: '48111000', label: '- Hârtii și cartoane gudronate, bituminate sau asfaltate' },\n\t{ value: '48114100', label: '- Hârtii și cartoane gomate sau adezive' },\n\t{ value: '48114100', label: '-- Autoadezive' },\n\t{ value: '48114120', label: '--- Cu o lățime de maximum 10 cm, a căror acoperire constă în cauciuc, natural sau sintetic, nevulcanizat' },\n\t{ value: '48114190', label: '--- Altele' },\n\t{ value: '48114900', label: '-- Altele' },\n\t{ value: '48115100', label: '- Hârtii și cartoane, cretate, impregnate sau acoperite cu materiale plastice (cu excepția adezivilor)' },\n\t{ value: '48115100', label: '-- Albite, cu o greutate de peste 150 g/m2' },\n\t{ value: '48115900', label: '-- Altele' },\n\t{ value: '48116000', label: '- Hârtii și cartoane, cretate, impregnate sau acoperite cu ceară, parafină, stearină, ulei sau glicerol' },\n\t{ value: '48119000', label: '- Alte hârtii și cartoane, vată de celuloză și straturi subțiri din fibre celulozice' },\n\t{ value: '48120000', label: 'Blocuri filtrante și plăci filtrante, din pastă de hârtie' },\n\t{ value: '48130000', label: 'Hârtie pentru țigări, chiar tăiată la dimensiune, sub formă de colițe sau sub formă tubulară' },\n\t{ value: '48131000', label: '- Sub formă de colițe sau sub formă tubulară' },\n\t{ value: '48132000', label: '- În rulouri cu o lățime maximă de 5 cm' },\n\t{ value: '48139000', label: '- Altele' },\n\t{ value: '48139010', label: '-- În rulouri cu o lățime de peste 5 cm, dar de maximum 15 cm' },\n\t{ value: '48139090', label: '-- Altele' },\n\t{ value: '48140000', label: 'Hârtii tapet și hârtii similare pentru acoperit pereții; hârtii transparente autocolante' },\n\t{ value: '48142000', label: '- Hârtii tapet și hârtii similare pentru acoperit pereții, constituite din hârtie impregnată sau acoperită pe față cu un strat de material plastic, gofrat, colorat, imprimat cu motive sau altfel decorat' },\n\t{ value: '48149000', label: '- Altele' },\n\t{ value: '48149010', label: '-- Hârtii tapet și hârtii similare pentru acoperit pereți, constituite din hârtie gofrată, colorată la suprafață, imprimată cu motive sau altfel decorată la suprafață, impregnată sau acoperită cu material plastic protector transparent' },\n\t{ value: '48149070', label: '-- Altele' },\n\t{ value: '48160000', label: 'Hârtii carbon, hârtii denumite \"autocopiante\" și alte hârtii copiative (altele decât cele de la poziția 4809), hârtii stencil și plăci offset, din hârtie, chiar ambalate în cutii' },\n\t{ value: '48162000', label: '- Hârtii denumite \"autocopiante\"' },\n\t{ value: '48169000', label: '- Altele' },\n\t{ value: '48170000', label: 'Plicuri, hârtie în formă de plicuri, cărți poștale neilustrate și cărți poștale pentru corespondență, din hârtie sau carton; cutii, mape și articole similare, din hârtie sau carton, care conțin un set de articole pentru corespondență' },\n\t{ value: '48171000', label: '- Plicuri' },\n\t{ value: '48172000', label: '- Hârtie în formă de plic, cărți poștale neilustrate și cărți poștale pentru corespondență' },\n\t{ value: '48173000', label: '- Cutii, mape și articole similare, din hârtie sau din carton, care conțin un set de articole pentru corespondență' },\n\t{ value: '48180000', label: 'Hârtii de tipul celor utilizate ca hârtie igienică și ca hârtii similare, vată de celuloză sau straturi subțiri din fibre celulozice, de tipul celor pentru uz casnic sau sanitar, în rulouri cu o lățime de maximum 36 cm sau tăiate la dimensiune; batiste, șervețele demachiante, hârtie pentru șters mâinile, fețe de masă și șervete, lenjerie de pat și articole similare pentru uz casnic, de toaletă, pentru uz igienic sau spitalicesc, îmbrăcăminte și accesorii de îmbrăcăminte, din pastă de hârtie, hârtie, vată de celuloză sau straturi subțiri din fibre celulozice' },\n\t{ value: '48181000', label: '- Hârtie igienică' },\n\t{ value: '48181010', label: '-- Cu greutatea de maximum 25 g/m2 pe strat' },\n\t{ value: '48181090', label: '-- Cu greutatea de peste 25 g/m2 pe strat' },\n\t{ value: '48182000', label: '- Batiste, șervețele demachiante și hârtie pentru șters mâinile' },\n\t{ value: '48182010', label: '-- Batiste și șervețele demachiante' },\n\t{ value: '48182091', label: '-- Hârtie pentru șters mâinile' },\n\t{ value: '48182091', label: '--- În rulouri' },\n\t{ value: '48182099', label: '--- Altele' },\n\t{ value: '48183000', label: '- Fețe de masă și șervete de masă' },\n\t{ value: '48185000', label: '- Îmbrăcăminte și accesorii de îmbrăcăminte' },\n\t{ value: '48189000', label: '- Altele' },\n\t{ value: '48189010', label: '-- Articole de uz chirurgical, medical sau igienic, necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '48189090', label: '-- Altele' },\n\t{ value: '48190000', label: 'Cutii, saci, pungi, cornete și alte ambalaje din hârtie, carton, vată de celuloză sau straturi subțiri din fibre celulozice; obiecte din carton pentru birou, pentru magazine sau similare' },\n\t{ value: '48191000', label: '- Cutii din hârtie sau carton ondulat' },\n\t{ value: '48192000', label: '- Cutii și obiecte din carton, pliante, din hârtie sau carton neondulat' },\n\t{ value: '48193000', label: '- Saci cu lățimea bazei de minimum 40 cm' },\n\t{ value: '48194000', label: '- Alți saci, pungi, mape (altele decât cele pentru discuri) și cornete' },\n\t{ value: '48195000', label: '- Alte ambalaje, inclusiv mape pentru discuri' },\n\t{ value: '48196000', label: '- Obiecte din carton pentru birou, pentru magazine și similare' },\n\t{ value: '48200000', label: 'Registre, registre contabile, carnete (de note, de comenzi, de chitanțe), agende, blocnotesuri, blocuri de hârtie pentru scrisori și articole similare, caiete, mape, bibliorafturi, carnete cu cleme metalice (cu foi detașabile sau altele), coperte pentru dosare sau alte articole școlare, de birou sau de papetărie, inclusiv formulare pentru diferite activități și carnete diverse, chiar cu foi intercalate de hârtie carbon, din hârtie sau din carton; albume pentru eșantioane sau pentru colecții și coperte pentru cărți, din hârtie sau carton' },\n\t{ value: '48201000', label: '- Registre, registre contabile, carnete (de note, de comenzi, de chitanțe), blocnotesuri, blocuri de hârtie pentru scrisori, agende și articole similare' },\n\t{ value: '48201010', label: '-- Registre, registre contabile și carnete de comenzi sau de chitanțe' },\n\t{ value: '48201030', label: '-- Carnete de note, blocuri de hârtie pentru scrisori și blocnotesuri' },\n\t{ value: '48201050', label: '-- Agende' },\n\t{ value: '48201090', label: '-- Altele' },\n\t{ value: '48202000', label: '- Caiete' },\n\t{ value: '48203000', label: '- Bibliorafturi, carnete cu cleme metalice (altele decât copertele de carte), plicuri și coperte pentru dosare' },\n\t{ value: '48204000', label: '- Formulare pentru diferite activități și carnete diverse, chiar cu foi intercalate de hârtie carbon' },\n\t{ value: '48205000', label: '- Albume pentru eșantioane sau pentru colecții' },\n\t{ value: '48209000', label: '- Altele' },\n\t{ value: '48210000', label: 'Etichete de toate genurile, din hârtie sau carton, imprimate sau nu' },\n\t{ value: '48211000', label: '- Imprimate' },\n\t{ value: '48211010', label: '-- Autoadezive' },\n\t{ value: '48211090', label: '-- Altele' },\n\t{ value: '48219000', label: '- Altele' },\n\t{ value: '48219010', label: '-- Autoadezive' },\n\t{ value: '48219090', label: '-- Altele' },\n\t{ value: '48220000', label: 'Tamburi, bobine, fuzete, canete, mosoare și suporturi similare din pastă de hârtie, hârtie sau carton, chiar perforate sau întărite' },\n\t{ value: '48221000', label: '- De tipul celor folosite pentru înfășurarea firelor textile' },\n\t{ value: '48229000', label: '- Altele' },\n\t{ value: '48230000', label: 'Alte hârtii, cartoane, vată de celuloză și straturi subțiri din fibre celulozice, decupate la dimensiune; alte articole din pastă de hârtie, din hârtie, din carton, din vată de celuloză sau din straturi subțiri din fibre celulozice' },\n\t{ value: '48232000', label: '- Hârtie și carton de filtru' },\n\t{ value: '48234000', label: '- Hârtii cu diagrame pentru aparatele de înregistrat, sub formă de bobine, foi sau discuri' },\n\t{ value: '48236100', label: '- Tăvi, veselă, farfurii, căni, pahare și articole similare din hârtie sau carton' },\n\t{ value: '48236100', label: '-- Din bambus' },\n\t{ value: '48236900', label: '-- Altele' },\n\t{ value: '48236910', label: '--- Tăvi, veselă, farfurii' },\n\t{ value: '48236990', label: '--- Altele' },\n\t{ value: '48237000', label: '- Articole turnate sau presate din pastă de hârtie' },\n\t{ value: '48237010', label: '-- Ambalaje alveolare pentru ouă' },\n\t{ value: '48237090', label: '-- Altele' },\n\t{ value: '48239000', label: '- Altele' },\n\t{ value: '48239040', label: '-- Hârtie și carton de tipul celor folosite pentru scris, tipărit sau pentru alte scopuri grafice' },\n\t{ value: '48239085', label: '-- Altele' },\n\t{ value: '49000000', label: 'CĂRȚI, ZIARE, IMAGINI IMPRIMATE ȘI ALTE PRODUSE ALE INDUSTRIEI DE IMPRIMARE; MANUSCRISE, TEXTE DACTILOGRAFIATE ȘI SCHIȚE SAU PLANURI' },\n\t{ value: '49010000', label: 'Cărți, broșuri și tipărituri similare, chiar în foi volante' },\n\t{ value: '49011000', label: '- În foi volante, chiar pliate' },\n\t{ value: '49019100', label: '- Altele' },\n\t{ value: '49019100', label: '-- Dicționare și enciclopedii, chiar în fascicule' },\n\t{ value: '49019900', label: '-- Altele' },\n\t{ value: '49020000', label: 'Ziare și publicații periodice imprimate, chiar ilustrate sau care conțin material publicitar' },\n\t{ value: '49021000', label: '- Cu cel puțin patru apariții pe săptămână' },\n\t{ value: '49029000', label: '- Altele' },\n\t{ value: '49030000', label: 'Albume sau cărți cu ilustrații și cărți de desenat sau colorat, pentru copii' },\n\t{ value: '49040000', label: 'Partituri muzicale manuscrise sau imprimate, chiar ilustrate sau legate' },\n\t{ value: '49050000', label: 'Lucrări cartografice de orice fel, inclusiv hărți de perete, planuri topografice și globuri, imprimate' },\n\t{ value: '49052000', label: '- Sub formă de cărți sau de broșuri' },\n\t{ value: '49059000', label: '- Altele' },\n\t{ value: '49060000', label: 'Planuri și desene de arhitectură, de inginerie și alte planuri și desene industriale, comerciale, topografice sau similare, originale, executate manual; texte manuscrise; reproduceri fotografice pe hârtie sensibilizată și copii carbon obținute după planurile, desenele sau textele enumerate mai sus' },\n\t{ value: '49070000', label: 'Timbre poștale, timbre fiscale și similare, neobliterate, în circulație sau urmând a fi puse în circulație în țara în care ele au sau vor avea o valoare nominală recunoscută; hârtie timbrată; bancnote; cecuri; titluri de acțiuni sau obligațiuni și titluri similare' },\n\t{ value: '49070010', label: '- Timbre poștale, timbre fiscale și similare' },\n\t{ value: '49070030', label: '- Bancnote' },\n\t{ value: '49070090', label: '- Altele' },\n\t{ value: '49080000', label: 'Decalcomanii (abțibilduri) de orice fel' },\n\t{ value: '49081000', label: '- Decalcomanii vitrifiabile' },\n\t{ value: '49089000', label: '- Altele' },\n\t{ value: '49090000', label: 'Cărți poștale imprimate sau ilustrate; cărți poștale cu felicitări sau mesaje personale, chiar ilustrate, cu sau fără plicuri, garnituri sau aplicații' },\n\t{ value: '49100000', label: 'Calendare de orice fel, imprimate, inclusiv calendare cu file detașabile' },\n\t{ value: '49110000', label: 'Alte imprimate, inclusiv imagini, gravuri și fotografii' },\n\t{ value: '49111000', label: '- Imprimate publicitare, cataloage comerciale și similare' },\n\t{ value: '49111010', label: '-- Cataloage comerciale' },\n\t{ value: '49111090', label: '-- Altele' },\n\t{ value: '49119100', label: '- Altele' },\n\t{ value: '49119100', label: '-- Imagini, gravuri și fotografii' },\n\t{ value: '49119900', label: '-- Altele' },\n\t{ value: '50000000', label: 'MĂTASE' },\n\t{ value: '50010000', label: 'Gogoși de viermi de mătase de pe care se pot depăna fire' },\n\t{ value: '50020000', label: 'Mătase brută (nerăsucită)' },\n\t{ value: '50030000', label: 'Deșeuri de mătase (inclusiv gogoși nedepănabile, deșeuri de fire și destrămătură)' },\n\t{ value: '50040000', label: 'Fire de mătase (altele decât firele din deșeuri de mătase) necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '50040010', label: '- Nealbite, degomate sau albite' },\n\t{ value: '50040090', label: '- Altele' },\n\t{ value: '50050000', label: 'Fire din deșeuri de mătase, necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '50050010', label: '- Nealbite, degomate sau albite' },\n\t{ value: '50050090', label: '- Altele' },\n\t{ value: '50060000', label: 'Fire de mătase sau din deșeuri de mătase, condiționate pentru vânzarea cu amănuntul; intestine de viermi de mătase' },\n\t{ value: '50060010', label: '- Fire de mătase' },\n\t{ value: '50060090', label: '- Fire de deșeuri de mătase; intestine de viermi de mătase' },\n\t{ value: '50070000', label: 'Țesături din mătase sau din deșeuri de mătase' },\n\t{ value: '50071000', label: '- Țesături din pieptănătură de mătase' },\n\t{ value: '50072000', label: '- Alte țesături, care conțin minimum 85 % din greutate mătase sau deșeuri de mătase, altele decât pieptănătură de mătase' },\n\t{ value: '50072011', label: '-- Crep' },\n\t{ value: '50072011', label: '--- Nealbite, degomate sau albite' },\n\t{ value: '50072019', label: '--- Altele' },\n\t{ value: '50072021', label: '-- Pongé, habutaï, honan, shantoung, corah și țesături similare din Extremul Orient, de mătase naturală pură (neamestecată cu pieptănătură de mătase, deșeuri de pieptănătură de mătase sau cu alte materiale textile)' },\n\t{ value: '50072021', label: '--- Țesătură pânză, nealbită sau simplu degomată' },\n\t{ value: '50072031', label: '--- Altele' },\n\t{ value: '50072031', label: '---- Țesătură pânză' },\n\t{ value: '50072039', label: '---- Altele' },\n\t{ value: '50072041', label: '-- Altele' },\n\t{ value: '50072041', label: '--- Țesături transparente (rare)' },\n\t{ value: '50072051', label: '--- Altele' },\n\t{ value: '50072051', label: '---- Nealbite, degomate sau albite' },\n\t{ value: '50072059', label: '---- Vopsite' },\n\t{ value: '50072061', label: '---- Din fire de diferite culori' },\n\t{ value: '50072061', label: '----- Cu lățimea de peste 57 cm, dar de maximum 75 cm' },\n\t{ value: '50072069', label: '----- Altele' },\n\t{ value: '50072071', label: '---- Imprimate' },\n\t{ value: '50079000', label: '- Alte țesături' },\n\t{ value: '50079010', label: '-- Nealbite, degomate sau albite' },\n\t{ value: '50079030', label: '-- Vopsite' },\n\t{ value: '50079050', label: '-- Din fire de diferite culori' },\n\t{ value: '50079090', label: '-- Imprimate' },\n\t{ value: '51000000', label: 'LÂNĂ, PĂR FIN SAU GROSIER DE ANIMALE; FIRE ȘI ȚESĂTURI DIN PĂR DE CAL' },\n\t{ value: '51010000', label: 'Lână, necardată, nepieptănată' },\n\t{ value: '51011100', label: '- Lână uscoasă, inclusiv lâna spălată înainte de separarea de piele' },\n\t{ value: '51011100', label: '-- Lână tunsă' },\n\t{ value: '51011900', label: '-- Altele' },\n\t{ value: '51012100', label: '- Degresată, necarbonizată' },\n\t{ value: '51012100', label: '-- Lână tunsă' },\n\t{ value: '51012900', label: '-- Altele' },\n\t{ value: '51013000', label: '- Carbonizată' },\n\t{ value: '51020000', label: 'Păr fin sau grosier, necardat și nepieptănat' },\n\t{ value: '51021100', label: '- Păr fin de animale' },\n\t{ value: '51021100', label: '-- De capră de Cașmir' },\n\t{ value: '51021900', label: '-- Altele' },\n\t{ value: '51021910', label: '--- De iepure de Angora' },\n\t{ value: '51021930', label: '--- De alpaca, de lama, de vicuna' },\n\t{ value: '51021940', label: '--- De cămilă (inclusiv dromader), de iac, de capră de Angora, de capră de Tibet și de capre similare' },\n\t{ value: '51021990', label: '--- De alți iepuri decât cei de Angora, de iepure sălbatic, de castor, de nutrie și de bizam' },\n\t{ value: '51022000', label: '- Păr grosier' },\n\t{ value: '51030000', label: 'Deșeuri de lână sau de păr fin sau grosier de animale, inclusiv deșeuri de fire, cu excepția destrămăturii' },\n\t{ value: '51031000', label: '- Deșeuri de la pieptănarea lânii sau a părului fin de animale' },\n\t{ value: '51031010', label: '-- Necarbonizate' },\n\t{ value: '51031090', label: '-- Carbonizate' },\n\t{ value: '51032000', label: '- Alte deșeuri de lână sau de păr fin de animale' },\n\t{ value: '51033000', label: '- Deșeuri de păr grosier de animale' },\n\t{ value: '51040000', label: 'Destrămătură de lână sau de păr fin sau grosier de animale' },\n\t{ value: '51050000', label: 'Lână, păr fin sau grosier, cardate sau pieptănate (inclusiv \"lână pieptănată în vrac\")' },\n\t{ value: '51051000', label: '- Lână cardată' },\n\t{ value: '51052100', label: '- Lână pieptănată' },\n\t{ value: '51052100', label: '-- \"Lână pieptănată în vrac\"' },\n\t{ value: '51052900', label: '-- Altele' },\n\t{ value: '51053100', label: '- Păr fin, pieptănat sau cardat' },\n\t{ value: '51053100', label: '-- De capră de Cașmir' },\n\t{ value: '51053900', label: '-- Altele' },\n\t{ value: '51054000', label: '- Păr grosier, pieptănat sau cardat' },\n\t{ value: '51060000', label: 'Fire din lână cardată, necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '51061000', label: '- Care conțin lână minimum 85 % din greutate' },\n\t{ value: '51061010', label: '-- Nealbite' },\n\t{ value: '51061090', label: '-- Altele' },\n\t{ value: '51062000', label: '- Care conțin lână sub 85 % din greutate' },\n\t{ value: '51062010', label: '-- Cu un conținut de lână și de păr fin de animale de minimum 85 % din greutate' },\n\t{ value: '51062091', label: '-- Altele' },\n\t{ value: '51062091', label: '--- Nealbite' },\n\t{ value: '51062099', label: '--- Altele' },\n\t{ value: '51070000', label: 'Fire din lână pieptănată, necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '51071000', label: '- Care conțin lână minimum 85 % din greutate' },\n\t{ value: '51071010', label: '-- Nealbite' },\n\t{ value: '51071090', label: '-- Altele' },\n\t{ value: '51072000', label: '- Care conțin lână sub 85 % din greutate' },\n\t{ value: '51072010', label: '-- Cu un conținut de lână și de păr fin de animale de minimum 85 % din greutate' },\n\t{ value: '51072010', label: '--- Nealbite' },\n\t{ value: '51072030', label: '--- Altele' },\n\t{ value: '51072051', label: '-- Altele' },\n\t{ value: '51072051', label: '--- Amestecate în principal sau numai cu fibre sintetice discontinue' },\n\t{ value: '51072051', label: '---- Nealbite' },\n\t{ value: '51072059', label: '---- Altele' },\n\t{ value: '51072091', label: '--- Altfel amestecate' },\n\t{ value: '51072091', label: '---- Nealbite' },\n\t{ value: '51072099', label: '---- Altele' },\n\t{ value: '51080000', label: 'Fire din păr fin de animale, cardate sau pieptănate, necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '51081000', label: '- Cardate' },\n\t{ value: '51081010', label: '-- Nealbite' },\n\t{ value: '51081090', label: '-- Altele' },\n\t{ value: '51082000', label: '- Pieptănate' },\n\t{ value: '51082010', label: '-- Nealbite' },\n\t{ value: '51082090', label: '-- Altele' },\n\t{ value: '51090000', label: 'Fire din lână sau din păr fin de animale, condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '51091000', label: '- Care conțin lână sau păr fin de animale minimum 85 % din greutate' },\n\t{ value: '51091010', label: '-- În gheme, sculuri sau jurubițe, cu o greutate de peste 125 g, dar de maximum 500 g' },\n\t{ value: '51091090', label: '-- Altele' },\n\t{ value: '51099000', label: '- Altele' },\n\t{ value: '51100000', label: 'Fire din păr grosier sau din păr de cal (inclusiv fire din păr de cal îmbrăcate), chiar condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '51110000', label: 'Țesături din lână cardată sau din păr fin de animale, cardat' },\n\t{ value: '51111100', label: '- Care conțin lână sau păr fin de animale minimum 85 % din greutate' },\n\t{ value: '51111100', label: '-- Cu o greutate de maximum 300 g/m2' },\n\t{ value: '51111900', label: '-- Altele' },\n\t{ value: '51112000', label: '- Altele, amestecate în principal sau numai cu filamente sintetice sau artificiale' },\n\t{ value: '51113000', label: '- Altele, amestecate în principal sau numai cu fibre sintetice sau artificiale discontinue' },\n\t{ value: '51113010', label: '-- Cu o greutate de maximum 300 g/m2' },\n\t{ value: '51113080', label: '-- Cu o greutate de peste 300 g/m2' },\n\t{ value: '51119000', label: '- Altele' },\n\t{ value: '51119010', label: '-- Cu un conținut total de materiale textile de la capitolul 50 de peste 10 % din greutate' },\n\t{ value: '51119091', label: '-- Altele' },\n\t{ value: '51119091', label: '--- Cu o greutate de maximum 300 g/m2' },\n\t{ value: '51119098', label: '--- Cu o greutate de peste 300 g/m2' },\n\t{ value: '51120000', label: 'Țesături din lână pieptănată sau din păr fin de animale, pieptănat' },\n\t{ value: '51121100', label: '- Care conțin lână sau păr fin de animale minimum 85 % din greutate' },\n\t{ value: '51121100', label: '-- Cu o greutate maximă de 200 g/m2' },\n\t{ value: '51121900', label: '-- Altele' },\n\t{ value: '51122000', label: '- Altele, amestecate în principal sau numai cu filamente sintetice sau artificiale' },\n\t{ value: '51123000', label: '- Altele, amestecate în principal sau numai cu fibre sintetice sau artificiale discontinue' },\n\t{ value: '51123010', label: '-- Cu o greutate de maximum 200 g/m2' },\n\t{ value: '51123080', label: '-- Cu o greutate de peste 200 g/m2' },\n\t{ value: '51129000', label: '- Altele' },\n\t{ value: '51129010', label: '-- Cu un conținut total de materiale textile de la capitolul 50 de peste 10 % din greutate' },\n\t{ value: '51129091', label: '-- Altele' },\n\t{ value: '51129091', label: '--- Cu o greutate de maximum 200 g/m2' },\n\t{ value: '51129098', label: '--- Cu o greutate de peste 200 g/m2' },\n\t{ value: '51130000', label: 'Țesături din păr grosier de animale sau din păr de cal' },\n\t{ value: '52000000', label: 'BUMBAC' },\n\t{ value: '52010000', label: 'Bumbac, necardat și nepieptănat' },\n\t{ value: '52010010', label: '- Hidrofil sau albit' },\n\t{ value: '52010090', label: '- Altele' },\n\t{ value: '52020000', label: 'Deșeuri de bumbac (inclusiv deșeuri de fire de bumbac și destrămătură)' },\n\t{ value: '52021000', label: '- Deșeuri de fire' },\n\t{ value: '52029100', label: '- Altele' },\n\t{ value: '52029100', label: '-- Destrămătură' },\n\t{ value: '52029900', label: '-- Altele' },\n\t{ value: '52030000', label: 'Bumbac, cardat sau pieptănat' },\n\t{ value: '52040000', label: 'Ață de cusut din bumbac, chiar condiționată pentru vânzarea cu amănuntul' },\n\t{ value: '52041100', label: '- Necondiționată pentru vânzarea cu amănuntul' },\n\t{ value: '52041100', label: '-- Care conține bumbac minimum 85 % din greutate' },\n\t{ value: '52041900', label: '-- Altele' },\n\t{ value: '52042000', label: '- Condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '52050000', label: 'Fire din bumbac (altele decât ața de cusut), care conțin bumbac minimum 85 % din greutate, necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '52051100', label: '- Fire simple, din fibre nepieptănate' },\n\t{ value: '52051100', label: '-- Măsurând minimum 714,29 decitex (maximum 14 numere metrice)' },\n\t{ value: '52051200', label: '-- Măsurând sub 714,29 decitex, dar minimum 232,56 decitex (peste 14 numere metrice, dar maximum 43 numere metrice)' },\n\t{ value: '52051300', label: '-- Măsurând sub 232,56 decitex, dar minimum 192,31 decitex (peste 43 numere metrice, dar maximum 52 numere metrice)' },\n\t{ value: '52051400', label: '-- Măsurând sub 192,31 decitex, dar minimum 125 decitex (peste 52 numere metrice, dar maximum 80 numere metrice)' },\n\t{ value: '52051500', label: '-- Măsurând sub 125 decitex (peste 80 numere metrice)' },\n\t{ value: '52051510', label: '--- Măsurând sub 125 decitex, dar minimum 83,33 decitex (peste 80 numere metrice, dar maximum 120 numere metrice)' },\n\t{ value: '52051590', label: '--- Măsurând sub 83,33 decitex (peste 120 numere metrice)' },\n\t{ value: '52052100', label: '- Fire simple din fibre pieptănate' },\n\t{ value: '52052100', label: '-- Măsurând minimum 714,29 decitex (maximum 14 numere metrice)' },\n\t{ value: '52052200', label: '-- Măsurând sub 714,29 decitex, dar minimum 232,56 decitex (peste 14 numere metrice, dar maximum 43 numere metrice)' },\n\t{ value: '52052300', label: '-- Măsurând sub 232,56 decitex, dar minimum 192,31 decitex (peste 43 numere metrice, dar maximum 52 numere metrice)' },\n\t{ value: '52052400', label: '-- Măsurând sub 192,31 decitex, dar minimum 125 decitex (peste 52 numere metrice, dar maximum 80 numere metrice)' },\n\t{ value: '52052600', label: '-- Măsurând sub 125 decitex, dar minimum 106,38 decitex (peste 80 numere metrice, dar maximum 94 numere metrice)' },\n\t{ value: '52052700', label: '-- Măsurând sub 106,38 decitex, dar minimum 83,33 decitex (peste 94 numere metrice, dar maximum 120 numere metrice)' },\n\t{ value: '52052800', label: '-- Măsurând sub 83,33 decitex (peste 120 numere metrice)' },\n\t{ value: '52053100', label: '- Fire răsucite sau cablate, din fibre nepieptănate' },\n\t{ value: '52053100', label: '-- Măsurând pe fir simplu minimum 714,29 decitex (maximum 14 numere metrice pe fir simplu)' },\n\t{ value: '52053200', label: '-- Măsurând pe fir simplu sub 714,29 decitex, dar minimum 232,56 decitex (peste 14 numere metrice, dar maximum 43 numere metrice pe fir simplu)' },\n\t{ value: '52053300', label: '-- Măsurând pe fir simplu sub 232,56 decitex, dar minimum 192,31 decitex (peste 43 numere metrice, dar maximum 52 numere metrice pe fir simplu)' },\n\t{ value: '52053400', label: '-- Măsurând pe fir simplu sub 192,31 decitex, dar minimum 125 decitex (peste 52 numere metrice, dar maximum 80 numere metrice pe fir simplu)' },\n\t{ value: '52053500', label: '-- Măsurând pe fir simplu sub 125 decitex (peste 80 numere metrice pe fir simplu)' },\n\t{ value: '52054100', label: '- Fire răsucite sau cablate, din fibre pieptănate' },\n\t{ value: '52054100', label: '-- Măsurând pe fir simplu minimum 714,29 decitex (maximum 14 numere metrice pe fir simplu)' },\n\t{ value: '52054200', label: '-- Măsurând pe fir simplu sub 714,29 decitex, dar minimum 232,56 decitex (peste 14 numere metrice, dar maximum 43 numere metrice pe fir simplu)' },\n\t{ value: '52054300', label: '-- Măsurând pe fir simplu sub 232,56 decitex, dar minimum 192,31 decitex (peste 43 numere metrice, dar maximum 52 numere metrice pe fir simplu)' },\n\t{ value: '52054400', label: '-- Măsurând pe fir simplu sub 192,31 decitex, dar minimum 125 decitex (peste 52 numere metrice, dar maximum 80 numere metrice pe fir simplu)' },\n\t{ value: '52054600', label: '-- Măsurând pe fir simplu sub 125 decitex, dar minimum 106,38 decitex (peste 80 numere metrice, dar maximum 94 numere metrice pe fir simplu)' },\n\t{ value: '52054700', label: '-- Măsurând pe fir simplu sub 106,38 decitex, dar minimum 83,33 decitex (peste 94 numere metrice, dar maximum 120 numere metrice pe fir simplu)' },\n\t{ value: '52054800', label: '-- Măsurând pe fir simplu sub 83,33 decitex (peste 120 numere metrice fir simplu)' },\n\t{ value: '52060000', label: 'Fire din bumbac (altele decât ață de cusut), care conțin bumbac sub 85 % din greutate, necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '52061100', label: '- Fire simple, din fibre nepieptănate' },\n\t{ value: '52061100', label: '-- Măsurând minimum 714,29 decitex (maximum 14 numere metrice)' },\n\t{ value: '52061200', label: '-- Măsurând sub 714,29 decitex, dar minimum 232,56 decitex (peste 14 numere metrice, dar maximum 43 numere metrice)' },\n\t{ value: '52061300', label: '-- Măsurând sub 232,56 decitex, dar minimum 192,31 decitex (peste 43 numere metrice, dar maximum 52 numere metrice)' },\n\t{ value: '52061400', label: '-- Măsurând sub 192,31 decitex, dar minimum 125 decitex (peste 52 numere metrice, dar maximum 80 numere metrice)' },\n\t{ value: '52061500', label: '-- Măsurând sub 125 decitex (peste 80 numere metrice)' },\n\t{ value: '52062100', label: '- Fire simple, din fibre pieptănate' },\n\t{ value: '52062100', label: '-- Măsurând minimum 714,29 decitex (maximum 14 numere metrice)' },\n\t{ value: '52062200', label: '-- Măsurând sub 714,29 decitex, dar minimum 232,56 decitex (peste 14 numere metrice, dar maximum 43 numere metrice)' },\n\t{ value: '52062300', label: '-- Măsurând sub 232,56 decitex, dar minimum 192,31 decitex (peste 43 numere metrice, dar maximum 52 numere metrice)' },\n\t{ value: '52062400', label: '-- Măsurând sub 192,31 decitex, dar minimum 125 decitex (peste 52 numere metrice, dar maximum 80 numere metrice)' },\n\t{ value: '52062500', label: '-- Măsurând sub 125 decitex (peste 80 numere metrice)' },\n\t{ value: '52063100', label: '- Fire răsucite sau cablate, din fibre nepieptănate' },\n\t{ value: '52063100', label: '-- Măsurând pe fir simplu minimum 714,29 decitex (maximum 14 numere metrice pe fir simplu)' },\n\t{ value: '52063200', label: '-- Măsurând pe fir simplu sub 714,29 decitex, dar minimum 232,56 decitex (peste 14 numere metrice, dar maximum 43 numere metrice pe fir simplu)' },\n\t{ value: '52063300', label: '-- Măsurând pe fir simplu sub 232,56 decitex, dar minimum 192,31 decitex (peste 43 numere metrice, dar maximum 52 numere metrice pe fir simplu)' },\n\t{ value: '52063400', label: '-- Măsurând pe fir simplu sub 192,31 decitex, dar minimum 125 decitex (peste 52 numere metrice, dar maximum 80 numere metrice pe fir simplu)' },\n\t{ value: '52063500', label: '-- Măsurând pe fir simplu sub 125 decitex (peste 80 numere metrice pe fir simplu)' },\n\t{ value: '52064100', label: '- Fire răsucite sau cablate, din fibre pieptănate' },\n\t{ value: '52064100', label: '-- Măsurând pe fir simplu minimum 714,29 decitex (maximum 14 numere metrice pe fir simplu)' },\n\t{ value: '52064200', label: '-- Măsurând pe fir simplu sub 714,29 decitex, dar minimum 232,56 decitex (peste 14 numere metrice, dar maximum 43 numere metrice pe fir simplu)' },\n\t{ value: '52064300', label: '-- Măsurând pe fir simplu sub 232,56 decitex, dar minimum 192,31 decitex (peste 43 numere metrice, dar maximum 52 numere metrice pe fir simplu)' },\n\t{ value: '52064400', label: '-- Măsurând pe fir simplu sub 192,31 decitex, dar minimum 125 decitex (peste 52 numere metrice pe fir simplu, dar maximum 80 numere metrice pe fir simplu)' },\n\t{ value: '52064500', label: '-- Măsurând pe fir simplu sub 125 decitex (peste 80 numere metrice pe fir simplu)' },\n\t{ value: '52070000', label: 'Fire de bumbac (altele decât ață de cusut) condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '52071000', label: '- Care conțin bumbac minimum 85 % din greutate' },\n\t{ value: '52079000', label: '- Altele' },\n\t{ value: '52080000', label: 'Țesături din bumbac, care conțin bumbac minimum 85 % din greutate, cu o greutate de maximum 200 g/m2' },\n\t{ value: '52081100', label: '- Nealbite' },\n\t{ value: '52081100', label: '-- Cu legătură pânză, cu o greutate de maximum 100 g/m2' },\n\t{ value: '52081110', label: '--- Materiale pentru fabricarea feșelor, a pansamentelor și a tifoanelor medicale' },\n\t{ value: '52081190', label: '--- Altele' },\n\t{ value: '52081200', label: '-- Cu legătură pânză, cu o greutate peste 100 g/m2' },\n\t{ value: '52081216', label: '--- Cu legătură pânză, cu o greutate de peste 100 g/m2, dar maximum 130 g/m2 și cu lățimea' },\n\t{ value: '52081216', label: '---- De maximum 165 cm' },\n\t{ value: '52081219', label: '---- De peste 165 cm' },\n\t{ value: '52081296', label: '--- Cu legătură pânză, cu o greutate peste 130 g/m2 și cu lățimea' },\n\t{ value: '52081296', label: '---- De maximum 165 cm' },\n\t{ value: '52081299', label: '---- De peste 165 cm' },\n\t{ value: '52081300', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52081900', label: '-- Alte țesături' },\n\t{ value: '52082100', label: '- Albite' },\n\t{ value: '52082100', label: '-- Cu legătură pânză, cu o greutate de maximum 100 g/m2' },\n\t{ value: '52082110', label: '--- Materiale pentru fabricarea feșelor, a pansamentelor și a tifoanelor medicale' },\n\t{ value: '52082190', label: '--- Altele' },\n\t{ value: '52082200', label: '-- Cu legătură pânză, cu o greutate peste 100 g/m2' },\n\t{ value: '52082216', label: '--- Cu legătură pânză, cu o greutate de peste 100 g/m2, dar maximum 130 g/m2 și cu lățimea' },\n\t{ value: '52082216', label: '---- De maximum 165 cm' },\n\t{ value: '52082219', label: '---- De peste 165 cm' },\n\t{ value: '52082296', label: '--- Cu legătură pânză, cu o greutate peste 130 g/m2 și cu lățimea' },\n\t{ value: '52082296', label: '---- De maximum 165 cm' },\n\t{ value: '52082299', label: '---- De peste 165 cm' },\n\t{ value: '52082300', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52082900', label: '-- Alte țesături' },\n\t{ value: '52083100', label: '- Vopsite' },\n\t{ value: '52083100', label: '-- Cu legătură pânză, cu o greutate de maximum 100 g/m2' },\n\t{ value: '52083200', label: '-- Cu legătură pânză, cu o greutate de peste 100 g/m2' },\n\t{ value: '52083216', label: '--- Cu legătură pânză, cu o greutate de peste 100 g/m2, dar maximum 130 g/m2 și cu lățimea' },\n\t{ value: '52083216', label: '---- De maximum 165 cm' },\n\t{ value: '52083219', label: '---- De peste 165 cm' },\n\t{ value: '52083296', label: '--- Cu legătură pânză, cu o greutate de peste 130 g/m2 și cu lățimea' },\n\t{ value: '52083296', label: '---- De maximum 165 cm' },\n\t{ value: '52083299', label: '---- De peste 165 cm' },\n\t{ value: '52083300', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52083900', label: '-- Alte țesături' },\n\t{ value: '52084100', label: '- Din fire de diferite culori' },\n\t{ value: '52084100', label: '-- Cu legătură pânză, cu o greutate de maximum 100 g/m2' },\n\t{ value: '52084200', label: '-- Cu legătură pânză cu o greutate de peste 100 g/m2' },\n\t{ value: '52084300', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52084900', label: '-- Alte țesături' },\n\t{ value: '52085100', label: '- Imprimate' },\n\t{ value: '52085100', label: '-- Cu legătură pânză, cu o greutate de maximum 100 g/m2' },\n\t{ value: '52085200', label: '-- Cu legătură pânză, cu o greutate de peste 100 g/m2' },\n\t{ value: '52085900', label: '-- Alte țesături' },\n\t{ value: '52085910', label: '--- Cu legătură diagonală sau încrucișată, al căror raport cu legătură este maximum 4' },\n\t{ value: '52085990', label: '--- Altele' },\n\t{ value: '52090000', label: 'Țesături din bumbac, care conțin bumbac minimum 85 % din greutate, având o greutate de peste 200 g/m2' },\n\t{ value: '52091100', label: '- Nealbite' },\n\t{ value: '52091100', label: '-- Cu legătură pânză' },\n\t{ value: '52091200', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52091900', label: '-- Alte țesături' },\n\t{ value: '52092100', label: '- Albite' },\n\t{ value: '52092100', label: '-- Cu legătură pânză' },\n\t{ value: '52092200', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52092900', label: '-- Alte țesături' },\n\t{ value: '52093100', label: '- Vopsite' },\n\t{ value: '52093100', label: '-- Cu legătură pânză' },\n\t{ value: '52093200', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52093900', label: '-- Alte țesături' },\n\t{ value: '52094100', label: '- Din fire de diferite culori' },\n\t{ value: '52094100', label: '-- Cu legătură pânză' },\n\t{ value: '52094200', label: '-- Țesături \"denim\"' },\n\t{ value: '52094300', label: '-- Alte țesături, cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52094900', label: '-- Alte țesături' },\n\t{ value: '52095100', label: '- Imprimate' },\n\t{ value: '52095100', label: '-- Cu legătură pânză' },\n\t{ value: '52095200', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52095900', label: '-- Alte țesături' },\n\t{ value: '52100000', label: 'Țesături din bumbac, care conțin bumbac sub 85 % din greutate, amestecate în principal sau numai cu fibre sintetice sau artificiale, având o greutate de maximum 200 g/m2' },\n\t{ value: '52101100', label: '- Nealbite' },\n\t{ value: '52101100', label: '-- Cu legătură pânză' },\n\t{ value: '52101900', label: '-- Alte țesături' },\n\t{ value: '52102100', label: '- Albite' },\n\t{ value: '52102100', label: '-- Cu legătură pânză' },\n\t{ value: '52102900', label: '-- Alte țesături' },\n\t{ value: '52103100', label: '- Vopsite' },\n\t{ value: '52103100', label: '-- Cu legătură pânză' },\n\t{ value: '52103200', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52103900', label: '-- Alte țesături' },\n\t{ value: '52104100', label: '- Din fire de diferite culori' },\n\t{ value: '52104100', label: '-- Cu legătură pânză' },\n\t{ value: '52104900', label: '-- Alte țesături' },\n\t{ value: '52105100', label: '- Imprimate' },\n\t{ value: '52105100', label: '-- Cu legătură pânză' },\n\t{ value: '52105900', label: '-- Alte țesături' },\n\t{ value: '52110000', label: 'Țesături din bumbac, care conțin bumbac sub 85 % din greutate, amestecate în principal sau numai cu fibre sintetice sau artificiale, având o greutate de peste 200 g/m2' },\n\t{ value: '52111100', label: '- Nealbite' },\n\t{ value: '52111100', label: '-- Cu legătură pânză' },\n\t{ value: '52111200', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52111900', label: '-- Alte țesături' },\n\t{ value: '52112000', label: '- Albite' },\n\t{ value: '52113100', label: '- Vopsite' },\n\t{ value: '52113100', label: '-- Cu legătură pânză' },\n\t{ value: '52113200', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52113900', label: '-- Alte țesături' },\n\t{ value: '52114100', label: '- Din fire de diferite culori' },\n\t{ value: '52114100', label: '-- Cu legătură pânză' },\n\t{ value: '52114200', label: '-- Țesătură \"denim\"' },\n\t{ value: '52114300', label: '-- Alte țesături cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52114900', label: '-- Alte țesături' },\n\t{ value: '52114910', label: '--- Țesături Jacquard' },\n\t{ value: '52114990', label: '--- Altele' },\n\t{ value: '52115100', label: '- Imprimate' },\n\t{ value: '52115100', label: '-- Cu legătură pânză' },\n\t{ value: '52115200', label: '-- Cu legătură diagonală sau încrucișată, al căror raport de legătură este maximum 4' },\n\t{ value: '52115900', label: '-- Alte țesături' },\n\t{ value: '52120000', label: 'Alte țesături din bumbac' },\n\t{ value: '52121100', label: '- Cu o greutate de maximum 200 g/m2' },\n\t{ value: '52121100', label: '-- Nealbite' },\n\t{ value: '52121110', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52121190', label: '--- În altfel de amestecuri' },\n\t{ value: '52121200', label: '-- Albite' },\n\t{ value: '52121210', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52121290', label: '--- În altfel de amestecuri' },\n\t{ value: '52121300', label: '-- Vopsite' },\n\t{ value: '52121310', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52121390', label: '--- În altfel de amestecuri' },\n\t{ value: '52121400', label: '-- Din fire de diferite culori' },\n\t{ value: '52121410', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52121490', label: '--- În altfel de amestecuri' },\n\t{ value: '52121500', label: '-- Imprimate' },\n\t{ value: '52121510', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52121590', label: '--- În altfel de amestecuri' },\n\t{ value: '52122100', label: '- Cu o greutate de peste 200 g/m2' },\n\t{ value: '52122100', label: '-- Nealbite' },\n\t{ value: '52122110', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52122190', label: '--- În altfel de amestecuri' },\n\t{ value: '52122200', label: '-- Albite' },\n\t{ value: '52122210', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52122290', label: '--- În altfel de amestecuri' },\n\t{ value: '52122300', label: '-- Vopsite' },\n\t{ value: '52122310', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52122390', label: '--- În altfel de amestecuri' },\n\t{ value: '52122400', label: '-- Din fire de diferite culori' },\n\t{ value: '52122410', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52122490', label: '--- În altfel de amestecuri' },\n\t{ value: '52122500', label: '-- Imprimate' },\n\t{ value: '52122510', label: '--- În amestec, în principal sau numai cu in' },\n\t{ value: '52122590', label: '--- În altfel de amestecuri' },\n\t{ value: '53000000', label: 'ALTE FIBRE TEXTILE VEGETALE; FIRE DIN HÂRTIE ȘI ȚESĂTURI DIN FIRE DE HÂRTIE' },\n\t{ value: '53010000', label: 'In brut sau prelucrat, dar nefilat; câlți și deșeuri din in (inclusiv deșeuri din fire și destrămătură)' },\n\t{ value: '53011000', label: '- In brut sau topit' },\n\t{ value: '53012100', label: '- In zdrobit, melițat, pieptănat sau altfel prelucrat, dar nefilat' },\n\t{ value: '53012100', label: '-- Zdrobit sau melițat' },\n\t{ value: '53012900', label: '-- Altele' },\n\t{ value: '53013000', label: '- Câlți și deșeuri din in' },\n\t{ value: '53020000', label: 'Cânepă (Cannabis sativa L.) brută sau prelucrată, dar nefilată; câlți și deșeuri din cânepă (inclusiv deșeuri din fire și destrămătură)' },\n\t{ value: '53021000', label: '- Cânepa brută sau topită' },\n\t{ value: '53029000', label: '- Altele' },\n\t{ value: '53030000', label: 'Iută și alte fibre textile liberiene (exceptând inul, cânepa și ramia), brute sau prelucrate, dar nefilate; câlți și deșeuri din aceste fibre (inclusiv deșeuri din fire și destrămătură)' },\n\t{ value: '53031000', label: '- Iută și alte fibre textile liberiene, brute sau topite' },\n\t{ value: '53039000', label: '- Altele' },\n\t{ value: '53050000', label: 'Fibre din nucă de cocos, de abaca (cânepa de Manila sau Musa textilis Nee), ramia sau alte fibre textile vegetale nedenumite și necuprinse în altă parte, brute sau prelucrate, dar nefilate; câlți și deșeuri din aceste fibre (inclusiv deșeuri din fire și destrămătură)' },\n\t{ value: '53060000', label: 'Fire din in' },\n\t{ value: '53061000', label: '- Simple' },\n\t{ value: '53061010', label: '-- Necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '53061010', label: '--- Măsurând minimum 833,3 decitex (maximum 12 numere metrice)' },\n\t{ value: '53061030', label: '--- Măsurând sub 833,3 decitex, dar minimum 277,8 decitex (peste 12 numere metrice dar maximum 36 numere metrice)' },\n\t{ value: '53061050', label: '--- Măsurând sub 277,8 decitex (peste 36 numere metrice)' },\n\t{ value: '53061090', label: '-- Condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '53062000', label: '- Răsucite sau cablate' },\n\t{ value: '53062010', label: '-- Necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '53062090', label: '-- Condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '53070000', label: 'Fire din iută sau din alte fibre textile liberiene de la poziția 5303' },\n\t{ value: '53071000', label: '- Simple' },\n\t{ value: '53072000', label: '- Răsucite sau cablate' },\n\t{ value: '53080000', label: 'Fire din alte fibre textile vegetale; fire din hârtie' },\n\t{ value: '53081000', label: '- Fire din nucă de cocos' },\n\t{ value: '53082000', label: '- Fire din cânepă' },\n\t{ value: '53082010', label: '-- Necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '53082090', label: '-- Condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '53089000', label: '- Altele' },\n\t{ value: '53089012', label: '-- Fire din ramie' },\n\t{ value: '53089012', label: '--- Măsurând minimum 277,8 decitex (maximum 36 numere metrice)' },\n\t{ value: '53089019', label: '--- Măsurând sub 277,8 decitex (peste 36 numere metrice)' },\n\t{ value: '53089050', label: '-- Fire din hârtie' },\n\t{ value: '53089090', label: '-- Altele' },\n\t{ value: '53090000', label: 'Țesături din in' },\n\t{ value: '53091100', label: '- Cu un conținut de in de minimum 85 % din greutate' },\n\t{ value: '53091100', label: '-- Nealbite sau albite' },\n\t{ value: '53091110', label: '--- Nealbite' },\n\t{ value: '53091190', label: '--- Albite' },\n\t{ value: '53091900', label: '-- Altele' },\n\t{ value: '53092100', label: '- Cu un conținut de in de sub 85 % din greutate' },\n\t{ value: '53092100', label: '-- Nealbite sau albite' },\n\t{ value: '53092900', label: '-- Altele' },\n\t{ value: '53100000', label: 'Țesături din iută sau din alte fibre textile liberiene de la poziția 5303' },\n\t{ value: '53101000', label: '- Nealbite' },\n\t{ value: '53101010', label: '-- Cu o lățime de maximum 150 cm' },\n\t{ value: '53101090', label: '-- Cu o lățime de peste 150 cm' },\n\t{ value: '53109000', label: '- Altele' },\n\t{ value: '53110000', label: 'Țesături din alte fibre textile vegetale; țesături din fire de hârtie' },\n\t{ value: '53110010', label: '- Țesături din ramie' },\n\t{ value: '53110090', label: '- Altele' },\n\t{ value: '54000000', label: 'FILAMENTE SINTETICE SAU ARTIFICIALE; BENZI ŞI FORME SIMILARE DIN MATERIALE TEXTILE SINTETICE SAU ARTIFICIALE' },\n\t{ value: '54010000', label: 'Ață de cusut din filamente sintetice sau artificiale, chiar condiționată pentru vânzarea cu amănuntul' },\n\t{ value: '54011000', label: '- Din filamente sintetice' },\n\t{ value: '54011012', label: '-- Necondiționată pentru vânzarea cu amănuntul' },\n\t{ value: '54011012', label: '--- Fire cu miez, denumite core yarn' },\n\t{ value: '54011012', label: '---- Filamente din poliester înfășurate în fibre de bumbac' },\n\t{ value: '54011014', label: '---- Altele' },\n\t{ value: '54011016', label: '--- Altele' },\n\t{ value: '54011016', label: '---- Fire texturate' },\n\t{ value: '54011018', label: '---- Altele' },\n\t{ value: '54011090', label: '-- Condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '54012000', label: '- Din filamente artificiale' },\n\t{ value: '54012010', label: '-- Necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '54012090', label: '-- Condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '54020000', label: 'Fire din filamente sintetice (altele decât ața de cusut), necondiționate pentru vânzarea cu amănuntul, inclusiv monofilamentele sintetice sub 67 decitex' },\n\t{ value: '54021100', label: '- Fire de mare rezistență din nailon sau din alte poliamide, chiar texturate' },\n\t{ value: '54021100', label: '-- Din aramide' },\n\t{ value: '54021900', label: '-- Altele' },\n\t{ value: '54022000', label: '- Fire de mare rezistență din poliesteri, chiar texturate' },\n\t{ value: '54023100', label: '- Fire texturate' },\n\t{ value: '54023100', label: '-- Din nailon sau din alte poliamide cu grosimea firului simplu de maximum 50 tex' },\n\t{ value: '54023200', label: '-- Din nailon sau din alte poliamide, cu grosimea firului simplu de peste 50 tex' },\n\t{ value: '54023300', label: '-- Din poliesteri' },\n\t{ value: '54023400', label: '-- Din polipropilenă' },\n\t{ value: '54023900', label: '-- Altele' },\n\t{ value: '54024400', label: '- Alte fire, simple, nerăsucite sau având maximum 50 răsucituri/m' },\n\t{ value: '54024400', label: '-- Din elastomeri' },\n\t{ value: '54024500', label: '-- Altele, din nailon sau din alte poliamide' },\n\t{ value: '54024600', label: '-- Altele, din poliesteri parțial orientați' },\n\t{ value: '54024700', label: '-- Altele, din poliesteri' },\n\t{ value: '54024800', label: '-- Altele, din polipropilenă' },\n\t{ value: '54024900', label: '-- Altele' },\n\t{ value: '54025100', label: '- Alte fire, simple, având peste 50 de răsucituri/m' },\n\t{ value: '54025100', label: '-- Din nailon sau din alte poliamide' },\n\t{ value: '54025200', label: '-- Din poliesteri' },\n\t{ value: '54025300', label: '-- Din polipropilenă' },\n\t{ value: '54025900', label: '-- Altele' },\n\t{ value: '54026100', label: '- Alte fire, răsucite sau cablate' },\n\t{ value: '54026100', label: '-- Din nailon sau din alte poliamide' },\n\t{ value: '54026200', label: '-- Din poliesteri' },\n\t{ value: '54026300', label: '-- Din polipropilenă' },\n\t{ value: '54026900', label: '-- Altele' },\n\t{ value: '54030000', label: 'Fire din filamente artificiale (altele decât ața de cusut), necondiționate pentru vânzarea cu amănuntul, inclusiv monofilamentele artificiale având sub 67 decitex' },\n\t{ value: '54031000', label: '- Fire de mare rezistență din filamente de viscoză' },\n\t{ value: '54033100', label: '- Alte fire, simple' },\n\t{ value: '54033100', label: '-- Din filamente de viscoză, nerăsucite sau având maximum 120 răsucituri/m' },\n\t{ value: '54033200', label: '-- Din filamente de viscoză, având peste 120 de răsucituri/m' },\n\t{ value: '54033300', label: '-- Din acetat de celuloză' },\n\t{ value: '54033900', label: '-- Altele' },\n\t{ value: '54034100', label: '- Alte fire, răsucite sau cablate' },\n\t{ value: '54034100', label: '-- Din filamente de viscoză' },\n\t{ value: '54034200', label: '-- Din acetat de celuloză' },\n\t{ value: '54034900', label: '-- Altele' },\n\t{ value: '54040000', label: 'Monofilamente sintetice de minimum 67 decitex, care au cea mai mare dimensiune a secțiunii transversale de maximum 1 mm; benzi și forme similare (de exemplu, paie artificiale), din materiale textile sintetice, cu o lățime aparentă de maximum 5 mm' },\n\t{ value: '54041100', label: '- Monofilamente' },\n\t{ value: '54041100', label: '-- Din elastomeri' },\n\t{ value: '54041200', label: '-- Altele, din polipropilenă' },\n\t{ value: '54041900', label: '-- Altele' },\n\t{ value: '54049000', label: '- Altele' },\n\t{ value: '54049010', label: '-- Din polipropilenă' },\n\t{ value: '54049090', label: '-- Altele' },\n\t{ value: '54050000', label: 'Monofilamente artificiale de minimum 67 decitex, care au cea mai mare dimensiune a secțiunii transversale de maximum 1 mm; benzi și forme similare (de exemplu, pai artificial), din materiale textile artificiale, cu o lățime aparentă de maximum 5 mm' },\n\t{ value: '54060000', label: 'Fire din filamente sintetice sau artificiale (altele decât ața de cusut), condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '54070000', label: 'Țesături din fire de filamente sintetice, inclusiv țesăturile obținute din produsele de la poziția 5404' },\n\t{ value: '54071000', label: '- Țesături obținute din fire de mare rezistență din nailon sau din alte poliamide sau poliesteri' },\n\t{ value: '54072000', label: '- Țesături obținute din benzi sau forme similare' },\n\t{ value: '54072011', label: '-- Din polietilenă sau din polipropilenă, cu lățimea' },\n\t{ value: '54072011', label: '--- Sub 3 m' },\n\t{ value: '54072019', label: '--- De minimum 3 m' },\n\t{ value: '54072090', label: '-- Altele' },\n\t{ value: '54073000', label: '- \"Țesături\" prevăzute la nota 9 de la secțiunea XI' },\n\t{ value: '54074100', label: '- Alte țesături, care conțin minimum 85 % din greutate filamente din nailon sau din alte poliamide' },\n\t{ value: '54074100', label: '-- Nealbite sau albite' },\n\t{ value: '54074200', label: '-- Vopsite' },\n\t{ value: '54074300', label: '-- Din fire de diferite culori' },\n\t{ value: '54074400', label: '-- Imprimate' },\n\t{ value: '54075100', label: '- Alte țesături, care conțin minimum 85 % din greutate filamente din poliester texturat' },\n\t{ value: '54075100', label: '-- Nealbite sau albite' },\n\t{ value: '54075200', label: '-- Vopsite' },\n\t{ value: '54075300', label: '-- Din fire de diferite culori' },\n\t{ value: '54075400', label: '-- Imprimate' },\n\t{ value: '54076100', label: '- Alte țesături care conțin minimum 85 % din greutate filamente din poliester' },\n\t{ value: '54076100', label: '-- Care conțin minimum 85 % din greutate filamente netexturate din poliester' },\n\t{ value: '54076110', label: '--- Nealbite sau albite' },\n\t{ value: '54076130', label: '--- Vopsite' },\n\t{ value: '54076150', label: '--- Din fire de diferite culori' },\n\t{ value: '54076190', label: '--- Imprimate' },\n\t{ value: '54076900', label: '-- Altele' },\n\t{ value: '54076910', label: '--- Nealbite sau albite' },\n\t{ value: '54076990', label: '--- Altele' },\n\t{ value: '54077100', label: '- Alte țesături, care conțin minimum 85 % din greutate filamente sintetice' },\n\t{ value: '54077100', label: '-- Nealbite sau albite' },\n\t{ value: '54077200', label: '-- Vopsite' },\n\t{ value: '54077300', label: '-- Din fire de diferite culori' },\n\t{ value: '54077400', label: '-- Imprimate' },\n\t{ value: '54078100', label: '- Alte țesături, care conțin sub 85 % din greutate filamente sintetice amestecate în principal sau numai cu bumbac' },\n\t{ value: '54078100', label: '-- Nealbite sau albite' },\n\t{ value: '54078200', label: '-- Vopsite' },\n\t{ value: '54078300', label: '-- Din fire de diferite culori' },\n\t{ value: '54078400', label: '-- Imprimate' },\n\t{ value: '54079100', label: '- Alte țesături' },\n\t{ value: '54079100', label: '-- Nealbite sau albite' },\n\t{ value: '54079200', label: '-- Vopsite' },\n\t{ value: '54079300', label: '-- Din fire de diferite culori' },\n\t{ value: '54079400', label: '-- Imprimate' },\n\t{ value: '54080000', label: 'Țesături din fire de filamente artificiale, inclusiv țesături obținute din produsele menționate la poziția 5405' },\n\t{ value: '54081000', label: '- Țesături obținute din fire de mare tenacitate din filamente de viscoză' },\n\t{ value: '54082100', label: '- Alte țesături, care conțin minimum 85 % din greutate filamente sau benzi sau alte forme similare, artificiale' },\n\t{ value: '54082100', label: '-- Nealbite sau albite' },\n\t{ value: '54082200', label: '-- Vopsite' },\n\t{ value: '54082210', label: '--- Cu lățimea de peste 135 cm, dar de maximum 155 cm, cu legătură pânză, diagonală, diagonală încrucișată sau satin' },\n\t{ value: '54082290', label: '--- Altele' },\n\t{ value: '54082300', label: '-- Din fire de diferite culori' },\n\t{ value: '54082400', label: '-- Imprimate' },\n\t{ value: '54083100', label: '- Alte țesături' },\n\t{ value: '54083100', label: '-- Nealbite sau albite' },\n\t{ value: '54083200', label: '-- Vopsite' },\n\t{ value: '54083300', label: '-- Din fire de diferite culori' },\n\t{ value: '54083400', label: '-- Imprimate' },\n\t{ value: '55000000', label: 'FIBRE SINTETICE SAU ARTIFICIALE DISCONTINUE' },\n\t{ value: '55010000', label: 'Cabluri din filamente sintetice' },\n\t{ value: '55011100', label: '- Din nailon sau din alte poliamide' },\n\t{ value: '55011100', label: '-- Din aramide' },\n\t{ value: '55011900', label: '-- Altele' },\n\t{ value: '55012000', label: '- Din poliesteri' },\n\t{ value: '55013000', label: '- Acrilice sau modacrilice' },\n\t{ value: '55014000', label: '- Din polipropilenă' },\n\t{ value: '55019000', label: '- Altele' },\n\t{ value: '55020000', label: 'Cabluri din filamente artificiale' },\n\t{ value: '55021000', label: '- Din acetat de celuloză' },\n\t{ value: '55029000', label: '- Altele' },\n\t{ value: '55030000', label: 'Fibre sintetice discontinue, necardate și nepieptănate și nici altfel prelucrate pentru filare' },\n\t{ value: '55031100', label: '- Din nailon sau din alte poliamide' },\n\t{ value: '55031100', label: '-- Din aramide' },\n\t{ value: '55031900', label: '-- Altele' },\n\t{ value: '55032000', label: '- Din poliesteri' },\n\t{ value: '55033000', label: '- Acrilice sau modacrilice' },\n\t{ value: '55034000', label: '- Din polipropilenă' },\n\t{ value: '55039000', label: '- Altele' },\n\t{ value: '55040000', label: 'Fibre artificiale discontinue, necardate și nepieptănate, nici altfel prelucrate pentru filare' },\n\t{ value: '55041000', label: '- Din viscoză' },\n\t{ value: '55049000', label: '- Altele' },\n\t{ value: '55050000', label: 'Deșeuri din fibre sintetice sau artificiale (inclusiv pieptănătură, deșeuri de fire și destrămătură)' },\n\t{ value: '55051000', label: '- Din fibre sintetice' },\n\t{ value: '55051010', label: '-- Din nailon sau din alte poliamide' },\n\t{ value: '55051030', label: '-- Din poliesteri' },\n\t{ value: '55051050', label: '-- Acrilice sau modacrilice' },\n\t{ value: '55051070', label: '-- Din polipropilenă' },\n\t{ value: '55051090', label: '-- Altele' },\n\t{ value: '55052000', label: '- Din fibre artificiale' },\n\t{ value: '55060000', label: 'Fibre sintetice discontinue, cardate pieptănate sau altfel prelucrate pentru filare' },\n\t{ value: '55061000', label: '- Din nailon sau din alte poliamide' },\n\t{ value: '55062000', label: '- Din poliesteri' },\n\t{ value: '55063000', label: '- Acrilice sau modacrilice' },\n\t{ value: '55064000', label: '- Din polipropilenă' },\n\t{ value: '55069000', label: '- Altele' },\n\t{ value: '55070000', label: 'Fibre artificiale discontinue, cardate, pieptănate sau altfel prelucrate pentru filare' },\n\t{ value: '55080000', label: 'Ață de cusut din fibre sintetice sau artificiale discontinue, chiar condiționată pentru vânzarea cu amănuntul' },\n\t{ value: '55081000', label: '- Din fibre sintetice discontinue' },\n\t{ value: '55081010', label: '-- Necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '55081090', label: '-- Condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '55082000', label: '- Din fibre artificiale discontinue' },\n\t{ value: '55082010', label: '-- Necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '55082090', label: '-- Condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '55090000', label: 'Fire din fibre sintetice discontinue (altele decât ața de cusut), necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '55091100', label: '- Care conțin minimum 85 % din greutate fibre discontinue din nailon sau din alte poliamide' },\n\t{ value: '55091100', label: '-- Simple' },\n\t{ value: '55091200', label: '-- Răsucite sau cablate' },\n\t{ value: '55092100', label: '- Care conțin minimum 85 % din greutate fibre discontinue din poliester' },\n\t{ value: '55092100', label: '-- Simple' },\n\t{ value: '55092200', label: '-- Răsucite sau cablate' },\n\t{ value: '55093100', label: '- Care conțin minimum 85 % din greutate fibre discontinue acrilice sau modacrilice' },\n\t{ value: '55093100', label: '-- Simple' },\n\t{ value: '55093200', label: '-- Răsucite sau cablate' },\n\t{ value: '55094100', label: '- Alte fire, care conțin minimum 85 % din greutate fibre sintetice discontinue' },\n\t{ value: '55094100', label: '-- Simple' },\n\t{ value: '55094200', label: '-- Răsucite sau cablate' },\n\t{ value: '55095100', label: '- Alte fire din fibre discontinue de poliester' },\n\t{ value: '55095100', label: '-- Amestecate în principal sau numai cu fibre artificiale discontinue' },\n\t{ value: '55095200', label: '-- Amestecate în principal sau numai cu lână sau păr fin de animale' },\n\t{ value: '55095300', label: '-- Amestecate în principal sau numai cu bumbac' },\n\t{ value: '55095900', label: '-- Altele' },\n\t{ value: '55096100', label: '- Alte fire din fibre discontinue acrilice sau modacrilice' },\n\t{ value: '55096100', label: '-- Amestecate în principal sau numai cu lână sau cu păr fin de animale' },\n\t{ value: '55096200', label: '-- Amestecate în principal sau numai cu bumbac' },\n\t{ value: '55096900', label: '-- Altele' },\n\t{ value: '55099100', label: '- Alte fire' },\n\t{ value: '55099100', label: '-- Amestecate în principal sau numai cu lână sau păr fin de animale' },\n\t{ value: '55099200', label: '-- Amestecate în principal sau numai cu bumbac' },\n\t{ value: '55099900', label: '-- Altele' },\n\t{ value: '55100000', label: 'Fire din fibre artificiale discontinue (altele decât ața de cusut), necondiționate pentru vânzarea cu amănuntul' },\n\t{ value: '55101100', label: '- Care conțin minimum 85 % din greutate fibre artificiale discontinue' },\n\t{ value: '55101100', label: '-- Simple' },\n\t{ value: '55101200', label: '-- Răsucite sau cablate' },\n\t{ value: '55102000', label: '- Alte fire, amestecate în principal sau numai cu lână sau păr fin de animale' },\n\t{ value: '55103000', label: '- Alte fire, amestecate în principal sau numai cu bumbac' },\n\t{ value: '55109000', label: '- Alte fire' },\n\t{ value: '55110000', label: 'Fire din fibre sintetice sau artificiale discontinue (altele decât ața de cusut), condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '55111000', label: '- Din fibre sintetice discontinue, care conțin minimum 85 % din greutate astfel de fibre' },\n\t{ value: '55112000', label: '- Din fibre sintetice discontinue, care conțin sub 85 % din greutate astfel de fibre' },\n\t{ value: '55113000', label: '- Din fibre artificiale discontinue' },\n\t{ value: '55120000', label: 'Țesături din fibre sintetice discontinue care conțin minimum 85 % din greutate fibre sintetice discontinue' },\n\t{ value: '55121100', label: '- Care conțin minimum 85 % din greutate fibre discontinue din poliester' },\n\t{ value: '55121100', label: '-- Nealbite sau albite' },\n\t{ value: '55121900', label: '-- Altele' },\n\t{ value: '55121910', label: '--- Imprimate' },\n\t{ value: '55121990', label: '--- Altele' },\n\t{ value: '55122100', label: '- Care conțin minimum 85 % din greutate fibre discontinue acrilice sau modacrilice' },\n\t{ value: '55122100', label: '-- Nealbite sau albite' },\n\t{ value: '55122900', label: '-- Altele' },\n\t{ value: '55122910', label: '--- Imprimate' },\n\t{ value: '55122990', label: '--- Altele' },\n\t{ value: '55129100', label: '- Altele' },\n\t{ value: '55129100', label: '-- Nealbite sau albite' },\n\t{ value: '55129900', label: '-- Altele' },\n\t{ value: '55129910', label: '--- Imprimate' },\n\t{ value: '55129990', label: '--- Altele' },\n\t{ value: '55130000', label: 'Țesături din fibre sintetice discontinue, care conțin sub 85 % din greutate astfel de fibre, amestecate în principal sau numai cu bumbac, având o greutate de maximum 170 g/m2' },\n\t{ value: '55131100', label: '- Nealbite sau albite' },\n\t{ value: '55131100', label: '-- Din fibre discontinue de poliester, cu legătură pânză' },\n\t{ value: '55131120', label: '--- Cu o lățime de maximum 165 cm' },\n\t{ value: '55131190', label: '--- Cu o lățime de peste 165 cm' },\n\t{ value: '55131200', label: '-- Din fibre discontinue de poliester, cu legătură diagonală sau încrucișată, al căror raport de legătură este de maximum 4' },\n\t{ value: '55131300', label: '-- Alte țesături din fibre discontinue de poliester' },\n\t{ value: '55131900', label: '-- Alte țesături' },\n\t{ value: '55132100', label: '- Vopsite' },\n\t{ value: '55132100', label: '-- Din fibre discontinue de poliester, cu legătură pânză' },\n\t{ value: '55132300', label: '-- Alte țesături din fibre discontinue de poliester' },\n\t{ value: '55132310', label: '--- Cu legătură diagonală sau încrucișată, al căror raport de legătură este de maximum 4' },\n\t{ value: '55132390', label: '--- Altele' },\n\t{ value: '55132900', label: '-- Alte țesături' },\n\t{ value: '55133100', label: '- Din fibre de diferite culori' },\n\t{ value: '55133100', label: '-- Din fibre discontinue de poliester, cu legătură pânză' },\n\t{ value: '55133900', label: '-- Alte țesături' },\n\t{ value: '55134100', label: '- Imprimate' },\n\t{ value: '55134100', label: '-- Din fibre discontinue de poliester, cu legătură pânză' },\n\t{ value: '55134900', label: '-- Alte țesături' },\n\t{ value: '55140000', label: 'Țesături din fibre sintetice discontinue, care conțin sub 85 % din greutate astfel de fibre, amestecate în principal sau numai cu bumbac, având o greutate de peste 170 g/m2' },\n\t{ value: '55141100', label: '- Nealbite sau albite' },\n\t{ value: '55141100', label: '-- Din fibre discontinue de poliester, cu legătură pânză' },\n\t{ value: '55141200', label: '-- Din fibre discontinue de poliester, cu legătură diagonală sau încrucișată, al căror raport de legătură este de maximum 4' },\n\t{ value: '55141900', label: '-- Alte țesături' },\n\t{ value: '55141910', label: '--- Din fibre discontinue de poliester' },\n\t{ value: '55141990', label: '--- Altele' },\n\t{ value: '55142100', label: '- Vopsite' },\n\t{ value: '55142100', label: '-- Din fibre discontinue de poliester, cu legătură pânză' },\n\t{ value: '55142200', label: '-- Din fibre discontinue de poliester, cu legătură diagonală sau încrucișată, al căror raport de legătură este de maximum 4' },\n\t{ value: '55142300', label: '-- Alte țesături din fibre discontinue de poliester' },\n\t{ value: '55142900', label: '-- Alte țesături' },\n\t{ value: '55143000', label: '- Din fibre de diferite culori' },\n\t{ value: '55143010', label: '-- Din fibre discontinue de poliester, cu legătură pânză' },\n\t{ value: '55143030', label: '-- Din fibre discontinue de poliester, cu legătura diagonală sau încrucișată, al căror raport de legătură este de maximum 4' },\n\t{ value: '55143050', label: '-- Alte țesături din fibre discontinue de poliester' },\n\t{ value: '55143090', label: '-- Alte țesături' },\n\t{ value: '55144100', label: '- Imprimate' },\n\t{ value: '55144100', label: '-- Din fibre discontinue de poliester, cu legătură pânză' },\n\t{ value: '55144200', label: '-- Din fibre discontinue de poliester, cu legătură diagonală sau încrucișată, al căror raport de legătură este de maximum 4' },\n\t{ value: '55144300', label: '-- Alte țesături din fibre discontinue de poliester' },\n\t{ value: '55144900', label: '-- Alte țesături' },\n\t{ value: '55150000', label: 'Alte țesături din fibre sintetice discontinue' },\n\t{ value: '55151100', label: '- Din fibre discontinue de poliester' },\n\t{ value: '55151100', label: '-- Amestecate în principal sau numai cu fibre discontinue de viscoză' },\n\t{ value: '55151110', label: '--- Nealbite sau albite' },\n\t{ value: '55151130', label: '--- Imprimate' },\n\t{ value: '55151190', label: '--- Altele' },\n\t{ value: '55151200', label: '-- Amestecate în principal sau numai cu filamente sintetice sau artificiale' },\n\t{ value: '55151210', label: '--- Nealbite sau albite' },\n\t{ value: '55151230', label: '--- Imprimate' },\n\t{ value: '55151290', label: '--- Altele' },\n\t{ value: '55151300', label: '-- Amestecate în principal sau numai cu lână sau păr fin de animale' },\n\t{ value: '55151311', label: '--- Amestecate în principal sau numai cu lână sau păr fin de animale, cardate' },\n\t{ value: '55151311', label: '---- Nealbite sau albite' },\n\t{ value: '55151319', label: '---- Altele' },\n\t{ value: '55151391', label: '--- Amestecate în principal sau numai cu lână sau păr fin de animale, pieptănate' },\n\t{ value: '55151391', label: '---- Nealbite sau albite' },\n\t{ value: '55151399', label: '---- Altele' },\n\t{ value: '55151900', label: '-- Altele' },\n\t{ value: '55151910', label: '--- Nealbite sau albite' },\n\t{ value: '55151930', label: '--- Imprimate' },\n\t{ value: '55151990', label: '--- Altele' },\n\t{ value: '55152100', label: '- Din fibre discontinue acrilice sau modacrilice' },\n\t{ value: '55152100', label: '-- Amestecate în principal sau numai cu filamente sintetice sau artificiale' },\n\t{ value: '55152110', label: '--- Nealbite sau albite' },\n\t{ value: '55152130', label: '--- Imprimate' },\n\t{ value: '55152190', label: '--- Altele' },\n\t{ value: '55152200', label: '-- Amestecate în principal sau numai cu lână sau păr fin de animale' },\n\t{ value: '55152211', label: '--- Amestecate în principal sau numai cu lână sau păr fin de animale, cardate' },\n\t{ value: '55152211', label: '---- Nealbite sau albite' },\n\t{ value: '55152219', label: '---- Altele' },\n\t{ value: '55152291', label: '--- Amestecate în principal sau numai cu lână sau păr fin de animale, pieptănate' },\n\t{ value: '55152291', label: '---- Nealbite sau albite' },\n\t{ value: '55152299', label: '---- Altele' },\n\t{ value: '55152900', label: '-- Altele' },\n\t{ value: '55159100', label: '- Alte țesături' },\n\t{ value: '55159100', label: '-- Amestecate în principal sau numai cu filamente sintetice sau artificiale' },\n\t{ value: '55159110', label: '--- Nealbite sau albite' },\n\t{ value: '55159130', label: '--- Imprimate' },\n\t{ value: '55159190', label: '--- Altele' },\n\t{ value: '55159900', label: '-- Altele' },\n\t{ value: '55159920', label: '--- Nealbite sau albite' },\n\t{ value: '55159940', label: '--- Imprimate' },\n\t{ value: '55159980', label: '--- Altele' },\n\t{ value: '55160000', label: 'Țesături din fibre artificiale discontinue' },\n\t{ value: '55161100', label: '- Care conțin minimum 85 % din greutate fibre artificiale discontinue' },\n\t{ value: '55161100', label: '-- Nealbite sau albite' },\n\t{ value: '55161200', label: '-- Vopsite' },\n\t{ value: '55161300', label: '-- Din fire de diferite culori' },\n\t{ value: '55161400', label: '-- Imprimate' },\n\t{ value: '55162100', label: '- Care conțin sub 85 % din greutate fibre artificiale discontinue, amestecate în principal sau numai cu filamente sintetice sau artificiale' },\n\t{ value: '55162100', label: '-- Nealbite sau albite' },\n\t{ value: '55162200', label: '-- Vopsite' },\n\t{ value: '55162300', label: '-- Din fire de diferite culori' },\n\t{ value: '55162310', label: '--- Țesături Jacquard cu o lățime de minimum 140 cm (pânză de saltele)' },\n\t{ value: '55162390', label: '--- Altele' },\n\t{ value: '55162400', label: '-- Imprimate' },\n\t{ value: '55163100', label: '- Care conțin sub 85 % din greutate fire artificiale discontinue, amestecate în principal sau numai cu lână sau păr fin de animale' },\n\t{ value: '55163100', label: '-- Nealbite sau albite' },\n\t{ value: '55163200', label: '-- Vopsite' },\n\t{ value: '55163300', label: '-- Din fire de diferite culori' },\n\t{ value: '55163400', label: '-- Imprimate' },\n\t{ value: '55164100', label: '- Care conțin sub 85 % din greutate fibre artificiale discontinue, amestecate în principal sau numai cu bumbac' },\n\t{ value: '55164100', label: '-- Nealbite sau albite' },\n\t{ value: '55164200', label: '-- Vopsite' },\n\t{ value: '55164300', label: '-- Din fire de diferite culori' },\n\t{ value: '55164400', label: '-- Imprimate' },\n\t{ value: '55169100', label: '- Altele' },\n\t{ value: '55169100', label: '-- Nealbite sau albite' },\n\t{ value: '55169200', label: '-- Vopsite' },\n\t{ value: '55169300', label: '-- Din fire de diferite culori' },\n\t{ value: '55169400', label: '-- Imprimate' },\n\t{ value: '56000000', label: 'VATĂ, PÂSLĂ ȘI MATERIALE NEȚESUTE; FIRE SPECIALE; SFORI, FUNII, FRÂNGHII, ȘI ARTICOLE DIN ACESTEA' },\n\t{ value: '56010000', label: 'Vată din materiale textile și articole din aceasta; fibre textile cu o lungime de maximum 5 mm (fire tunse de pe postav), noduri și nopeuri (butoni) din materiale textile' },\n\t{ value: '56012100', label: '- Vată din materiale textile și articole din aceasta' },\n\t{ value: '56012100', label: '-- Din bumbac' },\n\t{ value: '56012110', label: '--- Hidrofilă' },\n\t{ value: '56012190', label: '--- Altele' },\n\t{ value: '56012200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '56012210', label: '--- Rulouri cu un diametru de maximum 8 mm' },\n\t{ value: '56012290', label: '--- Altele' },\n\t{ value: '56012900', label: '-- Altele' },\n\t{ value: '56013000', label: '- Fire tunse de pe postav, noduri și nopeuri (butoni) din materiale textile' },\n\t{ value: '56020000', label: 'Pâslă, chiar impregnată, îmbrăcată, acoperită sau stratificată' },\n\t{ value: '56021000', label: '- Pâslă compactizată cu plăci cu ace și produse cusute-tricotate' },\n\t{ value: '56021011', label: '-- Neimpregnate, neîmbrăcate, neacoperite, nestratificate' },\n\t{ value: '56021011', label: '--- Pâslă compactizată cu plăci cu ace' },\n\t{ value: '56021011', label: '---- Din iută sau din altfel de fibre textile liberiene de la poziția 5303' },\n\t{ value: '56021019', label: '---- Din alte materiale textile' },\n\t{ value: '56021031', label: '--- Produse cusute-tricotate' },\n\t{ value: '56021031', label: '---- Din lână sau păr fin de animale' },\n\t{ value: '56021038', label: '---- Din alte materiale textile' },\n\t{ value: '56021090', label: '-- Impregnate, îmbrăcate, acoperite sau stratificate' },\n\t{ value: '56022100', label: '- Alte pâsle, neimpregnate, neîmbrăcate, neacoperite și nestratificate' },\n\t{ value: '56022100', label: '-- Din lână sau din păr fin de animale' },\n\t{ value: '56022900', label: '-- Din alte materiale textile' },\n\t{ value: '56029000', label: '- Altele' },\n\t{ value: '56030000', label: 'Articole nețesute, chiar impregnate, îmbrăcate, acoperite sau stratificate' },\n\t{ value: '56031100', label: '- Din filamente sintetice sau artificiale' },\n\t{ value: '56031100', label: '-- Cu o greutate de maximum 25 g/m2' },\n\t{ value: '56031110', label: '--- Îmbrăcate sau acoperite' },\n\t{ value: '56031190', label: '--- Altele' },\n\t{ value: '56031200', label: '-- Cu o greutate de peste 25 g/m2, dar de maximum 70 g/m2' },\n\t{ value: '56031210', label: '--- Îmbrăcate sau acoperite' },\n\t{ value: '56031290', label: '--- Altele' },\n\t{ value: '56031300', label: '-- Cu o greutate de peste 70 g/m2, dar de maximum 150 g/m2' },\n\t{ value: '56031310', label: '--- Îmbrăcate sau acoperite' },\n\t{ value: '56031390', label: '--- Altele' },\n\t{ value: '56031400', label: '-- Cu greutatea de peste 150 g/m2' },\n\t{ value: '56031410', label: '--- Îmbrăcate sau acoperite' },\n\t{ value: '56031490', label: '--- Altele' },\n\t{ value: '56039100', label: '- Altele' },\n\t{ value: '56039100', label: '-- Cu greutatea de maximum 25 g/m2' },\n\t{ value: '56039110', label: '--- Îmbrăcate sau acoperite' },\n\t{ value: '56039190', label: '--- Altele' },\n\t{ value: '56039200', label: '-- Cu greutatea de peste 25 g/m2, dar de maximum 70 g/m2' },\n\t{ value: '56039210', label: '--- Îmbrăcate sau acoperite' },\n\t{ value: '56039290', label: '--- Altele' },\n\t{ value: '56039300', label: '-- Cu greutatea de peste 70 g/m2, dar de maximum 150 g/m2' },\n\t{ value: '56039310', label: '--- Îmbrăcate sau acoperite' },\n\t{ value: '56039390', label: '--- Altele' },\n\t{ value: '56039400', label: '-- Cu greutatea de peste 150 g/m2' },\n\t{ value: '56039410', label: '--- Îmbrăcate sau acoperite' },\n\t{ value: '56039490', label: '--- Altele' },\n\t{ value: '56040000', label: 'Fire și corzi din cauciuc, acoperite cu materiale textile; fire textile, benzi și forme similare de la poziția 5404 sau 5405, impregnate, îmbrăcate, acoperite sau învelite cu cauciuc sau material plastic' },\n\t{ value: '56041000', label: '- Fire și corzi din cauciuc, acoperite cu materiale textile' },\n\t{ value: '56049000', label: '- Altele' },\n\t{ value: '56049010', label: '-- Fire de mare tenacitate din poliester, din nailon sau din alte poliamide sau din viscoză, impregnate sau îmbrăcate' },\n\t{ value: '56049090', label: '-- Altele' },\n\t{ value: '56050000', label: 'Fire metalizate, chiar \"îmbrăcate\", constituite din fire textile, benzi sau forme similare de la poziția 5404 sau 5405, combinate cu metal sub formă de fire, benzi sau pulbere, sau acoperite cu metal' },\n\t{ value: '56060000', label: 'Fire \"îmbrăcate\", benzi și forme similare de la poziția 5404 sau 5405, \"îmbrăcate\", altele decât cele de la poziția 5605 și altele decât firele de păr de cal \"îmbrăcate\"); fire tip chenille (\"omidă\"); fire \"cu bucleuri\"' },\n\t{ value: '56060010', label: '- Fire \"cu bucleuri\"' },\n\t{ value: '56060091', label: '- Altele' },\n\t{ value: '56060091', label: '-- Fire \"îmbrăcate\"' },\n\t{ value: '56060099', label: '-- Altele' },\n\t{ value: '56070000', label: 'Sfori, funii și frânghii, împletite sau nu, chiar impregnate, îmbrăcate, acoperite sau învelite cu cauciuc sau material plastic' },\n\t{ value: '56072100', label: '- Din sisal sau alte fibre textile din genul Agave' },\n\t{ value: '56072100', label: '-- Sfori de legat' },\n\t{ value: '56072900', label: '-- Altele' },\n\t{ value: '56074100', label: '- Din polietilenă sau polipropilenă' },\n\t{ value: '56074100', label: '-- Sfori pentru legat' },\n\t{ value: '56074900', label: '-- Altele' },\n\t{ value: '56074911', label: '--- Măsurând peste 50 000 decitex (5 g/m)' },\n\t{ value: '56074911', label: '---- Împletite' },\n\t{ value: '56074919', label: '---- Altele' },\n\t{ value: '56074990', label: '--- Măsurând maximum 50 000 decitex (5 g/m)' },\n\t{ value: '56075000', label: '- Din alte fibre sintetice' },\n\t{ value: '56075011', label: '-- Din nailon sau din alte poliamide sau din poliesteri' },\n\t{ value: '56075011', label: '--- Măsurând peste 50 000 decitex (5 g/m)' },\n\t{ value: '56075011', label: '---- Împletite' },\n\t{ value: '56075019', label: '---- Altele' },\n\t{ value: '56075030', label: '--- Măsurând maximum 50 000 decitex (5 g/m)' },\n\t{ value: '56075090', label: '-- Din alte fibre sintetice' },\n\t{ value: '56079000', label: '- Altele' },\n\t{ value: '56079020', label: '-- Din abaca (cânepă de Manila sau Musa textilis Nee) sau alte fibre (din frunze) dure; din iută sau din alte fibre textile liberiene de la poziția 5303' },\n\t{ value: '56079090', label: '-- Altele' },\n\t{ value: '56080000', label: 'Plase cu ochiuri înnodate, din sfori, funii sau frânghii; plase confecționate pentru pescuit și alte plase confecționate din materiale textile' },\n\t{ value: '56081100', label: '- Din materiale textile sintetice sau artificiale' },\n\t{ value: '56081100', label: '-- Plase confecționate pentru pescuit' },\n\t{ value: '56081120', label: '--- Din sfori, funii sau frânghii' },\n\t{ value: '56081180', label: '--- Altele' },\n\t{ value: '56081900', label: '-- Altele' },\n\t{ value: '56081911', label: '--- Plase confecționate' },\n\t{ value: '56081911', label: '---- Din nailon sau din alte poliamide' },\n\t{ value: '56081911', label: '----- Din sfori, funii sau frânghii' },\n\t{ value: '56081919', label: '----- Altele' },\n\t{ value: '56081930', label: '---- Altele' },\n\t{ value: '56081990', label: '--- Altele' },\n\t{ value: '56089000', label: '- Altele' },\n\t{ value: '56090000', label: 'Articole din fire, benzi sau forme similare de la poziția 5404 sau 5405, sfori, funii sau frânghii, nedenumite și necuprinse în altă parte' },\n\t{ value: '57000000', label: 'COVOARE ȘI ALTE ACOPERITOARE DE PODEA DIN MATERIALE TEXTILE' },\n\t{ value: '57010000', label: 'Covoare și alte acoperitoare de podea din materiale textile, cu puncte înnodate sau înfășurate, chiar confecționate' },\n\t{ value: '57011000', label: '- Din lână sau din păr fin de animale' },\n\t{ value: '57011010', label: '-- Cu un conținut de mătase sau de deșeuri de mătase (altele decât pieptănătura de mătase) de peste 10 % din greutatea totală' },\n\t{ value: '57011090', label: '-- Altele' },\n\t{ value: '57019000', label: '- Din alte materiale textile' },\n\t{ value: '57019010', label: '-- Din mătase, deșeuri de mătase (altele decât pieptănătura de mătase), fibre sintetice, fire de la poziția 5605 sau din materiale textile care conțin fire de metal' },\n\t{ value: '57019090', label: '-- Din alte materiale textile' },\n\t{ value: '57020000', label: 'Covoare și alte acoperitoare de podea din materiale textile, țesute, fără smocuri sau șuvițe, chiar confecționate, inclusiv covoarele denumite \"Kelim\" sau \"Kilim\", \"Schumacks\" sau \"Soumak\", \"Karamanie\" și covoare similare țesute manual' },\n\t{ value: '57021000', label: '- Covoare denumite \"Kelim\" sau \"Kilim\", \"Schumacks\" sau \"Soumak\", \"Karamanie\" și covoare similare țesute manual' },\n\t{ value: '57022000', label: '- Acoperitoare de podea din fibre de nuci de cocos' },\n\t{ value: '57023100', label: '- Altele, plușate, neconfecționate' },\n\t{ value: '57023100', label: '-- Din lână sau din păr fin de animale' },\n\t{ value: '57023110', label: '--- Covoare Axminster' },\n\t{ value: '57023180', label: '--- Altele' },\n\t{ value: '57023200', label: '-- Din materiale textile sintetice sau artificiale' },\n\t{ value: '57023900', label: '-- Din alte materiale textile' },\n\t{ value: '57024100', label: '- Altele, plușate, confecționate' },\n\t{ value: '57024100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '57024110', label: '--- Covoare Axminster' },\n\t{ value: '57024190', label: '--- Altele' },\n\t{ value: '57024200', label: '-- Din materiale textile sintetice sau artificiale' },\n\t{ value: '57024900', label: '-- Din alte materiale textile' },\n\t{ value: '57025000', label: '- Altele, neplușate, neconfecționate' },\n\t{ value: '57025010', label: '-- Din lână sau din păr fin de animale' },\n\t{ value: '57025031', label: '-- Din alte materiale textile sintetice sau artificiale' },\n\t{ value: '57025031', label: '--- Din polipropilenă' },\n\t{ value: '57025039', label: '--- Altele' },\n\t{ value: '57025090', label: '-- Din alte materiale textile' },\n\t{ value: '57029100', label: '- Altele, neplușate, confecționate' },\n\t{ value: '57029100', label: '-- Din lână sau din păr fin de animale' },\n\t{ value: '57029200', label: '-- Din materiale textile sintetice sau artificiale' },\n\t{ value: '57029210', label: '--- Din polipropilenă' },\n\t{ value: '57029290', label: '--- Altele' },\n\t{ value: '57029900', label: '-- Din alte materiale textile' },\n\t{ value: '57030000', label: 'Covoare și alte acoperitoare de podea din materiale textile (inclusiv gazon), cu smocuri, chiar confecționate' },\n\t{ value: '57031000', label: '- Din lână sau din păr fin de animale' },\n\t{ value: '57032100', label: '- Din nailon sau din alte poliamide' },\n\t{ value: '57032100', label: '-- Gazon' },\n\t{ value: '57032900', label: '-- Altele' },\n\t{ value: '57032910', label: '--- Imprimate' },\n\t{ value: '57032910', label: '---- Covorașe a căror suprafață este de maximum 1 m2' },\n\t{ value: '57032919', label: '---- Altele' },\n\t{ value: '57032991', label: '--- Altele' },\n\t{ value: '57032991', label: '---- Covorașe a căror suprafață este de maximum 1 m2' },\n\t{ value: '57032999', label: '---- Altele' },\n\t{ value: '57033100', label: '- Din alte materiale textile sintetice sau artificiale' },\n\t{ value: '57033100', label: '-- Gazon' },\n\t{ value: '57033900', label: '-- Altele' },\n\t{ value: '57033910', label: '--- Din polipropilenă' },\n\t{ value: '57033910', label: '---- Covorașe a căror suprafață este de maximum 1 m2' },\n\t{ value: '57033919', label: '---- Altele' },\n\t{ value: '57033991', label: '--- Altele' },\n\t{ value: '57033991', label: '---- Covorașe a căror suprafață este de maximum 1 m2' },\n\t{ value: '57033999', label: '---- Altele' },\n\t{ value: '57039000', label: '- Din alte materiale textile' },\n\t{ value: '57039020', label: '-- Covorașe a căror suprafață este de maximum 1 m2' },\n\t{ value: '57039080', label: '-- Altele' },\n\t{ value: '57040000', label: 'Covoare și alte acoperitoare de podea, din pâslă, fără smocuri sau șuvițe, chiar confecționate' },\n\t{ value: '57041000', label: '- Carpete a căror suprafață este de maximum 0,3 m2' },\n\t{ value: '57042000', label: '- Carpete a căror suprafață este de peste 0,3 m2, dar nu mai mult de 1 m2' },\n\t{ value: '57049000', label: '- Altele' },\n\t{ value: '57050000', label: 'Alte covoare și acoperitoare de podea din materiale textile, chiar confecționate' },\n\t{ value: '57050030', label: '- Din materiale textile sintetice sau artificiale' },\n\t{ value: '57050080', label: '- Din alte materiale textile' },\n\t{ value: '58000000', label: 'ȚESĂTURI SPECIALE; ȚESĂTURI CU SMOCURI; DANTELE; TAPISERII; PASMANTERII; BRODERII' },\n\t{ value: '58010000', label: 'Catifele și plușuri țesute și țesături tip chenille (\"omidă\"), altele decât articolele de la poziția 5802 sau 5806' },\n\t{ value: '58011000', label: '- Din lână sau din păr fin de animale' },\n\t{ value: '58012100', label: '- Din bumbac' },\n\t{ value: '58012100', label: '-- Catifele și plușuri de bătătură, netăiate' },\n\t{ value: '58012200', label: '-- Catifele și plușuri de bătătură, tăiate, reiate' },\n\t{ value: '58012300', label: '-- Alte tipuri de catifele și plușuri de bătătură' },\n\t{ value: '58012600', label: '-- Țesături tip chenille (\"omidă\")' },\n\t{ value: '58012700', label: '-- Catifele și plușuri de urzeală' },\n\t{ value: '58013100', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '58013100', label: '-- Catifele și plușuri de bătătură, netăiate' },\n\t{ value: '58013200', label: '-- Catifele și plușuri de bătătură, tăiate, reiate' },\n\t{ value: '58013300', label: '-- Alte catifele și plușuri de bătătură' },\n\t{ value: '58013600', label: '-- Țesături tip chenille (\"omidă\")' },\n\t{ value: '58013700', label: '-- Catifele și plușuri de urzeală' },\n\t{ value: '58019000', label: '- Din alte materiale textile' },\n\t{ value: '58019010', label: '-- Din in' },\n\t{ value: '58019090', label: '-- Altele' },\n\t{ value: '58020000', label: 'Țesături buclate de tip buret (éponge), altele decât articolele de la poziția 5806; suprafețe textile cu smocuri, altele decât produsele de la poziția 5703' },\n\t{ value: '58021000', label: '- Țesături buclate de tip buret (éponge), din bumbac' },\n\t{ value: '58022000', label: '- Țesături buclate de tip buret (éponge), din alte materiale textile' },\n\t{ value: '58023000', label: '- Suprafețe textile cu smocuri' },\n\t{ value: '58030000', label: 'Țesături tip gazeu, altele decât cele de la poziția 5806' },\n\t{ value: '58030010', label: '- Din bumbac' },\n\t{ value: '58030030', label: '- Din mătase sau din deșeuri de mătase' },\n\t{ value: '58030090', label: '- Altele' },\n\t{ value: '58040000', label: 'Tuluri, alte pânze tip tul și țesături cu ochiuri înnodate; dantele din una sau mai multe bucăți, benzi sau motive decorative, altele decât cele de la pozițiile 6002-6006' },\n\t{ value: '58041000', label: '- Tuluri, alte pânze tip tul și țesături cu ochiuri înnodate' },\n\t{ value: '58041010', label: '-- Simple' },\n\t{ value: '58041090', label: '-- Altele' },\n\t{ value: '58042100', label: '- Dantele executate mecanic' },\n\t{ value: '58042100', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '58042900', label: '-- Din alte materiale textile' },\n\t{ value: '58043000', label: '- Dantele executate manual' },\n\t{ value: '58050000', label: 'Tapiserii țesute manual (de tip Gobelin, Flandra, Aubusson, Beauvais și similare) și tapiserii cu acul (de exemplu, cu punct mic, cu cruciulițe), chiar confecționate' },\n\t{ value: '58060000', label: 'Panglici, altele decât articolele de la poziția 5807; panglici fără bătătură, din fire sau fibre paralelizate și lipite (bolduc)' },\n\t{ value: '58061000', label: '- Panglici din catifea, pluș, țesături tip chenille (\"omidă\") sau din ţesături buclate tip buret (éponge)' },\n\t{ value: '58062000', label: '- Alte panglici, care conțin minimum 5 % din greutate fire din elastomeri sau din cauciuc' },\n\t{ value: '58063100', label: '- Alte panglici' },\n\t{ value: '58063100', label: '-- Din bumbac' },\n\t{ value: '58063200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '58063210', label: '--- Cu liziere reale' },\n\t{ value: '58063290', label: '--- Altele' },\n\t{ value: '58063900', label: '-- Din alte materiale textile' },\n\t{ value: '58064000', label: '- Panglici fără bătătură, din fire sau fibre paralelizate și lipite (bolduc)' },\n\t{ value: '58070000', label: 'Etichete, ecusoane și articole similare din materiale textile, sub formă de bucăți, benzi sau decupate, nebrodate' },\n\t{ value: '58071000', label: '- Țesute' },\n\t{ value: '58071010', label: '-- Cu înscrisuri sau motive obținute prin țesere' },\n\t{ value: '58071090', label: '-- Altele' },\n\t{ value: '58079000', label: '- Altele' },\n\t{ value: '58079010', label: '-- Din pâslă sau materiale nețesute' },\n\t{ value: '58079090', label: '-- Altele' },\n\t{ value: '58080000', label: 'Împletituri sub formă de bucăți; articole de pasmanterie și articole ornamentale similare, din una sau mai multe bucăți, fără broderie, altele decât cele croșetate sau tricotate; ciucuri, pampoane și articole similare' },\n\t{ value: '58081000', label: '- Împletituri din una sau mai multe bucăți' },\n\t{ value: '58089000', label: '- Altele' },\n\t{ value: '58090000', label: 'Țesături din fire din metal și țesături din fire metalice sau din fire textile metalizate de la poziția 5605, de tipul celor utilizate pentru îmbrăcăminte, mobilier sau utilizări similare, nedenumite și necuprinse în altă parte' },\n\t{ value: '58100000', label: 'Broderii sub formă de bucăți, benzi sau motive decorative' },\n\t{ value: '58101000', label: '- Broderii prin coroziune (\"chimice\") sau aeriene și broderii cu fond decupat (broderii \"sparte\")' },\n\t{ value: '58101010', label: '-- Cu o valoare de peste 35 €/kg (greutate netă)' },\n\t{ value: '58101090', label: '-- Altele' },\n\t{ value: '58109100', label: '- Alte broderii' },\n\t{ value: '58109100', label: '-- Din bumbac' },\n\t{ value: '58109110', label: '--- Cu o valoare de peste 17,50 €/kg (greutate netă)' },\n\t{ value: '58109190', label: '--- Altele' },\n\t{ value: '58109200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '58109210', label: '--- Cu o valoare de peste 17,50 €/kg (greutate netă)' },\n\t{ value: '58109290', label: '--- Altele' },\n\t{ value: '58109900', label: '-- Din alte materiale textile' },\n\t{ value: '58109910', label: '--- Cu o valoare de peste 17,50 €/kg (greutate netă)' },\n\t{ value: '58109990', label: '--- Altele' },\n\t{ value: '58110000', label: 'Produse textile matlasate din una sau sau mai multe bucăţi, constituite dintr-unul sau din mai multe straturi de materiale textile asociate cu un material de umplutură, tighelite, capitonate sau altfel compartimentate, altele decât broderiile de la poziția 5810' },\n\t{ value: '59000000', label: 'ȚESĂTURI IMPREGNATE, ÎMBRĂCATE, ACOPERITE SAU STRATIFICATE; ARTICOLE TEHNICE DIN MATERIALE TEXTILE' },\n\t{ value: '59010000', label: 'Țesături acoperite cu clei sau cu substanțe amilacee, de tipul celor utilizate în legătorie, cartonaj, ca materiale de acoperire sau pentru utilizări similare; pânze de calc sau transparente pentru desen; pânze pregătite pentru pictură; vatir și țesături similare pentru confecționarea pălăriilor' },\n\t{ value: '59011000', label: '- Țesături acoperite cu clei sau cu substanțe amilacee, de tipul celor utilizate în legătorie, cartonaj, ca materiale de acoperire a cărților sau pentru utilizări similare' },\n\t{ value: '59019000', label: '- Altele' },\n\t{ value: '59020000', label: 'Țesături cord pentru anvelope din fire de mare rezistență din nailon sau din alte poliamide, din poliesteri sau viscoză' },\n\t{ value: '59021000', label: '- Din nailon sau din alte poliamide' },\n\t{ value: '59021010', label: '-- Impregnate cu cauciuc' },\n\t{ value: '59021090', label: '-- Altele' },\n\t{ value: '59022000', label: '- Din poliesteri' },\n\t{ value: '59022010', label: '-- Impregnate cu cauciuc' },\n\t{ value: '59022090', label: '-- Altele' },\n\t{ value: '59029000', label: '- Altele' },\n\t{ value: '59029010', label: '-- Impregnate cu cauciuc' },\n\t{ value: '59029090', label: '-- Altele' },\n\t{ value: '59030000', label: 'Țesături impregnate, îmbrăcate sau acoperite cu material plastic sau stratificate cu material plastic, altele decât cele de la poziția 5902' },\n\t{ value: '59031000', label: '- Cu poli(clorură de vinil)' },\n\t{ value: '59031010', label: '-- Impregnate' },\n\t{ value: '59031090', label: '-- Acoperite, îmbrăcate sau stratificate' },\n\t{ value: '59032000', label: '- Cu poliuretan' },\n\t{ value: '59032010', label: '-- Impregnate' },\n\t{ value: '59032090', label: '-- Acoperite, îmbrăcate sau stratificate' },\n\t{ value: '59039000', label: '- Altele' },\n\t{ value: '59039010', label: '-- Impregnate' },\n\t{ value: '59039091', label: '-- Acoperite, îmbrăcate sau stratificate' },\n\t{ value: '59039091', label: '--- Cu derivați din celuloză sau din alte materiale plastice, materialul textil reprezentând doar fața' },\n\t{ value: '59039099', label: '--- Altele' },\n\t{ value: '59040000', label: 'Linoleum, chiar decupat; acoperitoare de podea constând dintr-o îmbrăcare sau o acoperire aplicată pe un suport textil, chiar decupate' },\n\t{ value: '59041000', label: '- Linoleum' },\n\t{ value: '59049000', label: '- Altele' },\n\t{ value: '59050000', label: 'Tapet din materiale textile' },\n\t{ value: '59050010', label: '- Constând din fire dispuse paralel pe un suport' },\n\t{ value: '59050030', label: '- Altele' },\n\t{ value: '59050030', label: '-- Din in' },\n\t{ value: '59050050', label: '-- Din iută' },\n\t{ value: '59050070', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '59050090', label: '-- Altele' },\n\t{ value: '59060000', label: 'Țesături cauciucate, altele decât cele de la poziția 5902' },\n\t{ value: '59061000', label: '- Benzi adezive cu lățimea de maximum 20 cm' },\n\t{ value: '59069100', label: '- Altele' },\n\t{ value: '59069100', label: '-- Din materiale tricotate sau croșetate' },\n\t{ value: '59069900', label: '-- Altele' },\n\t{ value: '59069910', label: '--- Ţesături prevăzute la nota 5 litera (c) din prezentul capitol' },\n\t{ value: '59069990', label: '--- Altele' },\n\t{ value: '59070000', label: 'Alte țesături impregnate, îmbrăcate sau acoperite; pânze pictate pentru decoruri de teatru, decoruri pentru studiouri sau pentru utilizări similare' },\n\t{ value: '59080000', label: 'Fitile textile țesute, împletite sau tricotate, pentru lămpi, lămpi de gătit, brichete, lumânări sau articole similare; manșoane pentru lămpi cu incandescență și tricoturi tubulare, care servesc la fabricarea acestora, chiar impregnate' },\n\t{ value: '59090000', label: 'Furtunuri pentru pompe și furtunuri similare din materiale textile, chiar cu armături sau accesorii din alte materiale' },\n\t{ value: '59090010', label: '- Din fibre sintetice' },\n\t{ value: '59090090', label: '- Din alte materiale textile' },\n\t{ value: '59100000', label: 'Benzi transportoare sau curele de transmisie, din materiale textile, chiar impregnate, îmbrăcate, acoperite sau stratificate cu materiale plastice sau ranforsate cu metal sau cu alte materiale' },\n\t{ value: '59110000', label: 'Produse și articole textile pentru utilizări tehnice, menționate la nota 8 din acest capitol' },\n\t{ value: '59111000', label: '- Țesături, pâsle și țesături dublate cu pâslă, acoperite, îmbrăcate sau stratificate cu cauciuc, piele sau alte materiale, de tipul celor utilizate pentru fabricarea garniturilor de cardă, și produse similare pentru alte utilizări tehnice, inclusiv panglicile fabricate din catifea, impregnate cu cauciuc, pentru acoperirea sulurilor de la mașinile de țesut' },\n\t{ value: '59112000', label: '- Pânze de sită, chiar confecționate' },\n\t{ value: '59113100', label: '- Țesături și pâsle fără sfârșit sau prevăzute cu dispozitive de joncțiune, de tipul celor utilizate la mașinile de prelucrare a hârtiei sau la mașinile similare (de exemplu, pentru fabricat pastă de lemn sau azbociment)' },\n\t{ value: '59113100', label: '-- Cu o greutate sub 650 g/m2' },\n\t{ value: '59113111', label: '--- Din mătase, fibre sintetice sau artificiale' },\n\t{ value: '59113111', label: '---- Ţesături, de tipul celor utilizate pentru maşini de fabricat hârtie (de exemplu, de constituire a ţesăturilor)' },\n\t{ value: '59113119', label: '---- Altele' },\n\t{ value: '59113190', label: '--- Din alte materiale textile' },\n\t{ value: '59113200', label: '-- Cu o greutate de minimum 650 g/m2' },\n\t{ value: '59113211', label: '--- Din mătase, din fibre sintetice sau artificiale' },\n\t{ value: '59113211', label: '---- Ţesături cu un strat de căpuşeală cusut pe ele, de tipul celor utilizate pentru maşini de fabricat hârtie (de exemplu, pâslă pentru presă)' },\n\t{ value: '59113219', label: '---- Altele' },\n\t{ value: '59113290', label: '--- Din alte materiale textile' },\n\t{ value: '59114000', label: '- Țesături pentru filtrare sau strecurare de tipul celor utilizate pentru presele de ulei sau pentru utilizări tehnice similare, inclusiv cele din păr uman' },\n\t{ value: '59119000', label: '- Altele' },\n\t{ value: '59119010', label: '-- Din pâslă' },\n\t{ value: '59119091', label: '-- Altele' },\n\t{ value: '59119091', label: '--- Discuri abrazive autoadezive de tipul celor folosite la fabricarea plachetelor de semiconductori' },\n\t{ value: '59119099', label: '--- Altele' },\n\t{ value: '60000000', label: 'MATERIALE TRICOTATE SAU CROȘETATE' },\n\t{ value: '60010000', label: 'Catifea, pluș inclusive materiale așa-zise cu \"păr lung\" și materiale buclate, tricotate sau croșetate' },\n\t{ value: '60011000', label: '- Materiale așa-zise cu \"păr lung\"' },\n\t{ value: '60012100', label: '- Materiale buclate' },\n\t{ value: '60012100', label: '-- Din bumbac' },\n\t{ value: '60012200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '60012900', label: '-- Din alte materiale textile' },\n\t{ value: '60019100', label: '- Altele' },\n\t{ value: '60019100', label: '-- Din bumbac' },\n\t{ value: '60019200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '60019900', label: '-- Din alte materiale textile' },\n\t{ value: '60020000', label: 'Materiale tricotate sau croșetate cu o lățime de maximum 30 cm, care conțin minimum 5 % din greutate fire din elastomeri sau fire din cauciuc, altele decât cele de la poziția 6001' },\n\t{ value: '60024000', label: '- Care conțin minimum 5 % din greutate fire din elastomeri, dar nu conțin fire din cauciuc' },\n\t{ value: '60029000', label: '- Altele' },\n\t{ value: '60030000', label: 'Materiale tricotate sau croșetate cu o lățime de maximum 30 cm, altele decât cele de la pozițiile 6001 și 6002' },\n\t{ value: '60031000', label: '- Din lână sau din păr fin de animale' },\n\t{ value: '60032000', label: '- Din bumbac' },\n\t{ value: '60033000', label: '- Din fibre sintetice' },\n\t{ value: '60033010', label: '-- Dantele Raschel' },\n\t{ value: '60033090', label: '-- Altele' },\n\t{ value: '60034000', label: '- Din fibre artificiale' },\n\t{ value: '60039000', label: '- Altele' },\n\t{ value: '60040000', label: 'Materiale tricotate sau croșetate cu o lățime de peste 30 cm, care conțin minimum 5 % din greutate fire din elastomeri sau fire din cauciuc, altele decât cele de la poziția 6001' },\n\t{ value: '60041000', label: '- Care conțin minimum 5 % din greutate elastomeri dar nu conțin fire din cauciuc' },\n\t{ value: '60049000', label: '- Altele' },\n\t{ value: '60050000', label: 'Materiale tricotate cu urzeală (inclusiv cele obținute pe mașini de produs panglici), altele decât cele de la pozițiile 6001-6004' },\n\t{ value: '60052100', label: '- Din bumbac' },\n\t{ value: '60052100', label: '-- Nealbite sau albite' },\n\t{ value: '60052200', label: '-- Vopsite' },\n\t{ value: '60052300', label: '-- Din fire de diferite culori' },\n\t{ value: '60052400', label: '-- Imprimate' },\n\t{ value: '60053500', label: '- Din fibre sintetice' },\n\t{ value: '60053500', label: '-- Țesături menționate în nota de subpoziție 1 din prezentul capitol' },\n\t{ value: '60053600', label: '-- Altele, albite sau nealbite' },\n\t{ value: '60053700', label: '-- Altele, vopsite' },\n\t{ value: '60053800', label: '-- Altele, din fire de diferite culori' },\n\t{ value: '60053900', label: '-- Altele, imprimate' },\n\t{ value: '60054100', label: '- Din fibre artificiale' },\n\t{ value: '60054100', label: '-- Nealbite sau albite' },\n\t{ value: '60054200', label: '-- Vopsite' },\n\t{ value: '60054300', label: '-- Din fire de diferite culori' },\n\t{ value: '60054400', label: '-- Imprimate' },\n\t{ value: '60059000', label: '- Altele' },\n\t{ value: '60059010', label: '-- Din lână sau din păr fin de animale' },\n\t{ value: '60059090', label: '-- Altele' },\n\t{ value: '60060000', label: 'Alte materiale tricotate sau croșetate' },\n\t{ value: '60061000', label: '- Din lână sau păr fin de animale' },\n\t{ value: '60062100', label: '- Din bumbac' },\n\t{ value: '60062100', label: '-- Nealbite sau albite' },\n\t{ value: '60062200', label: '-- Vopsite' },\n\t{ value: '60062300', label: '-- Din fire de diferite culori' },\n\t{ value: '60062400', label: '-- Imprimate' },\n\t{ value: '60063100', label: '- Din fibre sintetice' },\n\t{ value: '60063100', label: '-- Nealbite sau albite' },\n\t{ value: '60063200', label: '-- Vopsite' },\n\t{ value: '60063300', label: '-- Din fire de diferite culori' },\n\t{ value: '60063400', label: '-- Imprimate' },\n\t{ value: '60064100', label: '- Din fibre artificiale' },\n\t{ value: '60064100', label: '-- Nealbite sau albite' },\n\t{ value: '60064200', label: '-- Vopsite' },\n\t{ value: '60064300', label: '-- Din fire de diferite culori' },\n\t{ value: '60064400', label: '-- Imprimate' },\n\t{ value: '60069000', label: '- Altele' },\n\t{ value: '61000000', label: 'ÎMBRĂCĂMINTE ȘI ACCESORII DE ÎMBRĂCĂMINTE, TRICOTATE SAU CROȘETATE' },\n\t{ value: '61010000', label: 'Paltoane, scurte, pelerine, hanorace, bluzoane și articole similare, tricotate sau croșetate, pentru bărbați sau pentru băieți, cu excepția articolelor de la poziția 6103' },\n\t{ value: '61012000', label: '- Din bumbac' },\n\t{ value: '61012010', label: '-- Paltoane, scurte, pelerine și articole similare' },\n\t{ value: '61012090', label: '-- Hanorace (inclusiv jachete de schi), bluzoane și articole similare' },\n\t{ value: '61013000', label: '- Din fire sintetice sau artificiale' },\n\t{ value: '61013010', label: '-- Paltoane, scurte, pelerine și articole similare' },\n\t{ value: '61013090', label: '-- Hanorace (inclusiv jachete de schi), bluzoane și articole similare' },\n\t{ value: '61019000', label: '- Din alte materiale textile' },\n\t{ value: '61019020', label: '-- Paltoane, scurte, pelerine și articole similare' },\n\t{ value: '61019080', label: '-- Hanorace (inclusiv jachete de schi), bluzoane și articole similare' },\n\t{ value: '61020000', label: 'Paltoane, scurte, pelerine, hanorace, bluzoane și articole similare, tricotate sau croșetate, pentru femei sau fete, cu excepția articolelor de la poziția 6104' },\n\t{ value: '61021000', label: '- Din lână sau păr fin de animale' },\n\t{ value: '61021010', label: '-- Paltoane, scurte, pelerine și articole similare' },\n\t{ value: '61021090', label: '-- Hanorace (inclusiv jachete de schi), bluzoane și articole similare' },\n\t{ value: '61022000', label: '- Din bumbac' },\n\t{ value: '61022010', label: '-- Paltoane, scurte, pelerine și articole similare' },\n\t{ value: '61022090', label: '-- Hanorace (inclusiv jachete de schi), bluzoane și articole similare' },\n\t{ value: '61023000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '61023010', label: '-- Paltoane, scurte, pelerine și articole similare' },\n\t{ value: '61023090', label: '-- Hanorace (inclusiv jachete de schi), bluzoane și articole similare' },\n\t{ value: '61029000', label: '- Din alte materiale textile' },\n\t{ value: '61029010', label: '-- Paltoane, scurte, pelerine și articole similare' },\n\t{ value: '61029090', label: '-- Hanorace (inclusiv jachete de schi), bluzoane și articole similare' },\n\t{ value: '61030000', label: 'Costume sau compleuri, ansambluri, jachete, sacouri, pantaloni, salopete cu bretele, pantaloni scurți și șorturi (altele decât cele pentru baie), tricotate sau croșetate, pentru bărbați sau băieți' },\n\t{ value: '61031000', label: '- Costume sau compleuri' },\n\t{ value: '61031010', label: '-- din lână sau din păr fin de animale' },\n\t{ value: '61031090', label: '-- Din alte materiale textile' },\n\t{ value: '61032200', label: '- Ansambluri' },\n\t{ value: '61032200', label: '-- Din bumbac' },\n\t{ value: '61032300', label: '-- Din fibre sintetice' },\n\t{ value: '61032900', label: '-- Din alte materiale textile' },\n\t{ value: '61033100', label: '- Jachete și sacouri' },\n\t{ value: '61033100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61033200', label: '-- Din bumbac' },\n\t{ value: '61033300', label: '-- Din fibre sintetice' },\n\t{ value: '61033900', label: '-- Din alte materiale textile' },\n\t{ value: '61034100', label: '- Pantaloni, salopete cu bretele, pantaloni scurți și șorturi' },\n\t{ value: '61034100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61034200', label: '-- Din bumbac' },\n\t{ value: '61034300', label: '-- Din fibre sintetice' },\n\t{ value: '61034900', label: '-- Din alte materiale textile' },\n\t{ value: '61040000', label: 'Taioare, ansambluri, jachete, sacouri, rochii, fuste, fuste-pantalon, pantaloni, salopete cu bretele, pantaloni scurți și șorturi (altele decât cele de baie), tricotate sau croșetate, pentru femei sau fete' },\n\t{ value: '61041300', label: '- Taioare' },\n\t{ value: '61041300', label: '-- Din fibre sintetice' },\n\t{ value: '61041900', label: '-- Din alte materiale textile' },\n\t{ value: '61041920', label: '--- Din bumbac' },\n\t{ value: '61041990', label: '--- Din alte materiale textile' },\n\t{ value: '61042200', label: '- Ansambluri' },\n\t{ value: '61042200', label: '-- Din bumbac' },\n\t{ value: '61042300', label: '-- Din fibre sintetice' },\n\t{ value: '61042900', label: '-- Din alte materiale textile' },\n\t{ value: '61042910', label: '--- Din lână sau păr fin de animale' },\n\t{ value: '61042990', label: '--- Din alte materiale textile' },\n\t{ value: '61043100', label: '- Jachete și sacouri' },\n\t{ value: '61043100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61043200', label: '-- Din bumbac' },\n\t{ value: '61043300', label: '-- Din fibre sintetice' },\n\t{ value: '61043900', label: '-- Din alte materiale textile' },\n\t{ value: '61044100', label: '- Rochii' },\n\t{ value: '61044100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61044200', label: '-- Din bumbac' },\n\t{ value: '61044300', label: '-- Din fibre sintetice' },\n\t{ value: '61044400', label: '-- Din fibre artificiale' },\n\t{ value: '61044900', label: '-- Din alte materiale textile' },\n\t{ value: '61045100', label: '- Fuste și fuste-pantalon' },\n\t{ value: '61045100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61045200', label: '-- Din bumbac' },\n\t{ value: '61045300', label: '-- Din fibre sintetice' },\n\t{ value: '61045900', label: '-- Din alte materiale textile' },\n\t{ value: '61046100', label: '- Pantaloni, salopete cu bretele, pantaloni scurți și șorturi' },\n\t{ value: '61046100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61046200', label: '-- Din bumbac' },\n\t{ value: '61046300', label: '-- Din fibre sintetice' },\n\t{ value: '61046900', label: '-- Din alte materiale textile' },\n\t{ value: '61050000', label: 'Cămăși și bluze, tricotate sau croșetate, pentru bărbați sau băieți' },\n\t{ value: '61051000', label: '- Din bumbac' },\n\t{ value: '61052000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '61052010', label: '-- Din fibre sintetice' },\n\t{ value: '61052090', label: '-- Din fibre artificiale' },\n\t{ value: '61059000', label: '- Din alte materiale textile' },\n\t{ value: '61059010', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61059090', label: '-- Din alte materiale textile' },\n\t{ value: '61060000', label: 'Cămăși, bluze, bluze-cămașă, tricotate sau croșetate, pentru femei sau fete' },\n\t{ value: '61061000', label: '- Din bumbac' },\n\t{ value: '61062000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '61069000', label: '- Din alte materiale textile' },\n\t{ value: '61069010', label: '-- Din lână sau din păr fin de animale' },\n\t{ value: '61069030', label: '-- Din mătase sau deșeuri de mătase' },\n\t{ value: '61069050', label: '-- Din in sau ramie' },\n\t{ value: '61069090', label: '-- Din alte materiale textile' },\n\t{ value: '61070000', label: 'Chiloți, indispensabili, cămăși de noapte, pijamale, halate de baie, halate de casă și articole similare, tricotate sau croșetate, pentru bărbați sau băieți' },\n\t{ value: '61071100', label: '- Chiloți și indispensabili' },\n\t{ value: '61071100', label: '-- Din bumbac' },\n\t{ value: '61071200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '61071900', label: '-- Din alte materiale textile' },\n\t{ value: '61072100', label: '- Cămăși de noapte și pijamale' },\n\t{ value: '61072100', label: '-- Din bumbac' },\n\t{ value: '61072200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '61072900', label: '-- Din alte materiale textile' },\n\t{ value: '61079100', label: '- Altele' },\n\t{ value: '61079100', label: '-- Din bumbac' },\n\t{ value: '61079900', label: '-- Din alte materiale textile' },\n\t{ value: '61080000', label: 'Combinezoane sau furouri, jupoane, chiloți, cămăși de noapte, pijamale, dezabieuri, halate de baie, halate de casă și articole similare, tricotate sau croșetate, pentru femei și fete' },\n\t{ value: '61081100', label: '- Combinezoane sau furouri și jupoane' },\n\t{ value: '61081100', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '61081900', label: '-- Din alte materiale textile' },\n\t{ value: '61082100', label: '- Slipuri și chiloți' },\n\t{ value: '61082100', label: '-- Din bumbac' },\n\t{ value: '61082200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '61082900', label: '-- Din alte materiale textile' },\n\t{ value: '61083100', label: '- Cămăși de noapte și pijamale' },\n\t{ value: '61083100', label: '-- Din bumbac' },\n\t{ value: '61083200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '61083900', label: '-- Din alte materiale textile' },\n\t{ value: '61089100', label: '- Altele' },\n\t{ value: '61089100', label: '-- Din bumbac' },\n\t{ value: '61089200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '61089900', label: '-- Din alte materiale textile' },\n\t{ value: '61090000', label: 'Tricouri (T-shirts), bluze și maiouri de corp, tricotate sau croșetate' },\n\t{ value: '61091000', label: '- Din bumbac' },\n\t{ value: '61099000', label: '- Din alte materiale textile' },\n\t{ value: '61099020', label: '-- Din lână sau din păr fin de animale ori din fibre sintetice sau artificiale' },\n\t{ value: '61099090', label: '-- Din alte materiale textile' },\n\t{ value: '61100000', label: 'Jerseuri, pulovere, cardigane și articole similare, veste și articole similare, inclusiv tricotajele subțiri care se poartă sub pulovere, tricotate sau croșetate' },\n\t{ value: '61101100', label: '- Din lână sau păr fin de animale' },\n\t{ value: '61101100', label: '-- Din lână' },\n\t{ value: '61101110', label: '--- Jerseuri și pulovere, cu un conținut de lână de minimum 50 % din greutate și cu o greutate de minimum 600 g pe bucată' },\n\t{ value: '61101130', label: '--- Altele' },\n\t{ value: '61101130', label: '---- Pentru bărbați sau băieți' },\n\t{ value: '61101190', label: '---- Pentru femei sau fete' },\n\t{ value: '61101200', label: '-- Din păr de capră de Cașmir' },\n\t{ value: '61101210', label: '--- Pentru bărbați și băieți' },\n\t{ value: '61101290', label: '--- Pentru femei sau fete' },\n\t{ value: '61101900', label: '-- Altele' },\n\t{ value: '61101910', label: '--- Pentru bărbați sau băieți' },\n\t{ value: '61101990', label: '--- Pentru femei sau fete' },\n\t{ value: '61102000', label: '- Din bumbac' },\n\t{ value: '61102010', label: '-- Tricotaje subțiri, care se poartă sub pulovere' },\n\t{ value: '61102091', label: '-- Altele' },\n\t{ value: '61102091', label: '--- Pentru bărbați sau băieți' },\n\t{ value: '61102099', label: '--- Pentru femei sau fete' },\n\t{ value: '61103000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '61103010', label: '-- Tricotaje subțiri, care se poartă sub pulovere' },\n\t{ value: '61103091', label: '-- Altele' },\n\t{ value: '61103091', label: '--- Pentru bărbați sau băieți' },\n\t{ value: '61103099', label: '--- Pentru femei sau fete' },\n\t{ value: '61109000', label: '- Din alte materiale textile' },\n\t{ value: '61109010', label: '-- Din in sau ramie' },\n\t{ value: '61109090', label: '-- Din alte materiale textile' },\n\t{ value: '61110000', label: 'Îmbrăcăminte și accesorii de îmbrăcăminte, tricotate sau croșetate, pentru sugari' },\n\t{ value: '61112000', label: '- Din bumbac' },\n\t{ value: '61112010', label: '-- Mănuși' },\n\t{ value: '61112090', label: '-- Altele' },\n\t{ value: '61113000', label: '- Din fibre sintetice' },\n\t{ value: '61113010', label: '-- Mănuși' },\n\t{ value: '61113090', label: '-- Altele' },\n\t{ value: '61119000', label: '- Din alte materiale textile' },\n\t{ value: '61119011', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61119011', label: '--- Mănuși' },\n\t{ value: '61119019', label: '--- Altele' },\n\t{ value: '61119090', label: '-- Din alte materiale textile' },\n\t{ value: '61120000', label: 'Treninguri, combinezoane și costume de schi și costume, chiloți și slipuri de baie, tricotate sau croșetate' },\n\t{ value: '61121100', label: '- Treninguri' },\n\t{ value: '61121100', label: '-- Din bumbac' },\n\t{ value: '61121200', label: '-- Din fibre sintetice' },\n\t{ value: '61121900', label: '-- Din alte materiale textile' },\n\t{ value: '61122000', label: '- Combinezoane și costume de schi' },\n\t{ value: '61123100', label: '- Costume, chiloți și slipuri de baie, pentru bărbați sau băieți' },\n\t{ value: '61123100', label: '-- Din fibre sintetice' },\n\t{ value: '61123110', label: '--- Cu un conținut de fire din cauciuc de minimum 5 % din greutate' },\n\t{ value: '61123190', label: '--- Altele' },\n\t{ value: '61123900', label: '-- Din alte materiale textile' },\n\t{ value: '61123910', label: '--- Cu un conținut de fire din cauciuc de minimum 5 % din greutate' },\n\t{ value: '61123990', label: '--- Altele' },\n\t{ value: '61124100', label: '- Costume de baie pentru femei sau fete' },\n\t{ value: '61124100', label: '-- Din fibre sintetice' },\n\t{ value: '61124110', label: '--- Cu un conținut de fire din cauciuc de minimum 5 % din greutate' },\n\t{ value: '61124190', label: '--- Altele' },\n\t{ value: '61124900', label: '-- Din alte materiale textile' },\n\t{ value: '61124910', label: '--- Cu un conținut de fire din cauciuc de minimum 5 % din greutate' },\n\t{ value: '61124990', label: '--- Altele' },\n\t{ value: '61130000', label: 'Îmbrăcăminte confecționată din materiale tricotate sau croșetate de la pozițiile 5903, 5906 sau 5907' },\n\t{ value: '61130010', label: '- Din materiale tricotate sau croșetate de la poziția 5906' },\n\t{ value: '61130090', label: '- Altele' },\n\t{ value: '61140000', label: 'Alte articole de îmbrăcăminte din materiale tricotate sau croșetate' },\n\t{ value: '61142000', label: '- Din bumbac' },\n\t{ value: '61143000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '61149000', label: '- Din alte materiale textile' },\n\t{ value: '61150000', label: 'Ciorapi-chilot, dresuri, ciorapi, șosete și alte articole similare, inclusiv ciorapii cu compresie progresivă (spre exemplu, pentru varice) și încălțăminte fără talpă aplicată, tricotate sau croșetate' },\n\t{ value: '61151000', label: '- Ciorapi cu compresie progresivă (spre exemplu, pentru varice)' },\n\t{ value: '61151010', label: '-- Din fibre sintetice' },\n\t{ value: '61151090', label: '-- Altele' },\n\t{ value: '61152100', label: '- Alți ciorapi-chilot' },\n\t{ value: '61152100', label: '-- Din fibre sintetice, având finețea firului simplu sub 67 decitex' },\n\t{ value: '61152200', label: '-- Din fibre sintetice, având finețea firului simplu de minimum 67 decitex' },\n\t{ value: '61152900', label: '-- Din alte materiale textile' },\n\t{ value: '61153000', label: '- Alți ciorapi lungi și ciorapi trei-sferturi de damă, având finețea firului simplu sub 67 decitex' },\n\t{ value: '61153011', label: '-- Din fibre sintetice' },\n\t{ value: '61153011', label: '--- Ciorapi trei-sferturi' },\n\t{ value: '61153019', label: '--- Alți ciorapi' },\n\t{ value: '61153090', label: '-- Din alte materiale textile' },\n\t{ value: '61159400', label: '- Altele' },\n\t{ value: '61159400', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61159500', label: '-- Din bumbac' },\n\t{ value: '61159600', label: '-- Din fibre sintetice' },\n\t{ value: '61159610', label: '--- Ciorapi trei-sferturi' },\n\t{ value: '61159691', label: '--- Altele' },\n\t{ value: '61159691', label: '---- Ciorapi pentru femei' },\n\t{ value: '61159699', label: '---- Altele' },\n\t{ value: '61159900', label: '-- Din alte materiale textile' },\n\t{ value: '61160000', label: 'Mănuși, mitene și mănuși cu un deget, tricotate sau croșetate' },\n\t{ value: '61161000', label: '- Impregnate, îmbrăcate sau acoperite cu materiale plastice sau cu cauciuc ori stratificate cu aceste materiale' },\n\t{ value: '61161020', label: '-- Mănuși impregnate, îmbrăcate, acoperite sau stratificate cu cauciuc' },\n\t{ value: '61161080', label: '-- Altele' },\n\t{ value: '61169100', label: '- Altele' },\n\t{ value: '61169100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '61169200', label: '-- Din bumbac' },\n\t{ value: '61169300', label: '-- Din fibre sintetice' },\n\t{ value: '61169900', label: '-- Din alte materiale textile' },\n\t{ value: '61170000', label: 'Alte accesorii confecționate de îmbrăcăminte, tricotate sau croșetate; părți de îmbrăcăminte sau accesorii de îmbrăcăminte, tricotate sau croșetate' },\n\t{ value: '61171000', label: '- Șaluri, eșarfe, fulare, mantile, voaluri, voalete și articole similare' },\n\t{ value: '61178000', label: '- Alte accesorii' },\n\t{ value: '61178010', label: '-- Din țesături tricotate sau croșetate elastice sau cauciucate' },\n\t{ value: '61178080', label: '-- Altele' },\n\t{ value: '61179000', label: '- Părți' },\n\t{ value: '62000000', label: 'ÎMBRĂCĂMINTE ȘI ACCESORII DE ÎMBRĂCĂMINTE, ALTELE DECÂT CELE TRICOTATE SAU CROȘETATE' },\n\t{ value: '62010000', label: 'Paltoane, scurte, pelerine, hanorace (inclusiv geci de ski), geci de vânt și alte articole similare, pentru bărbați sau băieți, cu excepția articolelor de la poziția 6203' },\n\t{ value: '62012000', label: '- Din lână sau din păr fin de animale' },\n\t{ value: '62013000', label: '- Din bumbac' },\n\t{ value: '62013010', label: '-- Cu o greutate, pe bucată, de maximum 1 kg' },\n\t{ value: '62013090', label: '-- Cu o greutate, pe bucată, de peste 1 kg' },\n\t{ value: '62014000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '62014010', label: '-- Cu o greutate pe bucată, de maximum 1 kg' },\n\t{ value: '62014090', label: '-- Cu o greutate, pe bucată, de peste 1 kg' },\n\t{ value: '62019000', label: '- Din alte materiale textile' },\n\t{ value: '62020000', label: 'Paltoane, scurte, pelerine, hanorace (inclusiv geci de ski), geci de vânt și articole similare, pentru femei sau fete, cu excepția articolelor de la poziția 6204' },\n\t{ value: '62022000', label: '- Din lână sau păr fin de animale' },\n\t{ value: '62023000', label: '- Din bumbac' },\n\t{ value: '62023010', label: '-- Cu o greutate, pe bucată, de maximum 1 kg' },\n\t{ value: '62023090', label: '-- Cu o greutate, pe bucată, de peste 1 kg' },\n\t{ value: '62024000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '62024010', label: '-- Cu o greutate pe bucată, de maximum 1 kg' },\n\t{ value: '62024090', label: '-- Cu o greutate, pe bucată, de peste 1 kg' },\n\t{ value: '62029000', label: '- Din alte materiale textile' },\n\t{ value: '62030000', label: 'Costume sau compleuri, ansambluri, jachete, sacouri, pantaloni, salopete cu bretele, pantaloni scurți și șorturi (altele decât cele pentru baie), pentru bărbați sau băieți' },\n\t{ value: '62031100', label: '- Costume sau compleuri' },\n\t{ value: '62031100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62031200', label: '-- Din fibre sintetice' },\n\t{ value: '62031900', label: '-- Din alte materiale textile' },\n\t{ value: '62031910', label: '--- Din bumbac' },\n\t{ value: '62031930', label: '--- Din fibre artificiale' },\n\t{ value: '62031990', label: '--- Din alte materiale textile' },\n\t{ value: '62032200', label: '- Ansambluri' },\n\t{ value: '62032200', label: '-- Din bumbac' },\n\t{ value: '62032210', label: '--- De lucru' },\n\t{ value: '62032280', label: '--- Altele' },\n\t{ value: '62032300', label: '-- Din fibre sintetice' },\n\t{ value: '62032310', label: '--- De lucru' },\n\t{ value: '62032380', label: '--- Altele' },\n\t{ value: '62032900', label: '-- Din alte materiale textile' },\n\t{ value: '62032911', label: '--- Din fibre artificiale' },\n\t{ value: '62032911', label: '---- De lucru' },\n\t{ value: '62032918', label: '---- Altele' },\n\t{ value: '62032930', label: '--- Din lână sau păr fin de animale' },\n\t{ value: '62032990', label: '--- Din alte materiale textile' },\n\t{ value: '62033100', label: '- Jachete și sacouri' },\n\t{ value: '62033100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62033200', label: '-- Din bumbac' },\n\t{ value: '62033210', label: '--- De lucru' },\n\t{ value: '62033290', label: '--- Altele' },\n\t{ value: '62033300', label: '-- Din fibre sintetice' },\n\t{ value: '62033310', label: '--- De lucru' },\n\t{ value: '62033390', label: '--- Altele' },\n\t{ value: '62033900', label: '-- Din alte materiale textile' },\n\t{ value: '62033911', label: '--- Din fibre artificiale' },\n\t{ value: '62033911', label: '---- De lucru' },\n\t{ value: '62033919', label: '---- Altele' },\n\t{ value: '62033990', label: '--- Din alte materiale textile' },\n\t{ value: '62034100', label: '- Pantaloni, salopete cu bretele, pantaloni scurți și șorturi' },\n\t{ value: '62034100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62034110', label: '--- Pantaloni și pantaloni scurți' },\n\t{ value: '62034130', label: '--- Salopete cu bretele' },\n\t{ value: '62034190', label: '--- Altele' },\n\t{ value: '62034200', label: '-- Din bumbac' },\n\t{ value: '62034211', label: '--- Pantaloni și pantaloni scurți' },\n\t{ value: '62034211', label: '---- De lucru' },\n\t{ value: '62034231', label: '---- Altele' },\n\t{ value: '62034231', label: '----- Din țesături \"denim\"' },\n\t{ value: '62034233', label: '----- Din catifea și pluș din urzeală, tăiate, reiate' },\n\t{ value: '62034235', label: '----- Altele' },\n\t{ value: '62034251', label: '--- Salopete cu bretele' },\n\t{ value: '62034251', label: '---- De lucru' },\n\t{ value: '62034259', label: '---- Altele' },\n\t{ value: '62034290', label: '--- Altele' },\n\t{ value: '62034300', label: '-- Din fibre sintetice' },\n\t{ value: '62034311', label: '--- Pantaloni și pantaloni scurți' },\n\t{ value: '62034311', label: '---- De lucru' },\n\t{ value: '62034319', label: '---- Altele' },\n\t{ value: '62034331', label: '--- Salopete cu bretele' },\n\t{ value: '62034331', label: '---- De lucru' },\n\t{ value: '62034339', label: '---- Altele' },\n\t{ value: '62034390', label: '--- Altele' },\n\t{ value: '62034900', label: '-- Din alte materiale textile' },\n\t{ value: '62034911', label: '--- Din fibre artificiale' },\n\t{ value: '62034911', label: '---- Pantaloni și pantaloni scurți' },\n\t{ value: '62034911', label: '----- De lucru' },\n\t{ value: '62034919', label: '----- Altele' },\n\t{ value: '62034931', label: '---- Salopete cu bretele' },\n\t{ value: '62034931', label: '----- De lucru' },\n\t{ value: '62034939', label: '----- Altele' },\n\t{ value: '62034950', label: '---- Altele' },\n\t{ value: '62034990', label: '--- Din alte materiale textile' },\n\t{ value: '62040000', label: 'Taioare, ansambluri, jachete, sacouri, rochii, fuste, fuste-pantalon, pantaloni, salopete cu bretele, pantaloni scurți și șorturi (altele decât pentru baie), pentru femei și fete' },\n\t{ value: '62041100', label: '- Taioare' },\n\t{ value: '62041100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62041200', label: '-- Din bumbac' },\n\t{ value: '62041300', label: '-- Din fibre sintetice' },\n\t{ value: '62041900', label: '-- Din alte materiale textile' },\n\t{ value: '62041910', label: '--- Din fibre artificiale' },\n\t{ value: '62041990', label: '--- Din alte materiale textile' },\n\t{ value: '62042100', label: '- Ansambluri' },\n\t{ value: '62042100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62042200', label: '-- Din bumbac' },\n\t{ value: '62042210', label: '--- De lucru' },\n\t{ value: '62042280', label: '--- Altele' },\n\t{ value: '62042300', label: '-- Din fibre sintetice' },\n\t{ value: '62042310', label: '--- De lucru' },\n\t{ value: '62042380', label: '--- Altele' },\n\t{ value: '62042900', label: '-- Din alte materiale textile' },\n\t{ value: '62042911', label: '--- Din fibre artificiale' },\n\t{ value: '62042911', label: '---- De lucru' },\n\t{ value: '62042918', label: '---- Altele' },\n\t{ value: '62042990', label: '--- Din alte materiale textile' },\n\t{ value: '62043100', label: '- Jachete și sacouri' },\n\t{ value: '62043100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62043200', label: '-- Din bumbac' },\n\t{ value: '62043210', label: '--- De lucru' },\n\t{ value: '62043290', label: '--- Altele' },\n\t{ value: '62043300', label: '-- Din fibre sintetice' },\n\t{ value: '62043310', label: '--- De lucru' },\n\t{ value: '62043390', label: '--- Altele' },\n\t{ value: '62043900', label: '-- Din alte materiale textile' },\n\t{ value: '62043911', label: '--- Din fibre artificiale' },\n\t{ value: '62043911', label: '---- De lucru' },\n\t{ value: '62043919', label: '---- Altele' },\n\t{ value: '62043990', label: '--- Din alte materiale textile' },\n\t{ value: '62044100', label: '- Rochii' },\n\t{ value: '62044100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62044200', label: '-- Din bumbac' },\n\t{ value: '62044300', label: '-- Din fibre sintetice' },\n\t{ value: '62044400', label: '-- Din fibre artificiale' },\n\t{ value: '62044900', label: '-- Din alte materiale textile' },\n\t{ value: '62044910', label: '--- Din mătase sau din deșeuri de mătase' },\n\t{ value: '62044990', label: '--- Din alte materiale textile' },\n\t{ value: '62045100', label: '- Fuste și fuste-pantalon' },\n\t{ value: '62045100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62045200', label: '-- Din bumbac' },\n\t{ value: '62045300', label: '-- Din fibre sintetice' },\n\t{ value: '62045900', label: '-- Din alte materiale textile' },\n\t{ value: '62045910', label: '--- Din fibre artificiale' },\n\t{ value: '62045990', label: '--- Din alte materiale textile' },\n\t{ value: '62046100', label: '- Pantaloni, salopete cu bretele, pantaloni scurți și șorturi' },\n\t{ value: '62046100', label: '-- Din lână sau păr fin de animale' },\n\t{ value: '62046110', label: '--- Pantaloni și pantaloni scurți' },\n\t{ value: '62046185', label: '--- Altele' },\n\t{ value: '62046200', label: '-- Din bumbac' },\n\t{ value: '62046211', label: '--- Pantaloni și pantaloni scurți' },\n\t{ value: '62046211', label: '---- De lucru' },\n\t{ value: '62046231', label: '---- Altele' },\n\t{ value: '62046231', label: '----- Din țesături \"denim\"' },\n\t{ value: '62046233', label: '----- Din catifea și pluș de urzeală, tăiate, reiate' },\n\t{ value: '62046239', label: '----- Altele' },\n\t{ value: '62046251', label: '--- Salopete cu bretele' },\n\t{ value: '62046251', label: '---- De lucru' },\n\t{ value: '62046259', label: '---- Altele' },\n\t{ value: '62046290', label: '--- Altele' },\n\t{ value: '62046300', label: '-- Din fibre sintetice' },\n\t{ value: '62046311', label: '--- Pantaloni și pantaloni scurți' },\n\t{ value: '62046311', label: '---- De lucru' },\n\t{ value: '62046318', label: '---- Altele' },\n\t{ value: '62046331', label: '--- Salopete cu bretele' },\n\t{ value: '62046331', label: '---- De lucru' },\n\t{ value: '62046339', label: '---- Altele' },\n\t{ value: '62046390', label: '--- Altele' },\n\t{ value: '62046900', label: '-- Din alte materiale textile' },\n\t{ value: '62046911', label: '--- Din fibre artificiale' },\n\t{ value: '62046911', label: '---- Pantaloni și pantaloni scurți' },\n\t{ value: '62046911', label: '----- De lucru' },\n\t{ value: '62046918', label: '----- Altele' },\n\t{ value: '62046931', label: '---- Salopete cu bretele' },\n\t{ value: '62046931', label: '----- De lucru' },\n\t{ value: '62046939', label: '----- Altele' },\n\t{ value: '62046950', label: '---- Altele' },\n\t{ value: '62046990', label: '--- Din alte materiale textile' },\n\t{ value: '62050000', label: 'Cămăși și cămăși cu mânecă scurtă pentru bărbați sau băieți' },\n\t{ value: '62052000', label: '- Din bumbac' },\n\t{ value: '62053000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '62059000', label: '- Din alte materiale textile' },\n\t{ value: '62059010', label: '-- Din in sau ramie' },\n\t{ value: '62059080', label: '-- Din alte materiale textile' },\n\t{ value: '62060000', label: 'Cămăși, bluze, bluze-cămăși și cămăși cu mânecă scurtă pentru femei sau fete' },\n\t{ value: '62061000', label: '- Din mătase sau din deșeuri de mătase' },\n\t{ value: '62062000', label: '- Din lână sau păr fin de animale' },\n\t{ value: '62063000', label: '- Din bumbac' },\n\t{ value: '62064000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '62069000', label: '- Din alte materiale textile' },\n\t{ value: '62069010', label: '-- Din in sau ramie' },\n\t{ value: '62069090', label: '-- Din alte materiale textile' },\n\t{ value: '62070000', label: 'Bluze şi maiouri de corp, chiloți, indispensabili, cămăși de noapte, pijamale, halate de baie, halate de casă și articole similare, pentru bărbați sau pentru băieți' },\n\t{ value: '62071100', label: '- Chiloți și indispensabili' },\n\t{ value: '62071100', label: '-- Din bumbac' },\n\t{ value: '62071900', label: '-- Din alte materiale textile' },\n\t{ value: '62072100', label: '- Cămăși de noapte și pijamale' },\n\t{ value: '62072100', label: '-- Din bumbac' },\n\t{ value: '62072200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '62072900', label: '-- Din alte materiale textile' },\n\t{ value: '62079100', label: '- Altele' },\n\t{ value: '62079100', label: '-- Din bumbac' },\n\t{ value: '62079900', label: '-- Din alte materiale textile' },\n\t{ value: '62079910', label: '--- Din fibre sintetice sau artificiale' },\n\t{ value: '62079990', label: '--- Din alte materiale textile' },\n\t{ value: '62080000', label: 'Bluze de corp și cămăși de zi, combinezoane sau furouri, jupoane, chiloți, cămăși de noapte, pijamale, neglijeuri, halate de baie, halate de casă și articole similare, pentru femei sau fete' },\n\t{ value: '62081100', label: '- Combinezoane sau furouri și jupoane' },\n\t{ value: '62081100', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '62081900', label: '-- Din alte materiale textile' },\n\t{ value: '62082100', label: '- Cămăși de noapte și pijamale' },\n\t{ value: '62082100', label: '-- Din bumbac' },\n\t{ value: '62082200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '62082900', label: '-- Din alte materiale textile' },\n\t{ value: '62089100', label: '- Altele' },\n\t{ value: '62089100', label: '-- Din bumbac' },\n\t{ value: '62089200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '62089900', label: '-- Din alte materiale textile' },\n\t{ value: '62090000', label: 'Îmbrăcăminte și accesorii de îmbrăcăminte pentru sugari' },\n\t{ value: '62092000', label: '- Din bumbac' },\n\t{ value: '62093000', label: '- Din fibre sintetice' },\n\t{ value: '62099000', label: '- Din alte materiale textile' },\n\t{ value: '62099010', label: '-- Din lână sau din păr fin de animale' },\n\t{ value: '62099090', label: '-- Din alte materiale textile' },\n\t{ value: '62100000', label: 'Îmbrăcăminte confecționată din produsele de la pozițiile 5602, 5603, 5903, 5906 sau 5907' },\n\t{ value: '62101000', label: '- Din produsele de la poziția 5602 sau 5603' },\n\t{ value: '62101010', label: '-- Din produsele de la poziția 5602' },\n\t{ value: '62101092', label: '-- Din produsele de la poziția 5603' },\n\t{ value: '62101092', label: '--- Halate de unică folosință, de tipul celor utilizate de pacienți sau chirurgi în cursul intervențiilor chirurgicale' },\n\t{ value: '62101098', label: '--- Altele' },\n\t{ value: '62102000', label: '- Altă îmbrăcăminte de tipul celei descrise la poziția 6201' },\n\t{ value: '62103000', label: '- Altă îmbrăcăminte de tipul celei descrise la poziția 6202' },\n\t{ value: '62104000', label: '- Altă îmbrăcăminte pentru bărbați sau băieți' },\n\t{ value: '62105000', label: '- Altă îmbrăcăminte pentru femei sau fete' },\n\t{ value: '62110000', label: 'Îmbrăcăminte de sport (treninguri), combinezoane și costume de schi, costume, chiloți și slipuri, de baie; alte articole de îmbrăcăminte' },\n\t{ value: '62111100', label: '- Costume, chiloți și slipuri, de baie' },\n\t{ value: '62111100', label: '-- Pentru bărbați sau băieți' },\n\t{ value: '62111200', label: '-- Pentru femei și fete' },\n\t{ value: '62112000', label: '- Combinezoane și costume de schi' },\n\t{ value: '62113200', label: '- Altă îmbrăcăminte pentru bărbați sau băieți' },\n\t{ value: '62113200', label: '-- Din bumbac' },\n\t{ value: '62113210', label: '--- Îmbrăcăminte de lucru' },\n\t{ value: '62113231', label: '--- Îmbrăcăminte de sport (treninguri) cu căptușeală' },\n\t{ value: '62113231', label: '---- Al cărei exterior este realizat din același material' },\n\t{ value: '62113241', label: '---- Altele' },\n\t{ value: '62113241', label: '----- Părți superioare' },\n\t{ value: '62113242', label: '----- Părți inferioare' },\n\t{ value: '62113290', label: '--- Altele' },\n\t{ value: '62113300', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '62113310', label: '--- Îmbrăcăminte de lucru' },\n\t{ value: '62113331', label: '--- Îmbrăcăminte de sport (treninguri) cu căptușeală' },\n\t{ value: '62113331', label: '---- Al cărei exterior este realizat din același material' },\n\t{ value: '62113341', label: '---- Altele' },\n\t{ value: '62113341', label: '----- Părți superioare' },\n\t{ value: '62113342', label: '----- Părți inferioare' },\n\t{ value: '62113390', label: '--- Altele' },\n\t{ value: '62113900', label: '-- Din alte materiale textile' },\n\t{ value: '62114200', label: '- Alte articole de îmbrăcăminte, pentru femei sau pentru fete' },\n\t{ value: '62114200', label: '-- Din bumbac' },\n\t{ value: '62114210', label: '--- Șorțuri, bluze și altă îmbrăcăminte de lucru' },\n\t{ value: '62114231', label: '--- Îmbrăcăminte de sport (treninguri) cu căptușeală' },\n\t{ value: '62114231', label: '---- Al cărei exterior este realizat din același material' },\n\t{ value: '62114241', label: '---- Altele' },\n\t{ value: '62114241', label: '----- Părți superioare' },\n\t{ value: '62114242', label: '----- Părți inferioare' },\n\t{ value: '62114290', label: '--- Altele' },\n\t{ value: '62114300', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '62114310', label: '--- Șorțuri, bluze și altă îmbrăcăminte de lucru' },\n\t{ value: '62114331', label: '--- Îmbrăcăminte de sport (treninguri) cu căptușeală' },\n\t{ value: '62114331', label: '---- Al cărei exterior este realizat din același material' },\n\t{ value: '62114341', label: '---- Altele' },\n\t{ value: '62114341', label: '----- Părți superioare' },\n\t{ value: '62114342', label: '----- Părți inferioare' },\n\t{ value: '62114390', label: '--- Altele' },\n\t{ value: '62114900', label: '-- Din alte materiale textile' },\n\t{ value: '62120000', label: 'Sutiene, brâuri, corsete, bretele, suspensoare, jartiere și articole similare și părțile lor, chiar tricotate sau croșetate' },\n\t{ value: '62121000', label: '- Sutiene și bustiere' },\n\t{ value: '62121010', label: '-- Prezentate în seturi condiționate pentru vânzarea cu amănuntul, care conțin un sutien sau o bustieră și un chilot' },\n\t{ value: '62121090', label: '-- Altele' },\n\t{ value: '62122000', label: '- Brâuri şi brâuri-chilot' },\n\t{ value: '62123000', label: '- Corsete combinate' },\n\t{ value: '62129000', label: '- Altele' },\n\t{ value: '62130000', label: 'Batiste' },\n\t{ value: '62132000', label: '- Din bumbac' },\n\t{ value: '62139000', label: '- Din alte materiale textile' },\n\t{ value: '62140000', label: 'Șaluri, eșarfe, fulare, mantile, voaluri, voalete și articole similare' },\n\t{ value: '62141000', label: '- Din mătase sau din deșeuri de mătase' },\n\t{ value: '62142000', label: '- Din lână sau păr fin de animale' },\n\t{ value: '62143000', label: '- Din fibre sintetice' },\n\t{ value: '62144000', label: '- Din fibre artificiale' },\n\t{ value: '62149000', label: '- Din alte materiale textile' },\n\t{ value: '62150000', label: 'Cravate, papioane și fulare cravată' },\n\t{ value: '62151000', label: '- Din mătase sau din deșeuri de mătase' },\n\t{ value: '62152000', label: '- Din fibre sintetice sau artificiale' },\n\t{ value: '62159000', label: '- Din alte materiale textile' },\n\t{ value: '62160000', label: 'Mănuși, mitene și mănuși cu un deget' },\n\t{ value: '62170000', label: 'Alte accesorii de îmbrăcăminte confecționate; părți de îmbrăcăminte sau de accesorii de îmbrăcăminte, altele decât cele de la poziția 6212' },\n\t{ value: '62171000', label: '- Accesorii' },\n\t{ value: '62179000', label: '- Părți' },\n\t{ value: '63000000', label: 'ALTE ARTICOLE TEXTILE CONFECȚIONATE; SETURI; ÎMBRĂCĂMINTE PURTATĂ SAU UZATĂ ȘI ARTICOLE TEXTILE PURTATE SAU UZATE; ZDRENȚE' },\n\t{ value: '63010000', label: 'I. ALTE ARTICOLE TEXTILE CONFECȚIONATE' },\n\t{ value: '63010000', label: 'Pături și pleduri' },\n\t{ value: '63011000', label: '- Pături electrice' },\n\t{ value: '63012000', label: '- Pături (altele decât cele electrice) și pleduri din lână sau din păr fin de animale' },\n\t{ value: '63012010', label: '-- Tricotate sau croșetate' },\n\t{ value: '63012090', label: '-- Altele' },\n\t{ value: '63013000', label: '- Pături (altele decât păturile electrice) și pleduri, din bumbac' },\n\t{ value: '63013010', label: '-- Tricotate sau croșetate' },\n\t{ value: '63013090', label: '-- Altele' },\n\t{ value: '63014000', label: '- Pături (altele decât păturile electrice) și pleduri din fibre sintetice' },\n\t{ value: '63014010', label: '-- Tricotate sau croșetate' },\n\t{ value: '63014090', label: '-- Altele' },\n\t{ value: '63019000', label: '- Alte pături și pleduri' },\n\t{ value: '63019010', label: '-- Tricotate sau croșetate' },\n\t{ value: '63019090', label: '-- Altele' },\n\t{ value: '63020000', label: 'Lenjerie de pat, de masă, de toaletă sau de bucătărie' },\n\t{ value: '63021000', label: '- Lenjerie de pat, tricotată sau croșetată' },\n\t{ value: '63022100', label: '- Altă lenjerie de pat, imprimată' },\n\t{ value: '63022100', label: '-- Din bumbac' },\n\t{ value: '63022200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '63022210', label: '--- Nețesute' },\n\t{ value: '63022290', label: '--- Altele' },\n\t{ value: '63022900', label: '-- Din alte materiale textile' },\n\t{ value: '63022910', label: '--- Din in sau ramie' },\n\t{ value: '63022990', label: '--- Altele' },\n\t{ value: '63023100', label: '- Altă lenjerie de pat' },\n\t{ value: '63023100', label: '-- Din bumbac' },\n\t{ value: '63023200', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '63023210', label: '--- Nețesute' },\n\t{ value: '63023290', label: '--- Altele' },\n\t{ value: '63023900', label: '-- Din alte materiale textile' },\n\t{ value: '63023920', label: '--- Din in sau ramie' },\n\t{ value: '63023990', label: '--- Altele' },\n\t{ value: '63024000', label: '- Lenjerie de masă, tricotată sau croșetată' },\n\t{ value: '63025100', label: '- Altă lenjerie de masă' },\n\t{ value: '63025100', label: '-- Din bumbac' },\n\t{ value: '63025300', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '63025310', label: '--- Nețesute' },\n\t{ value: '63025390', label: '--- Altele' },\n\t{ value: '63025900', label: '-- Din alte materiale textile' },\n\t{ value: '63025910', label: '--- Din in' },\n\t{ value: '63025990', label: '--- Altele' },\n\t{ value: '63026000', label: '- Lenjerie de toaletă sau de bucătărie, din țesături buclate tip buret (\"éponge\"), din bumbac' },\n\t{ value: '63029100', label: '- Altele' },\n\t{ value: '63029100', label: '-- Din bumbac' },\n\t{ value: '63029300', label: '-- Din fibre sintetice sau artificiale' },\n\t{ value: '63029310', label: '--- Nețesute' },\n\t{ value: '63029390', label: '--- Altele' },\n\t{ value: '63029900', label: '-- Din alte materiale textile' },\n\t{ value: '63029910', label: '--- Din in' },\n\t{ value: '63029990', label: '--- Altele' },\n\t{ value: '63030000', label: 'Transperante, perdele și storuri de interior; draperii și garnituri de pat' },\n\t{ value: '63031200', label: '- Tricotate sau croșetate' },\n\t{ value: '63031200', label: '-- Din fibre sintetice' },\n\t{ value: '63031900', label: '-- Din alte materiale textile' },\n\t{ value: '63039100', label: '- Altele' },\n\t{ value: '63039100', label: '-- Din bumbac' },\n\t{ value: '63039200', label: '-- Din fibre sintetice' },\n\t{ value: '63039210', label: '--- Nețesute' },\n\t{ value: '63039290', label: '--- Altele' },\n\t{ value: '63039900', label: '-- Din alte materiale textile' },\n\t{ value: '63039910', label: '--- Nețesute' },\n\t{ value: '63039990', label: '--- Altele' },\n\t{ value: '63040000', label: 'Alte stofe de mobilă, cu excepția celor de la poziția 9404' },\n\t{ value: '63041100', label: '- Cuverturi de pat' },\n\t{ value: '63041100', label: '-- Tricotate sau croșetate' },\n\t{ value: '63041900', label: '-- Altele' },\n\t{ value: '63041910', label: '--- Din bumbac' },\n\t{ value: '63041930', label: '--- Din in sau ramie' },\n\t{ value: '63041990', label: '--- Din alte materiale textile' },\n\t{ value: '63042000', label: '- Plase pentru pat specificate la nota 1 de subpoziție de la acest capitol' },\n\t{ value: '63049100', label: '- Altele' },\n\t{ value: '63049100', label: '-- Tricotate sau croșetate' },\n\t{ value: '63049200', label: '-- Altele decât cele tricotate sau croșetate, din bumbac' },\n\t{ value: '63049300', label: '-- Altele decât cele tricotate sau croșetate, din fibre sintetice' },\n\t{ value: '63049900', label: '-- Altele decât cele tricotate sau croșetate, din alte materiale textile' },\n\t{ value: '63050000', label: 'Saci și săculeți pentru ambalarea mărfurilor' },\n\t{ value: '63051000', label: '- Din iută sau din alte fibre textile liberiene de la poziția 5303' },\n\t{ value: '63051010', label: '-- Uzați' },\n\t{ value: '63051090', label: '-- Altele' },\n\t{ value: '63052000', label: '- Din bumbac' },\n\t{ value: '63053200', label: '- Din materiale textile sintetice sau artificiale' },\n\t{ value: '63053200', label: '-- Containere (ambalaje) flexibile pentru materiale în vrac' },\n\t{ value: '63053211', label: '--- Din benzi sau forme similare de polietilenă sau de polipropilenă' },\n\t{ value: '63053211', label: '---- Tricotate sau croșetate' },\n\t{ value: '63053219', label: '---- Altele' },\n\t{ value: '63053290', label: '--- Altele' },\n\t{ value: '63053300', label: '-- Altele, obținute din foi sau forme similare de polietilenă sau de polipropilenă' },\n\t{ value: '63053310', label: '--- Tricotate sau croșetate' },\n\t{ value: '63053390', label: '--- Altele' },\n\t{ value: '63053900', label: '-- Altele' },\n\t{ value: '63059000', label: '- Din alte materiale textile' },\n\t{ value: '63060000', label: 'Prelate, storuri pentru exterior şi umbrare; corturi (inclusiv prelate temporare și articole similare); vele pentru ambarcațiuni, planșe cu vele, cărucioare cu velă; articole de camping' },\n\t{ value: '63061200', label: '- Prelate și storuri pentru exterior şi umbrare' },\n\t{ value: '63061200', label: '-- Din fibre sintetice' },\n\t{ value: '63061900', label: '-- Din alte materiale textile' },\n\t{ value: '63062200', label: '- Corturi (inclusiv prelate temporare și articole similar)' },\n\t{ value: '63062200', label: '-- Din fibre sintetice' },\n\t{ value: '63062900', label: '-- Din alte materiale textile' },\n\t{ value: '63063000', label: '- Vele' },\n\t{ value: '63064000', label: '- Saltele pneumatice' },\n\t{ value: '63069000', label: '- Altele' },\n\t{ value: '63070000', label: 'Alte articole confecționate, inclusiv tipare de îmbrăcăminte' },\n\t{ value: '63071000', label: '- Pânze groase pentru spălat podeaua, cârpe de vase, piele de căprioară și articole similare de întreținere' },\n\t{ value: '63071010', label: '-- Tricotate sau croșetate' },\n\t{ value: '63071030', label: '-- Nețesute' },\n\t{ value: '63071090', label: '-- Altele' },\n\t{ value: '63072000', label: '- Centuri și veste de salvare' },\n\t{ value: '63079000', label: '- Altele' },\n\t{ value: '63079010', label: '-- Tricotate sau croșetate' },\n\t{ value: '63079091', label: '-- Altele' },\n\t{ value: '63079091', label: '--- Din pâslă' },\n\t{ value: '63079092', label: '--- Altele' },\n\t{ value: '63079092', label: '---- Câmpuri operatorii de unică folosință confecționate din materiale de la poziția 5603, de tipul celor utilizate în cursul intervențiilor chirurgicale' },\n\t{ value: '63079093', label: '---- Măști de protecție pentru față' },\n\t{ value: '63079093', label: '----- Măști faciale filtrante (FFP) în conformitate cu standardul EN149; alte măști conforme cu un standard similar pentru măști utilizate ca dispozitive de protecție respiratorie, pentru protecția împotriva particulelor' },\n\t{ value: '63079095', label: '----- Altele' },\n\t{ value: '63079098', label: '---- Altele' },\n\t{ value: '63080000', label: 'II. SETURI' },\n\t{ value: '63080000', label: 'Seturi compuse din bucăți de țesături și din fire, cu sau fără accesorii, pentru confecționarea covoarelor, tapiseriilor, fețelor de masă sau a prosoapelor brodate sau a articolelor textile similare, condiționate pentru vânzarea cu amănuntul' },\n\t{ value: '63090000', label: 'III. ÎMBRĂCĂMINTE PURTATĂ SAU UZATĂ, ALTE ARTICOLE PURTATE SAU UZATE ȘI ZDRENȚE' },\n\t{ value: '63090000', label: 'Îmbrăcăminte purtată sau uzată și alte articole purtate sau uzate' },\n\t{ value: '63100000', label: 'Zdrențe, sfori, frânghii și funii, din materiale textile, sub formă de deșeuri sau de articole uzate' },\n\t{ value: '63101000', label: '- Triate' },\n\t{ value: '63109000', label: '- Altele' },\n\t{ value: '64000000', label: 'ÎNCĂLȚĂMINTE, GHETRE ȘI ARTICOLE SIMILARE; PĂRȚI ALE ACESTOR ARTICOLE' },\n\t{ value: '64010000', label: 'Încălțăminte etanșă cu tălpi exterioare și fețe din cauciuc sau din material plastic, a cărei față nu a fost nici fixată de talpa exterioară prin coasere sau prin nituri, cuie, șuruburi, știfturi sau dispozitive similare, nici formată din diferite părți asamblate prin procedee similare' },\n\t{ value: '64011000', label: '- Încălțăminte care încorporează în partea anterioară un bombeu de protecţie din metal' },\n\t{ value: '64019200', label: '- Altă încălțăminte' },\n\t{ value: '64019200', label: '-- Care acoperă glezna, dar nu acoperă genunchiul' },\n\t{ value: '64019210', label: '--- Cu fețe din cauciuc' },\n\t{ value: '64019290', label: '--- Cu fețe din material plastic' },\n\t{ value: '64019900', label: '-- Altele' },\n\t{ value: '64020000', label: 'Altă încălțăminte cu tălpi exterioare și fețe din cauciuc sau din material plastic' },\n\t{ value: '64021200', label: '- Încălțăminte pentru sport' },\n\t{ value: '64021200', label: '-- Încălțăminte pentru schi și încălțăminte pentru surf pe zăpadă' },\n\t{ value: '64021210', label: '--- Încălțăminte pentru schi' },\n\t{ value: '64021290', label: '--- Încălțăminte pentru surf pe zăpadă' },\n\t{ value: '64021900', label: '-- Altele' },\n\t{ value: '64022000', label: '- Încălțăminte cu fețe din curelușe sau bride fixate de talpă prin știfturi' },\n\t{ value: '64029100', label: '- Altă încălțăminte' },\n\t{ value: '64029100', label: '-- Care acoperă glezna' },\n\t{ value: '64029110', label: '--- Care încorporează în partea anterioară un bombeu de protecție din metal' },\n\t{ value: '64029190', label: '--- Altele' },\n\t{ value: '64029900', label: '-- Altele' },\n\t{ value: '64029905', label: '--- Care încorporează în partea anterioară un bombeu de protecție din metal' },\n\t{ value: '64029910', label: '--- Altele' },\n\t{ value: '64029910', label: '---- Cu fețe din cauciuc' },\n\t{ value: '64029931', label: '---- Cu fețe din material plastic' },\n\t{ value: '64029931', label: '----- Încălțăminte cu căpută formată din benzi (curelușe) sau care are unul sau mai multe decupaje' },\n\t{ value: '64029931', label: '------ Cu înălțimea tocului (inclusiv talpa) de peste 3 cm' },\n\t{ value: '64029939', label: '------ Altele' },\n\t{ value: '64029950', label: '----- Papuci de casă și altă încălțăminte de interior' },\n\t{ value: '64029991', label: '----- Altă încălțăminte, cu tălpile interioare de o lungime' },\n\t{ value: '64029991', label: '------ Sub 24 cm' },\n\t{ value: '64029993', label: '------ De minimum 24 cm' },\n\t{ value: '64029993', label: '------- Încălțăminte care nu poate fi identificată a fi pentru bărbați sau pentru femei' },\n\t{ value: '64029996', label: '------- Altele' },\n\t{ value: '64029996', label: '-------- Pentru bărbați' },\n\t{ value: '64029998', label: '-------- Pentru femei' },\n\t{ value: '64030000', label: 'Încălțăminte cu tălpi exterioare din cauciuc, material plastic, piele naturală sau reconstituită și cu fețe din piele naturală' },\n\t{ value: '64031200', label: '- Încălțăminte pentru sport' },\n\t{ value: '64031200', label: '-- Încălțăminte pentru schi și încălțăminte pentru surf pe zăpadă' },\n\t{ value: '64031900', label: '-- Altele' },\n\t{ value: '64032000', label: '- Încălțăminte cu tălpi exterioare din piele naturală și cu fețe confecționate din benzi din piele naturală care trec peste restul piciorului și înconjoară degetul mare' },\n\t{ value: '64034000', label: '- Alte articole de încălțăminte care încorporează un bombeu de protecție din metal' },\n\t{ value: '64035100', label: '- Alte articole de încălțăminte cu tălpi exterioare din piele naturală' },\n\t{ value: '64035100', label: '-- Care acoperă glezna' },\n\t{ value: '64035105', label: '--- Încălțăminte cu talpă de lemn, fără tălpi interioare' },\n\t{ value: '64035111', label: '--- Altele' },\n\t{ value: '64035111', label: '---- Care acoperă glezna, dar nu acoperă pulpa, cu tălpile interioare de o lungime' },\n\t{ value: '64035111', label: '----- Sub 24 cm' },\n\t{ value: '64035115', label: '----- De minimum 24 cm' },\n\t{ value: '64035115', label: '------ Pentru bărbați' },\n\t{ value: '64035119', label: '------ Pentru femei' },\n\t{ value: '64035191', label: '---- Altele, cu tălpi interioare de o lungime' },\n\t{ value: '64035191', label: '----- Sub 24 cm' },\n\t{ value: '64035195', label: '----- De minimum 24 cm' },\n\t{ value: '64035195', label: '------ Pentru bărbați' },\n\t{ value: '64035199', label: '------ Pentru femei' },\n\t{ value: '64035900', label: '-- Altele' },\n\t{ value: '64035905', label: '--- Încălțăminte cu talpă de lemn, fără tălpi interioare' },\n\t{ value: '64035911', label: '--- Altele' },\n\t{ value: '64035911', label: '---- Încălțăminte cu căpută formată din benzi (curelușe) sau din mai multe bucăți decupate' },\n\t{ value: '64035911', label: '----- Cu înălțimea tocului (inclusiv talpa) de peste 3 cm' },\n\t{ value: '64035931', label: '----- Altele, cu tălpile interioare de o lungime' },\n\t{ value: '64035931', label: '------ Sub 24 cm' },\n\t{ value: '64035935', label: '------ De minimum 24 cm' },\n\t{ value: '64035935', label: '------- Pentru bărbați' },\n\t{ value: '64035939', label: '------- Pentru femei' },\n\t{ value: '64035950', label: '---- Papuci de casă și altă încălțăminte de interior' },\n\t{ value: '64035991', label: '---- Altele, cu tălpile interioare de o lungime' },\n\t{ value: '64035991', label: '----- Sub 24 cm' },\n\t{ value: '64035995', label: '----- De minimum 24 cm' },\n\t{ value: '64035995', label: '------ Pentru bărbați' },\n\t{ value: '64035999', label: '------ Pentru femei' },\n\t{ value: '64039100', label: '- Altă încălțăminte' },\n\t{ value: '64039100', label: '-- Care acoperă glezna' },\n\t{ value: '64039105', label: '--- Încălțăminte cu talpă de lemn, fără tălpi interioare' },\n\t{ value: '64039111', label: '--- Altele' },\n\t{ value: '64039111', label: '---- Care acoperă glezna, dar nu acoperă și pulpa, cu tălpile interioare de o lungime' },\n\t{ value: '64039111', label: '----- Sub 24 cm' },\n\t{ value: '64039113', label: '----- De minimum 24 cm' },\n\t{ value: '64039113', label: '------ Încălțăminte care nu poate fi identificată a fi pentru bărbați sau pentru femei' },\n\t{ value: '64039116', label: '------ Altele' },\n\t{ value: '64039116', label: '------- Pentru bărbați' },\n\t{ value: '64039118', label: '------- Pentru femei' },\n\t{ value: '64039191', label: '---- Altele, cu tălpile interioare de o lungime' },\n\t{ value: '64039191', label: '----- Sub 24 cm' },\n\t{ value: '64039193', label: '----- De minimum 24 cm' },\n\t{ value: '64039193', label: '------ Încălțăminte care nu poate fi identificată a fi pentru bărbați sau pentru femei' },\n\t{ value: '64039196', label: '------ Altele' },\n\t{ value: '64039196', label: '------- Pentru bărbați' },\n\t{ value: '64039198', label: '------- Pentru femei' },\n\t{ value: '64039900', label: '-- Altele' },\n\t{ value: '64039905', label: '--- Încălțăminte cu talpă de lemn, fără tălpi interioare' },\n\t{ value: '64039911', label: '--- Altele' },\n\t{ value: '64039911', label: '---- Încălțăminte cu căpută formată din benzi (curelușe) sau din mai multe bucăți decupate' },\n\t{ value: '64039911', label: '----- Cu înălțimea tocului (inclusiv talpa) de peste 3 cm' },\n\t{ value: '64039931', label: '----- Altele, cu tălpi interioare de o lungime' },\n\t{ value: '64039931', label: '------ Sub 24 cm' },\n\t{ value: '64039933', label: '------ De minimum 24 cm' },\n\t{ value: '64039933', label: '------- Încălțăminte care nu poate fi identificată a fi pentru bărbați sau pentru femei' },\n\t{ value: '64039936', label: '------- Altele' },\n\t{ value: '64039936', label: '-------- Pentru bărbați' },\n\t{ value: '64039938', label: '-------- Pentru femei' },\n\t{ value: '64039950', label: '---- Papuci de casă și altă încălțăminte de interior' },\n\t{ value: '64039991', label: '---- Altele, cu tălpile interioare de o lungime' },\n\t{ value: '64039991', label: '----- Sub 24 cm' },\n\t{ value: '64039993', label: '----- De minimum 24 cm' },\n\t{ value: '64039993', label: '------ Încălțăminte care nu poate fi identificată a fi pentru bărbați sau pentru femei' },\n\t{ value: '64039996', label: '------ Altele' },\n\t{ value: '64039996', label: '------- Pentru bărbați' },\n\t{ value: '64039998', label: '------- Pentru femei' },\n\t{ value: '64040000', label: 'Încălțăminte cu tălpi exterioare din cauciuc, material plastic, piele naturală sau reconstituită și cu fețe din materiale textile' },\n\t{ value: '64041100', label: '- Încălțăminte cu tălpi exterioare din cauciuc sau material plastic' },\n\t{ value: '64041100', label: '-- Încălțăminte pentru sport; încălțăminte pentru tenis, pentru baschet, pentru gimnastică, pentru antrenament și încălțăminte similară' },\n\t{ value: '64041900', label: '-- Altele' },\n\t{ value: '64041910', label: '--- Papuci de casă și altă încălțăminte de interior' },\n\t{ value: '64041990', label: '--- Altele' },\n\t{ value: '64042000', label: '- Încălțăminte cu tălpi exterioare din piele naturală sau reconstituită' },\n\t{ value: '64042010', label: '-- Papuci de casă și altă încălțăminte de interior' },\n\t{ value: '64042090', label: '-- Altele' },\n\t{ value: '64050000', label: 'Altă încălțăminte' },\n\t{ value: '64051000', label: '- Cu fețe din piele naturală sau reconstituită' },\n\t{ value: '64052000', label: '- Cu fețe din materiale textile' },\n\t{ value: '64052010', label: '-- Cu tălpi exterioare din lemn sau plută' },\n\t{ value: '64052091', label: '-- Cu tălpi exterioare din alte materiale' },\n\t{ value: '64052091', label: '--- Papuci de casă și altă încălțăminte de interior' },\n\t{ value: '64052099', label: '--- Altele' },\n\t{ value: '64059000', label: '- Altele' },\n\t{ value: '64059010', label: '-- Cu tălpile exterioare din cauciuc, material plastic, piele naturală sau reconstituită' },\n\t{ value: '64059090', label: '-- Cu tălpi exterioare din alte materiale' },\n\t{ value: '64060000', label: 'Părți de încălțăminte (inclusiv fețele, chiar fixate pe tălpi, altele decât tălpile exterioare); tălpi interioare detașabile, branțuri și articole similare detașabile; ghetre, jambiere și articole similare și părți ale acestora' },\n\t{ value: '64061000', label: '- Fețe de încălțăminte și părțile lor, exclusiv ștaifurile și bombeurile dure' },\n\t{ value: '64061010', label: '-- Din piele naturală' },\n\t{ value: '64061090', label: '-- Din alte materiale' },\n\t{ value: '64062000', label: '- Tălpi exterioare și tocuri, din cauciuc sau din material plastic' },\n\t{ value: '64062010', label: '-- Din cauciuc' },\n\t{ value: '64062090', label: '-- Din material plastic' },\n\t{ value: '64069000', label: '- Altele' },\n\t{ value: '64069030', label: '-- Combinații formate din fețe de încălțăminte fixate pe primele tălpi sau pe alte părți inferioare, dar care sunt lipsite de tălpile exterioare' },\n\t{ value: '64069050', label: '-- Tălpi interioare detașabile și alte accesorii detașabile' },\n\t{ value: '64069060', label: '-- Tălpi exterioare din piele naturală sau reconstituită' },\n\t{ value: '64069090', label: '-- Altele' },\n\t{ value: '65000000', label: 'OBIECTE DE ACOPERIT CAPUL ȘI PĂRȚI ALE ACESTORA' },\n\t{ value: '65010000', label: 'Calote neformate pe calapod și fără boruri, discuri și cilindri pentru pălării, din pâslă, chiar tăiate în direcția înălțimii' },\n\t{ value: '65020000', label: 'Calote sau forme pentru pălării, împletite sau fabricate din benzi asamblate din orice material, neformate și fără boruri, necăptușite și neîmpodobite' },\n\t{ value: '65040000', label: 'Pălării și alte articole pentru acoperit capul, împletite sau confecționate prin îmbinarea benzilor din orice material, chiar căptușite sau împodobite' },\n\t{ value: '65050000', label: 'Pălării și alte articole pentru acoperit capul, tricotate sau croșetate, confecționate din dantelă, pâslă sau alte produse textile, sub formă de una sau mai multe bucăți (dar nu din benzi), chiar căptușite sau împodobite; plase și fileuri pentru păr din orice material, chiar căptușite sau împodobite' },\n\t{ value: '65050010', label: '- Din pâslă din păr fin de animale sau din lână și păr fin de animale, făcute din discurile și cilindriide la poziția 6501 00 00' },\n\t{ value: '65050030', label: '- Altele' },\n\t{ value: '65050030', label: '-- Caschete, chipiuri și alte articole similare, cu cozoroc, pentru acoperit capul' },\n\t{ value: '65050090', label: '-- Altele' },\n\t{ value: '65060000', label: 'Alte pălării sau articole pentru acoperit capul, chiar căptușite sau împodobite' },\n\t{ value: '65061000', label: '- Căşti de protecție' },\n\t{ value: '65061010', label: '-- Din material plastic' },\n\t{ value: '65061080', label: '-- Din alte materiale' },\n\t{ value: '65069100', label: '- Altele' },\n\t{ value: '65069100', label: '-- Din cauciuc sau din material plastic' },\n\t{ value: '65069900', label: '-- Din alte materiale' },\n\t{ value: '65069910', label: '--- Din pâslă din păr fin de animale sau din lână și păr fin de animale, făcute din discurile și cilindrii de la poziția 6501 00 00' },\n\t{ value: '65069990', label: '--- Altele' },\n\t{ value: '65070000', label: 'Benzi pentru garnituri interioare, căptușeli, capace, carcase, cozoroace și curelușe pentru obiectele de acoperit capul' },\n\t{ value: '66000000', label: 'UMBRELE DE PLOAIE, UMBRELE DE SOARE, BASTOANE, BASTOANE-SCAUN, BICE, CRAVAȘE ȘI PĂRȚI ALE ACESTORA' },\n\t{ value: '66010000', label: 'Umbrele de ploaie, umbrele de soare (inclusiv umbrele-baston, umbrele de grădină și articole similare)' },\n\t{ value: '66011000', label: '- Umbrele de grădină și articolele similare' },\n\t{ value: '66019100', label: '- Altele' },\n\t{ value: '66019100', label: '-- Cu tije sau mânere telescopice' },\n\t{ value: '66019900', label: '-- Altele' },\n\t{ value: '66019920', label: '--- Cu apărătoare din material textil țesut' },\n\t{ value: '66019990', label: '--- Altele' },\n\t{ value: '66020000', label: 'Bastoane, bastoane-scaun, bice, cravașe și articole similare' },\n\t{ value: '66030000', label: 'Părți, garnituri și accesorii pentru articolele de la poziția 6601 sau 6602' },\n\t{ value: '66032000', label: '- Cadre pentru umbrele, inclusiv cadre cu bețe sau mânere pentru umbrele de ploaie sau umbrele de soare' },\n\t{ value: '66039000', label: '- Altele' },\n\t{ value: '66039010', label: '-- Mânere și măciulii' },\n\t{ value: '66039090', label: '-- Altele' },\n\t{ value: '67000000', label: 'PENE ȘI PUF PRELUCRATE ȘI ARTICOLE DIN PENE SAU DIN PUF; FLORI ARTIFICIALE; ARTICOLE DIN PĂR UMAN' },\n\t{ value: '67010000', label: 'Piei și alte părți ale păsărilor, acoperite cu pene sau cu puf, pene, părți de pene, puf și articole din aceste materiale (altele decât produsele de la poziția 0505 și decât tijele penelor, prelucrate)' },\n\t{ value: '67020000', label: 'Flori, frunze și fructe artificiale și părțile lor; articole confecționate din flori, frunze sau fructe artificiale' },\n\t{ value: '67021000', label: '- Din materiale plastice' },\n\t{ value: '67029000', label: '- Din alte materiale' },\n\t{ value: '67030000', label: 'Păr uman pieptănat, subțiat, albit sau altfel prelucrat; lână, păr de animale și alte materiale textile, preparate pentru fabricarea perucilor și a articolelor similare' },\n\t{ value: '67040000', label: 'Peruci, bărbi, sprâncene, gene, meșe și articole similare din păr uman, din păr de animale sau din materiale textile; articole din păr uman nedenumite și necuprinse în altă parte' },\n\t{ value: '67041100', label: '- Din materiale textile sintetice' },\n\t{ value: '67041100', label: '-- Peruci complete' },\n\t{ value: '67041900', label: '-- Altele' },\n\t{ value: '67042000', label: '- Din păr uman' },\n\t{ value: '67049000', label: '- Din alte materiale' },\n\t{ value: '68000000', label: 'ARTICOLE DIN PIATRĂ, IPSOS, CIMENT, AZBEST, MICĂ SAU DIN MATERIALE SIMILARE' },\n\t{ value: '68010000', label: 'Pavele, borduri pentru trotuar și dale pentru pavaj, din pietre naturale (altele decât ardezia)' },\n\t{ value: '68020000', label: 'Pietre monumentale sau pentru construcție (altele decât ardezia) prelucrate și articole din aceste pietre, cu excepția celor de la poziția 6801; cuburi, blocuri și articole similare pentru mozaicuri, din pietre naturale (inclusiv ardezia), chiar pe suport; granule, cioburi și praf de pietre naturale (inclusiv ardezia) colorate artificial' },\n\t{ value: '68021000', label: '- Dale, cuburi, blocuri și articole similare, chiar sub altă formă decât cea pătrată sau dreptunghiulară, la care cea mai mare față poate fi înscrisă într-un pătrat cu latura sub 7 cm; granule, cioburi și praf, colorate artificial' },\n\t{ value: '68022100', label: '- Alte pietre monumentale sau pentru construcție și articole din aceste pietre, cioplite simplu sau tăiate, cu suprafața plană sau netedă' },\n\t{ value: '68022100', label: '-- Marmură, travertin și alabastru' },\n\t{ value: '68022300', label: '-- Granit' },\n\t{ value: '68022900', label: '-- Alte pietre' },\n\t{ value: '68029100', label: '- Altele' },\n\t{ value: '68029100', label: '-- Marmură, travertin și alabastru' },\n\t{ value: '68029200', label: '-- Alte pietre calcaroase' },\n\t{ value: '68029300', label: '-- Granit' },\n\t{ value: '68029310', label: '--- Șlefuit, decorat sau altfel prelucrat, dar nesculptat, cu o greutate netă de minimum 10 kg' },\n\t{ value: '68029390', label: '--- Altele' },\n\t{ value: '68029900', label: '-- Alte pietre' },\n\t{ value: '68029910', label: '--- Șlefuite, decorate sau altfel prelucrate, dar nesculptate, cu o greutate netă de minimum 10 kg' },\n\t{ value: '68029990', label: '--- Altele' },\n\t{ value: '68030000', label: 'Ardezie naturală prelucrată și articole din ardezie naturală sau aglomerată (ardezină)' },\n\t{ value: '68030010', label: '- Ardezie pentru acoperișuri sau pentru fațade' },\n\t{ value: '68030090', label: '- Altele' },\n\t{ value: '68040000', label: 'Pietre de moară, pietre abrazive și articole similare, fără batiuri, pentru măcinat, defibrat, concasat, ascuțit, polizat, șlefuit, rectificat, tăiat, pietre de ascuțit, de șlefuit sau de polizat manual și părțile lor, din pietre naturale, din materiale abrazive naturale sau artificiale, aglomerate sau din ceramică, chiar având părți din alte materiale' },\n\t{ value: '68041000', label: '- Pietre de moară și pietre abrazive pentru măcinat, sfărâmat, defibrat sau decorticat' },\n\t{ value: '68042100', label: '- Alte pietre de moară, pietre abrazive și articole similare' },\n\t{ value: '68042100', label: '-- Din diamante naturale sau sintetice, aglomerate' },\n\t{ value: '68042200', label: '-- Din alte materiale abrazive aglomerate sau din ceramică' },\n\t{ value: '68042212', label: '--- Din abrazive artificiale, cu aglomeranți' },\n\t{ value: '68042212', label: '---- Din rășini sintetice sau artificiale' },\n\t{ value: '68042212', label: '----- Fără armătură' },\n\t{ value: '68042218', label: '----- Cu armătură' },\n\t{ value: '68042230', label: '---- Din ceramică sau din silicați' },\n\t{ value: '68042250', label: '---- Din alte materiale' },\n\t{ value: '68042290', label: '--- Altele' },\n\t{ value: '68042300', label: '-- Din pietre naturale' },\n\t{ value: '68043000', label: '- Pietre de ascuțit, de șlefuit sau polizat manual' },\n\t{ value: '68050000', label: 'Pulberi sau granule abrazive naturale sau artificiale, aplicate pe suport din materiale textile, din hârtie, din carton sau din alte materiale, chiar decupate, cusute sau altfel asamblate' },\n\t{ value: '68051000', label: '- Aplicate numai pe țesături din materiale textile' },\n\t{ value: '68052000', label: '- Aplicate numai pe hârtie sau carton' },\n\t{ value: '68053000', label: '- Aplicate pe alte materiale' },\n\t{ value: '68060000', label: 'Lână de zgură, de rocă și altă lână minerală similară; vermiculită expandată, argile expandate, zgură expandată și produse din materiale minerale similare expandate; amestecuri și articole din materiale minerale pentru izolări termice sau fonice sau pentru absorbția zgomotului, altele decât cele de la pozițiile 6811, 6812 sau de la capitolul 69' },\n\t{ value: '68061000', label: '- Lână de zgură, de rocă și altă lână minerală similară, chiar amestecate între ele, în vrac, foi sau rulouri' },\n\t{ value: '68062000', label: '- Vermiculită expandată, argilă expandată, zgură expandată și produse minerale similare expandate, chiar amestecate între ele' },\n\t{ value: '68062010', label: '-- Argilă expandată' },\n\t{ value: '68062090', label: '-- Altele' },\n\t{ value: '68069000', label: '- Altele' },\n\t{ value: '68070000', label: 'Articole din asfalt sau din materiale similare (de exemplu, bitum de petrol sau smoală de huilă)' },\n\t{ value: '68071000', label: '- În rulouri' },\n\t{ value: '68079000', label: '- Altele' },\n\t{ value: '68080000', label: 'Panouri, planșe, dale, blocuri și articole similare, din fibre vegetale, din paie sau din talaș, așchii, rumeguș sau din alte deșeuri din lemn aglomerate cu ciment, ipsos sau alți lianți minerali' },\n\t{ value: '68090000', label: 'Articole din ipsos sau din compoziții pe bază de ipsos' },\n\t{ value: '68091100', label: '- Planșe, plăci, panouri, dale și articole similare, neornamentate' },\n\t{ value: '68091100', label: '-- Acoperite sau întărite numai cu hârtie sau cu carton' },\n\t{ value: '68091900', label: '-- Altele' },\n\t{ value: '68099000', label: '- Alte articole' },\n\t{ value: '68100000', label: 'Articole din ciment, din beton sau din piatră artificială, chiar armate' },\n\t{ value: '68101100', label: '- Țiglă, dale, cărămizi și articole similare' },\n\t{ value: '68101100', label: '-- Blocuri și cărămizi pentru construcții' },\n\t{ value: '68101110', label: '--- Din beton ușor (pe bază de piatră ponce sfărâmată, zgură granulată etc.)' },\n\t{ value: '68101190', label: '--- Altele' },\n\t{ value: '68101900', label: '-- Altele' },\n\t{ value: '68109100', label: '- Alte articole' },\n\t{ value: '68109100', label: '-- Elemente prefabricate pentru clădiri sau construcții civile' },\n\t{ value: '68109900', label: '-- Altele' },\n\t{ value: '68110000', label: 'Articole din azbociment, celulozociment sau similare' },\n\t{ value: '68114000', label: '- Care conțin azbest' },\n\t{ value: '68118100', label: '- Care nu conțin azbest' },\n\t{ value: '68118100', label: '-- Plăci ondulate' },\n\t{ value: '68118200', label: '-- Alte plăci, panouri, pavele (dale), țiglă și articole similare' },\n\t{ value: '68118900', label: '-- Alte articole' },\n\t{ value: '68120000', label: 'Azbest prelucrat în fibre; amestecuri pe bază de azbest sau pe bază de azbest și carbonat de magneziu; articole din aceste amestecuri sau din azbest (de exemplu: fire, țesături, obiecte de îmbrăcăminte, obiecte de acoperit capul, încălțăminte,garnituri), chiar armate, altele decât cele de la poziția 6811 sau 6813' },\n\t{ value: '68128000', label: '- Din crocidolit' },\n\t{ value: '68128010', label: '-- Prelucrat în fibre; amestecuri pe bază de crocidolit sau pe bază de crocidolit și carbonat de magneziu' },\n\t{ value: '68128090', label: '-- Altele' },\n\t{ value: '68129100', label: '- Altele' },\n\t{ value: '68129100', label: '-- Îmbrăcăminte, accesorii de îmbrăcăminte, încălțăminte și obiecte de acoperit capul' },\n\t{ value: '68129900', label: '-- Altele' },\n\t{ value: '68129910', label: '--- Azbest prelucrat în fibre; amestecuri pe bază de azbest sau pe bază de azbest și carbonat de magneziu' },\n\t{ value: '68129990', label: '--- Altele' },\n\t{ value: '68130000', label: 'Materiale de fricțiune și articole din acestea (de exemplu, plăci, role, benzi, segmenți, discuri, șaibe, membrane), nemontate, pentru frâne, pentru ambreiaje sau pentru toate organele supuse frecării, din azbest sau din alte substanțe minerale sau celuloză, chiar combinate cu materiale textile sau cu alte materiale' },\n\t{ value: '68132000', label: '- Care conțin azbest' },\n\t{ value: '68138100', label: '- Care nu conțin azbest' },\n\t{ value: '68138100', label: '-- Garnituri de frână' },\n\t{ value: '68138900', label: '-- Altele' },\n\t{ value: '68140000', label: 'Mică prelucrată și articole din mică, inclusiv mică aglomerată sau reconstituită, chiar pe suport din hârtie, din carton sau din alte materiale' },\n\t{ value: '68141000', label: '- Plăci, foi și benzi de mică aglomerată sau reconstituită, chiar pe suport' },\n\t{ value: '68149000', label: '- Altele' },\n\t{ value: '68150000', label: 'Articole din piatră sau din alte minerale (inclusiv din fibre de carbon și articole din acestea și articole din turbă), nedenumite și necuprinse în altă parte' },\n\t{ value: '68151100', label: '- Fibre de carbon; articole din fibre de carbon, pentru alte utilizări decât cele electrice; alte articole din grafit sau alt carbon, pentru alte utilizări decât cele electrice' },\n\t{ value: '68151100', label: '-- Fibre de carbon' },\n\t{ value: '68151200', label: '-- Materiale textile din fibre de carbon' },\n\t{ value: '68151300', label: '-- Alte articole din fibre de carbon' },\n\t{ value: '68151900', label: '-- Altele' },\n\t{ value: '68152000', label: '- Articole din turbă' },\n\t{ value: '68159100', label: '- Alte articole' },\n\t{ value: '68159100', label: '-- Care conțin magnezit, magnezie sub formă de periclaz, dolomită, inclusiv sub formă de var dolomitic, sau cromită' },\n\t{ value: '68159900', label: '-- Altele' },\n\t{ value: '69000000', label: 'PRODUSE CERAMICE' },\n\t{ value: '69010000', label: 'I. PRODUSE DIN PULBERI SILICIOASE FOSILE SAU DIN PĂMÂNTURI SILICIOASE SIMILARE ȘI PRODUSE REFRACTARE' },\n\t{ value: '69010000', label: 'Cărămizi, blocuri, dale, plăci și alte produse ceramice din pulberi silicioase fosile (de exemplu, kiselgur, tripolit, diatomit) sau din pământuri silicioase similare' },\n\t{ value: '69020000', label: 'Cărămizi, blocuri, dale, plăci și produse similare din ceramică, refractare, pentru construcții, altele decât cele din pulberi silicioase fosile sau din pământuri silicioase similare' },\n\t{ value: '69021000', label: '- Cu un conținut în greutate de peste 50 % de Mg, Ca sau Cr, considerate izolat sau împreună, exprimate ca MgO, CaO sau Cr2O3' },\n\t{ value: '69022000', label: '- Cu un conținut în greutate de peste 50 % de alumină (Al2O3), de silice (SiO2) sau de un amestec ori o combinație a acestor produse' },\n\t{ value: '69022010', label: '-- Cu un conținut de silice (SiO2) de minimum 93 % din greutate' },\n\t{ value: '69022091', label: '-- Altele' },\n\t{ value: '69022091', label: '--- Cu un conținut de alumină (Al2O3) de peste 7 %, dar sub 45 % din greutate' },\n\t{ value: '69022099', label: '--- Altele' },\n\t{ value: '69029000', label: '- Altele' },\n\t{ value: '69030000', label: 'Alte produse ceramice refractare (de exemplu retorte, creuzete, mufle, ajutaje, tampoane, suporturi, cupe, tuburi, țevi, teci, baghete, profile și vane cu glisieră), altele decât cele din pulberi silicioase fosile sau din pământuri silicioase similare' },\n\t{ value: '69031000', label: '- Cu un conținut în greutate de peste 50 % de carbon liber' },\n\t{ value: '69032000', label: '- Cu un conținut în greutate de peste 50 % de alumină (Al2O3) sau de amestec sau combinație de alumină și silice (SiO2)' },\n\t{ value: '69032010', label: '-- Cu un conținut de alumină (Al2O3) sub 45 % din greutate' },\n\t{ value: '69032090', label: '-- Cu un conținut de alumină (Al2O3) de minimum 45 % din greutate' },\n\t{ value: '69039000', label: '- Altele' },\n\t{ value: '69039010', label: '-- Cu un conținut de grafit sau alt cărbune sau de amestec al acestor produse de peste 25 %, dar maximum 50 % din greutate' },\n\t{ value: '69039090', label: '-- Altele' },\n\t{ value: '69040000', label: 'II. ALTE PRODUSE CERAMICE' },\n\t{ value: '69040000', label: 'Cărămizi pentru construcții, blocuri şi dale pentru pardoseală, cărămizi pentru fațade și articole similare, din ceramică' },\n\t{ value: '69041000', label: '- Cărămizi pentru construcții' },\n\t{ value: '69049000', label: '- Altele' },\n\t{ value: '69050000', label: 'Țiglă pentru acoperișuri, elemente de șemineu, canale de fum, ornamente arhitectonice din ceramică și alte articole de construcție din ceramică' },\n\t{ value: '69051000', label: '- Țiglă pentru acoperișuri' },\n\t{ value: '69059000', label: '- Altele' },\n\t{ value: '69060000', label: 'Țevi, jgheaburi și accesorii de țevărie, din ceramică' },\n\t{ value: '69070000', label: 'Plăci și dale din ceramică pentru pavaj sau pentru acoperit pereții; cuburi din ceramică pentru mozaic și articole similare, indiferent dacă sunt pe un suport sau nu; ceramică de finisaj' },\n\t{ value: '69072100', label: '- Plăci și dale pentru pavaj sau pentru acoperit pereții, altele decât cele de la subpozițiile 6907 30 și 6907 40' },\n\t{ value: '69072100', label: '-- Cu un coeficient de absorbție a apei care nu depășește 0,5 % din greutate' },\n\t{ value: '69072200', label: '-- Cu un coeficient de absorbție a apei care depășește 0,5 %, dar nu depășește 10 % din greutate' },\n\t{ value: '69072300', label: '-- Cu un coeficient de absorbție a apei care depășește 10 % din greutate' },\n\t{ value: '69073000', label: '- Cuburi pentru mozaic și articole similare, altele decât cele de la subpoziția 6907 40' },\n\t{ value: '69074000', label: '- Ceramică de finisaj' },\n\t{ value: '69090000', label: 'Aparate și articole din ceramică pentru laborator, utilizări chimice sau pentru alte scopuri tehnice; jgheaburi, rezervoare și recipiente similare din ceramică pentru gospodăria rurală; ulcioare și recipiente similare de transport sau ambalare, din ceramică' },\n\t{ value: '69091100', label: '- Aparate și articole pentru laborator, utilizări chimice sau pentru alte scopuri tehnice' },\n\t{ value: '69091100', label: '-- Din porțelan' },\n\t{ value: '69091200', label: '-- Articole cu o duritate echivalentă de minimum 9 pe scala Mohs' },\n\t{ value: '69091900', label: '-- Altele' },\n\t{ value: '69099000', label: '- Altele' },\n\t{ value: '69100000', label: 'Chiuvete, lavoare, suporți pentru lavoare, căzi de baie, bideuri, vase de closet, rezervoare de apă pentru closet, pisoare și articole similare fixe din ceramică, pentru uz sanitar' },\n\t{ value: '69101000', label: '- Din porțelan' },\n\t{ value: '69109000', label: '- Altele' },\n\t{ value: '69110000', label: 'Articole pentru servicii de masă sau de bucătărie, alte articole de menaj sau de uz gospodăresc și articole de igienă sau de toaletă, din porțelan' },\n\t{ value: '69111000', label: '- Articole pentru servicii de masă sau de bucătărie' },\n\t{ value: '69119000', label: '- Altele' },\n\t{ value: '69120000', label: 'Articole pentru servicii de masă sau de bucătărie, alte articole de menaj sau de uz gospodăresc și articole de igienă sau de toaletă, din ceramică, altele decât din porțelan' },\n\t{ value: '69120021', label: '- Articole pentru servicii de masă sau de bucătărie' },\n\t{ value: '69120021', label: '-- Din ceramică comună' },\n\t{ value: '69120023', label: '-- Din gresie' },\n\t{ value: '69120025', label: '-- Din faianță sau ceramică fină' },\n\t{ value: '69120029', label: '-- Altele' },\n\t{ value: '69120081', label: '- Altele' },\n\t{ value: '69120081', label: '-- Din ceramică comună' },\n\t{ value: '69120083', label: '-- Din gresie' },\n\t{ value: '69120085', label: '-- Din faianță sau ceramică fină' },\n\t{ value: '69120089', label: '-- Altele' },\n\t{ value: '69130000', label: 'Statuete și alte obiecte de ornament din ceramică' },\n\t{ value: '69131000', label: '- Din porțelan' },\n\t{ value: '69139000', label: '- Altele' },\n\t{ value: '69139010', label: '-- Din ceramică comună' },\n\t{ value: '69139093', label: '-- Altele' },\n\t{ value: '69139093', label: '--- Din faianță sau ceramică fină' },\n\t{ value: '69139098', label: '--- Altele' },\n\t{ value: '69140000', label: 'Alte articole din ceramică' },\n\t{ value: '69141000', label: '- Din porțelan' },\n\t{ value: '69149000', label: '- Altele' },\n\t{ value: '70000000', label: 'STICLĂ ȘI ARTICOLE DIN STICLĂ' },\n\t{ value: '70010000', label: 'Cioburi și alte deșeuri și resturi din sticlă, cu excepția sticlei provenite din tuburile catodice sau a altor tipuri de sticlă activă de la poziția 8549; sticlă în masă' },\n\t{ value: '70010010', label: '- Cioburi și alte deșeuri și resturi din sticlă' },\n\t{ value: '70010091', label: '- Sticlă în masă' },\n\t{ value: '70010091', label: '-- Sticlă optică' },\n\t{ value: '70010099', label: '-- Altele' },\n\t{ value: '70020000', label: 'Bile din sticlă (altele decât microsferele de la poziția 7018), bare, baghete sau tuburi, neprelucrate' },\n\t{ value: '70021000', label: '- Bile' },\n\t{ value: '70022000', label: '- Bare sau baghete' },\n\t{ value: '70022010', label: '-- Din sticlă optică' },\n\t{ value: '70022090', label: '-- Altele' },\n\t{ value: '70023100', label: '- Tuburi' },\n\t{ value: '70023100', label: '-- Din cuarț sau din alte silice topite' },\n\t{ value: '70023200', label: '-- Din altă sticlă cu un coeficient de dilatare liniară de maximum 5 x 10-6 per grad Kelvin între 0 °C și 300 °C' },\n\t{ value: '70023900', label: '-- Altele' },\n\t{ value: '70030000', label: 'Sticlă turnată, laminată în plăci, foi sau profile, chiar cu strat absorbant, reflectorizant sau nereflectorizant, dar neprelucrată altfel' },\n\t{ value: '70031200', label: '- Plăci și foi nearmate' },\n\t{ value: '70031200', label: '-- Colorate în masă, opacifiate, placate (dublate) sau cu strat absorbant, reflectorizant sau nereflectorizant' },\n\t{ value: '70031210', label: '--- Din sticlă optică' },\n\t{ value: '70031291', label: '--- Altele' },\n\t{ value: '70031291', label: '---- Cu strat nereflectorizant' },\n\t{ value: '70031299', label: '---- Altele' },\n\t{ value: '70031900', label: '-- Altele' },\n\t{ value: '70031910', label: '--- Din sticlă optică' },\n\t{ value: '70031990', label: '--- Altele' },\n\t{ value: '70032000', label: '- Plăci și foi, armate' },\n\t{ value: '70033000', label: '- Profile' },\n\t{ value: '70040000', label: 'Sticlă trasă sau suflată, în foi, chiar cu strat absorbant, reflectorizant sau nereflectorizant, dar neprelucrată altfel' },\n\t{ value: '70042000', label: '- Sticlă colorată în masă, opacifiată, placată (dublată) sau cu strat absorbant, reflectorizant sau nereflectorizant' },\n\t{ value: '70042010', label: '-- Sticlă optică' },\n\t{ value: '70042091', label: '-- Altele' },\n\t{ value: '70042091', label: '--- Cu strat nereflectorizant' },\n\t{ value: '70042099', label: '--- Altele' },\n\t{ value: '70049000', label: '- Altă sticlă' },\n\t{ value: '70049010', label: '-- Sticlă optică' },\n\t{ value: '70049080', label: '-- Altele' },\n\t{ value: '70050000', label: 'Geam (sticlă flotată și sticlă șlefuită sau polizată pe una sau două fețe) în foi sau în plăci, chiar cu strat absorbant, reflectorizant sau nereflectorizant, dar neprelucrată altfel' },\n\t{ value: '70051000', label: '- Geam nearmat, cu strat absorbant, reflectorizant sau nereflectorizant' },\n\t{ value: '70051005', label: '-- Cu strat nereflectorizant' },\n\t{ value: '70051025', label: '-- Altele, cu grosimea' },\n\t{ value: '70051025', label: '--- De maximum 3,5 mm' },\n\t{ value: '70051030', label: '--- De peste 3,5 mm, dar de maximum 4,5 mm' },\n\t{ value: '70051080', label: '--- De peste 4,5 mm' },\n\t{ value: '70052100', label: '- Alte geamuri nearmate' },\n\t{ value: '70052100', label: '-- Colorate în masă, opacifiate, placate (dublate) sau simplu șlefuite' },\n\t{ value: '70052125', label: '--- Cu grosimea de maximum 3,5 mm' },\n\t{ value: '70052130', label: '--- Cu grosimea de peste 3,5 mm, dar de maximum 4,5 mm' },\n\t{ value: '70052180', label: '--- Cu grosimea de peste 4,5 mm' },\n\t{ value: '70052900', label: '-- Altele' },\n\t{ value: '70052925', label: '--- Cu grosimea de maximum 3,5 mm' },\n\t{ value: '70052935', label: '--- Cu grosimea de peste 3,5 mm, dar de maximum 4,5 mm' },\n\t{ value: '70052980', label: '--- Cu grosimea de peste 4,5 mm' },\n\t{ value: '70053000', label: '- Geam armat' },\n\t{ value: '70060000', label: 'Sticlă de la pozițiile 7003, 7004 sau 7005, curbată, bizotată (tăiată oblic), gravată, perforată, emailată sau altfel prelucrată, dar neînrămată și necombinată cu alte materiale' },\n\t{ value: '70060010', label: '- Sticlă optică' },\n\t{ value: '70060090', label: '- Altele' },\n\t{ value: '70070000', label: 'Sticlă securit, constând din sticlă călită sau formată din foi lipite (stratificată)' },\n\t{ value: '70071100', label: '- Sticlă securit călită' },\n\t{ value: '70071100', label: '-- De dimensiuni și forme care permit utilizarea lor pentru autovehicule, vehicule aeriene, nave sau alte vehicule' },\n\t{ value: '70071110', label: '--- De dimensiuni și forme care permit a fi folosite pentru autovehicule și tractoare' },\n\t{ value: '70071190', label: '--- Altele' },\n\t{ value: '70071900', label: '-- Altele' },\n\t{ value: '70071910', label: '--- Emailate' },\n\t{ value: '70071920', label: '--- Colorate în masă, opacifiate, placate (dublate) sau cu strat absorbant sau reflectorizant' },\n\t{ value: '70071980', label: '--- Altele' },\n\t{ value: '70072100', label: '- Sticlă securit formată din foi lipite (stratificată)' },\n\t{ value: '70072100', label: '-- De dimensiuni și forme care permit utilizarea lor pentru autovehicule, vehicule aeriene, nave sau pentru alte vehicule' },\n\t{ value: '70072120', label: '--- De dimensiuni și forme care permit folosirea lor pentru autovehicule și tractoare' },\n\t{ value: '70072180', label: '--- Altele' },\n\t{ value: '70072900', label: '-- Altele' },\n\t{ value: '70080000', label: 'Sticlă izolantă cu straturi multiple' },\n\t{ value: '70080020', label: '- Colorată în masă, opacifiată, placată (dublată) sau cu strat absorbant sau reflectorizant' },\n\t{ value: '70080081', label: '- Altele' },\n\t{ value: '70080081', label: '-- Formate din două plăci de sticlă închise ermetic de jur împrejur printr-o îmbinare și separate printr-un strat de aer, de alt gaz sau de vid' },\n\t{ value: '70080089', label: '-- Altele' },\n\t{ value: '70090000', label: 'Oglinzi din sticlă, chiar înrămate, inclusiv oglinzile retrovizoare' },\n\t{ value: '70091000', label: '- Oglinzi retrovizoare pentru vehicule' },\n\t{ value: '70099100', label: '- Altele' },\n\t{ value: '70099100', label: '-- Neînrămate' },\n\t{ value: '70099200', label: '-- Înrămate' },\n\t{ value: '70100000', label: 'Damigene, sticle, baloane, borcane, căni, ambalaje tubulare, fiole și alte recipiente, din sticlă, folosite pentru transport sau ambalare; recipiente din sticlă pentru conserve; dopuri, capace și alte dispozitive de închidere, din sticlă' },\n\t{ value: '70101000', label: '- Fiole' },\n\t{ value: '70102000', label: '- Dopuri, capace și alte dispozitive de închidere' },\n\t{ value: '70109000', label: '- Altele' },\n\t{ value: '70109010', label: '-- Recipiente de sterilizare' },\n\t{ value: '70109021', label: '-- Altele' },\n\t{ value: '70109021', label: '--- Obţinute din tuburi (țevi) din sticlă' },\n\t{ value: '70109031', label: '--- Altele de o capacitate nominală' },\n\t{ value: '70109031', label: '---- De minimum 2,5 l' },\n\t{ value: '70109041', label: '---- Sub 2,5 l' },\n\t{ value: '70109041', label: '----- Pentru băuturi şi alte produse alimentare' },\n\t{ value: '70109041', label: '------ Sticle' },\n\t{ value: '70109041', label: '------- Din sticlă necolorată, de o capacitate nominală' },\n\t{ value: '70109041', label: '-------- De minimum 1 l' },\n\t{ value: '70109043', label: '-------- De peste 0,33 l, dar sub 1 l' },\n\t{ value: '70109045', label: '-------- De minimum 0,15 l, dar de maximum 0,33 l' },\n\t{ value: '70109047', label: '-------- Sub 0,15 l' },\n\t{ value: '70109051', label: '------- Din sticlă colorată, de o capacitate nominală' },\n\t{ value: '70109051', label: '-------- De minimum 1 l' },\n\t{ value: '70109053', label: '-------- De peste 0,33 l, dar sub 1 l' },\n\t{ value: '70109055', label: '-------- De minimum 0,15 l, dar de maximum 0,33 l' },\n\t{ value: '70109057', label: '-------- Sub 0,15 l' },\n\t{ value: '70109061', label: '------ Altele, de o capacitate nominală' },\n\t{ value: '70109061', label: '------- De minimum 0,25 l' },\n\t{ value: '70109067', label: '------- Sub 0,25 l' },\n\t{ value: '70109071', label: '----- Pentru produse farmaceutice, de o capacitate nominală' },\n\t{ value: '70109071', label: '------ De peste 0,055 l' },\n\t{ value: '70109079', label: '------ De maximum 0,055 l' },\n\t{ value: '70109091', label: '----- Pentru alte produse' },\n\t{ value: '70109091', label: '------ Din sticlă necolorată' },\n\t{ value: '70109099', label: '------ Din sticlă colorată' },\n\t{ value: '70110000', label: 'Învelișuri din sticlă (inclusiv baloane și tuburi), deschise și părți ale acestora, din sticlă, fără garnituri, pentru lămpi electrice și surse de lumină, tuburi catodice sau similare' },\n\t{ value: '70111000', label: '- Pentru iluminat electric' },\n\t{ value: '70112000', label: '- Pentru tuburi catodice' },\n\t{ value: '70119000', label: '- Altele' },\n\t{ value: '70130000', label: 'Obiecte din sticlă pentru servicii de masă, pentru bucătărie, toaletă, birou, pentru decorarea locuințelor sau pentru utilizări similare, altele decât cele de la pozițiile 7010 sau 7018' },\n\t{ value: '70131000', label: '- Obiecte din vitroceramică' },\n\t{ value: '70132200', label: '- Pahare cu picior pentru băut, altele decât cele din vitroceramică' },\n\t{ value: '70132200', label: '-- Din cristal cu plumb' },\n\t{ value: '70132210', label: '--- Prelucrate manual' },\n\t{ value: '70132290', label: '--- Prelucrate mecanic' },\n\t{ value: '70132800', label: '-- Altele' },\n\t{ value: '70132810', label: '--- Prelucrate manual' },\n\t{ value: '70132890', label: '--- Prelucrate mecanic' },\n\t{ value: '70133300', label: '- Alte pahare pentru băut, altele decât cele din vitroceramică' },\n\t{ value: '70133300', label: '-- Din cristal cu plumb' },\n\t{ value: '70133311', label: '--- Prelucrate manual' },\n\t{ value: '70133311', label: '---- Șlefuite sau altfel decorate' },\n\t{ value: '70133319', label: '---- Altele' },\n\t{ value: '70133391', label: '--- Prelucrate mecanic' },\n\t{ value: '70133391', label: '---- Șlefuite sau altfel decorate' },\n\t{ value: '70133399', label: '---- Altele' },\n\t{ value: '70133700', label: '-- Altele' },\n\t{ value: '70133710', label: '--- Din sticlă călită' },\n\t{ value: '70133751', label: '--- Altele' },\n\t{ value: '70133751', label: '---- Prelucrate manual' },\n\t{ value: '70133751', label: '----- Șlefuite sau altfel decorate' },\n\t{ value: '70133759', label: '----- Altele' },\n\t{ value: '70133791', label: '---- Prelucrate mecanic' },\n\t{ value: '70133791', label: '----- Șlefuite sau altfel decorate' },\n\t{ value: '70133799', label: '----- Altele' },\n\t{ value: '70134100', label: '- Obiecte pentru servicii de masă (altele decât paharele de băut) sau pentru bucătărie, altele decât cele din vitroceramică' },\n\t{ value: '70134100', label: '-- Din cristal cu plumb' },\n\t{ value: '70134110', label: '--- Prelucrate manual' },\n\t{ value: '70134190', label: '--- Prelucrate mecanic' },\n\t{ value: '70134200', label: '-- Din sticlă cu un coeficient de dilatare liniară de maximum 5 x 10-6 per grad Kelvin între 0 °C și 300 °C' },\n\t{ value: '70134900', label: '-- Altele' },\n\t{ value: '70134910', label: '--- Din sticlă călită' },\n\t{ value: '70134991', label: '--- Din altfel de sticlă' },\n\t{ value: '70134991', label: '---- Prelucrate manual' },\n\t{ value: '70134999', label: '---- Prelucrate mecanic' },\n\t{ value: '70139100', label: '- Alte obiecte' },\n\t{ value: '70139100', label: '-- Din cristal cu plumb' },\n\t{ value: '70139110', label: '--- Prelucrate manual' },\n\t{ value: '70139190', label: '--- Prelucrate mecanic' },\n\t{ value: '70139900', label: '-- Altele' },\n\t{ value: '70140000', label: 'Articole din sticlă pentru semnalizare și elemente de optică din sticlă (altele decât cele de la poziția 7015), neprelucrate optic' },\n\t{ value: '70150000', label: 'Sticlă pentru ceasuri și sticlă similară, sticlă pentru industria optică sau medicală, bombată, curbată, scobită sau similare, neprelucrată optic; sfere (bule) scobite și segmentele lor, pentru fabricarea acestor obiecte din sticlă' },\n\t{ value: '70151000', label: '- Sticlă pentru optică medicală' },\n\t{ value: '70159000', label: '- Altele' },\n\t{ value: '70160000', label: 'Pavele, dale, cărămizi, plăci, țigle și alte articole, din sticlă presată sau turnată, chiar armată, pentru clădiri sau construcții; cuburi, blocuri și alte articole din sticlă, chiar pe suport, pentru mozaicuri sau decorațiuni similare; sticlă asamblată în vitralii; sticlă numită \"multicelulară\" sau sticlă \"spumoasă\" în blocuri, panouri, plăci, cochilii sau forme similare' },\n\t{ value: '70161000', label: '- Cuburi, blocuri și alte articole din sticlă, chiar pe suport, pentru mozaicuri sau decorațiuni similare' },\n\t{ value: '70169000', label: '- Altele' },\n\t{ value: '70169010', label: '-- Sticlă asamblată în vitralii' },\n\t{ value: '70169040', label: '-- Blocuri și cărămizi pentru clădiri sau construcții' },\n\t{ value: '70169070', label: '-- Altele' },\n\t{ value: '70170000', label: 'Sticlărie de laborator, de igienă sau de farmacie, chiar gradată sau calibrată' },\n\t{ value: '70171000', label: '- Din cuarț sau din alte silice topite' },\n\t{ value: '70172000', label: '- Din altă sticlă cu coeficientul de dilatare liniară de maximum 5 x 10-6 per grad Kelvin între 0 °C și 300 °C' },\n\t{ value: '70179000', label: '- Altele' },\n\t{ value: '70180000', label: 'Mărgele din sticlă, imitații de perle naturale sau de cultură, imitații de pietre prețioase sau semiprețioase, articole similare de sticlărie și articole din acestea, altele decât imitațiile de bijuterii; ochi de sticlă, alții decât protezele; statuete și alte articole de ornament, din sticlă prelucrată sau trasă (sticlă filată), altele decât imitațiile de bijuterii; microsfere din sticlă cu diametrul de maximum 1 mm' },\n\t{ value: '70181000', label: '- Mărgele din sticlă, imitații de perle naturale sau de cultură, imitații de pietre prețioase sau semiprețioase și articole similare din sticlă' },\n\t{ value: '70181011', label: '-- Mărgele de sticlă' },\n\t{ value: '70181011', label: '--- Șlefuite și polizate mecanic' },\n\t{ value: '70181019', label: '--- Altele' },\n\t{ value: '70181030', label: '-- Imitații de perle naturale sau de cultură' },\n\t{ value: '70181051', label: '-- Imitații de pietre prețioase sau semiprețioase' },\n\t{ value: '70181051', label: '--- Șlefuite și polizate mecanic' },\n\t{ value: '70181059', label: '--- Altele' },\n\t{ value: '70181090', label: '-- Altele' },\n\t{ value: '70182000', label: '- Microsfere din sticlă, cu diametrul de maximum 1 mm' },\n\t{ value: '70189000', label: '- Altele' },\n\t{ value: '70189010', label: '-- Ochi de sticlă; obiecte de sticlărie' },\n\t{ value: '70189090', label: '-- Altele' },\n\t{ value: '70190000', label: 'Fibre de sticlă (inclusiv vata de sticlă) și articole din aceste materiale [de exemplu, fire, semitort (rovings), țesături]' },\n\t{ value: '70191100', label: '- Șuvițe, semitort (rovings), fire, tăiate (chopped strands) sau nu, și covoare (mats) din aceste materiale' },\n\t{ value: '70191100', label: '-- Fire tăiate (chopped strands), cu lungimea de maximum 50 mm' },\n\t{ value: '70191200', label: '-- Semitort (rovings)' },\n\t{ value: '70191300', label: '-- Alte fire, șuvițe' },\n\t{ value: '70191400', label: '-- Covoare (mats) legate mecanic' },\n\t{ value: '70191500', label: '-- Covoare (mats) legate chimic' },\n\t{ value: '70191900', label: '-- Altele' },\n\t{ value: '70196100', label: '- Țesături legate mecanic' },\n\t{ value: '70196100', label: '-- Țesături din semitort (rovings) cu cusătură închisă' },\n\t{ value: '70196200', label: '-- Alte țesături din semitort (rovings) cu cusătură închisă' },\n\t{ value: '70196300', label: '-- Țesături din fire cu cusătură închisă, cu legătură pânză, neîmbrăcate sau nestratificate' },\n\t{ value: '70196400', label: '-- Țesături din fire cu cusătură închisă, cu legătură pânză, îmbrăcate sau stratificate' },\n\t{ value: '70196500', label: '-- Țesături din fire cu cusătură deschisă cu o lățime de maximum 30 cm' },\n\t{ value: '70196600', label: '-- Țesături din fire cu cusătură deschisă cu o lățime de minimum 30 cm' },\n\t{ value: '70196900', label: '-- Altele' },\n\t{ value: '70196910', label: '--- Țesături lucrate mecanic și țesături răsucite' },\n\t{ value: '70196990', label: '--- Altele' },\n\t{ value: '70197100', label: '- Țesături legate chimic' },\n\t{ value: '70197100', label: '-- Voaluri (straturi subțiri)' },\n\t{ value: '70197200', label: '-- Alte țesături cu cusătură închisă' },\n\t{ value: '70197300', label: '-- Alte țesături cu cusătură deschisă' },\n\t{ value: '70198000', label: '- Vată de sticlă și articole din vată de sticlă' },\n\t{ value: '70198010', label: '-- Panouri, saltele și produse similare' },\n\t{ value: '70198090', label: '-- Altele' },\n\t{ value: '70199000', label: '- Altele' },\n\t{ value: '70200000', label: 'Alte articole din sticlă' },\n\t{ value: '70200005', label: '- Tuburi de reacție din cuarț și suporții lor destinați cuptoarelor de difuzie și oxidare pentru producerea materialelor semiconductoare' },\n\t{ value: '70200007', label: '- Baloane din sticlă pentru recipiente izolante sau pentru alte recipiente izotermice a căror izolație este asigurată prin vid' },\n\t{ value: '70200007', label: '-- Prelucrate incomplet' },\n\t{ value: '70200008', label: '-- Prelucrate complet' },\n\t{ value: '70200010', label: '- Altele' },\n\t{ value: '70200010', label: '-- Din cuarț topit sau alte silice topite' },\n\t{ value: '70200030', label: '-- Din sticlă cu un coeficient de dilatare liniară de până la 5 x 10-6 per grad Kelvin la o temperatură între 0 °C și 300 °C' },\n\t{ value: '70200080', label: '-- Altele' },\n\t{ value: '71000000', label: 'PERLE NATURALE SAU DE CULTURĂ, PIETRE PREȚIOASE SAU SEMIPREȚIOASE, METALE PREȚIOASE, METALE PLACATE SAU DUBLATE CU METALE PREȚIOASE ȘI ARTICOLE DIN ACESTE MATERIALE; IMITAȚII DE BIJUTERII; MONEDE' },\n\t{ value: '71010000', label: 'I. PERLE NATURALE SAU DE CULTURĂ, PIETRE PREȚIOASE SAU SEMIPREȚIOASE NATURALE, ARTIFICIALE SAU RECONSTITUITE' },\n\t{ value: '71010000', label: 'Perle naturale sau de cultură, chiar prelucrate sau asortate, dar neînșirate, nemontate, neîncastrate; perle naturale sau de cultură, înșirate temporar pentru facilitarea transportului' },\n\t{ value: '71011000', label: '- Perle naturale' },\n\t{ value: '71012100', label: '- Perle de cultură' },\n\t{ value: '71012100', label: '-- Neprelucrate' },\n\t{ value: '71012200', label: '-- Prelucrate' },\n\t{ value: '71020000', label: 'Diamante, chiar prelucrate, dar nemontate și neîncastrate' },\n\t{ value: '71021000', label: '- Nesortate' },\n\t{ value: '71022100', label: '- Industriale' },\n\t{ value: '71022100', label: '-- Neprelucrate sau simplu tăiate, despicate sau degroșate' },\n\t{ value: '71022900', label: '-- Altele' },\n\t{ value: '71023100', label: '- Neindustriale' },\n\t{ value: '71023100', label: '-- Neprelucrate sau simplu tăiate, despicate sau degroșate' },\n\t{ value: '71023900', label: '-- Altele' },\n\t{ value: '71030000', label: 'Pietre prețioase, altele decât diamantele, și semiprețioase chiar prelucrate sau asortate, dar neînșirate, nemontate, neîncastrate; pietre prețioase și semiprețioase, altele decât diamantele, neasortate, înșirate temporar pentru facilitarea transportului' },\n\t{ value: '71031000', label: '- Neprelucrate sau simplu tăiate sau degroșate' },\n\t{ value: '71039100', label: '- Altfel prelucrate' },\n\t{ value: '71039100', label: '-- Rubine, safire și smaralde' },\n\t{ value: '71039900', label: '-- Altele' },\n\t{ value: '71040000', label: 'Pietre artificiale sau reconstituite, chiar prelucrate sau asortate, dar neînșirate, nemontate, neîncastrate; pietre artificiale sau reconstituite, neasortate, înșirate temporar pentru facilitarea transportului' },\n\t{ value: '71041000', label: '- Cuarț piezoelectric' },\n\t{ value: '71042100', label: '- Altele, neprelucrate sau simplu tăiate sau degroșate' },\n\t{ value: '71042100', label: '-- Diamante' },\n\t{ value: '71042900', label: '-- Altele' },\n\t{ value: '71049100', label: '- Altele' },\n\t{ value: '71049100', label: '-- Diamante' },\n\t{ value: '71049900', label: '-- Altele' },\n\t{ value: '71050000', label: 'Pulberi și praf de pietre prețioase sau semiprețioase, naturale sau artificiale' },\n\t{ value: '71051000', label: '- De diamant' },\n\t{ value: '71059000', label: '- Altele' },\n\t{ value: '71060000', label: 'II. METALE PREȚIOASE, METALE PLACATE SAU DUBLATE CU METALE PREȚIOASE' },\n\t{ value: '71060000', label: 'Argint (inclusiv argint aurit sau platinat), sub formă brută sau semiprelucrată sau sub formă de pulbere' },\n\t{ value: '71061000', label: '- Pulberi' },\n\t{ value: '71069100', label: '- Altele' },\n\t{ value: '71069100', label: '-- Sub formă brută' },\n\t{ value: '71069200', label: '-- Semiprelucrate' },\n\t{ value: '71070000', label: 'Metale comune placate sau dublate cu argint, sub formă brută sau semiprelucrate' },\n\t{ value: '71080000', label: 'Aur (inclusiv aur platinat), sub formă brută sau semiprelucrată sau sub formă de pulbere' },\n\t{ value: '71081100', label: '- Care nu se utilizează în monetărie' },\n\t{ value: '71081100', label: '-- Pulberi' },\n\t{ value: '71081200', label: '-- Sub alte forme brute' },\n\t{ value: '71081300', label: '-- Sub alte forme semiprelucrate' },\n\t{ value: '71081310', label: '--- Bare, fire și profile, cu secțiunea plină; planșe; foi și benzi a căror grosime, fără suport, este de peste 0,15 mm' },\n\t{ value: '71081380', label: '--- Altele' },\n\t{ value: '71082000', label: '- Utilizat în monetărie' },\n\t{ value: '71090000', label: 'Metale comune sau argint, placate sau dublate cu aur, sub formă brută sau semiprelucrată' },\n\t{ value: '71100000', label: 'Platină, sub formă brută sau semiprelucrată sau sub formă de pulbere' },\n\t{ value: '71101100', label: '- Platină' },\n\t{ value: '71101100', label: '-- Sub formă brută sau sub formă de pulbere' },\n\t{ value: '71101900', label: '-- Altele' },\n\t{ value: '71101910', label: '--- Bare, tije, fire și profile, cu secțiunea plină; planșe; foi și benzi a căror grosime, fără suport, este de peste 0,15 mm' },\n\t{ value: '71101980', label: '--- Altele' },\n\t{ value: '71102100', label: '- Paladiu' },\n\t{ value: '71102100', label: '-- Sub formă brută sau sub formă de pulbere' },\n\t{ value: '71102900', label: '-- Altele' },\n\t{ value: '71103100', label: '- Rodiu' },\n\t{ value: '71103100', label: '-- Sub formă brută sau sub formă de pulbere' },\n\t{ value: '71103900', label: '-- Altele' },\n\t{ value: '71104100', label: '- Iridiu, osmiu și ruteniu' },\n\t{ value: '71104100', label: '-- Sub formă brută sau sub formă de pulbere' },\n\t{ value: '71104900', label: '-- Altele' },\n\t{ value: '71110000', label: 'Metale comune, argint sau aur, placate sau dublate cu platină, sub formă brută sau semiprelucrată' },\n\t{ value: '71120000', label: 'Deșeuri și resturi de metale prețioase sau de metale placate sau dublate cu metale prețioase; alte deșeuri și resturi care conțin metale prețioase sau compuși ai metalelor prețioase de tipul celor utilizate în principal pentru recuperarea metalelor prețioase, altele decât produsele de la poziția 8549' },\n\t{ value: '71123000', label: '- Cenuși care conțin metale prețioase sau compuși ai metalelor prețioase, cu excepția cenușilor de aur sau argint' },\n\t{ value: '71129100', label: '- Altele' },\n\t{ value: '71129100', label: '-- De aur, chiar metale placate sau dublate cu aur, cu excepția resturilor care conțin alte metale prețioase' },\n\t{ value: '71129200', label: '-- De platină, chiar de metale placate sau dublate cu platină, cu excepția resturilor care conțin alte metale prețioase' },\n\t{ value: '71129900', label: '-- Altele' },\n\t{ value: '71130000', label: 'III. BIJUTERII, ARTICOLE DE GIUVAERGERIE ȘI ALTELE' },\n\t{ value: '71130000', label: 'Articole de bijuterie sau de giuvaergerie și părți ale acestora, din metale prețioase sau din metale placate sau dublate cu metale prețioase' },\n\t{ value: '71131100', label: '- Din metale prețioase, chiar acoperite, placate sau dublate cu metale prețioase' },\n\t{ value: '71131100', label: '-- Din argint, chiar acoperit, placat sau dublat cu alte metale prețioase' },\n\t{ value: '71131900', label: '-- Din alte metale prețioase chiar acoperite, placate sau dublate cu metale prețioase' },\n\t{ value: '71132000', label: '- Din metale comune placate sau dublate cu metale prețioase' },\n\t{ value: '71140000', label: 'Articole de aurărie sau argintărie și părți ale acestora, din metale prețioase sau din metale placate sau dublate cu metale prețioase' },\n\t{ value: '71141100', label: '- Din metale prețioase, chiar acoperite, placate sau dublate cu metale prețioase' },\n\t{ value: '71141100', label: '-- Din argint, chiar acoperit, placat sau dublat cu alte metale prețioase' },\n\t{ value: '71141900', label: '-- Din alte metale prețioase, chiar acoperite, placate sau dublate cu metale prețioase' },\n\t{ value: '71142000', label: '- Din metale comune placate sau dublate cu metale prețioase' },\n\t{ value: '71150000', label: 'Alte articole din metale prețioase sau din metale placate sau dublate cu metale prețioase' },\n\t{ value: '71151000', label: '- Catalizatori din platină sub formă de plasă de sârmă sau de rețea' },\n\t{ value: '71159000', label: '- Altele' },\n\t{ value: '71160000', label: 'Articole din perle naturale sau de cultură, din pietre prețioase sau semiprețioase naturale, artificiale sau reconstituite' },\n\t{ value: '71161000', label: '- Din perle naturale sau de cultură' },\n\t{ value: '71162000', label: '- Din pietre prețioase sau semiprețioase, naturale, artificiale sau reconstituite' },\n\t{ value: '71162011', label: '-- Coliere, brățări și alte lucrări numai din pietre prețioase sau semiprețioase naturale, simplu înșirate, fără dispozitiv de închidere sau alte accesorii' },\n\t{ value: '71162080', label: '-- Altele' },\n\t{ value: '71170000', label: 'Imitații de bijuterii' },\n\t{ value: '71171100', label: '- Din metale comune, chiar aurite, argintate sau platinate' },\n\t{ value: '71171100', label: '-- Butoni pentru manșete și butoni similari' },\n\t{ value: '71171900', label: '-- Altele' },\n\t{ value: '71179000', label: '- Altele' },\n\t{ value: '71180000', label: 'Monede' },\n\t{ value: '71181000', label: '- Monede care nu au curs legal, altele decât monedele din aur' },\n\t{ value: '71189000', label: '- Altele' },\n\t{ value: '72000000', label: 'FONTĂ, FIER ȘI OȚEL' },\n\t{ value: '72010000', label: 'I. PRODUSE PRIMARE; PRODUSE PREZENTATE SUB FORMĂ DE GRANULE SAU PULBERI' },\n\t{ value: '72010000', label: 'Fonte brute și fonte-oglindă (spiegel) în lingouri, blocuri sau alte forme primare' },\n\t{ value: '72011000', label: '- Fonte brute, nealiate, care conțin maximum 0,5 % din greutate fosfor' },\n\t{ value: '72011011', label: '-- Cu un conținut de mangan de minimum 0,4 % din greutate' },\n\t{ value: '72011011', label: '--- Cu un conținut de siliciu de maximum 1 % din greutate' },\n\t{ value: '72011019', label: '--- Cu un conținut de siliciu de peste 1 % din greutate' },\n\t{ value: '72011030', label: '-- Cu un conținut de mangan de minimum 0,1 %, dar sub 0,4 % din greutate' },\n\t{ value: '72011090', label: '-- Cu un conținut de mangan sub 0,1 %' },\n\t{ value: '72012000', label: '- Fonte brute, nealiate, care conțin peste 0,5 % din greutate fosfor' },\n\t{ value: '72015000', label: '- Fonte brute, aliate; fonte-oglindă (spiegel)' },\n\t{ value: '72015010', label: '-- Fonte brute, aliate, cu un conținut de titan de minimum 0,3 % și maximum 1 % din greutate și cu un conținut de vanadiu de minimum 0,5 % și maximum 1 %' },\n\t{ value: '72015090', label: '-- Altele' },\n\t{ value: '72020000', label: 'Feroaliaje' },\n\t{ value: '72021100', label: '- Feromangan' },\n\t{ value: '72021100', label: '-- Care conține, în greutate, peste 2 % carbon' },\n\t{ value: '72021120', label: '--- Cu o granulație de maximum 5 mm și cu un conținut de mangan peste 65 % din greutate' },\n\t{ value: '72021180', label: '--- Altele' },\n\t{ value: '72021900', label: '-- Altele' },\n\t{ value: '72022100', label: '- Ferosiliciu' },\n\t{ value: '72022100', label: '-- Care conține, în greutate, peste 55 % siliciu' },\n\t{ value: '72022900', label: '-- Altele' },\n\t{ value: '72022910', label: '--- Cu un conținut de magneziu de minimum 4 % din greutate, dar maximum 10 %' },\n\t{ value: '72022990', label: '--- Altele' },\n\t{ value: '72023000', label: '- Ferosiliciu-mangan' },\n\t{ value: '72024100', label: '- Ferocrom' },\n\t{ value: '72024100', label: '-- Care conține, în greutate, peste 4 % carbon' },\n\t{ value: '72024110', label: '--- Cu un conținut de carbon de peste 4 % din greutate, dar maximum 6 %' },\n\t{ value: '72024190', label: '--- Cu un conținut de carbon de peste 6 % din greutate' },\n\t{ value: '72024900', label: '-- Altele' },\n\t{ value: '72024910', label: '--- Cu un conținut de carbon de maximum 0,05 % din greutate' },\n\t{ value: '72024950', label: '--- Cu un conținut de carbon de peste 0,05 % din greutate, dar maximum 0,5 %' },\n\t{ value: '72024990', label: '--- Cu un conținut de carbon de peste 0,5 % din greutate, dar maximum 4 %' },\n\t{ value: '72025000', label: '- Ferosiliciu-crom' },\n\t{ value: '72026000', label: '- Feronichel' },\n\t{ value: '72027000', label: '- Feromolibden' },\n\t{ value: '72028000', label: '- Ferotungsten și ferosiliciu-tungsten' },\n\t{ value: '72029100', label: '- Altele' },\n\t{ value: '72029100', label: '-- Ferotitan și ferosiliciu-titan' },\n\t{ value: '72029200', label: '-- Ferovanadiu' },\n\t{ value: '72029300', label: '-- Feroniobiu' },\n\t{ value: '72029900', label: '-- Altele' },\n\t{ value: '72029910', label: '--- Ferofosfor' },\n\t{ value: '72029930', label: '--- Ferosiliciu-magneziu' },\n\t{ value: '72029980', label: '--- Altele' },\n\t{ value: '72030000', label: 'Produse feroase obținute prin reducerea directă a minereului de fier și alte produse feroase spongioase, în bucăți, pelete sau forme similare; fier cu o puritate minimă în greutate de 99,94 %, în bucăți, pelete sau forme similare' },\n\t{ value: '72031000', label: '- Produse feroase obținute prin reducerea directă a minereului de fier' },\n\t{ value: '72039000', label: '- Altele' },\n\t{ value: '72040000', label: 'Deșeuri și resturi de fontă, de fier sau de oțel (fier vechi); deșeuri lingotate din fier sau oțel' },\n\t{ value: '72041000', label: '- Deșeuri și resturi de fontă' },\n\t{ value: '72042100', label: '- Deșeuri și resturi de oțeluri aliate' },\n\t{ value: '72042100', label: '-- De oțeluri inoxidabile' },\n\t{ value: '72042110', label: '--- Cu un conținut de nichel de minimum 8 % din greutate' },\n\t{ value: '72042190', label: '--- Altele' },\n\t{ value: '72042900', label: '-- Altele' },\n\t{ value: '72043000', label: '- Deșeuri și resturi de fier sau de oțel cositorit' },\n\t{ value: '72044100', label: '- Alte deșeuri și resturi' },\n\t{ value: '72044100', label: '-- Deșeuri de așchiere, șpan, deșeuri de măcinare, pilitură și resturi de ștanțare sau decupare, chiar sub formă de baloturi' },\n\t{ value: '72044110', label: '--- Deșeuri de așchiere, șpan, deșeuri de măcinare, pilitură' },\n\t{ value: '72044191', label: '--- Deșeuri de ștanțare sau decupare' },\n\t{ value: '72044191', label: '---- Sub formă de baloturi' },\n\t{ value: '72044199', label: '---- Altele' },\n\t{ value: '72044900', label: '-- Altele' },\n\t{ value: '72044910', label: '--- Fragmentate' },\n\t{ value: '72044930', label: '--- Altele' },\n\t{ value: '72044930', label: '---- Sub formă de baloturi' },\n\t{ value: '72044990', label: '---- Altele' },\n\t{ value: '72045000', label: '- Deșeuri lingotate' },\n\t{ value: '72050000', label: 'Granule și pulberi, de fontă brută, de fontă-oglindă (spiegel), de fier sau de oțel' },\n\t{ value: '72051000', label: '- Granule' },\n\t{ value: '72052100', label: '- Pulberi' },\n\t{ value: '72052100', label: '-- De oțeluri aliate' },\n\t{ value: '72052900', label: '-- Altele' },\n\t{ value: '72060000', label: 'II. FIER ȘI OȚELURI NEALIATE' },\n\t{ value: '72060000', label: 'Fier și oțeluri nealiate, în lingouri sau în alte forme primare, cu excepția fierului de la poziția 7203' },\n\t{ value: '72061000', label: '- Lingouri' },\n\t{ value: '72069000', label: '- Altele' },\n\t{ value: '72070000', label: 'Semifabricate din fier sau din oțeluri nealiate' },\n\t{ value: '72071100', label: '- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72071100', label: '-- Cu secțiunea transversală pătrată sau dreptunghiulară a căror lățime este mai mică decât dublul grosimii' },\n\t{ value: '72071111', label: '--- Laminate sau obținute prin turnare continuă' },\n\t{ value: '72071111', label: '---- Din oțel pentru prelucrare pe mașini-unelte automate' },\n\t{ value: '72071114', label: '---- Altele' },\n\t{ value: '72071114', label: '----- Cu grosimea de maximum 130 mm' },\n\t{ value: '72071116', label: '----- Cu grosimea de peste 130 mm' },\n\t{ value: '72071190', label: '--- Forjate' },\n\t{ value: '72071200', label: '-- Altele, cu secțiunea transversală dreptunghiulară' },\n\t{ value: '72071210', label: '--- Laminate sau obținute prin turnare continuă' },\n\t{ value: '72071290', label: '--- Forjate' },\n\t{ value: '72071900', label: '-- Altele' },\n\t{ value: '72071912', label: '--- Cu secțiunea transversală circulară sau poligonală' },\n\t{ value: '72071912', label: '---- Laminate sau obținute prin turnare continuă' },\n\t{ value: '72071919', label: '---- Forjate' },\n\t{ value: '72071980', label: '--- Altele' },\n\t{ value: '72072000', label: '- Care conțin, în greutate, minimum 0,25 % carbon' },\n\t{ value: '72072011', label: '-- Cu secțiunea transversală pătrată sau dreptunghiulară, a căror lățime este mai mică decât dublul grosimii' },\n\t{ value: '72072011', label: '--- Laminate sau obținute prin turnare continuă' },\n\t{ value: '72072011', label: '---- Din oțel pentru prelucrare pe mașini-unelte automate' },\n\t{ value: '72072015', label: '---- Altele, cu un conținut în greutate' },\n\t{ value: '72072015', label: '----- De minimum 0,25 %, dar sub 0,6 %, carbon' },\n\t{ value: '72072017', label: '----- De minimum 0,6 %, carbon' },\n\t{ value: '72072019', label: '--- Forjate' },\n\t{ value: '72072032', label: '-- Altele, cu secțiunea transversală dreptunghiulară' },\n\t{ value: '72072032', label: '--- Laminate sau obținute prin turnare continuă' },\n\t{ value: '72072039', label: '--- Forjate' },\n\t{ value: '72072052', label: '-- Cu secțiunea transversală circulară sau poligonală' },\n\t{ value: '72072052', label: '--- Laminate sau obținute prin turnare continuă' },\n\t{ value: '72072059', label: '--- Forjate' },\n\t{ value: '72072080', label: '-- Altele' },\n\t{ value: '72080000', label: 'Produse laminate plate, din fier sau din oțeluri nealiate, cu o lățime de minimum 600 mm, laminate la cald, neplacate și neacoperite' },\n\t{ value: '72081000', label: '- În rulouri, simplu laminate la cald, prezentând modele în relief' },\n\t{ value: '72082500', label: '- Altele, în rulouri, simplu laminate la cald, decapate' },\n\t{ value: '72082500', label: '-- Cu o grosime de minimum 4,75 mm' },\n\t{ value: '72082600', label: '-- Cu o grosime de minimum 3 mm, dar sub 4,75 mm' },\n\t{ value: '72082700', label: '-- Cu o grosime sub 3 mm' },\n\t{ value: '72083600', label: '- Altele, în rulouri, simplu laminate la cald' },\n\t{ value: '72083600', label: '-- Cu o grosime de peste 10 mm' },\n\t{ value: '72083700', label: '-- Cu o grosime de minimum 4,75 mm, dar maximum 10 mm' },\n\t{ value: '72083800', label: '-- Cu o grosime de minimum 3 mm, dar sub 4,75 mm' },\n\t{ value: '72083900', label: '-- Cu o grosime sub 3 mm' },\n\t{ value: '72084000', label: '- Altfel decât în rulouri, simplu laminate la cald, prezentând modele în relief' },\n\t{ value: '72085100', label: '- Altele, altfel decât în rulouri, simplu laminate la cald' },\n\t{ value: '72085100', label: '-- Cu o grosime de peste 10 mm' },\n\t{ value: '72085120', label: '--- Cu o grosime de peste 15 mm' },\n\t{ value: '72085191', label: '--- Cu o grosime de peste 10 mm, dar maximum 15 mm, cu lățimea' },\n\t{ value: '72085191', label: '---- De minimum 2 050 mm' },\n\t{ value: '72085198', label: '---- Sub 2 050 mm' },\n\t{ value: '72085200', label: '-- Cu o grosime de minimum 4,75 mm, dar maximum 10 mm' },\n\t{ value: '72085210', label: '--- Laminate pe cele patru fețe sau în calibru închis, cu lățimea de maximum 1 250 mm' },\n\t{ value: '72085291', label: '--- Altele, cu lățimea' },\n\t{ value: '72085291', label: '---- De minimum 2 050 mm' },\n\t{ value: '72085299', label: '---- Mai mică de 2 050 mm' },\n\t{ value: '72085300', label: '-- Cu o grosime de minimum 3 mm, dar sub 4,75 mm' },\n\t{ value: '72085310', label: '--- Laminate pe cele patru fețe sau în calibru închis, cu lățimea de maximum 1 250 mm și grosimea de minimum 4 mm' },\n\t{ value: '72085390', label: '--- Altele' },\n\t{ value: '72085400', label: '-- Cu o grosime sub 3 mm' },\n\t{ value: '72089000', label: '- Altele' },\n\t{ value: '72089020', label: '-- Perforate' },\n\t{ value: '72089080', label: '-- Altele' },\n\t{ value: '72090000', label: 'Produse laminate plate, din fier sau din oțeluri nealiate, cu o lățime de minimum 600 mm, laminate la rece, neplacate și neacoperite' },\n\t{ value: '72091500', label: '- În rulouri, simplu laminate la rece' },\n\t{ value: '72091500', label: '-- Cu o grosime de minimum 3 mm' },\n\t{ value: '72091600', label: '-- Cu o grosime de peste 1 mm, dar sub 3 mm' },\n\t{ value: '72091610', label: '--- Numite \"magnetice\"' },\n\t{ value: '72091690', label: '--- Altele' },\n\t{ value: '72091700', label: '-- Cu o grosime de minimum 0,5 mm, dar maximum 1 mm' },\n\t{ value: '72091710', label: '--- Numite \"magnetice\"' },\n\t{ value: '72091790', label: '--- Altele' },\n\t{ value: '72091800', label: '-- Cu o grosime sub 0,5 mm' },\n\t{ value: '72091810', label: '--- Numite \"magnetice\"' },\n\t{ value: '72091891', label: '--- Altele' },\n\t{ value: '72091891', label: '---- Cu o grosime de minimum 0,35 mm, dar sub 0,5 mm' },\n\t{ value: '72091899', label: '---- Cu o grosime sub 0,35 mm' },\n\t{ value: '72092500', label: '- Altfel decât în rulouri, simplu laminate la rece' },\n\t{ value: '72092500', label: '-- Cu o grosime de minimum 3 mm' },\n\t{ value: '72092600', label: '-- Cu o grosime de peste 1 mm, dar sub 3 mm' },\n\t{ value: '72092610', label: '--- Numite \"magnetice\"' },\n\t{ value: '72092690', label: '--- Altele' },\n\t{ value: '72092700', label: '-- Cu o grosime de minimum 0,5 mm, dar maximum 1 mm' },\n\t{ value: '72092710', label: '--- Numite \"magnetice\"' },\n\t{ value: '72092790', label: '--- Altele' },\n\t{ value: '72092800', label: '-- Cu o grosime sub 0,5 mm' },\n\t{ value: '72092810', label: '--- Numite \"magnetice\"' },\n\t{ value: '72092890', label: '--- Altele' },\n\t{ value: '72099000', label: '- Altele' },\n\t{ value: '72099020', label: '-- Perforate' },\n\t{ value: '72099080', label: '-- Altele' },\n\t{ value: '72100000', label: 'Produse laminate plate, din fier sau din oțeluri nealiate, cu o lățime de minimum 600 mm, placate sau acoperite' },\n\t{ value: '72101100', label: '- Acoperite cu cositor' },\n\t{ value: '72101100', label: '-- Cu o grosime de minimum 0,5 mm' },\n\t{ value: '72101200', label: '-- Cu o grosime sub 0,5 mm' },\n\t{ value: '72101220', label: '--- Tablă cositorită' },\n\t{ value: '72101280', label: '--- Altele' },\n\t{ value: '72102000', label: '- Acoperite cu plumb, inclusiv fierul mat' },\n\t{ value: '72103000', label: '- Acoperite electrolitic cu zinc' },\n\t{ value: '72104100', label: '- Altfel acoperite cu zinc' },\n\t{ value: '72104100', label: '-- Ondulate' },\n\t{ value: '72104900', label: '-- Altele' },\n\t{ value: '72105000', label: '- Acoperite cu oxizi de crom sau cu crom și oxizi de crom' },\n\t{ value: '72106100', label: '- Acoperite cu aluminiu' },\n\t{ value: '72106100', label: '-- Acoperite cu aliaje de aluminiu-zinc' },\n\t{ value: '72106900', label: '-- Altele' },\n\t{ value: '72107000', label: '- Vopsite, lăcuite sau acoperite cu materiale plastice' },\n\t{ value: '72107010', label: '-- Tablă cositorită lăcuită; produse acoperite cu oxizi de crom, sau cu crom și oxizi de crom, lăcuite' },\n\t{ value: '72107080', label: '-- Altele' },\n\t{ value: '72109000', label: '- Altele' },\n\t{ value: '72109030', label: '-- Placate' },\n\t{ value: '72109040', label: '-- Cositorite și imprimate' },\n\t{ value: '72109080', label: '-- Altele' },\n\t{ value: '72110000', label: 'Produse laminate plate, din fier sau din oțeluri nealiate, cu o lățime sub 600 mm, neplacate și neacoperite' },\n\t{ value: '72111300', label: '- Simplu laminate la cald' },\n\t{ value: '72111300', label: '-- Laminate pe cele patru fețe sau în calibru închis, cu o lățime peste 150 mm și cu o grosime de minimum 4 mm, altfel decât în rulouri și fără modele în relief' },\n\t{ value: '72111400', label: '-- Altele, cu o grosime de minimum 4,75 mm' },\n\t{ value: '72111900', label: '-- Altele' },\n\t{ value: '72112300', label: '- Simplu laminate la rece' },\n\t{ value: '72112300', label: '-- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72112320', label: '--- Numite \"magnetice\"' },\n\t{ value: '72112330', label: '--- Altele' },\n\t{ value: '72112330', label: '---- Cu o grosime de minimum 0,35 mm' },\n\t{ value: '72112380', label: '---- Cu o grosime sub 0,35 mm' },\n\t{ value: '72112900', label: '-- Altele' },\n\t{ value: '72119000', label: '- Altele' },\n\t{ value: '72119020', label: '-- Perforate' },\n\t{ value: '72119080', label: '-- Altele' },\n\t{ value: '72120000', label: 'Produse laminate plate, din fier sau din oțeluri nealiate, cu o lățime sub 600 mm, placate sau acoperite' },\n\t{ value: '72121000', label: '- Acoperite cu cositor' },\n\t{ value: '72121010', label: '-- Tablă cositorită, simplu tratată la suprafață' },\n\t{ value: '72121090', label: '-- Altele' },\n\t{ value: '72122000', label: '- Acoperite electrolitic cu zinc' },\n\t{ value: '72123000', label: '- Altfel acoperite cu zinc' },\n\t{ value: '72124000', label: '- Vopsite, lăcuite sau acoperite cu materiale plastice' },\n\t{ value: '72124020', label: '-- Tablă cositorită, simplu lăcuită; produse acoperite cu oxizi de crom sau cu crom și oxizi de crom, lăcuite' },\n\t{ value: '72124080', label: '-- Altele' },\n\t{ value: '72125000', label: '- Altfel acoperite' },\n\t{ value: '72125020', label: '-- Acoperite cu oxizi de crom sau cu crom și oxizi de crom' },\n\t{ value: '72125030', label: '-- Acoperite cu crom sau nichel' },\n\t{ value: '72125040', label: '-- Acoperite cu cupru' },\n\t{ value: '72125061', label: '-- Acoperite cu aluminiu' },\n\t{ value: '72125061', label: '--- Acoperite cu aliaj de aluminiu-zinc' },\n\t{ value: '72125069', label: '--- Altele' },\n\t{ value: '72125090', label: '-- Altele' },\n\t{ value: '72126000', label: '- Placate' },\n\t{ value: '72130000', label: 'Bare și tije laminate la cald, în rulouri cu spire nearanjate (fil machine), din fier sau din oțeluri nealiate' },\n\t{ value: '72131000', label: '- Care au crestături, nervuri, adâncituri sau alte deformări, adâncite sau în relief, produse în cursul laminării' },\n\t{ value: '72132000', label: '- Altele, din oțeluri pentru prelucrare pe mașini-unelte automate' },\n\t{ value: '72139100', label: '- Altele' },\n\t{ value: '72139100', label: '-- Cu secțiunea circulară cu un diametru sub 14 mm' },\n\t{ value: '72139110', label: '--- De tipul celor utilizate la armarea betonului' },\n\t{ value: '72139120', label: '--- De tipul celor utilizate ca inserție pentru anvelope pneumatice' },\n\t{ value: '72139141', label: '--- Altele' },\n\t{ value: '72139141', label: '---- Care conțin, în greutate, maximum 0,06 % carbon' },\n\t{ value: '72139149', label: '---- Care conțin, în greutate, peste 0,06 % carbon, dar sub 0,25 %' },\n\t{ value: '72139170', label: '---- Care conțin, în greutate, minimum 0,25 % carbon, dar maximum 0,75 %' },\n\t{ value: '72139190', label: '---- Care conțin, în greutate, peste 0,75 % carbon' },\n\t{ value: '72139900', label: '-- Altele' },\n\t{ value: '72139910', label: '--- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72139990', label: '--- Care conțin, în greutate, minimum 0,25 % carbon' },\n\t{ value: '72140000', label: 'Alte bare și tije din fier sau din oțeluri nealiate, simplu forjate, laminate, trase sau extrudate la cald, inclusiv cele torsionate după laminare' },\n\t{ value: '72141000', label: '- Forjate' },\n\t{ value: '72142000', label: '- Care au crestături, nervuri, adâncituri sau alte deformări, adâncite sau în relief, produse în cursul laminării sau care au fost torsionate după laminare' },\n\t{ value: '72143000', label: '- Altele, din oțeluri pentru prelucrare pe mașini-unelte automate' },\n\t{ value: '72149100', label: '- Altele' },\n\t{ value: '72149100', label: '-- Cu secțiunea transversală dreptunghiulară (alta decât pătrată)' },\n\t{ value: '72149110', label: '--- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72149190', label: '--- Care conțin, în greutate, minimum 0,25 % carbon' },\n\t{ value: '72149900', label: '-- Altele' },\n\t{ value: '72149910', label: '--- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72149910', label: '---- De tipul celor utilizate pentru armarea betonului' },\n\t{ value: '72149931', label: '---- Altele, cu secțiunea circulară de un diametru' },\n\t{ value: '72149931', label: '----- De minimum 80 mm' },\n\t{ value: '72149939', label: '----- Sub 80 mm' },\n\t{ value: '72149950', label: '---- Altele' },\n\t{ value: '72149971', label: '--- Care conțin, în greutate, minimum 0,25 % carbon' },\n\t{ value: '72149971', label: '---- Cu secțiunea circulară de un diametru' },\n\t{ value: '72149971', label: '----- De minimum 80 mm' },\n\t{ value: '72149979', label: '----- Sub 80 mm' },\n\t{ value: '72149995', label: '---- Altele' },\n\t{ value: '72150000', label: 'Alte bare și tije din fier sau din oțeluri nealiate' },\n\t{ value: '72151000', label: '- Din oțeluri pentru prelucrare pe mașini-unelte automate, simplu obținute sau finisate la rece' },\n\t{ value: '72155000', label: '- Altele, simplu obținute sau finisate la rece' },\n\t{ value: '72155011', label: '-- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72155011', label: '--- Cu secțiunea dreptunghiulară (alta decât pătrată)' },\n\t{ value: '72155019', label: '--- Altele' },\n\t{ value: '72155080', label: '-- Care conțin, în greutate, minimum 0,25 % carbon' },\n\t{ value: '72159000', label: '- Altele' },\n\t{ value: '72160000', label: 'Profile din fier sau din oțeluri nealiate' },\n\t{ value: '72161000', label: '- Profile în formă de U, I sau H, simplu laminate, trase la cald sau extrudate, cu o înălțime sub 80 mm' },\n\t{ value: '72162100', label: '- Profile în formă de L sau T, simplu laminate sau trase la cald sau extrudate, cu o înălțime sub 80 mm' },\n\t{ value: '72162100', label: '-- Profile în formă de L' },\n\t{ value: '72162200', label: '-- Profile în formă de T' },\n\t{ value: '72163100', label: '- Profile în formă de U, I sau H, simplu laminate sau trase la cald sau extrudate, cu o înălțime de minimum 80 mm' },\n\t{ value: '72163100', label: '-- Profile în formă de U' },\n\t{ value: '72163110', label: '--- Cu înălțimea de minimum 80 mm, dar maximum 220 mm' },\n\t{ value: '72163190', label: '--- Cu înălțimea peste 220 mm' },\n\t{ value: '72163200', label: '-- Profile în formă de I' },\n\t{ value: '72163211', label: '--- Cu înălțimea de minimum 80 mm, dar maximum 220 mm' },\n\t{ value: '72163211', label: '---- Cu fețele aripilor paralele' },\n\t{ value: '72163219', label: '---- Altele' },\n\t{ value: '72163291', label: '--- Cu înălțimea peste 220 mm' },\n\t{ value: '72163291', label: '---- Cu fețele aripilor paralele' },\n\t{ value: '72163299', label: '---- Altele' },\n\t{ value: '72163300', label: '-- Profile în formă de H' },\n\t{ value: '72163310', label: '--- Cu înălțimea de minimum 80 mm, dar maximum 180 mm' },\n\t{ value: '72163390', label: '--- Cu înălțimea peste 180 mm' },\n\t{ value: '72164000', label: '- Profile în formă de L sau T, simplu laminate, trase la cald sau extrudate, cu o înălțime de minimum 80 mm' },\n\t{ value: '72164010', label: '-- Profile în formă de L' },\n\t{ value: '72164090', label: '-- Profile în formă de T' },\n\t{ value: '72165000', label: '- Alte profile simplu laminate, trase la cald sau extrudate' },\n\t{ value: '72165010', label: '-- Cu secțiunea transversală care poate fi înscrisă într-un pătrat cu latura de maximum 80 mm' },\n\t{ value: '72165091', label: '-- Altele' },\n\t{ value: '72165091', label: '--- Profile plate cu proeminențe' },\n\t{ value: '72165099', label: '--- Altele' },\n\t{ value: '72166100', label: '- Profile, simplu obținute sau finisate la rece' },\n\t{ value: '72166100', label: '-- Obținute din produse laminate plate' },\n\t{ value: '72166110', label: '--- Profile în formă de C, L, U, Z, Ω sau tub deschis' },\n\t{ value: '72166190', label: '--- Altele' },\n\t{ value: '72166900', label: '-- Altele' },\n\t{ value: '72169100', label: '- Altele' },\n\t{ value: '72169100', label: '-- Obținute sau finisate la rece din produse laminate plate' },\n\t{ value: '72169110', label: '--- Tablă cu nervuri (striată)' },\n\t{ value: '72169180', label: '--- Altele' },\n\t{ value: '72169900', label: '-- Altele' },\n\t{ value: '72170000', label: 'Sârmă din fier sau din oțeluri nealiate' },\n\t{ value: '72171000', label: '- Neacoperite, chiar lustruite' },\n\t{ value: '72171010', label: '-- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72171010', label: '--- Cu cea mai mare dimensiune a secțiunii transversale sub 0,8 mm' },\n\t{ value: '72171031', label: '--- Cu cea mai mare dimensiune a secțiunii transversale de minimum 0,8 mm' },\n\t{ value: '72171031', label: '---- Care au crestături, caneluri, nervuri sau alte deformări, adâncite sau în relief, produse în timpul procesului de laminare' },\n\t{ value: '72171039', label: '---- Altele' },\n\t{ value: '72171050', label: '-- Care conțin, în greutate, minimum 0,25 % carbon, dar sub 0,6 %' },\n\t{ value: '72171090', label: '-- Care conțin, în greutate, minimum 0,6 % carbon' },\n\t{ value: '72172000', label: '- Acoperite cu zinc' },\n\t{ value: '72172010', label: '-- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72172010', label: '--- Cu cea mai mare dimensiune a secțiunii transversale sub 0,8 mm' },\n\t{ value: '72172030', label: '--- Cu cea mai mare dimensiune a secțiunii transversale de minimum 0,8 mm' },\n\t{ value: '72172050', label: '-- Care conțin, în greutate, minimum 0,25 % carbon, dar sub 0,6 %' },\n\t{ value: '72172090', label: '-- Care conțin, în greutate, minimum 0,6 % carbon' },\n\t{ value: '72173000', label: '- Acoperite cu alte metale comune' },\n\t{ value: '72173041', label: '-- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72173041', label: '--- Acoperite cu cupru' },\n\t{ value: '72173049', label: '--- Altele' },\n\t{ value: '72173050', label: '-- Care conțin, în greutate, minimum 0,25 % carbon, dar sub 0,6 %' },\n\t{ value: '72173090', label: '-- Care conțin, în greutate, minimum 0,6 % carbon' },\n\t{ value: '72179000', label: '- Altele' },\n\t{ value: '72179020', label: '-- Care conțin, în greutate, sub 0,25 % carbon' },\n\t{ value: '72179050', label: '-- Care conțin, în greutate, minimum 0,25 % carbon, dar sub 0,6 %' },\n\t{ value: '72179090', label: '-- Care conțin, în greutate, minimum 0,6 % carbon' },\n\t{ value: '72180000', label: 'III. OȚELURI INOXIDABILE' },\n\t{ value: '72180000', label: 'Oțeluri inoxidabile în lingouri sau în alte forme primare; semifabricate din oțeluri inoxidabile' },\n\t{ value: '72181000', label: '- Lingouri și alte forme primare' },\n\t{ value: '72189100', label: '- Altele' },\n\t{ value: '72189100', label: '-- Cu secțiunea transversală dreptunghiulară (alta decât pătrată)' },\n\t{ value: '72189110', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72189180', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72189900', label: '-- Altele' },\n\t{ value: '72189911', label: '--- Cu secțiunea transversală pătrată' },\n\t{ value: '72189911', label: '---- Laminate sau obținute prin turnare continuă' },\n\t{ value: '72189919', label: '---- Forjate' },\n\t{ value: '72189920', label: '--- Altele' },\n\t{ value: '72189920', label: '---- Laminate sau obținute prin turnare continuă' },\n\t{ value: '72189980', label: '---- Forjate' },\n\t{ value: '72190000', label: 'Produse laminate plate din oțeluri inoxidabile, cu o lățime de minimum 600 mm' },\n\t{ value: '72191100', label: '- Simplu laminate la cald, în rulouri' },\n\t{ value: '72191100', label: '-- Cu o grosime de peste 10 mm' },\n\t{ value: '72191200', label: '-- Cu o grosime de minimum 4,75 mm, dar maximum 10 mm' },\n\t{ value: '72191210', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72191290', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72191300', label: '-- Cu o grosime de minimum 3 mm, dar sub 4,75 mm' },\n\t{ value: '72191310', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72191390', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72191400', label: '-- Cu o grosime sub 3 mm' },\n\t{ value: '72191410', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72191490', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72192100', label: '- Simplu laminate la cald, altfel decât în rulouri' },\n\t{ value: '72192100', label: '-- Cu o grosime de peste 10 mm' },\n\t{ value: '72192110', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72192190', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72192200', label: '-- Cu o grosime de minimum 4,75 mm, dar maximum 10 mm' },\n\t{ value: '72192210', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72192290', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72192300', label: '-- Cu o grosime de minimum 3 mm, dar sub 4,75 mm' },\n\t{ value: '72192400', label: '-- Cu o grosime sub 3 mm' },\n\t{ value: '72193100', label: '- Simplu laminate la rece' },\n\t{ value: '72193100', label: '-- Cu o grosime de minimum 4,75 mm' },\n\t{ value: '72193200', label: '-- Cu o grosime de minimum 3 mm, dar sub 4,75 mm' },\n\t{ value: '72193210', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72193290', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72193300', label: '-- Cu o grosime de peste 1 mm, dar sub 3 mm' },\n\t{ value: '72193310', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72193390', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72193400', label: '-- Cu o grosime de minimum 0,5 mm, dar maximum 1 mm' },\n\t{ value: '72193410', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72193490', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72193500', label: '-- Cu o grosime sub 0,5 mm' },\n\t{ value: '72193510', label: '--- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72193590', label: '--- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72199000', label: '- Altele' },\n\t{ value: '72199020', label: '-- Perforate' },\n\t{ value: '72199080', label: '-- Altele' },\n\t{ value: '72200000', label: 'Produse laminate plate din oțeluri inoxidabile, cu o lățime sub 600 mm' },\n\t{ value: '72201100', label: '- Simplu laminate la cald' },\n\t{ value: '72201100', label: '-- Cu o grosime de minimum 4,75 mm' },\n\t{ value: '72201200', label: '-- Cu o grosime sub 4,75 mm' },\n\t{ value: '72202000', label: '- Simplu laminate la rece' },\n\t{ value: '72202021', label: '-- Cu o grosime de minimum 3 mm, care conțin în greutate' },\n\t{ value: '72202021', label: '--- Minimum 2,5 % nichel' },\n\t{ value: '72202029', label: '--- Sub 2,5 % nichel' },\n\t{ value: '72202041', label: '-- Cu o grosime de peste 0,35 mm, dar sub 3 mm, care conțin în greutate' },\n\t{ value: '72202041', label: '--- Minimum 2,5 % nichel' },\n\t{ value: '72202049', label: '--- Sub 2,5 % nichel' },\n\t{ value: '72202081', label: '-- Cu o grosime de maximum 0,35 mm, care conțin în greutate' },\n\t{ value: '72202081', label: '--- Minimum 2,5 % nichel' },\n\t{ value: '72202089', label: '--- Sub 2,5 % nichel' },\n\t{ value: '72209000', label: '- Altele' },\n\t{ value: '72209020', label: '-- Perforate' },\n\t{ value: '72209080', label: '-- Altele' },\n\t{ value: '72210000', label: 'Bare și tije, laminate la cald, în rulouri cu spire nearanjate (fil machine), din oțeluri inoxidabile' },\n\t{ value: '72210010', label: '- Care conțin, în greutate, minimum 2,5 % nichel' },\n\t{ value: '72210090', label: '- Care conțin, în greutate, sub 2,5 % nichel' },\n\t{ value: '72220000', label: 'Alte bare, tije din oțeluri inoxidabile; profile din oțeluri inoxidabile' },\n\t{ value: '72221100', label: '- Bare și tije simplu laminate, trase sau extrudate la cald' },\n\t{ value: '72221100', label: '-- Cu secțiunea circulară' },\n\t{ value: '72221111', label: '--- Cu un diametru de minimum 80 mm, care conțin în greutate' },\n\t{ value: '72221111', label: '---- Minimum 2,5 % nichel' },\n\t{ value: '72221119', label: '---- Sub 2,5 % nichel' },\n\t{ value: '72221181', label: '--- Cu un diametru sub 80 mm, care conțin în greutate' },\n\t{ value: '72221181', label: '---- Minimum 2,5 % nichel' },\n\t{ value: '72221189', label: '---- Sub 2,5 % nichel' },\n\t{ value: '72221900', label: '-- Altele' },\n\t{ value: '72221910', label: '--- Care conțin în greutate minimum 2,5 % nichel' },\n\t{ value: '72221990', label: '--- Care conțin în greutate sub 2,5 % nichel' },\n\t{ value: '72222000', label: '- Bare și tije simplu obținute sau finisate simplu la rece' },\n\t{ value: '72222011', label: '-- Cu secțiunea transversală circulară' },\n\t{ value: '72222011', label: '--- Cu un diametru de minimum 80 mm, care conțin în greutate' },\n\t{ value: '72222011', label: '---- Minimum 2,5 % nichel' },\n\t{ value: '72222019', label: '---- Sub 2,5 % nichel' },\n\t{ value: '72222021', label: '--- Cu un diametru de minimum 25 mm, dar sub 80 mm, care conțin în greutate' },\n\t{ value: '72222021', label: '---- Minimum 2,5 % nichel' },\n\t{ value: '72222029', label: '---- Sub 2,5 % nichel' },\n\t{ value: '72222031', label: '--- Cu un diametru sub 25 mm, care conțin în greutate' },\n\t{ value: '72222031', label: '---- Minimum 2,5 % nichel' },\n\t{ value: '72222039', label: '---- Sub 2,5 % nichel' },\n\t{ value: '72222081', label: '-- Altele care conțin în greutate' },\n\t{ value: '72222081', label: '--- Minimum 2,5 % nichel' },\n\t{ value: '72222089', label: '--- Sub 2,5 % nichel' },\n\t{ value: '72223000', label: '- Alte bare și tije' },\n\t{ value: '72223051', label: '-- Forjate, care conțin în greutate' },\n\t{ value: '72223051', label: '--- Minimum 2,5 % nichel' },\n\t{ value: '72223091', label: '--- Sub 2,5 % nichel' },\n\t{ value: '72223097', label: '-- Altele' },\n\t{ value: '72224000', label: '- Profile' },\n\t{ value: '72224010', label: '-- Simplu laminate, extrudate sau trase la cald' },\n\t{ value: '72224050', label: '-- Simplu obținute sau finisate la rece' },\n\t{ value: '72224090', label: '-- Altele' },\n\t{ value: '72230000', label: 'Sârmă, din oțeluri inoxidabile' },\n\t{ value: '72230011', label: '- Cu un conținut de nichel de minimum 2,5 % din greutate' },\n\t{ value: '72230011', label: '-- Cu un conținut de nichel de minimum 28 %, dar maximum 31 % și cu un conținut de crom de minimum 20 %, dar maximum 22 %' },\n\t{ value: '72230019', label: '-- Altele' },\n\t{ value: '72230091', label: '- Cu un conținut de nichel de sub 2,5 % din greutate' },\n\t{ value: '72230091', label: '-- Cu un conținut de crom de minimum 13 %, dar de maximum 25 % și cu un conținut de aluminiu de minimum 3,5 %, dar maximum 6 %' },\n\t{ value: '72230099', label: '-- Altele' },\n\t{ value: '72240000', label: 'IV. ALTE OȚELURI ALIATE; BARE ȘI PROFILE TUBULARE PENTRU FORAJ, DIN OȚELURI ALIATE SAU NEALIATE' },\n\t{ value: '72240000', label: 'Alte oțeluri aliate în lingouri sau în alte forme primare; semifabricate din alte oțeluri aliate' },\n\t{ value: '72241000', label: '- Lingouri și alte forme primare' },\n\t{ value: '72241010', label: '-- Din oțeluri de scule' },\n\t{ value: '72241090', label: '-- Altele' },\n\t{ value: '72249000', label: '- Altele' },\n\t{ value: '72249002', label: '-- Din oțeluri de scule' },\n\t{ value: '72249003', label: '-- Altele' },\n\t{ value: '72249003', label: '--- Cu secțiunea transversală pătrată sau dreptunghiulară' },\n\t{ value: '72249003', label: '---- Laminate la cald sau obținute prin turnare continuă' },\n\t{ value: '72249003', label: '----- A căror lățime este mai mică decât dublul grosimii' },\n\t{ value: '72249003', label: '------ Din oțeluri rapide' },\n\t{ value: '72249005', label: '------ Cu un conținut de carbon de maximum 0,7 %, de mangan de minimum 0,5 %, dar maximum 1,2 %, și de siliciu de minimum 0,6 %, dar maximum 2,3 % din greutate; cu un conținut de bor de minimum 0,0008 % din greutate, fără ca alt element să atingă conținutul minim indicat la nota 1 litera (f) a acestui capitol' },\n\t{ value: '72249007', label: '------ Altele' },\n\t{ value: '72249014', label: '----- Altele' },\n\t{ value: '72249018', label: '---- Forjate' },\n\t{ value: '72249031', label: '--- Altele' },\n\t{ value: '72249031', label: '---- Laminate la cald sau obținute prin turnare continuă' },\n\t{ value: '72249031', label: '----- Cu un conținut de carbon de minimum 0,9 %, dar maximum 1,15 %, și un conținut de crom de minimum 0,5 %, dar maximum 2 %, și, eventual, un conținut de molibden de maximum 0,5 % din greutate' },\n\t{ value: '72249038', label: '----- Altele' },\n\t{ value: '72249090', label: '---- Forjate' },\n\t{ value: '72250000', label: 'Produse laminate plate, din alte oțeluri aliate, cu o lățime de minimum 600 mm' },\n\t{ value: '72251100', label: '- Din oțeluri cu siliciu numite \"magnetice\"' },\n\t{ value: '72251100', label: '-- Cu grăunți orientați' },\n\t{ value: '72251900', label: '-- Altele' },\n\t{ value: '72251910', label: '--- Laminate la cald' },\n\t{ value: '72251990', label: '--- Laminate la rece' },\n\t{ value: '72253000', label: '- Altele, simplu laminate la cald, în rulouri' },\n\t{ value: '72253010', label: '-- Din oțeluri de scule' },\n\t{ value: '72253030', label: '-- Din oțeluri rapide' },\n\t{ value: '72253090', label: '-- Altele' },\n\t{ value: '72254000', label: '- Altele, simplu laminate la cald, altfel decât în rulouri' },\n\t{ value: '72254012', label: '-- Din oțeluri de scule' },\n\t{ value: '72254015', label: '-- Din oțeluri rapide' },\n\t{ value: '72254040', label: '-- Altele' },\n\t{ value: '72254040', label: '--- Cu o grosime de peste 10 mm' },\n\t{ value: '72254060', label: '--- Cu o grosime de minimum 4,75 mm, dar de maximum 10 mm' },\n\t{ value: '72254090', label: '--- Cu o grosime sub 4,75 mm' },\n\t{ value: '72255000', label: '- Altele, simplu laminate la rece' },\n\t{ value: '72255020', label: '-- Din oțeluri rapide' },\n\t{ value: '72255080', label: '-- Altele' },\n\t{ value: '72259100', label: '- Altele' },\n\t{ value: '72259100', label: '-- Acoperite electrolitic cu zinc' },\n\t{ value: '72259200', label: '-- Altfel acoperite cu zinc' },\n\t{ value: '72259900', label: '-- Altele' },\n\t{ value: '72260000', label: 'Produse laminate plate, din alte oțeluri aliate, cu o lățime sub 600 mm' },\n\t{ value: '72261100', label: '- Din oțeluri cu siliciu numite \"magnetice\"' },\n\t{ value: '72261100', label: '-- Cu grăunți orientați' },\n\t{ value: '72261900', label: '-- Altele' },\n\t{ value: '72261910', label: '--- Simplu laminate la cald' },\n\t{ value: '72261980', label: '--- Altele' },\n\t{ value: '72262000', label: '- Din oțeluri rapide' },\n\t{ value: '72269100', label: '- Altele' },\n\t{ value: '72269100', label: '-- Simplu laminate la cald' },\n\t{ value: '72269120', label: '--- Din oțeluri de scule' },\n\t{ value: '72269191', label: '--- Altele' },\n\t{ value: '72269191', label: '---- Cu o grosime de minimum 4,75 mm' },\n\t{ value: '72269199', label: '---- Cu o grosime sub 4,75 mm' },\n\t{ value: '72269200', label: '-- Simplu laminate la rece' },\n\t{ value: '72269900', label: '-- Altele' },\n\t{ value: '72269910', label: '--- Acoperite electrolitic cu zinc' },\n\t{ value: '72269930', label: '--- Altfel acoperite cu zinc' },\n\t{ value: '72269970', label: '--- Altele' },\n\t{ value: '72270000', label: 'Bare și tije, laminate la cald, în rulouri cu spire nearanjate (fil machine), din alte oțeluri aliate' },\n\t{ value: '72271000', label: '- Din oțeluri rapide' },\n\t{ value: '72272000', label: '- Din oțeluri silico-manganoase' },\n\t{ value: '72279000', label: '- Altele' },\n\t{ value: '72279010', label: '-- Cu un conținut de bor de minimum 0,0008 % din greutate, fără ca alt element să atingă conținutul minim prevăzut la nota 1 litera (f) a acestui capitol' },\n\t{ value: '72279050', label: '-- Cu un conținut de carbon de minimum 0,9 %, dar maximum 1,15 % și un conținut de crom de minimum 0,5 %, dar maximum 2 % și, eventual, cu un conținut de molibden de maximum 0,5 % din greutate' },\n\t{ value: '72279095', label: '-- Altele' },\n\t{ value: '72280000', label: 'Alte bare și tije, profile din alte oțeluri aliate; bare și profile tubulare, pentru foraj, din oțeluri aliate sau nealiate' },\n\t{ value: '72281000', label: '- Bare și tije din oțeluri rapide' },\n\t{ value: '72281020', label: '-- Simplu laminate, extrudate sau trase la cald; laminate, extrudate sau trase la cald, simplu placate' },\n\t{ value: '72281050', label: '-- Forjate' },\n\t{ value: '72281090', label: '-- Altele' },\n\t{ value: '72282000', label: '- Bare și tije din oțeluri silico-manganoase' },\n\t{ value: '72282010', label: '-- Cu secțiunea dreptunghiulară (alta decât pătrată), laminate la cald pe cele patru fețe' },\n\t{ value: '72282091', label: '-- Altele' },\n\t{ value: '72282091', label: '--- Simplu laminate, extrudate sau trase la cald; laminate, extrudate sau trase la cald, simplu placate' },\n\t{ value: '72282099', label: '--- Altele' },\n\t{ value: '72283000', label: '- Alte bare și tije, simplu laminate, trase la cald sau extrudate' },\n\t{ value: '72283020', label: '-- Din oțeluri de scule' },\n\t{ value: '72283041', label: '-- Cu un conținut de carbon de minimum 0,9 %, dar maximum 1,15 %, și un conținut de crom de minimum 0,5 %, dar maximum 2 % și, eventual, cu un conținut de molibden de maximum 0,5 % din greutate' },\n\t{ value: '72283041', label: '--- Cu secțiunea circulară, cu un diametru de minimum 80 mm' },\n\t{ value: '72283049', label: '--- Altele' },\n\t{ value: '72283061', label: '-- Altele' },\n\t{ value: '72283061', label: '--- Cu secțiunea circulară, cu un diametru' },\n\t{ value: '72283061', label: '---- De minimum 80 mm' },\n\t{ value: '72283069', label: '---- Sub 80 mm' },\n\t{ value: '72283070', label: '--- Cu secțiunea dreptunghiulară (alta decât pătrată), laminate la cald pe cele patru fețe' },\n\t{ value: '72283089', label: '--- Altele' },\n\t{ value: '72284000', label: '- Alte bare și tije, simplu forjate' },\n\t{ value: '72284010', label: '-- Din oțeluri de scule' },\n\t{ value: '72284090', label: '-- Altele' },\n\t{ value: '72285000', label: '- Alte bare și tije, simplu obținute sau finisate la rece' },\n\t{ value: '72285020', label: '-- Din oțeluri de scule' },\n\t{ value: '72285040', label: '-- Cu un conținut de carbon de minimum 0,9 %, dar maximum 1,15 % și cu un conținut de crom de minimum 0,5 %, dar maximum 2 % și, eventual, cu un conținut de molibden de maximum 0,5 % din greutate' },\n\t{ value: '72285061', label: '-- Altele' },\n\t{ value: '72285061', label: '--- Cu secțiune circulară, cu un diametru' },\n\t{ value: '72285061', label: '---- De minimum 80 mm' },\n\t{ value: '72285069', label: '---- Sub 80 mm' },\n\t{ value: '72285080', label: '--- Altele' },\n\t{ value: '72286000', label: '- Alte bare și tije' },\n\t{ value: '72286020', label: '-- Din oțeluri de scule' },\n\t{ value: '72286080', label: '-- Altele' },\n\t{ value: '72287000', label: '- Profile' },\n\t{ value: '72287010', label: '-- Simplu laminate, trase la cald sau extrudate' },\n\t{ value: '72287090', label: '-- Altele' },\n\t{ value: '72288000', label: '- Bare și profile tubulare, pentru foraj' },\n\t{ value: '72290000', label: 'Sârmă din alte oțeluri aliate' },\n\t{ value: '72292000', label: '- Din oțeluri silico-manganoase' },\n\t{ value: '72299000', label: '- Altele' },\n\t{ value: '72299020', label: '-- Din oțeluri rapide' },\n\t{ value: '72299050', label: '-- Cu un conținut de carbon de minimum 0,9 %, dar maximum 1,15 %, și cu un conținut de crom de minimum 0,5 %, dar maximum 2 % și, eventual, cu un conținut de molibden de maximum 0,5 % din greutate' },\n\t{ value: '72299090', label: '-- Altele' },\n\t{ value: '73000000', label: 'ARTICOLE DIN FONTĂ, DIN FIER SAU DIN OȚEL' },\n\t{ value: '73010000', label: 'Palplanșe din fier sau din oțel, chiar perforate sau confecționate din elemente asamblate; profile, obținute prin sudare, din fier sau din oțel' },\n\t{ value: '73011000', label: '- Palplanșe' },\n\t{ value: '73012000', label: '- Profile' },\n\t{ value: '73020000', label: 'Materiale de construcție pentru liniile ferate, din fontă, din fier sau din oțel: șine, contrașine și cremaliere, ace și inimi de macaz, macazuri și alte elemente de încrucișare sau de schimbare de cale, traverse, eclise de îmbinare, cuzineți, pene de fixare, plăci de bază, plăci de așezare, plăci de strângere, plăci și bare de ecartament și alte piese special concepute pentru așezarea, îmbinarea sau fixarea șinelor' },\n\t{ value: '73021000', label: '- Șine' },\n\t{ value: '73021010', label: '-- Conducătoare de curent, cu părți din metale neferoase' },\n\t{ value: '73021022', label: '-- Altele' },\n\t{ value: '73021022', label: '--- Noi' },\n\t{ value: '73021022', label: '---- Șine cu cap rotund cu talpă lată (şine tip Vignole)' },\n\t{ value: '73021022', label: '----- Cu o greutate pe metru de minimum 36 kg' },\n\t{ value: '73021028', label: '----- Cu o greutate pe metru sub 36 kg' },\n\t{ value: '73021040', label: '---- Șine cu șanț' },\n\t{ value: '73021050', label: '---- Altele' },\n\t{ value: '73021090', label: '--- Folosite' },\n\t{ value: '73023000', label: '- Ace și inimi de macaz, macazuri și alte elemente de încrucișare sau de schimbare de cale' },\n\t{ value: '73024000', label: '- Eclise de îmbinare și plăci de bază' },\n\t{ value: '73029000', label: '- Altele' },\n\t{ value: '73030000', label: 'Tuburi, țevi și profile tubulare, din fontă' },\n\t{ value: '73030010', label: '- Tuburi și țevi, de tipul celor utilizate pentru canalizări sub presiune' },\n\t{ value: '73030090', label: '- Altele' },\n\t{ value: '73040000', label: 'Tuburi, țevi și profile tubulare, fără sudură, din fier sau din oțel' },\n\t{ value: '73041100', label: '- Tuburi și țevi, de tipul celor utilizate pentru conducte de petrol sau conducte de gaze' },\n\t{ value: '73041100', label: '-- Din oțeluri inoxidabile' },\n\t{ value: '73041900', label: '-- Altele' },\n\t{ value: '73041910', label: '--- Cu diametrul exterior de maximum 168,3 mm' },\n\t{ value: '73041930', label: '--- Cu diametrul exterior peste 168,3 mm, dar de maximum 406,4 mm' },\n\t{ value: '73041990', label: '--- Cu diametru exterior peste 406,4 mm' },\n\t{ value: '73042200', label: '- Tuburi și țevi de cuvelaj sau de producție și prăjini de foraj, de tipul celor utilizate pentru extracția petrolului sau a gazelor' },\n\t{ value: '73042200', label: '-- Prăjini de foraj din oțeluri inoxidabile' },\n\t{ value: '73042300', label: '-- Alte prăjini de foraj' },\n\t{ value: '73042400', label: '-- Altele, din oțeluri inoxidabile' },\n\t{ value: '73042900', label: '-- Altele' },\n\t{ value: '73042910', label: '--- Cu diametrul exterior de maximum 168,3 mm' },\n\t{ value: '73042930', label: '--- Cu diametrul exterior peste 168,3 mm, dar de maximum 406,4 mm' },\n\t{ value: '73042990', label: '--- Cu diametrul exterior peste 406,4 mm' },\n\t{ value: '73043100', label: '- Altele, cu secțiunea circulară, din fier sau din oțeluri nealiate' },\n\t{ value: '73043100', label: '-- Trase sau laminate la rece' },\n\t{ value: '73043120', label: '--- De precizie' },\n\t{ value: '73043180', label: '--- Altele' },\n\t{ value: '73043900', label: '-- Altele' },\n\t{ value: '73043950', label: '--- Tuburi filetate sau filetabile, numite \"conducte de gaz\"' },\n\t{ value: '73043982', label: '--- Altele, cu un diametru exterior' },\n\t{ value: '73043982', label: '---- De maximum 168,3 mm' },\n\t{ value: '73043983', label: '---- De peste 168,3 mm, dar maximum 406,4 mm' },\n\t{ value: '73043988', label: '---- De peste 406,4 mm' },\n\t{ value: '73044100', label: '- Altele, cu secțiunea circulară, din oțeluri inoxidabile' },\n\t{ value: '73044100', label: '-- Trase sau laminate la rece' },\n\t{ value: '73044900', label: '-- Altele' },\n\t{ value: '73044983', label: '--- Cu diametrul exterior de maximum 168,3 mm' },\n\t{ value: '73044985', label: '--- Cu diametrul exterior peste 168,3 mm, dar de maximum 406,4 mm' },\n\t{ value: '73044989', label: '--- Cu diametrul exterior de peste 406,4 mm' },\n\t{ value: '73045100', label: '- Altele, cu secțiunea circulară, din alte oțeluri aliate' },\n\t{ value: '73045100', label: '-- Trase sau laminate la rece' },\n\t{ value: '73045110', label: '--- Drepte și cu peretele de grosime uniformă, din oțeluri aliate, cu un conținut carbon de minimum 0,9 % și maximum 1,15 %, și cu un conținut de crom de la 0,5 % la 2 % și, eventual, cu un conținut de molibden de maximum 0,5 % din greutate' },\n\t{ value: '73045181', label: '--- Altele' },\n\t{ value: '73045181', label: '---- De precizie' },\n\t{ value: '73045189', label: '---- Altele' },\n\t{ value: '73045900', label: '-- Altele' },\n\t{ value: '73045930', label: '--- Drepte și cu peretele de grosime uniformă, din oțeluri aliate, cu un conținut carbon de minimum 0,9 % și maximum 1,15 %, și cu un conținut de crom de la 0,5 % la 2 % și, eventual, cu un conținut de molibden de maximum 0,5 % din greutate' },\n\t{ value: '73045982', label: '--- Altele' },\n\t{ value: '73045982', label: '---- Cu diametrul exterior de maximum 168,3 mm' },\n\t{ value: '73045983', label: '---- Cu diametrul exterior de peste 168,3 mm, dar maximum 406,4 mm' },\n\t{ value: '73045989', label: '---- Cu diametrul exterior de peste 406,4 mm' },\n\t{ value: '73049000', label: '- Altele' },\n\t{ value: '73050000', label: 'Alte tuburi și țevi (de exemplu sudate sau nituite), cu secțiunea circulară, cu diametrul exterior peste 406,4 mm, din fier sau din oțel' },\n\t{ value: '73051100', label: '- Tuburi și țevi de tipul celor utilizate pentru conducte de petrol sau de gaze' },\n\t{ value: '73051100', label: '-- Sudate longitudinal sub flux' },\n\t{ value: '73051200', label: '-- Altele, sudate longitudinal' },\n\t{ value: '73051900', label: '-- Altele' },\n\t{ value: '73052000', label: '- Tuburi și țevi de cuvelaj de tipul celor utilizate pentru extracția petrolului sau a gazelor' },\n\t{ value: '73053100', label: '- Altele, sudate' },\n\t{ value: '73053100', label: '-- Sudate longitudinal' },\n\t{ value: '73053900', label: '-- Altele' },\n\t{ value: '73059000', label: '- Altele' },\n\t{ value: '73060000', label: 'Alte tuburi, țevi și profile tubulare (de exemplu, sudate, nituite, fălțuite sau cu margini simplu apropiate), din fier sau din oțel' },\n\t{ value: '73061100', label: '- Tuburi și țevi de tipul celor utilizate pentru conducte de petrol sau de gaze' },\n\t{ value: '73061100', label: '-- Sudate, din oțeluri inoxidabile' },\n\t{ value: '73061900', label: '-- Altele' },\n\t{ value: '73062100', label: '- Tuburi și țevi de cuvelaj și de producție de tipul celor utilizate pentru extracția petrolului sau a gazelor' },\n\t{ value: '73062100', label: '-- Sudate, din oțeluri inoxidabile' },\n\t{ value: '73062900', label: '-- Altele' },\n\t{ value: '73063000', label: '- Altele, sudate, cu secțiunea circulară, din fier sau din oțeluri nealiate' },\n\t{ value: '73063012', label: '-- De precizie' },\n\t{ value: '73063012', label: '--- Trase sau laminate la rece' },\n\t{ value: '73063018', label: '--- Altele' },\n\t{ value: '73063041', label: '-- Altele' },\n\t{ value: '73063041', label: '--- Tuburi filetate sau filetabile, numite \"conducte de gaz\"' },\n\t{ value: '73063041', label: '---- Acoperite cu zinc' },\n\t{ value: '73063049', label: '---- Altele' },\n\t{ value: '73063072', label: '--- Altele, cu un diametru exterior' },\n\t{ value: '73063072', label: '---- De maximum 168,3 mm' },\n\t{ value: '73063072', label: '----- Acoperite cu zinc' },\n\t{ value: '73063077', label: '----- Altele' },\n\t{ value: '73063080', label: '---- De peste 168,3 mm, dar maximum 406,4 mm' },\n\t{ value: '73064000', label: '- Altele, sudate, cu secțiunea circulară, din oțeluri inoxidabile' },\n\t{ value: '73064020', label: '-- Trase sau laminate la rece' },\n\t{ value: '73064080', label: '-- Altele' },\n\t{ value: '73065000', label: '- Altele, sudate, cu secțiunea circulară, din alte oțeluri aliate' },\n\t{ value: '73065021', label: '-- De precizie' },\n\t{ value: '73065021', label: '--- Trase sau laminate la rece' },\n\t{ value: '73065029', label: '--- Altele' },\n\t{ value: '73065080', label: '-- Altele' },\n\t{ value: '73066100', label: '- Altele, sudate, cu secțiunea alta decât circulară' },\n\t{ value: '73066100', label: '-- Cu secțiunea pătrată sau dreptunghiulară' },\n\t{ value: '73066110', label: '--- Din oțeluri inoxidabile' },\n\t{ value: '73066192', label: '--- Altele' },\n\t{ value: '73066192', label: '---- Cu grosimea peretelui de maximum 2 mm' },\n\t{ value: '73066199', label: '---- Cu grosimea peretelui peste 2 mm' },\n\t{ value: '73066900', label: '-- Cu alte secțiuni, altele decât circulare' },\n\t{ value: '73066910', label: '--- Din oțeluri inoxidabile' },\n\t{ value: '73066990', label: '--- Altele' },\n\t{ value: '73069000', label: '- Altele' },\n\t{ value: '73070000', label: 'Accesorii de țevărie (de exemplu, racorduri, coturi, manșoane) din fontă, din fier sau din oțel' },\n\t{ value: '73071100', label: '- Turnate' },\n\t{ value: '73071100', label: '-- Din fontă nemaleabilă' },\n\t{ value: '73071110', label: '--- Pentru tuburi și țevi de tipul celor utilizate pentru sisteme sub presiune' },\n\t{ value: '73071190', label: '--- Altele' },\n\t{ value: '73071900', label: '-- Altele' },\n\t{ value: '73071910', label: '--- Din fontă' },\n\t{ value: '73071990', label: '--- Altele' },\n\t{ value: '73072100', label: '- Altele, din oțeluri inoxidabile' },\n\t{ value: '73072100', label: '-- Flanșe' },\n\t{ value: '73072200', label: '-- Coturi, curbe și manșoane, filetate' },\n\t{ value: '73072210', label: '--- Manșoane' },\n\t{ value: '73072290', label: '--- Coturi și curbe' },\n\t{ value: '73072300', label: '-- Accesorii pentru sudat cap la cap' },\n\t{ value: '73072310', label: '--- Coturi și curbe' },\n\t{ value: '73072390', label: '--- Altele' },\n\t{ value: '73072900', label: '-- Altele' },\n\t{ value: '73072910', label: '--- Filetate' },\n\t{ value: '73072980', label: '--- Altele' },\n\t{ value: '73079100', label: '- Altele' },\n\t{ value: '73079100', label: '-- Flanșe' },\n\t{ value: '73079200', label: '-- Coturi, curbe și manșoane, filetate' },\n\t{ value: '73079210', label: '--- Manșoane' },\n\t{ value: '73079290', label: '--- Coturi și curbe' },\n\t{ value: '73079300', label: '-- Accesorii pentru sudat cap la cap' },\n\t{ value: '73079311', label: '--- Cu cel mai mare diametru exterior de maximum 609,6 mm' },\n\t{ value: '73079311', label: '---- Coturi și curbe' },\n\t{ value: '73079319', label: '---- Altele' },\n\t{ value: '73079391', label: '--- Cu cel mai mare diametru exterior de peste 609,6 mm' },\n\t{ value: '73079391', label: '---- Coturi și curbe' },\n\t{ value: '73079399', label: '---- Altele' },\n\t{ value: '73079900', label: '-- Altele' },\n\t{ value: '73079910', label: '--- Filetate' },\n\t{ value: '73079980', label: '--- Altele' },\n\t{ value: '73080000', label: 'Construcții și părți de construcții (de exemplu, poduri și elemente de poduri, porți de ecluze, turnuri, piloni, stâlpi, coloane, șarpante, acoperișuri, uși și ferestre și tocurile lor, pervazuri și praguri, obloane, balustrade) din fontă, din fier sau din oțel, cu excepția construcțiilor prefabricate de la poziția 9406; table, tole, tije, bare, profile, țevi și produse similare, din fontă, din fier sau din oțel, pregătite în vederea utilizării lor în construcții' },\n\t{ value: '73081000', label: '- Poduri și elemente de poduri' },\n\t{ value: '73082000', label: '- Turnuri și piloni' },\n\t{ value: '73083000', label: '- Uși, ferestre și tocurile lor, pervazuri și praguri' },\n\t{ value: '73084000', label: '- Echipament de schelărie, de cofraj, de susținere sau de sprijinire' },\n\t{ value: '73089000', label: '- Altele' },\n\t{ value: '73089051', label: '-- Numai, sau în principal din tablă' },\n\t{ value: '73089051', label: '--- Panouri formate din doi pereți din tablă nervurată și cu un strat interior izolant' },\n\t{ value: '73089059', label: '--- Altele' },\n\t{ value: '73089098', label: '-- Altele' },\n\t{ value: '73090000', label: 'Rezervoare, cisterne, cuve și recipiente similare pentru orice fel de substanțe (cu excepția gazelor comprimate sau lichefiate) din fontă, din fier sau din oțel, cu o capacitate peste 300 l, fără dispozitive mecanice sau termice, chiar căptușite sau izolate termic' },\n\t{ value: '73090010', label: '- Pentru gaze (cu excepția gazului comprimat sau lichefiat)' },\n\t{ value: '73090030', label: '- Pentru lichide' },\n\t{ value: '73090030', label: '-- Cu căptușeală sau izolație termică' },\n\t{ value: '73090051', label: '-- Altele, cu o capacitate' },\n\t{ value: '73090051', label: '--- De peste 100 000 l' },\n\t{ value: '73090059', label: '--- De maximum 100 000 l' },\n\t{ value: '73090090', label: '- Pentru substanțe solide' },\n\t{ value: '73100000', label: 'Rezervoare, butoaie, bidoane, cutii și recipiente similare, pentru orice fel de substanțe (cu excepția gazelor comprimate sau lichefiate), din fontă, din fier sau din oțel, cu o capacitate de maximum 300 l, fără dispozitive mecanice sau termice, chiar căptușite sau izolate termic' },\n\t{ value: '73101000', label: '- Cu o capacitate de minimum 50 l' },\n\t{ value: '73102100', label: '- Cu o capacitate sub 50 l' },\n\t{ value: '73102100', label: '-- Cutii care se închid prin sudare sau prin sertizare' },\n\t{ value: '73102111', label: '--- Cutii de tipul celor pentru conservarea alimentelor' },\n\t{ value: '73102119', label: '--- Cutii de tipul celor pentru conservarea băuturilor' },\n\t{ value: '73102191', label: '--- Altele, cu o grosime a peretelui' },\n\t{ value: '73102191', label: '---- Sub 0,5 mm' },\n\t{ value: '73102199', label: '---- De minimum 0,5 mm' },\n\t{ value: '73102900', label: '-- Altele' },\n\t{ value: '73102910', label: '--- Cu o grosime a peretelui sub 0,5 mm' },\n\t{ value: '73102990', label: '--- Cu o grosime a peretelui de minimum 0,5 mm' },\n\t{ value: '73110000', label: 'Recipiente pentru gaze comprimate sau lichefiate, din fontă, din fier sau din oțel' },\n\t{ value: '73110011', label: '- Fără sudură' },\n\t{ value: '73110011', label: '-- Pentru o presiune de minimum 165 bari, cu o capacitate' },\n\t{ value: '73110011', label: '--- Sub 20 l' },\n\t{ value: '73110013', label: '--- De minimum 20 l, dar de maximum 50 l' },\n\t{ value: '73110019', label: '--- De peste 50 l' },\n\t{ value: '73110030', label: '-- Altele' },\n\t{ value: '73110091', label: '- Altele, cu o capacitate' },\n\t{ value: '73110091', label: '-- Sub 1 000 l' },\n\t{ value: '73110099', label: '-- De minimum 1 000 l' },\n\t{ value: '73120000', label: 'Toroane, cabluri, benzi împletite, parâme, odgoane și articole similare, din fier sau din oțel, neizolate electric' },\n\t{ value: '73121000', label: '- Toroane, parâme și cabluri' },\n\t{ value: '73121020', label: '-- Din oțel inoxidabil' },\n\t{ value: '73121041', label: '-- Altele, cu cea mai mare dimensiune a secțiunii transversale' },\n\t{ value: '73121041', label: '--- De maximum 3 mm' },\n\t{ value: '73121041', label: '---- Acoperite cu aliaje pe bază de cupru-zinc (alamă)' },\n\t{ value: '73121049', label: '---- Altele' },\n\t{ value: '73121061', label: '--- De peste 3 mm' },\n\t{ value: '73121061', label: '---- Toroane' },\n\t{ value: '73121061', label: '----- Neacoperite' },\n\t{ value: '73121065', label: '----- Acoperite' },\n\t{ value: '73121065', label: '------ Acoperite cu zinc' },\n\t{ value: '73121069', label: '------ Altele' },\n\t{ value: '73121081', label: '---- Cabluri şi parâme, inclusiv cabluri şi parâme închise' },\n\t{ value: '73121081', label: '----- Neacoperite sau simplu acoperite cu zinc, cu cea mai mare dimensiune a secțiunii transversale' },\n\t{ value: '73121081', label: '------ Peste 3 mm, dar de maximum 12 mm' },\n\t{ value: '73121083', label: '------ Peste 12 mm, dar de maximum 24 mm' },\n\t{ value: '73121085', label: '------ Peste 24 mm, dar de maximum 48 mm' },\n\t{ value: '73121089', label: '------ Peste 48 mm' },\n\t{ value: '73121098', label: '----- Altele' },\n\t{ value: '73129000', label: '- Altele' },\n\t{ value: '73130000', label: 'Sârmă ghimpată din fier sau din oțel; torsade ghimpate sau nu, din sârmă sau din benzi de fier sau de oțel, de tipul celor utilizate pentru împrejmuiri' },\n\t{ value: '73140000', label: 'Pânze metalice (inclusiv pânzele continue sau fără sfârșit), grilaje, plase și zăbrele din sârmă de fier sau de oțel; table și benzi expandate, din fier sau din oțel' },\n\t{ value: '73141200', label: '- Pânze metalice țesute' },\n\t{ value: '73141200', label: '-- Pânze metalice continue sau fără sfârșit, pentru utilaje, din oțeluri inoxidabile' },\n\t{ value: '73141400', label: '-- Alte pânze metalice țesute, din oțeluri inoxidabile' },\n\t{ value: '73141900', label: '-- Altele' },\n\t{ value: '73142000', label: '- Grilaje, plase și zăbrele, sudate în punctele de intersecție, din sârmă cu dimensiunea cea mai mare a secțiunii transversale de minimum 3 mm și ale căror ochiuri au o suprafață de minimum 100 cm2' },\n\t{ value: '73142010', label: '-- Din sârmă nervurată' },\n\t{ value: '73142090', label: '-- Altele' },\n\t{ value: '73143100', label: '- Alte grilaje, plase și zăbrele, sudate în punctele de intersecție' },\n\t{ value: '73143100', label: '-- Acoperite cu zinc' },\n\t{ value: '73143900', label: '-- Altele' },\n\t{ value: '73144100', label: '- Alte pânze metalice, grilaje, plase și zăbrele' },\n\t{ value: '73144100', label: '-- Acoperite cu zinc' },\n\t{ value: '73144200', label: '-- Acoperite cu materiale plastice' },\n\t{ value: '73144900', label: '-- Altele' },\n\t{ value: '73145000', label: '- Table și benzi expandate' },\n\t{ value: '73150000', label: 'Lanțuri și părțile acestora, din fontă, din fier sau din oțel' },\n\t{ value: '73151100', label: '- Lanțuri cu zale articulate și părțile acestora' },\n\t{ value: '73151100', label: '-- Lanțuri cu role' },\n\t{ value: '73151110', label: '--- De tipul celor utilizate pentru biciclete și motociclete' },\n\t{ value: '73151190', label: '--- Altele' },\n\t{ value: '73151200', label: '-- Alte lanțuri' },\n\t{ value: '73151900', label: '-- Părți' },\n\t{ value: '73152000', label: '- Lanțuri antiderapante' },\n\t{ value: '73158100', label: '- Alte lanțuri' },\n\t{ value: '73158100', label: '-- Lanțuri cu zale cu punte de legătură' },\n\t{ value: '73158200', label: '-- Alte lanțuri, cu zale sudate' },\n\t{ value: '73158900', label: '-- Altele' },\n\t{ value: '73159000', label: '- Alte părți' },\n\t{ value: '73160000', label: 'Ancore, ancore gheare de pisică și părțile acestora, din fier sau din oțel' },\n\t{ value: '73170000', label: 'Cuie, ținte, pioneze, crampoane cu vârf, agrafe ondulate sau cu margini tăiate oblic (altele decât cele de la poziția 8305) și articole similare, din fier sau din oțel, chiar cu cap din alte materiale, cu excepția celor cu cap din cupru' },\n\t{ value: '73170020', label: '- Presate la rece din sârmă' },\n\t{ value: '73170020', label: '-- Ținte, prinse în benzi sau rulouri' },\n\t{ value: '73170060', label: '-- Altele' },\n\t{ value: '73170080', label: '- Altele' },\n\t{ value: '73180000', label: 'Șuruburi, buloane, piulițe, tirfoane, cârlige filetate, nituri, știfturi, pene, șaibe (inclusiv șaibele elastice, de siguranță) și articole similare, din fontă, din fier sau din oțel' },\n\t{ value: '73181100', label: '- Articole filetate' },\n\t{ value: '73181100', label: '-- Tirfoane' },\n\t{ value: '73181200', label: '-- Alte șuruburi pentru lemn' },\n\t{ value: '73181210', label: '--- Din oțel inoxidabil' },\n\t{ value: '73181290', label: '--- Altele' },\n\t{ value: '73181300', label: '-- Cârlige și pitoane filetate' },\n\t{ value: '73181400', label: '-- Șuruburi autofiletante' },\n\t{ value: '73181410', label: '--- Din oțel inoxidabil' },\n\t{ value: '73181491', label: '--- Altele' },\n\t{ value: '73181491', label: '---- Șuruburi pentru tablă' },\n\t{ value: '73181499', label: '---- Altele' },\n\t{ value: '73181500', label: '-- Alte șuruburi și buloane, chiar cu piulițele sau șaibele acestora' },\n\t{ value: '73181520', label: '--- Pentru fixarea elementelor de cale ferată' },\n\t{ value: '73181535', label: '--- Altele' },\n\t{ value: '73181535', label: '---- Fără cap' },\n\t{ value: '73181535', label: '----- Din oțel inoxidabil' },\n\t{ value: '73181542', label: '----- Altele, cu rezistență la tracțiune' },\n\t{ value: '73181542', label: '------ Sub 800 MPa' },\n\t{ value: '73181548', label: '------ De minimum 800 MPa' },\n\t{ value: '73181552', label: '---- Cu cap' },\n\t{ value: '73181552', label: '----- Despicat sau cu adâncitură în formă de cruce' },\n\t{ value: '73181552', label: '------ Din oțel inoxidabil' },\n\t{ value: '73181558', label: '------ Altele' },\n\t{ value: '73181562', label: '----- Cu adâncitura capului hexagonală' },\n\t{ value: '73181562', label: '------ Din oțel inoxidabil' },\n\t{ value: '73181568', label: '------ Altele' },\n\t{ value: '73181575', label: '----- Hexagonal' },\n\t{ value: '73181575', label: '------ Din oțel inoxidabil' },\n\t{ value: '73181582', label: '------ Altele, cu rezistență la tracțiune' },\n\t{ value: '73181582', label: '------- Sub 800 MPa' },\n\t{ value: '73181588', label: '------- De minimum 800 MPa' },\n\t{ value: '73181595', label: '----- Altele' },\n\t{ value: '73181600', label: '-- Piulițe' },\n\t{ value: '73181631', label: '--- Din oțel inoxidabil' },\n\t{ value: '73181631', label: '---- Piulițe nit cu cap înecat' },\n\t{ value: '73181639', label: '---- Altele' },\n\t{ value: '73181640', label: '--- Altele' },\n\t{ value: '73181640', label: '---- Piulițe nit cu cap înecat' },\n\t{ value: '73181660', label: '---- De siguranță' },\n\t{ value: '73181692', label: '---- Altele, cu diametrul interior' },\n\t{ value: '73181692', label: '----- De maximum 12 mm' },\n\t{ value: '73181699', label: '----- De peste 12 mm' },\n\t{ value: '73181900', label: '-- Altele' },\n\t{ value: '73182100', label: '- Articole nefiletate' },\n\t{ value: '73182100', label: '-- Șaibe elastice și alte șaibe de blocare' },\n\t{ value: '73182200', label: '-- Alte șaibe' },\n\t{ value: '73182300', label: '-- Nituri' },\n\t{ value: '73182400', label: '-- Știfturi și pene' },\n\t{ value: '73182900', label: '-- Altele' },\n\t{ value: '73190000', label: 'Ace de cusut, ace de tricotat, andrele, croșete, poansoane pentru broderie și articole similare pentru folosire manuală, din fier sau din oțel; ace de siguranță și alte ace din fier sau din oțel, nedenumite și necuprinse în altă parte' },\n\t{ value: '73194000', label: '- Ace de siguranță și alte ace' },\n\t{ value: '73199000', label: '- Altele' },\n\t{ value: '73199010', label: '-- Ace de cusut, de stopat sau de brodat' },\n\t{ value: '73199090', label: '-- Altele' },\n\t{ value: '73200000', label: 'Arcuri și foi de arcuri, din fier sau din oțel' },\n\t{ value: '73201000', label: '- Arcuri cu foi și foile lor' },\n\t{ value: '73201011', label: '-- Formate la cald' },\n\t{ value: '73201011', label: '--- Arcuri parabolice și foile lor' },\n\t{ value: '73201019', label: '--- Altele' },\n\t{ value: '73201090', label: '-- Altele' },\n\t{ value: '73202000', label: '- Arcuri elicoidale' },\n\t{ value: '73202020', label: '-- Formate la cald' },\n\t{ value: '73202081', label: '-- Altele' },\n\t{ value: '73202081', label: '--- Arcuri de compresiune' },\n\t{ value: '73202085', label: '--- Arcuri de tracțiune' },\n\t{ value: '73202089', label: '--- Altele' },\n\t{ value: '73209000', label: '- Altele' },\n\t{ value: '73209010', label: '-- Arcuri plate în spirală' },\n\t{ value: '73209030', label: '-- Arcuri în formă de discuri' },\n\t{ value: '73209090', label: '-- Altele' },\n\t{ value: '73210000', label: 'Sobe de încălzit, cazane cu vatră, mașini de gătit, cuptoare (inclusiv cele care pot fi utilizate suplimentar și la încălzirea centrală), grătare barbecue, plăci radiante, reșouri cu gaze, plite de încălzit mâncarea și aparate neelectrice similare, pentru uz casnic, precum și părțile acestora, din fier sau din oțel' },\n\t{ value: '73211100', label: '- Aparate de gătit și plite de încălzit' },\n\t{ value: '73211100', label: '-- Cu combustibili gazoși sau cu gaz și cu alți combustibili' },\n\t{ value: '73211110', label: '--- Cu cuptor, inclusiv cuptoarele separate' },\n\t{ value: '73211190', label: '--- Altele' },\n\t{ value: '73211200', label: '-- Cu combustibili lichizi' },\n\t{ value: '73211900', label: '-- Altele, inclusiv cu combustibili solizi' },\n\t{ value: '73218100', label: '- Alte aparate' },\n\t{ value: '73218100', label: '-- Cu combustibili gazoși sau cu gaz și cu alți combustibili' },\n\t{ value: '73218200', label: '-- Cu combustibili lichizi' },\n\t{ value: '73218900', label: '-- Altele, inclusiv cu combustibili solizi' },\n\t{ value: '73219000', label: '- Părți' },\n\t{ value: '73220000', label: 'Radiatoare pentru încălzirea centrală, cu încălzire neelectrică și părțile acestora, din fontă, din fier sau din oțel; generatoare și distribuitoare de aer cald (inclusiv cele care pot funcționa și ca distribuitoare de aer rece sau de aer condiționat), cu încălzire neelectrică, prevăzute cu un ventilator sau cu o suflantă cu motor și părțile acestora, din fier sau din oțel' },\n\t{ value: '73221100', label: '- Radiatoare și părțile acestora' },\n\t{ value: '73221100', label: '-- Din fontă' },\n\t{ value: '73221900', label: '-- Altele' },\n\t{ value: '73229000', label: '- Altele' },\n\t{ value: '73230000', label: 'Articole de menaj sau de uz gospodăresc și părțile acestora, din fontă, din fier sau din oțel; sârmă de parchet din fier sau din oțel; bureți, spălătoare de vase, mănuși și articole similare pentru curățat, lustruit sau utilizări similare din fier sau din oțel' },\n\t{ value: '73231000', label: '- Sârmă de parchet din fier sau din oțel; bureți, spălătoare de vase, mănuși și articole similare pentru curățat, lustruit sau utilizări similare' },\n\t{ value: '73239100', label: '- Altele' },\n\t{ value: '73239100', label: '-- Din fontă, neemailate' },\n\t{ value: '73239200', label: '-- Din fontă, emailate' },\n\t{ value: '73239300', label: '-- Din oțeluri inoxidabile' },\n\t{ value: '73239400', label: '-- Din fier sau din oțel, emailate' },\n\t{ value: '73239900', label: '-- Altele' },\n\t{ value: '73240000', label: 'Articole sanitare, de igienă sau de toaletă și părțile acestora, din fontă, din fier sau din oțel' },\n\t{ value: '73241000', label: '- Chiuvete de bucătărie sau de baie, din oțeluri inoxidabile' },\n\t{ value: '73242100', label: '- Căzi de baie' },\n\t{ value: '73242100', label: '-- Din fontă, chiar emailate' },\n\t{ value: '73242900', label: '-- Altele' },\n\t{ value: '73249000', label: '- Altele, inclusiv părțile acestora' },\n\t{ value: '73250000', label: 'Alte articole turnate din fontă, din fier sau din oțel' },\n\t{ value: '73251000', label: '- Din fontă nemaleabilă' },\n\t{ value: '73259100', label: '- Altele' },\n\t{ value: '73259100', label: '-- Bile și articole similare pentru concasoare' },\n\t{ value: '73259900', label: '-- Altele' },\n\t{ value: '73259910', label: '--- Din fontă' },\n\t{ value: '73259990', label: '--- Altele' },\n\t{ value: '73260000', label: 'Alte articole din fier sau din oțel' },\n\t{ value: '73261100', label: '- Forjate sau ștanțate, dar neprelucrate altfel' },\n\t{ value: '73261100', label: '-- Bile și articole similare pentru concasoare' },\n\t{ value: '73261900', label: '-- Altele' },\n\t{ value: '73261910', label: '--- Forjate în matriță deschisă' },\n\t{ value: '73261990', label: '--- Altele' },\n\t{ value: '73262000', label: '- Articole din sârmă de fier sau de oțel' },\n\t{ value: '73269000', label: '- Altele' },\n\t{ value: '73269030', label: '-- Scări și trepte' },\n\t{ value: '73269040', label: '-- Palete și tăvi de genul celor utilizate pentru manipularea mărfurilor' },\n\t{ value: '73269050', label: '-- Bobine pentru cabluri, furtune etc' },\n\t{ value: '73269060', label: '-- Volete de aerisire nemecanice, jgheaburi, cârlige și alte lucrări utilizate în industria construcțiilor' },\n\t{ value: '73269092', label: '-- Alte articole din fier sau oțel' },\n\t{ value: '73269092', label: '--- Forjate în matriță deschisă' },\n\t{ value: '73269094', label: '--- Forjate în matriță închisă' },\n\t{ value: '73269096', label: '--- Sinterizate' },\n\t{ value: '73269098', label: '--- Altele' },\n\t{ value: '74000000', label: 'CUPRU ȘI ARTICOLE DIN CUPRU' },\n\t{ value: '74010000', label: 'Mate de cupru; cupru de cementare (precipitat de cupru)' },\n\t{ value: '74020000', label: 'Cupru nerafinat; anozi din cupru pentru rafinare electrolitică' },\n\t{ value: '74030000', label: 'Cupru rafinat și aliaje de cupru, sub formă brută' },\n\t{ value: '74031100', label: '- Cupru rafinat' },\n\t{ value: '74031100', label: '-- Catozi și secțiuni de catozi' },\n\t{ value: '74031200', label: '-- Bare pentru sârmă (\"wire-bars\")' },\n\t{ value: '74031300', label: '-- Țagle' },\n\t{ value: '74031900', label: '-- Altele' },\n\t{ value: '74032100', label: '- Aliaje de cupru' },\n\t{ value: '74032100', label: '-- Pe bază de cupru-zinc (alamă)' },\n\t{ value: '74032200', label: '-- Pe bază de cupru-staniu (bronz)' },\n\t{ value: '74032900', label: '-- Alte aliaje de cupru (cu excepția aliajelor de bază de la poziția 7405)' },\n\t{ value: '74040000', label: 'Deșeuri și resturi de cupru' },\n\t{ value: '74040010', label: '- De cupru rafinat' },\n\t{ value: '74040091', label: '- Din aliaje de cupru' },\n\t{ value: '74040091', label: '-- Pe bază de cupru-zinc (alamă)' },\n\t{ value: '74040099', label: '-- Altele' },\n\t{ value: '74050000', label: 'Aliaje de bază, din cupru' },\n\t{ value: '74060000', label: 'Pulberi și fulgi (paiete) din cupru' },\n\t{ value: '74061000', label: '- Pulberi cu structură nelamelară' },\n\t{ value: '74062000', label: '- Pulberi cu structură lamelară; fulgi (paiete)' },\n\t{ value: '74070000', label: 'Bare, tije și profile din cupru' },\n\t{ value: '74071000', label: '- Din cupru rafinat' },\n\t{ value: '74072100', label: '- Din aliaje de cupru' },\n\t{ value: '74072100', label: '-- Pe bază de cupru-zinc (alamă)' },\n\t{ value: '74072110', label: '--- Bare și tije' },\n\t{ value: '74072190', label: '--- Profile' },\n\t{ value: '74072900', label: '-- Altele' },\n\t{ value: '74080000', label: 'Sârmă din cupru' },\n\t{ value: '74081100', label: '- Din cupru rafinat' },\n\t{ value: '74081100', label: '-- A cărei dimensiune maximă a secțiunii transversale este peste 6 mm' },\n\t{ value: '74081900', label: '-- Altele' },\n\t{ value: '74081910', label: '--- A căror cea mai mare dimensiune a secțiunii transversale este peste 0,5 mm' },\n\t{ value: '74081990', label: '--- A căror cea mai mare dimensiune a secțiunii transversale este de maximum 0,5 mm' },\n\t{ value: '74082100', label: '- Din aliaje de cupru' },\n\t{ value: '74082100', label: '-- Pe bază de cupru-zinc (alamă)' },\n\t{ value: '74082200', label: '-- Pe bază de cupru-nichel (cupronichel) sau de cupru-nichel-zinc (alpaca)' },\n\t{ value: '74082900', label: '-- Altele' },\n\t{ value: '74090000', label: 'Tablă și bandă din cupru, cu o grosime peste 0,15 mm' },\n\t{ value: '74091100', label: '- Din cupru rafinat' },\n\t{ value: '74091100', label: '-- În rulouri' },\n\t{ value: '74091900', label: '-- Altele' },\n\t{ value: '74092100', label: '- Din aliaje pe bază de cupru-zinc (alamă)' },\n\t{ value: '74092100', label: '-- În rulouri' },\n\t{ value: '74092900', label: '-- Altele' },\n\t{ value: '74093100', label: '- Din aliaje pe bază de cupru-staniu (bronz)' },\n\t{ value: '74093100', label: '-- În rulouri' },\n\t{ value: '74093900', label: '-- Altele' },\n\t{ value: '74094000', label: '- Din aliaje pe bază de cupru-nichel (cupronichel) sau de cupru-nichel-zinc (alpaca)' },\n\t{ value: '74099000', label: '- Din alte aliaje de cupru' },\n\t{ value: '74100000', label: 'Folii și benzi subțiri din cupru (chiar imprimate sau fixate pe hârtie, pe carton, pe material plastic sau pe suporturi similare) cu o grosime de maximum 0,15 mm (fără suport)' },\n\t{ value: '74101100', label: '- Fără suport' },\n\t{ value: '74101100', label: '-- Din cupru rafinat' },\n\t{ value: '74101200', label: '-- Din aliaje de cupru' },\n\t{ value: '74102100', label: '- Pe suport' },\n\t{ value: '74102100', label: '-- Din cupru rafinat' },\n\t{ value: '74102200', label: '-- Din aliaje de cupru' },\n\t{ value: '74110000', label: 'Tuburi și țevi din cupru' },\n\t{ value: '74111000', label: '- Din cupru rafinat' },\n\t{ value: '74111010', label: '-- Drepte' },\n\t{ value: '74111090', label: '-- Altele' },\n\t{ value: '74112100', label: '- Din aliaje de cupru' },\n\t{ value: '74112100', label: '-- Pe bază de cupru-zinc (alamă)' },\n\t{ value: '74112110', label: '--- Drepte' },\n\t{ value: '74112190', label: '--- Altele' },\n\t{ value: '74112200', label: '-- Pe bază de cupru-nichel (cupronichel) sau de cupru-nichel-zinc (alpaca)' },\n\t{ value: '74112900', label: '-- Altele' },\n\t{ value: '74120000', label: 'Accesorii de țevărie (de exemplu, racorduri, coturi, bucșe), din cupru' },\n\t{ value: '74121000', label: '- Din cupru rafinat' },\n\t{ value: '74122000', label: '- Din aliaje de cupru' },\n\t{ value: '74130000', label: 'Toroane, cabluri, odgoane, benzi împletite și articole similare, din cupru, neizolate electric' },\n\t{ value: '74150000', label: 'Ținte, cuie, pioneze, agrafe (altele decât cele de la poziția 8305), crampoane cu vârf și articole similare, din cupru sau cu tijă din fier sau din oțel și cap din cupru; șuruburi, buloane, piulițe, cârlige filetate, nituri, cuie spintecate, știfturi, piroane, pene, șaibe, inele (inclusiv șaibele și inelele elastice de siguranță) și articole similare, din cupru' },\n\t{ value: '74151000', label: '- Ținte, cuie, pioneze, agrafe, crampoane cu vârf și articole similare' },\n\t{ value: '74152100', label: '- Alte articole, nefiletate' },\n\t{ value: '74152100', label: '-- Șaibe și inele (inclusiv șaibe și inele elastice de siguranță)' },\n\t{ value: '74152900', label: '-- Altele' },\n\t{ value: '74153300', label: '- Alte articole, filetate' },\n\t{ value: '74153300', label: '-- Șuruburi; buloane și piulițe' },\n\t{ value: '74153900', label: '-- Altele' },\n\t{ value: '74180000', label: 'Articole de uz casnic sau de uz gospodăresc, sanitare, de igienă sau de toaletă și părțile acestora, din cupru; bureți din sârmă, spălători de vase, mănuși și articole similare pentru curățat, pentru lustruit sau pentru utilizări similare, din cupru' },\n\t{ value: '74181000', label: '- Articole de uz casnic sau de uz gospodăresc și părțile lor; bureți din sârmă, spălători de vase, mănuși și articole similare pentru curățat, pentru lustruit sau pentru utilizări similare' },\n\t{ value: '74181010', label: '-- Aparate neelectrice pentru gătit sau pentru încălzit, de tipul celor de uz gospodăresc și părțile acestora, din cupru' },\n\t{ value: '74181090', label: '-- Altele' },\n\t{ value: '74182000', label: '- Articole sanitare, de igienă sau de toaletă și părțile acestora' },\n\t{ value: '74190000', label: 'Alte articole din cupru' },\n\t{ value: '74192000', label: '- Turnate, formate, ștanțate sau forjate, dar neprelucrate altfel' },\n\t{ value: '74198000', label: '- Altele' },\n\t{ value: '74198010', label: '-- Pânze metalice (inclusiv pânze continue sau fără sfârșit), grilaje și plase, din sârmă de cupru a cărei dimensiune maximă a secțiunii transversale nu depășește 6 mm; table și benzi expandate' },\n\t{ value: '74198030', label: '-- Arcuri' },\n\t{ value: '74198090', label: '-- Altele' },\n\t{ value: '75000000', label: 'NICHEL ȘI ARTICOLE DIN NICHEL' },\n\t{ value: '75010000', label: 'Mate de nichel, \"sinteri\" de oxizi de nichel și alte produse intermediare ale metalurgiei nichelului' },\n\t{ value: '75011000', label: '- Mate de nichel' },\n\t{ value: '75012000', label: '- \"Sinteri\" de oxizi de nichel și alte produse intermediare ale metalurgiei nichelului' },\n\t{ value: '75020000', label: 'Nichel sub formă brută' },\n\t{ value: '75021000', label: '- Nichel nealiat' },\n\t{ value: '75022000', label: '- Aliaje de nichel' },\n\t{ value: '75030000', label: 'Deșeuri și resturi din nichel' },\n\t{ value: '75030010', label: '- Din nichel nealiat' },\n\t{ value: '75030090', label: '- Din aliaje de nichel' },\n\t{ value: '75040000', label: 'Pulberi și fulgi (paiete) din nichel' },\n\t{ value: '75050000', label: 'Bare, tije, profile și sârmă, din nichel' },\n\t{ value: '75051100', label: '- Bare, tije și profile' },\n\t{ value: '75051100', label: '-- Din nichel nealiat' },\n\t{ value: '75051200', label: '-- Din aliaje de nichel' },\n\t{ value: '75052100', label: '- Sârmă' },\n\t{ value: '75052100', label: '-- Din nichel nealiat' },\n\t{ value: '75052200', label: '-- Din aliaje de nichel' },\n\t{ value: '75060000', label: 'Table, benzi și folii, din nichel' },\n\t{ value: '75061000', label: '- Din nichel nealiat' },\n\t{ value: '75062000', label: '- Din aliaje de nichel' },\n\t{ value: '75070000', label: 'Tuburi, țevi și accesorii de țevărie (de exemplu, racorduri, coturi, manșoane), din nichel' },\n\t{ value: '75071100', label: '- Tuburi și țevi' },\n\t{ value: '75071100', label: '-- Din nichel nealiat' },\n\t{ value: '75071200', label: '-- Din aliaje de nichel' },\n\t{ value: '75072000', label: '- Accesorii de țevărie' },\n\t{ value: '75080000', label: 'Alte articole din nichel' },\n\t{ value: '75081000', label: '- Pânze metalice și grilaje, din sârmă de nichel' },\n\t{ value: '75089000', label: '- Altele' },\n\t{ value: '76000000', label: 'ALUMINIU ȘI ARTICOLE DIN ALUMINIU' },\n\t{ value: '76010000', label: 'Aluminiu sub formă brută' },\n\t{ value: '76011000', label: '- Aluminiu nealiat' },\n\t{ value: '76012000', label: '- Aliaje de aluminiu' },\n\t{ value: '76012020', label: '-- Brame și țagle' },\n\t{ value: '76012080', label: '-- Altele' },\n\t{ value: '76020000', label: 'Deșeuri și resturi din aluminiu' },\n\t{ value: '76020011', label: '- Deșeuri' },\n\t{ value: '76020011', label: '-- Deșeuri de așchiere, șpan, deșeuri de măcinare, pilitură; deșeuri de foi și de benzi subțiri, colorate, acoperite sau lipite între ele, cu o grosime de maximum 0,2 mm (fără suport)' },\n\t{ value: '76020019', label: '-- Altele (inclusiv rebuturile de fabricație)' },\n\t{ value: '76020090', label: '- Resturi' },\n\t{ value: '76030000', label: 'Pulberi și fulgi (paiete) din aluminiu' },\n\t{ value: '76031000', label: '- Pulberi cu structură nelamelară' },\n\t{ value: '76032000', label: '- Pulberi cu structură lamelară; fulgi (paiete)' },\n\t{ value: '76040000', label: 'Bare, tije și profile din aluminiu' },\n\t{ value: '76041000', label: '- Din aluminiu nealiat' },\n\t{ value: '76041010', label: '-- Bare și tije' },\n\t{ value: '76041090', label: '-- Profile' },\n\t{ value: '76042100', label: '- Din aliaje de aluminiu' },\n\t{ value: '76042100', label: '-- Profile tubulare' },\n\t{ value: '76042900', label: '-- Altele' },\n\t{ value: '76042910', label: '--- Bare și tije' },\n\t{ value: '76042990', label: '--- Profile' },\n\t{ value: '76050000', label: 'Sârmă din aluminiu' },\n\t{ value: '76051100', label: '- Din aluminiu nealiat' },\n\t{ value: '76051100', label: '-- A cărei dimensiune maximă, a secțiunii transversale, este de peste 7 mm' },\n\t{ value: '76051900', label: '-- Altele' },\n\t{ value: '76052100', label: '- Din aliaje de aluminiu' },\n\t{ value: '76052100', label: '-- A cărei dimensiune maximă, a secțiunii transversale, este de peste 7 mm' },\n\t{ value: '76052900', label: '-- Altele' },\n\t{ value: '76060000', label: 'Table și benzi de aluminiu, cu o grosime peste 0,2 mm' },\n\t{ value: '76061100', label: '- De formă pătrată sau dreptunghiulară' },\n\t{ value: '76061100', label: '-- Din aluminiu nealiat' },\n\t{ value: '76061130', label: '--- Panouri compozite din aluminiu' },\n\t{ value: '76061150', label: '--- Altele' },\n\t{ value: '76061150', label: '---- Lăcuite, vopsite sau acoperite cu material plastic' },\n\t{ value: '76061191', label: '--- Altele, cu grosimea' },\n\t{ value: '76061191', label: '---- Sub 3 mm' },\n\t{ value: '76061193', label: '---- De minimum 3 mm, dar sub 6 mm' },\n\t{ value: '76061199', label: '---- De minimum 6 mm' },\n\t{ value: '76061200', label: '-- Din aliaje de aluminiu' },\n\t{ value: '76061211', label: '--- Pentru corpuri, capace și inele de doze pentru băuturi' },\n\t{ value: '76061211', label: '---- Pentru corpuri de doze pentru băuturi' },\n\t{ value: '76061219', label: '---- Pentru capace și inele de doze pentru băuturi' },\n\t{ value: '76061230', label: '--- Panouri compozite din aluminiu' },\n\t{ value: '76061250', label: '--- Altele' },\n\t{ value: '76061250', label: '---- Lăcuite, vopsite sau acoperite cu material plastic' },\n\t{ value: '76061292', label: '---- Altele, cu grosimea' },\n\t{ value: '76061292', label: '----- Sub 3 mm' },\n\t{ value: '76061293', label: '----- De minimum 3 mm, dar sub 6 mm' },\n\t{ value: '76061299', label: '----- De minimum 6 mm' },\n\t{ value: '76069100', label: '- Altele' },\n\t{ value: '76069100', label: '-- Din aluminiu nealiat' },\n\t{ value: '76069200', label: '-- Din aliaje de aluminiu' },\n\t{ value: '76070000', label: 'Folii și benzi subțiri din aluminiu (chiar imprimate sau fixate pe hârtie, pe carton, pe materiale plastice sau pe alte suporturi similare), cu o grosime de maximum 0,2 mm (fără suport)' },\n\t{ value: '76071100', label: '- Fără suport' },\n\t{ value: '76071100', label: '-- Simplu laminate' },\n\t{ value: '76071111', label: '--- Cu grosimea sub 0,021 mm' },\n\t{ value: '76071111', label: '---- În rulouri având fiecare o greutate de maximum 10 kg' },\n\t{ value: '76071119', label: '---- Altele' },\n\t{ value: '76071190', label: '--- Cu grosimea de minimum 0,021 mm, dar maximum 0,2 mm' },\n\t{ value: '76071900', label: '-- Altele' },\n\t{ value: '76071910', label: '--- Cu grosimea sub 0,021 mm' },\n\t{ value: '76071990', label: '--- Cu grosimea de minimum 0,021 mm, dar maximum 0,2 mm' },\n\t{ value: '76072000', label: '- Pe suport' },\n\t{ value: '76072010', label: '-- Cu grosimea (grosimea suportului nu este inclusă) sub 0,021 mm' },\n\t{ value: '76072091', label: '-- Cu grosimea (grosimea suportului nu este inclusă) de minimum 0,021 mm, dar maximum 0,2 mm' },\n\t{ value: '76072091', label: '--- Panouri compozite din aluminiu' },\n\t{ value: '76072099', label: '--- Altele' },\n\t{ value: '76080000', label: 'Tuburi și țevi din aluminiu' },\n\t{ value: '76081000', label: '- Din aluminiu nealiat' },\n\t{ value: '76082000', label: '- Din aliaje de aluminiu' },\n\t{ value: '76082020', label: '-- Sudate' },\n\t{ value: '76082081', label: '-- Altele' },\n\t{ value: '76082081', label: '--- Simplu extrudate' },\n\t{ value: '76082089', label: '--- Altele' },\n\t{ value: '76090000', label: 'Accesorii de țevărie (de exemplu, racorduri, coturi, manșoane) din aluminiu' },\n\t{ value: '76100000', label: 'Construcții și părți de construcții (de exemplu, poduri și elemente de poduri, turnuri, piloni, stâlpi, coloane, șarpante, acoperișuri, uși și ferestre și ramele acestora, pervazuri, praguri, balustrade) din aluminiu, cu excepția construcțiilor prefabricate de la poziția 9406; table, bare, profile, tuburi și similare, pregătite în vederea utilizării în construcții' },\n\t{ value: '76101000', label: '- Uși, ferestre și ramele acestora, pervazuri și praguri' },\n\t{ value: '76109000', label: '- Altele' },\n\t{ value: '76109010', label: '-- Poduri și elemente de poduri, turnuri și piloni' },\n\t{ value: '76109090', label: '-- Altele' },\n\t{ value: '76110000', label: 'Rezervoare, cisterne, cuve și recipiente similare pentru orice substanțe (cu excepția gazelor comprimate sau lichefiate), din aluminiu, cu o capacitate peste 300 l, fără dispozitive mecanice sau termice, chiar căptușite sau izolate termic' },\n\t{ value: '76120000', label: 'Rezervoare, butoaie, butii, bidoane, cutii și recipiente similare din aluminiu (inclusiv recipiente tubulare rigide sau flexibile), pentru orice substanțe (cu excepția gazelor comprimate sau lichefiate), cu o capacitate de maximum 300 l, fără dispozitive mecanice sau termice, chiar căptușite sau izolate termic' },\n\t{ value: '76121000', label: '- Recipiente tubulare flexibile' },\n\t{ value: '76129000', label: '- Altele' },\n\t{ value: '76129020', label: '-- Recipiente de tipul celor utilizate pentru aerosoli' },\n\t{ value: '76129030', label: '-- Fabricate din foiță cu o grosime de maximum 0,2 mm' },\n\t{ value: '76129080', label: '-- Altele' },\n\t{ value: '76130000', label: 'Recipiente din aluminiu pentru gaze comprimate sau lichefiate' },\n\t{ value: '76140000', label: 'Toroane, cabluri, benzi împletite și articole similare, din aluminiu, neizolate electric' },\n\t{ value: '76141000', label: '- Cu inimă de oțel' },\n\t{ value: '76149000', label: '- Altele' },\n\t{ value: '76150000', label: 'Articole de uz casnic sau de uz gospodăresc, sanitare, de igienă sau de toaletă și părțile acestora, din aluminiu; bureți de sârmă, spălătoare de vase, mănuși și articole similare pentru curățare, pentru lustruire sau pentru utilizări similare, din aluminiu' },\n\t{ value: '76151000', label: '- Articole de uz casnic sau de uz gospodăresc și părțile acestora; bureți de sârmă, spălătoare de vase, mănuși și articole similare pentru curăţare, pentru lustruire sau pentru utilizări similare' },\n\t{ value: '76151010', label: '-- Turnate' },\n\t{ value: '76151030', label: '-- Fabricate din foiță cu o grosime de maximum 0,2 mm' },\n\t{ value: '76151080', label: '-- Altele' },\n\t{ value: '76152000', label: '- Articole sanitare, de igienă sau de toaletă și părțile acestora' },\n\t{ value: '76160000', label: 'Alte articole din aluminiu' },\n\t{ value: '76161000', label: '- Ținte, cuie, crampoane cu vârf, șuruburi, buloane, piulițe, cârlige cu filet, nituri, cuie spintecate, știfturi, pene, șaibe și inele și articole similare' },\n\t{ value: '76169100', label: '- Altele' },\n\t{ value: '76169100', label: '-- Pânze metalice, grilaje și plase din sârmă de aluminiu' },\n\t{ value: '76169900', label: '-- Altele' },\n\t{ value: '76169910', label: '--- Turnate' },\n\t{ value: '76169990', label: '--- Altele' },\n\t{ value: '78000000', label: 'PLUMB ȘI ARTICOLE DIN PLUMB' },\n\t{ value: '78010000', label: 'Plumb sub formă brută' },\n\t{ value: '78011000', label: '- Plumb rafinat' },\n\t{ value: '78019100', label: '- Altele' },\n\t{ value: '78019100', label: '-- Care conține stibiu (antimoniu) ca alt element predominant în greutate' },\n\t{ value: '78019900', label: '-- Altele' },\n\t{ value: '78019910', label: '--- Pentru rafinare, conținând minimum 0,02 % din greutate argint (lingouri de plumb)' },\n\t{ value: '78019990', label: '--- Altele' },\n\t{ value: '78020000', label: 'Deșeuri și resturi de plumb' },\n\t{ value: '78040000', label: 'Plăci, table, folii și benzi, din plumb; pulberi și fulgi (paiete) din plumb' },\n\t{ value: '78041100', label: '- Plăci, table, folii și benzi' },\n\t{ value: '78041100', label: '-- Folii și benzi cu o grosime de maximum 0,2 mm (fără a considera suportul)' },\n\t{ value: '78041900', label: '-- Altele' },\n\t{ value: '78042000', label: '- Pulberi și fulgi (paiete)' },\n\t{ value: '78060000', label: 'Alte articole din plumb' },\n\t{ value: '78060010', label: '- Ambalaje prevăzute cu blindaje de protecție din plumb împotriva radiațiilor, pentru transportul sau depozitarea materialelor radioactive' },\n\t{ value: '78060080', label: '- Altele' },\n\t{ value: '79000000', label: 'ZINC ȘI ARTICOLE DIN ZINC' },\n\t{ value: '79010000', label: 'Zinc sub formă brută' },\n\t{ value: '79011100', label: '- Zinc nealiat' },\n\t{ value: '79011100', label: '-- Care conține în greutate minimum 99,99 % zinc' },\n\t{ value: '79011200', label: '-- Care conține în greutate sub 99,99 % zinc' },\n\t{ value: '79011210', label: '--- Care conține, în greutate, minimum 99,95 %, dar sub 99,99 % zinc' },\n\t{ value: '79011230', label: '--- Care conține, în greutate, minimum 98,5 %, dar sub 99,95 % zinc' },\n\t{ value: '79011290', label: '--- Care conține în greutate, minimum 97,5 %, dar sub 98,5 % zinc' },\n\t{ value: '79012000', label: '- Aliaje de zinc' },\n\t{ value: '79020000', label: 'Deșeuri și resturi din zinc' },\n\t{ value: '79030000', label: 'Praf, pulberi și fulgi (paiete), din zinc' },\n\t{ value: '79031000', label: '- Praf de zinc' },\n\t{ value: '79039000', label: '- Altele' },\n\t{ value: '79040000', label: 'Bare, tije, profile și sârmă, din zinc' },\n\t{ value: '79050000', label: 'Table, folii și benzi, din zinc' },\n\t{ value: '79070000', label: 'Alte articole din zinc' },\n\t{ value: '80000000', label: 'STANIU ȘI ARTICOLE DIN STANIU' },\n\t{ value: '80010000', label: 'Staniu sub formă brută' },\n\t{ value: '80011000', label: '- Staniu nealiat' },\n\t{ value: '80012000', label: '- Aliaje de staniu' },\n\t{ value: '80020000', label: 'Deșeuri și resturi de staniu' },\n\t{ value: '80030000', label: 'Bare, tije, profile și sârmă din staniu' },\n\t{ value: '80070000', label: 'Alte articole din staniu' },\n\t{ value: '80070010', label: '- Table, benzi și folii, cu o grosime peste 0,2 mm' },\n\t{ value: '80070080', label: '- Altele' },\n\t{ value: '81000000', label: 'ALTE METALE COMUNE; METALOCERAMICE; ARTICOLE DIN ACESTE MATERIALE' },\n\t{ value: '81010000', label: 'Tungsten (wolfram) și articole din tungsten, inclusiv deșeuri și resturi' },\n\t{ value: '81011000', label: '- Pulberi' },\n\t{ value: '81019400', label: '- Altele' },\n\t{ value: '81019400', label: '-- Tungsten sub formă brută, inclusiv barele și tijele simplu obținute prin sinterizare' },\n\t{ value: '81019600', label: '-- Sârmă' },\n\t{ value: '81019700', label: '-- Deșeuri și resturi' },\n\t{ value: '81019900', label: '-- Altele' },\n\t{ value: '81019910', label: '--- Bare și tije, altele decât cele simplu obținute prin sinterizare, profile, table, benzi și folii' },\n\t{ value: '81019990', label: '--- Altele' },\n\t{ value: '81020000', label: 'Molibden și articole din molibden, inclusiv deșeuri și resturi' },\n\t{ value: '81021000', label: '- Pulberi' },\n\t{ value: '81029400', label: '- Altele' },\n\t{ value: '81029400', label: '-- Molibden sub formă brută, inclusiv barele și tijele simplu obținute prin sinterizare' },\n\t{ value: '81029500', label: '-- Bare și tije, altele decât cele simplu obținute prin sinterizare, profile, table, benzi și folii' },\n\t{ value: '81029600', label: '-- Sârmă' },\n\t{ value: '81029700', label: '-- Deșeuri și resturi' },\n\t{ value: '81029900', label: '-- Altele' },\n\t{ value: '81030000', label: 'Tantal și articole din tantal, inclusiv deșeuri și resturi' },\n\t{ value: '81032000', label: '- Tantal sub formă brută, inclusiv barele și tijele simplu obținute prin sinterizare; pulberi' },\n\t{ value: '81033000', label: '- Deșeuri și resturi' },\n\t{ value: '81039100', label: '- Altele' },\n\t{ value: '81039100', label: '-- Creuzete' },\n\t{ value: '81039900', label: '-- Altele' },\n\t{ value: '81039910', label: '--- Bare și tije, altele decât cele obținute prin sinterizare, profile, sârme, table, benzi și folii' },\n\t{ value: '81039990', label: '--- Altele' },\n\t{ value: '81040000', label: 'Magneziu și articole din magneziu, inclusiv deșeuri și resturi' },\n\t{ value: '81041100', label: '- Magneziu sub formă brută' },\n\t{ value: '81041100', label: '-- Care conține minimum 99,8 % magneziu în greutate' },\n\t{ value: '81041900', label: '-- Altele' },\n\t{ value: '81042000', label: '- Deșeuri și resturi' },\n\t{ value: '81043000', label: '- Șpan și granule, calibrate; pulberi' },\n\t{ value: '81049000', label: '- Altele' },\n\t{ value: '81050000', label: 'Mate de cobalt și alte produse intermediare ale metalurgiei cobaltului; cobalt și articole din cobalt, inclusiv deșeuri și resturi' },\n\t{ value: '81052000', label: '- Mate de cobalt și alte produse intermediare ale metalurgiei cobaltului; cobalt sub formă brută; pulberi' },\n\t{ value: '81053000', label: '- Deșeuri și resturi' },\n\t{ value: '81059000', label: '- Altele' },\n\t{ value: '81060000', label: 'Bismut și articole din bismut, inclusiv deșeuri și resturi' },\n\t{ value: '81061000', label: '- Cu un conținut, în greutate, de peste 99,99 % de bismut' },\n\t{ value: '81061010', label: '-- Bismut sub formă brută; deșeuri și resturi; pulberi' },\n\t{ value: '81061090', label: '-- Altele' },\n\t{ value: '81069000', label: '- Altele' },\n\t{ value: '81069010', label: '-- Bismut sub formă brută; deșeuri și resturi; pulberi' },\n\t{ value: '81069090', label: '-- Altele' },\n\t{ value: '81080000', label: 'Titan și articole din titan, inclusiv deșeuri și resturi' },\n\t{ value: '81082000', label: '- Titan sub formă brută; pulberi' },\n\t{ value: '81083000', label: '- Deșeuri și resturi' },\n\t{ value: '81089000', label: '- Altele' },\n\t{ value: '81089030', label: '-- Bare, tije, profile și sârmă' },\n\t{ value: '81089050', label: '-- Table, benzi și foi' },\n\t{ value: '81089060', label: '-- Tuburi și țevi' },\n\t{ value: '81089090', label: '-- Altele' },\n\t{ value: '81090000', label: 'Zirconiu și articole din zirconiu, inclusiv deșeuri și resturi' },\n\t{ value: '81092100', label: '- Zirconiu sub formă brută; pulberi' },\n\t{ value: '81092100', label: '-- Cu un conținut, în greutate, mai mic de 1 parte hafniu la 500 de părți zirconiu' },\n\t{ value: '81092900', label: '-- Altele' },\n\t{ value: '81093100', label: '- Deșeuri și resturi' },\n\t{ value: '81093100', label: '-- Cu un conținut, în greutate, mai mic de 1 parte hafniu la 500 de părți zirconiu' },\n\t{ value: '81093900', label: '-- Altele' },\n\t{ value: '81099100', label: '- Altele' },\n\t{ value: '81099100', label: '-- Cu un conținut, în greutate, mai mic de 1 parte hafniu la 500 de părți zirconiu' },\n\t{ value: '81099900', label: '-- Altele' },\n\t{ value: '81100000', label: 'Antimoniu (stibiu) și articole din antimoniu, inclusiv deșeuri și resturi' },\n\t{ value: '81101000', label: '- Antimoniu (stibiu) sub formă brută; pulberi' },\n\t{ value: '81102000', label: '- Deșeuri și resturi' },\n\t{ value: '81109000', label: '- Altele' },\n\t{ value: '81110000', label: 'Mangan și articole din mangan, inclusiv deșeuri și resturi' },\n\t{ value: '81110011', label: '- Mangan sub formă brută; deșeuri și resturi; pulberi' },\n\t{ value: '81110011', label: '-- Mangan sub formă brută; pulberi' },\n\t{ value: '81110019', label: '-- Deșeuri și resturi' },\n\t{ value: '81110090', label: '- Altele' },\n\t{ value: '81120000', label: 'Beriliu, crom, hafniu, reniu, taliu, cadmiu, germaniu, vanadiu, galiu, indiu și niobiu (columbiu), articole din aceste metale, inclusiv deșeuri și resturi' },\n\t{ value: '81121200', label: '- Beriliu' },\n\t{ value: '81121200', label: '-- Sub formă brută; pulberi' },\n\t{ value: '81121300', label: '-- Deșeuri și resturi' },\n\t{ value: '81121900', label: '-- Altele' },\n\t{ value: '81122100', label: '- Crom' },\n\t{ value: '81122100', label: '-- Sub formă brută; pulberi' },\n\t{ value: '81122110', label: '--- Aliaje de crom cu un conținut de nichel peste 10 % din greutate' },\n\t{ value: '81122190', label: '--- Altele' },\n\t{ value: '81122200', label: '-- Deșeuri și resturi' },\n\t{ value: '81122900', label: '-- Altele' },\n\t{ value: '81123100', label: '- Hafniu' },\n\t{ value: '81123100', label: '-- Sub formă brută; deșeuri și resturi; pulberi' },\n\t{ value: '81123900', label: '-- Altele' },\n\t{ value: '81124100', label: '- Reniu' },\n\t{ value: '81124100', label: '-- Sub formă brută; deșeuri și resturi; pulberi' },\n\t{ value: '81124110', label: '--- Deșeuri și resturi' },\n\t{ value: '81124190', label: '--- Altele' },\n\t{ value: '81124900', label: '-- Altele' },\n\t{ value: '81125100', label: '- Taliu' },\n\t{ value: '81125100', label: '-- Sub formă brută; pulberi' },\n\t{ value: '81125200', label: '-- Deșeuri și resturi' },\n\t{ value: '81125900', label: '-- Altele' },\n\t{ value: '81126100', label: '- Cadmiu' },\n\t{ value: '81126100', label: '-- Deșeuri și resturi' },\n\t{ value: '81126900', label: '-- Altele' },\n\t{ value: '81126910', label: '--- Cadmiu sub formă brută; pulberi' },\n\t{ value: '81126990', label: '--- Altele' },\n\t{ value: '81129200', label: '- Altele' },\n\t{ value: '81129200', label: '-- Sub formă brută; deșeuri și resturi; pulberi' },\n\t{ value: '81129221', label: '--- Niobiu (columbiu); galiu; indiu; vanadiu; germaniu' },\n\t{ value: '81129221', label: '---- Deșeuri și resturi' },\n\t{ value: '81129240', label: '---- Altele' },\n\t{ value: '81129240', label: '----- Niobiu (columbiu)' },\n\t{ value: '81129281', label: '----- Indiu' },\n\t{ value: '81129289', label: '----- Galiu' },\n\t{ value: '81129291', label: '----- Vanadiu' },\n\t{ value: '81129295', label: '----- Germaniu' },\n\t{ value: '81129900', label: '-- Altele' },\n\t{ value: '81129940', label: '--- Germaniu' },\n\t{ value: '81129950', label: '--- Niobiu (columbiu)' },\n\t{ value: '81129970', label: '--- Galiu; indiu; vanadiu' },\n\t{ value: '81130000', label: 'Metaloceramice și articole din compuşi metaloceramici, inclusiv deșeuri și resturi' },\n\t{ value: '81130020', label: '- Sub formă brută' },\n\t{ value: '81130040', label: '- Deșeuri și resturi' },\n\t{ value: '81130090', label: '- Altele' },\n\t{ value: '82000000', label: 'UNELTE ȘI SCULE, ARTICOLE DE CUȚITĂRIE ȘI TACÂMURI, DIN METALE COMUNE; PĂRȚI ALE ACESTOR ARTICOLE, DIN METALE COMUNE' },\n\t{ value: '82010000', label: 'Cazmale, hârlețe, lopeți, târnăcoape, sape, săpăligi, furci, greble și raclete; securi, topoare, barde, cosoare de grădină și unelte similare cu tăiș; foarfece de grădinar, de orice tip; seceri și coase, cuțite pentru fân sau pentru paie; foarfece pentru garduri vii, pene pentru spart lemne și alte unelte agricole, horticole sau forestiere, manuale' },\n\t{ value: '82011000', label: '- Cazmale, hârlețe și lopeți' },\n\t{ value: '82013000', label: '- Târnăcoape, sape, săpăligi, greble și raclete' },\n\t{ value: '82014000', label: '- Securi, topoare, barde și unelte similare cu tăiș' },\n\t{ value: '82015000', label: '- Foarfece de grădinar și alte foarfece similare acționate cu o singură mână (inclusiv foarfece pentru păsări de curte)' },\n\t{ value: '82016000', label: '- Foarfece pentru garduri vii, de grădinar și alte unelte similare, acționate cu două mâini' },\n\t{ value: '82019000', label: '- Alte unelte agricole, horticole sau forestiere, manuale' },\n\t{ value: '82020000', label: 'Ferăstraie manuale; pânze de ferăstrău de orice fel (inclusiv freze-ferăstrău și pânze nedanturate pentru tăiere)' },\n\t{ value: '82021000', label: '- Ferăstraie manuale' },\n\t{ value: '82022000', label: '- Pânze de ferăstrău-bandă (ferăstrău-panglică)' },\n\t{ value: '82023100', label: '- Pânze de ferăstrău-circular (inclusiv freză-ferăstrău)' },\n\t{ value: '82023100', label: '-- Cu partea activă din oțel' },\n\t{ value: '82023900', label: '-- Altele, inclusiv părți' },\n\t{ value: '82024000', label: '- Lanțuri numite \"tăietoare\" pentru ferăstraie cu lanț' },\n\t{ value: '82029100', label: '- Alte pânze de ferăstrău' },\n\t{ value: '82029100', label: '-- Pânze drepte de ferăstrău pentru prelucrarea metalelor' },\n\t{ value: '82029900', label: '-- Altele' },\n\t{ value: '82029920', label: '--- Pentru prelucrarea metalelor' },\n\t{ value: '82029980', label: '--- Pentru prelucrarea altor materiale' },\n\t{ value: '82030000', label: 'Pile, rașpele, clești (chiar pentru tăiat), patente, pensete, foarfece de tăiat metale, unelte de tăiat țevi, unelte de tăiat buloane, poansoane, preducele și unelte similare de mână' },\n\t{ value: '82031000', label: '- Pile, rașpele și unelte similare' },\n\t{ value: '82032000', label: '- Clești (chiar pentru tăiat), patente, pensete și unelte similare' },\n\t{ value: '82033000', label: '- Foarfece de tăiat metale și unelte similare' },\n\t{ value: '82034000', label: '- Unelte de tăiat țevi, unelte de tăiat buloane, preducele și unelte similare' },\n\t{ value: '82040000', label: 'Chei manuale de strângere (inclusiv chei dinamometrice); bucșe și manșoane de strângere interschimbabile, cu sau fără mâner' },\n\t{ value: '82041100', label: '- Chei manuale de strângere' },\n\t{ value: '82041100', label: '-- Fixe' },\n\t{ value: '82041200', label: '-- Reglabile' },\n\t{ value: '82042000', label: '- Bucșe și manșoane de strângere interschimbabile, cu sau fără mâner' },\n\t{ value: '82050000', label: 'Unelte și scule manuale (inclusiv diamante pentru tăiat geamuri) nedenumite și necuprinse în altă parte; lămpi de sudură sau de lipit și similare; menghine, cleme de strângere și similare, altele decât cele care constituie accesorii sau părți de mașini-unelte sau mașini de tăiat cu jet de apă; nicovale; forje portative; polizoare cu batiuri, manuale sau cu pedală' },\n\t{ value: '82051000', label: '- Unelte și scule de găurit, de filetat sau de tarodat' },\n\t{ value: '82052000', label: '- Ciocane, baroase și maiuri' },\n\t{ value: '82053000', label: '- Rindele, dălți și unelte similare de tăiat, pentru prelucrarea lemnului' },\n\t{ value: '82054000', label: '- Șurubelnițe' },\n\t{ value: '82055100', label: '- Alte scule și unelte de mână (inclusiv diamante pentru tăiat geamuri)' },\n\t{ value: '82055100', label: '-- De uz gospodăresc' },\n\t{ value: '82055900', label: '-- Altele' },\n\t{ value: '82055910', label: '--- Unelte pentru zidărie, turnare, cimentare, modelare ipsos și zugrăvit' },\n\t{ value: '82055980', label: '--- Altele' },\n\t{ value: '82056000', label: '- Lămpi de sudură sau de lipit și similare' },\n\t{ value: '82057000', label: '- Menghine, cleme de strângere și similare' },\n\t{ value: '82059000', label: '- Altele, inclusiv seturi de articole de la cel puțin două dintre subpozițiile de la această poziție' },\n\t{ value: '82059010', label: '-- Nicovale; forje portative; polizoare cu batiuri, manuale sau cu pedală' },\n\t{ value: '82059090', label: '-- Seturi de articole de la cel puțin două dintre subpozițiile de la această poziție' },\n\t{ value: '82060000', label: 'Unelte de la cel puțin două din pozițiile 8202-8205, condiționate în seturi pentru vânzarea cu amănuntul' },\n\t{ value: '82070000', label: 'Unelte interschimbabile pentru utilaje de mână, mecanice sau nu, sau pentru mașini-unelte (de exemplu, de ambutisat, de ștanțat, de poansonat, de tarodat, de filetat, de găurit, de alezat, de broșat, de frezat, de strunjit, de înșurubat), inclusiv filiere pentru tragerea sau extrudarea metalelor, precum și scule pentru găurirea rocilor sau sondarea terenului' },\n\t{ value: '82071300', label: '- Unelte pentru găurirea rocilor sau sondarea terenului' },\n\t{ value: '82071300', label: '-- Cu partea activă din compuşi metaloceramici' },\n\t{ value: '82071900', label: '-- Altele, inclusiv părți' },\n\t{ value: '82071910', label: '--- Cu partea activă din diamant sau din diamant aglomerat' },\n\t{ value: '82071990', label: '--- Altele' },\n\t{ value: '82072000', label: '- Filiere pentru tragerea sau extrudarea metalelor' },\n\t{ value: '82072010', label: '-- Cu partea activă din diamant sau din diamant aglomerat' },\n\t{ value: '82072090', label: '-- Cu partea activă din alte materiale' },\n\t{ value: '82073000', label: '- Unelte pentru ambutisat, ștanțat sau poansonat' },\n\t{ value: '82073010', label: '-- Pentru prelucrarea metalelor' },\n\t{ value: '82073090', label: '-- Altele' },\n\t{ value: '82074000', label: '- Unelte pentru tarodat sau filetat' },\n\t{ value: '82074010', label: '-- Pentru prelucrarea metalelor' },\n\t{ value: '82074010', label: '--- Unelte pentru tarodat' },\n\t{ value: '82074030', label: '--- Unelte pentru filetat' },\n\t{ value: '82074090', label: '-- Altele' },\n\t{ value: '82075000', label: '- Unelte pentru găurit altele decât pentru găurirea rocilor' },\n\t{ value: '82075010', label: '-- Cu partea activă din diamant sau din diamant aglomerat' },\n\t{ value: '82075030', label: '-- Cu partea activă din alte materiale' },\n\t{ value: '82075030', label: '--- Sfredele pentru zidărie' },\n\t{ value: '82075050', label: '--- Altele' },\n\t{ value: '82075050', label: '---- Pentru prelucrarea metalelor, cu partea activă' },\n\t{ value: '82075050', label: '----- Din compuşi metaloceramici' },\n\t{ value: '82075060', label: '----- Din oțeluri rapide' },\n\t{ value: '82075070', label: '----- Din alte materiale' },\n\t{ value: '82075090', label: '---- Altele' },\n\t{ value: '82076000', label: '- Unelte pentru alezat sau broșat' },\n\t{ value: '82076010', label: '-- Cu partea activă din diamant sau din diamant aglomerat' },\n\t{ value: '82076030', label: '-- Cu partea activă din alte materiale' },\n\t{ value: '82076030', label: '--- Unelte pentru alezat' },\n\t{ value: '82076030', label: '---- Pentru prelucrarea metalelor' },\n\t{ value: '82076050', label: '---- Altele' },\n\t{ value: '82076070', label: '--- Unelte pentru broșat' },\n\t{ value: '82076070', label: '---- Pentru prelucrarea metalelor' },\n\t{ value: '82076090', label: '---- Altele' },\n\t{ value: '82077000', label: '- Unelte pentru frezat' },\n\t{ value: '82077010', label: '-- Pentru prelucrarea metalelor, cu partea activă' },\n\t{ value: '82077010', label: '--- Din compuşi metaloceramici' },\n\t{ value: '82077031', label: '--- Din alte materiale' },\n\t{ value: '82077031', label: '---- Freze cu coadă' },\n\t{ value: '82077037', label: '---- Altele' },\n\t{ value: '82077090', label: '-- Altele' },\n\t{ value: '82078000', label: '- Unelte pentru strunjit' },\n\t{ value: '82078011', label: '-- Pentru prelucrarea metalelor, cu partea activă' },\n\t{ value: '82078011', label: '--- Din compuşi metaloceramici' },\n\t{ value: '82078019', label: '--- Din alte materiale' },\n\t{ value: '82078090', label: '-- Altele' },\n\t{ value: '82079000', label: '- Alte unelte interschimbabile' },\n\t{ value: '82079010', label: '-- Cu partea activă din diamant sau din diamant aglomerat' },\n\t{ value: '82079030', label: '-- Cu partea activă din alte materiale' },\n\t{ value: '82079030', label: '--- Vârfuri (bits) de șurubelnițe' },\n\t{ value: '82079050', label: '--- Unelte de danturare (pentru prelucrarea roților dințate)' },\n\t{ value: '82079071', label: '--- Altele, cu partea activă' },\n\t{ value: '82079071', label: '---- Din compuşi metaloceramici' },\n\t{ value: '82079071', label: '----- Pentru prelucrarea metalelor' },\n\t{ value: '82079078', label: '----- Altele' },\n\t{ value: '82079091', label: '---- Din alte materiale' },\n\t{ value: '82079091', label: '----- Pentru prelucrarea metalelor' },\n\t{ value: '82079099', label: '----- Altele' },\n\t{ value: '82080000', label: 'Cuțite și lame tăietoare, pentru mașini sau pentru aparate mecanice' },\n\t{ value: '82081000', label: '- Pentru prelucrarea metalelor' },\n\t{ value: '82082000', label: '- Pentru prelucrarea lemnului' },\n\t{ value: '82083000', label: '- Pentru aparate de bucătărie sau pentru mașini folosite în industria alimentară' },\n\t{ value: '82084000', label: '- Pentru mașini agricole, horticole sau forestiere' },\n\t{ value: '82089000', label: '- Altele' },\n\t{ value: '82090000', label: 'Plăcuțe, baghete, vârfuri și obiecte similare pentru unelte și scule, nemontate, din compuşi metaloceramici' },\n\t{ value: '82090020', label: '- Plăcuțe detașabile' },\n\t{ value: '82090080', label: '- Altele' },\n\t{ value: '82100000', label: 'Aparate mecanice acționate manual, cu o greutate de maximum 10 kg, utilizate pentru prepararea, condiționarea sau servirea alimentelor sau băuturilor' },\n\t{ value: '82110000', label: 'Cuțite (altele decât cele de la poziția 8208) cu lamă tăietoare sau zimțată, inclusiv cosoare care se închid, și lamele acestora' },\n\t{ value: '82111000', label: '- Seturi' },\n\t{ value: '82119100', label: '- Altele' },\n\t{ value: '82119100', label: '-- Cuțite de masă cu lamă fixă' },\n\t{ value: '82119200', label: '-- Alte cuțite cu lamă fixă' },\n\t{ value: '82119300', label: '-- Cuțite, altele decât cele cu lamă fixă, inclusiv cosoarele care se închid' },\n\t{ value: '82119400', label: '-- Lame' },\n\t{ value: '82119500', label: '-- Mânere din metale comune' },\n\t{ value: '82120000', label: 'Brice și aparate de ras, și lame de ras (inclusiv eboșele în benzi)' },\n\t{ value: '82121000', label: '- Brice și aparate de ras' },\n\t{ value: '82121010', label: '-- Aparate de ras cu protecție cu lamă neînlocuibilă' },\n\t{ value: '82121090', label: '-- Altele' },\n\t{ value: '82122000', label: '- Lame pentru aparate de ras cu protecție, inclusiv eboșele în benzi' },\n\t{ value: '82129000', label: '- Alte părți' },\n\t{ value: '82130000', label: 'Foarfece cu două brațe și lamele acestora' },\n\t{ value: '82140000', label: 'Alte articole de cuțitărie (de exemplu, mașini de tuns, satâre de măcelărie sau de bucătărie, cuțite de ghilotină, cuțite de tranșat sau de tocat, cuțite de tăiat hârtie); instrumente și seturi de instrumente pentru manichiură sau pedichiură (inclusiv pilele de unghii)' },\n\t{ value: '82141000', label: '- Cuțite de tăiat hârtie, de deschis scrisori, cuțite de răzuit, ascuțitori de creioane și lamele acestora' },\n\t{ value: '82142000', label: '- Instrumente și seturi de instrumente pentru manichiură sau pedichiură (inclusiv pilele de unghii)' },\n\t{ value: '82149000', label: '- Altele' },\n\t{ value: '82150000', label: 'Linguri, furculițe, polonice, spumiere, palete pentru prăjituri, cuțite speciale pentru pește sau pentru unt, clești pentru zahăr și articole similare' },\n\t{ value: '82151000', label: '- Seturi care conțin cel puțin un obiect argintat, aurit sau platinat' },\n\t{ value: '82151020', label: '-- Care conțin numai obiecte argintate, aurite sau platinate' },\n\t{ value: '82151030', label: '-- Altele' },\n\t{ value: '82151030', label: '--- Din oțel inoxidabil' },\n\t{ value: '82151080', label: '--- Altele' },\n\t{ value: '82152000', label: '- Alte seturi' },\n\t{ value: '82152010', label: '-- Din oțel inoxidabil' },\n\t{ value: '82152090', label: '-- Altele' },\n\t{ value: '82159100', label: '- Altele' },\n\t{ value: '82159100', label: '-- Argintate, aurite sau platinate' },\n\t{ value: '82159900', label: '-- Altele' },\n\t{ value: '82159910', label: '--- Din oțel inoxidabil' },\n\t{ value: '82159990', label: '--- Altele' },\n\t{ value: '83000000', label: 'ARTICOLE DIVERSE DIN METALE COMUNE' },\n\t{ value: '83010000', label: 'Lacăte, broaște și zăvoare (cu chei, cu cifru sau electrice), din metale comune; închizătoare și monturi-închizătoare prevăzute cu broaște, din metale comune; chei pentru aceste articole, din metale comune' },\n\t{ value: '83011000', label: '- Lacăte' },\n\t{ value: '83012000', label: '- Broaște de tipul celor utilizate pentru autovehicule' },\n\t{ value: '83013000', label: '- Broaște de tipul celor utilizate pentru mobilă' },\n\t{ value: '83014000', label: '- Alte broaște; zăvoare' },\n\t{ value: '83014011', label: '-- Broaște de tipul celor utilizate pentru ușile clădirilor' },\n\t{ value: '83014011', label: '--- Broaște cu cilindru' },\n\t{ value: '83014019', label: '--- Altele' },\n\t{ value: '83014090', label: '-- Alte broaște; zăvoare' },\n\t{ value: '83015000', label: '- Închizătoare și monturi-închizătoare prevăzute cu broaște' },\n\t{ value: '83016000', label: '- Părți' },\n\t{ value: '83017000', label: '- Chei prezentate separat' },\n\t{ value: '83020000', label: 'Decorațiuni, articole de feronerie și articole similare, din metale comune, pentru mobilă, uși, scări, ferestre, jaluzele, caroserii, articole de șelărie, valize, cufere, cofrete și pentru alte articole similare; cuiere pentru haine, cuiere pentru pălării, suporturi și articole similare, din metale comune; rotițe și rotile cu monturi din metale comune; închizători automate, din metale comune, pentru uși' },\n\t{ value: '83021000', label: '- Șarniere și articulații de orice fel (inclusiv balamale și similare)' },\n\t{ value: '83022000', label: '- Rotițe și rotile' },\n\t{ value: '83023000', label: '- Alte decorațiuni, articole de feronerie și articole similare pentru autovehicule' },\n\t{ value: '83024100', label: '- Alte decorațiuni, articole de feronerie și articole similare' },\n\t{ value: '83024100', label: '-- Pentru construcții' },\n\t{ value: '83024110', label: '--- Pentru uși' },\n\t{ value: '83024150', label: '--- Pentru ferestre și uși-ferestre (glasvanduri)' },\n\t{ value: '83024190', label: '--- Altele' },\n\t{ value: '83024200', label: '-- Altele, pentru mobilă' },\n\t{ value: '83024900', label: '-- Altele' },\n\t{ value: '83025000', label: '- Cuiere pentru haine, cuiere pentru pălării, suporturi și articole similare' },\n\t{ value: '83026000', label: '- Închizători automate pentru uși' },\n\t{ value: '83030000', label: 'Case de bani, uși blindate și compartimente pentru camere blindate, cufere și casete de siguranță și articole similare, din metale comune' },\n\t{ value: '83030040', label: '- Case de bani, uși blindate și compartimente pentru camere blindate' },\n\t{ value: '83030090', label: '- Cufere și casete de siguranță și articole similare' },\n\t{ value: '83040000', label: 'Bibliorafturi, fișiere, cutii de clasat, suporturi pentru hârtii, penare, portștampile și materiale și furnituri similare pentru birou, din metale comune, cu excepția mobilierului de birou de la poziția 9403' },\n\t{ value: '83050000', label: 'Mecanisme pentru legarea foilor volante sau pentru clasoare, cleme și agrafe pentru hârtii, colțuri pentru documente, călăreți și obiecte similare de birou din metale comune; agrafe prezentate în benzi (de exemplu, de birou, pentru tapițerie, pentru ambalare), din metale comune' },\n\t{ value: '83051000', label: '- Mecanisme pentru legarea foilor volante sau pentru bibliorafturi' },\n\t{ value: '83052000', label: '- Agrafe prezentate în benzi' },\n\t{ value: '83059000', label: '- Altele, inclusiv părțile' },\n\t{ value: '83060000', label: 'Clopote, clopoței, gonguri și articole similare, neelectrice, din metale comune; statuete și alte obiecte de ornament, din metale comune; rame pentru fotografii, pentru gravuri sau pentru altele similare din metale comune; oglinzi din metale comune' },\n\t{ value: '83061000', label: '- Clopote, clopoței, gonguri și articole similare' },\n\t{ value: '83062100', label: '- Statuete și alte obiecte de ornament' },\n\t{ value: '83062100', label: '-- Argintate, aurite sau platinate' },\n\t{ value: '83062900', label: '-- Altele' },\n\t{ value: '83063000', label: '- Rame pentru fotografii, pentru gravuri sau pentru altele similare; oglinzi' },\n\t{ value: '83070000', label: 'Tuburi flexibile din metale comune, cu sau fără accesoriile acestora' },\n\t{ value: '83071000', label: '- Din fier sau din oțel' },\n\t{ value: '83079000', label: '- Din alte metale comune' },\n\t{ value: '83080000', label: 'Închizătoare, monturi-închizătoare, catarame, catarame-încheietori, agrafe, copci, capse și articole similare, din metale comune, de tipul folosit pentru îmbrăcăminte sau pentru accesorii de îmbrăcăminte, pentru încălțăminte, pentru bijuterii, pentru ceasuri de mână, pentru cărți, pentru prelate, pentru articole de marochinărie, pentru articole de voiaj sau pentru articole de șelărie ori pentru alte articole confecționate; nituri tubulare sau cu tijă bifurcată, din metale comune; mărgele și paiete din metale comune' },\n\t{ value: '83081000', label: '- Agrafe, copci, capse' },\n\t{ value: '83082000', label: '- Nituri tubulare sau cu tijă bifurcată' },\n\t{ value: '83089000', label: '- Altele, inclusiv părțile' },\n\t{ value: '83090000', label: 'Dopuri (inclusiv dopurile cu coroană, cu filet și de turnare în pahare), capace, capsule pentru sticle, cepuri filetate, acoperitoare de cepuri, sigilii și alte accesorii pentru ambalaje, din metale comune' },\n\t{ value: '83091000', label: '- Dopuri cu coroană' },\n\t{ value: '83099000', label: '- Altele' },\n\t{ value: '83099010', label: '-- Capsule din plumb; capsule din aluminiu cu un diametru de peste 21 mm' },\n\t{ value: '83099090', label: '-- Altele' },\n\t{ value: '83100000', label: 'Plăci indicatoare, plăci pentru firme, pentru adrese și alte plăci similare, cifre, litere și însemne diverse, din metale comune, cu excepția celor clasificate la poziția 9405' },\n\t{ value: '83110000', label: 'Sârmă, baghete, tuburi, plăci, electrozi și articole similare din metale comune sau din carburi metalice, acoperite sau umplute cu decapanți sau cu fondanți, pentru lipire, pentru sudare sau pentru depunere de metal sau de carburi metalice; sârmă și baghete, din pulberi de metale comune aglomerate, utilizate la metalizarea prin pulverizare' },\n\t{ value: '83111000', label: '- Electrozi acoperiți, pentru sudură cu arc electric, din metale comune' },\n\t{ value: '83112000', label: '- Sârmă umplută, pentru sudură cu arc electric, din metale comune' },\n\t{ value: '83113000', label: '- Baghete acoperite și sârmă umplută, pentru lipire sau sudură cu flacără, din metale comune' },\n\t{ value: '83119000', label: '- Altele' },\n\t{ value: '84000000', label: 'REACTOARE NUCLEARE, CAZANE, MAȘINI, APARATE ȘI DISPOZITIVE MECANICE; PĂRȚI ALE ACESTORA' },\n\t{ value: '84010000', label: 'Reactoare nucleare; elemente combustibile (cartușe) neiradiate pentru reactoare nucleare; mașini și aparate pentru separare izotopică' },\n\t{ value: '84011000', label: '- Reactoare nucleare' },\n\t{ value: '84012000', label: '- Mașini și aparate pentru separare izotopică și părțile lor' },\n\t{ value: '84013000', label: '- Elemente combustibile (cartușe) neiradiate' },\n\t{ value: '84014000', label: '- Părți de reactoare nucleare' },\n\t{ value: '84020000', label: 'Cazane generatoare de abur sau de alți vapori, altele decât cazanele pentru încălzire centrală destinate să producă în același timp apă caldă și abur de joasă presiune; cazane numite \"de apă supraîncălzită\"' },\n\t{ value: '84021100', label: '- Cazane generatoare de abur sau de alți vapori' },\n\t{ value: '84021100', label: '-- Cazane acvatubulare cu o producție orară de abur peste 45 tone' },\n\t{ value: '84021200', label: '-- Cazane acvatubulare cu o producție orară de abur de maximum 45 tone' },\n\t{ value: '84021900', label: '-- Alte cazane generatoare de vapori, inclusiv cazanele mixte' },\n\t{ value: '84021910', label: '--- Cazane ignitubulare' },\n\t{ value: '84021990', label: '--- Altele' },\n\t{ value: '84022000', label: '- Cazane numite \"de apă supraîncălzită\"' },\n\t{ value: '84029000', label: '- Părți' },\n\t{ value: '84030000', label: 'Cazane pentru încălzire centrală, altele decât cele de la poziția 8402' },\n\t{ value: '84031000', label: '- Cazane' },\n\t{ value: '84031010', label: '-- Din fontă' },\n\t{ value: '84031090', label: '-- Altele' },\n\t{ value: '84039000', label: '- Părți' },\n\t{ value: '84039010', label: '-- Din fontă' },\n\t{ value: '84039090', label: '-- Altele' },\n\t{ value: '84040000', label: 'Instalații auxiliare pentru cazanele de la pozițiile 8402 sau 8403 (de exemplu economizoare, supraîncălzitoare, dispozitive de curățat funingine sau recuperatoare de gaz); condensatoare pentru mașinile cu abur sau alți vapori' },\n\t{ value: '84041000', label: '- Instalații auxiliare pentru cazanele de la pozițiile 8402 sau 8403' },\n\t{ value: '84042000', label: '- Condensatoare pentru mașinile cu abur sau alți vapori' },\n\t{ value: '84049000', label: '- Părți' },\n\t{ value: '84050000', label: 'Generatoare de gaz de aer sau generatoare de gaz de apă, cu sau fără epuratoarele lor; generatoare de acetilenă și generatoare similare de gaz, prin procedeul cu apă, cu sau fără epuratoarele lor' },\n\t{ value: '84051000', label: '- Generatoare de gaz de aer sau generatoare de gaz de apă, cu sau fără epuratoarele lor; generatoare de acetilenă și generatoare similare de gaz, prin procedeul cu apă, cu sau fără epuratoarele lor' },\n\t{ value: '84059000', label: '- Părți' },\n\t{ value: '84060000', label: 'Turbine cu vapori' },\n\t{ value: '84061000', label: '- Turbine pentru propulsia navelor' },\n\t{ value: '84068100', label: '- Alte turbine' },\n\t{ value: '84068100', label: '-- De o putere peste 40 MW' },\n\t{ value: '84068200', label: '-- De o putere de maximum 40 MW' },\n\t{ value: '84069000', label: '- Părți' },\n\t{ value: '84069010', label: '-- Palete de stator, rotoare și paletele lor' },\n\t{ value: '84069090', label: '-- Altele' },\n\t{ value: '84070000', label: 'Motoare cu piston alternativ sau rotativ, cu aprindere prin scânteie (motoare cu explozie)' },\n\t{ value: '84071000', label: '- Motoare pentru aviație' },\n\t{ value: '84072100', label: '- Motoare pentru propulsia navelor' },\n\t{ value: '84072100', label: '-- Suspendate (exterioare bordului)' },\n\t{ value: '84072110', label: '--- Cu capacitatea cilindrică de maximum 325 cm3' },\n\t{ value: '84072191', label: '--- Cu capacitatea cilindrică peste 325 cm3' },\n\t{ value: '84072191', label: '---- Cu puterea de maximum 30 kW' },\n\t{ value: '84072199', label: '---- Cu puterea peste 30 kW' },\n\t{ value: '84072900', label: '-- Altele' },\n\t{ value: '84073100', label: '- Motoare cu piston alternativ de tipul celor utilizate pentru propulsia vehiculelor de la capitolul 87' },\n\t{ value: '84073100', label: '-- Cu capacitatea cilindrică de maximum 50 cm3' },\n\t{ value: '84073200', label: '-- Cu capacitatea cilindrică peste 50 cm3, dar maximum 250 cm3' },\n\t{ value: '84073210', label: '--- Cu capacitatea cilindrică peste 50 cm3, dar maximum 125 cm3' },\n\t{ value: '84073290', label: '--- Cu capacitatea cilindrică peste 125 cm3, dar maximum 250 cm3' },\n\t{ value: '84073300', label: '-- Cu capacitatea cilindrică peste 250 cm3, dar maximum 1 000 cm3' },\n\t{ value: '84073320', label: '--- Cu capacitatea cilindrică peste 250 cm3, dar maximum 500 cm3' },\n\t{ value: '84073380', label: '--- Cu capacitatea cilindrică peste 500 cm3, dar maximum 1000 cm3' },\n\t{ value: '84073400', label: '-- Cu capacitatea cilindrică de peste 1 000 cm3' },\n\t{ value: '84073410', label: '--- Destinate industriei de montaj: motocultoarelor de la subpoziția 8701 10, autovehiculelor de la poziția 8703, autovehiculelor de la poziția 8704, cu capacitate cilindrică mai mică de 2 800 cm3, autovehiculelor de la poziția 8705' },\n\t{ value: '84073430', label: '--- Altele' },\n\t{ value: '84073430', label: '---- Folosite' },\n\t{ value: '84073491', label: '---- Noi, cu o capacitate cilindrică' },\n\t{ value: '84073491', label: '----- De maximum 1 500 cm3' },\n\t{ value: '84073499', label: '----- De peste 1 500 cm3' },\n\t{ value: '84079000', label: '- Alte motoare' },\n\t{ value: '84079010', label: '-- Cu capacitatea cilindrică de maximum 250 cm3' },\n\t{ value: '84079050', label: '-- Cu capacitatea cilindrică de peste 250 cm3' },\n\t{ value: '84079050', label: '--- Destinate industriei de montaj: motocultoarelor de la subpoziția 8701 10, autovehiculelor de la poziția 8703, autovehiculelor de la poziția 8704, cu capacitate cilindrică mai mică de 2 800 cm3, autovehiculelor de la poziția 8705' },\n\t{ value: '84079080', label: '--- Altele' },\n\t{ value: '84079080', label: '---- Cu puterea de maximum 10 kW' },\n\t{ value: '84079090', label: '---- Cu puterea peste 10 kW' },\n\t{ value: '84080000', label: 'Motoare cu piston, cu aprindere prin compresie (motoare diesel sau semi-diesel)' },\n\t{ value: '84081000', label: '- Motoare pentru propulsia navelor' },\n\t{ value: '84081011', label: '-- Folosite' },\n\t{ value: '84081011', label: '--- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081019', label: '--- Altele' },\n\t{ value: '84081023', label: '-- Noi, cu puterea' },\n\t{ value: '84081023', label: '--- De maximum 50 kW' },\n\t{ value: '84081023', label: '---- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081027', label: '---- Altele' },\n\t{ value: '84081031', label: '--- De peste 50 kW, dar de maximum 100 kW' },\n\t{ value: '84081031', label: '---- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081039', label: '---- Altele' },\n\t{ value: '84081041', label: '--- De peste 100 kW, dar de maximum 200 kW' },\n\t{ value: '84081041', label: '---- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081049', label: '---- Altele' },\n\t{ value: '84081051', label: '--- De peste 200 kW, dar de maximum 300 kW' },\n\t{ value: '84081051', label: '---- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081059', label: '---- Altele' },\n\t{ value: '84081061', label: '--- De peste 300 kW, dar de maximum 500 kW' },\n\t{ value: '84081061', label: '---- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081069', label: '---- Altele' },\n\t{ value: '84081071', label: '--- De peste 500 kW, dar de maximum 1 000 kW' },\n\t{ value: '84081071', label: '---- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081079', label: '---- Altele' },\n\t{ value: '84081081', label: '--- De peste 1 000 kW, dar de maximum 5 000 kW' },\n\t{ value: '84081081', label: '---- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081089', label: '---- Altele' },\n\t{ value: '84081091', label: '--- De peste 5 000 kW' },\n\t{ value: '84081091', label: '---- Pentru vasele maritime de la pozițiile 8901-8906, remorcherele de la subpoziția 8904 00 10 și vasele de război de la subpoziția 8906 10 00' },\n\t{ value: '84081099', label: '---- Altele' },\n\t{ value: '84082000', label: '- Motoare de tipul celor utilizate pentru propulsia vehiculelor de la capitolul 87' },\n\t{ value: '84082010', label: '-- Destinate industriei de montaj: motocultoarelor de la subpoziția 8701 10, autovehiculelor de la poziția 8703, autovehiculelor de la poziția 8704, cu capacitate cilindrică mai mică de 2 500 cm3, autovehiculelor de la poziția 8705' },\n\t{ value: '84082031', label: '-- Altele' },\n\t{ value: '84082031', label: '--- Pentru tractoare agricole și tractoare forestiere cu roți, cu puterea' },\n\t{ value: '84082031', label: '---- De maximum 50 kW' },\n\t{ value: '84082035', label: '---- De peste 50 kW, dar de maximum 100 kW' },\n\t{ value: '84082037', label: '---- De peste 100 kW' },\n\t{ value: '84082051', label: '--- Pentru alte vehicule de la capitolul 87, cu puterea' },\n\t{ value: '84082051', label: '---- De maximum 50 kW' },\n\t{ value: '84082055', label: '---- De peste 50 kW, dar de maximum 100 kW' },\n\t{ value: '84082057', label: '---- De peste 100 kW, dar de maximum 200 kW' },\n\t{ value: '84082099', label: '---- De peste 200 kW' },\n\t{ value: '84089000', label: '- Alte motoare' },\n\t{ value: '84089021', label: '-- De propulsie pentru vehiculele feroviare' },\n\t{ value: '84089027', label: '-- Altele' },\n\t{ value: '84089027', label: '--- Folosite' },\n\t{ value: '84089041', label: '--- Noi, cu puterea' },\n\t{ value: '84089041', label: '---- De maximum 15 kW' },\n\t{ value: '84089043', label: '---- De peste 15 kW, dar de maximum 30 kW' },\n\t{ value: '84089045', label: '---- De peste 30 kW, dar de maximum 50 kW' },\n\t{ value: '84089047', label: '---- De peste 50 kW, dar de maximum 100 kW' },\n\t{ value: '84089061', label: '---- De peste 100 kW, dar de maximum 200 kW' },\n\t{ value: '84089065', label: '---- De peste 200 kW, dar de maximum 300 kW' },\n\t{ value: '84089067', label: '---- De peste 300 kW, dar de maximum 500 kW' },\n\t{ value: '84089081', label: '---- De peste 500 kW, dar de maximum 1 000 kW' },\n\t{ value: '84089085', label: '---- De peste 1 000 kW, dar de maximum 5 000 kW' },\n\t{ value: '84089089', label: '---- De peste 5 000 kW' },\n\t{ value: '84090000', label: 'Părți care pot fi recunoscute ca fiind destinate numai sau în principal motoarelor de la pozițiile 8407 sau 8408' },\n\t{ value: '84091000', label: '- De motoare pentru aviație' },\n\t{ value: '84099100', label: '- Altele' },\n\t{ value: '84099100', label: '-- Destinate numai sau în principal motoarelor cu piston cu aprindere prin scânteie' },\n\t{ value: '84099900', label: '-- Altele' },\n\t{ value: '84100000', label: 'Turbine hidraulice, roți hidraulice și regulatoare pentru acestea' },\n\t{ value: '84101100', label: '- Turbine și roți hidraulice' },\n\t{ value: '84101100', label: '-- Cu puterea maximum 1 000 kW' },\n\t{ value: '84101200', label: '-- Cu puterea peste 1 000 kW, dar de maximum 10 000 kW' },\n\t{ value: '84101300', label: '-- Cu puterea peste 10 000 kW' },\n\t{ value: '84109000', label: '- Părți, inclusiv regulatoarele' },\n\t{ value: '84110000', label: 'Turboreactoare, turbopropulsoare și alte turbine cu gaz' },\n\t{ value: '84111100', label: '- Turboreactoare' },\n\t{ value: '84111100', label: '-- De o forță de maximum 25 kN' },\n\t{ value: '84111200', label: '-- De o forță peste 25 kN' },\n\t{ value: '84111210', label: '--- De o forță peste 25 kN, dar de maximum 44 kN' },\n\t{ value: '84111230', label: '--- De o forță peste 44 kN, dar de maximum 132 kN' },\n\t{ value: '84111280', label: '--- De o forță peste 132 kN' },\n\t{ value: '84112100', label: '- Turbopropulsoare' },\n\t{ value: '84112100', label: '-- Cu puterea de maximum 1 100 kW' },\n\t{ value: '84112200', label: '-- Cu puterea peste 1 100 kW' },\n\t{ value: '84112220', label: '--- Cu puterea peste 1 100 kW, dar de maximum 3 730 kW' },\n\t{ value: '84112280', label: '--- Cu puterea peste 3 730 kW' },\n\t{ value: '84118100', label: '- Alte turbine cu gaz' },\n\t{ value: '84118100', label: '-- Cu puterea de maximum 5 000 kW' },\n\t{ value: '84118200', label: '-- Cu puterea peste 5 000 kW' },\n\t{ value: '84118220', label: '--- Cu puterea peste 5 000 kW, dar de maximum 20 000 kW' },\n\t{ value: '84118260', label: '--- Cu puterea peste 20 000 kW, dar de maximum 50 000 kW' },\n\t{ value: '84118280', label: '--- Cu puterea peste 50 000 kW' },\n\t{ value: '84119100', label: '- Părți' },\n\t{ value: '84119100', label: '-- De turboreactoare sau de turbopropulsoare' },\n\t{ value: '84119900', label: '-- Altele' },\n\t{ value: '84120000', label: 'Alte motoare și mașini motrice' },\n\t{ value: '84121000', label: '- Motoare cu reacție, altele decât turboreactoarele' },\n\t{ value: '84122100', label: '- Motoare hidraulice' },\n\t{ value: '84122100', label: '-- Cu mișcare rectilinie (cilindri)' },\n\t{ value: '84122120', label: '--- Sisteme hidraulice' },\n\t{ value: '84122180', label: '--- Altele' },\n\t{ value: '84122900', label: '-- Altele' },\n\t{ value: '84122920', label: '--- Sisteme hidraulice' },\n\t{ value: '84122981', label: '--- Altele' },\n\t{ value: '84122981', label: '---- Motoare hidraulice cu ulei' },\n\t{ value: '84122989', label: '---- Altele' },\n\t{ value: '84123100', label: '- Motoare pneumatice' },\n\t{ value: '84123100', label: '-- Cu mișcare rectilinie (cilindri)' },\n\t{ value: '84123900', label: '-- Altele' },\n\t{ value: '84128000', label: '- Altele' },\n\t{ value: '84128010', label: '-- Motoare cu abur sau alți vapori' },\n\t{ value: '84128080', label: '-- Altele' },\n\t{ value: '84129000', label: '- Părți' },\n\t{ value: '84129020', label: '-- De motoare cu reacție, altele decât turboreactoarele' },\n\t{ value: '84129040', label: '-- De motoare hidraulice' },\n\t{ value: '84129080', label: '-- Altele' },\n\t{ value: '84130000', label: 'Pompe pentru lichide, chiar cu dispozitiv de măsurare; elevatoare de lichid' },\n\t{ value: '84131100', label: '- Pompe care conțin un dispozitiv de măsurare sau sunt proiectate pentru a fi echipate cu un asemenea dispozitiv' },\n\t{ value: '84131100', label: '-- Pompe pentru distribuirea carburanților sau lubrifianților, de tipul celor utilizate la stațiile de alimentare sau în garaje' },\n\t{ value: '84131900', label: '-- Altele' },\n\t{ value: '84132000', label: '- Pompe manuale, altele decât cele de la subpozițiile 8413 11 sau 8413 19' },\n\t{ value: '84133000', label: '- Pompe de carburant, de ulei sau de lichid de răcire pentru motoarele cu combustie internă' },\n\t{ value: '84133020', label: '-- Pompe de injecție' },\n\t{ value: '84133080', label: '-- Altele' },\n\t{ value: '84134000', label: '- Pompe de beton' },\n\t{ value: '84135000', label: '- Alte pompe volumice alternative' },\n\t{ value: '84135020', label: '-- Agregate hidraulice' },\n\t{ value: '84135040', label: '-- Pompe dozatoare' },\n\t{ value: '84135061', label: '-- Altele' },\n\t{ value: '84135061', label: '--- Pompe cu piston' },\n\t{ value: '84135061', label: '---- Pompe hidraulice cu ulei' },\n\t{ value: '84135069', label: '---- Altele' },\n\t{ value: '84135080', label: '--- Altele' },\n\t{ value: '84136000', label: '- Alte pompe volumice rotative' },\n\t{ value: '84136020', label: '-- Agregate hidraulice' },\n\t{ value: '84136031', label: '-- Altele' },\n\t{ value: '84136031', label: '--- Pompe cu angrenaj' },\n\t{ value: '84136031', label: '---- Pompe hidraulice cu ulei' },\n\t{ value: '84136039', label: '---- Altele' },\n\t{ value: '84136061', label: '--- Pompe cu palete de antrenare' },\n\t{ value: '84136061', label: '---- Pompe hidraulice cu ulei' },\n\t{ value: '84136069', label: '---- Altele' },\n\t{ value: '84136070', label: '--- Pompe cu șurub elicoidal' },\n\t{ value: '84136080', label: '--- Altele' },\n\t{ value: '84137000', label: '- Alte pompe centrifuge' },\n\t{ value: '84137021', label: '-- Pompe submersibile' },\n\t{ value: '84137021', label: '--- Monoetajate' },\n\t{ value: '84137029', label: '--- Multietajate' },\n\t{ value: '84137030', label: '-- Pompe pentru circularea apei în instalații de încălzire centrală și de apă caldă' },\n\t{ value: '84137035', label: '-- Altele, având orificii de refulare de un diametru' },\n\t{ value: '84137035', label: '--- De maximum 15 mm' },\n\t{ value: '84137045', label: '--- De peste 15 mm' },\n\t{ value: '84137045', label: '---- Pompe cu roți cu canale și pompe cu canal lateral' },\n\t{ value: '84137051', label: '---- Pompe centrifuge radiale' },\n\t{ value: '84137051', label: '----- Monoetajate' },\n\t{ value: '84137051', label: '------ Cu un singur flux' },\n\t{ value: '84137051', label: '------- Monobloc' },\n\t{ value: '84137059', label: '------- Altele' },\n\t{ value: '84137065', label: '------ Cu mai multe fluxuri' },\n\t{ value: '84137075', label: '----- Multietajate' },\n\t{ value: '84137081', label: '---- Alte pompe centrifuge' },\n\t{ value: '84137081', label: '----- Monoetajate' },\n\t{ value: '84137089', label: '----- Multietajate' },\n\t{ value: '84138100', label: '- Alte pompe; elevatoare de lichid' },\n\t{ value: '84138100', label: '-- Pompe' },\n\t{ value: '84138200', label: '-- Elevatoare de lichid' },\n\t{ value: '84139100', label: '- Părți' },\n\t{ value: '84139100', label: '-- De pompe' },\n\t{ value: '84139200', label: '-- De elevatoare de lichid' },\n\t{ value: '84140000', label: 'Pompe de aer sau de vid, compresoare de aer sau de alte gaze și ventilatoare; hote aspirante de extracție sau de reciclare, cu ventilator încorporat, chiar filtrante; nișe de securitate biologică etanșe la gaz, echipate sau nu cu filtre' },\n\t{ value: '84141000', label: '- Pompe de vid' },\n\t{ value: '84141015', label: '-- De tipul celor utilizate la fabricarea semiconductoarelor sau utilizate exclusiv sau în principal la fabricarea ecranelor plate' },\n\t{ value: '84141025', label: '-- Altele' },\n\t{ value: '84141025', label: '--- Pompe cu piston rotativ, pompe cu palete, pompe moleculare și pompe Roots' },\n\t{ value: '84141081', label: '--- Altele' },\n\t{ value: '84141081', label: '---- Pompe de difuziune, pompe criostatice și pompe de adsorbție' },\n\t{ value: '84141089', label: '---- Altele' },\n\t{ value: '84142000', label: '- Pompe de aer, acționate de mână sau de picior' },\n\t{ value: '84142020', label: '-- Pompe actionate de mână pentru biciclete' },\n\t{ value: '84142080', label: '-- Altele' },\n\t{ value: '84143000', label: '- Compresoare de tipul celor utilizate în echipamentele frigorifice' },\n\t{ value: '84143020', label: '-- Cu puterea de maximum 0,4 kW' },\n\t{ value: '84143081', label: '-- Cu puterea peste 0,4 kW' },\n\t{ value: '84143081', label: '--- Ermetice sau semiermetice' },\n\t{ value: '84143089', label: '--- Altele' },\n\t{ value: '84144000', label: '- Compresoare de aer remorcabile montate pe șasiuri cu roți' },\n\t{ value: '84144010', label: '-- Cu debitul de maximum 2 m3 pe minut' },\n\t{ value: '84144090', label: '-- Cu debitul peste 2 m3 pe minut' },\n\t{ value: '84145100', label: '- Ventilatoare' },\n\t{ value: '84145100', label: '-- Ventilatoare de masă, de sol, de perete, de fereastră, de plafon, de acoperiș, cu motor electric încorporat de o putere de maximum 125 W' },\n\t{ value: '84145900', label: '-- Altele' },\n\t{ value: '84145915', label: '--- Ventilatoare de tipul celor utilizate numai sau în principal pentru răcirea microprocesoarelor, a aparatelor detelecomunicaţie, a mașinilor automate de prelucrare a datelor sau a unităților mașinilor automate de prelucrare a datelor' },\n\t{ value: '84145925', label: '--- Altele' },\n\t{ value: '84145925', label: '---- Ventilatoare axiale' },\n\t{ value: '84145935', label: '---- Ventilatoare centrifugale' },\n\t{ value: '84145995', label: '---- Altele' },\n\t{ value: '84146000', label: '- Hote a căror cea mai mare latură orizontală este de maximum 120 cm' },\n\t{ value: '84147000', label: '- Nișe de securitate biologică etanșe la gaz' },\n\t{ value: '84148000', label: '- Altele' },\n\t{ value: '84148011', label: '-- Turbocompresoare' },\n\t{ value: '84148011', label: '--- Monoetajate' },\n\t{ value: '84148019', label: '--- Multietajate' },\n\t{ value: '84148022', label: '-- Compresoare volumice alternative, care pot furniza o suprapresiune' },\n\t{ value: '84148022', label: '--- De maximum 15 bari, cu un debit pe oră' },\n\t{ value: '84148022', label: '---- De maximum 60 m3' },\n\t{ value: '84148028', label: '---- Peste 60 m3' },\n\t{ value: '84148051', label: '--- De peste 15 bari, cu un debit pe oră' },\n\t{ value: '84148051', label: '---- De maximum 120 m3' },\n\t{ value: '84148059', label: '---- Peste 120 m3' },\n\t{ value: '84148073', label: '-- Compresoare volumice rotative' },\n\t{ value: '84148073', label: '--- Cu un singur arbore' },\n\t{ value: '84148075', label: '--- Cu mai mulți arbori' },\n\t{ value: '84148075', label: '---- Cu șurub' },\n\t{ value: '84148078', label: '---- Altele' },\n\t{ value: '84148080', label: '-- Altele' },\n\t{ value: '84149000', label: '- Părți' },\n\t{ value: '84150000', label: 'Mașini și aparate pentru condiționarea aerului, care au ventilator cu motor și dispozitive proprii de modificare a temperaturii și umidității, inclusiv cele la care umiditatea nu poate fi reglată separat' },\n\t{ value: '84151000', label: '- De tipul destinat să fie fixat la o fereastră, pe un perete, pe tavan sau pe podea, care au un singur corp sau care au elemente separate (\"split-system\")' },\n\t{ value: '84151010', label: '-- Care formează un singur corp' },\n\t{ value: '84151090', label: '-- Sisteme cu elemente separate (\"split-system\")' },\n\t{ value: '84152000', label: '- De tipul celor utilizate pentru confortul persoanelor în autovehicule' },\n\t{ value: '84158100', label: '- Altele' },\n\t{ value: '84158100', label: '-- Cu dispozitiv de răcire și supapă pentru inversarea ciclului termic (pompe de căldură reversibile)' },\n\t{ value: '84158200', label: '-- Altele, cu dispozitiv de răcire' },\n\t{ value: '84158300', label: '-- Fără dispozitiv de răcire' },\n\t{ value: '84159000', label: '- Părți' },\n\t{ value: '84160000', label: 'Arzătoare pentru alimentarea focarelor cu combustibili lichizi, cu combustibili solizi pulverizați sau cu gaz; focare automate, inclusiv antefocarele, grătarele mecanice, dispozitivele mecanice ale acestora pentru evacuarea cenușii și dispozitivele similare' },\n\t{ value: '84161000', label: '- Arzătoare cu combustibili lichizi' },\n\t{ value: '84161010', label: '-- Cu dispozitiv de control automat încorporat' },\n\t{ value: '84161090', label: '-- Altele' },\n\t{ value: '84162000', label: '- Alte arzătoare, inclusiv arzătoare mixte' },\n\t{ value: '84162010', label: '-- Care funcționează numai cu gaz, monobloc, având încorporat un ventilator și un dispozitiv de control' },\n\t{ value: '84162020', label: '-- Altele' },\n\t{ value: '84162020', label: '--- Arzătoare mixte' },\n\t{ value: '84162080', label: '--- Altele' },\n\t{ value: '84163000', label: '- Focare automate, inclusiv antefocarele lor, grătarele lor mecanice, dispozitivele mecanice ale acestora pentru evacuarea cenușei și dispozitivele similare' },\n\t{ value: '84169000', label: '- Părți' },\n\t{ value: '84170000', label: 'Furnale și cuptoare industriale sau de laborator, inclusiv incineratoare, neelectrice' },\n\t{ value: '84171000', label: '- Furnale și cuptoare pentru calcinare, topire sau alte tratamente termice ale minereurilor sau metalelor' },\n\t{ value: '84172000', label: '- Cuptoare de brutărie, patiserie sau pentru fabricarea biscuiților' },\n\t{ value: '84172010', label: '-- Cuptoare tunel' },\n\t{ value: '84172090', label: '-- Altele' },\n\t{ value: '84178000', label: '- Altele' },\n\t{ value: '84178030', label: '-- Cuptoare și furnale pentru arderea produselor ceramice' },\n\t{ value: '84178050', label: '-- Cuptoare și furnale pentru arderea cimentului, sticlei sau produselor chimice' },\n\t{ value: '84178070', label: '-- Altele' },\n\t{ value: '84179000', label: '- Părți' },\n\t{ value: '84180000', label: 'Frigidere, congelatoare și alte echipamente pentru producerea frigului, electrice sau nu; pompe de caldură altele decât mașinile și aparatele pentru condiționarea aerului de la poziția 8415' },\n\t{ value: '84181000', label: '- Frigidere și congelatoare combinate, prevăzute cu uși sau sertare exterioare separate, sau combinații ale acestor elemente' },\n\t{ value: '84181020', label: '-- Cu capacitatea peste 340 l' },\n\t{ value: '84181080', label: '-- Altele' },\n\t{ value: '84182100', label: '- Frigidere de uz casnic' },\n\t{ value: '84182100', label: '-- Cu compresie' },\n\t{ value: '84182110', label: '--- Cu capacitatea peste 340 l' },\n\t{ value: '84182151', label: '--- Altele' },\n\t{ value: '84182151', label: '---- Frigidere tip masă' },\n\t{ value: '84182159', label: '---- Pentru încastrat' },\n\t{ value: '84182191', label: '---- Altele, cu capacitatea' },\n\t{ value: '84182191', label: '----- De maximum 250 l' },\n\t{ value: '84182199', label: '----- Peste 250 l, dar maximum 340 l' },\n\t{ value: '84182900', label: '-- Altele' },\n\t{ value: '84183000', label: '- Congelatoare tip ladă, de o capacitate de maximum 800 l' },\n\t{ value: '84183020', label: '-- Cu capacitatea de maximum 400 l' },\n\t{ value: '84183080', label: '-- Cu capacitatea peste 400 l, dar de maximum 800 l' },\n\t{ value: '84184000', label: '- Congelatoare tip dulap, de o capacitate de maximum 900 l' },\n\t{ value: '84184020', label: '-- Cu capacitatea de maximum 250 l' },\n\t{ value: '84184080', label: '-- Cu capacitatea peste 250 l, dar de maximum 900 l' },\n\t{ value: '84185000', label: '- Alt mobilier (lăzi, dulapuri, vitrine, tejghele și mobilă similară) pentru conservarea și expunerea produselor, având încorporat echipament pentru producerea frigului' },\n\t{ value: '84185011', label: '-- Vitrine și tejghele frigorifice (cu grup frigorific sau evaporator încorporat)' },\n\t{ value: '84185011', label: '--- Pentru produse congelate' },\n\t{ value: '84185019', label: '--- Altele' },\n\t{ value: '84185090', label: '-- Alt mobilier frigorific' },\n\t{ value: '84186100', label: '- Alte mașini și aparate pentru producerea frigului; pompe de căldură' },\n\t{ value: '84186100', label: '-- Pompe de căldură, altele decât cele pentru mașinile și aparatele pentru condiționarea aerului de la poziția 8415' },\n\t{ value: '84186900', label: '-- Altele' },\n\t{ value: '84189100', label: '- Părți' },\n\t{ value: '84189100', label: '-- Mobilier destinat echipamentelor pentru producerea frigului' },\n\t{ value: '84189900', label: '-- Altele' },\n\t{ value: '84189910', label: '--- Evaporatoare și condensatoare, altele decât cele pentru aparatele de tip menajer' },\n\t{ value: '84189990', label: '--- Altele' },\n\t{ value: '84190000', label: 'Aparate și dispozitive, chiar încălzite electric (cu excepția furnalelor, cuptoarelor și a altor aparate de la poziția 8514), pentru prelucrarea materialelor prin operații ce implică o schimbare a temperaturii cum sunt: încălzirea, coacerea, fierberea, prăjirea, distilarea, rectificarea, sterilizarea, pasteurizarea, etuvarea, uscarea, evaporarea, vaporizarea, condensarea sau răcirea, altele decât aparatele de uz casnic; încălzitoare de apă neelectrice, cu încălzire instantanee sau cu stocare' },\n\t{ value: '84191100', label: '- Încălzitoare de apă neelectrice, cu încălzire instantanee sau cu stocare' },\n\t{ value: '84191100', label: '-- Cu încălzire instantanee, cu gaz' },\n\t{ value: '84191200', label: '-- Încălzitoare de apă solare' },\n\t{ value: '84191900', label: '-- Altele' },\n\t{ value: '84192000', label: '- Sterilizatoare medico-chirurgicale sau de laborator' },\n\t{ value: '84193300', label: '- Uscătoare' },\n\t{ value: '84193300', label: '-- Aparat de liofilizare, aparate de criodesicare și uscătoare prin pulverizare' },\n\t{ value: '84193400', label: '-- Altele, pentru produse agricole' },\n\t{ value: '84193500', label: '-- Altele, pentru lemn, pastă de hârtie, hârtie sau carton' },\n\t{ value: '84193900', label: '-- Altele' },\n\t{ value: '84194000', label: '- Aparate de distilare sau de rectificare' },\n\t{ value: '84195000', label: '- Schimbătoare de căldură' },\n\t{ value: '84195020', label: '-- Schimbătoare de căldură făcute din fluorpolimeri și cu orificii pentru tuburi de intrare și ieșire având diametre interioare de maximum 3 cm' },\n\t{ value: '84195080', label: '-- Altele' },\n\t{ value: '84196000', label: '- Aparate și dispozitive pentru lichefierea aerului sau a altor gaze' },\n\t{ value: '84198100', label: '- Alte aparate și dispozitive' },\n\t{ value: '84198100', label: '-- Pentru prepararea băuturilor calde, gătirea sau încălzirea alimentelor' },\n\t{ value: '84198120', label: '--- Filtre și alte aparate pentru prepararea cafelei și a altor băuturi calde' },\n\t{ value: '84198180', label: '--- Altele' },\n\t{ value: '84198900', label: '-- Altele' },\n\t{ value: '84198910', label: '--- Turnuri de răcire și dispozitive similare pentru răcire directă (fără perete despărțitor), prin recircularea apei' },\n\t{ value: '84198930', label: '--- Aparate și dispozitive de metalizare sub vid' },\n\t{ value: '84198998', label: '--- Altele' },\n\t{ value: '84199000', label: '- Părți' },\n\t{ value: '84199015', label: '-- Pentru sterilizatoarele de la subpoziția 8419 20 00' },\n\t{ value: '84199085', label: '-- Altele' },\n\t{ value: '84200000', label: 'Calandre și laminoare, altele decât cele pentru metale sau sticlă și cilindri pentru aceste mașini' },\n\t{ value: '84201000', label: '- Calandre și laminoare' },\n\t{ value: '84201010', label: '-- De tipul celor folosite în industria textilă' },\n\t{ value: '84201030', label: '-- De tipul celor folosite în industria hârtiei' },\n\t{ value: '84201081', label: '-- Altele' },\n\t{ value: '84201081', label: '--- Laminoare cu rulouri de tipul celor utilizate numai sau în principal pentru fabricarea substraturilor pentru circuitele imprimate sau a circuitelor imprimate' },\n\t{ value: '84201089', label: '--- Altele' },\n\t{ value: '84209100', label: '- Părți' },\n\t{ value: '84209100', label: '-- Cilindri' },\n\t{ value: '84209110', label: '--- Din fontă' },\n\t{ value: '84209180', label: '--- Altele' },\n\t{ value: '84209900', label: '-- Altele' },\n\t{ value: '84210000', label: 'Centrifuge, inclusiv uscătoare centrifugale; mașini și aparate pentru purificarea sau epurarea lichidelor sau gazelor' },\n\t{ value: '84211100', label: '- Centrifuge, inclusiv uscătoare centrifugale' },\n\t{ value: '84211100', label: '-- Centrifuge pentru smântânire' },\n\t{ value: '84211200', label: '-- Uscătoare de rufe' },\n\t{ value: '84211900', label: '-- Altele' },\n\t{ value: '84211920', label: '--- Centrifuge de tipule celor utilizate în laboratoare' },\n\t{ value: '84211970', label: '--- Altele' },\n\t{ value: '84212100', label: '- Aparate pentru filtrarea sau purificarea lichidelor' },\n\t{ value: '84212100', label: '-- Pentru filtrarea sau purificarea apei' },\n\t{ value: '84212200', label: '-- Pentru filtrarea sau purificarea băuturilor, altele decât apa' },\n\t{ value: '84212300', label: '-- Pentru filtrarea uleiurilor minerale în motoare cu aprindere prin scânteie sau prin compresie' },\n\t{ value: '84212900', label: '-- Altele' },\n\t{ value: '84212920', label: '--- Făcute din fluopolimeri și cu filtru sau grosime a membranei de purificare de maximum 140 de microni' },\n\t{ value: '84212980', label: '--- Altele' },\n\t{ value: '84213100', label: '- Aparate pentru filtrarea sau purificarea gazelor' },\n\t{ value: '84213100', label: '-- Filtre de aer pentru motoarele cu aprindere prin scânteie sau prin compresie' },\n\t{ value: '84213200', label: '-- Convertoare catalitice sau filtre de particule, combinate sau nu, pentru purificarea sau filtrarea gazelor de evacuare provenite de la motoarele cu ardere internă' },\n\t{ value: '84213900', label: '-- Altele' },\n\t{ value: '84213915', label: '--- Cu carcasă din oțel inoxidabil și cu orificii pentru tuburi de intrare și ieșire având diametre interioare de maximum 1,3 cm' },\n\t{ value: '84213925', label: '--- Altele' },\n\t{ value: '84213925', label: '---- Aparate pentru filtrarea sau purificarea aerului' },\n\t{ value: '84213935', label: '---- Aparate pentru filtrarea sau purificarea altor gaze' },\n\t{ value: '84213935', label: '----- Prin procedee catalitice' },\n\t{ value: '84213985', label: '----- Altele' },\n\t{ value: '84219100', label: '- Părți' },\n\t{ value: '84219100', label: '-- De centrifuge, inclusiv de uscătoare centrifugale' },\n\t{ value: '84219900', label: '-- Altele' },\n\t{ value: '84219910', label: '--- Părți de mașini și aparate de la subpozițiile 8421 29 20 sau 8421 39 15' },\n\t{ value: '84219990', label: '--- Altele' },\n\t{ value: '84220000', label: 'Mașini pentru spălat vesela; mașini și aparate pentru curățat sau uscat sticle sau alte recipiente; mașini și aparate pentru umplut, închis, astupat sau etichetat sticle, cutii, saci sau alte recipiente; mașini și aparate pentru capsulat sticle, borcane, tuburi sau recipiente similare; alte mașini și aparate de împachetat sau ambalat mărfuri (inclusiv mașini și aparate de ambalat în folie termoretractabilă); mașini și aparate pentru gazeificarea (acidularea) băuturilor' },\n\t{ value: '84221100', label: '- Mașini pentru spălat vesela' },\n\t{ value: '84221100', label: '-- De uz casnic' },\n\t{ value: '84221900', label: '-- Altele' },\n\t{ value: '84222000', label: '- Mașini și aparate pentru curățat sau uscat sticle sau alte recipiente' },\n\t{ value: '84223000', label: '- Mașini și aparate pentru umplut, închis, astupat sau etichetat sticle, cutii, saci sau alte recipiente; mașini și aparate de capsulat sticle, borcane, tuburi sau recipiente similare; mașini și aparate pentru gazeificarea băuturilor' },\n\t{ value: '84224000', label: '- Alte mașini și aparate de împachetat sau de ambalat mărfurile (inclusiv mașinile și aparatele de ambalat în folie termoretractabilă)' },\n\t{ value: '84229000', label: '- Părți' },\n\t{ value: '84229010', label: '-- De mașini de spălat vesela' },\n\t{ value: '84229090', label: '-- Altele' },\n\t{ value: '84230000', label: 'Aparate și instrumente de cântărit, inclusiv bascule și balanțe pentru verificat piese industriale, cu excepţia balanţelor sensibile la o greutate de 5 cg sau mai mică; greutăți de cântărit pentru orice balanțe' },\n\t{ value: '84231000', label: '- Cântare de persoane, inclusiv cântare pentru sugari; cântare de uz casnic' },\n\t{ value: '84231010', label: '-- Balanțe de uz casnic' },\n\t{ value: '84231090', label: '-- Altele' },\n\t{ value: '84232000', label: '- Bascule pentru cântărire continuă a mărfurilor transportate pe bandă' },\n\t{ value: '84232010', label: '-- Care utilizează mijloace electronice de calibrare a greutății' },\n\t{ value: '84232090', label: '-- Altele' },\n\t{ value: '84233000', label: '- Bascule pentru cântăriri constante, balanțe și bascule de însăcuire sau de dozare' },\n\t{ value: '84233010', label: '-- Care utilizează mijloace electronice de calibrare a greutății' },\n\t{ value: '84233090', label: '-- Altele' },\n\t{ value: '84238100', label: '- Alte aparate și instrumente de cântărit' },\n\t{ value: '84238100', label: '-- Cu o capacitate de cântărit de maximum 30 kg' },\n\t{ value: '84238121', label: '--- Care utilizează mijloace electronice de calibrare a greutății' },\n\t{ value: '84238121', label: '---- Instrumente de control prin referință la o greutate predeterminată, cu funcționare automată, inclusiv mașinile de sortat după greutate' },\n\t{ value: '84238123', label: '---- Aparate și instrumente de cântărit și etichetat produsele preambalate' },\n\t{ value: '84238125', label: '---- Balanțe de magazin' },\n\t{ value: '84238129', label: '---- Altele' },\n\t{ value: '84238180', label: '--- Altele' },\n\t{ value: '84238200', label: '-- Cu o capacitate de cântărit de peste 30 kg, dar de maximum 5 000 kg' },\n\t{ value: '84238220', label: '--- Care utilizează mijloace electronice de calibrare a greutății, cu excepția aparatelor și instrumentelor de cântărit autovehicule' },\n\t{ value: '84238281', label: '--- Altele' },\n\t{ value: '84238281', label: '---- Instrumente de control prin referință la o greutate predeterminată, cu funcționare automată, inclusiv mașinile de sortat după greutate' },\n\t{ value: '84238289', label: '---- Altele' },\n\t{ value: '84238900', label: '-- Altele' },\n\t{ value: '84238920', label: '--- Care utilizează mijloace electronice de calibrare a greutății' },\n\t{ value: '84238980', label: '--- Altele' },\n\t{ value: '84239000', label: '- Greutăți pentru orice tip de balanțe; părți de aparate sau instrumente de cântărit' },\n\t{ value: '84239010', label: '-- Părți de aparate și instrumente de cântărit de la subpozițiile 8423 20 10, 8423 30 10, 8423 81 21, 8423 81 23, 8423 81 25, 8423 81 29, 8423 82 20 sau 8423 89 20' },\n\t{ value: '84239090', label: '-- Altele' },\n\t{ value: '84240000', label: 'Aparate mecanice (inclusiv cele manevrate manual) pentru proiectat, dispersat sau pulverizat lichide sau pulberi; extinctoare, chiar încărcate; aerografe și aparate similare; mașini și aparate cu jet de nisip, cu jet de vapori și aparate similare cu jet' },\n\t{ value: '84241000', label: '- Extinctoare, chiar încărcate' },\n\t{ value: '84242000', label: '- Aerografe și aparate similare' },\n\t{ value: '84243000', label: '- Mașini și aparate cu jet de nisip, cu jet de vapori și aparate similare cu jet' },\n\t{ value: '84243001', label: '-- Aparate de curățire cu apă, cu motor încorporat' },\n\t{ value: '84243001', label: '--- Echipate cu dispozitiv de încălzit' },\n\t{ value: '84243008', label: '--- Altele' },\n\t{ value: '84243010', label: '-- Alte mașini și aparate' },\n\t{ value: '84243010', label: '--- Cu aer comprimat' },\n\t{ value: '84243090', label: '--- Altele' },\n\t{ value: '84244100', label: '- Pulverizatoare agricole sau horticole' },\n\t{ value: '84244100', label: '-- Pulverizatoare portabile' },\n\t{ value: '84244900', label: '-- Altele' },\n\t{ value: '84244910', label: '--- Pulverizatoare și prăfuitoare proiectate pentru a fi purtate sau trase de tractoare' },\n\t{ value: '84244990', label: '--- Altele' },\n\t{ value: '84248200', label: '- Alte aparate' },\n\t{ value: '84248200', label: '-- Pentru agricultură sau horticultură' },\n\t{ value: '84248210', label: '--- Aparate de stropit' },\n\t{ value: '84248290', label: '--- Altele' },\n\t{ value: '84248900', label: '-- Altele' },\n\t{ value: '84248940', label: '--- Aparate mecanice pentru proiectat, dispersat sau pulverizat de tipul celor utilizate numai sau în principal pentru fabricarea circuitelor imprimate sau a ansamblelor de circuite imprimate' },\n\t{ value: '84248970', label: '--- Altele' },\n\t{ value: '84249000', label: '- Părți' },\n\t{ value: '84249020', label: '-- Părți de aparate mecanice de la subpoziția 8424 89 40' },\n\t{ value: '84249080', label: '-- Altele' },\n\t{ value: '84250000', label: 'Palane, altele decât ascensoare basculante, trolii și cabestane; cricuri și vinciuri' },\n\t{ value: '84251100', label: '- Palane, altele decât ascensoare basculante sau mecanisme de ridicat de tipul utilizat la ridicarea vehiculelor' },\n\t{ value: '84251100', label: '-- Cu motor electric' },\n\t{ value: '84251900', label: '-- Altele' },\n\t{ value: '84253100', label: '- Trolii; cabestane' },\n\t{ value: '84253100', label: '-- Cu motor electric' },\n\t{ value: '84253900', label: '-- Altele' },\n\t{ value: '84254100', label: '- Cricuri și vinciuri; mecanisme de ridicat de tipul utilizat la ridicarea vehiculelor' },\n\t{ value: '84254100', label: '-- Elevatoare fixe de mașini, pentru garaje' },\n\t{ value: '84254200', label: '-- Alte cricuri și vinciuri, hidraulice' },\n\t{ value: '84254900', label: '-- Altele' },\n\t{ value: '84260000', label: 'Macarale derrick (biga); macarale, inclusiv macarale suspendate; poduri rulante, macarale-portal de descărcare sau de manevrare, macarale-pod, cărucioare-călăreț și cărucioare-macara' },\n\t{ value: '84261100', label: '- Poduri rulante și grinzi rulante, macarale-portal (cu excepția macaralelor-portal rotative), macarale-pod și cărucioare-călăreț' },\n\t{ value: '84261100', label: '-- Poduri rulante pe șine fixe' },\n\t{ value: '84261200', label: '-- Portaluri mobile pe roți cu pneuri și cărucioare-călăreț' },\n\t{ value: '84261900', label: '-- Altele' },\n\t{ value: '84262000', label: '- Macarale-turn' },\n\t{ value: '84263000', label: '- Macarele-portal sau macarale cu braț' },\n\t{ value: '84264100', label: '- Alte mașini și aparate, autopropulsate' },\n\t{ value: '84264100', label: '-- Pe roți cu pneuri' },\n\t{ value: '84264900', label: '-- Altele' },\n\t{ value: '84269100', label: '- Alte mașini și aparate' },\n\t{ value: '84269100', label: '-- Destinate montării pe un vehicul rutier' },\n\t{ value: '84269110', label: '--- Macarale hidraulice pentru încărcarea sau descărcarea vehiculului' },\n\t{ value: '84269190', label: '--- Altele' },\n\t{ value: '84269900', label: '-- Altele' },\n\t{ value: '84270000', label: 'Cărucioare-stivuitoare; alte cărucioare de manevrare echipate cu un dispozitiv de ridicat' },\n\t{ value: '84271000', label: '- Cărucioare autopropulsate cu motor electric' },\n\t{ value: '84271010', label: '-- Care ridică la înălțimea de minimum 1 m' },\n\t{ value: '84271090', label: '-- Altele' },\n\t{ value: '84272000', label: '- Alte cărucioare autopropulsate' },\n\t{ value: '84272011', label: '-- Care ridică la înălțimea de minimum 1 m' },\n\t{ value: '84272011', label: '--- Cărucioare stivuitoare pentru orice tip de teren' },\n\t{ value: '84272019', label: '--- Altele' },\n\t{ value: '84272090', label: '-- Altele' },\n\t{ value: '84279000', label: '- Alte cărucioare' },\n\t{ value: '84280000', label: 'Alte mașini și aparate de ridicat, de manevrat, de încărcat, sau de descărcat (de exemplu ascensoare, scări rulante, transportatoare, teleferice)' },\n\t{ value: '84281000', label: '- Ascensoare pentru persoane și ascensoare pentru mărfuri' },\n\t{ value: '84281020', label: '-- Electrice' },\n\t{ value: '84281080', label: '-- Altele' },\n\t{ value: '84282000', label: '- Elevatoare sau transportoare, pneumatice' },\n\t{ value: '84282020', label: '-- Pentru produse în vrac' },\n\t{ value: '84282080', label: '-- Altele' },\n\t{ value: '84283100', label: '- Alte elevatoare, transportoare sau conveioare, cu acțiune continuă, pentru mărfuri' },\n\t{ value: '84283100', label: '-- Special proiectate pentru extracția minieră subterană sau pentru alte activități subterane' },\n\t{ value: '84283200', label: '-- Altele, cu cupe' },\n\t{ value: '84283300', label: '-- Altele, cu bandă sau curea' },\n\t{ value: '84283900', label: '-- Altele' },\n\t{ value: '84283920', label: '--- Transportoare sau conveioare cu role sau galeți' },\n\t{ value: '84283990', label: '--- Altele' },\n\t{ value: '84284000', label: '- Scări și trotuare rulante' },\n\t{ value: '84286000', label: '- Teleferice (inclusiv telescaune și teleschiuri); mecanisme de tracțiune pentru funiculare' },\n\t{ value: '84287000', label: '- Roboți industriali' },\n\t{ value: '84289000', label: '- Alte mașini și aparate' },\n\t{ value: '84289071', label: '-- Încărcătoare special concepute pentru agricultură' },\n\t{ value: '84289071', label: '--- Concepute pentru a fi atașate tractoarelor agricole' },\n\t{ value: '84289079', label: '--- Altele' },\n\t{ value: '84289090', label: '-- Altele' },\n\t{ value: '84290000', label: 'Buldozere (inclusiv cu lamă orientabilă), gredere, nivelatoare, screpere, lopeți mecanice, excavatoare, încărcătoare și lopeți încărcătoare, compactoare și rulouri compresoare, autopropulsate' },\n\t{ value: '84291100', label: '- Buldozere (inclusiv cu lamă orientabilă)' },\n\t{ value: '84291100', label: '-- Pe șenile' },\n\t{ value: '84291900', label: '-- Altele' },\n\t{ value: '84292000', label: '- Gredere și nivelatoare' },\n\t{ value: '84293000', label: '- Screpere' },\n\t{ value: '84294000', label: '- Compactoare și rulouri compresoare' },\n\t{ value: '84294010', label: '-- Rulouri compresoare' },\n\t{ value: '84294010', label: '--- Rulouri vibratoare' },\n\t{ value: '84294030', label: '--- Altele' },\n\t{ value: '84294090', label: '-- Compactoare' },\n\t{ value: '84295100', label: '- Lopeți mecanice, excavatoare, încărcătoare și lopeți încărcătoare' },\n\t{ value: '84295100', label: '-- Încărcătoare și lopeți încărcătoare cu încărcător frontal' },\n\t{ value: '84295110', label: '--- Încărcătoare special proiectate pentru mine subterane sau pentru alte munci subterane' },\n\t{ value: '84295191', label: '--- Altele' },\n\t{ value: '84295191', label: '---- Încărcătoare pe șenile' },\n\t{ value: '84295199', label: '---- Altele' },\n\t{ value: '84295200', label: '-- Echipamente a căror suprastructură se poate roti cu 360°' },\n\t{ value: '84295210', label: '--- Excavatoare pe șenile' },\n\t{ value: '84295290', label: '--- Altele' },\n\t{ value: '84295900', label: '-- Altele' },\n\t{ value: '84300000', label: 'Alte mașini și aparate pentru terasarea, nivelarea, decopertarea, excavarea, compactarea, extracția sau forarea pământului, mineralelor sau minereurilor; sonete pentru baterea pilonilor și mașini pentru extragerea pilonilor; pluguri de zăpadă și dispozitive de îndepărtat zăpadă' },\n\t{ value: '84301000', label: '- Sonete pentru baterea pilonilor și mașini pentru extragerea pilonilor' },\n\t{ value: '84302000', label: '- Pluguri de zăpadă și dispozitive de îndepărtat zăpadă' },\n\t{ value: '84303100', label: '- Haveze și mașini de săpat tuneluri sau galerii' },\n\t{ value: '84303100', label: '-- Autopropulsate' },\n\t{ value: '84303900', label: '-- Altele' },\n\t{ value: '84304100', label: '- Alte mașini de sondaj sau de foraj' },\n\t{ value: '84304100', label: '-- Autopropulsate' },\n\t{ value: '84304900', label: '-- Altele' },\n\t{ value: '84305000', label: '- Alte mașini și aparate, autopropulsate' },\n\t{ value: '84306100', label: '- Alte mașini și aparate, fără propulsie proprie' },\n\t{ value: '84306100', label: '-- Mașini și aparate de tasat sau de compactat' },\n\t{ value: '84306900', label: '-- Altele' },\n\t{ value: '84310000', label: 'Părți care pot fi recunoscute ca fiind numai sau în principal destinate mașinilor sau aparatelor de la pozițiile 8425-8430' },\n\t{ value: '84311000', label: '- De mașini sau aparate de la poziția 8425' },\n\t{ value: '84312000', label: '- De mașini sau aparate de la poziția 8427' },\n\t{ value: '84313100', label: '- De mașini sau aparate de la poziția 8428' },\n\t{ value: '84313100', label: '-- Pentru ascensoare de persoane sau de mărfuri sau pentru scări rulante' },\n\t{ value: '84313900', label: '-- Altele' },\n\t{ value: '84314100', label: '- De mașini sau aparate de la pozițiile 8426, 8429 sau 8430' },\n\t{ value: '84314100', label: '-- Cupe, bene, graifere, lopeți, clești' },\n\t{ value: '84314200', label: '-- Lame de buldozere, chiar reglabile' },\n\t{ value: '84314300', label: '-- Părți de mașini pentru sondaj sau pentru foraj de la subpozițiile 8430 41 sau 8430 49' },\n\t{ value: '84314900', label: '-- Altele' },\n\t{ value: '84314920', label: '--- Turnate, din fontă, fier sau oțel' },\n\t{ value: '84314980', label: '--- Altele' },\n\t{ value: '84320000', label: 'Mașini, aparate și dispozitive agricole, horticole sau silvicole pentru pregătirea sau lucrarea solului sau pentru culturi; tăvăluguri pentru peluze sau terenuri de sport' },\n\t{ value: '84321000', label: '- Pluguri' },\n\t{ value: '84322100', label: '- Grape, scarificatoare, cultivatoare, extirpatoare, sape, plivitoare și prășitori' },\n\t{ value: '84322100', label: '-- Grape cu disc (pulverizatoare)' },\n\t{ value: '84322900', label: '-- Altele' },\n\t{ value: '84322910', label: '--- Scarificatoare și cultivatoare' },\n\t{ value: '84322930', label: '--- Grape, altele decât cu disc' },\n\t{ value: '84322950', label: '--- Motosăpătoare' },\n\t{ value: '84322990', label: '--- Altele' },\n\t{ value: '84323100', label: '- Semănătoare, mașini de plantat și mașini de transplantat (repicat)' },\n\t{ value: '84323100', label: '-- Semănătoare, mașini de plantat și mașini de repicat direct, fără arat' },\n\t{ value: '84323900', label: '-- Altele' },\n\t{ value: '84323911', label: '--- Semănătoare' },\n\t{ value: '84323911', label: '---- De precizie, cu comandă centrală' },\n\t{ value: '84323919', label: '---- Altele' },\n\t{ value: '84323990', label: '--- Mașini de plantat și de repicat' },\n\t{ value: '84324100', label: '- Distribuitoare de îngrășăminte și gunoi' },\n\t{ value: '84324100', label: '-- Mașini de împrăștiat gunoiul de grajd' },\n\t{ value: '84324200', label: '-- Distribuitoare de îngrășăminte' },\n\t{ value: '84328000', label: '- Alte mașini, aparate și dispozitive' },\n\t{ value: '84329000', label: '- Părți' },\n\t{ value: '84330000', label: 'Mașini și utilaje pentru recoltat și treierat produse agricole, inclusiv prese de balotat paie sau furaje; mașini și utilaje pentru tuns gazon și pentru secerat; mașini pentru curățat sau sortat ouă, fructe sau alte produse agricole, altele decât mașinile și aparatele de la poziția 8437' },\n\t{ value: '84331100', label: '- Mașini și utilaje pentru tuns gazon' },\n\t{ value: '84331100', label: '-- Cu motor, având dispozitiv de tăiat cu rotire în plan orizontal' },\n\t{ value: '84331110', label: '--- Electrice' },\n\t{ value: '84331151', label: '--- Altele' },\n\t{ value: '84331151', label: '---- Autopropulsate' },\n\t{ value: '84331151', label: '----- Prevăzute cu scaun' },\n\t{ value: '84331159', label: '----- Altele' },\n\t{ value: '84331190', label: '---- Altele' },\n\t{ value: '84331900', label: '-- Altele' },\n\t{ value: '84331910', label: '--- Cu motor' },\n\t{ value: '84331910', label: '---- Electrice' },\n\t{ value: '84331951', label: '---- Altele' },\n\t{ value: '84331951', label: '----- Autopropulsate' },\n\t{ value: '84331951', label: '------ Prevăzute cu scaun' },\n\t{ value: '84331959', label: '------ Altele' },\n\t{ value: '84331970', label: '----- Altele' },\n\t{ value: '84331990', label: '--- Fără motor' },\n\t{ value: '84332000', label: '- Secerători, inclusiv barele de tăiat care se montează pe tractor' },\n\t{ value: '84332010', label: '-- Cu motor' },\n\t{ value: '84332050', label: '-- Altele' },\n\t{ value: '84332050', label: '--- Proiectate pentru a fi tractate sau atașate la tractor' },\n\t{ value: '84332090', label: '--- Altele' },\n\t{ value: '84333000', label: '- Alte mașini și utilaje de cosit' },\n\t{ value: '84334000', label: '- Prese de balotat paie sau furaje, inclusiv prese colectoare' },\n\t{ value: '84335100', label: '- Alte mașini și utilaje pentru recoltat; mașini și utilaje pentru treierat' },\n\t{ value: '84335100', label: '-- Combine pentru recoltat și treierat' },\n\t{ value: '84335200', label: '-- Alte mașini și utilaje pentru treierat' },\n\t{ value: '84335300', label: '-- Mașini pentru recoltat tuberculi sau rădăcini' },\n\t{ value: '84335310', label: '--- Mașini pentru recoltat cartofi' },\n\t{ value: '84335330', label: '--- Mașini de decoletat și de recoltat sfeclă' },\n\t{ value: '84335390', label: '--- Altele' },\n\t{ value: '84335900', label: '-- Altele' },\n\t{ value: '84335911', label: '--- Recoltatoare pentru furaje' },\n\t{ value: '84335911', label: '---- Autopropulsate' },\n\t{ value: '84335919', label: '---- Altele' },\n\t{ value: '84335985', label: '--- Altele' },\n\t{ value: '84336000', label: '- Mașini pentru curățat, sortat sau triat ouă, fructe sau alte produse agricole' },\n\t{ value: '84339000', label: '- Părți' },\n\t{ value: '84340000', label: 'Mașini pentru muls și mașini și aparate pentru lăptărie' },\n\t{ value: '84341000', label: '- Mașini pentru muls' },\n\t{ value: '84342000', label: '- Mașini și aparate pentru lăptărie' },\n\t{ value: '84349000', label: '- Părți' },\n\t{ value: '84350000', label: 'Prese, teascuri, mașini și dispozitive de stors similare pentru fabricarea vinului, cidrului, sucurilor de fructe sau băuturilor similare' },\n\t{ value: '84351000', label: '- Mașini și aparate' },\n\t{ value: '84359000', label: '- Părți' },\n\t{ value: '84360000', label: 'Alte mașini și utilaje pentru agricultură, horticultură, silvicultură, avicultură sau apicultură, inclusiv germinatoarele prevăzute cu dispozitive mecanice sau termice; incubatoarele și clocitoarele pentru avicultură' },\n\t{ value: '84361000', label: '- Mașini și utilaje pentru prepararea hranei animalelor' },\n\t{ value: '84362100', label: '- Mașini și utilaje pentru avicultură, inclusiv incubatoare și clocitoare' },\n\t{ value: '84362100', label: '-- Incubatoare și clocitoare' },\n\t{ value: '84362900', label: '-- Altele' },\n\t{ value: '84368000', label: '- Alte mașini și utilaje' },\n\t{ value: '84368010', label: '-- Pentru silvicultură' },\n\t{ value: '84368090', label: '-- Altele' },\n\t{ value: '84369100', label: '- Părți' },\n\t{ value: '84369100', label: '-- De mașini și utilaje pentru avicultură' },\n\t{ value: '84369900', label: '-- Altele' },\n\t{ value: '84370000', label: 'Mașini pentru curățat, cernut, sortat sau triat semințe, boabe sau legume uscate; mașini și aparate pentru morărit sau pentru prelucrarea cerealelor sau a legumelor uscate, altele decât mașinile și aparatele de tipul celor folosite la ferme' },\n\t{ value: '84371000', label: '- Mașini pentru curățat, cernut, sortat sau triat semințe, boabe sau legume uscate' },\n\t{ value: '84378000', label: '- Alte mașini și aparate' },\n\t{ value: '84379000', label: '- Părți' },\n\t{ value: '84380000', label: 'Mașini și aparate, nedenumite și necuprinse în altă parte în acest capitol, pentru prepararea sau fabricarea industrială a alimentelor sau băuturilor, altele decât mașinile și aparatele pentru extragerea sau prepararea uleiurilor sau grăsimilor de origine vegetală sau microbiană stabile sau animale' },\n\t{ value: '84381000', label: '- Mașini și aparate pentru brutărie, patiserie, fabricarea biscuiților sau a pastelor făinoase alimentare' },\n\t{ value: '84381010', label: '-- Pentru brutărie, patiserie sau fabricarea biscuiților' },\n\t{ value: '84381090', label: '-- Pentru fabricarea pastelor făinoase alimentare' },\n\t{ value: '84382000', label: '- Mașini și aparate pentru produse de cofetărie sau pentru fabricat cacao sau ciocolată' },\n\t{ value: '84383000', label: '- Mașini și aparate pentru fabricarea zahărului' },\n\t{ value: '84384000', label: '- Mașini și aparate pentru fabricarea berii' },\n\t{ value: '84385000', label: '- Mașini și aparate pentru prelucrarea cărnii' },\n\t{ value: '84386000', label: '- Mașini și aparate pentru prelucrarea fructelor sau legumelor' },\n\t{ value: '84388000', label: '- Alte mașini și aparate' },\n\t{ value: '84388010', label: '-- Pentru tratarea și prelucrarea cafelei sau ceaiului' },\n\t{ value: '84388091', label: '-- Altele' },\n\t{ value: '84388091', label: '--- Pentru prepararea sau fabricarea băuturilor' },\n\t{ value: '84388099', label: '--- Altele' },\n\t{ value: '84389000', label: '- Părți' },\n\t{ value: '84390000', label: 'Mașini și aparate pentru fabricarea pastei din materiale fibroase celulozice sau pentru fabricarea sau finisarea hârtiei sau cartonului' },\n\t{ value: '84391000', label: '- Mașini și aparate pentru fabricarea pastei din materiale fibroase celulozice' },\n\t{ value: '84392000', label: '- Mașini și aparate pentru fabricarea hârtiei sau cartonului' },\n\t{ value: '84393000', label: '- Mașini și aparate pentru finisarea hârtiei sau cartonului' },\n\t{ value: '84399100', label: '- Părți' },\n\t{ value: '84399100', label: '-- De mașini și aparate pentru fabricarea pastei din materiale fibroase celulozice' },\n\t{ value: '84399900', label: '-- Altele' },\n\t{ value: '84400000', label: 'Mașini și aparate pentru broșat sau legat cărți, inclusiv mașinile pentru cusut foi' },\n\t{ value: '84401000', label: '- Mașini și aparate' },\n\t{ value: '84401010', label: '-- Mașini de pliat' },\n\t{ value: '84401020', label: '-- Mașini de asamblat și mașini de adunat coli' },\n\t{ value: '84401030', label: '-- Mașini de cusut și mașini de prins agrafe' },\n\t{ value: '84401040', label: '-- Mașini de legat prin lipire' },\n\t{ value: '84401090', label: '-- Altele' },\n\t{ value: '84409000', label: '- Părți' },\n\t{ value: '84410000', label: 'Alte mașini și aparate pentru prelucrarea pastei de hârtie, hârtiei sau cartonului, inclusiv mașinile de tăiat de orice fel' },\n\t{ value: '84411000', label: '- Mașini de tăiat' },\n\t{ value: '84411010', label: '-- Mașini de tăiat-bobinatoare' },\n\t{ value: '84411020', label: '-- Mașini de tăiat în lungime sau în lățime' },\n\t{ value: '84411030', label: '-- Ghilotine' },\n\t{ value: '84411070', label: '-- Altele' },\n\t{ value: '84412000', label: '- Mașini pentru fabricarea sacilor, pungilor sau plicurilor' },\n\t{ value: '84413000', label: '- Mașini pentru fabricarea cutiilor, lăzilor, tuburilor de carton, bidoanelor sau ambalajelor similare, altfel decât prin mulare' },\n\t{ value: '84414000', label: '- Mașini pentru mularea articolelor din pastă de hârtie, hârtie sau carton' },\n\t{ value: '84418000', label: '- Alte mașini și aparate' },\n\t{ value: '84419000', label: '- Părți' },\n\t{ value: '84419010', label: '-- De mașini de tăiat' },\n\t{ value: '84419090', label: '-- Altele' },\n\t{ value: '84420000', label: 'Mașini, aparate și echipamente (altele decât mașinile de la pozițiile 8456-8465), pentru pregătirea sau fabricarea clișeelor, planșelor, cilindrilor sau altor componente imprimante; clișee, planșe, cilindri și alte componente imprimante; pietre litografice, cilindri, planșe și plăci pregătite pentru imprimare (de exemplu: șlefuite plan, granulate, lustruite)' },\n\t{ value: '84423000', label: '- Mașini, aparate și echipamente' },\n\t{ value: '84424000', label: '- Părți ale acestor mașini, aparate sau echipamente' },\n\t{ value: '84425000', label: '- Clișee, planșe, cilindri și alte componente imprimante; pietre litografice, cilindri, planșe și plăci pregătite pentru imprimare (de exemplu: șlefuite plan, granulate, lustruite)' },\n\t{ value: '84430000', label: 'Mașini și aparate utilizate la imprimarea cu ajutorul planșelor, cilindrilor și altor organe de imprimare de la poziția 8442; alte imprimante, mașini de copiat și telecopiatoare, chiar combinate între ele; părți și accesorii' },\n\t{ value: '84431100', label: '- Mașini și aparate utilizate la imprimarea cu ajutorul planșelor, cilindrilor și altor organe de imprimare de la poziția 8442' },\n\t{ value: '84431100', label: '-- Mașini și aparate de imprimat tip offset alimentate cu hârtie în sul' },\n\t{ value: '84431200', label: '-- Mașini și aparate de imprimat tip offset de birou (alimentate cu foi de hârtie cu o latură de maximum 22 cm și cealaltă latură de maximum 36 cm)' },\n\t{ value: '84431300', label: '-- Alte mașini și aparate de imprimat tip offset' },\n\t{ value: '84431310', label: '--- Cu foi de hârtie' },\n\t{ value: '84431310', label: '---- Folosite' },\n\t{ value: '84431332', label: '---- Noi, cu foi de un format' },\n\t{ value: '84431332', label: '----- De maximum 53 x 75 cm' },\n\t{ value: '84431334', label: '----- De peste 53 x 75 cm, dar de maximum 75 x 107 cm' },\n\t{ value: '84431338', label: '----- De peste 75 x 107 cm' },\n\t{ value: '84431390', label: '--- Altele' },\n\t{ value: '84431400', label: '-- Mașini și aparate de imprimat tipografice, alimentate cu hîrtie în sul, cu excepția mașinilor și aparatelor flexografice' },\n\t{ value: '84431500', label: '-- Mașini și aparate de imprimat tipografice, altele decât cele alimentate cu hîrtie în sul, cu excepția mașinilor și aparatelor flexografice' },\n\t{ value: '84431600', label: '-- Mașini și aparate de imprimat, flexografice' },\n\t{ value: '84431700', label: '-- Mașini și aparate de imprimat, heliografice' },\n\t{ value: '84431900', label: '-- Altele' },\n\t{ value: '84431920', label: '--- Pentru imprimarea materialelor textile' },\n\t{ value: '84431940', label: '--- Utilizate pentru fabricarea produselor semiconductoare' },\n\t{ value: '84431970', label: '--- Altele' },\n\t{ value: '84433100', label: '- Alte imprimante, mașini de copiat și telecopiatoare, chiar combinate între ele' },\n\t{ value: '84433100', label: '-- Mașini care asigură cel puțin două din funcțiile următoare: imprimare, copiere ori transmisie de telecopii, care pot fi conectate la o mașină automată de prelucrare a datelor sau la o rețea' },\n\t{ value: '84433200', label: '-- Altele, care pot fi conectate la o mașină automata de prelucrare a datelor sau la o rețea' },\n\t{ value: '84433210', label: '--- Imprimante' },\n\t{ value: '84433280', label: '--- Altele' },\n\t{ value: '84433900', label: '-- Altele' },\n\t{ value: '84439100', label: '- Părți și accesorii' },\n\t{ value: '84439100', label: '-- Părți și accesorii ale mașinilor și aparatelor de imprimat utilizate la imprimarea cu ajutorul planșelor, cilindrilor și altor organe de imprimare de la poziția 8442' },\n\t{ value: '84439110', label: '--- Ale aparatelor de la subpoziția 8443 19 40' },\n\t{ value: '84439191', label: '--- Altele' },\n\t{ value: '84439191', label: '---- Turnate, din fontă, fier sau oțel' },\n\t{ value: '84439199', label: '---- Altele' },\n\t{ value: '84439900', label: '-- Altele' },\n\t{ value: '84439910', label: '--- Subansambluri electronice' },\n\t{ value: '84439990', label: '--- Altele' },\n\t{ value: '84440000', label: 'Mașini pentru extrudarea, laminarea, texturarea sau tăierea materialelor textile sintetice sau artificiale' },\n\t{ value: '84440010', label: '- Mașini pentru extrudare' },\n\t{ value: '84440090', label: '- Altele' },\n\t{ value: '84450000', label: 'Mașini pentru prepararea materialelor textile; mașini pentru filarea, dublarea sau răsucirea materialelor textile și alte mașini și aparate pentru fabricarea firelor textile; mașini de bobinat (inclusiv mașini de canetat) sau de depănat material textile și mașini pentru pregătirea firelor textile în vederea utilizării lor pe mașinile de la pozițiile 8446 sau 8447' },\n\t{ value: '84451100', label: '- Mașini pentru prepararea materialelor textile' },\n\t{ value: '84451100', label: '-- Mașini de cardat' },\n\t{ value: '84451200', label: '-- Mașini de pieptănat' },\n\t{ value: '84451300', label: '-- Laminoare și flaiere' },\n\t{ value: '84451900', label: '-- Altele' },\n\t{ value: '84452000', label: '- Mașini de filat material textile' },\n\t{ value: '84453000', label: '- Mașini de dublat sau răsucit materialele textile' },\n\t{ value: '84454000', label: '- Mașini de bobinat (inclusiv mașinile de canetat) sau de depănat material textile' },\n\t{ value: '84459000', label: '- Altele' },\n\t{ value: '84460000', label: 'Mașini de țesut (războaie)' },\n\t{ value: '84461000', label: '- Pentru țesături de o lățime de maximum 30 cm' },\n\t{ value: '84462100', label: '- Pentru țesături de o lățime peste 30 cm, cu suveici' },\n\t{ value: '84462100', label: '-- Cu motor' },\n\t{ value: '84462900', label: '-- Altele' },\n\t{ value: '84463000', label: '- Pentru țesături de o lățime peste 30 cm, fără suveici' },\n\t{ value: '84470000', label: 'Mașini de tricotat, de coasere-tricotare, de \"îmbrăcat\", de produs tul, dantelă, broderie, articole de pasmanterie, șireturi, plasă sau smocuri' },\n\t{ value: '84471100', label: '- Mașini de tricotat circular' },\n\t{ value: '84471100', label: '-- Cu diametrul cilindrului de maximum 165 mm' },\n\t{ value: '84471200', label: '-- Cu diametrul cilindrului de peste 165 mm' },\n\t{ value: '84472000', label: '- Mașini de tricotat rectiliniu; mașini de coasere-tricotare' },\n\t{ value: '84472020', label: '-- Mașini de tricotat cu urzeală, inclusiv războaie Raschel; mașini de coasere-tricotare' },\n\t{ value: '84472080', label: '-- Altele' },\n\t{ value: '84479000', label: '- Altele' },\n\t{ value: '84480000', label: 'Mașini și aparate auxiliare pentru mașinile de la pozițiile 8444, 8445, 8446 sau 8447 (de exemplu, ratiere, mecanisme Jacquard, veghetoare de urzeală și veghetoare de bătătură, mecanisme pentru schimbarea suveicilor); părți și accesorii recunoscute ca fiind destinate numai sau în principal mașinilor de la această poziție sau de la pozițiile 8444, 8445, 8446 sau 8447 (de exemplu, fuse de filat, furci, garnituri de cardă, piepteni, iglițe, barete, duze de extrudare, suveici, cocleți, rame pentru cocleți, ace, platine, croșete)' },\n\t{ value: '84481100', label: '- Mașini și aparate auxiliare pentru mașinile de la pozițiile 8444, 8445, 8446 sau 8447' },\n\t{ value: '84481100', label: '-- Ratiere și mecanisme Jacquard; reductoare, perforatoare și copiatoare de unctu; mașini de șnuruit unctu după perforare' },\n\t{ value: '84481900', label: '-- Altele' },\n\t{ value: '84482000', label: '- Părți și accesorii ale mașinilor de la poziția 8444 sau ale dispozitivelor sau aparatelor lor auxiliare' },\n\t{ value: '84483100', label: '- Părți și accesorii ale mașinilor de la poziția 8445 sau ale dispozitivelor sau aparatelor lor auxiliare' },\n\t{ value: '84483100', label: '-- Garnituri de cardă' },\n\t{ value: '84483200', label: '-- Ale mașinilor pentru prepararea materialelor textile, altele decât garniturile de carde' },\n\t{ value: '84483300', label: '-- Fuse de filat și furcile de flaier, inele de filatură și cursori pentru mașinile cu inele' },\n\t{ value: '84483900', label: '-- Altele' },\n\t{ value: '84484200', label: '- Părți și accesorii ale războaielor de țesut sau ale dispozitivelor sau aparatelor lor auxiliare' },\n\t{ value: '84484200', label: '-- Piepteni, cocleți și rame pentru cocleți' },\n\t{ value: '84484900', label: '-- Altele' },\n\t{ value: '84485100', label: '- Părți și accesorii ale mașinilor de la poziția 8447 sau ale dispozitivelor sau aparatelor lor auxiliare' },\n\t{ value: '84485100', label: '-- Platine, ace și alte articole care participă la formarea ochiurilor' },\n\t{ value: '84485110', label: '--- Platine' },\n\t{ value: '84485190', label: '--- Altele' },\n\t{ value: '84485900', label: '-- Altele' },\n\t{ value: '84490000', label: 'Mașini și aparate pentru fabricarea sau finisarea fetrului sau articolelor nețesute, în bucăți sau în forme, inclusive mașini și aparate pentru fabricarea pălăriilor din fetru; calapoade pentru pălării' },\n\t{ value: '84500000', label: 'Mașini de spălat rufe, inclusiv cele cu dispozitiv de uscare' },\n\t{ value: '84501100', label: '- Mașini cu o capacitate unitară exprimată în greutatea rufelor uscate de maximum 10 kg' },\n\t{ value: '84501100', label: '-- Mașinile complet automate' },\n\t{ value: '84501111', label: '--- Cu capacitatea exprimată în greutatea rufelor uscate, de maximum 6 kg' },\n\t{ value: '84501111', label: '---- Cu încărcare frontală' },\n\t{ value: '84501119', label: '---- Cu încărcare pe sus' },\n\t{ value: '84501190', label: '--- Cu capacitatea exprimată în greutatea rufelor uscate, de peste 6 kg, dar de maximum 10 kg' },\n\t{ value: '84501200', label: '-- Alte mașini, cu storcător centrifugal încorporat' },\n\t{ value: '84501900', label: '-- Altele' },\n\t{ value: '84502000', label: '- Mașini cu o capacitate unitară exprimată în greutatea rufelor uscate, de peste 10 kg' },\n\t{ value: '84509000', label: '- Părți' },\n\t{ value: '84510000', label: 'Mașini și aparate (altele decât cele de la poziția 8450) pentru spălarea, curățirea, stoarcerea, uscarea, călcarea, presarea (inclusiv presele de fixare), albirea, vopsirea, apretarea, finisarea, acoperirea sau impregnarea firelor, țesăturilor sau articolelor confecționate din materiale textile și mașini pentru acoperirea țesăturilor sau altor suporturi utilizate pentru fabricarea articolelor de acoperit podele cum este linoleumul; mașini pentru rularea, derularea, plierea, tăierea sau dantelarea țesăturilor' },\n\t{ value: '84511000', label: '- Mașini pentru curățirea uscată' },\n\t{ value: '84512100', label: '- Mașini de uscat' },\n\t{ value: '84512100', label: '-- Cu o capacitate unitară exprimată în greutatea rufelor uscate, de maximum 10 kg' },\n\t{ value: '84512900', label: '-- Altele' },\n\t{ value: '84513000', label: '- Mașini și prese de călcat, inclusive presele de fixare' },\n\t{ value: '84514000', label: '- Mașini pentru spălare, albire sau vopsire' },\n\t{ value: '84515000', label: '- Mașini pentru rularea, derularea, plierea, tăierea sau dantelarea țesăturilor' },\n\t{ value: '84518000', label: '- Alte mașini și aparate' },\n\t{ value: '84518010', label: '-- Mașini pentru căptușit țesături și alți suporți în vederea fabricării învelitorilor de pardoseală, cum este linoleumul etc.' },\n\t{ value: '84518030', label: '-- Mașini pentru apretat sau finisat' },\n\t{ value: '84518080', label: '-- Altele' },\n\t{ value: '84519000', label: '- Părți' },\n\t{ value: '84520000', label: 'Mașini de cusut, altele decât mașinile de cusut foi de la poziția 8440; mobilă, suporți și acoperitoare special concepute pentru mașinile de cusut; ace pentru mașinile de cusut' },\n\t{ value: '84521000', label: '- Mașini de cusut de uz casnic' },\n\t{ value: '84521011', label: '-- Mașini de cusut, care înțeapă numai în punctul de suveică, al căror cap cântărește maximum 16 kg fără motor sau 17 kg cu motor; capete de mașini de cusut, care înțeapă numai în punctul de suveică, cântărind maximum 16 kg fără motor sau 17 kg cu motor' },\n\t{ value: '84521011', label: '--- Mașini de cusut de valoare unitară (batiu, masă sau mobilier neinclus) mai mare de 65 €' },\n\t{ value: '84521019', label: '--- Altele' },\n\t{ value: '84521090', label: '-- Alte mașini de cusut și alte capete pentru mașini de cusut' },\n\t{ value: '84522100', label: '- Alte mașini de cusut' },\n\t{ value: '84522100', label: '-- Automate' },\n\t{ value: '84522900', label: '-- Altele' },\n\t{ value: '84523000', label: '- Ace pentru mașini de cusut' },\n\t{ value: '84529000', label: '- Mobilă, suporți și acoperitoare pentru mașinile de cusut și părțile lor; alte părți ale mașinilor de cusut' },\n\t{ value: '84530000', label: 'Mașini și aparate pentru prepararea, tăbăcirea sau prelucrarea pieilor sau pentru fabricarea sau repararea încălțămintei sau altor obiecte din piele, altele decât mașinile de cusut' },\n\t{ value: '84531000', label: '- Mașini și aparate pentru prepararea, tăbăcirea sau prelucrarea pieilor' },\n\t{ value: '84532000', label: '- Mașini și aparate pentru fabricarea sau repararea încălțămintei' },\n\t{ value: '84538000', label: '- Alte mașini și aparate' },\n\t{ value: '84539000', label: '- Părți' },\n\t{ value: '84540000', label: 'Convertizoare, oale de turnare, lingotiere și mașini de turnare pentru metalurgie, oțelărie sau topitorie' },\n\t{ value: '84541000', label: '- Convertizoare' },\n\t{ value: '84542000', label: '- Lingotiere și oale de turnare' },\n\t{ value: '84543000', label: '- Mașini de turnat' },\n\t{ value: '84543010', label: '-- Mașini de turnat sub presiune' },\n\t{ value: '84543090', label: '-- Altele' },\n\t{ value: '84549000', label: '- Părți' },\n\t{ value: '84550000', label: 'Laminoare pentru metale și cilindrii lor' },\n\t{ value: '84551000', label: '- Laminoare de țevi' },\n\t{ value: '84552100', label: '- Alte laminoare' },\n\t{ value: '84552100', label: '-- Laminoare la cald și laminoare combinate la cald și la rece' },\n\t{ value: '84552200', label: '-- Laminoare la rece' },\n\t{ value: '84553000', label: '- Cilindri pentru laminoare' },\n\t{ value: '84553010', label: '-- Din fontă' },\n\t{ value: '84553031', label: '-- Din oțel forjat' },\n\t{ value: '84553031', label: '--- Cilindri de prelucrare la cald; cilindri de sprijin la cald și la rece' },\n\t{ value: '84553039', label: '--- Cilindri de prelucrare la rece' },\n\t{ value: '84553090', label: '-- Altele' },\n\t{ value: '84559000', label: '- Alte părți' },\n\t{ value: '84560000', label: 'Mașini-unelte care prelucrează orice tip de material prin eliminarea materialului, acționând cu laser sau cu alt fascicul de lumină sau de fotoni, cu ultrasunete, prin electroeroziune, prin procedee electrochimice, cu fascicule de electroni, cu fascicule de ioni sau cu jet de plasmă; mașini de tăiat cu jet de apă' },\n\t{ value: '84561100', label: '- Care acționează cu laser sau cu alt fascicul de lumină sau de fotoni' },\n\t{ value: '84561100', label: '-- Care acționează cu laser' },\n\t{ value: '84561110', label: '--- De tipul celor utilizate numai sau în principal pentru fabricarea circuitelor imprimate, a ansamblelor de circuite imprimate, a părților de la poziția 8517 sau a părților de mașini automate de prelucrare a datelor' },\n\t{ value: '84561190', label: '--- Altele' },\n\t{ value: '84561200', label: '-- Care acționează cu alt fascicul de lumină sau de fotoni' },\n\t{ value: '84561210', label: '--- De tipul celor utilizate numai sau în principal pentru fabricarea circuitelor imprimate, a ansamblelor de circuite imprimate, a părților de la poziția 8517 sau a părților de mașini automate de prelucrare a datelor' },\n\t{ value: '84561290', label: '--- Altele' },\n\t{ value: '84562000', label: '- Care acționează cu ultrasunete' },\n\t{ value: '84563000', label: '- Care acționează prin electroeroziune' },\n\t{ value: '84563011', label: '-- Cu comandă numerică' },\n\t{ value: '84563011', label: '--- Prin fir' },\n\t{ value: '84563019', label: '--- Altele' },\n\t{ value: '84563090', label: '-- Altele' },\n\t{ value: '84564000', label: '- Care acționează cu jet de plasmă' },\n\t{ value: '84565000', label: '- Mașini de tăiat cu jet de apă' },\n\t{ value: '84569000', label: '- Altele' },\n\t{ value: '84570000', label: 'Centre de prelucrare, mașini cu post fix și mașini cu posturi multiple, pentru prelucrarea metalelor' },\n\t{ value: '84571000', label: '- Centre de prelucrare' },\n\t{ value: '84571010', label: '-- Orizontale' },\n\t{ value: '84571090', label: '-- Altele' },\n\t{ value: '84572000', label: '- Mașini cu post fix' },\n\t{ value: '84573000', label: '- Mașini cu posturi multiple' },\n\t{ value: '84573010', label: '-- Cu comandă numerică' },\n\t{ value: '84573090', label: '-- Altele' },\n\t{ value: '84580000', label: 'Strunguri (inclusiv centre de strunjire) pentru prelucrarea metalelor prin eliminarea materialului' },\n\t{ value: '84581100', label: '- Strunguri orizontale' },\n\t{ value: '84581100', label: '-- Cu comandă numerică' },\n\t{ value: '84581120', label: '--- Centre de strunjire' },\n\t{ value: '84581141', label: '--- Strunguri automate' },\n\t{ value: '84581141', label: '---- Monoax' },\n\t{ value: '84581149', label: '---- Multiax' },\n\t{ value: '84581180', label: '--- Altele' },\n\t{ value: '84581900', label: '-- Altele' },\n\t{ value: '84589100', label: '- Altele strunguri' },\n\t{ value: '84589100', label: '-- Cu comandă numerică' },\n\t{ value: '84589120', label: '--- Centre de strunjire' },\n\t{ value: '84589180', label: '--- Altele' },\n\t{ value: '84589900', label: '-- Altele' },\n\t{ value: '84590000', label: 'Mașini-unelte (inclusiv centrele de prelucrare glisante) de găurit, alezat, frezat, filetat sau tarodat metalele prin eliminarea materialului, altele decât strungurile (inclusiv centrele de strunjire) de la poziția 8458' },\n\t{ value: '84591000', label: '- Centrele de prelucrare glisante' },\n\t{ value: '84592100', label: '- Alte mașini de găurit' },\n\t{ value: '84592100', label: '-- Cu comandă numerică' },\n\t{ value: '84592900', label: '-- Altele' },\n\t{ value: '84593100', label: '- Alte mașini de alezat-frezat' },\n\t{ value: '84593100', label: '-- Cu comandă numerică' },\n\t{ value: '84593900', label: '-- Altele' },\n\t{ value: '84594100', label: '- Alte mașini de alezat' },\n\t{ value: '84594100', label: '-- Cu comandă numerică' },\n\t{ value: '84594900', label: '-- Altele' },\n\t{ value: '84595100', label: '- Mașini de frezat, cu consolă' },\n\t{ value: '84595100', label: '-- Cu comandă numerică' },\n\t{ value: '84595900', label: '-- Altele' },\n\t{ value: '84596100', label: '- Alte mașini de frezat' },\n\t{ value: '84596100', label: '-- Cu comandă numerică' },\n\t{ value: '84596110', label: '--- Mașini de frezat scule' },\n\t{ value: '84596190', label: '--- Altele' },\n\t{ value: '84596900', label: '-- Altele' },\n\t{ value: '84596910', label: '--- Mașini de frezat scule' },\n\t{ value: '84596990', label: '--- Altele' },\n\t{ value: '84597000', label: '- Alte mașini de filetat sau tarodat' },\n\t{ value: '84600000', label: 'Mașini-unelte pentru debavurat, ascuțit, polizat, rectificat, honuit, lepuit, șlefuit sau pentru alte operații de finisat metale sau compuşi metaloceramici, cu pietre de rectificat, cu abrazive sau cu alte produse de șlefuit, altele decât mașinile de danturat sau finisat angrenaje de la poziția 8461' },\n\t{ value: '84601200', label: '- Mașini de rectificat suprafețe plane' },\n\t{ value: '84601200', label: '-- Cu comandă numerică' },\n\t{ value: '84601900', label: '-- Altele' },\n\t{ value: '84602200', label: '- Alte mașini de rectificat' },\n\t{ value: '84602200', label: '-- Mașini de rectificat fără centru, cu comandă numerică' },\n\t{ value: '84602300', label: '-- Alte mașini de rectificat cilindric, cu comandă numerică' },\n\t{ value: '84602400', label: '-- Altele, cu comandă numerică' },\n\t{ value: '84602900', label: '-- Altele' },\n\t{ value: '84602910', label: '--- Pentru suprafețe cilindrice' },\n\t{ value: '84602990', label: '--- Altele' },\n\t{ value: '84603100', label: '- Mașini de ascuțit' },\n\t{ value: '84603100', label: '-- Cu comandă numerică' },\n\t{ value: '84603900', label: '-- Altele' },\n\t{ value: '84604000', label: '- Mașini de honuit sau lepuit' },\n\t{ value: '84604010', label: '-- Cu comandă numerică' },\n\t{ value: '84604090', label: '-- Altele' },\n\t{ value: '84609000', label: '- Altele' },\n\t{ value: '84610000', label: 'Mașini-unelte de rabotat, șepinguri, de mortezat, de broșat, de danturat și finisat angrenaje dințate, de debitat, de tăiat cu ferăstrăul, de secționat și alte mașini care acționează prin eliminarea metalului sau compuşilor metaloceramici, nedenumite și necuprinse în altă parte' },\n\t{ value: '84612000', label: '- Șepinguri și mașini de mortezat' },\n\t{ value: '84613000', label: '- Mașini de broșat' },\n\t{ value: '84613010', label: '-- Cu comandă numerică' },\n\t{ value: '84613090', label: '-- Altele' },\n\t{ value: '84614000', label: '- Mașini de danturat, de rectificat sau de finisat angrenaje' },\n\t{ value: '84614011', label: '-- Mașini de danturat angrenaje (inclusive cele cu sculă abrazivă)' },\n\t{ value: '84614011', label: '--- De danturare a angrenajelor cilindrice' },\n\t{ value: '84614011', label: '---- Cu comandă numerică' },\n\t{ value: '84614019', label: '---- Altele' },\n\t{ value: '84614031', label: '--- De danturare a altor angrenaje' },\n\t{ value: '84614031', label: '---- Cu comandă numerică' },\n\t{ value: '84614039', label: '---- Altele' },\n\t{ value: '84614071', label: '-- Mașini de finisat angrenaje' },\n\t{ value: '84614071', label: '--- Prevăzute cu sistem micrometric de reglare în orice axă cu precizia de minimum 0,01 mm' },\n\t{ value: '84614071', label: '---- Cu comandă numerică' },\n\t{ value: '84614079', label: '---- Altele' },\n\t{ value: '84614090', label: '--- Altele' },\n\t{ value: '84615000', label: '- Mașini de tăiat cu ferăstrăul sau de debitat' },\n\t{ value: '84615011', label: '-- Mașini de tăiat cu ferăstrăul' },\n\t{ value: '84615011', label: '--- Cu ferăstrău circular' },\n\t{ value: '84615019', label: '--- Altele' },\n\t{ value: '84615090', label: '-- Mașini de debitat' },\n\t{ value: '84619000', label: '- Altele' },\n\t{ value: '84620000', label: 'Mașini-unelte (inclusiv prese) pentru prelucrarea metalelor prin forjare, ciocănire, matrițare (cu excepția laminoarelor); mașini-unelte (inclusiv prese, linii de tăiere longitudinală și linii de tăiere la lungime) pentru prelucrarea metalelor prin curbare, pliere, îndreptare, aplatizare, forfecare, perforare, crestare sau deformare (cu excepția bancurilor de trefilare); prese pentru prelucrarea metalelor sau a carburilor metalice, altele decât cele menționate anterior' },\n\t{ value: '84621100', label: '- Mașini de formare la cald (inclusiv prese) pentru forjare, matrițare, și ciocane de forjă' },\n\t{ value: '84621100', label: '-- Mașini de forjat în matriță închisă' },\n\t{ value: '84621110', label: '--- Cu comandă numerică' },\n\t{ value: '84621190', label: '--- Altele' },\n\t{ value: '84621900', label: '-- Altele' },\n\t{ value: '84621910', label: '--- Cu comandă numerică' },\n\t{ value: '84621990', label: '--- Altele' },\n\t{ value: '84622200', label: '- Mașini (inclusiv prese hidraulice de îndoit) de curbat, pliat, îndreptat sau aplatizat pentru prelucrarea produselor plate' },\n\t{ value: '84622200', label: '-- Mașini de formare a profilelor' },\n\t{ value: '84622210', label: '--- Cu comandă numerică' },\n\t{ value: '84622290', label: '--- Altele' },\n\t{ value: '84622300', label: '-- Prese hidraulice de îndoit, cu comandă numerică' },\n\t{ value: '84622400', label: '-- Prese pentru panouri, cu comandă numerică' },\n\t{ value: '84622500', label: '-- Mașini de rulat, cu comandă numerică' },\n\t{ value: '84622600', label: '-- Alte mașini de curbat, pliat, îndreptat sau aplatizat, cu comandă numerică' },\n\t{ value: '84622900', label: '-- Altele' },\n\t{ value: '84622910', label: '--- Cu comandă numerică' },\n\t{ value: '84622990', label: '--- Altele' },\n\t{ value: '84623200', label: '- Linii de tăiere longitudinală, linii de tăiere la lungime și alte mașini de forfecat (cu excepția preselor) pentru prelucrarea produselor plate, altele decât mașinile combinate de perforat și forfecat' },\n\t{ value: '84623200', label: '-- Linii de tăiere longitudinală și linii de tăiere la lungime' },\n\t{ value: '84623210', label: '--- Cu comandă numerică' },\n\t{ value: '84623290', label: '--- Altele' },\n\t{ value: '84623300', label: '-- Mașini de forfecat, cu comandă numerică' },\n\t{ value: '84623900', label: '-- Altele' },\n\t{ value: '84624200', label: '- Mașini (cu excepția preselor) de perforat sau crestat, pentru prelucrarea produselor plate, inclusiv mașinile combinate de perforat și forfecat' },\n\t{ value: '84624200', label: '-- Cu comandă numerică' },\n\t{ value: '84624900', label: '-- Altele' },\n\t{ value: '84625100', label: '- Mașini (cu excepția preselor) pentru prelucrarea tuburilor, a țevilor, a secțiunilor tubulare și a barelor)' },\n\t{ value: '84625100', label: '-- Cu comandă numerică' },\n\t{ value: '84625900', label: '-- Altele' },\n\t{ value: '84626100', label: '- Prese pentru prelucrarea metalelor la rece' },\n\t{ value: '84626100', label: '-- Prese hidraulice' },\n\t{ value: '84626110', label: '--- Cu comandă numerică' },\n\t{ value: '84626190', label: '--- Altele' },\n\t{ value: '84626200', label: '-- Prese mecanice' },\n\t{ value: '84626210', label: '--- Cu comandă numerică' },\n\t{ value: '84626290', label: '--- Altele' },\n\t{ value: '84626300', label: '-- Servoprese' },\n\t{ value: '84626310', label: '--- Cu comandă numerică' },\n\t{ value: '84626390', label: '--- Altele' },\n\t{ value: '84626900', label: '-- Altele' },\n\t{ value: '84626910', label: '--- Cu comandă numerică' },\n\t{ value: '84626990', label: '--- Altele' },\n\t{ value: '84629000', label: '- Altele' },\n\t{ value: '84629010', label: '-- Cu comandă numerică' },\n\t{ value: '84629090', label: '-- Altele' },\n\t{ value: '84630000', label: 'Alte mașini-unelte pentru prelucrarea metalelor, saucompuşilor metaloceramici, care acționează fără eliminarea materialului' },\n\t{ value: '84631000', label: '- Bancuri de trefilat bare, țevi, profile, sârme sau produse similare' },\n\t{ value: '84631010', label: '-- Bancuri de trefilat sârmă' },\n\t{ value: '84631090', label: '-- Altele' },\n\t{ value: '84632000', label: '- Mașini pentru executarea unei filetări exterioare sau interioare prin rulare sau laminare' },\n\t{ value: '84633000', label: '- Mașini pentru fabricarea sârmei' },\n\t{ value: '84639000', label: '- Altele' },\n\t{ value: '84640000', label: 'Mașini-unelte pentru prelucrarea pietrei, a produselor ceramice, betonului, azbocimentului sau materialelor minerale similare, sau pentru prelucrarea la rece a sticlei' },\n\t{ value: '84641000', label: '- Mașini de tăiat' },\n\t{ value: '84642000', label: '- Mașini de șlefuit sau rectificat' },\n\t{ value: '84642011', label: '-- Pentru prelucrarea sticlei' },\n\t{ value: '84642011', label: '--- Sticlei optice' },\n\t{ value: '84642019', label: '--- Altele' },\n\t{ value: '84642080', label: '-- Altele' },\n\t{ value: '84649000', label: '- Altele' },\n\t{ value: '84650000', label: 'Mașini-unelte (inclusiv mașinile pentru bătut cuie, de prins cu scoabe, de lipit, de încleiat sau pentru alte asamblări) pentru prelucrarea lemnului, plutei, osului, ebonitei, materialelor plastice dure sau a altor materiale dure similare' },\n\t{ value: '84651000', label: '- Mașini care pot efectua diferite tipuri de operațiuni de prelucrare, fără schimbarea uneltelor între operațiuni' },\n\t{ value: '84651010', label: '-- Cu manevrare manuală a piesei între fiecare operațiune' },\n\t{ value: '84651090', label: '-- Fără manevrare manuală a piesei între fiecare operațiune' },\n\t{ value: '84652000', label: '- Centre de prelucrare' },\n\t{ value: '84659100', label: '- Altele' },\n\t{ value: '84659100', label: '-- Mașini de tăiat' },\n\t{ value: '84659110', label: '--- Cu ferăstraie bandă' },\n\t{ value: '84659120', label: '--- Ferăstraie circulare' },\n\t{ value: '84659190', label: '--- Altele' },\n\t{ value: '84659200', label: '-- Mașini de îndreptat sau de rabotat; mașini de frezat sau de modelat-mulurat (prin tăiere)' },\n\t{ value: '84659300', label: '-- Mașini de șlefuit, de polizat sau de lustruit' },\n\t{ value: '84659400', label: '-- Mașini de curbat sau de asamblat' },\n\t{ value: '84659500', label: '-- Mașini de găurit sau de mortezat' },\n\t{ value: '84659600', label: '-- Mașini de spintecat, de retezat sau de derulat' },\n\t{ value: '84659900', label: '-- Altele' },\n\t{ value: '84660000', label: 'Părți și accesorii destinate numai sau în principal mașinilor de la pozițiile 8456-8465, inclusiv portpiesele și portsculele, filierele cu declanșare automată, capetele divizoare și alte dispozitive speciale care se montează pe mașini; portscule destinate uneltelor sau sculelor manuale de orice tip' },\n\t{ value: '84661000', label: '- Portscule și filiere cu declanșare automată' },\n\t{ value: '84661020', label: '-- Portscule' },\n\t{ value: '84661020', label: '--- Mandrine, clești și bucșe' },\n\t{ value: '84661031', label: '--- Altele' },\n\t{ value: '84661031', label: '---- Pentru strunguri' },\n\t{ value: '84661038', label: '---- Altele' },\n\t{ value: '84661080', label: '-- Filiere cu declanșare automată' },\n\t{ value: '84662000', label: '- Portpiese' },\n\t{ value: '84662020', label: '-- Montaje de prelucrare și ansamblele lor de componente standard' },\n\t{ value: '84662091', label: '-- Altele' },\n\t{ value: '84662091', label: '--- Pentru strunguri' },\n\t{ value: '84662098', label: '--- Altele' },\n\t{ value: '84663000', label: '- Capete divizoare și alte dispozitive speciale pentru maşini' },\n\t{ value: '84669100', label: '- Altele' },\n\t{ value: '84669100', label: '-- Pentru mașinile de la poziția 8464' },\n\t{ value: '84669120', label: '--- Turnate din fontă, fier sau oțel' },\n\t{ value: '84669195', label: '--- Altele' },\n\t{ value: '84669200', label: '-- Pentru mașinile de la poziția 8465' },\n\t{ value: '84669220', label: '--- Turnate din fontă, fier sau oțel' },\n\t{ value: '84669280', label: '--- Altele' },\n\t{ value: '84669300', label: '-- Pentru mașinile de la pozițiile 8456-8461' },\n\t{ value: '84669340', label: '--- Părți și accesorii ale mașinilor de la subpozițiile 8456 11 10, 8456 12 10, 8456 20, 8456 30, 8457 10, 8458 91, 8459 21 00, 8459 61 sau 8461 50 destinate numai sau în principal pentru fabricarea circuitelor imprimate, a ansamblelor de circuite imprimate, a părților de la poziția 8517 sau a părților de mașini automate de prelucrare a datelor' },\n\t{ value: '84669350', label: '--- Altele' },\n\t{ value: '84669350', label: '---- Pentru mașini de la subpoziția 8456 50 00' },\n\t{ value: '84669360', label: '---- Altele' },\n\t{ value: '84669400', label: '-- Pentru mașinile de la pozițiile 8462 sau 8463' },\n\t{ value: '84670000', label: 'Unelte pneumatice, hidraulice sau cu motor (electric sau neelectric) încorporat, pentru utilizare manuală' },\n\t{ value: '84671100', label: '- Pneumatice' },\n\t{ value: '84671100', label: '-- Rotative (chiar cu percuție)' },\n\t{ value: '84671110', label: '--- Pentru prelucrarea metalelor' },\n\t{ value: '84671190', label: '--- Altele' },\n\t{ value: '84671900', label: '-- Altele' },\n\t{ value: '84672100', label: '- Cu motor electric incorporat' },\n\t{ value: '84672100', label: '-- Mașini de găurit de orice tip, inclusiv perforatoare rotative' },\n\t{ value: '84672110', label: '--- Care funcționează fără sursă de energie exterioară' },\n\t{ value: '84672191', label: '--- Altele' },\n\t{ value: '84672191', label: '---- Electropneumatice' },\n\t{ value: '84672199', label: '---- Altele' },\n\t{ value: '84672200', label: '-- Ferăstraie și mașini de debitat' },\n\t{ value: '84672210', label: '--- Ferăstraie și mașini de debitat cu lanț' },\n\t{ value: '84672230', label: '--- Ferăstraie circulare' },\n\t{ value: '84672290', label: '--- Altele' },\n\t{ value: '84672900', label: '-- Altele' },\n\t{ value: '84672920', label: '--- Care funcționează fără sursă de energie exterioară' },\n\t{ value: '84672951', label: '--- Altele' },\n\t{ value: '84672951', label: '---- Mașini de polizat și mașini de șlefuit' },\n\t{ value: '84672951', label: '----- Mașini de polizat unghiular' },\n\t{ value: '84672953', label: '----- Mașini de șlefuit cu bandă' },\n\t{ value: '84672959', label: '----- Altele' },\n\t{ value: '84672970', label: '---- Rindele' },\n\t{ value: '84672980', label: '---- Foarfeci pentru tăiat gardul viu, foarfeci pentru tuns peluza și plivitoare' },\n\t{ value: '84672985', label: '---- Altele' },\n\t{ value: '84678100', label: '- Alte unelte' },\n\t{ value: '84678100', label: '-- Ferăstraie și mașini de debitat, cu lanț' },\n\t{ value: '84678900', label: '-- Altele' },\n\t{ value: '84679100', label: '- Părți' },\n\t{ value: '84679100', label: '-- De ferăstraie și mașini de debitat, cu lanț' },\n\t{ value: '84679200', label: '-- De unelte pneumatice' },\n\t{ value: '84679900', label: '-- Altele' },\n\t{ value: '84680000', label: 'Mașini și aparate pentru lipit sau sudat, chiar cu posibilitatea de tăiere, altele decât cele de la poziția 8515; mașini și aparate cu gaz pentru călire superficială' },\n\t{ value: '84681000', label: '- Arzătoare dirijate manual' },\n\t{ value: '84682000', label: '- Alte mașini și aparate cu gaz' },\n\t{ value: '84688000', label: '- Alte mașini și aparate' },\n\t{ value: '84689000', label: '- Părți' },\n\t{ value: '84700000', label: 'Mașini de calculat și mașini de buzunar care permit înregistrarea, reproducerea și afișarea datelor, cu funcție de calcul; mașini de contabilizat, mașini de francat, mașini de emis bilete și mașini similare, cu dispozitiv de calcul; case de înregistrare' },\n\t{ value: '84701000', label: '- Mașini electronice de calculat care pot să funcționeze fără sursă de energie exterioară și mașini de buzunar care permit înregistrarea, reproducerea și afișarea datelor, care au o funcție de calcul' },\n\t{ value: '84702100', label: '- Alte mașini electronice de calculat' },\n\t{ value: '84702100', label: '-- Care au un organ imprimant încorporat' },\n\t{ value: '84702900', label: '-- Altele' },\n\t{ value: '84703000', label: '- Alte mașini de calculat' },\n\t{ value: '84705000', label: '- Case de înregistrare' },\n\t{ value: '84709000', label: '- Altele' },\n\t{ value: '84710000', label: 'Mașini automate de prelucrare a datelor și unități ale acestora; cititoare magnetice sau optice, mașini pentru transpunerea datelor pe suport sub formă codificată și mașini de prelucrare a acestor date, nedenumite și necuprinse în altă parte' },\n\t{ value: '84713000', label: '- Mașini automate de prelucrare a datelor, portabile, de o greutate de maximum 10 kg, care conțin cel puțin o unitate centrală de prelucrare, o tastatură și un ecran' },\n\t{ value: '84714100', label: '- Alte mașini automate de prelucrare a datelor' },\n\t{ value: '84714100', label: '-- Care au, în același corp, cel puțin o unitate centrală de prelucrare și o unitate de intrare și una de ieșire, chiar combinate' },\n\t{ value: '84714900', label: '-- Altele, prezentate sub formă de sisteme' },\n\t{ value: '84715000', label: '- Unități de prelucrare a datelor, altele decât cele de la subpozițiile 8471 41 sau 8471 49 chiar care conțin în același corp unul sau două tipuri din unitățile următoare: unitate de memorie, unitate de intrare, unitate de ieșire' },\n\t{ value: '84716000', label: '- Unități de intrare sau de ieșire, chiar care conțin în același corp unități de memorie' },\n\t{ value: '84716060', label: '-- Tastaturi' },\n\t{ value: '84716070', label: '-- Altele' },\n\t{ value: '84717000', label: '- Unități de memorie' },\n\t{ value: '84717020', label: '-- Unități de memorie centrale' },\n\t{ value: '84717030', label: '-- Altele' },\n\t{ value: '84717030', label: '--- Unități de memorie pe discuri' },\n\t{ value: '84717030', label: '---- Optice, inclusiv magneto-optice' },\n\t{ value: '84717050', label: '---- Altele' },\n\t{ value: '84717050', label: '----- Unități de memorie pe hard discuri' },\n\t{ value: '84717070', label: '----- Altele' },\n\t{ value: '84717080', label: '--- Unități de memorie pe benzi magnetice' },\n\t{ value: '84717098', label: '--- Altele' },\n\t{ value: '84718000', label: '- Alte unităti de mașini automate de prelucrare a datelor' },\n\t{ value: '84719000', label: '- Altele' },\n\t{ value: '84720000', label: 'Alte mașini și aparate de birou (de exemplu, duplicatoare hectografice sau cu matrițe, mașini de imprimat adrese, distribuitoare automate de bancnote, mașini de triat, de numărat sau de făcut fișicuri de monede, aparate de ascuțit creioane, aparate de perforat sau de capsat)' },\n\t{ value: '84721000', label: '- Duplicatoare' },\n\t{ value: '84723000', label: '- Mașini pentru trierea, plierea, punerea în plic sau pe bandă a corespondenței, mașini de deschis, de închis sau de ștampilat corespondența și mașini de aplicat sau de obliterat timbre' },\n\t{ value: '84729000', label: '- Altele' },\n\t{ value: '84729010', label: '-- Mașini de triat, de numărat sau de făcut fișicuri din monede' },\n\t{ value: '84729080', label: '-- Altele' },\n\t{ value: '84730000', label: 'Părți și accesorii (altele decât cutiile de transport, husele și altele asemănătoare) care pot fi recunoscute ca fiind în exclusivitate sau în principal destinate mașinilor sau aparatelor de la pozițiile 8470-8472' },\n\t{ value: '84732100', label: '- Părți și accesorii de mașini de la poziția 8470' },\n\t{ value: '84732100', label: '-- De mașini electronice de calculat de la subpozițiile 8470 10, 8470 21 sau 8470 29' },\n\t{ value: '84732110', label: '--- Subansambluri electronice' },\n\t{ value: '84732190', label: '--- Altele' },\n\t{ value: '84732900', label: '-- Altele' },\n\t{ value: '84732910', label: '--- Subansambluri electronice' },\n\t{ value: '84732990', label: '--- Altele' },\n\t{ value: '84733000', label: '- Părți și accesorii de mașini de la poziția 8471' },\n\t{ value: '84733020', label: '-- Subansambluri electronice' },\n\t{ value: '84733080', label: '-- Altele' },\n\t{ value: '84734000', label: '- Părți și accesorii de mașini de la poziția 8472' },\n\t{ value: '84734010', label: '-- Subansambluri electronice' },\n\t{ value: '84734080', label: '-- Altele' },\n\t{ value: '84735000', label: '- Părți și accesorii care pot fi utilizate cu mașinile sau aparatele de la două sau mai multe din pozițiile 8470-8472' },\n\t{ value: '84735020', label: '-- Subansambluri electronice' },\n\t{ value: '84735080', label: '-- Altele' },\n\t{ value: '84740000', label: 'Mașini și aparate pentru sortat, cernut, separat, spălat, concasat, măcinat, amestecat sau malaxat pământ, pietre, minereuri și alte substanțe minerale solide (inclusiv praf și pastă); mașini pentru aglomerat, format sau modelat combustibili minerali solizi, paste ceramice, ciment, gips sau alte substanțe minerale sub formă de praf sau de pastă; mașini pentru fabricat forme de nisip pentru turnat' },\n\t{ value: '84741000', label: '- Mașini și aparate pentru sortat, cernut, separat sau spălat' },\n\t{ value: '84742000', label: '- Mașini și aparate pentru concasat, măcinat sau pulverizat' },\n\t{ value: '84743100', label: '- Mașini și aparate pentru amestecat sau de malaxat' },\n\t{ value: '84743100', label: '-- Betoniere și aparate pentru amestecarea cimentului' },\n\t{ value: '84743200', label: '-- Mașini pentru amestecat materiale minerale cu bitum' },\n\t{ value: '84743900', label: '-- Altele' },\n\t{ value: '84748000', label: '- Alte mașini și aparate' },\n\t{ value: '84748010', label: '-- Mașini și aparate pentru aglomerarea, formarea sau modelarea pastei ceramice' },\n\t{ value: '84748090', label: '-- Altele' },\n\t{ value: '84749000', label: '- Părți' },\n\t{ value: '84749010', label: '-- Turnate, din fontă, fier sau oțel' },\n\t{ value: '84749090', label: '-- Altele' },\n\t{ value: '84750000', label: 'Mașini pentru asamblarea lămpilor, tuburilor și becurilor electrice sau electronice sau a becurilor pentru bliţuri, care conțin un înveliș de sticlă; mașini pentru fabricarea sau prelucrarea la cald a sticlei sau a obiectelor din sticlă' },\n\t{ value: '84751000', label: '- Mașini pentru asamblarea lămpilor, tuburilor sau becurilor electrice sau electronice sau a becurilor pentru bliţuri, care conțin un înveliș din sticlă' },\n\t{ value: '84752100', label: '- Mașini pentru fabricarea sau prelucrarea la cald a sticlei sau a articolelor din sticlă' },\n\t{ value: '84752100', label: '-- Mașini pentru fabricarea fibrelor optice și a eboșelor acestora' },\n\t{ value: '84752900', label: '-- Altele' },\n\t{ value: '84759000', label: '- Părți' },\n\t{ value: '84759010', label: '-- Părți de mașini de la subpoziția 8475 21 00' },\n\t{ value: '84759090', label: '-- Altele' },\n\t{ value: '84760000', label: 'Mașini automate pentru vânzarea produselor (de exemplu: timbre poștale, țigări, produse alimentare, băuturi), inclusiv mașini pentru schimbat monede' },\n\t{ value: '84762100', label: '- Mașini automate pentru vânzarea băuturilor' },\n\t{ value: '84762100', label: '-- Care conțin dispozitive de încălzire sau de răcire' },\n\t{ value: '84762900', label: '-- Altele' },\n\t{ value: '84768100', label: '- Alte mașini' },\n\t{ value: '84768100', label: '-- Care conțin dispozitive de încălzire sau de răcire' },\n\t{ value: '84768900', label: '-- Altele' },\n\t{ value: '84768910', label: '--- Mașini pentru schimbat monede' },\n\t{ value: '84768990', label: '--- Altele' },\n\t{ value: '84769000', label: '- Părți' },\n\t{ value: '84769010', label: '-- Părți de mașini pentru schimbat monede' },\n\t{ value: '84769090', label: '-- Altele' },\n\t{ value: '84770000', label: 'Mașini și aparate pentru prelucrarea cauciucului sau a materialelor plastice sau pentru fabricarea produselor din aceste materiale, nedenumite și necuprinse în altă parte a acestui capitol' },\n\t{ value: '84771000', label: '- Mașini pentru formare prin injecție' },\n\t{ value: '84772000', label: '- Mașini pentru extrudare' },\n\t{ value: '84773000', label: '- Mașini pentru formare prin suflare' },\n\t{ value: '84774000', label: '- Mașini pentru formare sub vid și alte mașini pentru termoformare' },\n\t{ value: '84775100', label: '- Alte mașini și aparate pentru formare sau modelare' },\n\t{ value: '84775100', label: '-- Pentru formarea sau reșaparea anvelopelor pneumatice sau pentru formarea sau modelarea camerelor de aer' },\n\t{ value: '84775900', label: '-- Altele' },\n\t{ value: '84775910', label: '--- Prese' },\n\t{ value: '84775980', label: '--- Altele' },\n\t{ value: '84778000', label: '- Alte mașini și aparate' },\n\t{ value: '84778011', label: '-- Mașini pentru fabricarea produselor spongioase sau celulare' },\n\t{ value: '84778011', label: '--- Mașini pentru procesarea rășinilor reactive' },\n\t{ value: '84778019', label: '--- Altele' },\n\t{ value: '84778091', label: '-- Altele' },\n\t{ value: '84778091', label: '--- Mașini de fragmentare' },\n\t{ value: '84778093', label: '--- Amestecătoare, malaxoare și agitatoare' },\n\t{ value: '84778095', label: '--- Mașini de tăiat și mașini de despicat' },\n\t{ value: '84778099', label: '--- Altele' },\n\t{ value: '84779000', label: '- Părți' },\n\t{ value: '84779010', label: '-- Turnate, din fontă, fier sau oțel' },\n\t{ value: '84779080', label: '-- Altele' },\n\t{ value: '84780000', label: 'Mașini și aparate pentru prepararea sau prelucrarea tutunului, nedenumite și necuprinse în altă parte în acest capitol' },\n\t{ value: '84781000', label: '- Mașini și aparate' },\n\t{ value: '84789000', label: '- Părți' },\n\t{ value: '84790000', label: 'Mașini și aparate mecanice cu funcție proprie, nedenumite și necuprinse în altă parte în acest capitol' },\n\t{ value: '84791000', label: '- Mașini și aparate pentru lucrări publice, construcții sau activități similare' },\n\t{ value: '84792000', label: '- Mașini și aparate pentru extracția sau prepararea grăsimilor sau uleiurilor de origine vegetală sau microbiană stabile sau animale' },\n\t{ value: '84793000', label: '- Prese pentru fabricarea panourilor din particule sau din fibre de lemn sau din alte materiale lemnoase și alte mașini și aparate pentru prelucrarea lemnului sau a plutei' },\n\t{ value: '84793010', label: '-- Prese' },\n\t{ value: '84793090', label: '-- Altele' },\n\t{ value: '84794000', label: '- Mașini pentru fabricarea frânghiilor sau cablurilor' },\n\t{ value: '84795000', label: '- Roboți industriali nedenumiți și necuprinși în altă parte' },\n\t{ value: '84796000', label: '- Aparate pentru răcirea aerului prin evaporare' },\n\t{ value: '84797100', label: '- Pasarele de îmbarcare a pasagerilor' },\n\t{ value: '84797100', label: '-- De tipul celor utilizate în aeroporturi' },\n\t{ value: '84797900', label: '-- Altele' },\n\t{ value: '84798100', label: '- Alte mașini și aparate' },\n\t{ value: '84798100', label: '-- Pentru prelucrarea metalelor, inclusiv mașinile de bobinat pentru înfășurările electrice' },\n\t{ value: '84798200', label: '-- Pentru amestecare, malaxare, concasare, spargere, măcinare, cernere, omogenizare, emulsionare sau agitare' },\n\t{ value: '84798300', label: '-- Prese izostatice la rece' },\n\t{ value: '84798900', label: '-- Altele' },\n\t{ value: '84798930', label: '--- Susținător mobil hidraulic pentru mine' },\n\t{ value: '84798960', label: '--- Aparate numite de \"gresare centralizată\"' },\n\t{ value: '84798970', label: '--- Mașini automate de dispunere a componentelor electronice de tipul celor utilizate numai sau în principal pentru fabricarea ansamblelor de circuite imprimate' },\n\t{ value: '84798997', label: '--- Altele' },\n\t{ value: '84799000', label: '- Părți' },\n\t{ value: '84799015', label: '-- Părți de mașini de la subpoziția 8479 89 70' },\n\t{ value: '84799020', label: '-- Altele' },\n\t{ value: '84799020', label: '--- Turnate, din fontă, fier sau oțel' },\n\t{ value: '84799070', label: '--- Altele' },\n\t{ value: '84800000', label: 'Rame pentru forme de turnătorie; plăci de bază pentru forme; modele pentru forme; forme pentru metale (altele decât lingotierele), pentru carburi metalice, sticlă, materiale minerale, cauciuc sau materiale plastice' },\n\t{ value: '84801000', label: '- Rame pentru forme de turnătorie' },\n\t{ value: '84802000', label: '- Plăci de bază pentru forme' },\n\t{ value: '84803000', label: '- Modele pentru forme' },\n\t{ value: '84803010', label: '-- Din lemn' },\n\t{ value: '84803090', label: '-- Altele' },\n\t{ value: '84804100', label: '- Forme pentru metale sau pentru carburi metalice' },\n\t{ value: '84804100', label: '-- Pentru turnare prin injecție sau prin comprimare' },\n\t{ value: '84804900', label: '-- Altele' },\n\t{ value: '84805000', label: '- Forme pentru sticlă' },\n\t{ value: '84806000', label: '- Forme pentru materiale minerale' },\n\t{ value: '84807100', label: '- Forme pentru cauciuc sau materiale plastice' },\n\t{ value: '84807100', label: '-- Pentru turnare prin injecție sau comprimare' },\n\t{ value: '84807900', label: '-- Altele' },\n\t{ value: '84810000', label: 'Articole de robinetărie și articole similare pentru țevi, cazane, rezervoare, cuve și recipiente similare, inclusiv reductoarele de presiune și vanele termostatice' },\n\t{ value: '84811000', label: '- Valve reductoare de presiune' },\n\t{ value: '84811005', label: '-- Combinate cu filtre sau lubrificatoare' },\n\t{ value: '84811019', label: '-- Altele' },\n\t{ value: '84811019', label: '--- Din fontă sau din oțel' },\n\t{ value: '84811099', label: '--- Altele' },\n\t{ value: '84812000', label: '- Valve pentru transmisiile oleohidraulice sau pneumatice' },\n\t{ value: '84812010', label: '-- Valve pentru transmisii oleohidraulice' },\n\t{ value: '84812090', label: '-- Valve pentru transmisii pneumatice' },\n\t{ value: '84813000', label: '- Clapete și supape de reținere' },\n\t{ value: '84813091', label: '-- Din fontă sau din oțel' },\n\t{ value: '84813099', label: '-- Altele' },\n\t{ value: '84814000', label: '- Supape (valve) de preaplin sau de siguranță' },\n\t{ value: '84814010', label: '-- Din fontă sau din oțel' },\n\t{ value: '84814090', label: '-- Altele' },\n\t{ value: '84818000', label: '- Alte articole de robinetărie și articole similare' },\n\t{ value: '84818011', label: '-- Robinetărie pentru grupuri sanitare' },\n\t{ value: '84818011', label: '--- De amestec' },\n\t{ value: '84818019', label: '--- Altele' },\n\t{ value: '84818031', label: '-- Robinetărie pentru radiatoare de încălzire centrală' },\n\t{ value: '84818031', label: '--- Robinete termostatice' },\n\t{ value: '84818039', label: '--- Altele' },\n\t{ value: '84818040', label: '-- Valve pentru anvelope și pentru camere de aer' },\n\t{ value: '84818051', label: '-- Altele' },\n\t{ value: '84818051', label: '--- Vane de reglare' },\n\t{ value: '84818051', label: '---- A temperaturii' },\n\t{ value: '84818059', label: '---- Altele' },\n\t{ value: '84818061', label: '--- Altele' },\n\t{ value: '84818061', label: '---- Robinete și vane cu trecere directă' },\n\t{ value: '84818061', label: '----- Din fontă' },\n\t{ value: '84818063', label: '----- Din oțel' },\n\t{ value: '84818069', label: '----- Altele' },\n\t{ value: '84818071', label: '---- Robinete cu supapă' },\n\t{ value: '84818071', label: '----- Din fontă' },\n\t{ value: '84818073', label: '----- Din oțel' },\n\t{ value: '84818079', label: '----- Altele' },\n\t{ value: '84818081', label: '---- Robinete cu turnant sferic, conic sau cilindric' },\n\t{ value: '84818085', label: '---- Robinete fluture' },\n\t{ value: '84818087', label: '---- Robinete cu membrană' },\n\t{ value: '84818099', label: '---- Altele' },\n\t{ value: '84819000', label: '- Părți' },\n\t{ value: '84820000', label: 'Rulmenți cu bile, cu galeți, cu role sau cu ace' },\n\t{ value: '84821000', label: '- Rulmenți cu bile' },\n\t{ value: '84821010', label: '-- Al căror cel mai mare diametru exterior este de maximum 30 mm' },\n\t{ value: '84821090', label: '-- Altele' },\n\t{ value: '84822000', label: '- Rulmenți cu role conice, inclusiv subansamblurile de conuri și role conice' },\n\t{ value: '84823000', label: '- Rulmenți cu role butoi' },\n\t{ value: '84824000', label: '- Rulmenți cu ace, inclusiv subansamblurile de conuri și role cu ace' },\n\t{ value: '84825000', label: '- Alți rulmenți cu role cilindrice, inclusiv subansamblurile de conuri și role conice' },\n\t{ value: '84828000', label: '- Altele, inclusiv rulmenții combinați' },\n\t{ value: '84829100', label: '- Părți' },\n\t{ value: '84829100', label: '-- Bile, galeți, role și ace' },\n\t{ value: '84829110', label: '--- Role conice' },\n\t{ value: '84829190', label: '--- Altele' },\n\t{ value: '84829900', label: '-- Altele' },\n\t{ value: '84830000', label: 'Arbori de transmisie (inclusiv arbori cu came și vilbrochene) și manivele; lagăre și cuzineți; angrenaje și roți de fricțiune; șuruburi cu bile sau cu role; traductoare de viteză și alte variatoare, inclusiv convertizoare de cuplu; volanți și fulii, inclusiv fulii cu mufle; ambreiaje și organe de cuplare, inclusiv articulații)' },\n\t{ value: '84831000', label: '- Arbori de transmisie (inclusiv arbori cu came și vilbrochene) și manivele' },\n\t{ value: '84831021', label: '-- Manivele și vilbrochene' },\n\t{ value: '84831021', label: '--- Turnate, din fontă, fier sau oțel' },\n\t{ value: '84831025', label: '--- Din oțel forjat' },\n\t{ value: '84831029', label: '--- Altele' },\n\t{ value: '84831050', label: '-- Arbori articulați' },\n\t{ value: '84831095', label: '-- Altele' },\n\t{ value: '84832000', label: '- Lagăre cu rulmenți încorporați' },\n\t{ value: '84833000', label: '- Lagăre, altele decât cele cu rulmenți încorporați; cuzineți' },\n\t{ value: '84833032', label: '-- Lagăre' },\n\t{ value: '84833032', label: '--- Pentru rulmenți de toate tipurile' },\n\t{ value: '84833038', label: '--- Altele' },\n\t{ value: '84833080', label: '-- Cuzineți' },\n\t{ value: '84834000', label: '- Angrenaje și roți de fricțiune, altele decât roțile dințate, pinioanele de lanț și alte elemente de transmisie prezentate separat; șuruburi cu bile sau cu role; traductoare de viteză și alte variatoare, inclusiv convertizoare de cuplu' },\n\t{ value: '84834021', label: '-- Angrenaje' },\n\t{ value: '84834021', label: '--- Roți cilindrice cu dinți drepți și cu dinți înclinați' },\n\t{ value: '84834023', label: '--- Roți conice cu dinți drepți și roți conice/cilindrice cu dinți drepți' },\n\t{ value: '84834025', label: '--- Roți melcate' },\n\t{ value: '84834029', label: '--- Altele' },\n\t{ value: '84834030', label: '-- Șuruburi cu bile sau cu role' },\n\t{ value: '84834051', label: '-- Traductoare de viteză și alte variatoare' },\n\t{ value: '84834051', label: '--- Traductoare de viteză' },\n\t{ value: '84834059', label: '--- Altele' },\n\t{ value: '84834090', label: '-- Altele' },\n\t{ value: '84835000', label: '- Volanți și fulii, inclusiv fulii cu mufle' },\n\t{ value: '84835020', label: '-- Turnate, din fontă, fier sau oțel' },\n\t{ value: '84835080', label: '-- Altele' },\n\t{ value: '84836000', label: '- Ambreiaje și organe de cuplare, inclusiv articulații' },\n\t{ value: '84836020', label: '-- Turnate, din fontă, fier sau oțel' },\n\t{ value: '84836080', label: '-- Altele' },\n\t{ value: '84839000', label: '- Roți dințate, pinioane de lanț și alte elemente de transmisie prezentate separat; părți' },\n\t{ value: '84839020', label: '-- Părți de lagăre pentru rulmenți de toate tipurile' },\n\t{ value: '84839081', label: '-- Altele' },\n\t{ value: '84839081', label: '--- Turnate, din fontă fier sau oțel' },\n\t{ value: '84839089', label: '--- Altele' },\n\t{ value: '84840000', label: 'Garnituri de etanșare și articole similare din foi de metal combinate cu alte materiale sau din două sau mai multe straturi de metal; seturi sau sortimente de garnituri de etanșare și similare de compoziții diferite prezentate în pungi, plicuri sau ambalaje similare; garnituri pentru etanșări mecanice' },\n\t{ value: '84841000', label: '- Garnituri de etanșare și articole similare din foi de metal combinate cu alte materiale sau din două sau mai multe straturi de metal' },\n\t{ value: '84842000', label: '- Garnituri pentru etanșări mecanice' },\n\t{ value: '84849000', label: '- Altele' },\n\t{ value: '84850000', label: 'Mașini pentru fabricație aditivă' },\n\t{ value: '84851000', label: '- Prin depozit de metale' },\n\t{ value: '84852000', label: '- Prin depozit de materiale plastice sau cauciuc' },\n\t{ value: '84853000', label: '- Prin depozit de ipsos, ciment, ceramică sau sticlă' },\n\t{ value: '84853010', label: '-- Prin depozit de ipsos, ciment sau ceramică' },\n\t{ value: '84853090', label: '-- Altele' },\n\t{ value: '84858000', label: '- Altele' },\n\t{ value: '84859000', label: '- Părți' },\n\t{ value: '84859010', label: '-- Părți de mașini de la subpoziția 8485 30 10' },\n\t{ value: '84859090', label: '-- Altele' },\n\t{ value: '84860000', label: 'Mașini și aparate utilizate numai sau în principal pentru fabricarea lingourilor sau plachetelor (wafers) sau a dispozitivelor cu semiconductori, a circuitelor electronice integrate sau a dispozitivelor de afișare cu ecran plat; mașini și aparate menționate la nota 11 litera C a capitolului 84; părți și accesorii' },\n\t{ value: '84861000', label: '- Mașini și aparate pentru fabricarea lingourilor sau plachetelor (wafers)' },\n\t{ value: '84862000', label: '- Mașini și aparate pentru fabricarea dispozitivelor cu semiconductori sau a circuitelor electronice integrate' },\n\t{ value: '84863000', label: '- Mașini și aparate pentru fabricarea dispozitivelor de afișare cu ecran plat' },\n\t{ value: '84864000', label: '- Mașini și aparate menționate la nota 11 litera C a capitolului 84' },\n\t{ value: '84869000', label: '- Părți și accesorii' },\n\t{ value: '84870000', label: 'Părți de mașini sau de aparate, nedenumite și necuprinse în altă parte în acest capitol, fără conexiuni electrice, părți izolate electric, bobinaje, contacte sau alte elemente caracteristice electrice' },\n\t{ value: '84871000', label: '- Elice pentru nave și paletele acestora' },\n\t{ value: '84871010', label: '-- Din bronz' },\n\t{ value: '84871090', label: '-- Altele' },\n\t{ value: '84879000', label: '- Altele' },\n\t{ value: '84879040', label: '-- Din fontă' },\n\t{ value: '84879051', label: '-- Din fier sau oțel' },\n\t{ value: '84879051', label: '--- Turnate din oțel' },\n\t{ value: '84879057', label: '--- Forjate în matriță deschisă sau forjate în matriță închisă, din fier sau oțel' },\n\t{ value: '84879059', label: '--- Altele' },\n\t{ value: '84879090', label: '-- Altele' },\n\t{ value: '85000000', label: 'MAȘINI, APARATE ȘI ECHIPAMENTE ELECTRICE ȘI PĂRȚI ALE ACESTORA; APARATE DE ÎNREGISTRAT SAU DE REPRODUS SUNETUL, APARATE DE TELEVIZIUNE DE ÎNREGISTRAT SAU DE REPRODUS IMAGINE ȘI SUNET; PĂRȚI ȘI ACCESORII ALE ACESTOR APARATE' },\n\t{ value: '85010000', label: 'Motoare și generatoare electrice, cu excepția grupurilor electrogene' },\n\t{ value: '85011000', label: '- Motoare de o putere de maximum 37,5 W' },\n\t{ value: '85011010', label: '-- Motoare sincrone de o putere de maximum 18 W' },\n\t{ value: '85011091', label: '-- Altele' },\n\t{ value: '85011091', label: '--- Motoare universale' },\n\t{ value: '85011093', label: '--- Motoare de curent alternativ' },\n\t{ value: '85011099', label: '--- Motoare de curent continuu' },\n\t{ value: '85012000', label: '- Motoare universale de o putere peste 37,5 W' },\n\t{ value: '85013100', label: '- Alte motoare de curent continuu; generatoare electrice de curent continuu, altele decât generatoarele fotovoltaice' },\n\t{ value: '85013100', label: '-- De o putere de maximum 750 W' },\n\t{ value: '85013200', label: '-- De o putere de peste 750 W, dar de maximum 75 kW' },\n\t{ value: '85013300', label: '-- De o putere de peste 75 kW, dar de maximum 375 kW' },\n\t{ value: '85013400', label: '-- De o putere de peste 375 kW' },\n\t{ value: '85014000', label: '- Alte motoare de curent alternativ monofazate' },\n\t{ value: '85014020', label: '-- De o putere de maximum 750 W' },\n\t{ value: '85014080', label: '-- De o putere de peste 750 W' },\n\t{ value: '85015100', label: '- Alte motoare de curent alternativ multifazate' },\n\t{ value: '85015100', label: '-- De o putere de maximum 750 W' },\n\t{ value: '85015200', label: '-- De o putere de peste 750 W, dar de maximum 75 kW' },\n\t{ value: '85015220', label: '--- De o putere de peste 750 W, dar de maximum 7,5 kW' },\n\t{ value: '85015230', label: '--- De o putere de peste 7,5 kW, dar de maximum 37 kW' },\n\t{ value: '85015290', label: '--- De o putere de peste 37 kW, dar de maximum 75 kW' },\n\t{ value: '85015300', label: '-- De o putere de peste 75 kW' },\n\t{ value: '85015350', label: '--- Motoare de tracțiune' },\n\t{ value: '85015381', label: '--- Altele, de o putere' },\n\t{ value: '85015381', label: '---- De peste 75 kW, dar de maximum 375 kW' },\n\t{ value: '85015394', label: '---- De peste 375 kW, dar de maximum 750 kW' },\n\t{ value: '85015399', label: '---- De peste 750 kW' },\n\t{ value: '85016100', label: '- Generatoare electrice de curent alternativ (alternatoare), altele decât generatoarele fotovoltaice' },\n\t{ value: '85016100', label: '-- De o putere de maximum 75 kVA' },\n\t{ value: '85016120', label: '--- De o putere de maximum 7,5 kVA' },\n\t{ value: '85016180', label: '--- De o putere de peste 7,5 kVA, dar de maximum 75 kVA' },\n\t{ value: '85016200', label: '-- De o putere de peste 75 kVA, dar de maximum 375 kVA' },\n\t{ value: '85016300', label: '-- De o putere de peste 375 kVA, dar de maximum 750 kVA' },\n\t{ value: '85016400', label: '-- De o putere de peste 750 kVA' },\n\t{ value: '85017100', label: '- Generatoare fotovoltaice de curent continuu' },\n\t{ value: '85017100', label: '-- De o putere de maximum 50 W' },\n\t{ value: '85017200', label: '-- De o putere de peste 50 W' },\n\t{ value: '85018000', label: '- Generatoare fotovoltaice de curent alternativ' },\n\t{ value: '85020000', label: 'Grupuri electrogene și convertizoare rotative electrice' },\n\t{ value: '85021100', label: '- Grupuri electrogene cu motor cu piston cu aprindere prin compresie (motoare diesel sau semi-diesel)' },\n\t{ value: '85021100', label: '-- De o putere de maximum 75 kVA' },\n\t{ value: '85021120', label: '--- De maximum 7,5 kVA' },\n\t{ value: '85021180', label: '--- De peste 7,5 kVA, dar de maximum 75 kVA' },\n\t{ value: '85021200', label: '-- De o putere de peste 75 kVA, dar de maximum 375 kVA' },\n\t{ value: '85021300', label: '-- De o putere de peste 375 kVA' },\n\t{ value: '85021320', label: '--- De o putere de peste 375 kVA, dar de maximum 750 kVA' },\n\t{ value: '85021340', label: '--- De o putere de peste 750 kVA, dar de maximum 2 000 kVA' },\n\t{ value: '85021380', label: '--- De o putere de peste 2 000 kVA' },\n\t{ value: '85022000', label: '- Grupuri electrogene cu motor cu piston cu aprindere prin scânteie (motoare cu explozie)' },\n\t{ value: '85022020', label: '-- De o putere de maximum 7,5 kVA' },\n\t{ value: '85022040', label: '-- De o putere de peste 7,5 kVA, dar de maximum 375 kVA' },\n\t{ value: '85022060', label: '-- De o putere de peste 375 kVA, dar de maximum 750 kVA' },\n\t{ value: '85022080', label: '-- De o putere de peste 750 kVA' },\n\t{ value: '85023100', label: '- Alte grupuri electrogene' },\n\t{ value: '85023100', label: '-- Eoliene' },\n\t{ value: '85023900', label: '-- Altele' },\n\t{ value: '85023920', label: '--- Turbogeneratoare' },\n\t{ value: '85023980', label: '--- Altele' },\n\t{ value: '85024000', label: '- Convertizoare rotative electrice' },\n\t{ value: '85030000', label: 'Părți care pot fi recunoscute ca fiind destinate exclusiv sau în principal mașinilor de la pozițiile 8501 sau 8502' },\n\t{ value: '85030010', label: '- Frete nemagnetizate' },\n\t{ value: '85030091', label: '- Altele' },\n\t{ value: '85030091', label: '-- Turnate, din fontă, fier sau oțel' },\n\t{ value: '85030099', label: '-- Altele' },\n\t{ value: '85040000', label: 'Transformatoare electrice, convertizoare statice (de exemplu redresoare), bobine de reactanță și de inductanță' },\n\t{ value: '85041000', label: '- Balasturi pentru lămpi sau tuburi cu descărcare' },\n\t{ value: '85041020', label: '-- Bobine de reactanță, inclusiv cele cuplate cu un condensator' },\n\t{ value: '85041080', label: '-- Altele' },\n\t{ value: '85042100', label: '- Transformatoare cu dielectric lichid' },\n\t{ value: '85042100', label: '-- De o putere de maximum 650 kVA' },\n\t{ value: '85042200', label: '-- De o putere de peste 650 kVA, dar de maximum 10 000 kVA' },\n\t{ value: '85042210', label: '--- De o putere de peste 650 kVA, dar de maximum 1 600 kVA' },\n\t{ value: '85042290', label: '--- De o putere de peste 1 600 kVA, dar de maximum 10 000 kVA' },\n\t{ value: '85042300', label: '-- De o putere de peste 10 000 kVA' },\n\t{ value: '85043100', label: '- Alte transformatoare' },\n\t{ value: '85043100', label: '-- De o putere de maximum 1 kVA' },\n\t{ value: '85043121', label: '--- Transformatoare de măsură' },\n\t{ value: '85043121', label: '---- Pentru măsurarea tensiunii' },\n\t{ value: '85043129', label: '---- Altele' },\n\t{ value: '85043180', label: '--- Altele' },\n\t{ value: '85043200', label: '-- De o putere de peste 1 kVA, dar de maximum 16 kVA' },\n\t{ value: '85043300', label: '-- De o putere de peste 16 kVA, dar de maximum 500 kVA' },\n\t{ value: '85043400', label: '-- De o putere de peste 500 kVA' },\n\t{ value: '85044000', label: '- Convertizoare statice' },\n\t{ value: '85044030', label: '-- De tipul celor folosite la aparate de telecomunicații, maşini automate de prelucrare a datelor și unități ale acestora' },\n\t{ value: '85044055', label: '-- Altele' },\n\t{ value: '85044055', label: '--- Încărcătoare de acumulatoare' },\n\t{ value: '85044082', label: '--- Altele' },\n\t{ value: '85044082', label: '---- Redresoare' },\n\t{ value: '85044084', label: '---- Onduloare (invertoare)' },\n\t{ value: '85044084', label: '----- De o putere de maximum 7,5 kVA' },\n\t{ value: '85044088', label: '----- De o putere de peste 7,5 kVA' },\n\t{ value: '85044090', label: '---- Altele' },\n\t{ value: '85045000', label: '- Alte bobine de reactanță și de inductanță' },\n\t{ value: '85049000', label: '- Părți' },\n\t{ value: '85049011', label: '-- De transformatoare, bobine de reactanță și de inductanță' },\n\t{ value: '85049011', label: '--- Miezuri de ferită' },\n\t{ value: '85049013', label: '--- Laminate sau miezuri de oțel, inclusiv suprapuse sau înfășurate' },\n\t{ value: '85049017', label: '--- Altele' },\n\t{ value: '85049090', label: '-- De convertizoare statice' },\n\t{ value: '85050000', label: 'Electromagneți; magneți permanenți și articole destinate să devină magneți permanenți după magnetizare; platouri, mandrine și dispozitive magnetice sau electromagnetice similare pentru fixare; cuplaje, ambreiaje, schimbătoare de viteză și frâne electromagnetice; capete de ridicare electromagnetice' },\n\t{ value: '85051100', label: '- Magneți permanenți și articole destinate să devină magneți permanenți după magnetizare' },\n\t{ value: '85051100', label: '-- Din metal' },\n\t{ value: '85051900', label: '-- Altele' },\n\t{ value: '85051910', label: '--- Magneți permanenți din ferită aglomerată' },\n\t{ value: '85051990', label: '--- Altele' },\n\t{ value: '85052000', label: '- Cuplaje, ambreiaje, schimbătoare de viteză și frâne electromagnetice' },\n\t{ value: '85059000', label: '- Altele, inclusiv părți' },\n\t{ value: '85059021', label: '-- Electromagneți; platouri, mandrine și dispozitive magnetice sau electromagnetice similare pentru fixare' },\n\t{ value: '85059021', label: '--- Electromagneți de tipul celor utilizați numai sau în principal pentru aparatele de diagnostic cu vizualizare prin rezonanță magnetică, alții decât electromagneții de la poziția 9018' },\n\t{ value: '85059029', label: '--- Altele' },\n\t{ value: '85059050', label: '-- Capete de ridicare electromagnetice' },\n\t{ value: '85059090', label: '-- Părți' },\n\t{ value: '85060000', label: 'Pile și baterii de pile electrice' },\n\t{ value: '85061000', label: '- Cu bioxid de mangan' },\n\t{ value: '85061011', label: '-- Alcaline' },\n\t{ value: '85061011', label: '--- Pile cilindrice' },\n\t{ value: '85061018', label: '--- Altele' },\n\t{ value: '85061091', label: '-- Altele' },\n\t{ value: '85061091', label: '--- Pile cilindrice' },\n\t{ value: '85061098', label: '--- Altele' },\n\t{ value: '85063000', label: '- Cu oxid de mercur' },\n\t{ value: '85064000', label: '- Cu oxid de argint' },\n\t{ value: '85065000', label: '- Cu litiu' },\n\t{ value: '85065010', label: '-- Pile cilindrice' },\n\t{ value: '85065030', label: '-- Pile buton' },\n\t{ value: '85065090', label: '-- Altele' },\n\t{ value: '85066000', label: '- Cu aer-zinc' },\n\t{ value: '85068000', label: '- Alte pile și baterii de pile' },\n\t{ value: '85068005', label: '-- Baterii uscate cu zinc-carbon, cu tensiunea de minimum 5,5 V, dar de maximum 6,5 V' },\n\t{ value: '85068080', label: '-- Altele' },\n\t{ value: '85069000', label: '- Părți' },\n\t{ value: '85070000', label: 'Acumulatoare electrice, inclusiv separatoarele lor, chiar de formă pătrată sau dreptunghiulară' },\n\t{ value: '85071000', label: '- Cu plumb, de tipul celor utilizate pentru demararea motoarelor cu piston' },\n\t{ value: '85071020', label: '-- Care funcționează cu electrolit lichid' },\n\t{ value: '85071080', label: '-- Altele' },\n\t{ value: '85072000', label: '- Alte acumulatoare cu plumb' },\n\t{ value: '85072020', label: '-- Care funcționează cu electrolit lichid' },\n\t{ value: '85072080', label: '-- Altele' },\n\t{ value: '85073000', label: '- Cu nichel-cadmiu' },\n\t{ value: '85073020', label: '-- Închise ermetic' },\n\t{ value: '85073080', label: '-- Altele' },\n\t{ value: '85075000', label: '- Cu hidrură de nichel-metal' },\n\t{ value: '85076000', label: '- Cu ioni de litiu' },\n\t{ value: '85078000', label: '- Alte acumulatoare' },\n\t{ value: '85079000', label: '- Părți' },\n\t{ value: '85079030', label: '-- Separatoare' },\n\t{ value: '85079080', label: '-- Altele' },\n\t{ value: '85080000', label: 'Aspiratoare' },\n\t{ value: '85081100', label: '- Cu motor electric încorporat' },\n\t{ value: '85081100', label: '-- De o putere de maximum 1 500 W și având un sac pentru colectarea prafului sau un alt recipient de maximum 20 l' },\n\t{ value: '85081900', label: '-- Altele' },\n\t{ value: '85086000', label: '- Alte aspiratoare' },\n\t{ value: '85087000', label: '- Părți' },\n\t{ value: '85090000', label: 'Aparate electromecanice cu motor electric încorporat, de uz casnic, altele decât aspiratoarele de la poziția 8508' },\n\t{ value: '85094000', label: '- Aparate de tocat și amestecat alimente; storcătoare de fructe și de legume' },\n\t{ value: '85098000', label: '- Alte aparate' },\n\t{ value: '85099000', label: '- Părți' },\n\t{ value: '85100000', label: 'Mașini de ras, de tuns și mașini de epilat, cu motor electric încorporat' },\n\t{ value: '85101000', label: '- Mașini de ras' },\n\t{ value: '85102000', label: '- Mașini de tuns' },\n\t{ value: '85103000', label: '- Mașini de epilat' },\n\t{ value: '85109000', label: '- Părți' },\n\t{ value: '85110000', label: 'Aparate și dispozitive electrice de aprindere sau de pornire pentru motoare cu aprindere prin scânteie sau prin compresie (de exemplu, magnetouri, dinamuri-magnetou, bobine de aprindere, bujii de aprindere sau de încălzire, demaroare); generatoare (de exemplu, dinamuri, alternatoare) și conjunctoare-disjunctoare utilizate cu aceste motoare' },\n\t{ value: '85111000', label: '- Bujii de aprindere' },\n\t{ value: '85112000', label: '- Magnetouri; dinamuri-magnetou; volanți magnetici' },\n\t{ value: '85113000', label: '- Distribuitori; bobine de aprindere' },\n\t{ value: '85114000', label: '- Demaroare, chiar funcționând ca generatoare' },\n\t{ value: '85115000', label: '- Alte generatoare' },\n\t{ value: '85118000', label: '- Alte aparate și dispozitive' },\n\t{ value: '85119000', label: '- Părți' },\n\t{ value: '85120000', label: 'Aparate electrice de iluminat sau de semnalizare (cu excepția articolelor de la poziția 8539), ștergătoare de parbriz, dispozitive antigivraj și de dezaburire, electrice, de tipul celor utilizate pentru biciclete, motociclete sau autovehicule' },\n\t{ value: '85121000', label: '- Aparate de iluminat sau de semnalizare vizuală de tipul celor utilizate pentru biciclete' },\n\t{ value: '85122000', label: '- Alte aparate de iluminat sau de semnalizare vizuală' },\n\t{ value: '85123000', label: '- Aparate de semnalizare acustică' },\n\t{ value: '85123010', label: '-- Avertizoare electrice antifurt de tipul utilizat pentru autovehicule' },\n\t{ value: '85123090', label: '-- Altele' },\n\t{ value: '85124000', label: '- Ștergătoare de parbriz, dispozitive antigivraj și dispozitive de dezaburire' },\n\t{ value: '85129000', label: '- Părți' },\n\t{ value: '85129010', label: '-- De aparate de la subpoziția 8512 30 10' },\n\t{ value: '85129090', label: '-- Altele' },\n\t{ value: '85130000', label: 'Lămpi electrice portabile, care funcționează cu ajutorul sursei proprii de energie (de exemplu, cu pile, cu acumulatoare, electromagnetice), altele decât aparatele de iluminat de la poziția 8512' },\n\t{ value: '85131000', label: '- Lămpi' },\n\t{ value: '85139000', label: '- Părți' },\n\t{ value: '85140000', label: 'Furnale și cuptoare electrice industriale sau de laborator, inclusiv cele care funcționează prin inducție sau prin pierderi prin dielectric; alte aparate industriale sau de laborator pentru tratament termic a materialelor, prin inducție sau prin pierderi prin dielectric' },\n\t{ value: '85141100', label: '- Furnale și cuptoare cu rezistență electrică (cu încălzire indirectă)' },\n\t{ value: '85141100', label: '-- Prese izostatice la cald' },\n\t{ value: '85141900', label: '-- Altele' },\n\t{ value: '85141910', label: '--- Cuptoare pentru brutărie, patiserie sau pentru biscuiți' },\n\t{ value: '85141980', label: '--- Altele' },\n\t{ value: '85142000', label: '- Furnale și cuptoare care funcționează prin inducție sau prin pierderi prin dielectric' },\n\t{ value: '85142010', label: '-- Care funcționează prin inducție' },\n\t{ value: '85142080', label: '-- Care funcționează prin pierderi prin dielectric' },\n\t{ value: '85143100', label: '- Alte furnale și cuptoare' },\n\t{ value: '85143100', label: '-- Cuptoare cu fascicule de electroni' },\n\t{ value: '85143110', label: '--- De tipul celor utilizate numai sau în principal pentru fabricarea circuitelor imprimate sau a ansamblelor de circuite' },\n\t{ value: '85143190', label: '--- Altele' },\n\t{ value: '85143200', label: '-- Cuptoare cu plasmă și cuptoare cu arc sub vid' },\n\t{ value: '85143210', label: '--- De tipul celor utilizate numai sau în principal pentru fabricarea circuitelor imprimate sau a ansamblelor de circuite' },\n\t{ value: '85143290', label: '--- Altele' },\n\t{ value: '85143900', label: '-- Altele' },\n\t{ value: '85143910', label: '--- De tipul celor utilizate numai sau în principal pentru fabricarea circuitelor imprimate sau a ansamblelor de circuite' },\n\t{ value: '85143990', label: '--- Altele' },\n\t{ value: '85144000', label: '- Alte aparate pentru tratamentul termic al materialelor, prin inducție sau prin pierderi prin dielectric' },\n\t{ value: '85149000', label: '- Părți' },\n\t{ value: '85149030', label: '-- De furnale și cuptoare de la subpozițiile 8514 31 10, 8514 32 10 sau 8514 39 10' },\n\t{ value: '85149070', label: '-- Altele' },\n\t{ value: '85150000', label: 'Mașini și aparate electrice pentru lipire sau sudare (chiar pentru tăiat, inclusiv cele cu gaz, încălzite electric) sau care funcționează cu laser sau cu alte fascicule de lumină sau de fotoni, cu ultrasunete, cu fascicule de electroni, cu impulsuri magnetice sau cu jet de plasmă; mașini și aparate electrice pentru pulverizarea la cald a metalelor sau a compuşilor metaloceramici' },\n\t{ value: '85151100', label: '- Mașini și aparate pentru lipirea tare sau moale' },\n\t{ value: '85151100', label: '-- Ciocane și pistoale de lipit' },\n\t{ value: '85151900', label: '-- Altele' },\n\t{ value: '85151910', label: '--- Mașini pentru lipire în valuri de tipul celor utilizate numai sau în principal pentru fabricarea ansamblelor de circuite imprimate' },\n\t{ value: '85151990', label: '--- Altele' },\n\t{ value: '85152100', label: '- Mașini și aparate pentru sudarea metalelor prin rezistență' },\n\t{ value: '85152100', label: '-- Complet sau parțial automatizate' },\n\t{ value: '85152900', label: '-- Altele' },\n\t{ value: '85153100', label: '- Mașini și aparate pentru sudarea metalelor cu arc electric sau cu jet de plasmă' },\n\t{ value: '85153100', label: '-- Complet sau parțial automatizate' },\n\t{ value: '85153900', label: '-- Altele' },\n\t{ value: '85153913', label: '--- Manuale, cu electrozi înveliți, cuprinzând dispozitivele de sudare și' },\n\t{ value: '85153913', label: '---- Un transformator' },\n\t{ value: '85153918', label: '---- Un generator sau un convertizor rotativ sau un convertizor static sau un redresor' },\n\t{ value: '85153990', label: '--- Altele' },\n\t{ value: '85158000', label: '- Alte mașini și aparate' },\n\t{ value: '85158010', label: '-- Pentru tratamentul metalelor' },\n\t{ value: '85158090', label: '-- Altele' },\n\t{ value: '85159000', label: '- Părți' },\n\t{ value: '85159020', label: '-- De mașini pentru lipire în valuri de la subpoziția 8515 19 10' },\n\t{ value: '85159080', label: '-- Altele' },\n\t{ value: '85160000', label: 'Încălzitoare de apă, instantanee sau cu stocare și termoplonjoare electrice; aparate electrice pentru încălzirea încăperilor, a solului sau pentru utilizări similare; aparate electrotermice pentru coafură (de exemplu, uscătoare de păr, căști pentru coafură, ondulatoare) sau pentru uscarea mâinilor; fiare electrice de călcat; alte aparate electrotermice pentru uz casnic; rezistențe încălzitoare, altele decât cele de la poziția 8545' },\n\t{ value: '85161000', label: '- Încălzitoare de apă și termoplonjoare electrice' },\n\t{ value: '85161011', label: '-- Instantanee' },\n\t{ value: '85161080', label: '-- Altele' },\n\t{ value: '85162100', label: '- Aparate electrice pentru încălzirea încăperilor, a podelelor sau pentru utilizări similare' },\n\t{ value: '85162100', label: '-- Radiatoare cu acumulare de căldură' },\n\t{ value: '85162900', label: '-- Altele' },\n\t{ value: '85162910', label: '--- Radiatoare care funcționează prin circulaţia unui lichid' },\n\t{ value: '85162950', label: '--- Radiatoare care funcționează prin convecție' },\n\t{ value: '85162991', label: '--- Altele' },\n\t{ value: '85162991', label: '---- Cu ventilator încorporat' },\n\t{ value: '85162999', label: '---- Altele' },\n\t{ value: '85163100', label: '- Aparate electrotermice pentru coafură sau pentru uscarea mâinilor' },\n\t{ value: '85163100', label: '-- Uscătoare de păr' },\n\t{ value: '85163200', label: '-- Alte aparate pentru coafură' },\n\t{ value: '85163300', label: '-- Aparate pentru uscarea mâinilor' },\n\t{ value: '85164000', label: '- Fiare electrice de călcat' },\n\t{ value: '85165000', label: '- Cuptoare cu microunde' },\n\t{ value: '85166000', label: '- Alte cuptoare, mașini de gătit, reșouri (inclusiv plitele de gătit), grătare și rotisoare' },\n\t{ value: '85166010', label: '-- Mașini de gătit' },\n\t{ value: '85166050', label: '-- Reșouri (inclusiv plitele de gătit)' },\n\t{ value: '85166070', label: '-- Grătare și rotisoare' },\n\t{ value: '85166080', label: '-- Cuptoare pentru a fi încastrate' },\n\t{ value: '85166090', label: '-- Altele' },\n\t{ value: '85167100', label: '- Alte aparate electrotermice' },\n\t{ value: '85167100', label: '-- Aparate pentru prepararea cafelei sau a ceaiului' },\n\t{ value: '85167200', label: '-- Prăjitoare de pâine' },\n\t{ value: '85167900', label: '-- Altele' },\n\t{ value: '85167920', label: '--- Friteuze' },\n\t{ value: '85167970', label: '--- Altele' },\n\t{ value: '85168000', label: '- Rezistențe electrice încălzitoare' },\n\t{ value: '85168020', label: '-- Montate pe un suport simplu din material izolant' },\n\t{ value: '85168080', label: '-- Altele' },\n\t{ value: '85169000', label: '- Părți' },\n\t{ value: '85170000', label: 'Aparate telefonice pentru beneficiari, inclusiv telefoanele inteligente și alte aparate telefonice pentru rețeaua de telefonie mobilă și pentru alte rețele fără fir; alte aparate pentru transmisia sau recepția vocii, a imaginii sau a altor date, inclusiv aparatele pentru comunicație, în rețele cu sau fără fir (cum ar fi o rețea locală sau o rețea de mare suprafață), altele decât aparatele de transmisie sau recepție de la pozițiile 8443, 8525, 8527 sau 8528' },\n\t{ value: '85171100', label: '- Aparate telefonice pentru beneficiari, inclusiv telefoanele inteligente și alte aparate telefonice pentru rețeaua de telefonie mobilă și pentru alte rețele fără fir' },\n\t{ value: '85171100', label: '-- Aparate telefonice pentru beneficiari, pentru telefonie prin fir, cu receptor fără fir' },\n\t{ value: '85171300', label: '-- Telefoane inteligente' },\n\t{ value: '85171400', label: '-- Alte aparate telefonice pentru rețeaua de telefonie mobilă și pentru alte rețele fără fir' },\n\t{ value: '85171800', label: '-- Altele' },\n\t{ value: '85176100', label: '- Alte aparate pentru transmisia sau recepția vocii, a imaginii sau a altor date, inclusiv aparatele pentru comunicație, în rețele cu sau fără fir (cum ar fi o rețea locală sau o rețea de mare suprafață)' },\n\t{ value: '85176100', label: '-- Stații de bază' },\n\t{ value: '85176200', label: '-- Aparate pentru recepția, conversia și transmisia sau regenerarea vocii, a imaginii sau a altor date, inclusiv aparatele pentru comutare (switch) și rutare (router)' },\n\t{ value: '85176900', label: '-- Altele' },\n\t{ value: '85176910', label: '--- Videofoane' },\n\t{ value: '85176920', label: '--- Interfoane' },\n\t{ value: '85176930', label: '--- Aparate receptoare pentru radiotelefonie sau radiotelegrafie' },\n\t{ value: '85176990', label: '--- Altele' },\n\t{ value: '85177100', label: '- Părți' },\n\t{ value: '85177100', label: '-- Antene și reflectoare de antene de toate tipurile; părți care se utilizează împreună cu aceste articole' },\n\t{ value: '85177900', label: '-- Altele' },\n\t{ value: '85180000', label: 'Microfoane și suporturile lor; difuzoare, chiar montate în carcasele lor; căști de ascultare, care se pun pe cap sau care se introduc în ureche, chiar combinate cu un microfon, ansambluri sau seturi formate dintr-un microfon și unul sau mai multe difuzoare; amplificatoare electrice de audiofrecvență; seturi de aparate electrice de amplificare a sunetului' },\n\t{ value: '85181000', label: '- Microfoane și suporturile lor' },\n\t{ value: '85182100', label: '- Difuzoare chiar montate în carcasă' },\n\t{ value: '85182100', label: '-- Difuzoare individuale montate în carcasă' },\n\t{ value: '85182200', label: '-- Difuzoare multiple montate în aceeași carcasă' },\n\t{ value: '85182900', label: '-- Altele' },\n\t{ value: '85183000', label: '- Căști de ascultare, care se pun pe cap sau care se introduc în ureche, chiar combinate cu un microfon, ansambluri sau seturi formate dintr-un microfon și unul sau mai multe difuzoare' },\n\t{ value: '85184000', label: '- Amplificatoare electrice de audiofrecvență' },\n\t{ value: '85185000', label: '- Seturi de aparate electrice de amplificare a sunetului' },\n\t{ value: '85189000', label: '- Părți' },\n\t{ value: '85190000', label: 'Aparate de înregistrare a sunetului; aparate de reproducere a sunetului; aparate de înregistrare și reproducere a sunetului' },\n\t{ value: '85192000', label: '- Aparate care funcționează prin introducerea unei monede, a unei bancnote, a unui card bancar, a unui jeton sau a altor mijloace de plată' },\n\t{ value: '85192010', label: '-- Tonomate (\"record players\") care funcționează prin introducerea unei monede sau a unei fise' },\n\t{ value: '85192091', label: '-- Altele' },\n\t{ value: '85192091', label: '--- Cu sistem optic de citire prin fascicul laser' },\n\t{ value: '85192099', label: '--- Altele' },\n\t{ value: '85193000', label: '- Pick-upuri (care nu sunt prevăzute cu amplificatoare electrice de audiofrecvență), patefoane și gramofoane' },\n\t{ value: '85198100', label: '- Alte aparate' },\n\t{ value: '85198100', label: '-- Care utilizează un suport magnetic, optic sau cu semiconductori' },\n\t{ value: '85198900', label: '-- Altele' },\n\t{ value: '85210000', label: 'Aparate de înregistrare sau de reproducere videofonică, chiar încorporând un aparat receptor de semnale videofonice' },\n\t{ value: '85211000', label: '- Cu bandă magnetică' },\n\t{ value: '85211020', label: '-- De o lățime de maximum 1,3 cm și a căror viteză de rulare este de maximum 50 mm pe secundă' },\n\t{ value: '85211095', label: '-- Altele' },\n\t{ value: '85219000', label: '- Altele' },\n\t{ value: '85220000', label: 'Părți și accesorii care pot fi recunoscute ca fiind destinate exclusiv sau în principal aparatelor de la poziția 8519 sau 8521' },\n\t{ value: '85221000', label: '- Doze de pick-up' },\n\t{ value: '85229000', label: '- Altele' },\n\t{ value: '85230000', label: 'Discuri, benzi, dispozitive de stocare remanentă a datelor pe bază de semiconductori, \"cartele inteligente\" și alte suporturi pentru înregistrarea sunetului sau pentru înregistrări similare, chiar înregistrate, inclusiv matrițele și formele galvanizate pentru fabricarea discurilor, altele decât produsele de la capitolul 37' },\n\t{ value: '85232100', label: '- Suporturi magnetice' },\n\t{ value: '85232100', label: '-- Cartele prevăzute cu o bandă magnetică' },\n\t{ value: '85232900', label: '-- Altele' },\n\t{ value: '85232915', label: '--- Benzi magnetice, discuri magnetice' },\n\t{ value: '85232915', label: '---- Neînregistrate' },\n\t{ value: '85232919', label: '---- Altele' },\n\t{ value: '85232990', label: '--- Altele' },\n\t{ value: '85234100', label: '- Suporturi optice' },\n\t{ value: '85234100', label: '-- Neînregistrate' },\n\t{ value: '85234110', label: '--- Discuri pentru sisteme de citire prin fascicul laser cu capacitatea de înregistrare de maximum 900 megaocteți, altele decât cele care pot fi șterse' },\n\t{ value: '85234130', label: '--- Discuri pentru sisteme de citire prin fascicul laser cu capacitatea de înregistrare de peste 900 megaocteți dar de maximum 18 gigaocteți, altele decât cele care pot fi șterse' },\n\t{ value: '85234190', label: '--- Altele' },\n\t{ value: '85234900', label: '-- Altele' },\n\t{ value: '85234910', label: '--- Discuri pentru sisteme de citire prin fascicul laser' },\n\t{ value: '85234910', label: '---- Discuri digitale versatile (DVD)' },\n\t{ value: '85234920', label: '---- Altele' },\n\t{ value: '85234990', label: '--- Altele' },\n\t{ value: '85235100', label: '- Medii de stocare a datelor, cu semiconductoare' },\n\t{ value: '85235100', label: '-- Dispozitive de stocare nevolatilă a datelor pe bază de semiconductoare' },\n\t{ value: '85235110', label: '--- Neînregistrate' },\n\t{ value: '85235190', label: '--- Altele' },\n\t{ value: '85235200', label: '-- \"Cartele inteligente\"' },\n\t{ value: '85235900', label: '-- Altele' },\n\t{ value: '85235910', label: '--- Neînregistrate' },\n\t{ value: '85235990', label: '--- Altele' },\n\t{ value: '85238000', label: '- Altele' },\n\t{ value: '85238010', label: '-- Neînregistrate' },\n\t{ value: '85238090', label: '-- Altele' },\n\t{ value: '85240000', label: 'Module de afișare cu ecran plat, cu sau fără ecrane tactile încorporate' },\n\t{ value: '85241100', label: '- Fără drivere sau circuite de comandă' },\n\t{ value: '85241100', label: '-- Cu cristale lichide' },\n\t{ value: '85241200', label: '-- Cu diode electroluminiscente organice (OLED)' },\n\t{ value: '85241900', label: '-- Altele' },\n\t{ value: '85249100', label: '- Altele' },\n\t{ value: '85249100', label: '-- Cu cristale lichide' },\n\t{ value: '85249200', label: '-- Cu diode electroluminiscente organice (OLED)' },\n\t{ value: '85249900', label: '-- Altele' },\n\t{ value: '85250000', label: 'Aparate de emisie pentru radiodifuziune sau televiziune, chiar încorporând un aparat de recepție sau un aparat de înregistrare sau de reproducere a sunetului; camere de televiziune, aparate fotografice digitale și camere video cu înregistrare' },\n\t{ value: '85255000', label: '- Aparate de emisie' },\n\t{ value: '85256000', label: '- Aparate de emisie care încorporează un aparat de recepție' },\n\t{ value: '85258100', label: '- Camere de televiziune, aparate fotografice digitale și camere video cu înregistrare' },\n\t{ value: '85258100', label: '-- Produse ultrarapide, menționate în nota de subpoziții 1 din prezentul capitol' },\n\t{ value: '85258200', label: '-- Altele, rezistente la radiații, menționate în nota de subpoziții 2 din prezentul capitol' },\n\t{ value: '85258300', label: '-- Altele, cu vedere nocturnă, menționate în nota de subpoziții 3 din prezentul capitol' },\n\t{ value: '85258900', label: '-- Altele' },\n\t{ value: '85260000', label: 'Aparate de radiodetecție și de radiosondaj (radar), aparate de radionavigație și aparate de radiotelecomandă' },\n\t{ value: '85261000', label: '- Aparate de radiodetecție și de radiosondaj (radar)' },\n\t{ value: '85269100', label: '- Altele' },\n\t{ value: '85269100', label: '-- Aparate de radionavigație' },\n\t{ value: '85269120', label: '--- Receptoare de radionavigație' },\n\t{ value: '85269180', label: '--- Altele' },\n\t{ value: '85269200', label: '-- Aparate de radiotelecomandă' },\n\t{ value: '85270000', label: 'Aparate de recepție pentru radiodifuziune, chiar combinate, în același corp, cu un aparat de înregistrare sau de reproducere a sunetului sau cu un ceas' },\n\t{ value: '85271200', label: '- Aparate receptoare de radiodifuziune care pot să funcționeze fără o sursă de energie exterioară' },\n\t{ value: '85271200', label: '-- Radiocasetofoane de buzunar' },\n\t{ value: '85271300', label: '-- Alte aparate combinate cu un aparat de înregistrare sau de reproducere a sunetului' },\n\t{ value: '85271900', label: '-- Altele' },\n\t{ value: '85272100', label: '- Aparate de recepție de radiodifuziune care nu pot funcționa decât cu o sursă de energie exterioară, de tipul celor utilizate la automobile' },\n\t{ value: '85272100', label: '-- Combinate cu un aparat de înregistrare sau de reproducere a sunetului' },\n\t{ value: '85272120', label: '--- Capabile să recepționeze și să decodifice semnalele RDS (sistem de transmitere digitală a informațiilor prin intermediul undelor radio)' },\n\t{ value: '85272120', label: '---- Cu sistem de citire prin fascicol laser' },\n\t{ value: '85272152', label: '---- Altele' },\n\t{ value: '85272152', label: '----- Cu casetă și sistem de citire analog sau digital' },\n\t{ value: '85272159', label: '----- Altele' },\n\t{ value: '85272170', label: '--- Altele' },\n\t{ value: '85272170', label: '---- Cu sistem de citire prin fascicol laser' },\n\t{ value: '85272192', label: '---- Altele' },\n\t{ value: '85272192', label: '----- Cu casetă și sistem de citire analog sau digital' },\n\t{ value: '85272198', label: '----- Altele' },\n\t{ value: '85272900', label: '-- Altele' },\n\t{ value: '85279100', label: '- Altele' },\n\t{ value: '85279100', label: '-- Combinate cu un aparat de înregistrare sau de reproducere a sunetului' },\n\t{ value: '85279200', label: '-- Necombinate cu un aparat de înregistrare sau de reproducere a sunetului, dar combinate cu un ceas' },\n\t{ value: '85279900', label: '-- Altele' },\n\t{ value: '85280000', label: 'Monitoare și proiectoare, care nu încorporează un aparat receptor de televiziune; aparate receptoare de televiziune chiar încorporând un aparat receptor de radiodifuziune sau un aparat de înregistrare sau de reproducere a sunetului sau a imaginilor' },\n\t{ value: '85284200', label: '- Monitoare cu tub catodic' },\n\t{ value: '85284200', label: '-- Capabile de o legătură directă cu o mașină automată de prelucrare a datelor de la poziția 8471 și destinate să fie folosite cu o asemenea mașină' },\n\t{ value: '85284900', label: '-- Altele' },\n\t{ value: '85285200', label: '- Alte monitoare' },\n\t{ value: '85285200', label: '-- Capabile de o legătură directă cu o mașină automată de prelucrare a datelor de la poziția 8471 și destinate să fie folosite cu o asemenea mașină' },\n\t{ value: '85285210', label: '--- De tipul exclusiv sau în principal destinat unei mașini automate de prelucrarea datelor de la poziția 8471' },\n\t{ value: '85285291', label: '--- Altele' },\n\t{ value: '85285291', label: '---- Cu tehnologia ecranului cu cristale lichide (LCD)' },\n\t{ value: '85285299', label: '---- Altele' },\n\t{ value: '85285900', label: '-- Altele' },\n\t{ value: '85286200', label: '- Proiectoare' },\n\t{ value: '85286200', label: '-- Capabile de o legătură directă cu o mașină automată de prelucrare a datelor de la poziția 8471 și destinate să fie folosite cu o asemenea mașină' },\n\t{ value: '85286900', label: '-- Altele' },\n\t{ value: '85286920', label: '--- Monocrome' },\n\t{ value: '85286980', label: '--- Altele' },\n\t{ value: '85287100', label: '- Aparate receptoare de televiziune chiar încorporând un aparat receptor de radiodifuziune sau un aparat de înregistrare sau de reproducere a sunetului sau a imaginilor' },\n\t{ value: '85287100', label: '-- Neconcepute pentru a încorpora un dispozitiv de afișare sau un ecran video' },\n\t{ value: '85287111', label: '--- Aparate receptoare de semnale videofonice (tunere)' },\n\t{ value: '85287111', label: '---- Subansamble electronice pentru a fi încorporate în mașinile automate de prelucrare a datelor' },\n\t{ value: '85287115', label: '---- Aparate cuprinzând un dispozitiv cu microprocesor având încorporat un modem pentru acces la Internet și asigurând o funcție de schimb de informații interactiv, capabil de a recepționa semnale de televiziune (\"decodoare cu funcție de comunicare\", inclusiv cele care cuprind un dispozitiv cu funcție de înregistrare sau reproducere, cu condiția ca acestea să își păstreze caracterul esențial de decodor cu funcție de comunicare)' },\n\t{ value: '85287119', label: '---- Altele' },\n\t{ value: '85287191', label: '--- Altele' },\n\t{ value: '85287191', label: '---- Aparate cuprinzând un dispozitiv cu microprocesor având încorporat un modem pentru acces la Internet și asigurând o funcție de schimb de informații interactiv, capabil de a recepționa semnale de televiziune (\"decodoare cu funcție de comunicare\", inclusiv cele care cuprind un dispozitiv cu funcție de înregistrare sau reproducere, cu condiția ca acestea să își păstreze caracterul esențial de decodor cu funcție de comunicare)' },\n\t{ value: '85287199', label: '---- Altele' },\n\t{ value: '85287200', label: '-- Altele, în culori' },\n\t{ value: '85287210', label: '--- Teleproiectoare' },\n\t{ value: '85287220', label: '--- Aparate combinate în aceeași carcasă cu un aparat de înregistrare sau de reproducere videofonică' },\n\t{ value: '85287230', label: '--- Alte' },\n\t{ value: '85287230', label: '---- Cu tub de imagine încorporat' },\n\t{ value: '85287240', label: '---- Cu tehnologia ecranului cu cristale lichide (LCD)' },\n\t{ value: '85287260', label: '---- Cu tehnologia ecranului cu plasmă (PDP)' },\n\t{ value: '85287280', label: '---- Altele' },\n\t{ value: '85287300', label: '-- Altele, monocrome' },\n\t{ value: '85290000', label: 'Părți care pot fi recunoscute ca fiind destinate exclusiv sau în principal aparatelor de la pozițiile 8524-8528' },\n\t{ value: '85291000', label: '- Antene și reflectoare de antene de toate tipurile; părți care se utilizează împreună cu aceste articole' },\n\t{ value: '85291011', label: '-- Antene' },\n\t{ value: '85291011', label: '--- Antene telescopice și de tip vergea pentru aparate portabile și aparate pentru automobile' },\n\t{ value: '85291030', label: '--- Antene de exterior pentru aparate receptoare de radiodifuziune și de televiziune' },\n\t{ value: '85291065', label: '--- Antene de exterior pentru aparate receptoare de radiodifuziune și de televiziune' },\n\t{ value: '85291069', label: '--- Altele' },\n\t{ value: '85291080', label: '-- Filtre și separatoare de antene' },\n\t{ value: '85291095', label: '-- Altele' },\n\t{ value: '85299000', label: '- Altele' },\n\t{ value: '85299015', label: '-- Module de diode organice emițătoare de lumină și panouri de diode organice emițătoare de lumină pentru aparatele de la poziția 8528 72 sau 8528 73' },\n\t{ value: '85299018', label: '-- Altele' },\n\t{ value: '85299018', label: '--- de articole de la subpozițiile 8524 11 00 și 8524 91 00' },\n\t{ value: '85299020', label: '--- de aparate fotografice digitale care se încadrează la subpozițiile 8525 81 00, 8525 82 00, 8525 83 00 și 8525 89 00; de aparate de la subpozițiile 8525 60 00, 8528 42 00, 8528 52 10 și 8528 62 00' },\n\t{ value: '85299040', label: '--- Altele' },\n\t{ value: '85299040', label: '---- Cutii și carcase' },\n\t{ value: '85299065', label: '---- Subansamble electronice' },\n\t{ value: '85299091', label: '---- Altele' },\n\t{ value: '85299091', label: '----- Module pentru iluminatul de fundal cu diode electroluminiscente (LED),care sunt surse de iluminat formate dintr-unul sau mai multe LED-uri, unul sau mai mulți conectori și alte componente pasive și care sunt montate pe un circuit imprimat sau pe un alt substrat similar, chiar combinate cu diode de protecție sau componente optice, și care sunt utilizate pentru iluminatul de fundal al dispozitivelor de afișare cu cristale lichide (LCD-uri)' },\n\t{ value: '85299092', label: '----- Altele' },\n\t{ value: '85299092', label: '------ Pentru camerele de televiziune de la subpozițiile 8525 81, 8525 82, 8525 83 și 8525 89 și aparatele de la pozițiile 8527 și 8528' },\n\t{ value: '85299097', label: '------ Altele' },\n\t{ value: '85300000', label: 'Aparate electrice de semnalizare (altele decât cele pentru transmiterea de mesaje), de securitate, de control sau de comandă pentru căile ferate sau similare, pentru căile rutiere, fluviale, aeriene sau locuri de parcare, instalații portuare sau aeroporturi (altele decât cele de la poziția 8608)' },\n\t{ value: '85301000', label: '- Aparatele pentru căile ferate sau similare' },\n\t{ value: '85308000', label: '- Alte aparate' },\n\t{ value: '85309000', label: '- Părți' },\n\t{ value: '85310000', label: 'Aparate electrice de semnalizare acustică sau vizuală (de exemplu, sonerii, sirene, tablouri de avertizare, alarme antifurt sau împotriva incendiilor) altele decât cele de la pozițiile 8512 sau 8530' },\n\t{ value: '85311000', label: '- Alarme antifurt sau împotriva incendiilor și aparate similare' },\n\t{ value: '85311030', label: '-- De tipul celor utilizate pentru clădiri' },\n\t{ value: '85311095', label: '-- Altele' },\n\t{ value: '85312000', label: '- Tablouri de avertizare care încorporează dispozitive cu cristale lichide (LCD) sau cu diode emițătoare de lumină (LED)' },\n\t{ value: '85312020', label: '-- Cu diode emițătoare de lumină (LED)' },\n\t{ value: '85312040', label: '-- Care încorporează dispozitive cu cristale lichide (LCD)' },\n\t{ value: '85312040', label: '--- Care încorporează o matrice activă de dispozitive cu cristale lichide (LCD)' },\n\t{ value: '85312095', label: '--- Altele' },\n\t{ value: '85318000', label: '- Alte aparate' },\n\t{ value: '85318040', label: '-- Sonerii, buzere, mecanisme de sonerie și similare' },\n\t{ value: '85318070', label: '-- Altele' },\n\t{ value: '85319000', label: '- Părți' },\n\t{ value: '85320000', label: 'Condensatoare electrice, fixe, variabile sau reglabile' },\n\t{ value: '85321000', label: '- Condensatoare fixe destinate rețelelor electrice de 50/60 Hz, cu o putere reactivă de minimum 0,5 kvar (condensatoare de putere)' },\n\t{ value: '85322100', label: '- Alte condensatoare fixe' },\n\t{ value: '85322100', label: '-- Cu tantal' },\n\t{ value: '85322200', label: '-- Electrolitice cu aluminiu' },\n\t{ value: '85322300', label: '-- Cu dielectric din ceramică, cu un singur strat' },\n\t{ value: '85322400', label: '-- Cu dielectric din ceramică, cu mai multe straturi' },\n\t{ value: '85322500', label: '-- Cu dielectric din hârtie sau din material plastic' },\n\t{ value: '85322900', label: '-- Altele' },\n\t{ value: '85323000', label: '- Condensatoare variabile sau ajustabile (semireglabile)' },\n\t{ value: '85329000', label: '- Părți' },\n\t{ value: '85330000', label: 'Rezistori electrici (inclusiv reostate și potențiometre) altele decât cele pentru încălzit' },\n\t{ value: '85331000', label: '- Rezistori ficși cu carbon, aglomerati sau în strat' },\n\t{ value: '85332100', label: '- Alti rezistori ficși' },\n\t{ value: '85332100', label: '-- Pentru o putere absorbită de maximum 20 W' },\n\t{ value: '85332900', label: '-- Altele' },\n\t{ value: '85333100', label: '- Rezistori variabili (inclusiv reostate și potențiometre) bobinați' },\n\t{ value: '85333100', label: '-- Pentru o putere de maximum 20 W' },\n\t{ value: '85333900', label: '-- Altele' },\n\t{ value: '85334000', label: '- Alti rezistori variabili (inclusiv reostate și potențiometre)' },\n\t{ value: '85334010', label: '-- Pentru o putere absorbită de maximum 20 W' },\n\t{ value: '85334090', label: '-- Altele' },\n\t{ value: '85339000', label: '- Părți' },\n\t{ value: '85340000', label: 'Circuite imprimate' },\n\t{ value: '85340011', label: '- Care nu conțin decât elemente conductoare și de contact' },\n\t{ value: '85340011', label: '-- Circuite multistrat' },\n\t{ value: '85340019', label: '-- Altele' },\n\t{ value: '85340090', label: '- Care conțin alte elemente pasive' },\n\t{ value: '85350000', label: 'Aparatură pentru comutarea, tăierea, protecția, branșarea, racordarea sau conectarea circuitelor electrice (de exemplu întrerupătoare, comutatoare, siguranțe, eclatoare pentru paratrăsnete, limitatoare de tensiune, regulatoare de undă, prize de curent și alți conectori, cutii de joncțiune sau doze de legătură), pentru o tensiune peste 1 000 de volți' },\n\t{ value: '85351000', label: '- Siguranțe și întrerupătoare cu elemente fuzibile' },\n\t{ value: '85352100', label: '- Disjunctoare' },\n\t{ value: '85352100', label: '-- Pentru o tensiune sub 72,5 kV' },\n\t{ value: '85352900', label: '-- Altele' },\n\t{ value: '85353000', label: '- Separatoare și întrerupătoare' },\n\t{ value: '85353010', label: '-- Pentru o tensiune sub 72,5 kV' },\n\t{ value: '85353090', label: '-- Altele' },\n\t{ value: '85354000', label: '- Paratrăsnete, limitatoare de tensiune și regulatoare de undă' },\n\t{ value: '85359000', label: '- Altele' },\n\t{ value: '85360000', label: 'Aparatură pentru comutarea, tăierea, protecția, branșarea, racordarea sau conectarea circuitelor electrice (de exemplu întrerupătoare, comutatoare, relee, siguranțe, regulatoare de undă, fișe, prize de curent, dulii pentru lămpi și alți conectori, cutii de joncțiune), pentru o tensiune de maximum 1 000 de volți; conectori pentru fibre optice, fascicole sau cabluri de fibre optice' },\n\t{ value: '85361000', label: '- Siguranțe și întrerupătoare cu elemente fuzibile' },\n\t{ value: '85361010', label: '-- Pentru o intensitate a curentului de maximum 10 A' },\n\t{ value: '85361050', label: '-- Pentru o intensitate a curentului de peste 10 A, dar de maximum 63 A' },\n\t{ value: '85361090', label: '-- Pentru o intensitate a curentului de peste 63 A' },\n\t{ value: '85362000', label: '- Disjunctoare' },\n\t{ value: '85362010', label: '-- Pentru o intensitate a curentului de maximum 63 A' },\n\t{ value: '85362090', label: '-- Pentru o intensitate a curentului de peste 63 A' },\n\t{ value: '85363000', label: '- Alte aparate pentru protecția circuitelor electrice' },\n\t{ value: '85363010', label: '-- Pentru o intensitate a curentului de maximum 16 A' },\n\t{ value: '85363030', label: '-- Pentru o intensitate a curentului de peste 16 A, dar de maximum 125 A' },\n\t{ value: '85363090', label: '-- Pentru o intensitate a curentului de peste 125 A' },\n\t{ value: '85364100', label: '- Relee' },\n\t{ value: '85364100', label: '-- Pentru o tensiune de maximum 60 V' },\n\t{ value: '85364110', label: '--- Pentru o intensitate de maximum 2 A' },\n\t{ value: '85364190', label: '--- Pentru o intensitate peste 2 A' },\n\t{ value: '85364900', label: '-- Altele' },\n\t{ value: '85365000', label: '- Alte întrerupătoare, separatoare și comutatoare' },\n\t{ value: '85365003', label: '-- Întrerupătoare de curent alternativ care constau din circuite de intrare și de ieșire cuplate optic (întrerupătoare de curent alternativ cu tiristor izolat)' },\n\t{ value: '85365005', label: '-- Întrerupătoare electronice, inclusiv întrerupătoare electronice izolate termic, care constau dintr-un tranzistor și un circuit logic (tehnologie chip-on-chip)' },\n\t{ value: '85365007', label: '-- Întrerupătoare electromecanice cu acționare bruscă pentru current electric de maximum 11 A' },\n\t{ value: '85365011', label: '-- Altele' },\n\t{ value: '85365011', label: '--- Pentru o tensiune de maximum 60 V' },\n\t{ value: '85365011', label: '---- Cu clapă sau buton' },\n\t{ value: '85365015', label: '---- Rotative' },\n\t{ value: '85365019', label: '---- Altele' },\n\t{ value: '85365080', label: '--- Altele' },\n\t{ value: '85366100', label: '- Dulii pentru lămpi, fișe și prize de curent' },\n\t{ value: '85366100', label: '-- Dulii pentru lămpi' },\n\t{ value: '85366110', label: '--- Dulii Edison' },\n\t{ value: '85366190', label: '--- Altele' },\n\t{ value: '85366900', label: '-- Altele' },\n\t{ value: '85366910', label: '--- Pentru cabluri coaxiale' },\n\t{ value: '85366930', label: '--- Pentru circuite imprimate' },\n\t{ value: '85366990', label: '--- Altele' },\n\t{ value: '85367000', label: '- Conectori pentru fibre optice, fascicole sau cabluri de fibre optice' },\n\t{ value: '85369000', label: '- Alte aparate' },\n\t{ value: '85369001', label: '-- Elemente prefabricate pentru trasee electrice' },\n\t{ value: '85369010', label: '-- Conexiuni și elemente de contact pentru fire și cabluri' },\n\t{ value: '85369040', label: '-- Cleme de baterie de tipul celor utilizate pentru autovehiculele de la poziția 8702, 8703, 8704, sau 8711' },\n\t{ value: '85369095', label: '-- Altele' },\n\t{ value: '85370000', label: 'Tablouri, panouri, console, pupitre, dulapuri și alte suporturi echipate cu mai multe aparate de la pozițiile 8535 sau 8536, pentru comanda sau distribuirea electricității, inclusiv cele care încorporează instrumente sau aparate de la capitolul 90, precum și aparatele cu comandă numerică, altele decât aparatele de comutare de la poziția 8517' },\n\t{ value: '85371000', label: '- Pentru o tensiune de maximum 1 000 V' },\n\t{ value: '85371010', label: '-- Panouri de comandă numerică care încorporează o mașină automată de prelucrare a datelor' },\n\t{ value: '85371091', label: '-- Altele' },\n\t{ value: '85371091', label: '--- Aparate de comandă cu memorie programabilă' },\n\t{ value: '85371095', label: '--- Dispozitive tactile de introducere a datelor (așa-numite ecrane tactile) fără capacități de afișare, pentru a fi incorporate în aparate care au afișaj, care funcționează prin detectarea prezenței și prin atingerea zonei de afișare' },\n\t{ value: '85371098', label: '--- Altele' },\n\t{ value: '85372000', label: '- Pentru o tensiune peste 1 000 V' },\n\t{ value: '85372091', label: '-- Pentru o tensiune peste 1 000 V, dar de maximum 72,5 kV' },\n\t{ value: '85372099', label: '-- Pentru o tensiune peste 72,5 kV' },\n\t{ value: '85380000', label: 'Părți destinate exclusiv sau în principal aparatelor de la pozițiile 8535, 8536 sau 8537' },\n\t{ value: '85381000', label: '- Tablouri, panouri, console, pupitre, dulapuri și alte suporturi de la poziția 8537, neechipate cu aparatele lor' },\n\t{ value: '85389000', label: '- Altele' },\n\t{ value: '85389011', label: '-- Pentru aparatele de verificare a discurilor de semiconductoare (wafers)' },\n\t{ value: '85389011', label: '--- Subansamble electronice' },\n\t{ value: '85389019', label: '--- Altele' },\n\t{ value: '85389091', label: '-- Altele' },\n\t{ value: '85389091', label: '--- Subansamble electronice' },\n\t{ value: '85389099', label: '--- Altele' },\n\t{ value: '85390000', label: 'Lămpi și tuburi electrice cu incandescență sau cu descărcare, articole numite \"faruri și proiectoare etanșe\" și lămpi și tuburi cu raze ultraviolete sau infraroșii; lămpi cu arc; surse de lumină cu diode electroluminiscente (LED)' },\n\t{ value: '85391000', label: '- Articole numite \"faruri și proiectoare etanșe\"' },\n\t{ value: '85392100', label: '- Alte lămpi și tuburi cu incandescență, cu excepția celor cu raze ultraviolete sau infraroșii' },\n\t{ value: '85392100', label: '-- Halogene, cu tungsten (wolfram)' },\n\t{ value: '85392130', label: '--- De tipul celor utilizate pentru motociclete sau alte autovehicule' },\n\t{ value: '85392192', label: '--- Altele, cu o tensiune' },\n\t{ value: '85392192', label: '---- Peste 100 V' },\n\t{ value: '85392198', label: '---- De maximum 100 V' },\n\t{ value: '85392200', label: '-- Altele, cu o putere de maximum 200 W și cu o tensiune peste 100 V' },\n\t{ value: '85392210', label: '--- Cu reflectoare' },\n\t{ value: '85392290', label: '--- Altele' },\n\t{ value: '85392900', label: '-- Altele' },\n\t{ value: '85392930', label: '--- De tipul celor utilizate pentru motociclete sau alte autovehicule' },\n\t{ value: '85392992', label: '--- Altele, cu o tensiune' },\n\t{ value: '85392992', label: '---- Peste 100 V' },\n\t{ value: '85392998', label: '---- De maximum 100 V' },\n\t{ value: '85393100', label: '- Lămpi și tuburi cu descărcare, altele decât cele cu raze ultraviolete' },\n\t{ value: '85393100', label: '-- Fluorescente, cu catod cald' },\n\t{ value: '85393110', label: '--- Cu două socluri' },\n\t{ value: '85393190', label: '--- Altele' },\n\t{ value: '85393200', label: '-- Lămpi cu vapori de mercur sau de sodiu; lămpi cu halogenură metalică' },\n\t{ value: '85393220', label: '--- Cu vapori de mercur sau de sodiu' },\n\t{ value: '85393290', label: '--- Cu halogenură metalică' },\n\t{ value: '85393900', label: '-- Altele' },\n\t{ value: '85393920', label: '--- Lămpi fluorescente cu catod rece (CCFL) pentru retroiluminarea dispozitivelor de afișare cu ecran plat' },\n\t{ value: '85393980', label: '--- Altele' },\n\t{ value: '85394100', label: '- Lămpi și tuburi cu raze ultraviolete sau infraroșii; lămpi cu arc' },\n\t{ value: '85394100', label: '-- Lămpi cu arc' },\n\t{ value: '85394900', label: '-- Altele' },\n\t{ value: '85395100', label: '- Surse de lumină cu diode electroluminiscente (LED)' },\n\t{ value: '85395100', label: '-- Module cu diode electroluminiscente (LED)' },\n\t{ value: '85395200', label: '-- Lămpi cu diode electroluminiscente (LED)' },\n\t{ value: '85399000', label: '- Părți' },\n\t{ value: '85399010', label: '-- Socluri' },\n\t{ value: '85399090', label: '-- Altele' },\n\t{ value: '85400000', label: 'Lămpi, tuburi și valve electronice cu catod cald, cu catod rece sau cu fotocatod (de exemplu, lămpi, tuburi și valve cu vid, cu vapori sau cu gaz, tuburi redresoare cu vapori de mercur, tuburi catodice, tuburi și valve pentru camere de televiziune), altele decât cele de la poziția 8539' },\n\t{ value: '85401100', label: '- Tuburi catodice pentru aparate receptoare de televiziune, inclusiv tuburile pentru monitoare video' },\n\t{ value: '85401100', label: '-- În culori' },\n\t{ value: '85401200', label: '-- Monocrome' },\n\t{ value: '85402000', label: '- Tuburi pentru camere de televiziune; tuburi convertizoare sau intensificatoare de imagini; alte tuburi cu fotocatod' },\n\t{ value: '85402010', label: '-- Tuburi pentru camere de televiziune' },\n\t{ value: '85402080', label: '-- Alte tuburi' },\n\t{ value: '85404000', label: '- Tuburi de vizualizare a datelor sau a graficelor, monocrome; tuburi de vizualizare a datelor sau a graficelor, în culori, ecranul având o rezoluție de maximum 0,4 mm distanță între puncte' },\n\t{ value: '85406000', label: '- Alte tuburi catodice' },\n\t{ value: '85407100', label: '- Tuburi cu microunde (de exemplu, magnetroane, clistroane, tuburi cu unde progresive, carcinotroane), cu excepția tuburilor comandate prin grilă' },\n\t{ value: '85407100', label: '-- Magnetroane' },\n\t{ value: '85407900', label: '-- Altele' },\n\t{ value: '85408100', label: '- Alte lămpi, tuburi și valve' },\n\t{ value: '85408100', label: '-- Tuburi și valve electronice de recepție sau de amplificare' },\n\t{ value: '85408900', label: '-- Altele' },\n\t{ value: '85409100', label: '- Părți' },\n\t{ value: '85409100', label: '-- De tuburi catodice' },\n\t{ value: '85409900', label: '-- Altele' },\n\t{ value: '85410000', label: 'Dispozitive cu semiconductor (de exemplu diode, tranzistori, traductoare cu semiconductor); dispozitive fotosensibile semiconductoare, inclusiv celule fotovoltaice chiar asamblate în module sau montate în panouri; diode electroluminiscente (LED), asamblate sau nu cu alte diode electroluminiscente (LED); cristale piezoelectrice montate' },\n\t{ value: '85411000', label: '- Diode, altele decât fotodiodele și diodele emițătoare de lumină (LED)' },\n\t{ value: '85412100', label: '- Tranzistori, alții decât fototranzistori' },\n\t{ value: '85412100', label: '-- Cu o putere de disipare sub 1 W' },\n\t{ value: '85412900', label: '-- Altele' },\n\t{ value: '85413000', label: '- Tiristori, diacuri și triacuri, altele decât dispozitivele fotosensibile' },\n\t{ value: '85414100', label: '- Dispozitive fotosensibile semiconductoare, inclusiv celulele fotovoltaice chiar asamblate în module sau montate în panouri; diode emițătoare de lumină (LED)' },\n\t{ value: '85414100', label: '-- Diode electroluminiscente (LED)' },\n\t{ value: '85414200', label: '-- Celule fotovoltaice neasamblate în module sau nemontate în panouri' },\n\t{ value: '85414300', label: '-- Celule fotovoltaice asamblate în module sau montate în panouri' },\n\t{ value: '85414900', label: '-- Altele' },\n\t{ value: '85415100', label: '- Alte dispozitive cu semiconductoare' },\n\t{ value: '85415100', label: '-- Traductoare cu semiconductor' },\n\t{ value: '85415900', label: '-- Altele' },\n\t{ value: '85416000', label: '- Cristale piezoelectrice montate' },\n\t{ value: '85419000', label: '- Părți' },\n\t{ value: '85420000', label: 'Circuite integrate electronice' },\n\t{ value: '85423100', label: '- Circuite integrate electronice' },\n\t{ value: '85423100', label: '-- Procesoare și controlere, chiar combinate cu memorii, convertizoare, circuite logice, amplificatoare, circuite pentru impulsuri de tact, circuite de temporizare sau alte circuite' },\n\t{ value: '85423111', label: '--- Articole menționate la nota 12 litera (b) punctele 3 și 4 a capitolului' },\n\t{ value: '85423111', label: '---- Circuite integrate multicomponent (MCO)' },\n\t{ value: '85423119', label: '---- Altele' },\n\t{ value: '85423190', label: '--- Altele' },\n\t{ value: '85423200', label: '-- Memorii' },\n\t{ value: '85423211', label: '--- Articole menționate la nota 12 litera (b) punctele 3 și 4 a capitolului' },\n\t{ value: '85423211', label: '---- Circuite integrate multicomponent (MCO)' },\n\t{ value: '85423219', label: '---- Altele' },\n\t{ value: '85423231', label: '--- Altele' },\n\t{ value: '85423231', label: '---- Memorii dinamice de citire/scriere cu acces aleatoriu (D-RAMs)' },\n\t{ value: '85423231', label: '----- Cu capacitate de memorare de maxim 512 Mbiți' },\n\t{ value: '85423239', label: '----- Cu capacitate de memorare de peste 512 Mbiți' },\n\t{ value: '85423245', label: '---- Memorii statice cu citire-scriere cu acces aleator (S-RAMs), inclusiv memorii tampon cu citire-scriere cu acces aleator (cache-RAMs)' },\n\t{ value: '85423255', label: '---- Memorii exclusiv de citire, programabile, care pot fi șterse cu raze ultraviolete (EPROMs)' },\n\t{ value: '85423261', label: '---- Memorii exclusiv de citire, care pot fi șterse electric, programabile (E2PROMs), inclusiv flash E2PROMs' },\n\t{ value: '85423261', label: '----- Flash E2PROMs' },\n\t{ value: '85423261', label: '------ A căror capacitate de stocare este de maximum 512 Mbiți' },\n\t{ value: '85423269', label: '------ A căror capacitate de stocare este peste 512 Mbiți' },\n\t{ value: '85423275', label: '----- Altele' },\n\t{ value: '85423290', label: '---- Alte memorii' },\n\t{ value: '85423300', label: '-- Amplificatoare' },\n\t{ value: '85423310', label: '--- Circuite integrate multicomponent (MCO)' },\n\t{ value: '85423390', label: '--- Altele' },\n\t{ value: '85423900', label: '-- Altele' },\n\t{ value: '85423911', label: '--- Articole menționate la nota 12 litera (b) punctele 3 și 4 a capitolului' },\n\t{ value: '85423911', label: '---- Circuite integrate multicomponent (MCO)' },\n\t{ value: '85423919', label: '---- Altele' },\n\t{ value: '85423990', label: '--- Altele' },\n\t{ value: '85429000', label: '- Părți' },\n\t{ value: '85430000', label: 'Mașini și aparate electrice care au o funcție proprie, nedenumite și necuprinse în altă parte în acest capitol' },\n\t{ value: '85431000', label: '- Acceleratoare de particule' },\n\t{ value: '85432000', label: '- Generatoare de semnal' },\n\t{ value: '85433000', label: '- Mașini și aparate pentru galvanoplastie, electroliză sau electroforeză' },\n\t{ value: '85433040', label: '-- Mașini pentru galvanoplastie și electroliză, de tipul celor utilizate numai sau în principal pentru fabricarea circuitelor imprimate' },\n\t{ value: '85433070', label: '-- Altele' },\n\t{ value: '85434000', label: '- Țigări electronice și alte dispozitive de vaporizare electrice personale similare' },\n\t{ value: '85437000', label: '- Alte mașini și aparate' },\n\t{ value: '85437001', label: '-- Articole special concepute pentru conectarea la aparate sau instrumente telegrafice sau telefonice sau la rețele telegrafice sau telefonice' },\n\t{ value: '85437002', label: '-- Amplificatoare pentru microunde' },\n\t{ value: '85437003', label: '-- Dispozitive de telecomandă fără fir, cu raze infraroșii, pentru consolele de jocuri' },\n\t{ value: '85437004', label: '-- Înregistratoare numerice de date de zbor' },\n\t{ value: '85437005', label: '-- Cititor electronic portabil cu baterie pentru înregistrarea și redarea unui fișier text, fișier imagine fixă sau fișier audio' },\n\t{ value: '85437006', label: '-- Aparate de prelucrare a semnalelor digitale, capabile să se conecteze la o rețea cu sau fără fir pentru mixarea sunetului' },\n\t{ value: '85437007', label: '-- Dispozitive electronice interactive educative portabile concepute în principal pentru copii' },\n\t{ value: '85437008', label: '-- Mașini de curățat cu plasmă, care înlătură contaminanții organici din eșantioane și porteșantioane pentru microscoape electronice' },\n\t{ value: '85437009', label: '-- Dispozitive tactile de introducere a datelor (așa-numite ecrane tactile) fără capacități de afișare, pentru a fi incorporate în aparate care au afișaj, care funcționează prin detectarea prezenței și prin atingerea zonei de afișare' },\n\t{ value: '85437010', label: '-- Mașini electrice cu funcție de traducere sau de dicționar' },\n\t{ value: '85437030', label: '-- Amplificatoare de antenă' },\n\t{ value: '85437050', label: '-- Bănci și cupole solare și aparate similare pentru bronzat' },\n\t{ value: '85437060', label: '-- Electrificatori de demarcație' },\n\t{ value: '85437090', label: '-- Altele' },\n\t{ value: '85439000', label: '- Părți' },\n\t{ value: '85440000', label: 'Fire, cabluri (inclusiv cabluri coaxiale) și alte conductoare electrice izolate (chiar emailate sau oxidate anodic), cu sau fără conectori; cabluri din fibre optice, constituite din fibre izolate individual, chiar echipate cu conductoare electrice sau prevăzute cu conectori' },\n\t{ value: '85441100', label: '- Fire pentru bobinaje' },\n\t{ value: '85441100', label: '-- Din cupru' },\n\t{ value: '85441110', label: '--- Emailate sau lăcuite' },\n\t{ value: '85441190', label: '--- Altele' },\n\t{ value: '85441900', label: '-- Altele' },\n\t{ value: '85442000', label: '- Cabluri coaxiale și alte conductoare electrice coaxiale' },\n\t{ value: '85443000', label: '- Seturi de fișe pentru bujiile de aprindere și alte seturi de fișe de tipul celor utilizate în mijloacele de transport' },\n\t{ value: '85444200', label: '- Alte conductoare electrice, pentru tensiuni de maximum 1 000 V' },\n\t{ value: '85444200', label: '-- Prevăzute cu conectori' },\n\t{ value: '85444210', label: '--- De tipul celor utilizate pentru telecomunicații' },\n\t{ value: '85444290', label: '--- Altele' },\n\t{ value: '85444900', label: '-- Altele' },\n\t{ value: '85444920', label: '--- De tipul celor utilizate pentru telecomunicații, pentru o tensiune de maxim 80 V' },\n\t{ value: '85444991', label: '--- Altele' },\n\t{ value: '85444991', label: '---- Fire și cabluri, cu un diametru pe fir peste 0,51 mm' },\n\t{ value: '85444993', label: '---- Altele' },\n\t{ value: '85444993', label: '----- Pentru o tensiune de maxim 80 V' },\n\t{ value: '85444995', label: '----- Pentru o tensiune peste 80 V, dar sub 1 000 V' },\n\t{ value: '85444999', label: '----- Pentru o tensiune de 1 000 V' },\n\t{ value: '85446000', label: '- Alte conductoare electrice, pentru tensiuni peste 1 000 V' },\n\t{ value: '85446010', label: '-- Cu conductori din cupru' },\n\t{ value: '85446090', label: '-- Cu alți conductori' },\n\t{ value: '85447000', label: '- Cabluri din fibre optice' },\n\t{ value: '85450000', label: 'Electrozi din cărbune, perii din cărbune, cărbuni pentru lămpi sau pentru baterii și alte articole din grafit sau din alt cărbune, cu sau fără metal, pentru utilizări electrice' },\n\t{ value: '85451100', label: '- Electrozi' },\n\t{ value: '85451100', label: '-- De tipul celor utilizați pentru cuptoare' },\n\t{ value: '85451900', label: '-- Altele' },\n\t{ value: '85452000', label: '- Perii' },\n\t{ value: '85459000', label: '- Altele' },\n\t{ value: '85459010', label: '-- Rezistențe de încălzire' },\n\t{ value: '85459090', label: '-- Altele' },\n\t{ value: '85460000', label: 'Izolatori electrici din orice material' },\n\t{ value: '85461000', label: '- Din sticlă' },\n\t{ value: '85462000', label: '- Din ceramică' },\n\t{ value: '85469000', label: '- Altele' },\n\t{ value: '85469010', label: '-- Din materiale plastice' },\n\t{ value: '85469090', label: '-- Altele' },\n\t{ value: '85470000', label: 'Piese izolatoare, în întregime din materiale izolante sau conținând piese simple metalice de asamblare (de exemplu, dulii cu filet), încorporate în masă, pentru mașini, aparate sau instalații electrice, altele decât izolatorii de la poziția 8546; tuburile izolatoare și piesele lor de racordare, din metale comune, izolate în interior' },\n\t{ value: '85471000', label: '- Piese izolatoare din ceramică' },\n\t{ value: '85472000', label: '- Piese izolatoare din material plastic' },\n\t{ value: '85479000', label: '- Altele' },\n\t{ value: '85480000', label: 'Părți electrice de mașini sau aparate, nedenumite și necuprinse în altă parte la acest capitol' },\n\t{ value: '85480020', label: '- Memorii dinamice cu acces aleator (D-RAMs) sub formă de combinații multiple cum ar fi memoriile D-RAM organizate în stivă (stack D-RAMs) și module' },\n\t{ value: '85480030', label: '- Module de retroiluminare cu diode emițătoare de lumină (LED) care sunt surse de iluminat compuse din unul sau mai multe LED-uri și din unul sau mai mulți conectori și care sunt montate pe un circuit imprimat sau alt substrat similar și alte componente pasive, combinate sau nu cu componente optice sau diode de protecție și utilizate ca retroiluminare pentru afișajele cu cristale lichide (LCD-uri)' },\n\t{ value: '85480090', label: '- Altele' },\n\t{ value: '85490000', label: 'Deșeuri și resturi electrice și electronice' },\n\t{ value: '85491100', label: '- Deșeuri și resturi de pile, de baterii de pile și de acumulatoare electrice; pile și baterii de pile electrice scoase din uz și acumulatoare electrice scoase din uz' },\n\t{ value: '85491100', label: '-- Deșeuri și resturi de acumulatoare cu plumb; acumulatoare cu plumb scoase din uz' },\n\t{ value: '85491110', label: '--- Acumulatoare cu plumb scoase din uz' },\n\t{ value: '85491190', label: '--- Deșeuri și resturi de acumulatoare cu plumb' },\n\t{ value: '85491200', label: '-- Altele, care conțin plumb, cadmiu sau mercur' },\n\t{ value: '85491210', label: '--- Pile și baterii de pile electrice scoase din uz' },\n\t{ value: '85491220', label: '--- Acumulatoare electrice scoase din uz' },\n\t{ value: '85491290', label: '--- Altele' },\n\t{ value: '85491300', label: '-- Sortate în funcție de substanța chimică și care nu conțin plumb, cadmiu sau mercur' },\n\t{ value: '85491310', label: '--- Pile și baterii de pile electrice scoase din uz' },\n\t{ value: '85491320', label: '--- Acumulatoare electrice scoase din uz' },\n\t{ value: '85491390', label: '--- Altele' },\n\t{ value: '85491400', label: '-- Nesortate și care nu conțin plumb, cadmiu sau mercur' },\n\t{ value: '85491410', label: '--- Pile și baterii de pile electrice scoase din uz' },\n\t{ value: '85491420', label: '--- Acumulatoare electrice scoase din uz' },\n\t{ value: '85491490', label: '--- Altele' },\n\t{ value: '85491900', label: '-- Altele' },\n\t{ value: '85491910', label: '--- Pile și baterii de pile electrice scoase din uz' },\n\t{ value: '85491920', label: '--- Acumulatoare electrice scoase din uz' },\n\t{ value: '85491990', label: '--- Altele' },\n\t{ value: '85492100', label: '- De tipul celor utilizate în principal pentru recuperarea metalelor prețioase' },\n\t{ value: '85492100', label: '-- Care conțin pile, baterii de pile, acumulatoare electrice, întrerupătoare cu mercur, sticlă provenită din tuburi catodice sau alte tipuri de sticlă activă, sau componente electrice sau electronice care conțin cadmiu, mercur, plumb sau bifenili policlorurați (PCB)' },\n\t{ value: '85492900', label: '-- Altele' },\n\t{ value: '85493100', label: '- Alte ansambluri electrice și electronice și plăci cu circuite imprimate' },\n\t{ value: '85493100', label: '-- Care conțin pile, baterii de pile, acumulatoare electrice, întrerupătoare cu mercur, sticlă provenită din tuburi catodice sau alte tipuri de sticlă activă, sau componente electrice sau electronice care conțin cadmiu, mercur, plumb sau bifenili policlorurați (PCB)' },\n\t{ value: '85493900', label: '-- Altele' },\n\t{ value: '85499100', label: '- Altele' },\n\t{ value: '85499100', label: '-- Care conțin pile, baterii de pile, acumulatoare electrice, întrerupătoare cu mercur, sticlă provenită din tuburi catodice sau alte tipuri de sticlă activă, sau componente electrice sau electronice care conțin cadmiu, mercur, plumb sau bifenili policlorurați (PCB)' },\n\t{ value: '85499900', label: '-- Altele' },\n\t{ value: '86000000', label: 'VEHICULE ȘI ECHIPAMENTE PENTRU CĂILE FERATE SAU SIMILARE ȘI PĂRȚI ALE ACESTORA; APARATE MECANICE (INCLUSIV ELECTROMECANICE) DE SEMNALIZARE A TRAFICULUI' },\n\t{ value: '86010000', label: 'Locomotive și locotractoare, cu sursă exterioară de electricitate sau cu acumulatoare electrice' },\n\t{ value: '86011000', label: '- Cu sursă exterioară de electricitate' },\n\t{ value: '86012000', label: '- Cu acumulatoare electrice' },\n\t{ value: '86020000', label: 'Alte locomotive și locotractoare; tendere' },\n\t{ value: '86021000', label: '- Locomotive diesel-electrice' },\n\t{ value: '86029000', label: '- Altele' },\n\t{ value: '86030000', label: 'Vagoane automotoare pentru cale ferată sau tramvai și drezine cu motor, altele decât cele de la poziția 8604' },\n\t{ value: '86031000', label: '- Cu sursă exterioară de electricitate' },\n\t{ value: '86039000', label: '- Altele' },\n\t{ value: '86040000', label: 'Vehicule pentru întreținere sau pentru servicii de cale ferată sau similare, chiar autopropulsate (de exemplu, vagoane-atelier, vagoane-macara, vagoane echipate pentru completarea balastului, mașini de aliniat șinele pentru calea ferată, vagoane de probă și drezine)' },\n\t{ value: '86050000', label: 'Vagoane de călători, vagoane de bagaje, vagoane poștale și alte vagoane speciale, pentru căi ferate sau similare (cu excepția vagoanelor de la poziția 8604)' },\n\t{ value: '86060000', label: 'Vagoane pentru transportul mărfurilor pe calea ferată sau căi similare' },\n\t{ value: '86061000', label: '- Vagoane-cisternă și similare' },\n\t{ value: '86063000', label: '- Vagoane cu descărcare automată, altele decât cele de la subpozițiile 8606 10' },\n\t{ value: '86069100', label: '- Altele' },\n\t{ value: '86069100', label: '-- Acoperite și închise' },\n\t{ value: '86069110', label: '--- Special construite pentru transportul produselor puternic radioactive' },\n\t{ value: '86069180', label: '--- Altele' },\n\t{ value: '86069200', label: '-- Deschise, cu lateralele nerabatabile, cu o înălțime peste 60 cm (tomberoane)' },\n\t{ value: '86069900', label: '-- Altele' },\n\t{ value: '86070000', label: 'Părțile de vehicule pentru căi ferate sau similare' },\n\t{ value: '86071100', label: '- Boghiuri, boghiuri-Bissel, osii și roți și părțile acestora' },\n\t{ value: '86071100', label: '-- Boghiuri și boghiuri-Bissel de tracțiune' },\n\t{ value: '86071200', label: '-- Alte boghiuri și boghiuri-Bissel' },\n\t{ value: '86071900', label: '-- Altele, inclusiv părțile' },\n\t{ value: '86071910', label: '--- Osii, montate sau nu; roți și părți ale acestora' },\n\t{ value: '86071990', label: '--- Părți de boghiuri, boghiuri-Bissel și similare' },\n\t{ value: '86072100', label: '- Frâne și părți ale acestora' },\n\t{ value: '86072100', label: '-- Frâne cu aer comprimat și părți ale acestora' },\n\t{ value: '86072110', label: '--- Turnate, din fontă, fier sau oțel' },\n\t{ value: '86072190', label: '--- Altele' },\n\t{ value: '86072900', label: '-- Altele' },\n\t{ value: '86073000', label: '- Cârlige și alte sisteme de cuplare, tampoane de șoc și părți ale acestora' },\n\t{ value: '86079100', label: '- Altele' },\n\t{ value: '86079100', label: '-- De locomotive sau locotractoare' },\n\t{ value: '86079110', label: '--- Cutiile osiilor și părți ale acestora' },\n\t{ value: '86079190', label: '--- Altele' },\n\t{ value: '86079900', label: '-- Altele' },\n\t{ value: '86079910', label: '--- Cutiile osiilor și părți ale acestora' },\n\t{ value: '86079980', label: '--- Altele' },\n\t{ value: '86080000', label: 'Material fix de căi ferate sau similare; aparate mecanice (inclusiv electromecanice) de semnalizare, de siguranță, de control sau de comandă pentru căile ferate sau similare, rutiere sau fluviale, zonele de parcare, instalațiile portuare sau aerodromuri; părți ale acestora' },\n\t{ value: '86090000', label: 'Cadre și containere (inclusiv containere-cisternă și containere-rezervor), special concepute și echipate pentru unul sau mai multe moduri de transport' },\n\t{ value: '86090010', label: '- Containere cu blindaj de plumb pentru protecție împotriva radiațiilor, pentru transportul materialelor radioactive' },\n\t{ value: '86090090', label: '- Altele' },\n\t{ value: '87000000', label: 'VEHICULE TERESTRE, ALTELE DECÂT MATERIALUL RULANT DE CALE FERATĂ ȘI TRAMVAI; PĂRȚI ȘI ACCESORII ALE ACESTORA' },\n\t{ value: '87010000', label: 'Tractoare (cu excepția cărucioarelor-tractoare de la poziția 8709)' },\n\t{ value: '87011000', label: '- Motocultoare' },\n\t{ value: '87012100', label: '- Tractoare rutiere pentru semiremorci' },\n\t{ value: '87012100', label: '-- Având doar un motor cu pistoane cu combustie internă cu aprindere prin compresie (diesel sau semidiesel)' },\n\t{ value: '87012110', label: '--- Noi' },\n\t{ value: '87012190', label: '--- Folosite' },\n\t{ value: '87012200', label: '-- Având, pentru propulsie, atât un motor cu pistoane cu combustie internă cu aprindere prin compresie (diesel sau semidiesel), cât și un motor electric' },\n\t{ value: '87012210', label: '--- Noi' },\n\t{ value: '87012290', label: '--- Folosite' },\n\t{ value: '87012300', label: '-- Având, pentru propulsie, atât un motor cu pistoane cu combustie internă cu aprindere prin scânteie, cât și un motor electric' },\n\t{ value: '87012310', label: '--- Noi' },\n\t{ value: '87012390', label: '--- Folosite' },\n\t{ value: '87012400', label: '-- Având doar un motor electric pentru propulsie' },\n\t{ value: '87012410', label: '--- Noi' },\n\t{ value: '87012490', label: '--- Folosite' },\n\t{ value: '87012900', label: '-- Altele' },\n\t{ value: '87013000', label: '- Tractoare cu șenile' },\n\t{ value: '87019100', label: '- Altele, cu o putere a motorului' },\n\t{ value: '87019100', label: '-- De maximum 18 kW' },\n\t{ value: '87019110', label: '--- Tractoare agricole și forestiere, cu roți' },\n\t{ value: '87019190', label: '--- Altele' },\n\t{ value: '87019200', label: '-- De peste 18 kW, dar maximum 37 kW' },\n\t{ value: '87019210', label: '--- Tractoare agricole și forestiere, cu roți' },\n\t{ value: '87019290', label: '--- Altele' },\n\t{ value: '87019300', label: '-- De peste 37 kW, dar maximum 75 kW' },\n\t{ value: '87019310', label: '--- Tractoare agricole și forestiere, cu roți' },\n\t{ value: '87019390', label: '--- Altele' },\n\t{ value: '87019400', label: '-- De peste 75 kW, dar maximum 130 kW' },\n\t{ value: '87019410', label: '--- Tractoare agricole și forestiere, cu roți' },\n\t{ value: '87019490', label: '--- Altele' },\n\t{ value: '87019500', label: '-- De peste 130 kW' },\n\t{ value: '87019510', label: '--- Tractoare agricole și forestiere, cu roți' },\n\t{ value: '87019590', label: '--- Altele' },\n\t{ value: '87020000', label: 'Autovehicule pentru transportul de minimum 10 persoane, inclusiv șoferul' },\n\t{ value: '87021000', label: '- Având doar motor cu pistoane cu combustie internă cu aprindere prin compresie (diesel sau semidiesel)' },\n\t{ value: '87021011', label: '-- Cu o capacitate cilindrică peste 2 500 cm3' },\n\t{ value: '87021011', label: '--- Noi' },\n\t{ value: '87021019', label: '--- Folosite' },\n\t{ value: '87021091', label: '-- Cu o capacitate cilindrică de maximum 2 500 cm3' },\n\t{ value: '87021091', label: '--- Noi' },\n\t{ value: '87021099', label: '--- Folosite' },\n\t{ value: '87022000', label: '- Având atât motor cu pistoane cu combustie internă cu aprindere prin compresie (diesel sau semidiesel), cât și motor electric ca motoare pentru propulsie' },\n\t{ value: '87022010', label: '-- Cu o capacitate cilindrică peste 2 500 cm3' },\n\t{ value: '87022090', label: '-- Cu o capacitate cilindrică de maximum 2 500 cm3' },\n\t{ value: '87023000', label: '- Având atât motor cu pistoane cu combustie internă cu aprindere prin scânteie, cât și motor electric ca motoare pentru propulsie' },\n\t{ value: '87023010', label: '-- Cu o capacitate cilindrică peste 2 800 cm3' },\n\t{ value: '87023090', label: '-- Cu o capacitate cilindrică de maximum 2 800 cm3' },\n\t{ value: '87024000', label: '- Având doar motor electric pentru propulsie' },\n\t{ value: '87029000', label: '- Altele' },\n\t{ value: '87029011', label: '-- Cu motor cu piston cu aprindere prin scânteie' },\n\t{ value: '87029011', label: '--- Cu o capacitate cilindrică peste 2 800 cm3' },\n\t{ value: '87029011', label: '---- Noi' },\n\t{ value: '87029019', label: '---- Folosite' },\n\t{ value: '87029031', label: '--- Cu o capacitate cilindrică de maximum 2 800 cm3' },\n\t{ value: '87029031', label: '---- Noi' },\n\t{ value: '87029039', label: '---- Folosite' },\n\t{ value: '87029090', label: '-- Cu alte motoare' },\n\t{ value: '87030000', label: 'Autoturisme și alte autovehicule, proiectate în principal pentru transportul persoanelor (altele decât cele de la poziția 8702), inclusiv mașinile de tip \"break\" și mașinile de curse' },\n\t{ value: '87031000', label: '- Vehiculele special proiectate pentru a se deplasa pe zăpadă; vehicule speciale pentru transportul persoanelor pe terenurile de golf și vehiculele similare' },\n\t{ value: '87031011', label: '-- Vehicule special concepute pentru a se deplasa pe zăpadă, cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel) sau prin scânteie' },\n\t{ value: '87031018', label: '-- Altele' },\n\t{ value: '87032100', label: '- Alte vehicule, având doar motor cu pistoane cu combustie internă cu aprindere prin scânteie' },\n\t{ value: '87032100', label: '-- Cu o capacitate cilindrică de maximum 1 000 cm3' },\n\t{ value: '87032110', label: '--- Noi' },\n\t{ value: '87032190', label: '--- Folosite' },\n\t{ value: '87032200', label: '-- Cu o capacitate cilindrică peste 1 000 cm3, dar de maximum 1 500 cm3' },\n\t{ value: '87032210', label: '--- Noi' },\n\t{ value: '87032290', label: '--- Folosite' },\n\t{ value: '87032300', label: '-- Cu o capacitate cilindrică peste 1 500 cm3, dar de maximum 3 000 cm3' },\n\t{ value: '87032311', label: '--- Noi' },\n\t{ value: '87032311', label: '---- Rulote autopropulsate' },\n\t{ value: '87032319', label: '---- Altele' },\n\t{ value: '87032390', label: '--- Folosite' },\n\t{ value: '87032400', label: '-- Cu o capacitate cilindrică peste 3 000 cm3' },\n\t{ value: '87032410', label: '--- Noi' },\n\t{ value: '87032490', label: '--- Folosite' },\n\t{ value: '87033100', label: '- Alte vehicule, având doar motor cu pistoane cu combustie internă cu aprindere prin compresie (diesel sau semidiesel)' },\n\t{ value: '87033100', label: '-- Cu o capacitate cilindrică de maximum 1 500 cm3' },\n\t{ value: '87033110', label: '--- Noi' },\n\t{ value: '87033190', label: '--- Folosite' },\n\t{ value: '87033200', label: '-- Cu o capacitate cilindrică peste 1 500 cm3, dar de maximum 2 500 cm3' },\n\t{ value: '87033211', label: '--- Noi' },\n\t{ value: '87033211', label: '---- Rulote autopropulsate' },\n\t{ value: '87033219', label: '---- Altele' },\n\t{ value: '87033290', label: '--- Folosite' },\n\t{ value: '87033300', label: '-- Cu o capacitate cilindrică peste 2 500 cm3' },\n\t{ value: '87033311', label: '--- Noi' },\n\t{ value: '87033311', label: '---- Rulote autopropulsate' },\n\t{ value: '87033319', label: '---- Altele' },\n\t{ value: '87033390', label: '--- Folosite' },\n\t{ value: '87034000', label: '- Alte vehicule, având atât motor cu pistoane cu combustie internă cu aprindere prin scânteie, cât și motor electric ca motoare pentru propulsie, altele decât cele care pot fi încărcate prin conectarea la o sursă externă de energie electrică' },\n\t{ value: '87034010', label: '-- Noi' },\n\t{ value: '87034090', label: '-- Folosite' },\n\t{ value: '87035000', label: '- Alte vehicule, având atât motor cu pistoane cu combustie internă cu aprindere prin compresie (diesel sau semidiesel), cât și motor electric ca motoare pentru propulsie, altele decât cele care pot fi încărcate prin conectarea la o sursă externă de energie electrică' },\n\t{ value: '87036000', label: '- Alte vehicule, având atât motor cu pistoane cu combustie internă cu aprindere prin scânteie, cât și motor electric ca motoare pentru propulsie, care pot fi încărcate prin conectarea la o sursă externă de energie electrică' },\n\t{ value: '87036010', label: '-- Noi' },\n\t{ value: '87036090', label: '-- Folosite' },\n\t{ value: '87037000', label: '- Alte vehicule, având atât motor cu pistoane cu combustie internă cu aprindere prin compresie (diesel sau semidiesel), cât și motor electric ca motoare pentru propulsie, care pot fi încărcate prin conectarea la o sursă externă de energie electrică' },\n\t{ value: '87038000', label: '- Alte vehicule, având doar motor electric pentru propulsie' },\n\t{ value: '87038010', label: '-- Noi' },\n\t{ value: '87038090', label: '-- Folosite' },\n\t{ value: '87039000', label: '- Altele' },\n\t{ value: '87040000', label: 'Autovehicule pentru transportul mărfurilor' },\n\t{ value: '87041000', label: '- Autobasculante concepute pentru a fi utilizate în afara drumurilor publice' },\n\t{ value: '87041010', label: '-- Cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel) sau prin scânteie' },\n\t{ value: '87041090', label: '-- Altele' },\n\t{ value: '87042100', label: '- Altele, doar cu motor cu pistoane cu aprindere prin compresie (diesel sau semidiesel)' },\n\t{ value: '87042100', label: '-- Cu o greutate în sarcină maximă de maximum 5 tone' },\n\t{ value: '87042110', label: '--- Special concepute pentru transportul produselor puternic radioactive' },\n\t{ value: '87042131', label: '--- Altele' },\n\t{ value: '87042131', label: '---- Cu motor cu o capacitate cilindrică peste 2 500 cm3' },\n\t{ value: '87042131', label: '----- Noi' },\n\t{ value: '87042139', label: '----- Folosite' },\n\t{ value: '87042191', label: '---- Cu motor cu o capacitate cilindrică de maximum 2 500 cm3' },\n\t{ value: '87042191', label: '----- Noi' },\n\t{ value: '87042199', label: '----- Folosite' },\n\t{ value: '87042200', label: '-- Cu o greutate în sarcină maximă de peste 5 tone, dar de maximum 20 de tone' },\n\t{ value: '87042210', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87042291', label: '--- Altele' },\n\t{ value: '87042291', label: '---- Noi' },\n\t{ value: '87042299', label: '---- Folosite' },\n\t{ value: '87042300', label: '-- Cu o greutate în sarcină maximă de peste 20 de tone' },\n\t{ value: '87042310', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87042391', label: '--- Altele' },\n\t{ value: '87042391', label: '---- Noi' },\n\t{ value: '87042399', label: '---- Folosite' },\n\t{ value: '87043100', label: '- Altele, având doar un motor cu piston cu aprindere prin scânteie' },\n\t{ value: '87043100', label: '-- Cu o greutate în sarcină maximă de maximum 5 tone' },\n\t{ value: '87043110', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87043131', label: '--- Altele' },\n\t{ value: '87043131', label: '---- Cu motor cu o capacitate cilindrică de peste 2 800 cm3' },\n\t{ value: '87043131', label: '----- Noi' },\n\t{ value: '87043139', label: '----- Folosite' },\n\t{ value: '87043191', label: '---- Cu motor cu o capacitate cilindrică de maximum 2 800 cm3' },\n\t{ value: '87043191', label: '----- Noi' },\n\t{ value: '87043199', label: '----- Folosite' },\n\t{ value: '87043200', label: '-- Cu o greutate în sarcină maximă de peste 5 tone' },\n\t{ value: '87043210', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87043291', label: '--- Altele' },\n\t{ value: '87043291', label: '---- Noi' },\n\t{ value: '87043299', label: '---- Folosite' },\n\t{ value: '87044100', label: '- Altele, având, pentru propulsie, atât un motor cu pistoane cu combustie internă cu aprindere prin compresie (diesel sau semidiesel), cât și un motor electric' },\n\t{ value: '87044100', label: '-- Cu o greutate în sarcină maximă de maximum 5 tone' },\n\t{ value: '87044110', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87044131', label: '--- Altele' },\n\t{ value: '87044131', label: '---- Cu motor cu o capacitate cilindrică peste 2 500 cm3' },\n\t{ value: '87044131', label: '----- Noi' },\n\t{ value: '87044139', label: '----- Folosite' },\n\t{ value: '87044191', label: '---- Cu motor cu o capacitate cilindrică de maximum 2 500 cm3' },\n\t{ value: '87044191', label: '----- Noi' },\n\t{ value: '87044199', label: '----- Folosite' },\n\t{ value: '87044200', label: '-- Cu o greutate în sarcină maximă de peste 5 tone, dar de maximum 20 de tone' },\n\t{ value: '87044210', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87044291', label: '--- Altele' },\n\t{ value: '87044291', label: '---- Noi' },\n\t{ value: '87044299', label: '---- Folosite' },\n\t{ value: '87044300', label: '-- Cu o greutate în sarcină maximă de peste 20 de tone' },\n\t{ value: '87044310', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87044391', label: '--- Altele' },\n\t{ value: '87044391', label: '---- Noi' },\n\t{ value: '87044399', label: '---- Folosite' },\n\t{ value: '87045100', label: '- Altele, având, pentru propulsie, atât un motor cu pistoane cu combustie internă cu aprindere prin scânteie, cât și un motor electric' },\n\t{ value: '87045100', label: '-- Cu o greutate în sarcină maximă de maximum 5 tone' },\n\t{ value: '87045110', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87045131', label: '--- Altele' },\n\t{ value: '87045131', label: '---- Cu motor cu o capacitate cilindrică de peste 2 800 cm3' },\n\t{ value: '87045131', label: '----- Noi' },\n\t{ value: '87045139', label: '----- Folosite' },\n\t{ value: '87045191', label: '---- Cu motor cu o capacitate cilindrică de maximum 2 800 cm3' },\n\t{ value: '87045191', label: '----- Noi' },\n\t{ value: '87045199', label: '----- Folosite' },\n\t{ value: '87045200', label: '-- Cu o greutate în sarcină maximă de peste 5 tone' },\n\t{ value: '87045210', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87045291', label: '--- Altele' },\n\t{ value: '87045291', label: '---- Noi' },\n\t{ value: '87045299', label: '---- Folosite' },\n\t{ value: '87046000', label: '- Altele, având doar un motor electric pentru propulsie' },\n\t{ value: '87049000', label: '- Altele' },\n\t{ value: '87050000', label: 'Autovehicule pentru utilizări speciale, altele decât cele proiectate în principal pentru transportul de persoane sau de mărfuri (de exemplu, pentru depanare, automacarale, pentru stingerea incendiilor, autobetoniere, pentru curățarea străzilor, pentru împrăștiat materiale, autoateliere, unități radiologice auto)' },\n\t{ value: '87051000', label: '- Automacarale' },\n\t{ value: '87052000', label: '- Macarale mobile derrick pentru sondare sau forare' },\n\t{ value: '87053000', label: '- Autovehicule pentru stingerea incendiilor' },\n\t{ value: '87054000', label: '- Autobetoniere' },\n\t{ value: '87059000', label: '- Altele' },\n\t{ value: '87059030', label: '-- Autopompe pentru beton' },\n\t{ value: '87059080', label: '-- Altele' },\n\t{ value: '87060000', label: 'Șasiuri echipate cu motor pentru autovehiculele de la pozițiile 8701-8705' },\n\t{ value: '87060011', label: '- Șasiuri de tractoare de la poziția 8701; șasiuri de autovehicule de la pozițiile 8702, 8703 sau 8704 care au motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică peste 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică peste 2 800 cm3' },\n\t{ value: '87060011', label: '-- Pentru autovehiculele de la poziția 8702 sau 8704' },\n\t{ value: '87060019', label: '-- Altele' },\n\t{ value: '87060091', label: '- Altele' },\n\t{ value: '87060091', label: '-- Pentru autovehiculele de la poziția 8703' },\n\t{ value: '87060099', label: '-- Altele' },\n\t{ value: '87070000', label: 'Caroserii, inclusiv cabinele, pentru autovehiculele de la pozițiile 8701-8705' },\n\t{ value: '87071000', label: '- Pentru autovehiculele de la poziția 8703' },\n\t{ value: '87071010', label: '-- Destinate industriei de montaj' },\n\t{ value: '87071090', label: '-- Altele' },\n\t{ value: '87079000', label: '- Altele' },\n\t{ value: '87079010', label: '-- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87079090', label: '-- Altele' },\n\t{ value: '87080000', label: 'Părți și accesorii de autovehicule de la pozițiile 8701-8705' },\n\t{ value: '87081000', label: '- Bare de protecție și părți ale acestora' },\n\t{ value: '87081010', label: '-- Destinate industriei de montaj, pentru:\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87081090', label: '-- Altele' },\n\t{ value: '87082100', label: '- Alte părți și accesorii de caroserii (inclusiv cabinele)' },\n\t{ value: '87082100', label: '-- Centuri de siguranță' },\n\t{ value: '87082110', label: '--- Destinate industriei de montaj, pentru:\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87082190', label: '--- Altele' },\n\t{ value: '87082200', label: '-- Geamuri față (parbrize), geamuri spate și alte geamuri menționate în nota de subpoziție 1 din prezentul capitol' },\n\t{ value: '87082210', label: '--- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87082290', label: '--- Altele' },\n\t{ value: '87082900', label: '-- Altele' },\n\t{ value: '87082910', label: '--- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87082990', label: '--- Altele' },\n\t{ value: '87083000', label: '- Frâne și servofrâne; părți ale acestora' },\n\t{ value: '87083010', label: '-- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87083091', label: '-- Altele' },\n\t{ value: '87083091', label: '--- Pentru frâne cu discuri' },\n\t{ value: '87083099', label: '--- Altele' },\n\t{ value: '87084000', label: '- Cutii de viteză și părți ale acestora' },\n\t{ value: '87084020', label: '-- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87084050', label: '-- Altele' },\n\t{ value: '87084050', label: '--- Cutii de viteză' },\n\t{ value: '87084091', label: '--- Părți' },\n\t{ value: '87084091', label: '---- Forjate în matriță închisă, din oțel' },\n\t{ value: '87084099', label: '---- Altele' },\n\t{ value: '87085000', label: '- Punți cu diferențial, chiar prevăzute cu alte organe de transmisie și osii portante; părți ale acestora' },\n\t{ value: '87085020', label: '-- Destinate industriei de montaj, pentru:\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87085035', label: '-- Altele' },\n\t{ value: '87085035', label: '--- Punți cu diferențial, chiar prevăzute cu alte organe de transmisie, și osii portante' },\n\t{ value: '87085055', label: '--- Părți' },\n\t{ value: '87085055', label: '---- Forjate în matriță închisă, din oțel' },\n\t{ value: '87085091', label: '---- Altele' },\n\t{ value: '87085091', label: '----- Pentru osii portante' },\n\t{ value: '87085099', label: '----- Altele' },\n\t{ value: '87087000', label: '- Roți, părți și accesorii pentru roți' },\n\t{ value: '87087010', label: '-- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87087050', label: '-- Altele' },\n\t{ value: '87087050', label: '--- Roți din aluminiu; părți și accesorii de roți, din aluminiu' },\n\t{ value: '87087091', label: '--- Părți de roți turnate dintr-o singură piesă în formă de stea, din fontă, din fier sau oțel' },\n\t{ value: '87087099', label: '--- Altele' },\n\t{ value: '87088000', label: '- Sisteme de suspensie și părțile lor (inclusiv amortizoarele de suspensie)' },\n\t{ value: '87088020', label: '-- Destinate industriei de montaj, pentru:\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston, cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87088035', label: '-- Altele' },\n\t{ value: '87088035', label: '--- Amortizoare de suspensie' },\n\t{ value: '87088055', label: '--- Bare stabilizatoare; bare de torsiune' },\n\t{ value: '87088091', label: '--- Altele' },\n\t{ value: '87088091', label: '---- Forjate în matriță închisă, din oțel' },\n\t{ value: '87088099', label: '---- Altele' },\n\t{ value: '87089100', label: '- Alte părți și accesorii' },\n\t{ value: '87089100', label: '-- Radiatoare și părți ale acestora' },\n\t{ value: '87089120', label: '--- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87089135', label: '--- Altele' },\n\t{ value: '87089135', label: '---- Radiatoare' },\n\t{ value: '87089191', label: '---- Părți' },\n\t{ value: '87089191', label: '----- Forjate în matriță închisă, din oțel' },\n\t{ value: '87089199', label: '----- Altele' },\n\t{ value: '87089200', label: '-- Tobe și țevi de eșapament; părți ale acestora' },\n\t{ value: '87089220', label: '--- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87089235', label: '--- Altele' },\n\t{ value: '87089235', label: '---- Tobe și țevi de eșapament' },\n\t{ value: '87089291', label: '---- Părți' },\n\t{ value: '87089291', label: '----- Forjate în matriță închisă, din oțel' },\n\t{ value: '87089299', label: '----- Altele' },\n\t{ value: '87089300', label: '-- Ambreiaje și părți ale acestora' },\n\t{ value: '87089310', label: '--- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87089390', label: '--- Altele' },\n\t{ value: '87089400', label: '-- Volane, coloane și cutii de direcție; părți ale acestora' },\n\t{ value: '87089420', label: '--- Destinate industriei de montaj, pentru:\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87089435', label: '--- Altele' },\n\t{ value: '87089435', label: '---- Volane, coloane și cutii de direcție' },\n\t{ value: '87089491', label: '---- Părți' },\n\t{ value: '87089491', label: '----- Forjate în matriță închisă, din oțel' },\n\t{ value: '87089499', label: '----- Altele' },\n\t{ value: '87089500', label: '-- Airbags cu sistem de umflare; părți ale acestora' },\n\t{ value: '87089510', label: '--- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87089591', label: '--- Altele' },\n\t{ value: '87089591', label: '---- Forjate în matriță închisă, din oțel' },\n\t{ value: '87089599', label: '---- Altele' },\n\t{ value: '87089900', label: '-- Altele' },\n\t{ value: '87089910', label: '--- Destinate industriei de montaj, pentru:\\nmotocultoare de la subpoziția 8701 10;\\nautovehicule de la poziția 8703;\\nautovehicule de la poziția 8704 cu motor cu piston cu aprindere prin compresie (diesel sau semidiesel), cu o capacitate cilindrică de maximum 2 500 cm3 sau cu motor cu piston cu aprindere prin scânteie, cu o capacitate cilindrică de maximum 2 800 cm3;\\nautovehicule de la poziția 8705' },\n\t{ value: '87089993', label: '--- Altele' },\n\t{ value: '87089993', label: '---- Forjate în matriță închisă, din oțel' },\n\t{ value: '87089997', label: '---- Altele' },\n\t{ value: '87090000', label: 'Cărucioare autopropulsate, fără dispozitiv de ridicare, de tipul celor folosite în fabrici, depozite, porturi sau aeroporturi pentru transportul mărfurilor pe distanțe scurte; cărucioare de tractare de tipul celor utilizate în gări; părți ale acestora' },\n\t{ value: '87091100', label: '- Cărucioare' },\n\t{ value: '87091100', label: '-- Electrice' },\n\t{ value: '87091110', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87091190', label: '--- Altele' },\n\t{ value: '87091900', label: '-- Altele' },\n\t{ value: '87091910', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87091990', label: '--- Altele' },\n\t{ value: '87099000', label: '- Părți' },\n\t{ value: '87100000', label: 'Tancuri și alte vehicule blindate de luptă, motorizate, înarmate sau nu; părți ale acestora' },\n\t{ value: '87110000', label: 'Motociclete (inclusiv mopede) și biciclete, triciclete sau similare, echipate cu pedale și cu motor auxiliar, cu sau fără ataș; atașe' },\n\t{ value: '87111000', label: '- Cu motor cu piston cu o capacitate cilindrică de maximum 50 cm3' },\n\t{ value: '87112000', label: '- Cu motor cu piston cu o capacitate cilindrică peste 50 cm3, dar de maximum 250 cm3' },\n\t{ value: '87112010', label: '-- Scutere' },\n\t{ value: '87112092', label: '-- Altele, cu o capacitate cilindrică' },\n\t{ value: '87112092', label: '--- Peste 50 cm3, dar de maximum 125 cm3' },\n\t{ value: '87112098', label: '--- Peste 125 cm3, dar de maximum 250 cm3' },\n\t{ value: '87113000', label: '- Cu motor cu piston cu o capacitate cilindrică peste 250 cm3, dar de maximum 500 cm3' },\n\t{ value: '87113010', label: '-- Cu o capacitate cilindrică peste 250 cm3, dar de maximum 380 cm3' },\n\t{ value: '87113090', label: '-- Cu o capacitate cilindrică peste 380 cm3, dar de maximum 500 cm3' },\n\t{ value: '87114000', label: '- Cu motor cu piston cu o capacitate cilindrică peste 500 cm3, dar de maximum 800 cm3' },\n\t{ value: '87115000', label: '- Cu motor cu piston cu o capacitate cilindrică peste 800 cm3' },\n\t{ value: '87116000', label: '- Având motor electric pentru propulsie' },\n\t{ value: '87116010', label: '-- Biciclete, tricicluri și cvadricicluri, cu pedalare asistată, cu un motor electric auxiliar cu o putere nominală continuă de maximum 250 W' },\n\t{ value: '87116090', label: '-- Altele' },\n\t{ value: '87119000', label: '- Altele' },\n\t{ value: '87120000', label: 'Biciclete și similare (inclusiv tricicluri cu cutie de transport mărfuri), fără motor' },\n\t{ value: '87120030', label: '- Biciclete cu rulmenți cu bile' },\n\t{ value: '87120070', label: '- Altele' },\n\t{ value: '87130000', label: 'Scaune cu rotile și alte vehicule pentru invalizi, chiar cu motor sau cu alt mecanism de propulsie' },\n\t{ value: '87131000', label: '- Fără mecanism de propulsie' },\n\t{ value: '87139000', label: '- Altele' },\n\t{ value: '87140000', label: 'Părți și accesorii de vehicule de la pozițiile 8711-8713' },\n\t{ value: '87141000', label: '- De motociclete (inclusiv de biciclete cu motor)' },\n\t{ value: '87141010', label: '-- Frâne și părți ale acestora' },\n\t{ value: '87141020', label: '-- Cutii de viteză și părți ale acestora' },\n\t{ value: '87141030', label: '-- Roți, părți și accesorii pentru roți' },\n\t{ value: '87141040', label: '-- Tobe și țevi de eșapament; părți ale acestora' },\n\t{ value: '87141050', label: '-- Ambreiaje și părți ale acestora' },\n\t{ value: '87141090', label: '-- Altele' },\n\t{ value: '87142000', label: '- De scaune cu rotile sau de alte vehicule pentru invalizi' },\n\t{ value: '87149100', label: '- Altele' },\n\t{ value: '87149100', label: '-- Cadre și furci și părțile lor' },\n\t{ value: '87149110', label: '--- Cadre' },\n\t{ value: '87149130', label: '--- Furci frontale' },\n\t{ value: '87149190', label: '--- Părți' },\n\t{ value: '87149200', label: '-- Jante și spițe' },\n\t{ value: '87149210', label: '--- Jante' },\n\t{ value: '87149290', label: '--- Spițe' },\n\t{ value: '87149300', label: '-- Butuci de roți (alții decât butucii de frâne) și pinioane de roți libere' },\n\t{ value: '87149400', label: '-- Frâne, inclusiv butucii de frâne și părți ale acestora' },\n\t{ value: '87149420', label: '--- Frâne' },\n\t{ value: '87149490', label: '--- Părți' },\n\t{ value: '87149500', label: '-- Șei' },\n\t{ value: '87149600', label: '-- Pedale și dispozitive de pedalare și părți ale acestora' },\n\t{ value: '87149610', label: '--- Pedale' },\n\t{ value: '87149630', label: '--- Dispozitive de pedalare' },\n\t{ value: '87149690', label: '--- Părți' },\n\t{ value: '87149900', label: '-- Altele' },\n\t{ value: '87149910', label: '--- Ghidoane' },\n\t{ value: '87149930', label: '--- Portbagaje' },\n\t{ value: '87149950', label: '--- Schimbătoare de viteză' },\n\t{ value: '87149990', label: '--- Altele; părți' },\n\t{ value: '87150000', label: 'Landouri, cărucioare și altele similare pentru transportul copiilor; părți ale acestor produse' },\n\t{ value: '87150010', label: '- Landouri, cărucioare și vehicule similare' },\n\t{ value: '87150090', label: '- Părți' },\n\t{ value: '87160000', label: 'Remorci și semiremorci pentru toate vehiculele; alte vehicule nepropulsate mecanic; părți ale acestora' },\n\t{ value: '87161000', label: '- Remorci și semiremorci pentru locuit sau camping, de tipul rulotă' },\n\t{ value: '87161092', label: '-- Cu o greutate de maximum 1 600 kg' },\n\t{ value: '87161098', label: '-- Cu o greutate peste 1 600 kg' },\n\t{ value: '87162000', label: '- Remorci și semiremorci autoîncărcătoare sau autodescărcătoare, pentru utilizări agricole' },\n\t{ value: '87163100', label: '- Alte remorci și semiremorci pentru transportul mărfurilor' },\n\t{ value: '87163100', label: '-- Remorci cisternă și semiremorci cisternă' },\n\t{ value: '87163900', label: '-- Altele' },\n\t{ value: '87163910', label: '--- Special proiectate pentru transportul produselor puternic radioactive' },\n\t{ value: '87163930', label: '--- Altele' },\n\t{ value: '87163930', label: '---- Noi' },\n\t{ value: '87163930', label: '----- Semiremorci' },\n\t{ value: '87163950', label: '----- Altele' },\n\t{ value: '87163980', label: '---- Folosite' },\n\t{ value: '87164000', label: '- Alte remorci și semiremorci' },\n\t{ value: '87168000', label: '- Alte vehicule' },\n\t{ value: '87169000', label: '- Părți' },\n\t{ value: '87169010', label: '-- Șasiuri' },\n\t{ value: '87169030', label: '-- Caroserii' },\n\t{ value: '87169050', label: '-- Osii' },\n\t{ value: '87169090', label: '-- Alte părți' },\n\t{ value: '88000000', label: 'VEHICULE AERIENE, NAVE SPAȚIALE ȘI PĂRȚI ALE ACESTORA' },\n\t{ value: '88010000', label: 'Baloane și dirijabile; planoare, deltaplane și alte vehicule aeriene, neconcepute pentru propulsia cu motor' },\n\t{ value: '88010010', label: '- Baloane și dirijabile; planoare și deltaplane' },\n\t{ value: '88010090', label: '- Altele' },\n\t{ value: '88020000', label: 'Alte vehicule aeriene (de exemplu, elicoptere, avioane), cu excepția vehiculelor aeriene fără pilot de la poziția 8806; vehicule spațiale (inclusiv sateliți) și vehicule pentru lansarea acestora și vehicule suborbitale' },\n\t{ value: '88021100', label: '- Elicoptere' },\n\t{ value: '88021100', label: '-- Cu o greutate fără încărcătură de maximum 2 000 kg' },\n\t{ value: '88021200', label: '-- Cu o greutate fără încărcătură peste 2 000 kg' },\n\t{ value: '88022000', label: '- Avioane și alte vehicule aeriene cu o greutate fără încărcătură de maximum 2 000 kg' },\n\t{ value: '88023000', label: '- Avioane și alte vehicule aeriene cu o greutate fără încărcătură peste 2 000 kg, dar maximum 15 000 kg' },\n\t{ value: '88024000', label: '- Avioane și alte vehicule aeriene cu o greutate fără încărcătură peste 15 000 kg' },\n\t{ value: '88026000', label: '- Vehicule spațiale (inclusiv sateliți) și vehicule pentru lansarea acestora și vehicule suborbitale' },\n\t{ value: '88026011', label: '-- Vehicule spațiale (inclusiv sateliți)' },\n\t{ value: '88026011', label: '--- Sateliți de telecomunicații' },\n\t{ value: '88026019', label: '--- Altele' },\n\t{ value: '88026090', label: '-- Vehicule pentru lansarea acestora și vehicule suborbitale' },\n\t{ value: '88040000', label: 'Parașute (inclusiv parașute dirijabile și parapante) și rotochute; părți și accesorii ale acestora' },\n\t{ value: '88050000', label: 'Aparate și dispozitive pentru lansarea vehiculelor aeriene; aparate și dispozitive pentru apuntarea vehiculelor aeriene și aparate și dispozitive similare; simulatoare de zbor pentru antrenament la sol; părți ale acestora' },\n\t{ value: '88051000', label: '- Aparate și dispozitive pentru lansarea vehiculelor aeriene și părți ale acestora; aparate și dispozitive pentru apuntarea vehiculelor aeriene și aparate și dispozitive similare și părți ale acestora' },\n\t{ value: '88051010', label: '-- Aparate și dispozitive pentru lansarea vehiculelor aeriene și părți ale acestora' },\n\t{ value: '88051090', label: '-- Altele' },\n\t{ value: '88052100', label: '- Simulatoare de zbor pentru antrenament la sol și părți ale acestora' },\n\t{ value: '88052100', label: '-- Simulatoare pentru lupte aeriene și părți ale acestora' },\n\t{ value: '88052900', label: '-- Altele' },\n\t{ value: '88060000', label: 'Vehicule aeriene fără pilot' },\n\t{ value: '88061000', label: '- Concepute pentru transportul călătorilor' },\n\t{ value: '88061010', label: '-- Cu o greutate fără încărcătură de maximum 2 000 kg' },\n\t{ value: '88061090', label: '-- Cu o greutate fără încărcătură peste 2 000 kg' },\n\t{ value: '88062100', label: '- Altele, concepute doar pentru a fi teleghidate' },\n\t{ value: '88062100', label: '-- Cu o greutate maximă la decolare de maximum 250 g' },\n\t{ value: '88062110', label: '--- Multirotoare, echipate cu aparate integrate permanent de la subpoziția 8525 89 pentru captarea și înregistrarea de imagini video și imagini statice' },\n\t{ value: '88062190', label: '--- Altele' },\n\t{ value: '88062200', label: '-- Cu o greutate maximă la decolare de peste 250 g, dar de maximum 7 kg' },\n\t{ value: '88062210', label: '--- Multirotoare, echipate cu aparate integrate permanent de la subpoziția 8525 89 pentru captarea și înregistrarea de imagini video și imagini statice' },\n\t{ value: '88062290', label: '--- Altele' },\n\t{ value: '88062300', label: '-- Cu o greutate maximă la decolare de peste 7 kg, dar de maximum 25 kg' },\n\t{ value: '88062400', label: '-- Cu o greutate maximă la decolare de peste 25 kg, dar de maximum 150 kg' },\n\t{ value: '88062900', label: '-- Altele' },\n\t{ value: '88062910', label: '--- Cu o greutate fără încărcătură de maximum 2 000 kg' },\n\t{ value: '88062920', label: '--- Cu o greutate fără încărcătură peste 2 000 kg' },\n\t{ value: '88069100', label: '- Altele' },\n\t{ value: '88069100', label: '-- Cu o greutate maximă la decolare mai mică de 250 g' },\n\t{ value: '88069200', label: '-- Cu o greutate maximă la decolare de peste 250 g, dar de maximum 7 kg' },\n\t{ value: '88069300', label: '-- Cu o greutate maximă la decolare de peste 7 kg, dar de maximum 25 kg' },\n\t{ value: '88069400', label: '-- Cu o greutate maximă la decolare de peste 25 kg, dar de maximum 150 kg' },\n\t{ value: '88069900', label: '-- Altele' },\n\t{ value: '88069910', label: '--- Cu o greutate fără încărcătură de maximum 2 000 kg' },\n\t{ value: '88069920', label: '--- Cu o greutate fără încărcătură peste 2 000 kg' },\n\t{ value: '88070000', label: 'Părți ale aparatelor de la pozițiile 8801, 8802 sau 8806' },\n\t{ value: '88071000', label: '- Elice și rotoare, și părți ale acestora' },\n\t{ value: '88072000', label: '- Trenuri de aterizare și părți ale acestora' },\n\t{ value: '88073000', label: '- Alte părți ale avioanelor, ale elicopterelor sau ale vehiculelor aeriene fără pilot' },\n\t{ value: '88079000', label: '- Altele' },\n\t{ value: '88079010', label: '-- Pentru zmee' },\n\t{ value: '88079021', label: '-- Pentru vehicule spațiale (inclusiv pentru sateliți)' },\n\t{ value: '88079021', label: '--- De sateliți de telecomunicații' },\n\t{ value: '88079029', label: '--- Altele' },\n\t{ value: '88079030', label: '-- Pentru vehicule lansatoare și pentru vehicule suborbitale' },\n\t{ value: '88079090', label: '-- Altele' },\n\t{ value: '89000000', label: 'VAPOARE, NAVE ȘI DISPOZITIVE PLUTITOARE' },\n\t{ value: '89010000', label: 'Pacheboturi, nave de croazieră, feriboturi, cargouri, șlepuri și nave similare pentru transportul persoanelor sau mărfurilor' },\n\t{ value: '89011000', label: '- Pacheboturi, nave de croazieră și nave similare în principal concepute pentru transportul persoanelor; feriboturi' },\n\t{ value: '89011010', label: '-- Pentru navigația maritimă' },\n\t{ value: '89011090', label: '-- Altele' },\n\t{ value: '89012000', label: '- Nave cisternă' },\n\t{ value: '89012010', label: '-- Pentru navigația maritimă' },\n\t{ value: '89012090', label: '-- Altele' },\n\t{ value: '89013000', label: '- Nave frigorifice, altele decât cele de la poziția 8901 20' },\n\t{ value: '89013010', label: '-- Pentru navigația maritimă' },\n\t{ value: '89013090', label: '-- Altele' },\n\t{ value: '89019000', label: '- Alte nave pentru transportul mărfurilor și alte nave proiectate atât pentru transportul persoanelor cât și al mărfurilor' },\n\t{ value: '89019010', label: '-- Pentru navigația maritimă' },\n\t{ value: '89019090', label: '-- Altele' },\n\t{ value: '89020000', label: 'Nave de pescuit; nave fabrică și alte nave pentru prelucrarea sau conservarea produselor de pescărie' },\n\t{ value: '89020010', label: '- Pentru navigația maritimă' },\n\t{ value: '89020090', label: '- Altele' },\n\t{ value: '89030000', label: 'Iahturi și alte nave și ambarcațiuni de agrement sau pentru sport; bărci cu rame și canoe' },\n\t{ value: '89031100', label: '- Bărci gonflabile (inclusiv cu cocă rigidă)' },\n\t{ value: '89031100', label: '-- Echipate cu un motor sau concepute pentru a fi echipate cu un motor, cu greutatea fără încărcătură (netă) (fără motor) de maximum 100 kg' },\n\t{ value: '89031200', label: '-- Care nu sunt concepute pentru a fi utilizate cu un motor și cu o greutate fără încărcătură (netă) de maximum 100 kg' },\n\t{ value: '89031900', label: '-- Altele' },\n\t{ value: '89032100', label: '- Nave cu vele, altele decât cele gonflabile, cu sau fără motor auxiliar' },\n\t{ value: '89032100', label: '-- Cu o lungime de maximum 7,5 m' },\n\t{ value: '89032200', label: '-- Cu o lungime de peste 7,5 m, dar de maximum 24 m' },\n\t{ value: '89032210', label: '--- Pentru navigația maritimă' },\n\t{ value: '89032290', label: '--- Altele' },\n\t{ value: '89032300', label: '-- Cu o lungime de peste 24 m' },\n\t{ value: '89032310', label: '--- Pentru navigația maritimă' },\n\t{ value: '89032390', label: '--- Altele' },\n\t{ value: '89033100', label: '- Nave cu motor, altele decât cele gonflabile, neincluzându-le pe cele cu motor suspendat' },\n\t{ value: '89033100', label: '-- Cu o lungime de maximum 7,5 m' },\n\t{ value: '89033200', label: '-- Cu o lungime de peste 7,5 m, dar de maximum 24 m' },\n\t{ value: '89033210', label: '--- Pentru navigația maritimă' },\n\t{ value: '89033290', label: '--- Altele' },\n\t{ value: '89033300', label: '-- Cu o lungime de peste 24 m' },\n\t{ value: '89033310', label: '--- Pentru navigația maritimă' },\n\t{ value: '89033390', label: '--- Altele' },\n\t{ value: '89039300', label: '- Altele' },\n\t{ value: '89039300', label: '-- Cu o lungime de maximum 7,5 m' },\n\t{ value: '89039310', label: '--- Cu greutatea unitară de maximum 100 kg' },\n\t{ value: '89039390', label: '--- Altele' },\n\t{ value: '89039900', label: '-- Altele' },\n\t{ value: '89039910', label: '--- Cu greutatea unitară de maximum 100 kg' },\n\t{ value: '89039999', label: '--- Altele' },\n\t{ value: '89040000', label: 'Remorchere și împingătoare' },\n\t{ value: '89040010', label: '- Remorchere' },\n\t{ value: '89040091', label: '- Împingătoare' },\n\t{ value: '89040091', label: '-- Pentru navigația maritimă' },\n\t{ value: '89040099', label: '-- Altele' },\n\t{ value: '89050000', label: 'Nave-far, nave pentru stingerea incendiilor, nave de dragare, macarale plutitoare și alte nave pentru care navigația este numai subsidiară față de funcția principală; docuri plutitoare; platforme de forare sau de exploatare, plutitoare sau submersibile' },\n\t{ value: '89051000', label: '- Nave de dragare' },\n\t{ value: '89051010', label: '-- Pentru navigația maritimă' },\n\t{ value: '89051090', label: '-- Altele' },\n\t{ value: '89052000', label: '- Platforme de forare sau de exploatare, plutitoare sau submersibile' },\n\t{ value: '89059000', label: '- Altele' },\n\t{ value: '89059010', label: '-- Pentru navigația maritimă' },\n\t{ value: '89059090', label: '-- Altele' },\n\t{ value: '89060000', label: 'Alte nave, inclusiv nave de război și nave de salvare, altele decât cele cu rame' },\n\t{ value: '89061000', label: '- Nave de război' },\n\t{ value: '89069000', label: '- Altele' },\n\t{ value: '89069010', label: '-- Pentru navigația maritimă' },\n\t{ value: '89069091', label: '-- Altele' },\n\t{ value: '89069091', label: '--- Cu greutatea unitară de maximum 100 kg' },\n\t{ value: '89069099', label: '--- Altele' },\n\t{ value: '89070000', label: 'Alte dispozitive plutitoare (de exemplu, plute, rezervoare, chesoane, geamanduri de ancorare, geamanduri și balize)' },\n\t{ value: '89071000', label: '- Plute gonflabile' },\n\t{ value: '89079000', label: '- Altele' },\n\t{ value: '89080000', label: 'Nave și alte dispozitive plutitoare pentru dezmembrare' },\n\t{ value: '90000000', label: 'INSTRUMENTE ȘI APARATE OPTICE, FOTOGRAFICE SAU CINEMATOGRAFICE, DE MĂSURĂ, DE CONTROL SAU DE PRECIZIE; INSTRUMENTE ȘI APARATE MEDICO-CHIRURGICALE; PĂRȚI ȘI ACCESORII ALE ACESTORA' },\n\t{ value: '90010000', label: 'Fibre optice și fascicule de fibre optice; cabluri din fibre optice, altele decât cele de la poziția 8544; materiale polarizante sub formă de foi sau plăci; lentile (inclusiv lentile de contact), prisme, oglinzi și alte elemente optice din orice material, nemontate, altele decât cele din sticlă neprelucrată optic' },\n\t{ value: '90011000', label: '- Fibre optice, fascicule de fibre și cabluri din fibre optice' },\n\t{ value: '90011010', label: '-- Cabluri conductoare de imagine' },\n\t{ value: '90011090', label: '-- Altele' },\n\t{ value: '90012000', label: '- Materiale polarizante sub formă de foi sau de plăci' },\n\t{ value: '90013000', label: '- Lentile de contact' },\n\t{ value: '90014000', label: '- Lentile din sticlă pentru ochelari' },\n\t{ value: '90014020', label: '-- Necorectoare' },\n\t{ value: '90014041', label: '-- Corectoare' },\n\t{ value: '90014041', label: '--- Prelucrate complet pe cele două fețe' },\n\t{ value: '90014041', label: '---- Unifocale' },\n\t{ value: '90014049', label: '---- Altele' },\n\t{ value: '90014080', label: '--- Altele' },\n\t{ value: '90015000', label: '- Lentile din alte materiale pentru ochelari' },\n\t{ value: '90015020', label: '-- Necorectoare' },\n\t{ value: '90015041', label: '-- Corectoare' },\n\t{ value: '90015041', label: '--- Prelucrate complet pe cele două fețe' },\n\t{ value: '90015041', label: '---- Unifocale' },\n\t{ value: '90015049', label: '---- Altele' },\n\t{ value: '90015080', label: '--- Altele' },\n\t{ value: '90019000', label: '- Altele' },\n\t{ value: '90020000', label: 'Lentile, prisme, oglinzi și alte elemente optice din orice material, montate, pentru instrumente sau aparate, altele decât cele din sticlă neprelucrată optic' },\n\t{ value: '90021100', label: '- Obiective' },\n\t{ value: '90021100', label: '-- Pentru aparate de luat vederi, pentru proiectoare, pentru aparate fotografice sau cinematografice, de mărire sau de micșorare' },\n\t{ value: '90021900', label: '-- Altele' },\n\t{ value: '90022000', label: '- Filtre' },\n\t{ value: '90029000', label: '- Altele' },\n\t{ value: '90030000', label: 'Monturi și rame de ochelari sau de articole similare și părți ale acestora' },\n\t{ value: '90031100', label: '- Monturi și rame' },\n\t{ value: '90031100', label: '-- Din material plastic' },\n\t{ value: '90031900', label: '-- Din alte materiale' },\n\t{ value: '90039000', label: '- Părți' },\n\t{ value: '90040000', label: 'Ochelari (de corecție, de protecție sau altele) și articole similare' },\n\t{ value: '90041000', label: '- Ochelari de soare' },\n\t{ value: '90041010', label: '-- Cu lentile prelucrate optic' },\n\t{ value: '90041091', label: '-- Altele' },\n\t{ value: '90041091', label: '--- Cu lentile din material plastic' },\n\t{ value: '90041099', label: '--- Altele' },\n\t{ value: '90049000', label: '- Altele' },\n\t{ value: '90049010', label: '-- Cu lentile din material plastic' },\n\t{ value: '90049090', label: '-- Altele' },\n\t{ value: '90050000', label: 'Binocluri, lunete, lunete astronomice, telescoape optice și monturi ale acestora; alte instrumente de astronomie și suporturile acestora, cu excepția instrumentelor de radioastronomie' },\n\t{ value: '90051000', label: '- Binocluri' },\n\t{ value: '90058000', label: '- Alte instrumente' },\n\t{ value: '90059000', label: '- Părți și accesorii (inclusiv suporturi)' },\n\t{ value: '90060000', label: 'Aparate fotografice (altele decât cinematografice); aparate și dispozitive, inclusiv lămpi și tuburi, pentru producerea luminii de blitz în tehnica fotografică, cu excepția lămpilor și tuburilor cu descărcare de la poziția 8539' },\n\t{ value: '90063000', label: '- Aparate fotografice special construite pentru fotografierea submarină sau aeriană, pentru examenul medical al organelor interne sau pentru laboratoarele de medicină legală sau de criminalistică' },\n\t{ value: '90064000', label: '- Aparate fotografice cu developare și revelare instantanee' },\n\t{ value: '90065300', label: '- Alte aparate fotografice' },\n\t{ value: '90065300', label: '-- Pentru rolfilme cu lățimea de 35 mm' },\n\t{ value: '90065310', label: '--- Aparate fotografice de unică folosință' },\n\t{ value: '90065380', label: '--- Altele' },\n\t{ value: '90065900', label: '-- Altele' },\n\t{ value: '90066100', label: '- Aparate și dispozitive, inclusiv lămpi și tuburi pentru producerea de lumină blitz' },\n\t{ value: '90066100', label: '-- Aparate cu tub cu descărcare pentru producerea luminii blitz (numite \"blitzuri electronice\")' },\n\t{ value: '90066900', label: '-- Altele' },\n\t{ value: '90069100', label: '- Părți și accesorii' },\n\t{ value: '90069100', label: '-- De aparate fotografice' },\n\t{ value: '90069900', label: '-- Altele' },\n\t{ value: '90070000', label: 'Aparate de filmat și proiectoare cinematografice, chiar încorporând aparate de înregistrare sau de reproducere a sunetului' },\n\t{ value: '90071000', label: '- Aparate de filmat' },\n\t{ value: '90072000', label: '- Proiectoare' },\n\t{ value: '90079100', label: '- Părți și accesorii' },\n\t{ value: '90079100', label: '-- De aparate de filmat' },\n\t{ value: '90079200', label: '-- De proiectoare' },\n\t{ value: '90080000', label: 'Proiectoare de imagini fixe (altele decât cinematografice); aparate fotografice de mărire sau de reducere' },\n\t{ value: '90085000', label: '- Proiectoare și aparate de mărire sau de reducere' },\n\t{ value: '90089000', label: '- Părți și accesorii' },\n\t{ value: '90100000', label: 'Aparate și echipamente pentru laboratoare fotografice sau cinematografice, nedenumite și necuprinse în altă parte în acest capitol; negatoscoape; ecrane pentru proiecții' },\n\t{ value: '90101000', label: '- Aparate și echipamente pentru developarea automată a peliculelor fotografice, a filmelor cinematografice sau a hârtiei fotografice în role sau pentru expunerea automată a peliculei developate pe role de hârtie fotografică' },\n\t{ value: '90105000', label: '- Alte aparate și dispozitive pentru laboratoare fotografice sau cinematografice; negatoscoape' },\n\t{ value: '90106000', label: '- Ecrane pentru proiecții' },\n\t{ value: '90109000', label: '- Părți și accesorii' },\n\t{ value: '90109020', label: '-- De aparate și echipamente de la subpozițiile 9010 50 00 sau 9010 60 00' },\n\t{ value: '90109080', label: '-- Altele' },\n\t{ value: '90110000', label: 'Microscoape optice, inclusiv microscoape pentru microfotografie, microcinematografie sau microproiecție' },\n\t{ value: '90111000', label: '- Microscoape stereoscopice' },\n\t{ value: '90112000', label: '- Alte microscoape, pentru microfotografie, microcinematografie sau microproiecție' },\n\t{ value: '90112010', label: '-- Microscoape microfotografice dotate cu echipamente special proiectate pentru manipularea și transportul discurilor (wafers) semiconductoare sau reticulelor' },\n\t{ value: '90112090', label: '-- Altele' },\n\t{ value: '90118000', label: '- Alte microscoape' },\n\t{ value: '90119000', label: '- Părți și accesorii' },\n\t{ value: '90120000', label: 'Microscoape, altele decât microscoapele optice; difractografe' },\n\t{ value: '90121000', label: '- Microscoape, altele decât microscoapele optice și difractografe' },\n\t{ value: '90129000', label: '- Părți și accesorii' },\n\t{ value: '90130000', label: 'Lasere, altele decât diodele laser; alte aparate și instrumente optice, nedenumite și necuprinse la alte poziții ale acestui capitol' },\n\t{ value: '90131000', label: '- Lunete de ochire pentru arme; periscoape; lunete pentru mașini, aparate sau instrumente cuprinse în acest capitol sau în secțiunea XVI' },\n\t{ value: '90131010', label: '-- Telescoape concepute pentru a face parte din mașini, dispozitive, instrumente sau aparate de la prezentul capitol sau din secțiunea XVI' },\n\t{ value: '90131090', label: '-- Altele' },\n\t{ value: '90132000', label: '- Lasere, altele decât diodele laser' },\n\t{ value: '90138000', label: '- Alte dispozitive, aparate și instrumente' },\n\t{ value: '90139000', label: '- Părți și accesorii' },\n\t{ value: '90139005', label: '-- Pentru lunetele de ochire pentru arme sau periscoape' },\n\t{ value: '90139080', label: '-- Altele' },\n\t{ value: '90140000', label: 'Busole, inclusiv compasuri de navigație; alte instrumente și aparate de navigație' },\n\t{ value: '90141000', label: '- Busole, inclusiv compasuri de navigație' },\n\t{ value: '90142000', label: '- Instrumente și aparate pentru navigația aeriană sau spațială (altele decât busolele)' },\n\t{ value: '90142020', label: '-- Sistem de navigație inerțial' },\n\t{ value: '90142080', label: '-- Altele' },\n\t{ value: '90148000', label: '- Alte instrumente și aparate' },\n\t{ value: '90149000', label: '- Părți și accesorii' },\n\t{ value: '90150000', label: 'Instrumente și aparate de geodezie, de topografie, de arpentaj, de nivelmetrie, de fotogrametrie, de hidrografie, de oceanografie, de hidrologie, de meteorologie sau de geofizică, cu excepția busolelor; telemetre' },\n\t{ value: '90151000', label: '- Telemetre' },\n\t{ value: '90152000', label: '- Teodolite și tahometre' },\n\t{ value: '90153000', label: '- Nivele' },\n\t{ value: '90153010', label: '-- Electronice' },\n\t{ value: '90153090', label: '-- Altele' },\n\t{ value: '90154000', label: '- Instrumente și aparate de fotogrametrie' },\n\t{ value: '90158000', label: '- Alte instrumente și aparate' },\n\t{ value: '90158020', label: '-- De meteorologie, hidrologie și de geofizică' },\n\t{ value: '90158040', label: '-- De geodezie, topografie, arpentaj, nivelmetrie și de hidrografie' },\n\t{ value: '90158080', label: '-- Altele' },\n\t{ value: '90159000', label: '- Părți și accesorii' },\n\t{ value: '90160000', label: 'Balanțe sensibile la o greutate de 5 cg sau mai puțin, cu sau fără greutăți' },\n\t{ value: '90160010', label: '- Balanțe' },\n\t{ value: '90160090', label: '- Părți și accesorii' },\n\t{ value: '90170000', label: 'Instrumente de desen, de trasare sau de calcul (de exemplu, mașini de desenat, pantografe, raportoare, truse de matematică, rigle și discuri de calcul); instrumente pentru măsurarea lungimii, pentru folosire manuală (de exemplu, rigle, rulete, micrometre, șublere, calibre), nedenumite și necuprinse în altă parte în acest capitol' },\n\t{ value: '90171000', label: '- Mese și mașini de desenat, chiar automate' },\n\t{ value: '90171010', label: '-- Plottere' },\n\t{ value: '90171090', label: '-- Altele' },\n\t{ value: '90172000', label: '- Alte instrumente de desen, de trasare sau de calcul' },\n\t{ value: '90172005', label: '-- Plottere' },\n\t{ value: '90172010', label: '-- Alte instrumente de desen' },\n\t{ value: '90172039', label: '-- Instrumente de trasare' },\n\t{ value: '90172090', label: '-- Instrumente de calcul' },\n\t{ value: '90173000', label: '- Micrometre, șublere, calibre reglabile și joje' },\n\t{ value: '90178000', label: '- Alte instrumente' },\n\t{ value: '90178010', label: '-- Metri și rigle gradate' },\n\t{ value: '90178090', label: '-- Altele' },\n\t{ value: '90179000', label: '- Părți și accesorii' },\n\t{ value: '90180000', label: 'Instrumente și aparate pentru medicină, chirurgie, stomatologie sau medicina veterinară, inclusiv aparate de scintigrafie și alte aparate electromedicale, precum și aparate pentru testarea vederii' },\n\t{ value: '90181100', label: '- Aparate pentru electrodiagnostic (inclusiv aparate pentru explorări funcționale sau de supraveghere a parametrilor fiziologici)' },\n\t{ value: '90181100', label: '-- Electrocardiografe' },\n\t{ value: '90181200', label: '-- Aparate pentru diagnostic prin scanare ultrasonică (scanners)' },\n\t{ value: '90181300', label: '-- Aparate de diagnostic cu vizualizare prin rezonanță magnetică' },\n\t{ value: '90181400', label: '-- Aparate de scintigrafie' },\n\t{ value: '90181900', label: '-- Altele' },\n\t{ value: '90181910', label: '--- Aparate de monitorizare capabile să urmărească simultan doi sau mai mulți parametri fiziologici' },\n\t{ value: '90181990', label: '--- Altele' },\n\t{ value: '90182000', label: '- Aparate cu raze ultraviolete sau infraroșii' },\n\t{ value: '90183100', label: '- Seringi, ace, catetere, canule și instrumente similare' },\n\t{ value: '90183100', label: '-- Seringi, cu sau fără ace' },\n\t{ value: '90183110', label: '--- Din material plastic' },\n\t{ value: '90183190', label: '--- Altele' },\n\t{ value: '90183200', label: '-- Ace tubulare din metal și ace pentru sutură' },\n\t{ value: '90183210', label: '--- Ace tubulare din metal' },\n\t{ value: '90183290', label: '--- Ace pentru sutură' },\n\t{ value: '90183900', label: '-- Altele' },\n\t{ value: '90184100', label: '- Alte instrumente și aparate pentru stomatologie' },\n\t{ value: '90184100', label: '-- Freze dentare, chiar combinate pe o bază comună cu alte echipamente dentare' },\n\t{ value: '90184900', label: '-- Altele' },\n\t{ value: '90184910', label: '--- Pietre de șlefuit, discuri, freze și perii pentru freze dentare' },\n\t{ value: '90184990', label: '--- Altele' },\n\t{ value: '90185000', label: '- Alte instrumente și aparate de oftalmologie' },\n\t{ value: '90185010', label: '-- Neoptice' },\n\t{ value: '90185090', label: '-- Optice' },\n\t{ value: '90189000', label: '- Alte instrumente și aparate' },\n\t{ value: '90189010', label: '-- Instrumente și aparate pentru măsurarea presiunii arteriale' },\n\t{ value: '90189020', label: '-- Endoscoape' },\n\t{ value: '90189030', label: '-- Rinichi artificiali' },\n\t{ value: '90189040', label: '-- Aparate de diatermie' },\n\t{ value: '90189050', label: '-- Aparate de transfuzie și perfuzie' },\n\t{ value: '90189060', label: '-- Instrumente și aparate pentru anestezie' },\n\t{ value: '90189075', label: '-- Aparate pentru stimularea nervilor' },\n\t{ value: '90189084', label: '-- Altele' },\n\t{ value: '90190000', label: 'Aparate de mecanoterapie; aparate de masaj; aparate pentru testări psihologice; aparate de ozonoterapie, de oxigenoterapie, de aerosoloterapie, aparate respiratorii de reanimare și alte aparate de terapie respiratorie' },\n\t{ value: '90191000', label: '- Aparate de mecanoterapie; aparate de masaj; aparate pentru testări psihologice' },\n\t{ value: '90191010', label: '-- Vibromasoare electrice' },\n\t{ value: '90191090', label: '-- Altele' },\n\t{ value: '90192000', label: '- Aparate de ozonoterapie, de oxigenoterapie, de aerosoloterapie, aparate respiratorii de reanimare și alte aparate de terapie respiratorie' },\n\t{ value: '90192010', label: '-- Aparate de ventilație mecanică, capabile să asigure o ventilație invazivă' },\n\t{ value: '90192020', label: '-- Aparate de ventilație mecanică, neinvazive' },\n\t{ value: '90192090', label: '-- Altele, inclusiv piese și accesorii' },\n\t{ value: '90200000', label: 'Alte aparate respiratorii și măști de gaze, excluzând măștile de protecție lipsite de părți mecanice și element filtrant amovibil' },\n\t{ value: '90200010', label: '- Măști de gaze' },\n\t{ value: '90200090', label: '- Altele, inclusiv piese și accesorii' },\n\t{ value: '90210000', label: 'Articole și aparate de ortopedie, inclusiv centurile și bandajele medicochirurgicale și cârjele; atele, gutiere și alte articole și aparate pentru fracturi; articole și aparate de proteză; aparate pentru facilitarea auzului surzilor și alte aparate care se poartă, se duc în mână sau care se implantează în organism pentru compensarea unei deficiențe sau infirmități' },\n\t{ value: '90211000', label: '- Aparate de ortopedie sau pentru fracturi' },\n\t{ value: '90211010', label: '-- Articole și aparate de ortopedie' },\n\t{ value: '90211090', label: '-- Articole și aparate pentru fracturi' },\n\t{ value: '90212100', label: '- Dinți artificiali și articole pentru proteze dentare' },\n\t{ value: '90212100', label: '-- Dinți artificiali' },\n\t{ value: '90212110', label: '--- Din material plastic' },\n\t{ value: '90212190', label: '--- Din alte materiale' },\n\t{ value: '90212900', label: '-- Altele' },\n\t{ value: '90213100', label: '- Alte articole și aparate pentru proteze' },\n\t{ value: '90213100', label: '-- Proteze articulare' },\n\t{ value: '90213900', label: '-- Altele' },\n\t{ value: '90213910', label: '--- Proteze oculare' },\n\t{ value: '90213990', label: '--- Altele' },\n\t{ value: '90214000', label: '- Aparate pentru facilitarea auzului surzilor, cu excepția părților și accesoriilor' },\n\t{ value: '90215000', label: '- Stimulatoare cardiace, cu excepția părților și accesoriilor' },\n\t{ value: '90219000', label: '- Altele' },\n\t{ value: '90219010', label: '-- Părți și accesorii pentru aparate acustice pentru facilitarea auzului la surzi' },\n\t{ value: '90219090', label: '-- Altele' },\n\t{ value: '90220000', label: 'Aparate cu raze X și aparate care utilizează raze alfa, beta gama sau alte radiații ionizante, chiar de utilizare medicală, chirurgicală, stomatologică sau veterinară, inclusiv aparate de radiofotografie sau de radioterapie, tuburi cu raze X și dispozitive generatoare de raze X, generatoare de tensiune, pupitre de comandă, ecrane, mese, fotolii și suporturi similare pentru examinare sau tratament' },\n\t{ value: '90221200', label: '- Aparate cu raze X, chiar de utilizare medicală, chirurgicală, stomatologică sau veterinară, inclusiv aparatele de radiofotografie sau de radioterapie' },\n\t{ value: '90221200', label: '-- Aparate de tomografie computerizată' },\n\t{ value: '90221300', label: '-- Altele, pentru stomatologie' },\n\t{ value: '90221400', label: '-- Altele, de utilizare medicală, chirurgicală sau veterinară' },\n\t{ value: '90221900', label: '-- Pentru alte utilizări' },\n\t{ value: '90222100', label: '- Aparate cu raze alfa, beta gama sau alte radiații ionizante, de utilizare medicală, chirurgicală, stomatologică sau veterinară, inclusiv aparatele de radiofotografie sau de radioterapie' },\n\t{ value: '90222100', label: '-- De utilizare medicală, chirurgicală, stomatologică sau veterinară' },\n\t{ value: '90222900', label: '-- Pentru alte utilizări' },\n\t{ value: '90223000', label: '- Tuburi cu raze X' },\n\t{ value: '90229000', label: '- Altele, inclusiv părți și accesorii' },\n\t{ value: '90229020', label: '-- Părți și accesorii pentru aparate cu raze X' },\n\t{ value: '90229080', label: '-- Altele' },\n\t{ value: '90230000', label: 'Instrumente, aparate și modele destinate demonstrațiilor (de exemplu, în învățământ sau la expoziții), improprii altor utilizări' },\n\t{ value: '90230010', label: '- Pentru demonstrații de fizică, chimie sau tehnică' },\n\t{ value: '90230080', label: '- Altele' },\n\t{ value: '90240000', label: 'Mașini și aparate pentru încercări de duritate, tracțiune, comprimare, elasticitate sau de alte proprietăți mecanice ale materialelor (de exemplu, metale, lemn, textile, hârtie, material plastic)' },\n\t{ value: '90241000', label: '- Mașini și aparate pentru încercarea metalelor' },\n\t{ value: '90241020', label: '-- Universale și pentru testarea tracțiunii' },\n\t{ value: '90241040', label: '-- Pentru testarea durității' },\n\t{ value: '90241080', label: '-- Altele' },\n\t{ value: '90248000', label: '- Alte mașini și aparate' },\n\t{ value: '90249000', label: '- Părți și accesorii' },\n\t{ value: '90250000', label: 'Densimetre, areometre și instrumente flotante similare, termometre, pirometre, barometre, higrometre și psihrometre, cu înregistrare sau nu, chiar combinate între ele' },\n\t{ value: '90251100', label: '- Termometre și pirometre, necombinate cu alte instrumente' },\n\t{ value: '90251100', label: '-- Cu lichid, cu citire directă' },\n\t{ value: '90251120', label: '--- Medicale sau veterinare' },\n\t{ value: '90251180', label: '--- Altele' },\n\t{ value: '90251900', label: '-- Altele' },\n\t{ value: '90258000', label: '- Alte instrumente' },\n\t{ value: '90258020', label: '-- Barometre necombinate cu alte instrumente' },\n\t{ value: '90258040', label: '-- Altele' },\n\t{ value: '90258040', label: '--- Electronice' },\n\t{ value: '90258080', label: '--- Altele' },\n\t{ value: '90259000', label: '- Părți și accesorii' },\n\t{ value: '90260000', label: 'Instrumente și aparate pentru măsurarea sau controlul debitului, nivelului, presiunii sau altor caracteristici variabile ale lichidelor sau gazelor (de exemplu, debitmetre, indicatoare de nivel, manometre, contoare de căldură) cu excepția instrumentelor și aparatelor de la pozițiile 9014, 9015, 9028 sau 9032' },\n\t{ value: '90261000', label: '- Pentru măsurarea sau controlul debitului sau nivelului lichidelor' },\n\t{ value: '90261021', label: '-- Electronice' },\n\t{ value: '90261021', label: '--- Debitmetre' },\n\t{ value: '90261029', label: '--- Altele' },\n\t{ value: '90261081', label: '-- Altele' },\n\t{ value: '90261081', label: '--- Debitmetre' },\n\t{ value: '90261089', label: '--- Altele' },\n\t{ value: '90262000', label: '- Pentru măsurarea sau controlul presiunii' },\n\t{ value: '90262020', label: '-- Electronice' },\n\t{ value: '90262040', label: '-- Altele' },\n\t{ value: '90262040', label: '--- Manometre cu spirală sau cu membrane manometrice metalice' },\n\t{ value: '90262080', label: '--- Altele' },\n\t{ value: '90268000', label: '- Alte instrumente și aparate' },\n\t{ value: '90268020', label: '-- Electronice' },\n\t{ value: '90268080', label: '-- Altele' },\n\t{ value: '90269000', label: '- Părți și accesorii' },\n\t{ value: '90270000', label: 'Instrumente și aparate pentru analize fizice sau chimice (de exemplu, polarimetre, refractometre, spectrometre, analizoare de gaz sau de fum); instrumente și aparate de măsură și control al viscozității, porozității, dilatării, tensiunii superficiale sau similare sau pentru măsurări calorimetrice, acustice sau fotometrice (inclusiv exponometre); microtoame' },\n\t{ value: '90271000', label: '- Analizoare de gaz sau de fum' },\n\t{ value: '90271010', label: '-- Electronice' },\n\t{ value: '90271090', label: '-- Altele' },\n\t{ value: '90272000', label: '- Cromatografe și aparate de electroforeză' },\n\t{ value: '90273000', label: '- Spectrometre, spectrofotometre și spectrografe care utilizează radiații optice (UV, vizibile, IR)' },\n\t{ value: '90275000', label: '- Alte instrumente și aparate care folosesc radiații optice (UV, vizibile, IR)' },\n\t{ value: '90278100', label: '- Alte instrumente și aparate' },\n\t{ value: '90278100', label: '-- Spectrometre de masă' },\n\t{ value: '90278900', label: '-- Altele' },\n\t{ value: '90278910', label: '--- Exponometre' },\n\t{ value: '90278930', label: '--- pH-metre, rH-metre și alte aparate pentru măsurarea conductivității' },\n\t{ value: '90278990', label: '--- Altele' },\n\t{ value: '90279000', label: '- Microtoame; părți și accesorii' },\n\t{ value: '90280000', label: 'Contoare de gaze, de lichide sau de electricitate, inclusiv contoare pentru etalonarea lor' },\n\t{ value: '90281000', label: '- Contoare de gaze' },\n\t{ value: '90282000', label: '- Contoare de lichide' },\n\t{ value: '90283000', label: '- Contoare de electricitate' },\n\t{ value: '90283011', label: '-- Pentru curent alternativ' },\n\t{ value: '90283011', label: '--- Monofazat' },\n\t{ value: '90283019', label: '--- Polifazat' },\n\t{ value: '90283090', label: '-- Altele' },\n\t{ value: '90289000', label: '- Părți și accesorii' },\n\t{ value: '90289010', label: '-- De contoare electrice' },\n\t{ value: '90289090', label: '-- Altele' },\n\t{ value: '90290000', label: 'Alte contoare (de exemplu, contoare de turații, de producție, pentru taximetre, de kilometraj, podometre); indicatoare de viteză și tahometre, altele decât cele de la poziția 9014 sau 9015; stroboscoape' },\n\t{ value: '90291000', label: '- Contoare de turații sau de producție, pentru taximetre, de kilometraj, podometre și contoare similare' },\n\t{ value: '90292000', label: '- Indicatoare de viteză și tahometre; stroboscoape' },\n\t{ value: '90292031', label: '-- Indicatoare de viteză și tahometre' },\n\t{ value: '90292031', label: '--- Indicatoare de viteză pentru vehicule terestre' },\n\t{ value: '90292038', label: '--- Altele' },\n\t{ value: '90292090', label: '-- Stroboscoape' },\n\t{ value: '90299000', label: '- Părți și accesorii' },\n\t{ value: '90300000', label: 'Osciloscoape, analizoare de spectru și alte instrumente și aparate pentru măsurarea sau controlul mărimilor electrice, cu excepția celor de la poziția 9028; instrumente și aparate pentru măsurarea sau detectarea radiațiilor alfa, beta, gama, a razelor X, a radiațiilor cosmice sau a altor radiații ionizante' },\n\t{ value: '90301000', label: '- Instrumente și aparate pentru măsurarea sau detectarea radiațiilor ionizante' },\n\t{ value: '90302000', label: '- Osciloscoape și oscilografe' },\n\t{ value: '90303100', label: '- Alte instrumente și aparate pentru măsurarea și controlul tensiunii, intensității, rezistenței sau puterii (altele decât cele pentru măsurarea sau controlul discurilor sau al dispozitivelor cu semiconductor)' },\n\t{ value: '90303100', label: '-- Multimetre, fără dispozitiv înregistrator' },\n\t{ value: '90303200', label: '-- Multimetre, cu dispozitiv înregistrator' },\n\t{ value: '90303300', label: '-- Altele, fără dispozitiv înregistrator' },\n\t{ value: '90303320', label: '--- Instrumente de măsurare a rezistenței' },\n\t{ value: '90303370', label: '--- Altele' },\n\t{ value: '90303900', label: '-- Altele, cu dispozitiv înregistrator' },\n\t{ value: '90304000', label: '- Alte instrumente și aparate, special proiectate pentru telecomunicații (de exemplu, ipsometre, cherdometre, distorsiometre, psofometre)' },\n\t{ value: '90308200', label: '- Alte instrumente și aparate' },\n\t{ value: '90308200', label: '-- Pentru măsurarea sau controlul discurilor sau al dispozitivelor cu semiconductor (inclusiv circuitele integrate)' },\n\t{ value: '90308400', label: '-- Altele, cu dispozitiv înregistrator' },\n\t{ value: '90308900', label: '-- Altele' },\n\t{ value: '90309000', label: '- Părți și accesorii' },\n\t{ value: '90310000', label: 'Instrumente, aparate și mașini de măsură sau de control nedenumite și necuprinse în altă parte în acest capitol; proiectoare de profile' },\n\t{ value: '90311000', label: '- Mașini de echilibrat piese mecanice' },\n\t{ value: '90312000', label: '- Bancuri de probă' },\n\t{ value: '90314100', label: '- Alte instrumente și aparate optice' },\n\t{ value: '90314100', label: '-- Pentru controlul discurilor sau al dispozitivelor cu semiconductor (inclusiv circuitele integrate) sau pentru controlul fotomăștilor sau al reticulelor utilizate în fabricarea dispozitivelor cu semiconductor (inclusiv circuitele integrate)' },\n\t{ value: '90314900', label: '-- Altele' },\n\t{ value: '90314910', label: '--- Proiectoare de profile' },\n\t{ value: '90314990', label: '--- Altele' },\n\t{ value: '90318000', label: '- Alte instrumente, aparate și mașini' },\n\t{ value: '90318020', label: '-- Pentru măsurarea sau controlul mărimilor geometrice' },\n\t{ value: '90318080', label: '-- Altele' },\n\t{ value: '90319000', label: '- Părți și accesorii' },\n\t{ value: '90320000', label: 'Instrumente și aparate pentru reglare sau control automat' },\n\t{ value: '90321000', label: '- Termostate' },\n\t{ value: '90321020', label: '-- Electronice' },\n\t{ value: '90321080', label: '-- Altele' },\n\t{ value: '90322000', label: '- Manostate (presostate)' },\n\t{ value: '90328100', label: '- Alte instrumente și aparate' },\n\t{ value: '90328100', label: '-- Hidraulice sau pneumatice' },\n\t{ value: '90328900', label: '-- Altele' },\n\t{ value: '90329000', label: '- Părți și accesorii' },\n\t{ value: '90330000', label: 'Părți și accesorii, nedenumite și necuprinse în altă parte în acest capitol, pentru mașini, aparate, instrumente sau articole de la capitolul 90' },\n\t{ value: '90330010', label: '- Module pentru iluminatul de fundal cu diode electroluminiscente (LED),care sunt surse de iluminat formate dintr-unul sau mai multe LED-uri, unul sau mai mulți conectori și alte componente pasive și care sunt montate pe un circuit imprimat sau pe un alt substrat similar, chiar combinate cu diode de protecție sau componente optice, și care sunt utilizate pentru iluminatul de fundal al dispozitivelor de afișare cu cristale lichide (LCD-uri)' },\n\t{ value: '90330090', label: '- Altele' },\n\t{ value: '91000000', label: 'CEASORNICĂRIE' },\n\t{ value: '91010000', label: 'Ceasuri de mână, ceasuri de buzunar și alte ceasuri similare (inclusiv cronometrele de același tip), cu carcase din metale prețioase sau din metale placate sau dublate cu metale prețioase' },\n\t{ value: '91011100', label: '- Ceasurile de mână, cu funcționare electrică, cu sau fără cronometru încorporat' },\n\t{ value: '91011100', label: '-- Numai cu afișaj mecanic' },\n\t{ value: '91011900', label: '-- Altele' },\n\t{ value: '91012100', label: '- Alte ceasuri de mână, cu sau fără cronometru încorporat' },\n\t{ value: '91012100', label: '-- Cu remontoar (dispozitiv de întoarcere) automat' },\n\t{ value: '91012900', label: '-- Altele' },\n\t{ value: '91019100', label: '- Altele' },\n\t{ value: '91019100', label: '-- Acționate electric' },\n\t{ value: '91019900', label: '-- Altele' },\n\t{ value: '91020000', label: 'Ceasuri de mână, ceasuri de buzunar și alte ceasuri similare (inclusiv cronometrele de același tip), altele decât cele de la poziția 9101' },\n\t{ value: '91021100', label: '- Ceasuri de mână, cu funcționare electrică, cu sau fără cronometru încorporat' },\n\t{ value: '91021100', label: '-- Numai cu afișaj mecanic' },\n\t{ value: '91021200', label: '-- Numai cu afișaj optoelectronic' },\n\t{ value: '91021900', label: '-- Altele' },\n\t{ value: '91022100', label: '- Alte ceasuri de mână, cu sau fără cronometru încorporat' },\n\t{ value: '91022100', label: '-- Cu remontoar (dispozitiv de întoarcere) automat' },\n\t{ value: '91022900', label: '-- Altele' },\n\t{ value: '91029100', label: '- Altele' },\n\t{ value: '91029100', label: '-- Acționate electric' },\n\t{ value: '91029900', label: '-- Altele' },\n\t{ value: '91030000', label: 'Ceasuri deșteptătoare și pendule mici, cu mecanism de ceas, exceptând ceasurile de la poziția 9104' },\n\t{ value: '91031000', label: '- Acționate electric' },\n\t{ value: '91039000', label: '- Altele' },\n\t{ value: '91040000', label: 'Ceasuri de bord și ceasuri similare, pentru automobile, avioane, vehicule aeriene, nave sau alte vehicule' },\n\t{ value: '91050000', label: 'Alte ceasuri' },\n\t{ value: '91051100', label: '- Ceasuri deșteptătoare' },\n\t{ value: '91051100', label: '-- Acționate electric' },\n\t{ value: '91051900', label: '-- Altele' },\n\t{ value: '91052100', label: '- Pendule și ceasuri, de perete' },\n\t{ value: '91052100', label: '-- Acționate electric' },\n\t{ value: '91052900', label: '-- Altele' },\n\t{ value: '91059100', label: '- Altele' },\n\t{ value: '91059100', label: '-- Acționate electric' },\n\t{ value: '91059900', label: '-- Altele' },\n\t{ value: '91060000', label: 'Aparate pentru controlul timpului și cronometre, cu mecanism de ceasornic sau cu motor sincron (de exemplu, ceasuri de pontare, ceasuri cu dată, ceasuri contoare de timp)' },\n\t{ value: '91061000', label: '- Ceasuri de pontare; ceasuri cu dată, ceasuri contoare de timp' },\n\t{ value: '91069000', label: '- Altele' },\n\t{ value: '91070000', label: 'Întrerupătoarele orare și alte aparate care permit declanșarea unui mecanism după un interval de timp prestabilit, prevăzute cu un mecanism de ceasornic sau cu un motor sincron' },\n\t{ value: '91080000', label: 'Mecanisme pentru ceasuri de mână, complete și asamblate' },\n\t{ value: '91081100', label: '- Acționate electric' },\n\t{ value: '91081100', label: '-- Numai cu afișaj mecanic sau cu un dispozitiv care permite încorporarea unui afișaj mecanic' },\n\t{ value: '91081200', label: '-- Numai cu afișaj optoelectronic' },\n\t{ value: '91081900', label: '-- Altele' },\n\t{ value: '91082000', label: '- Cu remontoar (dispozitiv de întoarcere) automat' },\n\t{ value: '91089000', label: '- Altele' },\n\t{ value: '91090000', label: 'Mecanisme de ceasornicărie, complete și asamblate, altele decât ceasurile de mână' },\n\t{ value: '91091000', label: '- Acționate electric' },\n\t{ value: '91099000', label: '- Altele' },\n\t{ value: '91100000', label: 'Mecanisme de ceasornicărie complete, neasamblate sau parțial asamblate (seturi de mecanisme); mecanisme incomplete de ceasornic, asamblate; eboșe pentru mecanisme de ceasornicărie' },\n\t{ value: '91101100', label: '- De ceasuri de mână' },\n\t{ value: '91101100', label: '-- Mecanisme complete, neasamblate sau parțial asamblate (seturi)' },\n\t{ value: '91101110', label: '--- Cu balansiere spirală' },\n\t{ value: '91101190', label: '--- Altele' },\n\t{ value: '91101200', label: '-- Mecanisme incomplete, asamblate' },\n\t{ value: '91101900', label: '-- Eboșe pentru mecanisme de ceasornicărie' },\n\t{ value: '91109000', label: '- Altele' },\n\t{ value: '91110000', label: 'Carcase de ceasuri de mână de la pozițiile 9101 sau 9102 și părți ale acestora' },\n\t{ value: '91111000', label: '- Carcase din metale prețioase sau placate sau dublate cu metale prețioase' },\n\t{ value: '91112000', label: '- Carcase din metale comune, chiar aurite sau argintate' },\n\t{ value: '91118000', label: '- Alte carcase' },\n\t{ value: '91119000', label: '- Părți' },\n\t{ value: '91120000', label: 'Carcase și cutii protectoare pentru aparate de ceasornicărie și părți ale acestora' },\n\t{ value: '91122000', label: '- Carcase și cutii' },\n\t{ value: '91129000', label: '- Părți' },\n\t{ value: '91130000', label: 'Brățări de ceasuri și părți ale acestora' },\n\t{ value: '91131000', label: '- Din metale prețioase sau placate sau dublate cu metale prețioase' },\n\t{ value: '91131010', label: '-- Din metale prețioase' },\n\t{ value: '91131090', label: '-- Placate sau dublate cu metale prețioase' },\n\t{ value: '91132000', label: '- Din metale comune, chiar aurite sau argintate' },\n\t{ value: '91139000', label: '- Altele' },\n\t{ value: '91140000', label: 'Alte furnituri de ceasornicărie' },\n\t{ value: '91143000', label: '- Cadrane' },\n\t{ value: '91144000', label: '- Platine și punți' },\n\t{ value: '91149000', label: '- Altele' },\n\t{ value: '91149010', label: '-- Resorturi, inclusiv spirale' },\n\t{ value: '91149090', label: '-- Altele' },\n\t{ value: '92000000', label: 'INSTRUMENTE MUZICALE; PĂRȚI ȘI ACCESORII ALE ACESTORA' },\n\t{ value: '92010000', label: 'Piane, chiar automate; clavecine și alte instrumente cu corzi, cu claviatură' },\n\t{ value: '92011000', label: '- Piane drepte' },\n\t{ value: '92011010', label: '-- Noi' },\n\t{ value: '92011090', label: '-- Uzate' },\n\t{ value: '92012000', label: '- Piane cu coadă' },\n\t{ value: '92019000', label: '- Altele' },\n\t{ value: '92020000', label: 'Alte instrumente muzicale cu corzi (de exemplu, chitare, viori, harpe)' },\n\t{ value: '92021000', label: '- Cu corzi și arcuș' },\n\t{ value: '92021010', label: '-- Viori' },\n\t{ value: '92021090', label: '-- Altele' },\n\t{ value: '92029000', label: '- Altele' },\n\t{ value: '92029030', label: '-- Chitare' },\n\t{ value: '92029080', label: '-- Altele' },\n\t{ value: '92050000', label: 'Instrumente muzicale de suflat (de exemplu, orgi cu tuburi și claviatură, acordeoane, clarinete, trompete, cimpoaie), altele decât orgile pentru iarmaroc și flașnetele' },\n\t{ value: '92051000', label: '- Instrumente numite \"alămuri\"' },\n\t{ value: '92059000', label: '- Altele' },\n\t{ value: '92059010', label: '-- Acordeoane și instrumente similare' },\n\t{ value: '92059030', label: '-- Muzicuțe' },\n\t{ value: '92059050', label: '-- Orgi cu tuburi și claviatură; armonii și instrumente similare cu claviatură și ancii libere metalice' },\n\t{ value: '92059090', label: '-- Altele' },\n\t{ value: '92060000', label: 'Instrumente muzicale de percuție (de exemplu, tobe, xilofoane, cinele, castaniete, maracase)' },\n\t{ value: '92070000', label: 'Instrumente muzicale al căror sunet este produs sau amplificat prin mijloace electrice (de exemplu, orgi, chitare, acordeoane)' },\n\t{ value: '92071000', label: '- Instrumente cu claviatură, altele decât acordeoanele' },\n\t{ value: '92071010', label: '-- Orgi' },\n\t{ value: '92071030', label: '-- Piane digitale' },\n\t{ value: '92071050', label: '-- Sintetizatoare' },\n\t{ value: '92071080', label: '-- Altele' },\n\t{ value: '92079000', label: '- Altele' },\n\t{ value: '92079010', label: '-- Chitare' },\n\t{ value: '92079090', label: '-- Altele' },\n\t{ value: '92080000', label: 'Cutii muzicale, orgi pentru distracții în aer liber, flașnete, păsări mecanice cântătoare, ferăstraie muzicale și alte instrumente muzicale nedenumite și necuprinse în altă poziție a acestui capitol; fluiere sau signale, cornuri pentru apel și alte instrumente de suflat pentru apel sau semnalizare' },\n\t{ value: '92081000', label: '- Cutii muzicale' },\n\t{ value: '92089000', label: '- Altele' },\n\t{ value: '92090000', label: 'Părți (de exemplu, mecanisme de cutii muzicale) și accesorii (de exemplu, cartele și role pentru aparate de cântat mecanic) ale instrumentelor muzicale; metronoame și diapazoane de toate tipurile' },\n\t{ value: '92093000', label: '- Corzi pentru instrumente muzicale' },\n\t{ value: '92099100', label: '- Altele' },\n\t{ value: '92099100', label: '-- Părți și accesorii de piane' },\n\t{ value: '92099200', label: '-- Părți și accesorii ale instrumentelor muzicale de la poziția 9202' },\n\t{ value: '92099400', label: '-- Părți și accesorii ale instrumentelor muzicale de la poziția 9207' },\n\t{ value: '92099900', label: '-- Altele' },\n\t{ value: '92099920', label: '--- Părți și accesorii ale instrumentelor muzicale de la poziția 9205' },\n\t{ value: '92099940', label: '--- Altele' },\n\t{ value: '92099940', label: '---- Metronoame și diapazoane' },\n\t{ value: '92099950', label: '---- Mecanisme pentru cutii muzicale' },\n\t{ value: '92099970', label: '---- Altele' },\n\t{ value: '93000000', label: 'ARME, MUNIȚIE, PĂRȚI ȘI ACCESORII ALE ACESTORA' },\n\t{ value: '93010000', label: 'Arme de război, altele decât revolvere, pistoale și arme albe (de la poziția 9307)' },\n\t{ value: '93011000', label: '- Piese de artilerie (de exemplu, tunuri, obuziere și mortiere)' },\n\t{ value: '93012000', label: '- Tuburi lansatoare de rachete; aruncătoare de flăcări; aruncătoare de grenade; aruncătoare de torpile și aruncătoare similare' },\n\t{ value: '93019000', label: '- Altele' },\n\t{ value: '93020000', label: 'Revolvere și pistoale, altele decât cele de la poziția 9303 sau 9304' },\n\t{ value: '93030000', label: 'Alte arme de foc și dispozitive care utilizează încărcături explozive (de exemplu, puști și arme de vânătoare sau de tir sportiv, arme de foc care se încarcă numai prin țeavă, pistoale de lansare a rachetelor și alte dispozitive pentru lansarea rachetelor de semnalizare; pistoale și revolvere pentru încărcături oarbe, pistoale cu cui pentru abator, tunuri lansatoare de parâme)' },\n\t{ value: '93031000', label: '- Arme de foc care se încarcă numai prin țeavă' },\n\t{ value: '93032000', label: '- Alte arme și carabine de vânătoare sau de tir sportiv, care au cel puțin o țeavă lisă' },\n\t{ value: '93032010', label: '-- Cu o singură țeavă lisă' },\n\t{ value: '93032095', label: '-- Altele' },\n\t{ value: '93033000', label: '- Alte puști și carabine, de vânătoare sau de tir sportiv' },\n\t{ value: '93039000', label: '- Altele' },\n\t{ value: '93040000', label: 'Alte arme (de exemplu, puști, carabine și pistoale cu resort, cu aer comprimat sau cu gaz, bastoane), cu excepția celor de la poziția 9307' },\n\t{ value: '93050000', label: 'Părți și accesorii ale articolelor de la pozițiile 9301-9304' },\n\t{ value: '93051000', label: '- De revolvere sau pistoale' },\n\t{ value: '93052000', label: '- De puști sau carabine de la poziția 9303' },\n\t{ value: '93059100', label: '- Altele' },\n\t{ value: '93059100', label: '-- Ale armelor de război de la poziția 9301' },\n\t{ value: '93059900', label: '-- Altele' },\n\t{ value: '93060000', label: 'Bombe, grenade, torpile, mine, rachete, cartușe și alte muniții și proiectile și părți ale acestora, inclusiv alice, plumbi de vânătoare și fultuială pentru cartușe' },\n\t{ value: '93062100', label: '- Cartușe pentru puști sau carabine cu țeavă lisă și părți ale acestora; plumbi pentru carabine cu aer comprimat' },\n\t{ value: '93062100', label: '-- Cartușe' },\n\t{ value: '93062900', label: '-- Altele' },\n\t{ value: '93063000', label: '- Alte cartușe și părți ale acestora' },\n\t{ value: '93063010', label: '-- Pentru revolvere și pistoale de la poziția 9302, sau pentru pistoale mitralieră de la poziția 9301' },\n\t{ value: '93063030', label: '-- Altele' },\n\t{ value: '93063030', label: '--- Pentru arme de război' },\n\t{ value: '93063090', label: '--- Altele' },\n\t{ value: '93069000', label: '- Altele' },\n\t{ value: '93069010', label: '-- De război' },\n\t{ value: '93069090', label: '-- Altele' },\n\t{ value: '93070000', label: 'Săbii, spade, baionete, lănci și alte arme albe; părțile și tecile acestora' },\n\t{ value: '94000000', label: 'MOBILĂ; MOBILIER MEDICO-CHIRURGICAL; ARTICOLE DE PAT ȘI SIMILARE; APARATE DE ILUMINAT NEDENUMITE ȘI NECUPRINSE ÎN ALTĂ PARTE; LĂMPI PENTRU RECLAME LUMINOASE, ÎNSEMNE LUMINOASE, PLĂCI INDICATOARE LUMINOASE ȘI ARTICOLE SIMILARE; CONSTRUCȚII PREFABRICATE' },\n\t{ value: '94010000', label: 'Scaune (cu excepția celor de la poziția 9402), chiar transformabile în paturi, și părțile lor' },\n\t{ value: '94011000', label: '- Scaune de tipul celor utilizate pentru vehicule aeriene' },\n\t{ value: '94012000', label: '- Scaune de tipul celor utilizate pentru automobile' },\n\t{ value: '94013100', label: '- Scaune rotative cu înălțime reglabilă' },\n\t{ value: '94013100', label: '-- Din lemn' },\n\t{ value: '94013900', label: '-- Altele' },\n\t{ value: '94014100', label: '- Scaune, altele decât scaunele de grădină sau de camping, transformabile în paturi' },\n\t{ value: '94014100', label: '-- Din lemn' },\n\t{ value: '94014900', label: '-- Altele' },\n\t{ value: '94015200', label: '- Scaune din ratan, din răchită, din bambus sau din materiale similare' },\n\t{ value: '94015200', label: '-- Din bambus' },\n\t{ value: '94015300', label: '-- Din ratan' },\n\t{ value: '94015900', label: '-- Altele' },\n\t{ value: '94016100', label: '- Alte scaune cu cadru din lemn' },\n\t{ value: '94016100', label: '-- Tapițate' },\n\t{ value: '94016900', label: '-- Altele' },\n\t{ value: '94017100', label: '- Alte scaune cu cadru metalic' },\n\t{ value: '94017100', label: '-- Tapițate' },\n\t{ value: '94017900', label: '-- Altele' },\n\t{ value: '94018000', label: '- Alte scaune' },\n\t{ value: '94019100', label: '- Părți' },\n\t{ value: '94019100', label: '-- Din lemn' },\n\t{ value: '94019110', label: '--- De scaune de tipul celor utilizate pentru aeronave' },\n\t{ value: '94019190', label: '--- Altele' },\n\t{ value: '94019900', label: '-- Altele' },\n\t{ value: '94019910', label: '--- De scaune de tipul celor utilizate pentru aeronave' },\n\t{ value: '94019990', label: '--- Altele' },\n\t{ value: '94020000', label: 'Mobilier medical, chirurgical, stomatologic sau pentru medicină veterinară (de exemplu, mese de operație, mese de examinare, paturi cu mecanism pentru utilizări clinice, fotolii de stomatologie); fotolii pentru saloanele de coafură și fotolii similare cu dispozitive de orientare și de ridicare în același timp; părți ale acestor articole' },\n\t{ value: '94021000', label: '- Fotolii pentru stomatologie, fotolii pentru saloanele de coafură și fotolii similare și părțile lor' },\n\t{ value: '94029000', label: '- Altele' },\n\t{ value: '94030000', label: 'Alt mobilier și părți ale acestuia' },\n\t{ value: '94031000', label: '- Mobilier din metal de tipul celui utilizat în birouri' },\n\t{ value: '94031051', label: '-- Cu înălțimea de maximum 80 cm' },\n\t{ value: '94031051', label: '--- Birouri' },\n\t{ value: '94031058', label: '--- Altele' },\n\t{ value: '94031091', label: '-- Cu înălțimea de peste 80 cm' },\n\t{ value: '94031091', label: '--- Dulapuri cu uși, cu obloane sau cu uși basculante' },\n\t{ value: '94031093', label: '--- Dulapuri cu sertare, clasoare și fișiere' },\n\t{ value: '94031098', label: '--- Altele' },\n\t{ value: '94032000', label: '- Alt mobilier din metal' },\n\t{ value: '94032020', label: '-- Paturi' },\n\t{ value: '94032080', label: '-- Altele' },\n\t{ value: '94033000', label: '- Mobilier din lemn de tipul celui utilizat în birouri' },\n\t{ value: '94033011', label: '-- Cu înălțimea de maximum 80 cm' },\n\t{ value: '94033011', label: '--- Birouri' },\n\t{ value: '94033019', label: '--- Altele' },\n\t{ value: '94033091', label: '-- Cu înălțimea de peste 80 cm' },\n\t{ value: '94033091', label: '--- Dulapuri cu uși, cu obloane sau cu uși basculante, clasoare și fișiere și alte dulapuri' },\n\t{ value: '94033099', label: '--- Altele' },\n\t{ value: '94034000', label: '- Mobilier din lemn de tipul celui utilizat în bucătării' },\n\t{ value: '94034010', label: '-- Elemente de mobilă de bucătărie' },\n\t{ value: '94034090', label: '-- Altele' },\n\t{ value: '94035000', label: '- Mobilier din lemn de tipul celui utilizat în dormitoare' },\n\t{ value: '94036000', label: '- Alt mobilier din lemn' },\n\t{ value: '94036010', label: '-- Mobilier din lemn de tipul celui utilizat în sufragerii și livinguri' },\n\t{ value: '94036030', label: '-- Mobilier din lemn de tipul celui utilizat în magazine' },\n\t{ value: '94036090', label: '-- Alt mobilier din lemn' },\n\t{ value: '94037000', label: '- Mobilier din material plastic' },\n\t{ value: '94038200', label: '- Mobilier din alte materiale, inclusiv trestie, bambus sau materiale similare' },\n\t{ value: '94038200', label: '-- Din bambus' },\n\t{ value: '94038300', label: '-- Din ratan' },\n\t{ value: '94038900', label: '-- Altele' },\n\t{ value: '94039100', label: '- Părți' },\n\t{ value: '94039100', label: '-- Din lemn' },\n\t{ value: '94039900', label: '-- Altele' },\n\t{ value: '94039910', label: '--- Din metal' },\n\t{ value: '94039990', label: '--- Din alte materiale' },\n\t{ value: '94040000', label: 'Somiere; articole de pat și articole similare (de exemplu, saltele, pături, plăpumi, perne) cu arcuri sau umplute cu orice fel de materiale, inclusiv cele din cauciuc alveolar sau material plastic alveolar, acoperite sau nu' },\n\t{ value: '94041000', label: '- Somiere' },\n\t{ value: '94042100', label: '- Saltele' },\n\t{ value: '94042100', label: '-- Din cauciuc alveolar sau din material plastic alveolar, acoperit sau nu' },\n\t{ value: '94042110', label: '--- Din cauciuc' },\n\t{ value: '94042190', label: '--- Din material plastic' },\n\t{ value: '94042900', label: '-- Din alte materiale' },\n\t{ value: '94042910', label: '--- Cu arcuri metalice' },\n\t{ value: '94042990', label: '--- Altele' },\n\t{ value: '94043000', label: '- Saci de dormit' },\n\t{ value: '94044000', label: '- Pături matlasate, cuverturi de pat, pilote și plăpumi.)' },\n\t{ value: '94044010', label: '-- Umplute cu pene sau cu puf' },\n\t{ value: '94044090', label: '-- Altele' },\n\t{ value: '94049000', label: '- Altele' },\n\t{ value: '94049010', label: '-- Umpluți cu pene sau cu puf' },\n\t{ value: '94049090', label: '-- Altele' },\n\t{ value: '94050000', label: 'Aparate și corpuri de iluminat (inclusiv proiectoarele) și părțile lor, nedenumite și necuprinse în altă parte; lămpi pentru reclame luminoase, însemne luminoase, plăci indicatoare luminoase și articole similare, care au o sursă de lumină permanentă, fixă, și părți ale acestora, nedenumite și necuprinse în altă parte' },\n\t{ value: '94051100', label: '- Lustre și alte aparate de iluminat electric de suspendat sau de fixat pe tavan sau pe perete, cu excepția celor utilizate pentru iluminatul spațiilor și drumurilor publice' },\n\t{ value: '94051100', label: '-- Concepute pentru utilizarea doar cu surse de lumină cu diode electroluminiscente (LED)' },\n\t{ value: '94051140', label: '--- Din material plastic sau din ceramică' },\n\t{ value: '94051150', label: '--- Din sticlă' },\n\t{ value: '94051190', label: '--- Din alte materiale' },\n\t{ value: '94051900', label: '-- Altele' },\n\t{ value: '94051940', label: '--- Din material plastic sau din ceramică' },\n\t{ value: '94051950', label: '--- Din sticlă' },\n\t{ value: '94051990', label: '--- Din alte materiale' },\n\t{ value: '94052100', label: '- Corpuri de iluminat de masă (veioze), lămpi de birou și lampadare de interior, electrice' },\n\t{ value: '94052100', label: '-- Concepute pentru utilizarea doar cu surse de lumină cu diode electroluminiscente (LED)' },\n\t{ value: '94052140', label: '--- Din material plastic sau din ceramică' },\n\t{ value: '94052150', label: '--- Din sticlă' },\n\t{ value: '94052190', label: '--- Din alte materiale' },\n\t{ value: '94052900', label: '-- Altele' },\n\t{ value: '94052940', label: '--- Din material plastic sau din ceramică' },\n\t{ value: '94052950', label: '--- Din sticlă' },\n\t{ value: '94052990', label: '--- Din alte materiale' },\n\t{ value: '94053100', label: '- Ghirlande electrice de tipul celor utilizate pentru pomul de Crăciun' },\n\t{ value: '94053100', label: '-- Concepute pentru utilizarea doar cu surse de lumină cu diode electroluminiscente (LED)' },\n\t{ value: '94053900', label: '-- Altele' },\n\t{ value: '94054100', label: '- Alte aparate și corpuri electrice de iluminat' },\n\t{ value: '94054100', label: '-- Fotovoltaice, concepute pentru utilizarea doar cu surse de lumină cu diode electroluminiscente (LED)' },\n\t{ value: '94054110', label: '--- Proiectoare' },\n\t{ value: '94054131', label: '--- Altele' },\n\t{ value: '94054131', label: '---- Din material plastic' },\n\t{ value: '94054139', label: '---- Altele' },\n\t{ value: '94054200', label: '-- Altele, concepute pentru utilizarea doar cu surse de lumină cu diode electroluminiscente (LED)' },\n\t{ value: '94054210', label: '--- Proiectoare' },\n\t{ value: '94054231', label: '--- Altele' },\n\t{ value: '94054231', label: '---- Din material plastic' },\n\t{ value: '94054239', label: '---- Altele' },\n\t{ value: '94054900', label: '-- Altele' },\n\t{ value: '94054910', label: '--- Proiectoare' },\n\t{ value: '94054940', label: '--- Altele' },\n\t{ value: '94054940', label: '---- Din material plastic' },\n\t{ value: '94054990', label: '---- Din alte materiale' },\n\t{ value: '94055000', label: '- Aparate și corpuri de iluminat, neelectrice' },\n\t{ value: '94056100', label: '- Lămpi pentru reclame luminoase, însemne luminoase, plăci indicatoare luminoase și articole similare' },\n\t{ value: '94056100', label: '-- Concepute pentru utilizarea doar cu surse de lumină cu diode electroluminiscente (LED)' },\n\t{ value: '94056120', label: '--- Din material plastic' },\n\t{ value: '94056180', label: '--- Din alte materiale' },\n\t{ value: '94056900', label: '-- Altele' },\n\t{ value: '94056920', label: '--- Din material plastic' },\n\t{ value: '94056980', label: '--- Din alte materiale' },\n\t{ value: '94059100', label: '- Părți' },\n\t{ value: '94059100', label: '-- Din sticlă' },\n\t{ value: '94059110', label: '--- Articole pentru aparatele electrice de iluminat (cu excepția proiectoarelor)' },\n\t{ value: '94059190', label: '--- Altele' },\n\t{ value: '94059200', label: '-- Din material plastic' },\n\t{ value: '94059900', label: '-- Altele' },\n\t{ value: '94060000', label: 'Construcții prefabricate' },\n\t{ value: '94061000', label: '- Din lemn' },\n\t{ value: '94062000', label: '- Unități de construcție modulare, din oțel' },\n\t{ value: '94069000', label: '- Altele' },\n\t{ value: '94069010', label: '-- Case transportabile' },\n\t{ value: '94069031', label: '-- Altele' },\n\t{ value: '94069031', label: '--- Din fier sau oțel' },\n\t{ value: '94069031', label: '---- Sere' },\n\t{ value: '94069038', label: '---- Altele' },\n\t{ value: '94069090', label: '--- Din alte materiale' },\n\t{ value: '95000000', label: 'JUCĂRII, JOCURI, ARTICOLE PENTRU DIVERTISMENT SAU PENTRU SPORT; PĂRȚI ȘI ACCESORII ALE ACESTORA' },\n\t{ value: '95030000', label: 'Triciclete, trotinete, automobile cu pedale și jucării similare cu roți; landouri și cărucioare pentru păpuși; păpuși; alte jucării; minimodele și modele similare pentru divertisment, animate sau nu; jocuri enigmistice (puzzle) de orice fel' },\n\t{ value: '95030010', label: '- Triciclete, trotinete, automobile cu pedale și jucării similare cu roți; landouri și cărucioare pentru păpuși' },\n\t{ value: '95030021', label: '- Păpuși reprezentând doar ființe umane, părți ale acestora și accesorii' },\n\t{ value: '95030021', label: '-- Păpuși' },\n\t{ value: '95030029', label: '-- Părți și accesorii' },\n\t{ value: '95030030', label: '- Trenuri electrice, inclusiv șinele, semnalele și alte accesorii; minimodele, animate sau nu, pentru asamblare' },\n\t{ value: '95030035', label: '- Alte seturi și jucării, de construcție' },\n\t{ value: '95030035', label: '-- Din material plastic' },\n\t{ value: '95030039', label: '-- Din alte materiale' },\n\t{ value: '95030041', label: '- Jucării care reprezintă animale sau creaturi neumane' },\n\t{ value: '95030041', label: '-- Umplute cu materiale de umplutură (lână, câlți etc.)' },\n\t{ value: '95030049', label: '-- Altele' },\n\t{ value: '95030055', label: '- Instrumente și aparate muzicale de jucărie' },\n\t{ value: '95030061', label: '- Puzzle' },\n\t{ value: '95030061', label: '-- Din lemn' },\n\t{ value: '95030069', label: '-- Altele' },\n\t{ value: '95030070', label: '- Alte jucării, prezentate în seturi sau serii complete' },\n\t{ value: '95030075', label: '- Alte jucării și modele, cu motor' },\n\t{ value: '95030075', label: '-- Din material plastic' },\n\t{ value: '95030079', label: '-- Din alte materiale' },\n\t{ value: '95030081', label: '- Altele' },\n\t{ value: '95030081', label: '-- Arme de jucărie' },\n\t{ value: '95030085', label: '-- Modele în miniatură obținute prin turnare, din metal' },\n\t{ value: '95030087', label: '-- Dispozitive electronice interactive educative portabile concepute în principal pentru copii' },\n\t{ value: '95030095', label: '-- Altele' },\n\t{ value: '95030095', label: '--- Din material plastic' },\n\t{ value: '95030099', label: '--- Altele' },\n\t{ value: '95040000', label: 'Console și mașini de jocuri video, articole pentru jocuri de societate, inclusiv jocurile cu motor sau cu mecanisme de mișcare, jocuri de biliard, mese speciale pentru jocuri de cazino și jocurile de popice automate, jocuri care funcționează prin introducerea unei monede, a unei bancnote, a unui card bancar, a unei fise sau a altor instrumente de plată' },\n\t{ value: '95042000', label: '- Articole și accesorii pentru jocuri de biliard' },\n\t{ value: '95043000', label: '- Alte jocuri care funcționează prin introducerea unei monede, a unei bancnote, a unui card bancar, a unei fise sau a altor instrumente de plată, cu excepția jocurilor de popice automate (bowling)' },\n\t{ value: '95043010', label: '-- Jocuri cu ecran' },\n\t{ value: '95043020', label: '-- Alte jocuri' },\n\t{ value: '95043090', label: '-- Părți' },\n\t{ value: '95044000', label: '- Cărți de joc' },\n\t{ value: '95045000', label: '- Console și mașini de jocuri video, altele decât cele de la subpoziția 9504 30' },\n\t{ value: '95049000', label: '- Altele' },\n\t{ value: '95049010', label: '-- Circuite electrice cu automobile, având caracteristicile jocurilor de competiție' },\n\t{ value: '95049080', label: '-- Altele' },\n\t{ value: '95050000', label: 'Articole pentru sărbători, carnaval sau alte divertismente, inclusiv articolele de magie și articolele surpriză' },\n\t{ value: '95051000', label: '- Articole pentru sărbătorile de Crăciun' },\n\t{ value: '95051010', label: '-- Din sticlă' },\n\t{ value: '95051090', label: '-- Din alte materiale' },\n\t{ value: '95059000', label: '- Altele' },\n\t{ value: '95060000', label: 'Articole și echipament pentru cultură fizică, gimnastică, atletism, alte sporturi (inclusiv tenis de masă) sau pentru jocuri în aer liber, nedenumite și necuprinse în altă parte în acest capitol; piscine și bazine' },\n\t{ value: '95061100', label: '- Schiuri pentru zăpadă și alt echipament pentru practicarea schiului pe zăpadă' },\n\t{ value: '95061100', label: '-- Schiuri' },\n\t{ value: '95061110', label: '--- Schiuri pentru schi fond' },\n\t{ value: '95061121', label: '--- Schiuri alpine' },\n\t{ value: '95061121', label: '---- Monoschiuri și snow-boarduri' },\n\t{ value: '95061129', label: '---- Altele' },\n\t{ value: '95061180', label: '--- Alte schiuri' },\n\t{ value: '95061200', label: '-- Legături pentru schiuri' },\n\t{ value: '95061900', label: '-- Altele' },\n\t{ value: '95062100', label: '- Schiuri nautice, planșe pentru surfing, planșe cu vele și alte echipamente pentru practicarea sporturilor nautice' },\n\t{ value: '95062100', label: '-- Planșe cu vele' },\n\t{ value: '95062900', label: '-- Altele' },\n\t{ value: '95063100', label: '- Crose de golf și alte echipamente pentru practicarea golfului' },\n\t{ value: '95063100', label: '-- Crose complete' },\n\t{ value: '95063200', label: '-- Mingi' },\n\t{ value: '95063900', label: '-- Altele' },\n\t{ value: '95063910', label: '--- Părți de crose' },\n\t{ value: '95063990', label: '--- Altele' },\n\t{ value: '95064000', label: '- Articole și echipamente pentru tenis de masă' },\n\t{ value: '95065100', label: '- Rachete de tenis, de badminton sau rachete similare, chiar fără coarde' },\n\t{ value: '95065100', label: '-- Rachete de tenis, chiar fără coarde' },\n\t{ value: '95065900', label: '-- Altele' },\n\t{ value: '95066100', label: '- Baloane și mingi, altele decât mingile de golf sau tenis de masă' },\n\t{ value: '95066100', label: '-- Mingi de tenis' },\n\t{ value: '95066200', label: '-- Gonflabile' },\n\t{ value: '95066900', label: '-- Altele' },\n\t{ value: '95066910', label: '--- Mingi de crichet sau de polo' },\n\t{ value: '95066990', label: '--- Altele' },\n\t{ value: '95067000', label: '- Patine pentru gheață și patine cu rotile, inclusiv încălțămintea la care se atașează patinele' },\n\t{ value: '95067010', label: '-- Patine pentru gheață' },\n\t{ value: '95067030', label: '-- Patine cu rotile' },\n\t{ value: '95067090', label: '-- Părți și accesorii' },\n\t{ value: '95069100', label: '- Altele' },\n\t{ value: '95069100', label: '-- Articole și echipamente pentru cultură fizică, gimnastică sau atletism' },\n\t{ value: '95069110', label: '--- Aparate pentru exerciții fizice cu mecanisme de forță ajustabile' },\n\t{ value: '95069190', label: '--- Altele' },\n\t{ value: '95069900', label: '-- Altele' },\n\t{ value: '95069910', label: '--- Articole pentru crichet sau polo, altele decât mingile' },\n\t{ value: '95069990', label: '--- Altele' },\n\t{ value: '95070000', label: 'Undițe de pescuit, cârlige de pescuit și alte articole pentru pescuit cu undița; plase pentru prins peşti, plase pentru prins fluturi; capcane pentru păsări (altele decât cele de la pozițiile 9208 sau 9705) și articole de vânătoare similare' },\n\t{ value: '95071000', label: '- Undițe de pescuit' },\n\t{ value: '95072000', label: '- Cârlige de pescuit, chiar montate' },\n\t{ value: '95072010', label: '-- Cârlige nemontate' },\n\t{ value: '95072090', label: '-- Altele' },\n\t{ value: '95073000', label: '- Mulinete pentru pescuit' },\n\t{ value: '95079000', label: '- Altele' },\n\t{ value: '95080000', label: 'Circuri ambulante și menajerii ambulante; manejuri pentru parcuri de distracții și atracții pentru parcurile acvatice; atracții pentru bâlciuri, inclusiv standuri de tir; teatre ambulante' },\n\t{ value: '95081000', label: '- Circuri ambulante și menajerii ambulante' },\n\t{ value: '95082100', label: '- Manejuri pentru parcuri de distracții și atracții pentru parcurile acvatice' },\n\t{ value: '95082100', label: '-- Carusele' },\n\t{ value: '95082200', label: '-- Carusele, balansoare și manejuri' },\n\t{ value: '95082300', label: '-- Mașinuțe tamponabile' },\n\t{ value: '95082400', label: '-- Simulatoare de mișcare și săli de cinematograf cu scaune dinamice' },\n\t{ value: '95082500', label: '-- Tobogane acvatice' },\n\t{ value: '95082600', label: '-- Atracții pentru parcurile acvatice' },\n\t{ value: '95082900', label: '-- Altele' },\n\t{ value: '95083000', label: '- Atracții pentru bâlciuri' },\n\t{ value: '95084000', label: '- Teatre ambulante' },\n\t{ value: '96000000', label: 'ARTICOLE DIVERSE' },\n\t{ value: '96010000', label: 'Fildeș, os, carapace de broască țestoasă, coarne de animale, corali, sidef și alte materiale de origine animală pentru tăiat, prelucrate, și articole din aceste materiale (inclusiv produsele obținute prin turnare)' },\n\t{ value: '96011000', label: '- Fildeș prelucrat și obiecte de fildeș' },\n\t{ value: '96019000', label: '- Altele' },\n\t{ value: '96020000', label: 'Materiale vegetale sau minerale, prelucrate, pentru fasonat, și articole din aceste materiale; articole modelate sau fasonate din ceară, parafină, stearină, gumă sau rășini naturale sau din paste pentru mulaje și alte articole modelate sau fasonate, nedenumite și necuprinse în altă parte; gelatină neîntărită prelucrată (cu excepția celei de la poziția 3503) și articole din gelatină neîntărită' },\n\t{ value: '96030000', label: 'Pensule și perii, inclusiv cele care constituie părți de mașini, de aparate sau de vehicule, mături mecanice pentru folosire manuală, altele decât cele cu motor, pămătufuri; fire și pămătufuri pregătite pentru confecţionarea periilor; tampoane și rulouri pentru vopsit; raclete din cauciuc sau din alte materiale elastice similare' },\n\t{ value: '96031000', label: '- Mături și perii din nuiele sau alte materiale vegetale legate în mănunchi, cu mânere sau fără mânere' },\n\t{ value: '96032100', label: '- Perii de dinți, perii și pensule pentru bărbierit, pentru păr, pentru gene sau pentru unghii și alte perii pentru toaleta personală, inclusiv cele care constituie părți de aparate' },\n\t{ value: '96032100', label: '-- Perii de dinți, inclusiv periile pentru proteze dentare' },\n\t{ value: '96032900', label: '-- Altele' },\n\t{ value: '96032930', label: '--- Perii pentru păr' },\n\t{ value: '96032980', label: '--- Altele' },\n\t{ value: '96033000', label: '- Pensule și perii pentru artiști, pensule de scris și pensule similare pentru aplicarea produselor cosmetice' },\n\t{ value: '96033010', label: '-- Pensule și perii pentru artiști, pensule pentru scris' },\n\t{ value: '96033090', label: '-- Pensule pentru aplicarea produselor cosmetice' },\n\t{ value: '96034000', label: '- Perii și pensule pentru pictat sau zugrăvit, pentru badijonat, pentru lăcuit sau similare (altele decât pensulele de la subpoziția 9603 30); tampoane și rulouri de zugrăvit' },\n\t{ value: '96034010', label: '-- Perii și pensule pentru pictat sau zugrăvit, pentru badijonat, pentru lăcuit sau similare' },\n\t{ value: '96034090', label: '-- Tampoane și rulouri pentru zugrăvit' },\n\t{ value: '96035000', label: '- Alte perii care constituie părți de mașini, de aparate sau de vehicule' },\n\t{ value: '96039000', label: '- Altele' },\n\t{ value: '96039010', label: '-- Mături mecanice acționate manual, altele decât cele cu motor' },\n\t{ value: '96039091', label: '-- Altele' },\n\t{ value: '96039091', label: '--- Perii și perii-mătură pentru întreținerea suprafețelor sau pentru menaj, inclusiv periile de haine sau de încălțăminte; articole de periat pentru toaleta animalelor' },\n\t{ value: '96039099', label: '--- Altele' },\n\t{ value: '96040000', label: 'Site și ciururi, utilizate manual' },\n\t{ value: '96050000', label: 'Seturi personale de toaletă de voiaj, de croitorie, pentru curățirea încălțămintei sau a hainelor' },\n\t{ value: '96060000', label: 'Nasturi, butoni și capse; forme pentru nasturi și alte părți ale acestora; eboșe de nasturi' },\n\t{ value: '96061000', label: '- Capse și butoni folosiți prin presare și părțile lor' },\n\t{ value: '96062100', label: '- Nasturi' },\n\t{ value: '96062100', label: '-- Din material plastic, neacoperiți cu material textil' },\n\t{ value: '96062200', label: '-- Din metale comune, neacoperiți cu material textil' },\n\t{ value: '96062900', label: '-- Altele' },\n\t{ value: '96063000', label: '- Forme pentru nasturi și alte părți de nasturi; eboșe de nasturi' },\n\t{ value: '96070000', label: 'Fermoare și părțile lor' },\n\t{ value: '96071100', label: '- Fermoare' },\n\t{ value: '96071100', label: '-- Cu agrafe din metale comune' },\n\t{ value: '96071900', label: '-- Altele' },\n\t{ value: '96072000', label: '- Părți' },\n\t{ value: '96072010', label: '-- Din metale comune (inclusiv benzile prevăzute cu agrafe din metale comune)' },\n\t{ value: '96072090', label: '-- Altele' },\n\t{ value: '96080000', label: 'Stilouri și pixuri cu bilă; stilouri și marcatoare cu vârf de fetru sau alte vârfuri poroase; stilouri cu peniță și alte stilouri; trăgătoare pentru desen; creioane mecanice; tocuri pentru penițe, prelungitoare pentru creioane și articole similare; părți (inclusiv capace și agățători) ale acestor articole, cu excepția celor de la poziția 9609' },\n\t{ value: '96081000', label: '- Stilouri și pixuri cu bilă' },\n\t{ value: '96081010', label: '-- Cu cerneală lichidă' },\n\t{ value: '96081092', label: '-- Altele' },\n\t{ value: '96081092', label: '--- Cu rezervă care poate fi înlocuită' },\n\t{ value: '96081099', label: '--- Altele' },\n\t{ value: '96082000', label: '- Stilouri și marcatoare cu vârful din fetru sau din alte materiale poroase' },\n\t{ value: '96083000', label: '- Stilouri cu peniță și alte stilouri' },\n\t{ value: '96084000', label: '- Creioane mecanice' },\n\t{ value: '96085000', label: '- Seturi de articole formate din două sau mai multe articole de la subpozițiile precedente' },\n\t{ value: '96086000', label: '- Cartușe de schimb (rezerve) pentru stilouri sau pixuri cu bilă asociate cu vârful lor' },\n\t{ value: '96089100', label: '- Altele' },\n\t{ value: '96089100', label: '-- Penițe de scris și vârfuri pentru penițe' },\n\t{ value: '96089900', label: '-- Altele' },\n\t{ value: '96090000', label: 'Creioane (altele decât creioanele de la poziția 9608), mine, creioane colorate, cărbune pentru desen, cretă de scris sau de desenat și cretă pentru croitorie' },\n\t{ value: '96091000', label: '- Creioane cu mină și creioane colorate având mina într-un înveliș rigid' },\n\t{ value: '96091010', label: '-- Cu mină de grafit' },\n\t{ value: '96091090', label: '-- Altele' },\n\t{ value: '96092000', label: '- Mine pentru creioane sau creioane mecanice' },\n\t{ value: '96099000', label: '- Altele' },\n\t{ value: '96099010', label: '-- Creioane colorate și cărbuni pentru desen' },\n\t{ value: '96099090', label: '-- Altele' },\n\t{ value: '96100000', label: 'Plăci de ardezie și table pentru scris sau desen, chiar cu ramă' },\n\t{ value: '96110000', label: 'Ștampile manuale de datare, sigilare, numerotare, timbrare și articole similare (inclusiv aparate pentru imprimarea etichetelor); matrițe tipografice și imprimatoare tipografice cu matriță, manuale' },\n\t{ value: '96120000', label: 'Panglici pentru mașini de scris și panglici similare, impregnate sau altfel pregătite pentru a lăsa amprente, chiar montate pe bobine sau în carcase; tușiere chiar impregnate, cu sau fără cutie' },\n\t{ value: '96121000', label: '- Panglici' },\n\t{ value: '96121010', label: '-- Din material plastic' },\n\t{ value: '96121020', label: '-- Din fibre sintetice sau artificiale, cu o lățime sub 30 mm, introduse în carcase de plastic sau metal, de tipul celor folosite la mașini de scris automate, echipamente de prelucrare automată a datelor și alte mașini' },\n\t{ value: '96121080', label: '-- Altele' },\n\t{ value: '96122000', label: '- Tușiere' },\n\t{ value: '96130000', label: 'Brichete și alte aprinzătoare, chiar mecanice sau electrice și părțile lor, altele decât pietrele și fitilele' },\n\t{ value: '96131000', label: '- Brichete de buzunar, cu gaz, nereîncărcabile' },\n\t{ value: '96132000', label: '- Brichete de buzunar, cu gaz, reîncărcabile' },\n\t{ value: '96138000', label: '- Alte brichete și aprinzătoare' },\n\t{ value: '96139000', label: '- Părți' },\n\t{ value: '96140000', label: 'Pipe (inclusiv capete de pipe), port-țigări, port-țigarete și părți ale acestora' },\n\t{ value: '96140010', label: '- Eboșe de pipe, din lemn sau rădăcini' },\n\t{ value: '96140090', label: '- Altele' },\n\t{ value: '96150000', label: 'Piepteni de coafat sau de prins în păr, agrafe și articole similare; ace de păr; clame de păr, cleme pentru onduleuri, bigudiuri și articole similare pentru coafură, altele decât cele de la poziția 8516, și părți ale acestora' },\n\t{ value: '96151100', label: '- Piepteni de coafat, piepteni de prins în păr, agrafe și articole similare' },\n\t{ value: '96151100', label: '-- Din cauciuc durificat sau din material plastic' },\n\t{ value: '96151900', label: '-- Altele' },\n\t{ value: '96159000', label: '- Altele' },\n\t{ value: '96160000', label: 'Pulverizatoare de toaletă, monturile lor și capetele de monturi; pufuri pentru pudră sau pentru aplicarea altor produse cosmetice sau de toaletă' },\n\t{ value: '96161000', label: '- Pulverizatoare de toaletă, monturile lor și capetele de monturi' },\n\t{ value: '96161010', label: '-- Pulverizatoare de toaletă' },\n\t{ value: '96161090', label: '-- Monturi și capete de monturi pentru pulverizatoare de toaletă' },\n\t{ value: '96162000', label: '- Pufuri pentru pudră sau pentru aplicarea unor produse cosmetice sau de toaletă' },\n\t{ value: '96170000', label: 'Termosuri și alte recipiente izoterme complete; părți ale acestora, altele decât recipientul de sticlă din interior' },\n\t{ value: '96180000', label: 'Manechine și articole similare; automate și scene animate pentru decorarea vitrinelor' },\n\t{ value: '96190000', label: 'Tampoane igienice și tampoane interne, șervețele igienice și scutece pentru copii și articole similare, din orice material' },\n\t{ value: '96190030', label: '- Din vată din materiale textile' },\n\t{ value: '96190040', label: '- Din alte materiale textile' },\n\t{ value: '96190040', label: '-- Tampoane igienice și tampoane interne și articole similare' },\n\t{ value: '96190050', label: '-- Șervețele și scutece pentru copii și articole similare' },\n\t{ value: '96190071', label: '- Din alte materiale' },\n\t{ value: '96190071', label: '-- Tampoane igienice și tampoane interne și articole similare' },\n\t{ value: '96190071', label: '--- Tampoane igienice' },\n\t{ value: '96190075', label: '--- Tampoane interne' },\n\t{ value: '96190079', label: '--- Altele' },\n\t{ value: '96190081', label: '-- Șervețele și scutece pentru copii și articole similare' },\n\t{ value: '96190081', label: '--- Șervețele și scutece pentru copii' },\n\t{ value: '96190089', label: '--- Altele (de exemplu, articole pentru incontinență)' },\n\t{ value: '96200000', label: 'Monopiede, bipiede, trepiede și articole similare' },\n\t{ value: '96200010', label: '- De tipul celor utilizate pentru aparatele digitale, fotografice sau video, aparatele și proiectoarele cinematografice; de tipul celor utilizate pentru alte aparate de la capitolul 90' },\n\t{ value: '96200091', label: '- Altele' },\n\t{ value: '96200091', label: '-- Din material plastic sau aluminiu' },\n\t{ value: '96200099', label: '-- Altele' },\n\t{ value: '97000000', label: 'OBIECTE DE ARTĂ, OBIECTE DE COLECȚIE ȘI ANTICHITĂȚl' },\n\t{ value: '97010000', label: 'Tablouri, picturi și desene, executate în întregime manual, cu excepția desenelor de la poziția 4906 și a altor articole industriale pictate sau decorate manual; colaje, mozaicuri și mici tablouri decorative similare' },\n\t{ value: '97012100', label: '- Mai vechi de 100 de ani' },\n\t{ value: '97012100', label: '-- Tablouri, picturi și desene' },\n\t{ value: '97012200', label: '-- Mozaicuri' },\n\t{ value: '97012900', label: '-- Altele' },\n\t{ value: '97019100', label: '- Altele' },\n\t{ value: '97019100', label: '-- Tablouri, picturi și desene' },\n\t{ value: '97019200', label: '-- Mozaicuri' },\n\t{ value: '97019900', label: '-- Altele' },\n\t{ value: '97020000', label: 'Gravuri, stampe și litografii originale' },\n\t{ value: '97021000', label: '- Mai vechi de 100 de ani' },\n\t{ value: '97029000', label: '- Altele' },\n\t{ value: '97030000', label: 'Producții originale de artă statuară sau de sculptură, din orice material' },\n\t{ value: '97031000', label: '- Mai vechi de 100 de ani' },\n\t{ value: '97039000', label: '- Altele' },\n\t{ value: '97040000', label: 'Timbre poștale, timbre fiscale, mărci poștale, plicuri prima zi, serii poștale complete și similare, obliterate sau neobliterate, altele decât articolele de la poziția 4907' },\n\t{ value: '97050000', label: 'Colecții și specimene pentru colecții care prezintă un interes arheologic, etnografic, istoric, zoologic, botanic, mineralogic, anatomic, paleontologic sau numismatic' },\n\t{ value: '97051000', label: '- Colecții și piese de colecție care prezintă un interes arheologic, etnografic sau istoric' },\n\t{ value: '97052100', label: '- Colecții și piese de colecție care prezintă un interes zoologic, botanic, mineralogic, anatomic sau paleontologic' },\n\t{ value: '97052100', label: '-- Specimene umane și părți ale acestora' },\n\t{ value: '97052200', label: '-- Specii dispărute sau aflate pe cale de dispariție și părți ale acestora' },\n\t{ value: '97052900', label: '-- Altele' },\n\t{ value: '97053100', label: '- Colecții și piese de colecție de interes numismatic' },\n\t{ value: '97053100', label: '-- Mai vechi de 100 de ani' },\n\t{ value: '97053900', label: '-- Altele' },\n\t{ value: '97060000', label: 'Obiecte de antichitate mai vechi de 100 de ani' },\n\t{ value: '97061000', label: '- Mai vechi de 250 de ani' },\n\t{ value: '97069000', label: '- Altele' },\n\t{ value: '98000000', label: 'FABRICI COMPLETE' },\n\t{ value: '98800000', label: 'Parti componente pentru ansambluri industriale din cadrul comertului exterior (Regulamentul CE 113/2010 al Comisiei, din data de 9.02.2010)' },\n\t{ value: '98800100', label: '- Cuprinse la capitolul 01' },\n\t{ value: '98800200', label: '- Cuprinse la capitolul 02' },\n\t{ value: '98800300', label: '- Cuprinse la capitolul 03' },\n\t{ value: '98800400', label: '- Cuprinse la capitolul 04' },\n\t{ value: '98800500', label: '- Cuprinse la capitolul 05' },\n\t{ value: '98800600', label: '- Cuprinse la capitolul 06' },\n\t{ value: '98800700', label: '- Cuprinse la capitolul 07' },\n\t{ value: '98800800', label: '- Cuprinse la capitolul 08' },\n\t{ value: '98800900', label: '- Cuprinse la capitolul 09' },\n\t{ value: '98801000', label: '- Cuprinse la capitolul 10' },\n\t{ value: '98801100', label: '- Cuprinse la capitolul 11' },\n\t{ value: '98801200', label: '- Cuprinse la capitolul 12' },\n\t{ value: '98801300', label: '- Cuprinse la capitolul 13' },\n\t{ value: '98801400', label: '- Cuprinse la capitolul 14' },\n\t{ value: '98801500', label: '- Cuprinse la capitolul 15' },\n\t{ value: '98801600', label: '- Cuprinse la capitolul 16' },\n\t{ value: '98801700', label: '- Cuprinse la capitolul 17' },\n\t{ value: '98801800', label: '- Cuprinse la capitolul 18' },\n\t{ value: '98801900', label: '- Cuprinse la capitolul 19' },\n\t{ value: '98802000', label: '- Cuprinse la capitolul 20' },\n\t{ value: '98802100', label: '- Cuprinse la capitolul 21' },\n\t{ value: '98802200', label: '- Cuprinse la capitolul 22' },\n\t{ value: '98802300', label: '- Cuprinse la capitolul 23' },\n\t{ value: '98802400', label: '- Cuprinse la capitolul 24' },\n\t{ value: '98802500', label: '- Cuprinse la capitolul 25' },\n\t{ value: '98802600', label: '- Cuprinse la capitolul 26' },\n\t{ value: '98802700', label: '- Cuprinse la capitolul 27' },\n\t{ value: '98802800', label: '- Cuprinse la capitolul 28' },\n\t{ value: '98802900', label: '- Cuprinse la capitolul 29' },\n\t{ value: '98803000', label: '- Cuprinse la capitolul 30' },\n\t{ value: '98803100', label: '- Cuprinse la capitolul 31' },\n\t{ value: '98803200', label: '- Cuprinse la capitolul 32' },\n\t{ value: '98803300', label: '- Cuprinse la capitolul 33' },\n\t{ value: '98803400', label: '- Cuprinse la capitolul 34' },\n\t{ value: '98803500', label: '- Cuprinse la capitolul 35' },\n\t{ value: '98803600', label: '- Cuprinse la capitolul 36' },\n\t{ value: '98803700', label: '- Cuprinse la capitolul 37' },\n\t{ value: '98803800', label: '- Cuprinse la capitolul 38' },\n\t{ value: '98803900', label: '- Cuprinse la capitolul 39' },\n\t{ value: '98804000', label: '- Cuprinse la capitolul 40' },\n\t{ value: '98804100', label: '- Cuprinse la capitolul 41' },\n\t{ value: '98804200', label: '- Cuprinse la capitolul 42' },\n\t{ value: '98804300', label: '- Cuprinse la capitolul 43' },\n\t{ value: '98804400', label: '- Cuprinse la capitolul 44' },\n\t{ value: '98804500', label: '- Cuprinse la capitolul 45' },\n\t{ value: '98804600', label: '- Cuprinse la capitolul 46' },\n\t{ value: '98804700', label: '- Cuprinse la capitolul 47' },\n\t{ value: '98804800', label: '- Cuprinse la capitolul 48' },\n\t{ value: '98804900', label: '- Cuprinse la capitolul 49' },\n\t{ value: '98805000', label: '- Cuprinse la capitolul 50' },\n\t{ value: '98805100', label: '- Cuprinse la capitolul 51' },\n\t{ value: '98805200', label: '- Cuprinse la capitolul 52' },\n\t{ value: '98805300', label: '- Cuprinse la capitolul 53' },\n\t{ value: '98805400', label: '- Cuprinse la capitolul 54' },\n\t{ value: '98805500', label: '- Cuprinse la capitolul 55' },\n\t{ value: '98805600', label: '- Cuprinse la capitolul 56' },\n\t{ value: '98805700', label: '- Cuprinse la capitolul 57' },\n\t{ value: '98805800', label: '- Cuprinse la capitolul 58' },\n\t{ value: '98805900', label: '- Cuprinse la capitolul 59' },\n\t{ value: '98806000', label: '- Cuprinse la capitolul 60' },\n\t{ value: '98806100', label: '- Cuprinse la capitolul 61' },\n\t{ value: '98806200', label: '- Cuprinse la capitolul 62' },\n\t{ value: '98806300', label: '- Cuprinse la capitolul 63' },\n\t{ value: '98806400', label: '- Cuprinse la capitolul 64' },\n\t{ value: '98806500', label: '- Cuprinse la capitolul 65' },\n\t{ value: '98806600', label: '- Cuprinse la capitolul 66' },\n\t{ value: '98806700', label: '- Cuprinse la capitolul 67' },\n\t{ value: '98806800', label: '- Cuprinse la capitolul 68' },\n\t{ value: '98806900', label: '- Cuprinse la capitolul 69' },\n\t{ value: '98807000', label: '- Cuprinse la capitolul 70' },\n\t{ value: '98807100', label: '- Cuprinse la capitolul 71' },\n\t{ value: '98807200', label: '- Cuprinse la capitolul 72' },\n\t{ value: '98807300', label: '- Cuprinse la capitolul 73' },\n\t{ value: '98807400', label: '- Cuprinse la capitolul 74' },\n\t{ value: '98807500', label: '- Cuprinse la capitolul 75' },\n\t{ value: '98807600', label: '- Cuprinse la capitolul 76' },\n\t{ value: '98807800', label: '- Cuprinse la capitolul 78' },\n\t{ value: '98807900', label: '- Cuprinse la capitolul 79' },\n\t{ value: '98808000', label: '- Cuprinse la capitolul 80' },\n\t{ value: '98808100', label: '- Cuprinse la capitolul 81' },\n\t{ value: '98808200', label: '- Cuprinse la capitolul 82' },\n\t{ value: '98808300', label: '- Cuprinse la capitolul 83' },\n\t{ value: '98808400', label: '- Cuprinse la capitolul 84' },\n\t{ value: '98808500', label: '- Cuprinse la capitolul 85' },\n\t{ value: '98808600', label: '- Cuprinse la capitolul 86' },\n\t{ value: '98808700', label: '- Cuprinse la capitolul 87' },\n\t{ value: '98808800', label: '- Cuprinse la capitolul 88' },\n\t{ value: '98808900', label: '- Cuprinse la capitolul 89' },\n\t{ value: '98809000', label: '- Cuprinse la capitolul 90' },\n\t{ value: '98809100', label: '- Cuprinse la capitolul 91' },\n\t{ value: '98809200', label: '- Cuprinse la capitolul 92' },\n\t{ value: '98809300', label: '- Cuprinse la capitolul 93' },\n\t{ value: '98809400', label: '- Cuprinse la capitolul 94' },\n\t{ value: '98809500', label: '- Cuprinse la capitolul 95' },\n\t{ value: '98809600', label: '- Cuprinse la capitolul 96' },\n\t{ value: '98809700', label: '- Cuprinse la capitolul 97' },\n\t{ value: '99000000', label: 'CODURI SPECIALE DIN NOMENCLATURA COMBINATĂ' },\n\t{ value: '99050000', label: 'Anumite mărfuri prevăzute de Regulamentul (CE) nr. 1186/2009 al Consiliului (import și export)' },\n\t{ value: '99050000', label: '- Bunurile personale aparținând persoanelor fizice care își mută reședința obișnuită' },\n\t{ value: '99190000', label: '- Următoarele mărfuri, altele decât cele menționate mai sus:\\n–– Trusouri sau bunuri de uz gospodăresc aparținând unei persoane care își transferă reședința obișnuită cu ocazia căsătoriei; bunuri personale dobândite pe cale succesorală\\n–– Uniforme școlare, rechizite și obiecte de uz casnic\\n–– Sicrie conținând trupuri, urne funerare conținând cenușa unor persoane decedate și obiecte funerare ornamentale\\n–– Bunuri pentru organizații caritabile sau filantropice și bunuri în folosul victimelor catastrofelor' },\n\t{ value: '99300000', label: 'Mărfuri destinate navelor şi aeronavelor' },\n\t{ value: '99302400', label: '- Mărfuri de la capitolele NC 1 până la 24' },\n\t{ value: '99302700', label: '- Mărfuri din capitolul NC 27' },\n\t{ value: '99309900', label: '- Mărfuri clasificate în altă parte' },\n\t{ value: '99310000', label: 'Mărfuri destinate echipajului care asigură exploatarea instalației marine sau funcționării motoarelor, a mașinilor și a altor aparate ale instalației marine' },\n\t{ value: '99312400', label: '- Mărfuri de la capitolele NC 1 până la 24' },\n\t{ value: '99312700', label: '- Mărfuri din capitolul NC 27' },\n\t{ value: '99319900', label: '- Mărfuri clasificate în altă parte' },\n\t{ value: '99500000', label: 'Cod utilizat numai la comercializarea de mărfuri între statele membre pentru tranzacțiile individuale a căror valoare nu depășește 200 EUR și, în anumite cazuri, pentru semnalarea produselor reziduale' },\n]\n","import { filter, find, findIndex, findLastIndex, first, forEach, get, last, map, max, min, omit, pick, reverse, set, sumBy } from 'lodash'\nimport { v4 } from 'ember-uuid'\nimport * as turf from '@turf/turf'\n\nimport { formatDuration } from './date'\n\nconst colorRoads = ['#0090FF']\nconst colorDislocation = '#EB2121'\nconst colorFerry = '#FFFFFF'\nconst colorRail = 'gray'\nexport const HOUR_IN_SECONDS = 3600\n\n/**\n * Get best fuel level value\n * 1 - fuelLevel (waypoint detection[manual, automatic])\n * 2 - estimatedFuelLevel (estimations updated in chain by api after waypoint detection[manual, automatic] until a full\n * 3 - plannedFuelLevel (calculated by front end)\n */\nexport const getFuelLevel = (wp, toFixed) => {\n\tconst val = get(wp, 'fuelLevel', 0) || get(wp, 'estimatedFuelLevel', 0) || get(wp, 'plannedFuelLevel', 0)\n\treturn (!isNaN(val) && toFixed) ? Number(val?.toFixed(0)) : val\n}\n\nconst getWpTimestamp = w => {\n\tlet value = w?.customerRequestedArrival?.startTime || w?.customerRequestedArrival?.endTime\n\tif (!value && w?.plannedArrivalAt) value = w.plannedArrivalAt\n\treturn value || undefined\n}\n\nexport const getDislocationTimeBeforeFirstLoad = (waypoints, routes) => {\n\tif (routes?.length !== (waypoints?.length - 1)) return null\n\tconst dislocation = waypoints?.find(i => i?.purpose === 'dislocation')\n\tif (!dislocation) return null\n\n\tconst dislocationTSValue = dislocation?.estimatedArrivalAt || dislocation?.plannedArrivalAt || dislocation?.customerRequestedArrival?.startTime || dislocation?.customerRequestedArrival?.endTime\n\n\tlet dislocationTS = dislocationTSValue ? moment(dislocationTSValue) : null\n\n\t// validWp = loading, split, rail\n\tlet firstValidWpIdx = findIndex(waypoints, i => i?.purpose === 'loading')\n\tif (firstValidWpIdx === -1) firstValidWpIdx = findIndex(waypoints, i => ['rail-dock', 'rail-undock', 'ferry-dock', 'ferry-undock', 'split'].includes(i?.purpose))\n\tconst firstValidWp = waypoints?.[firstValidWpIdx]\n\tconst firstValidWpTS = firstValidWp ? moment(firstValidWp?.customerRequestedArrival?.startTime || firstValidWp?.customerRequestedArrival?.endTime) : null\n\n\tif (!firstValidWpTS) return null\n\n\t// dislocationTS = firstLoading - (route duration until there || 1h)\n\tconst duration = sumBy([...routes].splice(0, firstValidWpIdx), 'details.travelTime') || HOUR_IN_SECONDS\n\tdislocationTS = firstValidWpTS.clone().subtract(duration, 's')\n\treturn dislocationTS.toISOString()\n}\n\nexport const getPTVDetails = ptv => {\n\tif (!ptv) return null\n\tconst tollSummary = ptv?.toll?.summary || ptv?.tollSummary\n\tconst tollCostValue = tollSummary?.costs?.[0]?.amount\n\tconst tollCostDisplay = `${tollCostValue?.toFixed(2) || ''} ${tollSummary?.costs?.[0]?.currency || ''}`\n\tconst tollCostPopup = (tollSummary?.countries || []).map(i => `${i?.country}: ${i.convertedCost?.amount?.toFixed(2)} ${i?.convertedCost?.currency}`).join('\\n')\n\treturn {\n\t\tduration: formatDuration(true, ptv?.travelTime, 's'), // s\n\t\tdistance: ptv?.distance ? (ptv.distance / 1000).toFixed(2) + ' km' : 0, // m\n\t\ttollCost: { value: tollCostValue, display: tollCostDisplay, popup: tollCostPopup },\n\t}\n}\n\nexport const calculateWaypointsDurations = (waypoints, _routes, vehicle, fuelLvlFromFirstWp) => {\n\tconst { fuelLevel: _fuelLevelStart = 200, fuelCapacity = 800 } = vehicle || {}\n\tlet fuelLevelStart = _fuelLevelStart === null ? 200 : Number(_fuelLevelStart)\n\n\t// TODO get consumption from vehicle or fallback to 0.32\n\tconst K = 0.32\n\n\tif (fuelLvlFromFirstWp) fuelLevelStart = getFuelLevel(first(waypoints))\n\n\tconst firstLoadWpIdx = getFirstLoadedWpIdx(waypoints)\n\tconst lastLoadedWpIdx = getLastLoadedWpIdx(waypoints)\n\n\tconst copyRoutes = [..._routes]\n\tconst hasRoutes = waypoints.map((i, idx) => !!(i.location && waypoints[idx + 1]?.location))\n\thasRoutes.pop()\n\tconst routes = reverse(reverse(hasRoutes).map(i => i ? copyRoutes.pop() : null))\n\n\tconst wps = []\n\n\tlet startTrip\n\n\tconst dislocation = waypoints?.find(i => i?.purpose === 'dislocation')\n\n\tif (dislocation) {\n\t\tconst newTS = getDislocationTimeBeforeFirstLoad(waypoints, routes)\n\t\tconst dislocationTS = moment(newTS)\n\t\tstartTrip = dislocationTS\n\t\tset(dislocation, 'customerRequestedArrival.startTime', newTS)\n\t}\n\n\twaypoints.forEach((w, idx) => {\n\t\tconst prevWp = idx && wps[idx - 1]\n\t\tconst purpose = w?.purpose\n\t\tconst isDislocation = idx < firstLoadWpIdx\n\t\tconst isEndDislocation = idx >= lastLoadedWpIdx\n\n\t\t// start from prevWaypoint or from customer requested\n\t\tlet start = idx === 0 && startTrip ? startTrip : moment(prevWp ? prevWp?.plannedArrivalAt : getWpTimestamp(w))\n\t\t// customer requested arrival start default value\n\t\tconst startRequested = moment(prevWp ? prevWp?.customerRequestedArrival?.startTime : getWpTimestamp(w))\n\t\tconst route = routes[idx]\n\t\tconst prevRoute = routes[idx - 1]\n\t\t// add route duration\n\t\tconst prevRouteTravelTime = prevRoute?.details?.travelTime\n\t\tif (idx && prevRouteTravelTime) {\n\t\t\tstart.add(prevRouteTravelTime, 's')\n\t\t\tstartRequested.add(prevRouteTravelTime, 's')\n\t\t}\n\t\tif (idx) {\n\t\t\tstart.add(prevWp?.duration || 30, 'm')\n\t\t\tstartRequested.add(prevWp?.duration || 30, 'm')\n\t\t}\n\t\tconst distance = route?.details?.distance ? parseInt(route.details.distance / 1000) : 0\n\t\tconst consumption = distance * K\n\t\t// add waypoint duration\n\t\tconst customerRequestedArrivalValue = w?.customerRequestedArrival?.startTime || w?.customerRequestedArrival?.endTime\n\t\tconst customerRequestedArrival = { ...w?.customerRequestedArrival }\n\t\tlet considerCustomerArrival = !['loading', 'unloading'].includes(purpose) && customerRequestedArrivalValue\n\t\tif (!idx && idx === firstLoadWpIdx && customerRequestedArrivalValue) {\n\t\t\tconsiderCustomerArrival = customerRequestedArrivalValue\n\t\t}\n\t\tif (considerCustomerArrival) {\n\t\t\tconst customerReq = moment(customerRequestedArrivalValue)\n\t\t\tif (w?.isNew && purpose === 'end' && w?.customerRequestedArrival?.startTime === prevWp?.customerRequestedArrival?.startTime) {\n\t\t\t\tset(customerRequestedArrival, 'startTime', startRequested.toISOString())\n\t\t\t} else if (customerReq.valueOf() > start.valueOf()) { // max[plannedArrivalAt, customerRequested]\n\t\t\t\tstart = customerReq\n\t\t\t}\n\t\t}\n\t\tconst plannedArrivalAt = start.toISOString()\n\t\tconst prevWpFL = getFuelLevel(prevWp)\n\t\tlet prevDiff = prevWpFL - get(prevWp, 'consumption', 0)\n\t\tif (prevWp?.purpose === 'fueling') prevDiff += get(prevWp, 'amount', 0)\n\t\tlet plannedFuelLevel = prevWp ? prevDiff : fuelLevelStart\n\t\tif (w?.overwriteFuelLevel) plannedFuelLevel = w?.overwriteFuelLevel\n\t\tlet fuelLevelLeave = plannedFuelLevel\n\t\tif (purpose === 'fueling') {\n\t\t\tif (w?.fullTank) {\n\t\t\t\tfuelLevelLeave = fuelCapacity\n\t\t\t\tw.amount = fuelCapacity + (prevDiff ? (prevDiff * -1) : 0)\n\t\t\t} else if (w?.amount) {\n\t\t\t\tfuelLevelLeave += w?.amount\n\t\t\t}\n\t\t}\n\n\t\tconst wp = {\n\t\t\t...omit(w, 'temporaryID'),\n\t\t\tcustomerRequestedArrival,\n\t\t\tplannedArrivalAt,\n\t\t\ttravelTime: route?.details?.travelTime || 0,\n\t\t\tdistance,\n\t\t\tconsumption,\n\t\t\tisDislocation,\n\t\t\tisEndDislocation,\n\t\t\tplannedFuelLevel,\n\t\t\tfuelLevelLeave,\n\t\t\tptvDetails: getPTVDetails(route?.details),\n\t\t}\n\t\twps.push(wp)\n\t})\n\n\treturn wps\n}\n\nexport const computeLegDetails = (legs, wpsWithDurations) => {\n\tforEach(legs, leg => {\n\t\tconst routes = leg?.routes || []\n\t\tconst wps = map(leg.waypoints, i => find(wpsWithDurations, j => j.id === i.id) || i)\n\t\tleg.distance = routes.reduce((sum, r) => sum + get(r, 'details.distance', 0) / 1000, 0)\n\t\tleg.duration = wps.reduce((sum, w, i, arr) => sum + (w?.duration || 0) + (i < arr?.length - 1 ? w?.travelTime || 0 : 0), 0)\n\t\tleg.cost = {\n\t\t\tsections: routes.reduce((ac, r) => [...ac, ...get(r, 'details.toll.sections', [])], []),\n\t\t\ttotal: routes.reduce((sum, r) => sum + get(r, 'details.toll.summary.costs.0.amount', 0), 0),\n\t\t\tcountries: {},\n\t\t}\n\t\tforEach(routes, r => {\n\t\t\tforEach(get(r, 'details.toll.summary.countries'), cost => {\n\t\t\t\tset(leg, `cost.countries.${cost?.country}`, get(leg, `cost.countries.${cost?.country}`, 0) + get(cost, 'convertedCost.amount', 0))\n\t\t\t})\n\t\t})\n\n\t\tif (!leg.type) leg.type = 'road'\n\t\tleg.id = wps.map(i => i.id).join('-') || v4()\n\t\tleg.color = routes?.[0]?.color || '#FEDC00'\n\t\tif (leg?.from?.purpose?.includes('maritime') && leg?.to?.purpose?.includes('maritime')) {\n\t\t\tleg.type = 'maritime'\n\t\t} else if (leg?.from?.purpose?.includes('rail') && leg?.to?.purpose?.includes('rail')) {\n\t\t\tleg.type = 'rail'\n\t\t}\n\t\tleg.waypoints = wps\n\t})\n}\n\nexport const getFirstLoadedWpIdx = wps => {\n\tconst arr = []\n\tconst firstLoadWpIdx = findIndex(wps, i => i?.purpose === 'loading')\n\tif (firstLoadWpIdx !== -1) arr.push(firstLoadWpIdx)\n\n\tconst splitWpIdx = findIndex(wps, i => i?.purpose === 'split')\n\tif (splitWpIdx !== -1) arr.push(splitWpIdx)\n\treturn min(arr)\n}\n\nexport const getLastLoadedWpIdx = wps => {\n\tconst arr = [0]\n\tconst lastUnloadingWpIdx = findLastIndex(wps, i => i?.purpose === 'unloading')\n\tif (lastUnloadingWpIdx !== -1) arr.push(lastUnloadingWpIdx)\n\n\tconst splitWpIdx = findLastIndex(wps, i => i?.purpose === 'split')\n\tif (splitWpIdx !== -1) arr.push(splitWpIdx)\n\n\tconst templateWpIdx = findLastIndex(wps, i => {\n\t\tconst isRouteTemplate = ['rail-dock', 'rail-undock', 'ferry-dock', 'ferry-undock'].includes(i.purpose)\n\t\tconst isNotManned = isRouteTemplate && i?.custom?.manned === false\n\t\treturn isNotManned\n\t})\n\tif (templateWpIdx !== -1) arr.push(templateWpIdx)\n\n\treturn max(arr)\n}\n\nexport const getRouteColor = (purpose, prevRoute) => {\n\tconst type = getRouteTypeByWaypointPurpose(purpose)\n\tif (!type) return colorRoads[0]\n\tif (type === 'rail') return colorRail\n\tif (type === 'maritime') return colorFerry\n\tif (type === 'dislocation') return colorDislocation\n\tif (type === 'endDislocation') return colorDislocation\n\tconst prevColorIdx = colorRoads.indexOf(prevRoute?.color)\n\tlet colorIdx = prevColorIdx + 1\n\tif ((colorRoads?.length - 1) < colorIdx) colorIdx = 0\n\treturn colorRoads[colorIdx]\n}\n\nexport const getRouteTypeByWaypointPurpose = purpose => {\n\tconst routeTypes = [\n\t\t{ purpose: 'dislocation', type: 'dislocation' },\n\t\t{ purpose: 'endDislocation', type: 'endDislocation' },\n\t\t{ purpose: 'rail-dock', type: 'rail' },\n\t\t{ purpose: 'ferry-dock', type: 'maritime' },\n\t]\n\n\treturn routeTypes.find(i => purpose?.includes(i.purpose))?.type || 'road'\n}\n\n// planned > customerReq\nexport const getWaypointTimestampByPriority = (w, format) => {\n\tconst value = (\n\t\tw?.plannedArrivalAt ||\n\t\tw?.customerRequestedArrival?.startTime ||\n\t\tw?.customerRequestedArrival?.endTime\n\t)\n\tif (!format) return value\n\treturn moment(value).format(format)\n}\n\nexport const getDistanceTooltip = legs => {\n\tif (!legs?.length) return ''\n\tconst countries = []\n\n\tforEach(legs, leg => {\n\t\tforEach(leg?.routes, r => {\n\t\t\tconst routeDistance = r?.details?.distance\n\t\t\tconst arr = map(filter(r?.details?.events, e => e.eventType === 'COUNTRY_EVENT'), i => pick(i, ['country', 'distanceFromStart']))\n\t\t\tforEach(arr, ({ country, distanceFromStart }, idx) => {\n\t\t\t\tconst nextDistanceFromStart = arr?.[idx + 1]?.distanceFromStart || routeDistance\n\t\t\t\tconst distance = nextDistanceFromStart - distanceFromStart\n\t\t\t\tconst item = find(countries, c => c.country === country)\n\t\t\t\tif (item) {\n\t\t\t\t\tset(item, 'distance', item?.distance + distance)\n\t\t\t\t} else {\n\t\t\t\t\tcountries.push({ country, distance })\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t})\n\treturn map(countries, i => (`${i.country}: ${(i.distance / 1000).toFixed(0)} km`)).join('\\n')\n}\n\nexport const getRoadNumbers = route => {\n\tconst events = route?.details?.events\n\tconst numberEvents = filter(events, i => i?.eventType === 'MANEUVER_EVENT' && i?.roadAhead?.roadNumber)\n\tif (!numberEvents?.length) return null\n\tconst line = turf.lineString(map(route?.details?.polyline?.plain?.polyline, i => [i?.x, i?.y]))\n\tconst numbers = map(numberEvents, i => ({\n\t\tid: v4(),\n\t\tlatlng: { lat: i?.coordinate?.y, lng: i?.coordinate?.x },\n\t\tnumber: i.roadAhead.roadNumber,\n\t\tpopup: i.roadAhead.roadName,\n\t\tsd: i.distanceFromStart,\n\t\toriginal: i,\n\t}))\n\tconst arr = []\n\tforEach(numbers, i => {\n\t\tconst prev = last(arr)\n\t\tif (!prev) {\n\t\t\tarr.push(i)\n\t\t\treturn\n\t\t}\n\t\tif (prev?.number === i.number) return\n\t\tset(prev, 'ed', i.sd)\n\t\tconst sd = prev.sd / 1000 // start distance\n\t\tconst ed = prev.ed / 1000 // end distance\n\t\tconst diff = ed - sd\n\t\tconst halfDistance = diff / 2\n\t\tconst start = turf.along(line, sd)\n\t\tconst end = turf.along(line, ed)\n\t\tconst poly = turf.lineSlice(start, end, line)\n\t\t// const path = map(poly?.geometry?.coordinates, ([x, y]) => ({ lat: y, lng: x }))\n\t\tconst middlePoint = turf.along(poly, halfDistance)\n\t\tconst c = get(middlePoint, 'geometry.coordinates')\n\t\tconst latlng = { lat: c[1], lng: c[0] }\n\t\tset(prev, 'latlng', latlng)\n\t\tset(prev, 'distance', diff)\n\t\tset(prev, 'popup', [prev.name, `Distance: ${diff.toFixed(0)} km`].join('\\n'))\n\t\tarr.push(i)\n\t})\n\n\treturn arr\n}\n\nexport const getViolated = (route, t) => {\n\tconst events = route?.details?.events\n\tconst violations = filter(events, i => i.eventType === 'ROUTE_VIOLATION_EVENT')\n\tif (!violations?.length) return null\n\tconst violationsStart = filter(violations, i => i.accessType === 'ENTER')\n\tconst r = [] // routes\n\tconst m = [] // markers\n\tconst line = turf.lineString(map(route?.details?.polyline?.plain?.polyline, i => [i?.x, i?.y]))\n\tforEach(violationsStart, from => {\n\t\tconst to = events[from.relatedEventIndex]\n\t\tconst filteredReasons = filter(from?.violatedFeature?.attributes, i => i.value && i.value !== '0')\n\t\tconst reasons = map(filteredReasons, i => {\n\t\t\tconst isMaxWeight = i?.key === 'maxWeight'\n\t\t\tconst k = isMaxWeight ? t('maxWeight') : i?.key\n\t\t\tconst v = i.value\n\t\t\tconst unit = isMaxWeight ? 'kg' : undefined\n\t\t\treturn filter([`${k}:`, v, unit]).join(' ')\n\t\t}).join('\\n')\n\t\tconst sd = from.distanceFromStart / 1000 // start distance\n\t\tconst ed = to.distanceFromStart / 1000 // end distance\n\t\tconst halfDistance = (ed - sd) / 2\n\t\tconst start = turf.along(line, sd)\n\t\tconst end = turf.along(line, ed)\n\t\tconst poly = turf.lineSlice(start, end, line)\n\t\tconst path = map(poly?.geometry?.coordinates, ([x, y]) => ({ lat: y, lng: x }))\n\t\tconst middlePoint = turf.along(poly, halfDistance)\n\t\tconst c = get(middlePoint, 'geometry.coordinates')\n\t\tconst marker = { reasons, id: v4(), lat: c[1], lng: c[0] }\n\t\tconst isMaxWeight = filteredReasons.filter(i => i.key === 'maxWeight')\n\t\tif (isMaxWeight?.length) {\n\t\t\tconst val = isMaxWeight?.[0]?.value / 1000\n\t\t\tset(marker, 'txt', val > 10 ? val?.toFixed(0) : val?.toFixed(1))\n\t\t}\n\t\tr.push(path)\n\t\tm.push(marker)\n\t})\n\treturn { r, m }\n}\n","import { toUpper, truncate, split } from 'lodash'\n\nconst imagesExtension = ['apng', 'avif', 'gif', 'jpg', 'jpeg', 'jfif', 'pjpeg', 'pjp', 'png', 'svg', 'webp', 'bmp', 'ico', 'cur', 'tif', 'tiff']\nconst audioExtension = ['mp3', 'ogg']\n\nexport function truncateAndUpperCase (text, truncateLenght, omission = '') {\n\tconst str = toUpper(text)\n\tif (!truncateLenght) { return str }\n\treturn truncate(str, { length: truncateLenght, omission })\n}\n\nexport function formatCoordinate (coor, letter) {\n\tif (!coor) return '--.----'\n\tconst arr = split(coor, '.')\n\treturn `${arr[0]}.${truncate(arr[1], { length: 4, omission: '' })}${letter ? ' ' + letter : ''}`\n}\n\nexport function generateRandomColor (seed) {\n\treturn '#' + Math.floor((Math.abs(Math.sin(seed) * 16777215)) % 16777215).toString(16)\n}\n\nexport function isImage (fileName) {\n\tif (!fileName) return false\n\tconst arrFileName = fileName.split('.')\n\tif (arrFileName.length < 2) return false\n\tconst extension = arrFileName[arrFileName.length - 1]\n\treturn imagesExtension.indexOf(extension.toLowerCase()) !== -1\n}\n\nexport function isAudio (fileName) {\n\tif (!fileName) return false\n\tconst arrFileName = fileName.split('.')\n\tif (arrFileName.length < 2) return false\n\tconst extension = arrFileName[arrFileName.length - 1]\n\treturn audioExtension.indexOf(extension.toLowerCase()) !== -1\n}\n","import Resolver from 'ember-resolver';\n\nexport default Resolver;\n","import Ember from 'ember';\nimport config from './config/environment';\n\nconst { service } = Ember.inject;\n\nconst Router = Ember.Router.extend({\n    location: config.locationType,\n    rootURL: config.rootURL,\n    metrics: service(),\n\tcurrentUser: service('current-user'),\n    didTransition() {\n\t\tif (this.get('currentUser.accountDisabled')) {\n\t\t\tthis.transitionTo(\"account-disabled\");\n\t\t}\n        this._super(...arguments);\n        this._trackPage();\n    },\n\n    _trackPage() {\n        Ember.run.scheduleOnce('afterRender', this, () => {\n            const page = this.get('url');\n            const title = this.getWithDefault('currentRouteName', 'unknown');\n\n            Ember.get(this, 'metrics').trackPage('GoogleAnalytics', {\n                page, title\n            });\n        });\n    }\n});\n\nRouter.map(function () {\n  this.route('management', function () {\n    this.route('vehicles', function () {});\n    this.route('users', function () {});\n    this.route('groups', function () {\n        this.route('edit', { path: '/:id/edit' });\n    });\n    this.route('geofences', function () {\n        this.route('new');\n        this.route('view', { path: '/:id' });\n        this.route('edit', { path: '/:id/edit' });\n        this.route('import');\n    });\n    this.route('timetables', function () {\n      this.route('import');\n    });\n    this.route('integrations');\n    this.route('roles');\n    this.route('temporary-links');\n    this.route('maintenance', function () {\n      this.route('list');\n      this.route('rules');\n    });\n  });\n  this.route('map-shared');\n  this.route('map', function () {\n    this.route('routes', { path: '/routes/:vehicle_id' }, function () { });\n    this.route('route-eta', { path: '/route-eta/:vehicle_id' }, function () { });\n    this.route('eta-ptv', { path: '/eta-ptv/:vehicle_id' }, function () { });\n    this.route('vehicle', { path: '/vehicle/:vehicle_id' }, function () { })\n  });\n  this.route('e-transport', function () {\n    this.route('uits')\n    this.route('partners');\n  });\n  this.route('dispatch', function () {\n    this.route('map')\n    this.route('map2')\n    this.route('routes', function () {\n        this.route('edit', { path: '/:planned-route_id' })\n    })\n    this.route('orders');\n    this.route('clients');\n    this.route('vehicle-groups');\n  })\n  this.route('tms', function () {\n    this.route('map')\n    this.route('routes');\n    this.route('vehicle-groups');\n    this.route('clients');\n    this.route('orders', function () {\n        this.route('order-details', { path: '/order-details/*' });\n  });\n  })\n  this.route('rer', function () {\n    this.route('map')\n    this.route('subscribers')\n    this.route('pickups')\n  })\n  this.route('login');\n  this.route('logout');\n  this.route('signup');\n  this.route('invitation', { path: '/invitation' });\n  this.route('not-found', { path: '/*path' });\n  this.route('account-disabled');\n  this.route('maintenance');\n  this.route('oops');\n  this.route('widgets', function() {\n    this.route('status-feed');\n    this.route('alerts');\n    this.route('heatmap');\n    this.route('notifications');\n    this.route('users-tachograph');\n  });\n  this.route('driving', function() {\n    this.route('fcz');\n    this.route('engine-load-rpm');\n  });\n  this.route('settings', function() {\n    this.route('notifications');\n    this.route('speedLimit');\n    this.route('costs');\n    this.route('cabotage');\n    this.route('orders');\n    this.route('driverBehaviour');\n    this.route('daily-target');\n    this.route('account');\n    this.route('data-storage');\n    this.route('tms');\n    this.route('dispatch');\n    this.route('e-transport');\n  });\n  this.route('reports', function() {\n    this.route('faz');\n    this.route('fleet-summary');\n    this.route('route');\n    this.route('stationary');\n    this.route('fuel-level');\n    this.route('engine');\n    this.route('afterhours');\n    this.route('poi');\n    this.route('temperature');\n    this.route('temperature-range');\n    this.route('taxi');\n    this.route('country');\n    this.route('cost');\n    this.route('cabotage');\n    this.route('timesheet');\n    this.route('construction');\n    this.route('tacho-files');\n    this.route('tacho-timesheet');\n    this.route('obu-tickets');\n    this.route('23');\n    this.route('km-day');\n    this.route('consumption');\n    this.route('transits');\n    this.route('driver-routes');\n    this.route('fleet-summary-extended');\n\tthis.route('performance');\n  });\n});\n\nexport default Router;\n","import Ember from 'ember';\nimport ENV from '../config/environment'\nimport ApplicationRouteMixin from 'ember-simple-auth-auth0/mixins/application-route-mixin';\nimport ReactAPIService from '../react/services/api'\nimport ReactStore from '../react/store'\nimport ReactI18nService from '../react/services/i18n'\nimport { makeArray } from '@ember/array'\n\nconst { service } = Ember.inject;\n\nexport default Ember.Route.extend(ApplicationRouteMixin, {\n    i18n: service(),\n    moment: service(),\n    session: service(),\n    api: service(),\n    currentUser: service('current-user'),\n\n    title: function(tokens) {\n        tokens = makeArray(tokens)\n        tokens.unshift('Tracknamic')\n        tokens.unshift('Portal')\n        return tokens.reverse().join(' - ')\n    },\n\n    setLocale(newLanguage) {\n        let defaultLocale = ENV.i18n.defaultLocale\n        let user = this.get(\"currentUser.user\");\n        let locale = (user && user.get('details') && user.get('details.locale')) ? user.get('details.locale') : defaultLocale\n        if (newLanguage) {\n            locale = newLanguage\n            this.get('currentUser').set('newLocale', null)\n            this.get('store').find('user', user.get('id'))\n                .then(user => {\n                    user.set('details.locale', newLanguage)\n                    user.save() // request to update user\n                        .then(() => {\n                            if (user && user.get('details') && user.get('details.locale')) { // save in session store por persist the changes\n                                this.set(\"session.session.content.authenticated.profile.details.locale\", newLanguage)\n                                this.get('session.store').persist(this.get('session.data'))\n                            }\n                            this.toast.success(this.get('i18n').t('messages.languageChangedWithSuccess'))\n                        })\n                })\n\t\t}\n\t\tconst defaultTz = 'Europe/Bucharest'\n\t\tlet tz = (user && user.get('details') && user.get('details.timezone')) ? user.get('details.timezone') : defaultTz\n        this.get('moment').setTimeZone(tz)\n        this.get('moment').setLocale(locale);\n        this.set(\"i18n.locale\", locale);\n        if (ReactI18nService.isInitialized) {\n            ReactI18nService.changeLanguage(locale)\n        }\n    },\n\n    beforeModel() {\n        return this._loadCurrentUser()\n    },\n\n    afterModel(/*resolvedModel, transition*/) {\n        if (!this.get('userHasLoaded')) {\n            this.setLocale()\n        }\n    },\n\n    async sessionAuthenticated() {\n        let _super = this._super\n        await this._loadCurrentUser()\n        this.setLocale()\n        this.set('userHasLoaded', true)\n        this._setupReact()\n\t\t_super.call(this, ...arguments)\n\t\tthis.transitionTo(this.get('currentUser.landingPage'));\n    },\n\n    _loadCurrentUser() {\n        return this.get('currentUser').load().catch(() => this.get('session').invalidate())\n    },\n\n    _setupReact() {\n        ReactStore.getActions().global.setGoogleAPIKey(ENV['ember-google-maps'].key)\n        ReactStore.getActions().global.setAssetsPath(`${ENV.rootURL}assets`)\n\t\tReactAPIService.reconfigure({\n            host: `${ENV.api.host}/${ENV.api.namespace}`\n        })\n\t\tif (!this.get('currentUser.idToken')) return\n        ReactStore.getActions().global.setSpv(ENV.spv)\n        ReactStore.getActions().session.setToken(this.get('session.session.content.authenticated.idTokenPayload'))\n        ReactStore.getActions().session.setTokenID(this.get('currentUser.idToken'))\n\n        ReactAPIService.reconfigure({\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${this.get('currentUser.idToken')}`,\n            },\n            host: `${ENV.api.host}/${ENV.api.namespace}`\n        })\n\n\t\tReactStore.getActions().session.reload()\n\t\tReactStore.getActions().users.reload()\n\n\t\tif (this.get('currentUser.modules.chat') && this.get('session.session.content.authenticated.idToken')){\n\t\t\tReactStore.getActions().chat.init({\n\t\t\t\tcredentials: ENV.connectyCubeCredentials,\n\t\t\t\ttokenID: this.get('session.session.content.authenticated.idToken')\n\t\t\t})\n\t\t}\n\n        ReactI18nService.init({\n            backend: {\n                loadPath: `${ENV.rootURL}assets/locales/{{lng}}/{{ns}}.json`,\n            },\n            lng: this.get('currentUser.user.details.locale'),\n            fallbackLng: ENV.i18n.defaultLocale,\n            supportedLngs: ['en', 'ro', 'da', 'hu', 'de'],\n            ns: 'common',\n            interpolation: {\n                escapeValue: false\n            }\n        })\n    },\n\n    activate() {\n        this._setupReact()\n        return this._super(...arguments)\n    },\n\n    actions: {\n        loading() {\n            return true\n        },\n        willTransition(transition) {\n\t\t\tif (this.get('currentUser.accountDisabled') && transition?.targetName === 'login') {\n\t\t\t\tthis.get('session').invalidate()\n\t\t\t}\n            let appLocale = this.get('currentUser.locale')\n            let appNewLocale = this.get('currentUser.newLocale')\n\n            if (appNewLocale && appLocale != appNewLocale) {\n                this.setLocale(appNewLocale)\n            }\n        },\n    }\n});\n","import Route from '@ember/routing/route'\nimport { run } from '@ember/runloop'\nimport RSVP from 'rsvp'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport scrollingPaddingMixin from 'tracknamic-smb/mixins/scrolling-padding'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(AuthenticatedRouteMixin, scrollingPaddingMixin, aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tclients: this.store.findAll('client'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\trun.later(this, () => {\n\t\t\t\tthis.fixScrollPadding()\n\t\t\t}, 10)\n\t\t},\n\t}\n})\n","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, {\n\tmenuService: service('main-menu'),\n\n\tbeforeModel() {\n\t\tif (!this.get('menuService.dispatch').mapBy('route').includes(this.get('routeName'))) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Access denied to report because of user module')\n\n\t\t\tthis.transitionTo(this.get('menuService.dispatch')[0].route) // Load first report available\n\t\t}\n\t},\n})\n","import Route from '@ember/routing/route'\nimport { hash } from 'rsvp'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport { task, timeout } from 'ember-concurrency'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn hash({\n\t\t\tvehicles: this.store.findAll('vehicle'),\n\t\t\tvehicleGroups: this.store.findAll('vehicle-group'),\n\t\t\tgeofences: this.store.findAll('geofence'),\n\t\t\tclients: this.store.findAll('client'),\n\t\t})\n\t},\n\n\tsetupController() {\n\t\tthis._super(...arguments)\n\t\tthis.get('pollServerForChanges').perform()\n\t},\n\n\tpollServerForChanges: task(function* () {\n\t\t// eslint-disable-next-line no-constant-condition\n\t\twhile (true) {\n\t\t\tyield timeout(10000)\n\t\t\tyield this.store.findAll('vehicle')\n\t\t}\n\t}).cancelOn('deactivate').restartable(),\n});\n","import Route from '@ember/routing/route'\nimport { run } from '@ember/runloop'\nimport RSVP from 'rsvp'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport scrollingPaddingMixin from 'tracknamic-smb/mixins/scrolling-padding'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport { inject as service } from '@ember/service'\nimport { alias } from '@ember/object/computed'\n\nexport default Route.extend(AuthenticatedRouteMixin, scrollingPaddingMixin, aclMixin, {\n\tcurrentUser: service('current-user'),\n\tcompanyID: alias('currentUser.companyID'),\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\torderStatuses: this.store.findAll('order-status'),\n\t\t\tvehicleGroups: this.store.findAll('vehicle-group'),\n\t\t\tclients: this.store.findAll('client'),\n\t\t\tvehicles: this.store.query('vehicle', {\n\t\t\t\t$where: {\n\t\t\t\t\ttype: ['truck', 'semi-trailer'],\n\t\t\t\t}\n\t\t\t}),\n\t\t\tcompany: this.store.find('group', this.get('companyID'))\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\trun.later(this, () => {\n\t\t\t\tthis.fixScrollPadding()\n\t\t\t}, 10)\n\t\t},\n\t}\n})\n","import Route from '@ember/routing/route'\nimport RSVP from 'rsvp'\nimport { on } from '@ember/object/evented'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tmenuService: service('main-menu'),\n\n\tbeforeModel() {\n\t\tlet route = 'dispatch.routes'\n\t\tlet category = route.indexOf('.') != -1 ? route.substring(0, route.indexOf('.')) : route\n\n\t\tlet categoryCapitalized = category.charAt(0).toUpperCase() + category.slice(1)\n\t\tif (this.get(`menuService.has${categoryCapitalized}`)) {\n\t\t\tif (!this.get(`menuService.${category}`).mapBy('route').includes(route)) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn('Access denied to page because of user module or role page restriction')\n\n\t\t\t\tthis.transitionTo(this.get(`menuService.${category}`)[0].route) // Load first category page available\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconsole.info(`category:${category} has no value REDIRECTING TO HOME`) // eslint-disable-line no-console\n\t\t\tthis.transitionTo('index')\n\t\t}\n\t},\n\n\tmodel(params) {\n\t\treturn RSVP.hash({\n\t\t\tgeofences: this.get('store').query('geofence', {\n\t\t\t\t$where: {\n\t\t\t\t\ttype: 'poi'\n\t\t\t\t}\n\t\t\t}),\n\t\t\tgroups: this.store.findAll(\"group\"),\n\t\t\tvehicles: this.store.findAll(\"vehicle\"),\n\t\t\troute: params['planned-route_id'] !== 'new' ? this.store.findRecord('planned-route', params['planned-route_id']) : null\n\t\t})\n\t},\n\tafterModel(model) {\n\t\t// New route, prepare defaults\n\t\tif (model.route == null) {\n\t\t\tmodel.route = this.store.createRecord('planned-route', {\n\t\t\t\twaypoints: [{}, {}]\n\t\t\t})\n\t\t}\n\t},\n\tcleanup: on('deactivate', function () {\n\t\tlet model = this.modelFor(this.routeName)\n\t\tlet controller = this.controllerFor(this.routeName)\n\t\tcontroller.resetValues() // reset values\n\n\t\tif (model.route != null && model.route.get('isNew')) {\n\t\t\tmodel.route.unloadRecord()\n\t\t} else {\n\t\t\tmodel.route.rollbackAttributes()\n\t\t}\n\t})\n})\n","import Route from '@ember/routing/route'\nimport { run } from '@ember/runloop'\nimport RSVP from 'rsvp'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport scrollingPaddingMixin from 'tracknamic-smb/mixins/scrolling-padding'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, scrollingPaddingMixin, {\n\tmenuService: service('main-menu'),\n\n\tbeforeModel() {\n\t\tlet route = 'dispatch.routes'\n\t\tlet category = route.indexOf('.') != -1 ? route.substring(0, route.indexOf('.')) : route\n\n\t\tlet categoryCapitalized = category.charAt(0).toUpperCase() + category.slice(1)\n\t\tif (this.get(`menuService.has${categoryCapitalized}`)) {\n\t\t\tif (!this.get(`menuService.${category}`).mapBy('route').includes(route)) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn('Access denied to page because of user module or role page restriction')\n\n\t\t\t\tthis.transitionTo(this.get(`menuService.${category}`)[0].route) // Load first category page available\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconsole.info(`category:${category} has no value REDIRECTING TO HOME`) // eslint-disable-line no-console\n\t\t\tthis.transitionTo('index')\n\t\t}\n\t},\n\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tvehicles: this.store.findAll('vehicle'),\n\t\t\tplannedRoutes: this.store.findAll('planned-route'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\trun.later(this, () => {\n\t\t\t\tthis.fixScrollPadding()\n\t\t\t}, 10)\n\t\t},\n\t\tdelete(route) {\n\t\t\troute.destroyRecord()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route';\nimport { hash } from 'rsvp'\n\nexport default Route.extend({\n\tmodel() {\n\t\treturn hash({\n\t\t\tvehicles: this.store.findAll('vehicle'),\n\t\t})\n\t},\n});\n","import Route from '@ember/routing/route'\nimport { run } from '@ember/runloop'\nimport RSVP from 'rsvp'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport scrollingPaddingMixin from 'tracknamic-smb/mixins/scrolling-padding'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(AuthenticatedRouteMixin, scrollingPaddingMixin, aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tvehicleGroups: this.store.query('vehicle-group', {\n\t\t\t\t$where: {\n\t\t\t\t\ttype: 'manual',\n\t\t\t\t}\n\t\t\t}),\n\t\t\tvehicles: this.store.findAll('vehicle'),\n\t\t\tusers: this.store.findAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\trun.later(this, () => {\n\t\t\t\tthis.fixScrollPadding()\n\t\t\t}, 10)\n\t\t},\n\t}\n})\n","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport { inject as service } from '@ember/service'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(AuthenticatedRouteMixin, {\n\tclassNames: ['reports'],\n\tcurrentUser: service('current-user'),\n\treportsFilters: service('reports/filters'),\n\n\tmodel () {\n\t\tlet promises = {\n\t\t\tgroups: this.get('store').findAll('group'),\n\t\t\tvehicles: this.get('store').findAll('vehicle'),\n\t\t\tusers: this.get('store').findAll('user'),\n\t\t}\n\n\t\treturn RSVP.hash(promises)\n\t},\n\tafterModel (model) {\n\t\t// check if reportsFilters are instantiated: if not instantiate\n\t\tif (!this.get('reportsFilters.isInstantiated')) {\n\t\t\tthis.set('reportsFilters.startMonthDate', moment().startOf('month').valueOf())\n\t\t\tthis.set('reportsFilters.endMonthDate', moment().endOf('month').valueOf())\n\n\t\t\tthis.set('reportsFilters.startDay', moment().startOf('day').valueOf())\n\t\t\tthis.set('reportsFilters.endDay', moment().endOf('day').valueOf())\n\n\t\t\tthis.set('reportsFilters.startDate', moment().subtract(1, 'day').startOf('day').valueOf())\n\t\t\tthis.set('reportsFilters.endDate', moment().endOf('day').valueOf())\n\n\t\t\tconst vehiclesLength = model?.vehicles?.get('length')\n\t\t\tconst usersLength = model?.users?.get('length')\n\t\t\tif (vehiclesLength <= 50 && usersLength <= 100) {\n\t\t\t\tthis.get('reportsFilters').updateFilter('selectedGroup', this.get('currentUser.companyID'))\n\t\t\t}\n\t\t\tthis.get('reportsFilters').updateFilter('vehiclesO', model.vehicles)\n\t\t\tif (vehiclesLength <= 50) {\n\t\t\t\tthis.get('reportsFilters').selectAllVehicles()\n\t\t\t}\n\t\t\tthis.get('reportsFilters').updateFilter('usersO', model.users)\n\t\t\tif (usersLength <= 100) {\n\t\t\t\tthis.get('reportsFilters').updateFilter('users', model.users.mapBy('id'))\n\t\t\t}\n\n\t\t\tthis.set('reportsFilters.isInstantiated', true)\n\t\t}\n\t},\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, {\n\tmenuService: service('main-menu'),\n\n\tbeforeModel() {\n\t\tif (!this.get('menuService.driving').mapBy('route').includes(this.get('routeName'))) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Access denied to report because of user module')\n\n\t\t\tthis.transitionTo(this.get('menuService.driving')[0].route) // Load first report available\n\t\t}\n\t},\n})\n","import Ember from 'ember';\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend(AuthenticatedRouteMixin, {\n    menuService: service('main-menu'),\n    resolution: service(),\n\n    actions: {\n        didTransition() {\n            if (this.get('resolution.isMobile')) {\n                this.get('menuService').setContractedMenu(false)\n            }\n            return true // Bubble the didTransition event\n        }\n    }\n});\n","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, {\n    menuService: service('main-menu'),\n\n    beforeModel() {\n        if (!this.get('menuService.eTransport').mapBy('route').includes(this.get('routeName'))) {\n            // eslint-disable-next-line no-console\n            console.warn('Access denied to page because of user module')\n\n            this.transitionTo(this.get('menuService.eTransport')[0].route) // Load first report available\n        }\n    },\n})\n","import Ember from 'ember';\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend(AuthenticatedRouteMixin, {\n    menuService: service('main-menu'),\n    resolution: service(),\n\n    actions: {\n        didTransition() {\n            if (this.get('resolution.isMobile')) {\n                this.get('menuService').setContractedMenu(false)\n            }\n            return true // Bubble the didTransition event\n        }\n    }\n});\n","import Ember from 'ember'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport RSVP from 'rsvp'\nimport moment from 'moment'\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend(AuthenticatedRouteMixin, {\n\tapi: service(),\n\tmenuService: service('main-menu'),\n\n\tmodel() {\n\t\tlet yesterday = moment().add(-1, 'days').valueOf()\n\t\treturn RSVP.hash({\n\t\t\tusers: this.get(\"store\").findAll('user'),\n\t\t\troles: this.get(\"store\").findAll('role'),\n\t\t\tgroups: this.get('store').findAll('group'),\n\t\t\tvehicles: this.get('store').findAll('vehicle'),\n\t\t\ttimetables: this.get(\"api\").request('/timetables', {\n\t\t\t\tdata: {\n\t\t\t\t\tsince: yesterday\n\t\t\t\t}\n\t\t\t}),\n\t\t\tnotifications: this.get('store').findAll('notification')\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('menuService').setContractedMenu(false)\n\t\t\treturn true; // Bubble the didTransition event\n\t\t}\n\t},\n})\n","import Ember from 'ember'\nimport UnauthenticatedRouteMixin from 'ember-simple-auth/mixins/unauthenticated-route-mixin'\n\nexport default Ember.Route.extend(UnauthenticatedRouteMixin, {\n    session: Ember.inject.service(),\n    \n    beforeModel: function(transition) {\n        this._super(...arguments)\n        if (!this.get('session.isAuthenticated')) {\n            this.set(\"session.invitationToken\", decodeURI(transition.queryParams.t))\n            this.transitionTo(\"signup\")\n        }\n    }\n})","import Ember from 'ember'\nimport UnauthenticatedRouteMixin from 'ember-simple-auth/mixins/unauthenticated-route-mixin'\n\nexport default Ember.Route.extend(UnauthenticatedRouteMixin, {\n    session: Ember.inject.service(),\n\n    lockOptions: {\n        autoclose:          true,\n        closable:           true,\n        allowSignup:        false,\n        rememberLastLogin:  false,\n        avatar:             null,\n        auth: {\n            redirect: false,\n            params:{\n                scope: 'openid profile'\n            }\n        },\n        configurationBaseUrl: 'https://cdn.eu.auth0.com'\n    },\n\n    showLock () {\n        var _this = this;\n        this.get('session')\n        .authenticate('authenticator:tracknamic', this.get(\"lockOptions\"))\n        .catch(error => {\n            Ember.Logger.error(\"Login failed !\", error)\n\n            if (error != null && error.message === 'Account disabled') {\n                Ember.Logger.warn(\"Account disabled\")\n                _this.transitionTo(\"account-disabled\")\n                return\n            }\n\n            if (error.status === 0) {\n                _this.transitionTo(\"maintenance\")\n                return\n            }\n\n            _this.transitionTo(\"oops\")\n\t\t})\n    },\n\n    activate () {\n        this.showLock();\n    }\n})\n","import Ember from 'ember'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';\n\nexport default Ember.Route.extend(AuthenticatedRouteMixin, {\n    session: Ember.inject.service(),\n\n    activate() {\n        this.get('session').invalidate();\n    }\n})\n","import Ember from 'ember';\nimport RSVP from 'rsvp';\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';\nimport scrollingPaddingMixin from '../mixins/scrolling-padding'\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend(AuthenticatedRouteMixin, scrollingPaddingMixin, {\n    resolution: service(),\n    menuService: service('main-menu'),\n    currentUser: service('current-user'),\n\n    model() {\n\t\tlet maintenances = this.get('currentUser.hasMaintenanceAccess') ? this.get('store').findAll('maintenance-rule') : []\n        return RSVP.hash({\n            groups: this.get('store').findAll('group'),\n            vehicles: this.get('store').findAll('vehicle'),\n            users: this.get('store').findAll('user'),\n            roles: this.get('store').findAll('role'),\n            devices: this.get('store').findAll('device'),\n            timetables: this.get('store').findAll('timetable'),\n            geofence: this.get('store').findAll('geofence'),\n            maintenancesRules: maintenances,\n        });\n    },\n    actions: {\n        didTransition() {\n            Ember.run.next(this, 'fixScrollPadding')\n            if (this.get('resolution.isMobile')) {\n                this.get('menuService').setContractedMenu(false)\n            }\n        },\n    }\n});\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Ember from 'ember';\nimport RSVP from 'rsvp';\n\nexport default Ember.Route.extend({\n    model(params) {\n        return RSVP.hash({\n            vehicles: this.store.peekAll(\"vehicle\"),\n            groups: this.store.peekAll(\"group\"),\n            geofence: this.store.findRecord('geofence', params.id)\n        });\n    }\n});\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tmodal: service(),\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('modal').open('dc-geofences-import')\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.transitionTo('management.geofences')\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.transitionTo('management.geofences')\n\t\t\t\t})\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport RSVP from 'rsvp'\nimport { readOnly } from '@ember/object/computed'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\ti18n: service(),\n\tmodal: service(),\n\tcurrentUser: service('current-user'),\n\n\tcompanyID: readOnly('currentUser.user.companyID'),\n\n\tmodel() {\n\t\tlet i18n = this.get('i18n')\n\t\tlet companyID = this.get('companyID')\n\t\tlet geofences = this.store.findAll('geofence')\n\t\tlet companyGroup = this.store.findRecord('group', companyID)\n\n\t\tconst tHeaders = [\n\t\t\t{ key: 'name', value: i18n.t('management.headerFields.name'), align: 'left' },\n\t\t\t{ key: 'type', value: i18n.t('management.headerFields.type'), align: 'left' }\n\t\t]\n\t\treturn RSVP.hash({\n\t\t\ttHeaders: tHeaders,\n\t\t\tgeofences: geofences,\n\t\t\tcompany: companyGroup,\n\t\t})\n\t},\n\n\tactions: {\n\t\timportGeofence() {\n\t\t\tthis.transitionTo('management.geofences.import')\n\t\t},\n\t\tnewGeofence() {\n\t\t\tthis.transitionTo('management.geofences.new')\n\t\t},\n\t\tviewGeofence(geofenceID) {\n\t\t\tif (geofenceID) {\n\t\t\t\tthis.transitionTo('management.geofences.view', geofenceID)\n\t\t\t}\n\t\t},\n\t\teditGeofence(geofenceID) {\n\t\t\tif (geofenceID) {\n\t\t\t\tthis.transitionTo('management.geofences.edit', geofenceID)\n\t\t\t}\n\t\t},\n\t\tdeleteGeofence(geofence) {\n\t\t\tif (!geofence) { return }\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tlet options = {\n\t\t\t\ttittle: `${i18n.t('management.geofences.sureToDeleteGeofence')}?`,\n\t\t\t\tcontent: `${i18n.t('management.geofences.name')}: ${geofence.get('name')}`,\n\t\t\t\tisSmall: true,\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options).then(() => {\n\t\t\t\tgeofence.destroyRecord()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.store.unloadRecord(geofence)\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.toast.error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t}\n})\n","import Ember from 'ember'\nimport RSVP from 'rsvp'\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend({\n\tcurrentUser: service('current-user'),\n\tcompanyID: Ember.computed.alias('currentUser.user.companyID'),\n\tdefaultIcon: Ember.computed.alias('currentUser.defaultIcon'),\n\n\tmodel() {\n\t\tlet companyID = this.get('companyID')\n\t\tlet defaultIcon = this.get('defaultIcon')\n\t\treturn RSVP.hash({\n\t\t\tvehicles: this.store.peekAll(\"vehicle\"),\n\t\t\tgroups: this.store.peekAll(\"group\"),\n\t\t\tgeofence: this.store.createRecord('geofence', {\n\t\t\t\tgroupID: companyID,\n\t\t\t\tname: null,\n\t\t\t\tcolor: \"#000000\",\n\t\t\t\tglobal: false,\n\t\t\t\ttype: \"poi\",\n\t\t\t\tboundary: 500,\n\t\t\t\ticon: defaultIcon,\n\t\t\t\tshape: {\n\t\t\t\t\ttype: 'Point',\n\t\t\t\t\tcoordinates: [],\n\t\t\t\t},\n\t\t\t\tsettings: {\n\t\t\t\t\tevent_trigger: {\n\t\t\t\t\t\tstationary: 5\n\t\t\t\t\t},\n\t\t\t\t\tevent_type: {\n\t\t\t\t\t\tenter: \"disabled\",\n\t\t\t\t\t\texit: \"disabled\",\n\t\t\t\t\t\tstationary: \"disabled\",\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tvehicles: []\n\t\t\t})\n\t\t})\n\t},\n\tresetController(controller, isExiting) {\n\t\tif (isExiting) {\n\t\t\t// isExiting would be false if only the route's model was changing\n\t\t\tcontroller.setProperties({\n\t\t\t\tlat: null,\n\t\t\t\tlng: null\n\t\t\t});\n\t\t}\n\t}\n})\n","import Ember from 'ember';\nimport RSVP from 'rsvp';\n\nexport default Ember.Route.extend({\n    model(params) {\n        return RSVP.hash({\n            vehicles: this.store.peekAll(\"vehicle\"),\n            groups: this.store.peekAll(\"group\"),\n            geofence: this.store.peekRecord('geofence', params.id)\n        });\n    }\n});\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tmodal: service(),\n\ti18n: service(),\n\n\tmodel(params) {\n\t\treturn this.store.peekRecord('group', params.id)\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tlet group = this.controller.get('model')\n\t\t\tif (!group) { return false }\n\t\t\tlet i18n = this.get('i18n')\n\t\t\tlet options = {\n\t\t\t\ttittle: i18n.t('management.groups.editGroup'),\n\t\t\t\tacceptText: i18n.t('edit'),\n\t\t\t\tgroupName: group.get('name'),\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-group', options)\n\t\t\t\t.then(groupName => {\n\t\t\t\t\tif (!groupName || group.get('name') === groupName) { return false }\n\t\t\t\t\tgroup.set('name', groupName)\n\t\t\t\t\tgroup.save()\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tthis.toast.success(i18n.t('messages.operationWithSuccess'))\n\t\t\t\t\t\t\tthis.transitionTo('management.groups')\n\t\t\t\t\t\t}).catch(err => {\n\t\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.transitionTo('management.groups')\n\t\t\t\t})\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport RSVP from 'rsvp'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tcurrentUser: service(),\n\tmodal: service(),\n\ti18n: service(),\n\n\tinserVehiclesOnGroups(groups, vehicles) {\n\t\tlet _mainThis = this\n\t\t/*\n\t\t\t0. order by groupID length to get the level\n\t\t\t1. get parent\n\t\t\t2. insert in parent the parent Vehicles\n\t\t\t3. insert in parent childrens the groupID\n\t\t*/\n\n\t\tlet arrangedGroup = []\n\n\t\t//new structure of array\n\t\t// DONE \n\t\tgroups.toArray().forEach(function (item) {\n\t\t\tlet allowNew = true\n\t\t\tlet idSplited = item.id.split('-')\n\t\t\tidSplited.pop()\n\t\t\tlet parentID = idSplited.join('-')\n\t\t\tlet level = item.get('id').split('-').length\n\t\t\tif (level >= 7) {\n\t\t\t\tallowNew = false\n\t\t\t}\n\t\t\tarrangedGroup.push({\n\t\t\t\tgroupID: item.get('id'),\n\t\t\t\tlevel: level,\n\t\t\t\tallowNew: allowNew,\n\t\t\t\tallowEdit: true,\n\t\t\t\tisEmpty: false,\n\t\t\t\tparentID: parentID,\n\t\t\t\tgroupName: item.get('name'),\n\t\t\t\tchildrens: [],\n\t\t\t\tvehicles: []\n\t\t\t})\n\t\t})\n\n\t\t//insert Vehicles on each Group\n\t\tvehicles.toArray().forEach(function (veh) {\n\t\t\tarrangedGroup.findBy('groupID', veh.get('groupID')).vehicles.push(veh)\n\t\t})\n\n\t\t// sortArray ASC\n\t\tarrangedGroup.sort(function (a, b) {\n\t\t\treturn a.groupID.length - b.groupID.length\n\t\t})\n\n\t\tlet arrSubGroups = []\n\n\t\tarrangedGroup.toArray().forEach(function (grp) {\n\t\t\tlet groupLevel = grp.level\n\n\t\t\t//get all childs of parent\n\t\t\tfunction getChilds(group) {\n\t\t\t\tlet childrens = []\n\n\t\t\t\tarrangedGroup.forEach(function (n) {\n\t\t\t\t\tlet idSplited = n.groupID.split('-')\n\t\t\t\t\tidSplited.pop()\n\t\t\t\t\tlet partId = idSplited.join('-')\n\t\t\t\t\tif (partId === group.groupID) {\n\t\t\t\t\t\tn.childrens = getChilds(n)\n\t\t\t\t\t\tchildrens.push(n)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn childrens\n\t\t\t}\n\n\t\t\t//groupLevel == 2: main childrens of companyID\n\t\t\tif (groupLevel === 2) {// get the parents and push on them\n\t\t\t\tlet splitedGroupID = grp.groupID.split('-')\n\t\t\t\tsplitedGroupID.pop()\n\t\t\t\tlet parentiID = splitedGroupID.join('-')\n\t\t\t\t//get all childrens for this parent\n\t\t\t\t//find parentID and push in him\n\t\t\t\tarrSubGroups.findBy('groupID', parentiID).childrens.push({\n\t\t\t\t\t//this will insert parent on each level\n\t\t\t\t\tgroupID: grp.groupID,\n\t\t\t\t\tparentID: grp.parentID,\n\t\t\t\t\tlevel: grp.level,\n\t\t\t\t\tallowNew: grp.allowNew,\n\t\t\t\t\tallowEdit: true,\n\t\t\t\t\tisEmpty: false,\n\t\t\t\t\tgroupName: grp.groupName,\n\t\t\t\t\tchildrens: getChilds(grp),\n\t\t\t\t\tvehicles: grp.vehicles\n\t\t\t\t})\n\n\t\t\t} else if (groupLevel === 1) {\n\t\t\t\t// this must be executed first because the arrangedGroup Array is sorted ASC.\n\t\t\t\t// we have not parent. this is the companyID grp\n\t\t\t\tarrSubGroups.push({\n\t\t\t\t\tgroupID: grp.groupID,\n\t\t\t\t\tgroupName: grp.groupName,\n\t\t\t\t\tlevel: grp.level,\n\t\t\t\t\tallowNew: grp.allowNew,\n\t\t\t\t\tallowEdit: false, // not allow edit for company\n\t\t\t\t\tisEmpty: false,\n\t\t\t\t\tparentID: '',\n\t\t\t\t\tchildrens: [],\n\t\t\t\t\tvehicles: grp.vehicles\n\t\t\t\t})\n\t\t\t\t_mainThis.set('companyID', grp.groupID)\n\t\t\t}\n\t\t})\n\n\t\treturn arrSubGroups\n\t},\n\n\tmodel() {\n\t\tlet groups = this.store.peekAll('group')\n\t\tlet companyID = this.get('currentUser.companyID')\n\t\tlet companyGroups = groups.filterBy('companyID', companyID)\n\t\tlet partners = groups.rejectBy('companyID', companyID)\n\t\tlet vehicles = this.store.peekAll('vehicle')\n\t\tlet companyVehicles = vehicles.filterBy('companyID', companyID)\n\t\tlet arrangedGroup = this.inserVehiclesOnGroups(companyGroups, companyVehicles)\n\n\t\tfunction getChildrens(array) {\n\t\t\tarray.forEach(function (item) {\n\t\t\t\tif (!item.vehicles.length > 0 && !item.childrens.length > 0) {\n\t\t\t\t\titem.isEmpty = true\n\t\t\t\t}\n\t\t\t\tif (item.childrens.length > 0) {\n\t\t\t\t\tgetChildrens(item.childrens)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tgetChildrens(arrangedGroup)\n\n\t\t// return arrangedGroup\n\t\treturn RSVP.hash({\n\t\t\tarrangedGroup: arrangedGroup,\n\t\t\tpartners: partners,\n\t\t})\n\t},\n\n\tactions: {\n\t\taddGroup(groupID) {\n\t\t\tconst i18n = this.get('i18n')\n\t\t\tconst options = {\n\t\t\t\ttittle: i18n.t('management.groups.addGroup'),\n\t\t\t\tacceptText: i18n.t('add'),\n\t\t\t\tgroupName: null,\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-group', options)\n\t\t\t.then((groupName) => {\n\t\t\t\tif (!groupName) { return false }\n\t\t\t\tconst newGroup = this.store.createRecord('group', {\n\t\t\t\t\tparentID: groupID,\n\t\t\t\t\tname: groupName\n\t\t\t\t})\n\n\t\t\t\tnewGroup.save()\n\t\t\t\t\t.then(() => this.refresh())\n\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t\tthis.toast.error(i18n.t('messages.operationWithError'))\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\teditGroup(groupID) {\n\t\t\tif (!groupID) { return false }\n\t\t\tthis.transitionTo('management.groups.edit', groupID)\n\t\t},\n\t\tremoveGroup(groupID) {\n\t\t\tif (!groupID) { return false }\n\t\t\tlet group = this.store.peekRecord('group', groupID)\n\t\t\tif (!group) { return false }\n\n\t\t\tlet i18n = this.get('i18n')\n\n\t\t\tlet options = {\n\t\t\t\ttittle: i18n.t('management.groups.deleteGroup'),\n\t\t\t\tcontent: group.get('name'),\n\t\t\t\tisSmall: true,\n\t\t\t}\n\n\t\t\tthis.get('modal').open('dc-confirmation', options)\n\t\t\t\t.then(() => {\n\t\t\t\t\tgroup.destroyRecord()\n\t\t\t\t\t\t.then(grp => {\n\t\t\t\t\t\t\tgrp.unloadRecord()\n\t\t\t\t\t\t\tthis.refresh()\n\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\t\tconsole.error(err) // eslint-disable-line no-console\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t},\n\t}\n})","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\tlet users = this.store.peekAll('user')\n\t\tlet roles = this.store.peekAll('role')\n\n\t\treturn RSVP.hash({\n\t\t\troles,\n\t\t\tusers,\n\t\t})\n\t},\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport RSVP from 'rsvp'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tmodal: service(),\n\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tvehicles: this.get('store').findAll('vehicle'),\n\t\t\ttimetables: this.get('store').findAll('timetable')\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('modal').open('dc-timetables-import')\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.transitionTo('management.timetables')\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.transitionTo('management.timetables')\n\t\t\t\t})\n\t\t}\n\t}\n})","import Ember from 'ember'\nimport RSVP from 'rsvp'\nimport moment from 'moment'\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend({\n    i18n: service(),\n    currentUser: service('current-user'),\n    companyID: Ember.computed.alias('currentUser.user.companyID'),\n\n    queryParams: {\n        since: {\n            refreshModel: true,\n        }\n    },\n    // get possible periods in unix ms timestamp\n    getPeriods() {\n        let today = moment().startOf('day')\n        return {\n            today: today.valueOf(),\n            yesterday: today.subtract(1, 'days').valueOf(),\n            lastWeek: today.subtract(7, 'days').valueOf()\n        }\n    },\n\n    model(params) {\n        let periods = this.getPeriods()\n        if (!params.since) {\n            params.since = periods.today\n        } else {\n            params.since = Number(params.since)\n        }\n        let timetables = this.store.query('timetable', params).then(() => {\n            return this.store.peekAll('timetable')\n        });\n        let vehicles = this.store.findAll('vehicle')\n        let groups = this.store.query('group', {})\n        let companyID = this.get('companyID')\n        return RSVP.hash({\n            timetables: timetables,\n            vehicles: vehicles,\n            groups: groups,\n            periods: periods,\n            companyID: companyID,\n        });\n    },\n\n    newTimetable(isVehicle, object) {\n        let newDate = new Date()\n        let companyID = object && object.get('companyID') ? object.get('companyID') : this.get('companyID')\n        let globalTT = !isVehicle && !object\n        let vehicle, group = null\n        if (!globalTT) {\n            vehicle = isVehicle ? object.get('content') : null\n            group = isVehicle ? object.get('group.content') : object\n        }\n\n        this.store.createRecord('timetable', {\n            name: name,\n            group: group,\n            companyID: companyID,\n            vehicle: vehicle,\n            startTime: newDate,\n            endTime: null,\n            recurrent: false,\n            duration: 1800,\n            timezone: \"Europe/Bucharest\"\n        });\n    },\n\n    actions: {\n        new(isVehicle, object) {\n            if (!object) { return false }\n            this.newTimetable(isVehicle, object)\n        },\n        newGlobal() {\n            this.newTimetable(false, null)\n        },\n        import() {\n            this.transitionTo(\"management.timetables.import\");\n        },\n    }\n});","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport RSVP from 'rsvp'\n\nexport default Route.extend({\n\tcurrentUser: service('current-user'),\n\tmodal: service(),\n\ti18n: service(),\n\n\tcompanyID: computed.alias('currentUser.user.companyID'),\n\n\tmodel(params, transition) {\n\t\tlet companyID = this.get('companyID')\n\t\tlet users = this.store.peekAll('user')\n\t\tlet companyUsers = users.filterBy(\"companyID\", companyID).sortBy('fullName')\n\t\tlet groups = this.store.peekAll('group')\n\t\tlet roles = this.store.peekAll('role')\n\t\tlet companyGroups = groups.filterBy('companyID', companyID).sortBy('id')\n\t\tlet i18n = this.get('i18n')\n\n\t\tif (Object.keys(transition.queryParams).length > 0) { // queryParams for document of specficic user\n\t\t\tlet qp = transition.queryParams\n\t\t\tif (qp.userID && qp.documentID) {\n\t\t\t\tlet user = users.findBy('id', qp.userID)\n\t\t\t\tlet documentID = qp.documentID\n\t\t\t\tif (user) {\n\t\t\t\t\tthis.get('modal').open('dc-documents', { user, documentID })\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toast.error(i18n.t('userNotFound'))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst tHeaders = [\n\t\t\t{ key: 'fullName', value: i18n.t('management.headerFields.name'), align: 'left' },\n\t\t\t{ key: 'email', value: i18n.t('management.headerFields.email'), align: 'center' },\n\t\t\t{ key: 'phoneNumber', value: i18n.t('management.headerFields.phoneNumber'), align: 'right' },\n\t\t\t{ key: 'groupName', value: i18n.t('management.headerFields.division'), align: 'left' },\n\t\t\t{ key: 'type', value: i18n.t('management.headerFields.role'), align: 'left' },\n\t\t\t{ key: 'roleName', value: i18n.t('role'), align: 'left' },\n\t\t]\n\n\t\treturn RSVP.hash({\n\t\t\ttHeaders,\n\t\t\troles,\n\t\t\tusers: companyUsers,\n\t\t\tgroups: companyGroups,\n\t\t})\n\t},\n\n\tactions: {\n\t\trefreshRoute() {\n\t\t\tthis.refresh()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport RSVP from 'rsvp'\n\nexport default Route.extend({\n\tcurrentUser: service('current-user'),\n\tcompanyID: computed.readOnly('currentUser.user.companyID'),\n\tmodal: service(),\n\ti18n: service(),\n\n\tmodel (params, transition) {\n\t\tlet i18n = this.get('i18n')\n\t\tlet companyID = this.get('companyID')\n\t\tlet vehicles = this.store.query('vehicle', { user: true })\n\t\tlet devices = this.store.peekAll('device')\n\t\tlet maintenances = this.get('currentUser.hasMaintenanceAccess') ? this.store.peekAll('maintenance-rule') : []\n\t\tlet groups = this.store.peekAll('group')\n\t\tlet filteredGroups = groups.filterBy('companyID', companyID).sortBy('id')\n\n\t\tif (Object.keys(transition.queryParams).length > 0) { // queryParams for document of specficic vehicle\n\t\t\tlet qp = transition.queryParams\n\t\t\tif (qp.vehicleID && qp.documentID) {\n\t\t\t\tlet vehicle = vehicles.findBy('id', qp.vehicleID)\n\t\t\t\tlet documentID = qp.documentID\n\t\t\t\tif (vehicle) {\n\t\t\t\t\tthis.get('modal').open('dc-documents', { vehicle, documentID })\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toast.error(i18n.t('vehicleNotFound'))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(qp.vehicleID) {\n\t\t\t\tlet vehicle = vehicles.findBy('id', qp.vehicleID)\n\t\t\t\tlet maintenances = this.get('model.maintenances')\n\t\t\t\tif (vehicle) {\n\t\t\t\t\tthis.get('modal').open('dc-vehicle', { vehicle, maintenances, readonly: true })\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst tHeaders = [\n\t\t\t{ key: 'licensePlate', value: i18n.t('management.headerFields.licensePlate'), align: 'left' },\n\t\t\t{ key: 'user.fullName', value: i18n.t('management.headerFields.driver'), align: 'left' },\n\t\t\t{ key: 'carName', value: i18n.t('management.headerFields.car'), align: 'left' },\n\t\t\t{ key: 'type', value: i18n.t('management.headerFields.type'), align: 'left' },\n\t\t\t{ key: 'group.name', value: i18n.t('management.headerFields.division'), align: 'left' },\n\t\t\t{ key: 'status', value: i18n.t('management.headerFields.status'), align: 'left' },\n\t\t]\n\n\t\treturn RSVP.hash({\n\t\t\ttHeaders,\n\t\t\tvehicles,\n\t\t\tdevices,\n\t\t\tmaintenances,\n\t\t\tfilteredGroups,\n\t\t})\n\t},\n\n\tafterModel() {\n\t\twindow.history.replaceState({}, 'vehicles','vehicles')\n\t}\n})\n","import Ember from 'ember';\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend(AuthenticatedRouteMixin, {\n    menuService: service('main-menu'),\n    resolution: service(),\n\n    actions: {\n        didTransition() {\n            if (this.get('resolution.isMobile')) {\n                this.get('menuService').setContractedMenu(false)\n            }\n            return true // Bubble the didTransition event\n        }\n    }\n});\n","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend({\n    currentUser: service('current-user'),\n\n    beforeModel() {\n        if (!this.get('currentUser.hasMapEtaAccess')) {\n            if (this.get('currentUser.hasMapAccess'))\n                this.transitionTo('map')\n            else\n                this.transitionTo('index')\n        }\n    },\n})\n","import Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend({\n    currentUser: service('current-user'),\n\n    beforeModel() {\n        if (!this.get('currentUser.hasMapEtaAccess')) {\n            if (this.get('currentUser.hasMapAccess'))\n                this.transitionTo('map')\n            else\n                this.transitionTo('index')\n        }\n    },\n\n    model(params) {\n        return Ember.RSVP.hash({\n            vehicle: this.store.findRecord(\"vehicle\", params.vehicle_id),\n            geofences: this.store.findAll(\"geofence\"),\n        })\n    },\n})\n","import Ember from 'ember'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\nimport moment from 'moment'\nimport { task, timeout } from 'ember-concurrency'\nimport { inject as service } from '@ember/service'\n\nvar stops = [\n\tEmber.Object.create({\n\t\tid: '1',\n\t\ttext: '1 min',\n\t\tvalue: 60\n\t}),\n\tEmber.Object.create({\n\t\tid: '2',\n\t\ttext: '5 min',\n\t\tvalue: 300\n\t}),\n\tEmber.Object.create({\n\t\tid: '3',\n\t\ttext: '10 min',\n\t\tvalue: 600\n\t}),\n\tEmber.Object.create({\n\t\tid: '4',\n\t\ttext: '20 min',\n\t\tvalue: 1200\n\t}),\n\tEmber.Object.create({\n\t\tid: '5',\n\t\ttext: '30 min',\n\t\tvalue: 1800\n\t}),\n]\n\nexport default Ember.Route.extend(AuthenticatedRouteMixin, datesMixin, {\n\tcurrentUser: service('current-user'),\n\n\tvehicleID: null,\n\n\tqueryParams: {\n\t\trouteStartDate: {\n\t\t\trefreshModel: true\n\t\t},\n\t\trouteEndDate: {\n\t\t\trefreshModel: true\n\t\t}\n\t},\n\n\tbeforeModel(transition) {\n\t\tif (!this.get('currentUser.hasMapRoutesAccess')) {\n\t\t\tif (this.get('currentUser.hasMapAccess'))\n\t\t\t\tthis.transitionTo('map')\n\t\t\telse\n\t\t\t\tthis.transitionTo('index')\n\t\t}\n\n\t\tlet transitionAborted = false\n\t\tlet contexts = transition.intent ? transition.intent.contexts : null // contexts contains the vehicle id of the selected vehicle\n\t\tlet vehicleIdChanged = contexts ? contexts.length > 0 : false\n\n\t\tif ((this.controller) && !this.controller.get('finishedDateSelection') && !vehicleIdChanged) {\n\t\t\tlet startDate = this.controller.get('routeStartDate')\n\t\t\tlet endDate = this.controller.get('routeEndDate')\n\t\t\tlet dayDiff = moment(endDate).diff(moment(startDate), \"days\")\n\n\t\t\t// when date range is bigger then 2 weeks\n\t\t\tif (Math.abs(dayDiff) > 14) {\n\t\t\t\tif (this.controller.get('datePickerSelected') === 'routeStartDate') {\n\t\t\t\t\tlet monthDiff = this.calcMonthDifference(endDate, startDate)\n\t\t\t\t\tif (monthDiff !== 0) {\n\t\t\t\t\t\tthis.controller.set('openAtMonthEndDP', monthDiff)\n\t\t\t\t\t}\n\t\t\t\t\tthis.controller.set('toggleEndDatePicker', true)\n\t\t\t\t} else if (this.controller.get('datePickerSelected') === 'routeEndDate') {\n\t\t\t\t\tlet monthDiff = this.calcMonthDifference(startDate, endDate)\n\t\t\t\t\tif (monthDiff !== 0) {\n\t\t\t\t\t\tthis.controller.set('openAtMonthStartDP', monthDiff)\n\t\t\t\t\t}\n\t\t\t\t\tthis.controller.set('toggleStartDatePicker', true)\n\t\t\t\t}\n\n\t\t\t\t// Abort transition\n\t\t\t\ttransition.abort();\n\t\t\t\ttransitionAborted = true\n\t\t\t}\n\t\t}\n\n\t\tif (!transitionAborted) {\n\t\t\tlet controller = this.controllerFor('map.routes')\n\t\t\tcontroller.set('currentlyLoading', true)\n\n\t\t\t// reset toggle indicators\n\t\t\tif (this.controller && this.controller.get('finishedDateSelection')) {\n\t\t\t\tthis.controller.set('finishedDateSelection', false)\n\t\t\t\tthis.controller.set('toggleStartDatePicker', false)\n\t\t\t\tthis.controller.set('toggleEndDatePicker', false)\n\t\t\t}\n\t\t}\n\t},\n\n\tmodel: function (params) {\n\t\tthis.set('vehicleID', params.vehicle_id)\n\n\t\treturn Ember.RSVP.hash({\n\t\t\tgroups: this.store.findAll(\"group\"),\n\t\t\tselectedVehicle: this.store.findRecord(\"vehicle\", params.vehicle_id),\n\t\t\troutes: this.store.query(\"route\", {\n\t\t\t\t$where: {\n\t\t\t\t\tvehicle_id: params.vehicle_id,\n\t\t\t\t\t'>=': {\n\t\t\t\t\t\tstart_time: this.convertDateToCompanyTZ(params.routeStartDate)\n\t\t\t\t\t},\n\t\t\t\t\t'<=': {\n\t\t\t\t\t\tstart_time: this.convertDateToCompanyTZ(params.routeEndDate)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tstops: stops,\n\t\t\tgeofences: this.store.findAll('geofence'),\n\t\t\tusers: this.store.findAll('user'),\n\t\t})\n\t},\n\n\tafterModel() {\n\t\tlet controller = this.controllerFor('map.routes')\n\t\tcontroller.set('currentlyLoading', false)\n\t},\n\n\tsetupController() {\n\t\tthis._super(...arguments)\n\t\tthis.get('pollServerForChanges').perform()\n\t},\n\n\tpollServerForChanges: task(function* () {\n\t\t// eslint-disable-next-line no-constant-condition\n\t\twhile (true) {\n\t\t\tyield timeout(10000)\n\t\t\tyield this.store.query('vehicle', { geolocation: true, $where: { id: this.get('vehicleID') } })\n\t\t}\n\t}).cancelOn('deactivate').restartable(),\n\n\ttitleToken: function (model) {\n\t\treturn model.selectedVehicle.get('licensePlate')\n\t},\n\ttitle: function (tokens) {\n\t\treturn tokens.join(' - ')\n\t},\n\n\tresetController: function (controller, isExiting) {\n\t\tif (!isExiting) { return false }\n\t\tclearInterval(this.get('timer'))\n\t\t// isExiting would be false if only the route's model was changing\n\t\tif (!controller.get(\"routeStartDate\")) {\n\t\t\tcontroller.set(\"routeStartDate\", moment(moment().format(\"YYYY-MM-DD\")).valueOf())\n\t\t}\n\t\tif (!controller.get(\"routeEndDate\")) {\n\t\t\tcontroller.set(\"routeEndDate\", moment(moment().format(\"YYYY-MM-DD\")).endOf('day').valueOf())\n\t\t}\n\t\t/**\n\t\t * When user leaves the page set selected route to null.\n\t\t */\n\t\tcontroller.resetParameters()\n\t},\n\n\tcalcMonthDifference(from, to) {\n\t\tlet startOfFrom = moment(from).startOf('month')\n\t\tlet startOfTo = moment(to).startOf('month')\n\t\tlet monthDiff = moment(startOfTo).startOf('month').diff(startOfFrom, 'months')\n\t\treturn monthDiff\n\t},\n\n\tactions: {\n\t\twillTransition() {\n\t\t\tthis.controller.hideChart();\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\nimport { hash } from 'rsvp'\n\nexport default Route.extend({\n\tmodal: service(),\n\n\tmodel () {\n\t\tconst vehicle = this._super(...arguments)\n\n\t\treturn hash({\n\t\t\tvehicle,\n\t\t\tgroups: this.store.findAll('group'),\n\t\t\tusers: this.store.findAll('user'),\n\t\t})\n\t},\n\n\tafterModel () {\n\t\tconst params = this.paramsFor(this.routeName)\n\t\tlet vehicle = this.store.peekRecord('vehicle', params.vehicle_id)\n\t\tif (vehicle) {\n\t\t\tthis.get('modal').open('dc-vehicle', { vehicle, readonly: true, disableEdit: true })\n\t\t\t.catch(() => {\n\t\t\t\tthis.transitionTo('map')\n\t\t\t})\n\t\t}\n\t}\n})\n","import Ember from 'ember';\nimport UnauthenticatedRouteMixin from 'ember-simple-auth/mixins/unauthenticated-route-mixin';\n\nexport default Ember.Route.extend(UnauthenticatedRouteMixin, {\n    onActivate: Ember.on('activate', function() {\n        this.transitionTo('index');\n    })\n});","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport RSVP from 'rsvp'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, {\n\tcurrentUser: service('current-user'),\n\treportsFilters: service('reports/filters'),\n\n\tmodel () {\n\t\tlet promises = {\n\t\t\tgroups: this.get('store').findAll('group'),\n\t\t\tgeofences: this.get('store').findAll('geofence'),\n\t\t\tvehicles: this.get('store').findAll('vehicle'),\n\t\t\tusers: this.get('store').findAll('user', {reload:true}),\n\t\t}\n\n\t\treturn RSVP.hash(promises)\n\t},\n\tafterModel (model) {\n\t\t// check if reportsFilters are instantiated: if not instantiate\n\t\tif (!this.get('reportsFilters.isInstantiated')) {\n\t\t\tthis.set('reportsFilters.startMonthDate', moment().startOf('month').valueOf())\n\t\t\tthis.set('reportsFilters.endMonthDate', moment().endOf('month').valueOf())\n\n\t\t\tthis.set('reportsFilters.startDay', moment().startOf('day').valueOf())\n\t\t\tthis.set('reportsFilters.endDay', moment().endOf('day').valueOf())\n\n\t\t\tthis.set('reportsFilters.startDate', moment().subtract(1, 'day').startOf('day').valueOf())\n\t\t\tthis.set('reportsFilters.endDate', moment().endOf('day').valueOf())\n\n\t\t\tconst vehiclesLength = model?.vehicles?.get('length')\n\t\t\tconst usersLength = model?.users?.get('length')\n\t\t\tif (vehiclesLength <= 50 && usersLength <= 100) {\n\t\t\t\tthis.get('reportsFilters').updateFilter('selectedGroup', this.get('currentUser.companyID'))\n\t\t\t}\n\t\t\tthis.get('reportsFilters').updateFilter('vehiclesO', model.vehicles)\n\t\t\tif (vehiclesLength <= 50) {\n\t\t\t\tthis.get('reportsFilters').selectAllVehicles()\n\t\t\t}\n\t\t\tthis.get('reportsFilters').updateFilter('usersO', model.users)\n\t\t\tif (usersLength <= 100) {\n\t\t\t\tthis.get('reportsFilters').updateFilter('users', model.users.mapBy('id'))\n\t\t\t}\n\n\t\t\tthis.set('reportsFilters.isInstantiated', true)\n\t\t}\n\t},\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, {\n    menuService: service('main-menu'),\n\n    beforeModel() {\n        if (!this.get('menuService.reports').mapBy('route').includes(this.get('routeName'))) {\n            // eslint-disable-next-line no-console\n            console.warn('Access denied to report because of user module')\n\n            this.transitionTo(this.get('menuService.reports')[0].route) // Load first report available\n        }\n    },\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel(params, transition) {\n\t\tthis.set('qp', transition.queryParams)\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tsetupController(controller, model) { // set query params\n\t\tthis._super(controller, model)\n\t\tlet qp = this.get('qp')\n\t\tlet validQP = qp && qp.vehicleID && qp.start && qp.end\n\t\tif (validQP) {\n\t\t\tcontroller.setQP(qp)\n\t\t}\n\t},\n\n\tresetController(controller, isExiting) { // remove query params\n\t\tif (isExiting) {\n\t\t\tthis.set('qp', null)\n\t\t\tthis.get('controller').removeQP()\n\t\t}\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t},\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tgeofences: this.get('store').peekAll('geofence'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers:  this.get('store').peekAll('user').filter((user) => {\n\t\t\t\treturn user.get('details.tachoCardID') != null && user.get('details.tachoCardID').trim().length > 2\n\t\t\t}),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel(params, transition) {\n\t\tthis.set('qp', transition.queryParams)\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user').filter((user) => {\n\t\t\t\treturn user.get('details.tachoCardID') != null && user.get('details.tachoCardID').trim().length > 2\n\t\t\t}),\n\t\t})\n\t},\n\n\tsetupController(controller, model) { // set query params\n\t\tthis._super(controller, model)\n\t\tlet qp = this.get('qp')\n\t\tlet validQP = qp && qp.cardID && qp.start && qp.end\n\t\tif (validQP) {\n\t\t\tcontroller.setQP(qp)\n\t\t}\n\t},\n\n\tresetController(controller, isExiting) { // remove query params\n\t\tif (isExiting) {\n\t\t\tthis.set('qp', null)\n\t\t\tthis.get('controller').removeQP()\n\t\t}\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\nimport RSVP from 'rsvp'\n\nexport default Route.extend(aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tgroups: this.get('store').peekAll('group'),\n\t\t\tvehicles: this.get('store').peekAll('vehicle'),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getReportData').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport RSVP from 'rsvp'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport { task, timeout } from 'ember-concurrency'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(AuthenticatedRouteMixin, aclMixin, {\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tvehicles: this.store.findAll('vehicle'),\n\t\t\tgeofences: this.store.findAll('geofence')\n\t\t})\n\t},\n\n\tsetupController() {\n\t\tthis._super(...arguments)\n\t\tthis.get('pollServerForChanges').perform()\n\t},\n\n\tpollServerForChanges: task(function* () {\n\t\t// eslint-disable-next-line no-constant-condition\n\t\twhile (true) {\n\t\t\tyield timeout(10000)\n\t\t\tyield this.store.query('vehicle', { geolocation: true })\n\t\t}\n\t}).cancelOn('deactivate').restartable(),\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport scrollingPaddingMixin from '../mixins/scrolling-padding'\nimport RSVP from 'rsvp'\nimport { run } from '@ember/runloop'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, scrollingPaddingMixin, {\n\tresolution: service(),\n\tmenuService: service('main-menu'),\n\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tvehicles: this.get('store').findAll('vehicle'),\n\t\t\tusers: this.get('store').peekAll('user'),\n\t\t})\n\t},\n\tactions: {\n\t\tdidTransition() {\n\t\t\trun.next(this, 'fixScrollPadding')\n\t\t\tif (this.get('resolution.isMobile')) {\n\t\t\t\tthis.get('menuService').setContractedMenu(false)\n\t\t\t}\n\t\t},\n\t}\n})\n","import Route from '@ember/routing/route'\n\nexport default Route.extend({\n\tmodel() {\n\t\treturn this.modelFor('application')\n\t}\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tcurrentUser: service('current-user'),\n\n\tmodel() {\n\t\tlet companyID = this.get('currentUser.user.companyID')\n\t\treturn this.store.findRecord('group', companyID)\n\t}\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tcurrentUser: service('current-user'),\n\n\tmodel() {\n\t\tlet companyID = this.get('currentUser.user.companyID')\n\t\treturn this.store.findRecord('group', companyID)\n\t}\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tmenuService: service('main-menu'),\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tmenuService: service('main-menu'),\n\n\tbeforeModel () {\n\t\tif (!this.get('menuService.hasDispatch')) {\n\t\t\tthis.transitionTo(this.get('menuService.settings')[0].route) // Load first category page available\n\t\t}\n\t},\n})\n","import Route from '@ember/routing/route'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\nimport RSVP from 'rsvp'\n\nexport default Route.extend({\n\tcurrentUser: service('current-user'),\n\tcompanyID: computed.readOnly('currentUser.companyID'),\n\n\tmodel() {\n\t\treturn RSVP.hash({\n\t\t\tvehicles: this.store.findAll('vehicle'),\n\t\t\tcompany: this.store.findRecord('group', this.get('companyID')),\n\t\t})\n\t},\n\n\tactions: {\n\t\tdidTransition() {\n\t\t\tthis.get('controller').get('getProfiles').perform()\n\t\t}\n\t}\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tmenuService: service('main-menu'),\n\n\tbeforeModel () {\n\t\tif (!this.get('menuService.modules.eTransport')) {\n\t\t\tthis.transitionTo(this.get('menuService.settings')[0].route) // Load first category page available\n\t\t}\n\t},\n})\n","import Route from '@ember/routing/route'\nimport aclMixin from 'tracknamic-smb/mixins/acl-access'\n\nexport default Route.extend(aclMixin, {\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tcurrentUser: service('current-user'),\n\n\tmodel() {\n\t\tlet companyID = this.get('currentUser.user.companyID')\n\n\t\treturn this.store.findRecord('group', companyID)\n\t}\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\nimport RSVP from 'rsvp'\n\nexport default Route.extend({\n\tcurrentUser: service('current-user'),\n\n\tmodel() {\n\t\tlet companyID = this.get('currentUser.user.companyID')\n\t\treturn RSVP.hash({\n\t\t\torderStatuses: this.store.findAll('order-status'),\n\t\t\tgroup: this.store.findRecord('group', companyID),\n\t\t})\n\t}\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tcurrentUser: service('current-user'),\n\n\tmodel() {\n\t\tlet companyID = this.get('currentUser.user.companyID')\n\t\treturn this.store.findRecord('group', companyID)\n\t}\n})\n","import Route from '@ember/routing/route'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend({\n\tmenuService: service('main-menu'),\n\n\tbeforeModel () {\n\t\tif (!this.get('menuService.hasTms')) {\n\t\t\tthis.transitionTo(this.get('menuService.settings')[0].route) // Load first category page available\n\t\t}\n\t},\n})\n","import Ember from 'ember'\nimport UnauthenticatedRouteMixin from 'ember-simple-auth/mixins/unauthenticated-route-mixin'\nimport ENV from '../config/environment'\nimport { jwt_decode } from 'ember-cli-jwt-decode'\n\n\nexport default Ember.Route.extend(UnauthenticatedRouteMixin, {\n\tsession: Ember.inject.service(),\n\t\n\tonActivate: Ember.on('activate', function () {\n\t\tlet invitationToken = this.get(\"session.invitationToken\")\n\t\tif (invitationToken == null) {\n\t\t\treturn this.transitionTo(\"login\")\n\t\t}\n\n\t\tlet locale = ENV.i18n.defaultLocale\n\t\ttry {\n\t\t\tconst decoded = jwt_decode(invitationToken)\n\t\t\tif (decoded != null && decoded.locale != null) {\n\t\t\t\tlocale = decoded.locale\n\t\t\t} \n\t\t}\n\t\tcatch (error) {\n\t\t\tEmber.Logger.warn(\"Invalid invitation token !\", invitationToken)\n\t\t}\n\n\t\tvar lockOptions = {\n\t\t\tautoclose: true,\n\t\t\tclosable: true,\n\t\t\tlanguage: locale,\n\t\t\tallowLogin: false,\n\t\t\tallowSignUp: true,\n\t\t\tinitialScreen: 'signUp',\n\t\t\tauth: {\n\t\t\t\tredirect: false,\n\t\t\t\tparams: {\n\t\t\t\t\tscope: 'openid profile'\n\t\t\t\t}\n\t\t\t},\n\t\t\tconfigurationBaseUrl: 'https://cdn.eu.auth0.com'\n\t\t};\n\t\tthis.get('session')\n\t\t\t.authenticate('authenticator:tracknamic', lockOptions)\n\t\t\t.then(() => {\n\t\t\t\treturn this.get('session').invalidate()\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\twindow.location.replace(ENV['ember-simple-auth'].baseURL)\n\t\t\t})\n\t})\n});","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, {\n\tmenuService: service('main-menu'),\n\tresolution: service(),\n\n\tbeforeModel () {\n\t\tlet route = this.get('routeName')\n\t\tlet category = route.indexOf('.') != -1 ? route.substring(0, route.indexOf('.')) : route\n\n\t\tlet categoryCapitalized = category.charAt(0).toUpperCase() + category.slice(1)\n\t\tif (!this.get(`menuService.has${categoryCapitalized}`)) {\n\t\t\tthis.transitionTo('index')\n\t\t}\n\t},\n\n\tactions: {\n\t\tdidTransition () {\n\t\t\tif (this.get('resolution.isMobile')) {\n\t\t\t\tthis.get('menuService').setContractedMenu(false)\n\t\t\t}\n\t\t\treturn true // Bubble the didTransition event\n\t\t}\n\t}\n});\n","import Route from '@ember/routing/route'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\nimport { inject as service } from '@ember/service'\n\nexport default Route.extend(AuthenticatedRouteMixin, {\n\tmenuService: service('main-menu'),\n\n\tbeforeModel () {\n\t\tif (!this.get('menuService.tms').mapBy('route').includes(this.get('routeName'))) {\n\t\t\tthis.transitionTo(this.get('menuService.tms')[0].route)\n\t\t}\n\t},\n})\n","import Ember from 'ember';\n\nexport default Ember.Route.extend({\n});\n","import Ember from 'ember'\nimport scrollingPaddingMixin from '../../mixins/scrolling-padding'\n\nexport default Ember.Route.extend(scrollingPaddingMixin, {\n    classNames: [\"alerts\"],\n    model() {\n        return this.store.findAll('notification')\n    },\n\n    activate() {\n        let controller = this.controllerFor('widgets/alerts')\n        controller.resetValues()\n    },\n\n    actions: {\n        didTransition() {\n            Ember.run.later(this, () => {\n                this.fixScrollPadding()\n            }, 50)\n        },\n    }\n})\n","import Ember from 'ember'\nimport RSVP from 'rsvp'\nimport moment from 'moment'\nimport scrollingPaddingMixin from '../../mixins/scrolling-padding'\n\nconst { service } = Ember.inject\n\nexport default Ember.Route.extend(scrollingPaddingMixin, {\n    classNames: [\"heatmap\"],\n    api: service(),\n\n    model() {\n        let yesterday = moment().add(-1, 'days').valueOf()\n        return RSVP.hash({\n            users: this.get(\"store\").findAll(\"user\"),\n            groups: this.get('store').findAll('group'),\n            vehicles: this.get('store').findAll('vehicle'),\n            timetables: this.get(\"api\").request('/timetables', {\n                data: {\n                    since: yesterday\n                }\n            }),\n        })\n    },\n\n    activate() {\n        let controller = this.controllerFor('widgets/heatmap')\n        controller.resetValues()\n    },\n\n    actions: {\n        didTransition() {\n            Ember.run.later(this, () => {\n                this.fixScrollPadding()\n            }, 500)\n        },\n    }\n});\n","import Ember from 'ember';\nimport scrollingPaddingMixin from '../../mixins/scrolling-padding'\n\nexport default Ember.Route.extend(scrollingPaddingMixin, {\n    classNames: [\"notifications\"],\n\n    model() {\n        return this.store.findAll('notification')\n    },\n\n    activate() {\n        let controller = this.controllerFor('widgets/notifications')\n        controller.resetValues()\n    },\n\n    actions: {\n        didTransition() {\n            Ember.run.later(this, () => {\n                this.fixScrollPadding()\n            }, 50)\n        },\n    }\n});\n","import Route from '@ember/routing/route'\nimport { run } from '@ember/runloop'\nimport RSVP from 'rsvp'\nimport scrollingPaddingMixin from '../../mixins/scrolling-padding'\nimport AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'\n\nexport default Route.extend(scrollingPaddingMixin, AuthenticatedRouteMixin, {\n    classNames: [\"statusFeed\"],\n\n    model() {\n        var vehicles = this.store.findAll('vehicle')\n        var groups = this.store.findAll('group')\n\n        return RSVP.hash({\n            groups,\n            vehicles,\n        })\n    },\n\n    activate() {\n        let controller = this.controllerFor('widgets/status-feed')\n        controller.resetValues()\n    },\n\n    actions: {\n        didTransition() {\n            run.later(this, () => {\n                this.fixScrollPadding()\n            }, 500)\n        },\n    }\n})\n","import DS from 'ember-data';\n\nexport default DS.RESTSerializer.extend({\n    primaryKey: 'sn',\n    keyForRelationship(key, relationship) {\n        if (relationship === 'belongsTo') {\n            return `${key}ID`;\n        }\n    }\n});\n","import DS from 'ember-data';\n\nexport default DS.RESTSerializer.extend({\n    serialize(/*snapshot, options*/) {\n        let json = this._super(...arguments);\n        delete json.document;\n        delete json.file;\n        delete json.downloading;\n        return json;\n    },\n    keyForRelationship(key, relationship) {\n        if (relationship === 'belongsTo') {\n            return `${key}ID`;\n        }\n    }\n});\n","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n    normalize(model, hash) {\n        if (hash && hash.shape && hash.shape.type === \"Polygon\") { // remove last point (it's the first duplicated)\n            hash.shape.coordinates[0].pop()\n        }\n        return this._super(...arguments)\n    },\n\n    serialize() {\n        let geofence = this._super(...arguments)\n        if (geofence && geofence.shape && geofence.shape.type === \"Polygon\") { // add first point at end of array -> duplicate\n            geofence.shape.coordinates[0].push(geofence.shape.coordinates[0][0])\n        }\n        return geofence\n    },\n})\n","import DS from 'ember-data'\nimport vehicleTypes from 'tracknamic-smb/mixins/vehicle-types'\nimport Ember from 'ember'\n\nconst { service } = Ember.inject\n\nexport default DS.RESTSerializer.extend(vehicleTypes, {\n\tnormalizeArrayResponse(store, primaryModelClass, payload) {\n\n\t\tlet groups = payload.group\n\n\t\tgroups.forEach(group => {\n\t\t\tthis._addDefaultSettings(group)\n\t\t})\n\n\t\treturn this._super(...arguments)\n\t},\n\n\tnormalizeSingleResponse(store, primaryModelClass, payload) {\n\t\tlet group = payload.group\n\t\tif (group) {\n\t\t\tthis._addDefaultSettings(group)\n\t\t}\n\t\treturn this._super(...arguments)\n\t},\n\n    serialize() {\n        let json = this._super(...arguments)\n\n\t\tif (json?.settings?.phoneList?.['tacho-rest']) {\n\t\t\tdelete json.settings.phoneList['tacho-rest']\n\t\t}\n\n        return json\n    },\n\n\t_addDefaultSettings(group) {\n\t\tif (!group.settings) {\n\t\t\tgroup.settings = {}\n\t\t}\n\t\tif (!group.settings.speedLimit) {\n\t\t\tgroup.settings.speedLimit = {}\n\t\t}\n\t\tif (!group.settings.countryCosts) {\n\t\t\tgroup.settings.countryCosts = {}\n\t\t}\n\t\tif (!group.settings.countryCostsNew) {\n\t\t\tgroup.settings.countryCostsNew = {}\n\t\t}\n\t\tif (!group.settings.orderLoadTimespan) {\n\t\t\tgroup.settings.orderLoadTimespan = 7\n\t\t}\n\t\tthis.getVehicleTypes().forEach(type => {\n\t\t\tif (!group.settings.speedLimit[type.name]) {\n\t\t\t\tgroup.settings.speedLimit[type.name] = {}\n\t\t\t}\n\n\t\t\tgroup.settings.speedLimit[type.name].max = group.settings.speedLimit[type.name].max === undefined ? null : group.settings.speedLimit[type.name].max\n\t\t\tgroup.settings.speedLimit[type.name].min = group.settings.speedLimit[type.name].min === undefined ? null : group.settings.speedLimit[type.name].min\n\t\t\tgroup.settings.speedLimit[type.name].offset = group.settings.speedLimit[type.name].offset === undefined ? null : group.settings.speedLimit[type.name].offset\n\t\t})\n\t}\n})\n","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n\tpayloadKeyFromModelName () {\n\t\treturn 'rule'\n\t},\n\tmodelNameFromPayloadKey () {\n\t\treturn this._super('maintenance-rule')\n\t},\n\tkeyForRelationship (key, relationship) {\n\t\tif (relationship === 'belongsTo') {\n\t\t\treturn `${key}ID`\n\t\t}\n\t},\n})\n","import DS from 'ember-data';\n\nexport default DS.RESTSerializer.extend({\n    keyForRelationship(key, relationship) {\n        if (relationship === 'belongsTo') {\n            return `${key}ID`;\n        }\n    }\n});\n","import DS from 'ember-data';\n\nexport default DS.RESTSerializer.extend({\n    keyForRelationship(key, relationship) {\n        if (relationship === 'belongsTo') {\n            return `${key}ID`;\n        }\n    }\n});\n","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n    payloadKeyFromModelName() {\n        return 'freightOrder'\n    },\n    modelNameFromPayloadKey() {\n        return this._super('order-freight')\n    },\n    keyForRelationship(key, relationship) {\n        if (relationship === 'belongsTo') {\n            return `${key}ID`;\n        }\n    },\n})\n","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n    payloadKeyFromModelName() {\n        return 'statuses'\n    },\n    modelNameFromPayloadKey() {\n        return this._super('order-status')\n    }\n})\n","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n    payloadKeyFromModelName() {\n        return 'transportOrder'\n    },\n    modelNameFromPayloadKey() {\n        return this._super('order-transport')\n    },\n    keyForRelationship(key, relationship) {\n        if (relationship === 'belongsTo') {\n            return `${key}ID`;\n        }\n    }\n})\n","import JSONSerializer from 'ember-data/serializers/json'\n\nexport default JSONSerializer.extend({\n\tserialize () {\n\t\tlet json = this._super(...arguments)\n\n\t\tif (json.location != null) {\n\t\t\tjson.location.reverse()\n\t\t}\n\n\t\treturn json\n\t}\n})","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n    keyForRelationship(key) {\n        switch (key) {\n            case 'group': return 'groupID'\n            case 'vehicles': return 'vehicleIDs'\n        }\n        \n        return this._super(...arguments)\n    }\n})\n","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n\tpayloadKeyFromModelName() {\n\t\treturn 'userRole'\n\t},\n\tmodelNameFromPayloadKey() {\n\t\treturn this._super('role')\n\t}\n})\n","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n    keyForRelationship(key, relationship) {\n        if (relationship === 'belongsTo') {\n            return `${key}ID`\n        }\n    },\n})\n","import DS from 'ember-data';\n\nexport default DS.RESTSerializer.extend({\n    keyForRelationship(key, relationship) {\n\t\tif (relationship === 'belongsTo') {\n\t\t\treturn `${key}ID`;\n\t\t}\n    },\n});\n","import DS from 'ember-data'\n\nexport default DS.RESTSerializer.extend({\n\tserialize(/*snapshot, options*/) {\n\t\tlet json = this._super(...arguments)\n\t\tdelete json.vehicleID\n\t\treturn json\n\t},\n\n\tkeyForRelationship(key, relationship) {\n\t\tif (relationship === 'belongsTo') {\n\t\t\treturn `${key}ID`\n\t\t}\n\t},\n\n\tnormalizeArrayResponse(store, primaryModelClass, payload) {\n\t\tlet allUsers = payload.user\n\t\tlet users = (allUsers || []).filter(u => u.type !== 'vehicle')\n\t\tusers.forEach(user => {\n\t\t\tthis._addDefaultSettings(user)\n\t\t})\n\n\t\tpayload.user = users\n\n\t\treturn this._super(...arguments)\n\t},\n\n\tnormalizeSingleResponse(store, primaryModelClass, payload) {\n\t\tlet user = payload.user\n\t\tif (user) {\n\t\t\tthis._addDefaultSettings(user)\n\t\t}\n\n\t\treturn this._super(...arguments)\n\t},\n\n\t_addDefaultSettings(user) {\n\t\tif (!user.acl) {\n\t\t\tuser.acl = {}\n\t\t}\n\t\tif (!user.acl.pages) {\n\t\t\tuser.acl.pages = []\n\t\t}\n\t\tif (!user.acl.groups) {\n\t\t\tuser.acl.groups = []\n\t\t}\n\t\tif (!user.acl.vehicles) {\n\t\t\tuser.acl.vehicles = []\n\t\t}\n\n\t\tif (!user.settings) {\n\t\t\tuser.settings = {}\n\t\t}\n\n\t\tif (!user.settings.reports) {\n\t\t\tuser.settings.reports = {}\n\t\t}\n\t\tif (!user.settings.reports.report2) {\n\t\t\tuser.settings.reports.report2 = {}\n\t\t}\n\t\tif (!user.settings.reports.report40) {\n\t\t\tuser.settings.reports.report40 = {}\n\t\t}\n\t\tif (!user.settings.reports.report2.filters) {\n\t\t\tuser.settings.reports.report2.filters = {\n\t\t\t\tstationaryDuration: {\n\t\t\t\t\tselected: true,\n\t\t\t\t\tvalue: 1,\n\t\t\t\t},\n\t\t\t\tweeklyBreak: false,\n\t\t\t\tdailyBreak: false,\n\t\t\t\tborderCrossing: true,\n\t\t\t\tstoppingPurpose: false,\n\t\t\t}\n\t\t}\n\t\tif (user.settings.reports.priority === undefined || user.settings.reports.priority === null) {\n\t\t\tuser.settings.reports.priority = 'gps'\n\t\t}\n\t\tif (user.settings.reports.cngUnit === undefined || user.settings.reports.cngUnit === null) {\n\t\t\tuser.settings.reports.cngUnit = 'weight'\n\t\t}\n\t\tif (user.settings.reports.poiAddress === undefined || user.settings.reports.poiAddress === null) {\n\t\t\tuser.settings.reports.poiAddress = 'poi'\n\t\t}\n\t\tif (user.settings.reports.reportsTimetable === undefined || user.settings.reports.reportsTimetable === null) {\n\t\t\tuser.settings.reports.reportsTimetable = false\n\t\t}\n\t\tif (user.settings.reports.readingInterval === undefined || user.settings.reports.readingInterval === null) {\n\t\t\tuser.settings.reports.readingInterval = 15\n\t\t}\n\t\tif (user.settings.reports.optionHeatmap === undefined || user.settings.reports.optionHeatmap === null) {\n\t\t\tuser.settings.reports.optionHeatmap = 'distanceComposed'\n\t\t}\n\t\tif (user.settings.reports.stationaryDuration === undefined || user.settings.reports.stationaryDuration === null) {\n\t\t\tuser.settings.reports.stationaryDuration = 1\n\t\t}\n\t\tif (user.settings.reports.windowDuration === undefined || user.settings.reports.windowDuration === null) {\n\t\t\tuser.settings.reports.windowDuration = 15\n\t\t}\n\n\t\tif (!user.settings.map) {\n\t\t\tuser.settings.map = {}\n\t\t}\n\t\tif (user.settings.map.stopLimit === undefined || user.settings.map.stopLimit === null) {\n\t\t\tuser.settings.map.stopLimit = 120\n\t\t}\n\t\tif (user.settings.map.markerType === undefined || user.settings.map.markerType === null) {\n\t\t\tuser.settings.map.markerType = 'simple'\n\t\t}\n\t\tif (user.settings.map.markerTop === undefined || user.settings.map.markerTop === null) {\n\t\t\tuser.settings.map.markerTop = 'speed'\n\t\t}\n\t\tif (user.settings.map.markerText === undefined || user.settings.map.markerText === null) {\n\t\t\tuser.settings.map.markerText = 'licensePlate'\n\t\t}\n\t\tif (user.settings.map.manualVehicles === undefined || user.settings.map.manualVehicles === null) {\n\t\t\tuser.settings.map.manualVehicles = []\n\t\t}\n\t\tif (user.settings.map.disableGeofencesOnZoomLevel === undefined || user.settings.map.disableGeofencesOnZoomLevel === null) {\n\t\t\tuser.settings.map.disableGeofencesOnZoomLevel = 30\n\t\t}\n\t\tif (user.settings.map.showClusters === undefined || user.settings.map.showClusters === null) {\n\t\t\tuser.settings.map.showClusters = true\n\t\t}\n\t}\n})\n","import DS from 'ember-data'\nimport { get } from '@ember/object'\n\nexport default DS.RESTSerializer.extend({\n\tnormalize(model, hash) {\n\t\thash.tractorUnit = get(hash, 'vehicles.0')\n\t\thash.semitrailer = get(hash, 'vehicles.1')\n\t\thash.driver = get(hash, 'drivers.0')\n\t\thash.codriver = get(hash, 'drivers.1')\n\n\t\treturn this._super(...arguments)\n\t},\n\t\n\tserialize(snapshot, options) {\n\t\tvar json = this._super(snapshot, options)\n\n\t\tjson.vehicles = [get(json, 'tractorUnit'), get(json, 'semitrailer')]\n\t\tjson.drivers = [get(json, 'driver'), get(json, 'codriver')]\n\t\tdelete json.tractorUnit\n\t\tdelete json.semitrailer\n\t\tdelete json.driver\n\t\tdelete json.codriver\n\n\t\treturn json\n\t}\n})\n","import DS from 'ember-data';\nimport { get, isNumber } from 'lodash'\n\nexport default DS.RESTSerializer.extend({\n\tkeyForRelationship(key, relationship) {\n\t\tif (relationship === 'belongsTo') {\n\t\t\treturn `${key}ID`;\n\t\t}\n\t},\n\n\tnormalizeArrayResponse(store, primaryModelClass, payload/*, id, requestType*/) {\n\t\tlet vehicles = payload.vehicle\n\t\tvehicles.forEach(vehicle => {\n\t\t\tlet geolocation = vehicle.geolocation\n\t\t\t/**\n\t\t\t * Reports case for example\n\t\t\t */\n\t\t\tif (!geolocation) { return false }\n\n\t\t\tlet geofences = geolocation.geofences || null\n\t\t\tlet geofencesCount = 0\n\t\t\tlet location = geolocation.location || null\n\n\t\t\tif (geofences) {\n\t\t\t\tgeofencesCount = geofences.length\n\t\t\t\tgeolocation.popupText = geofences.join('\\n')\n\t\t\t\tgeolocation.geofencesCount = geofencesCount\n\t\t\t} else if (location) {\n\t\t\t\tgeolocation.popupText = location\n\t\t\t}\n\t\t})\n\t\treturn this._super(...arguments)\n\t},\n\n\tserialize(/*snapshot, options*/) {\n\t\tlet json = this._super(...arguments);\n\t\tlet auxHeatingTime = get(json, 'fuel.consumption.auxiliaryHeatingTime', null)\n\t\tif (auxHeatingTime !== null) {\n\t\t\tif (auxHeatingTime.indexOf(',') > -1) {\n\t\t\t\tauxHeatingTime = auxHeatingTime.replace(/,/g, '.')\n\t\t\t}\n\t\t\tif (isNumber(auxHeatingTime) === false) json.fuel.consumption.auxiliaryHeatingTime = Number(auxHeatingTime)\n\t\t}\n\t\tif (!get(json, 'companyID') && get(json, 'groupID')) {\n\t\t\tconst companyID = get(json, 'groupID').split('-')[0]\n\t\t\tjson.companyID = companyID\n\t\t}\n\n\t\tdelete json.deviceID;\n\t\treturn json;\n\t}\n});\n","import Ember from 'ember';\n/**\n    1- if(POI) {showPOI}\n    2- if(!COORS) {showEmpty}\n    3- if(COORS) {\n        if(cache(coors)) {\n            showAddress()\n        }\n        else {\n            reqAddress()\n        }\n    }\n*/\n\nconst { inject: { service } } = Ember;\n\nexport default Ember.Service.extend({\n    interval: 10000,\n    api: service(),\n    geoService: service('reverse-geocode'),\n\n    cacheAddresses: {},\n\n    /**\n     * function to get adrees. save to cache and make request\n     * @param {*} veh \n     * id\n     * poi\n     * coords\n     * status\n     */\n    getAddress(veh) {\n        return new Ember.RSVP.Promise((resolve/*, reject*/) => {\n            if (Ember.isEmpty(veh) || Ember.isEmpty(veh.coords)) { return resolve('') } // 1- !coordinates\n\n            if (!Ember.isEmpty(veh.poi)) { // 1- hasPOI\n                return resolve(veh.poi)\n            }\n\n            let cache = this.get('cacheAddresses.' + veh.id) // 3- coordinates\n            if (!Ember.isEmpty(cache) && (cache.coords[0] === veh.coords[0] && cache.coords[1] === veh.coords[1])) {\n                return resolve(cache.address)\n            }\n            resolve(this.get('geoService').reverseGeocode(veh.coords[1], veh.coords[0]).then(res => {\n                this.set('cacheAddresses.' + veh.id, { address: res, coords: veh.coords })\n                return res\n            }))\n        })\n\n    },\n});\n","import { inject as service } from '@ember/service'\nimport { computed } from '@ember/object'\nimport AjaxService from 'ember-ajax/services/ajax'\nimport config from 'ember-get-config'\n\nexport default AjaxService.extend({\n\tnamespace: config.api.namespace,\n\thost: config.api.host,\n\tsession: service(),\n\theaders: computed('session.data.authenticated.idToken', {\n\t\tget() {\n\t\t\tlet headers = {};\n\t\t\tconst idToken = this.get('session.data.authenticated.idToken');\n\t\t\tif (idToken) {\n\t\t\t\theaders['Authorization'] = `Bearer ${idToken}`;\n\t\t\t}\n\t\t\treturn headers;\n\t\t}\n\t}),\n\n\tdownloadFile (path, filename) {\n\t\tconst token = this.get('session.data.authenticated.idToken')\n\t\tif (!token) { return false }\n\n\t\tconst req = new XMLHttpRequest()\n\t\treq.open('GET', `${this.get('host')}/${this.get('namespace')}${path}`, true)\n\t\treq.setRequestHeader('Authorization', `Bearer ${token}`)\n\t\treq.responseType = 'blob'\n\t\treq.onload = () => {\n\t\t\tlet blob = req.response\n\t\t\tlet link = document.createElement('a')\n\t\t\tlink.href = window.URL.createObjectURL(blob)\n\t\t\tlink.download = filename\n\t\t\tlink.className = 'hidden'\n\t\t\tdocument.body.appendChild(link)\n\t\t\tlink.click()\n\t\t}\n\n\t\treq.send()\n\t},\n\n\tuploadFile (path, field, file) {\n\t\tconst token = this.get('session.data.authenticated.idToken')\n\t\tif (!token) { return false }\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst form = new FormData()\n\t\t\tform.append(field, file)\n\n\t\t\tconst req = new XMLHttpRequest()\n\t\t\treq.open('POST', `${this.get('host')}/${this.get('namespace')}${path}`, true)\n\t\t\treq.setRequestHeader('Authorization', `Bearer ${token}`)\n\t\t\treq.responseType = 'blob'\n\t\t\treq.onloadend = (event) => {\n\t\t\t\tconst response = event.target\n\t\t\t\tif (response.status >= 200 && response.status < 300) {\n\t\t\t\t\treturn resolve(response)\n\t\t\t\t}\n\t\t\t\treject(response)\n\t\t\t}\n\t\t\treq.onerror = (event) => {\n\t\t\t\treject(event)\n\t\t\t}\n\n\t\t\treq.send(form)\n\t\t})\n\t},\n});","import CookiesService from 'ember-cookies/services/cookies';\n\nexport default CookiesService;\n","import Service from '@ember/service'\nimport EmberObject from '@ember/object'\nimport { isEmpty } from '@ember/utils'\nimport { resolve } from 'rsvp'\nimport { camelize } from '@ember/string'\nimport { computed } from '@ember/object'\nimport { inject as service } from '@ember/service'\n\nconst fifteenMinutes = 900000\nconst nintyMinutes = 5400000\nexport default Service.extend({\n\tsession: service('session'),\n\ti18n: service(),\n\tstore: service(),\n\ttoast: service(),\n\tapi: service(),\n\trouter: service(),\n\n\t// this will set user which is a model of logged user from the store after user logged in\n\tload () {\n\t\tlet userId = this.get('session.session.content.authenticated.profile.id')\n\t\tif (!isEmpty(userId)) {\n\t\t\treturn this.get('api')\n\t\t\t\t.request('users/me')\n\t\t\t\t.then(response => {\n\t\t\t\t\tconst user = response.user\n\t\t\t\t\tthis.get('store').pushPayload('user', response)\n\t\t\t\t\tthis.set('user', this.get('store').peekRecord('user', user.id))\n\t\t\t\t})\n\t\t} else {\n\t\t\treturn resolve()\n\t\t}\n\t},\n\n\tlocale: computed.alias('user.details.locale'),\n\ttimezone: computed('user.details.timezone', function () {\n\t\tif (!this.get('user.details.timezone')) return 'Europe/Bucharest'\n\t\treturn this.get('user.details.timezone')\n\t}),\n\n\t// options for reports filters\n\tshowFluctuations: computed.alias('user.settings.reports.showFluctuations'),\n\tfuelSource: computed.alias('user.settings.reports.fuelSource'),\n\tcngUnit: computed.alias('user.settings.reports.cngUnit'),\n\tconsumptionFormat: computed.alias('user.settings.reports.consumptionFormat'),\n\tpriority: computed.alias('user.settings.reports.priority'),\n\tpoiAddress: computed.alias('user.settings.reports.poiAddress'),\n\toptionHeatmap: computed.alias('user.settings.reports.optionHeatmap'),\n\treportsTimetable: computed.alias('user.settings.reports.reportsTimetable'),\n\twindowDuration: computed.alias('user.settings.reports.windowDuration'),\n\tstationaryDuration: computed.alias('user.settings.reports.stationaryDuration'),\n\tdensity: computed.alias('user.settings.reports.density'),\n\tgrouping: computed.alias('user.settings.reports.grouping'),\n\n\tstopLimit: computed.alias('user.settings.map.stopLimit'), // map.route stationaryDuration\n\n\tmarkerType: computed.alias('user.settings.map.markerType'),\n\tmarkerTop: computed.alias('user.settings.map.markerTop'),\n\tmarkerText: computed.alias('user.settings.map.markerText'),\n\tmanualVehicles: computed.alias('user.settings.map.manualVehicles'),\n\ttriggerHack: false, // used on map for trigger icons change\n\tshowClusters: computed.readOnly('user.settings.map.showClusters'),\n\tdisableGeofencesOnZoomLevel: computed.alias('user.settings.map.disableGeofencesOnZoomLevel'),\n\tlandingPage: computed.alias('user.settings.landingPage'),\n\n\tidToken: computed('session.session.isAuthenticated', function () {\n\t\treturn this.get('session.session.content.authenticated.idToken')\n\t}),\n\n\tcompanyID: computed.alias('user.companyID'),\n\taModules: computed.readOnly('user.acl.modules'),\n\taPages: computed.readOnly('user.acl.pages'),\n\n\t//  functionalitate generala (PRO)\n\tmapFullScreen: computed('companyID', function () {\n\t\treturn this.get('companyID') === '000001' || this.get('companyID') === '000210' // O.CH(000210)\n\t}),\n\n\taccountDisabled: computed('companyID', function () {\n\t\tconst companyIDs = [\n\t\t\t'000602', // -> EDDEN CARGO TRANSPORT SRL\n\t\t\t'000586', // -> EURODEN CARGO SRL\n\t\t\t'000305', // -> RECOP RECYCLING SRL\n\t\t\t'000531', // -> DARKO EVE TRANS SRL,\n\t\t\t'000766', // -> BENOMAIA TRANSIT SRL\n\t\t\t'000018', // -> ADIOR FURNIRE SRL,\n\t\t\t'000750', // -> SKIPEDIA SRL,\n\t\t\t'000618', // -> EUROARLL SALES SRL,\n\t\t\t'000863', // -> MINERALPORT SRL,\n\t\t\t'000796', // -> ALPHA ONE SECURITY SRL\n\t\t]\n\t\tconst companyID = this.get('companyID')\n\t\treturn companyID && companyIDs.includes(companyID)\n\t}),\n\n\t//  functionalitate generala (PRO)\n\texportLiveStatus: computed('companyID', function () {\n\t\treturn this.get('companyID') === '000001' || this.get('companyID') === '000026' // DUNCA(000026)\n\t}),\n\n\t// mutat la configurare de dispozitiv (mega-admin). De unde o sa il citesc in Front-End?\n\t// timpul de la care consideram un device desincronizat\n\tunsyncTime: computed('companyID', function () { // vehicle.statusIndicator: time for unsync will be 90 min instead 7 min\n\t\treturn this.get('companyID') === '000026' ? nintyMinutes : fifteenMinutes // DUNCA(000026)\n\t}),\n\n\t// Hardcoded is OK\n\tshowReportImportParser: computed('companyID', function () {\n\t\treturn this.get('companyID') === '000001' || this.get('companyID') === '000087' // MEGA(000087)\n\t}),\n\tshowAlertTaxiCosting: computed('companyID', function () {\n\t\treturn this.get('companyID') === '000001' || this.get('companyID') === '000140' // EuroTaxi (000087)\n\t}),\n\t// todo remove when the option is available on mega-admin. need now for presentation \n\thasMaintenanceAccess: computed('companyID', function () {\n\t\treturn this.get('companyID') === '000001' || this.get('companyID') === '000392' // Anlægsgartner Gottlieb A/S(000392)\n\t}),\n\n\t// module report-102 // OLD: CASANOASTRA(000110) DLS-MADCOM(000172)\n\tshowDetailedRouteReport: computed('modules', function () {\n\t\treturn this.get('modules') && this.get('modules.report102')\n\t}),\n\n\t// modul icons-custom. nume dupa iconite company-id\n\tdefaultIcon: computed('modules', 'companyID', function () {\n\t\tlet companyID = this.get('companyID')\n\t\tif (this.get('modules.iconsCustom')) {\n\t\t\tif (companyID == '000087') { return 'mega-image megaImage' }\n\t\t}\n\t\treturn 'home-marker gray'\n\t}),\n\n\thasChatAccess: computed('modules', 'user.type', function () {\n\t\tif (this.get('modules.chat') && this.get('user') && (this.get('user.type') === 'admin' || this.get('user.type') === 'manager')) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}),\n\n\t/**\n\t * @returns {object} object with camelCase names of modules\n\t */\n\tmodules: computed('aModules', 'hasMaintenanceAccess', function () {\n\t\tlet aModules = this.get('aModules')\n\t\tif (!aModules || !aModules.length) { return false }\n\n\t\taModules.push('basic') // used for basic features for wich there is no module yet: example speedLimit\n\n\t\t// check if at least one management module is included\n\t\tlet management = ['vehicles', 'users', 'subgroups', 'geofences', 'timetables', 'integrations'].reduce((result, item) => aModules.includes(item) ? result + 1 : result, 0)\n\t\tif (management) {\n\t\t\taModules.push('management')\n\t\t\tif (this.get('user') && (this.get('user.type') === 'admin' || this.get('user.type') === 'manager'))\n\t\t\t\taModules.push('roles')\n\t\t}\n\n\t\tif (aModules.includes('temporary-link') && this.get('user.type') === 'driver') {\n\t\t\taModules.splice(aModules.indexOf('temporary-link'), 1)\n\t\t}\n\n\t\tif (aModules.includes('sms') || aModules.includes('email')) {\n\t\t\taModules.push('settings-notifications')\n\t\t}\n\n\t\tif (aModules.includes('e-transport-pro')) {\n\t\t\taModules.push('eTransport')\n\t\t}\n\n\t\tif (aModules.includes('freezer')) { // add reports modules for freezer module\n\t\t\taModules.push('report-7')\n\t\t\taModules.push('report-8')\n\t\t\taModules.push('report-27')\n\t\t}\n\n\t\tif (aModules.includes('taxi')) { // add reports modules for taxi module\n\t\t\taModules.push('report-13') // taxi\n\t\t\taModules.push('report-12') // engine\n\t\t} else { // hack - todo remove when done in API\n\t\t\t// remove engine report\n\t\t\tif (aModules.indexOf('report-12') != -1) {\n\t\t\t\taModules.splice(aModules.indexOf('report-12'), 1)\n\t\t\t}\n\t\t}\n\n\t\tif (aModules.includes('construction')) { // add reports modules for construction module\n\t\t\taModules.push('report-19')\n\t\t}\n\n\t\tif (aModules.includes('tachograph')) { // add reports modules for tachograph module\n\t\t\taModules.push('report-22')\n\t\t\taModules.push('report-26')\n\t\t}\n\n\t\tif (aModules.includes('obu')) { // add reports modules for obu module\n\t\t\taModules.push('report-21')\n\t\t}\n\n\t\tif (aModules.includes('dispatch')) {\n\t\t\taModules.push('orders')\n\t\t}\n\n\t\t// check if at least one report module is included\n\t\tlet reports = aModules.some(module => module.startsWith('report-'))\n\n\t\tif (reports) {\n\t\t\taModules.push('reports')\n\t\t}\n\n\t\tif (aModules.includes('driver-behaviour')) { // add driver-behaviour(db) reports for db module\n\t\t\taModules.push('driving')\n\t\t\taModules.push('report-30')\n\t\t\taModules.push('report-31')\n\t\t}\n\t\tif (aModules.includes('driver-performance')) {\n\t\t\taModules.push('report-40')\n\t\t}\n\n\t\tif (this.get('hasMaintenanceAccess')) {\n\t\t\taModules.push('maintenance')\n\t\t}\n\n\t\tif (aModules.includes('report-14')) {\n\t\t\taModules.splice(aModules.indexOf('report-14'), 1)\n\t\t\taModules.push('report-29')\n\t\t}\n\n\t\taModules.push('report-34')\n\n\t\t// remove an module\n\t\t// if (aModules.indexOf('seal') != -1) {\n\t\t// \taModules.splice(aModules.indexOf('seal'), 1)\n\t\t// }\n\n\t\treturn aModules.reduce((result, item) => {\n\t\t\tresult[camelize(item)] = true\n\t\t\treturn result\n\t\t}, {})\n\t}),\n\n\tisAdmin: computed('user', function () {\n\t\tif (this.get('user') && this.get('user.role')) {\n\t\t\treturn this.get('user.role.type') === 'admin'\n\t\t}\n\n\t\treturn false\n\t}),\n\n\thasMapAccess: computed('modules', 'aPages', function () {\n\t\tif (this.get('modules').map && (this.get('aPages').indexOf('map') != -1 || this.get('aPages').indexOf('map.index') != -1)) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}),\n\n\thasMapRoutesAccess: computed('modules', 'aPages', function () {\n\t\tif (this.get('modules').mapRoutes && (this.get('aPages').indexOf('map') != -1 || this.get('aPages').indexOf('map.routes') != -1)) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}),\n\n\thasMapEtaAccess: computed('modules', 'aPages', function () {\n\t\tif (this.get('modules').mapEta && (this.get('aPages').indexOf('map') != -1 || this.get('aPages').indexOf('map.route-eta') != -1)) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}),\n\n\thasReportsRouteAccess: computed('modules', 'aPages', function () {\n\t\tif (this.get('modules').report2 && (this.get('aPages').indexOf('reports') != -1 || this.get('aPages').indexOf('reports.route') != -1)) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}),\n\n\tgeofenceIcons: computed('modules', 'companyID', function () {\n\t\tlet icons = [] // icons.push(this.createGeofence('Fara iconita', ''))\n\t\tlet companyID = this.get('companyID')\n\t\tlet i18n = this.get('i18n')\n\n\t\t// custom icons\n\t\tif (this.get('modules.iconsCustom') && companyID == '000087') { // MEGA(000087)\n\t\t\ticons.push(this.createGeofence('Mega Image', 'mega-image megaImage'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.hall'), 'mega-image hall'))\n\t\t\ticons.push(this.createGeofence('Shop and Go', 'mega-image shopGo'))\n\t\t}\n\t\telse { // generic icons\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.grayMarker'), 'home-marker gray'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.blueMarker'), 'home-marker blue'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.greenMarker'), 'home-marker green'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.orangeMarker'), 'home-marker orange'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.redMarker'), 'home-marker red'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.yellowMarker'), 'home-marker yellow'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.green1Marker'), 'home-marker green1'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.turquoiseMarker'), 'home-marker turquoise'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.purpleMarker'), 'home-marker purple'))\n\t\t\ticons.push(this.createGeofence(i18n.t('markers.pinkMarker'), 'home-marker pink'))\n\t\t}\n\n\t\treturn icons\n\t}),\n\n\tcreateGeofence (name, value) { // optional parameter type[generic, specific]\n\t\treturn EmberObject.create({ name: name, value: value })\n\t},\n\n\ttriggerColumns: false,\n\treportsColumns: computed('user', 'triggerColumns', function () {\n\t\tlet rc = { // report columns\n\t\t\treport1: ['date', 'distanceComposed', 'consumptionComposed', 'duration', 'durationStationaryEngineOn', 'fuelConsumptionDistanceComposed', 'fuelConsumptionDurationComposed', 'averageSpeed', 'maxSpeed', 'fuelLevelComposed', 'odometerComposed', 'refuelValue', 'map'],\n\t\t\treport2: ['startTime', 'startSealNumber', 'stationaryTypeBefore', 'startLocation', 'endTime', 'endSealNumber', 'endLocation', 'stationaryTypeAfter', 'odometerComposed', 'odometerStartComposed', 'distanceComposed', 'duration', 'groupedWith', 'consumptionComposed', 'maxSpeed', 'purpose', 'map'],\n\t\t\treport3: ['driver', 'duration', 'engineOnDuration', 'location', 'startTime', 'endTime'],\n\t\t\treport5: ['licensePlate', 'date', 'distanceComposed', 'duration', 'consumptionComposed'],\n\t\t\treport6: ['geofences', 'duration', 'engineOnDuration', 'startTime', 'endTime', 'plannedDuration', 'plannedStartTime', 'plannedEndTime', 'location', 'state', 'odometerEnd'],\n\t\t\treport8: ['date', 'distanceComposed', 'duration', 'temperatureRange1', 'temperatureRange2', 'temperatureRange3', 'temperatureRange4'],\n\t\t\treport11: ['type', 'volume', 'volumeManual', 'date', 'location', 'duration'],\n\t\t\treport12: ['startTime', 'endTime', 'engineState', 'routeType', 'startLocation', 'endLocation'],\n\t\t\treport13: ['startTime', 'startLocation', 'endTime', 'endLocation', 'routeType', 'taxiState', 'distanceComposed', 'duration', 'fuelComposed'],\n\t\t\treport14: ['country', 'transitCount', 'distanceComposed', 'durationMoving', 'durationStationary', 'fuelComposed', 'fuelConsumptionDistanceComposed', 'cost', 'driverFullNames', 'map'],\n\t\t\treport16: ['country', 'transitCount', 'durationStationary', 'durationMoving', 'distanceComposed', 'cost', 'licensePlates'],\n\t\t\treport17: ['licensePlate', 'drivers', 'distanceComposed', 'consumptionComposed', 'fuelConsumptionDistanceComposed', 'duration', 'averageSpeed', 'maxSpeed', 'fuelLevelComposed', 'odometerComposed', 'adblueLevelComposed'],\n\t\t\treport18: ['date', 'engineOnDuration', 'canEngineOnDuration', 'ignitionOnDuration', 'engineOnFirstTime', 'engineOnLastTime'],\n\t\t\treport19: ['date', 'geofenceName', 'duration', 'durationWork', 'distance', 'fuelComposed'],\n\t\t\treport21: ['date', 'sectionID'],\n\t\t\treport23: ['date'],\n\t\t\treport24: ['licensePlate', 'day', 'distanceComposed', 'canConsumption', 'sensorConsumption', 'normalizedConsumption', 'accountingConsumption', 'canF2fConsumption', 'sensorF2fConsumption', 'auxHeatingConsumption'],\n\t\t\treport25: ['licensePlate', 'distanceComposed', 'consumptionComposed', 'duration', 'durationStationaryEngineOn', 'fuelConsumptionDistanceComposed', 'averageSpeed', 'maxSpeed', 'fuelLevelComposed', 'odometerComposed', 'refuelValue', 'map'],\n\t\t\treport26: ['date', 'startTime', 'endTime', 'distance', 'drivingDuration', 'othersDuration', 'availabilityDuration', 'activityDuration', 'restDuration', 'nightDuration'],\n\t\t\treport27: ['date', 'freezer', 'temperature1', 'temperature2', 'temperature3', 'temperature4', 'temperature5', 'temperature6', 'temperature7', 'temperature8'],\n\t\t\treport28: ['country', 'transitCount', 'distanceComposed', 'cost', 'driverNames'],\n\t\t\treport29: ['country', 'enterLocation', 'enterTime', 'exitLocation', 'exitTime', 'distanceGPS', 'distanceCAN', 'durationMoving', 'durationStationary', 'refuelsCAN', 'refuelsSensor', 'stopsLoad', 'stopsUnload'],\n\t\t\treport30: ['driver', 'vehicle', 'date', 'score', 'distanceTotal', 'fuelConsumptionTotal', 'averageAxleLoad', 'averageSpeed', 'breakingDistance', 'harshBreakingDistance', 'harshAccelerationDistance', 'fuelConsumptionMovingDistance', 'fuelConsumptionIdle', 'fuelConsumptionTotalDistance', 'durationIdle', 'percentCruiseControl', 'percentInertia', 'percentMoving', 'percentIdle'],\n\t\t\treport31: [],\n\t\t\treport33: ['licensePlate', 'slot', 'startTime', 'startTime', 'startLocation', 'endTime', 'endLocation', 'odometerStartComposed', 'odometerComposed', 'distanceComposed', 'duration', 'consumptionComposed', 'maxSpeed', 'map'],\n\t\t\treport34: ['licensePlate', 'distanceComposed', 'duration', 'durationStationaryEngineOn', 'fuelConsumptionDistanceComposed', 'averageSpeed', 'maxSpeed', 'fuelLevelComposed', 'odometerComposed', 'refuelValue', 'map'],\n\t\t\treport40: ['date', 'licensePlate', 'country', 'distance', 'durationMoving', 'speedAvg', 'difficultyScore', 'avgScore', 'score', 'companyScore', 'ascendPercentage', 'descendPercentage', 'angle', 'axleLoadAvg', 'fuelConsumption', 'accBrake100kmAvg', 'accBrakeTimeAvg', 'brakingCount100kmAvg', 'deltaAccKmAvg', 'distanceCruiseControlKmAvg', 'distanceInertiaKmAvg', 'retarderOnKmAvg', 'scoreAccBr', 'scoreAccBrTime', 'scoreBrk', 'scoreDeltaAcc', 'scoreCruise', 'scoreInertia', 'scoreRetarder', 'companyScoreAccBr', 'companyScoreAccBrTime', 'companyScoreBrk', 'companyScoreDeltaAcc', 'companyScoreCruise', 'companyScoreInertia', 'companyScoreRetarder', 'overSpeedKm', 'panicBraking', 'stops', 'stationEngineOn', 'auxHeating'],\n\t\t}\n\t\tlet user = this.get('user')\n\t\tif (!user) {\n\t\t\treturn rc\n\t\t}\n\t\tlet reps = JSON.parse(JSON.stringify(user.get('settings.reports')))\n\n\t\tif (reps) {\n\t\t\tlet obj = {}\n\t\t\tfor (var key in reps) {\n\t\t\t\tif (typeof (reps[key]) === 'object' && key.indexOf('report') !== -1 && reps[key]) {\n\t\t\t\t\tif (reps[key].columnOrder) { // if has value set the value\n\t\t\t\t\t\tobj[key] = reps[key].columnOrder\n\t\t\t\t\t}\n\t\t\t\t\telse if (rc[key]) { // if not set the default\n\t\t\t\t\t\tobj[key] = rc[key]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!obj?.report40 && rc?.report40) obj['report40'] = rc.report40\n\t\t\treturn obj\n\t\t}\n\t\treturn rc\n\t}),\n\n\tliveStatusColumns: computed('user', 'triggerLiveColumns', function () {\n\t\tlet columns = ['group', 'licensePlate', 'country', 'location', 'lastPOI', 'nextPlannedPOI', 'availability', 'status', 'speed', 'fuelLevel']\n\t\tlet user = this.get('user')\n\t\tif (!user) {\n\t\t\treturn columns\n\t\t}\n\t\tlet widgets = JSON.parse(JSON.stringify(user.get('settings.widgets')))\n\n\t\tif (widgets && widgets.liveStatus && widgets.liveStatus.columnOrder) {\n\t\t\treturn widgets.liveStatus.columnOrder\n\t\t}\n\t\treturn columns\n\t}),\n\n\tordersColumns: computed('user', 'user.settings.dispatch.orders.columnOrder.@each', function () {\n\t\tlet columns = ['name', 'externalID', 'client', 'vehicleGroup', 'status', 'statusDate', 'startLocation', 'endLocation', 'attachments', 'date', 'updatedAt']\n\t\tlet user = this.get('user')\n\t\tif (!user) {\n\t\t\treturn columns\n\t\t}\n\t\tlet dispatch = JSON.parse(JSON.stringify(user.get('settings.dispatch')))\n\n\t\tif (dispatch && dispatch.orders && dispatch.orders.columnOrder) {\n\t\t\treturn dispatch.orders.columnOrder\n\t\t}\n\t\treturn columns\n\t}),\n\n\tclientsColumns: computed('user', 'user.settings.dispatch.clients.columnOrder.@each', function () {\n\t\tlet columns = ['name']\n\t\tlet user = this.get('user')\n\t\tif (!user) {\n\t\t\treturn columns\n\t\t}\n\t\tlet dispatch = JSON.parse(JSON.stringify(user.get('settings.dispatch')))\n\n\t\tif (dispatch && dispatch.clients && dispatch.clients.columnOrder) {\n\t\t\treturn dispatch.clients.columnOrder\n\t\t}\n\t\treturn columns\n\t}),\n\n\tupdateHeaders (rep, headers) {\n\t\tlet user = this.get('user')\n\t\tuser.set(`settings.reports.${rep}.columnOrder`, headers)\n\t\tuser.save().then(() => {\n\t\t\tthis.toggleProperty('triggerColumns')\n\t\t})\n\t},\n\n\tupdateLiveStatusHeaders (headers) {\n\t\tlet user = this.get('user')\n\t\tuser.set('settings.widgets.liveStatus.columnOrder', headers)\n\t\tuser.save().then(() => {\n\t\t\tthis.toggleProperty('triggerLiveColumns')\n\t\t})\n\t},\n\n\tupdatePath (path, val) {\n\t\tlet user = this.get('user')\n\t\tif (!user) { return }\n\t\tuser.set(path, val)\n\t\tuser.save().then(() => {\n\t\t\tthis.get('toast').success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t})\n\t},\n\n\tupdateFilter (option, val) {\n\t\tlet user = this.get('user')\n\t\tif (!user) { return }\n\t\tuser.set(`settings.reports.${option}`, val)\n\t\tuser.save().then(() => {\n\t\t\tthis.get('toast').success(this.get('i18n').t('messages.operationWithSuccess'))\n\t\t})\n\t},\n\n\tupdateMapFilter (option, val) {\n\t\tlet user = this.get('user')\n\t\tif (!user) { return }\n\t\tuser.set(`settings.map.${option}`, val)\n\t\tuser.save()\n\t\t\t.catch(() => {\n\t\t\t\tthis.get('toast').error(this.get('i18n').t('messages.operationWithError'))\n\t\t\t})\n\t},\n})","import Service from '@ember/service'\nimport { inject as service } from '@ember/service'\nimport { deprecate } from '@ember/debug'\n\n/**\n * Errors that originates from crate, most of them have code equals to 5000.\n * So we game them other code in order to disctinct them and set correct message.\n *\n * 1) no code e.g { t: translationKey }\n * 2) errors from crate { code: 5000, message: 'something in english' } - should be handled as exceptions\n * 3) regular (normal) errors { code: 402, message: 'some message' }\n */\nconst exceptionalErrors = [\n\t{ searchFor: 'Self-intersection', code: 5010 },\n\t{ searchFor: 'Already shared', code: 5020 },\n]\n\nexport default Service.extend({\n\ti18n: service(),\n\n\tlist: [],\n\n\tgetGeneric() {\n\t\tlet i18n = this.get('i18n')\n\t\treturn {\n\t\t\tcode: 0,\n\t\t\tmessage: i18n.t(\"errors.messages.errorsExistsCheckData\")\n\t\t}\n\t},\n\n\tadd(err) {\n\t\tlet i18n = this.get('i18n')\n\n\t\tif (!err) {\n\t\t\tthis.get('list').pushObject({\n\t\t\t\tcode: 0,\n\t\t\t\tmessage: i18n.t(\"errors.messages.errorsExistsCheckData\"),\n\t\t\t})\n\t\t}\n\n\t\t/**\n\t\t * If is an exceptional error change it's code according to.\n\t\t */\n\t\tthis._checkForExceptions(err)\n\n\n\t\tlet error = {\n\t\t\tcode: err.code,\n\t\t\tmessage: (err.t ? i18n.t(err.t).string : i18n.t(\"errors.\" + err.code))\n\t\t}\n\n\t\tthis.get('list').pushObject(error)\n\t},\n\n\t_checkForExceptions(err) {\n\t\tif (!err || !err.message) { return false }\n\t\texceptionalErrors.forEach(exception => {\n\t\t\tif (err.message.indexOf(exception.searchFor) > -1) {\n\t\t\t\terr.code = exception.code\n\t\t\t}\n\t\t})\n\n\t\treturn err\n\t},\n\n\tlength() {\n\t\treturn this.get('list').length\n\t},\n\n\tfetch() {\n\t\tdeprecate('We need to renounce to this as it is not clear why is here.', false)\n\t\treturn this.get('list')\n\t},\n\n\tclear() {\n\t\tthis.get('list').clear()\n\t}\n})\n","import Service from '@ember/service'\n\nexport default Service.extend({\n\tdo: function (jForm) {\n\t\tif (!jForm) { return false; }\n\t\t\n\t\tjForm.form('validate form');\n\n\t\treturn jForm.form('is valid');\n\t}\n\t/*do: function (jForm, formValidationSchema) {\n\t\tif (!jForm || !formValidationSchema) { return false; }\n\n\t\tjForm.form(formValidationSchema);\n\n\t\treturn jForm.form('is valid');\n\t}*/\n});\n","import GoogleMapsAPIService from 'ember-google-maps/services/google-maps-api'\nimport { inject as service } from '@ember/service'\nimport { Promise, resolve } from 'rsvp'\n\nexport default GoogleMapsAPIService.extend({\n\tcurrentUser: service(),\n\n\tbuildGoogleMapsUrl(config) {\n\t\tconst locale = this.get('currentUser.locale') || 'en'\n\t\tconst result =  `//maps.googleapis.com/maps/api/js?key=${config.key}&language=${locale}&libraries=geometry,places,drawing`\n\t\treturn (result instanceof Promise) ? result : resolve(result)\n\t}\n})","import Ember from 'ember';\n/* global google */\n\nexport default Ember.Service.extend({\n    _autocompleteToken: null,\n\n    makeRoute(origin, destination) {\n        return new Ember.RSVP.Promise((resolve, reject) => {\n            var request = {\n                origin: origin,\n                destination: destination,\n                travelMode: 'DRIVING'\n            }\n            var directionsService = new google.maps.DirectionsService()\n\n            directionsService.route(request, (result, status) => {\n                if (status == 'OK') {\n                    resolve(result)\n                } else {\n                    reject(status)\n                }\n            })\n        })\n    },\n    getPlacePredictions(options) {\n        return new Ember.RSVP.Promise((resolve, reject) => {\n            var autoCompleteService = new google.maps.places.AutocompleteService()\n            let data = {\n                bounds: { south: 34.5428, west: -31.464799900000003, north: 82.1673907, east: 74.35550009999997 } // Europe continent bounds,\n            }\n            Object.assign(data, options)\n            autoCompleteService.getPlacePredictions(data, (predictions, status) => {\n                status == 'OK' ? resolve(predictions) : reject(status)\n            })\n        })\n    },\n    getPlaceDetails(map, options) {\n        return new Ember.RSVP.Promise((resolve, reject) => {\n            var placesService = new google.maps.places.PlacesService(map)\n            let data = {\n                fields: [\"name\", \"geometry.location\", \"formatted_address\"],\n            }\n            Object.assign(data, options)\n            placesService.getDetails(data, (place, status) => {\n                status == 'OK' ? resolve(place) : reject(status)\n            })\n        })\n    },\n    findPlaceFromQuery(map, options) {\n        return new Ember.RSVP.Promise((resolve, reject) => {\n            var placesService = new google.maps.places.PlacesService(map)\n            let data = {\n                locationBias: { south: 34.5428, west: -31.464799900000003, north: 82.1673907, east: 74.35550009999997 }, // Europe continent bounds\n                fields: [\"name\", \"geometry.location\", \"formatted_address\"],\n            }\n            Object.assign(data, options)\n            placesService.findPlaceFromQuery(data, (places, status) => {\n                status == 'OK' ? resolve(places) : reject(status)\n            })\n        })\n    },\n    getAddressByLocation(latLng) {\n        return new Ember.RSVP.Promise((resolve, reject) => {\n            if (!latLng) { reject('no latLng object') }\n            var geocoder = new google.maps.Geocoder()\n            geocoder.geocode({ location: latLng }, (results, status) => {\n                if (status == 'OK') {\n                    if (!results[0] || !results[0].formatted_address) { reject('address not found') }\n                    let address = results[0].formatted_address\n                    resolve(address)\n                }\n                else {\n                    reject(status)\n                }\n            })\n        })\n    },\n    getGeocode(placeID) {\n        return new Ember.RSVP.Promise((resolve, reject) => {\n            if (!placeID) { reject('no place id') }\n            var geocoder = new google.maps.Geocoder()\n            geocoder.geocode({ placeId: placeID }, (results, status) => {\n                if (status == 'OK') {\n                    if (!results[0] || !results[0].geometry || !results[0].geometry.location) { return }\n                    var lat = results[0].geometry.location.lat()\n                    var lng = results[0].geometry.location.lng()\n                    resolve({ lat, lng })\n                }\n                else {\n                    reject(status)\n                }\n            })\n        })\n    },\n    getAutocompleteSessionToken(forceRefresh) {\n        let token = this.get('_autocompleteToken')\n        if (Ember.isEmpty(token) || forceRefresh) {\n            token = new google.maps.places.AutocompleteSessionToken()\n            this.set('_autocompleteToken', token)\n        }\n        return token\n    }\n});\n","import Ember from 'ember'\n\nexport default Ember.Service.extend({\n    eventInterval: 10000,\n    schedulePollEvent(event, interval) {\n        var eventInterval = interval || this.get('eventInterval')\n        return Ember.run.later(() => {\n            event.apply(this)\n            this.set('timer', this.schedulePollEvent(event))\n        }, eventInterval)\n    },\n    start(interval) {\n        this.set('timer', this.schedulePollEvent(this.get('onPollEvent'), interval))\n    },\n    stop() {\n        Ember.run.cancel(this.get('timer'))\n        this.set('timer', null)\n    },\n    onPollEvent() {\n        //make request\n    }\n})\n","import Service from '@ember/service'\nimport { run } from '@ember/runloop'\nimport scrollingPaddingMixin from '../mixins/scrolling-padding'\nimport { isArray } from '@ember/array'\nimport { computed, set } from '@ember/object'\nimport { filter, map, startsWith } from 'lodash'\n\nconst managementObjects = [\n\t{\n\t\tname: 'vehicles',\n\t\tmoduleName: 'vehicles',\n\t\troute: 'management.vehicles',\n\t\ttranslationKey: 'vehicles',\n\t},\n\t{\n\t\tname: 'users',\n\t\tmoduleName: 'users',\n\t\troute: 'management.users',\n\t\ttranslationKey: 'users',\n\t},\n\t{\n\t\tname: 'roles',\n\t\tmoduleName: 'roles',\n\t\troute: 'management.roles',\n\t\ttranslationKey: 'roles',\n\t},\n\t{\n\t\tname: 'groups',\n\t\tmoduleName: 'subgroups',\n\t\troute: 'management.groups',\n\t\ttranslationKey: 'divisions',\n\t},\n\t{\n\t\tname: 'poi',\n\t\tmoduleName: 'geofences',\n\t\troute: 'management.geofences',\n\t\ttranslationKey: 'poi',\n\t},\n\t{\n\t\tname: 'timetables',\n\t\tmoduleName: 'timetables',\n\t\troute: 'management.timetables',\n\t\ttranslationKey: 'timetables',\n\t},\n\t{\n\t\tname: 'integrations',\n\t\tmoduleName: 'integrations',\n\t\troute: 'management.integrations',\n\t\ttranslationKey: 'integrations',\n\t},\n\t{\n\t\tname: 'maintenance.list',\n\t\tmoduleName: 'maintenance',\n\t\troute: 'management.maintenance.list',\n\t\ttranslationKey: 'maintenance.list',\n\t},\n\t{\n\t\tname: 'maintenance.rules',\n\t\tmoduleName: 'maintenance',\n\t\troute: 'management.maintenance.rules',\n\t\ttranslationKey: 'maintenance.rules',\n\t},\n\t{\n\t\tname: 'temporary-links',\n\t\tmoduleName: 'temporaryLink',\n\t\troute: 'management.temporary-links',\n\t\ttranslationKey: 'temporary-links',\n\t},\n]\n\nconst reportsObjects = [\n\t{\n\t\tname: 'faz',\n\t\tmoduleName: 'report1',\n\t\troute: 'reports.faz',\n\t\ttranslationKey: 'reports.menu.faz',\n\t\tcolumns: [\n\t\t\t{ key: 'day', translationKey: 'reports.headerFields.day', align: 'left', selected: true },\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'consumptionComposed', translationKey: 'reports.headerFields.consumptionComposed', align: 'right', selected: true, infoTranslationKey: 'reports.headerFields.consumptionComposedInfo' },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.specific.faz.duration', align: 'right', selected: true },\n\t\t\t{ key: 'durationStationaryEngineOn', translationKey: 'reports.headerFields.durationStationaryEngineOn', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumptionDistanceComposed', translationKey: 'reports.headerFields.fuelConsumptionDistanceComposed', align: 'right', selected: true, infoTranslationKey: 'reports.headerFields.fuelConsumptionPer100KMInfo' },\n\t\t\t{ key: 'fuelConsumptionDurationComposed', translationKey: 'reports.headerFields.fuelConsumptionDurationComposed', align: 'right', selected: true, infoTranslationKey: 'reports.headerFields.fuelConsumptionPerHourInfo' },\n\t\t\t{ key: 'averageSpeed', translationKey: 'reports.headerFields.averageSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'maxSpeed', translationKey: 'reports.headerFields.maxSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'fuelLevelComposed', translationKey: 'reports.headerFields.fuelLevelComposed', align: 'right', selected: true },\n\t\t\t{ key: 'odometerComposed', translationKey: 'reports.headerFields.odometerComposed', align: 'center', selected: true },\n\t\t\t{ key: 'refuelValue', translationKey: 'reports.headerFields.refuelValue', align: 'right', selected: true },\n\t\t\t{ key: 'map', translationKey: 'reports.headerFields.map', align: 'right', selected: true, reqModule: 'map', reqPage: 'map.routes' },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'km-day',\n\t\tmoduleName: 'report25',\n\t\troute: 'reports.km-day',\n\t\ttranslationKey: 'reports.menu.km-day',\n\t\tcolumns: [\n\t\t\t{ key: 'licensePlate', translationKey: 'reports.headerFields.licensePlate', align: 'left', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'consumptionComposed', translationKey: 'reports.headerFields.consumptionComposed', align: 'right', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.duration', align: 'right', selected: true },\n\t\t\t{ key: 'durationStationaryEngineOn', translationKey: 'reports.headerFields.durationStationaryEngineOn', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumptionDistanceComposed', translationKey: 'reports.headerFields.fuelConsumptionDistanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'averageSpeed', translationKey: 'reports.headerFields.averageSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'maxSpeed', translationKey: 'reports.headerFields.maxSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'fuelLevelComposed', translationKey: 'reports.headerFields.fuelLevelComposed', align: 'right', selected: true },\n\t\t\t{ key: 'odometerComposed', translationKey: 'reports.headerFields.odometerComposed', align: 'center', selected: true },\n\t\t\t{ key: 'refuelValue', translationKey: 'reports.headerFields.refuelValue', align: 'right', selected: true },\n\t\t\t{ key: 'map', translationKey: 'reports.headerFields.map', align: 'right', selected: true, reqModule: 'map', reqPage: 'map.routes' },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'fleet-summary',\n\t\tmoduleName: 'report17',\n\t\troute: 'reports.fleet-summary',\n\t\ttranslationKey: 'reports.menu.fleet-summary',\n\t\tcolumns: [\n\t\t\t{ key: 'licensePlate', translationKey: 'reports.headerFields.licensePlate', align: 'left', selected: true },\n\t\t\t{ key: 'drivers', translationKey: 'reports.headerFields.driver', align: 'left', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'consumptionComposed', translationKey: 'reports.headerFields.consumptionComposed', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumptionDistanceComposed', translationKey: 'reports.headerFields.fuelConsumptionDistanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.duration', align: 'right', selected: true },\n\t\t\t{ key: 'averageSpeed', translationKey: 'reports.headerFields.averageSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'maxSpeed', translationKey: 'reports.headerFields.maxSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'fuelLevelComposed', translationKey: 'reports.headerFields.fuelLevelComposed', align: 'right', selected: true },\n\t\t\t{ key: 'odometerComposed', translationKey: 'reports.headerFields.odometerComposed', align: 'center', selected: true },\n\t\t\t{ key: 'adblueLevelComposed', translationKey: 'reports.headerFields.adblueLevelComposed', align: 'center', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority',  // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'fleet-summary-extended',\n\t\tmoduleName: 'report34',\n\t\troute: 'reports.fleet-summary-extended',\n\t\ttranslationKey: 'reports.menu.fleet-summary-extended',\n\t\tcolumns: [\n\t\t\t{ key: 'licensePlate', translationKey: 'reports.headerFields.name', align: 'left', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.specific.faz.duration', align: 'right', selected: true },\n\t\t\t{ key: 'durationStationaryEngineOn', translationKey: 'reports.headerFields.durationStationaryEngineOn', align: 'right', selected: true },\n\t\t\t{ key: 'averageSpeed', translationKey: 'reports.headerFields.averageSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'maxSpeed', translationKey: 'reports.headerFields.maxSpeed', align: 'right', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'grouping',  // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.groupByVehicles', text: '', value: 'vehicle' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.groupByDrivers', text: '', value: 'driver' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'priority',  // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'route',\n\t\tmoduleName: 'report2',\n\t\troute: 'reports.route',\n\t\ttranslationKey: 'reports.menu.route',\n\t\tcolumns: [ // seal dependent of seal module\n\t\t\t{ key: 'startTime', translationKey: 'reports.headerFields.startTime', align: 'left', selected: true },\n\t\t\t{ key: 'startSealNumber', translationKey: 'reports.headerFields.sealStart', align: 'left', selected: true, reqModule: 'seal' },\n\t\t\t{ key: 'stationaryTypeBefore', translationKey: 'reports.headerFields.specific.route.stationaryTypeBefore', align: 'left', selected: true },\n\t\t\t{ key: 'startLocation', translationKey: 'reports.headerFields.startLocation', align: 'left', selected: true },\n\t\t\t{ key: 'endTime', translationKey: 'reports.headerFields.endTime', align: 'left', selected: true },\n\t\t\t{ key: 'endSealNumber', translationKey: 'reports.headerFields.sealEnd', align: 'left', selected: true, reqModule: 'seal' },\n\t\t\t{ key: 'endLocation', translationKey: 'reports.headerFields.endLocation', align: 'left', selected: true },\n\t\t\t{ key: 'stationaryTypeAfter', translationKey: 'reports.headerFields.specific.route.stationaryTypeAfter', align: 'left', selected: true },\n\t\t\t{ key: 'odometerStartComposed', translationKey: 'reports.headerFields.odometerStartComposed', align: 'center', selected: true },\n\t\t\t{ key: 'odometerComposed', translationKey: 'reports.headerFields.odometerComposed', align: 'center', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.duration', align: 'right', selected: true },\n\t\t\t{ key: 'groupedWith', translationKey: 'reports.headerFields.groupedWith', align: 'right', selected: true },\n\t\t\t{ key: 'consumptionComposed', translationKey: 'reports.headerFields.consumptionComposed', align: 'right', selected: true,  infoTranslationKey: 'reports.headerFields.fuelConsumptionMovingInfo' },\n\t\t\t{ key: 'maxSpeed', translationKey: 'reports.headerFields.maxSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'purpose', translationKey: 'reports.headerFields.specific.route.purpose', align: 'right', selected: true },\n\t\t\t{ key: 'map', translationKey: 'reports.headerFields.map', align: 'right', selected: true, reqModule: 'map', reqPage: 'map.routes' },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'timetable',\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.schedule', text: '', value: true },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.noschedule', text: '', value: false }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'poiaddress',\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.poi', text: '', value: 'poi' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.address', text: '', value: 'address' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'stationaryDuration',\n\t\t\t\ttype: 'checkbox-dropdown',\n\t\t\t\ttranslationKey: 'reports.settings.specific.route.stationaryDuration',\n\t\t\t\tvaluePath: true,\n\t\t\t\tcheckboxValuePath: 'settings.reports.report2.filters.stationaryDuration.selected',\n\t\t\t\tdropdownValuePath: 'settings.reports.report2.filters.stationaryDuration.value',\n\t\t\t\titems: [\n\t\t\t\t\t{ text: '1 min', value: 1 },\n\t\t\t\t\t{ text: '10 min', value: 10 },\n\t\t\t\t\t{ text: '30 min', value: 30 },\n\t\t\t\t\t{ text: '1 ', translationUnitKey: 'durationFormatCharHour', value: 60 },\n\t\t\t\t\t{ text: '3 ', translationUnitKey: 'durationFormatCharHour', value: 180 },\n\t\t\t\t\t{ text: '1 ', translationUnitKey: 'durationFormatCharDay', value: 1440 },\n\t\t\t\t],\n\t\t\t},\n\t\t\t// {\n\t\t\t// \tname: 'weeklyBreak',\n\t\t\t// \ttype: 'checkbox',\n\t\t\t// \treqModule: ['tachograph'],\n\t\t\t// \ttranslationKey: 'reports.settings.specific.route.weeklyBreak',\n\t\t\t// \tvaluePath: 'settings.reports.report2.filters.weeklyBreak'\n\t\t\t// },\n\t\t\t{\n\t\t\t\tname: 'dailyBreak',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\treqModule: ['tachograph'],\n\t\t\t\ttranslationKey: 'reports.settings.specific.route.dailyBreak',\n\t\t\t\tvaluePath: 'settings.reports.report2.filters.dailyBreak'\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'borderCrossing',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\ttranslationKey: 'reports.settings.specific.route.borderCrossing',\n\t\t\t\tvaluePath: 'settings.reports.report2.filters.borderCrossing'\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'stoppingPurpose',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\treqModule: ['tms'],\n\t\t\t\ttranslationKey: 'reports.settings.specific.route.stoppingPurpose',\n\t\t\t\tvaluePath: 'settings.reports.report2.filters.stoppingPurpose'\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'driver-routes',\n\t\tmoduleName: 'report33',\n\t\troute: 'reports.driver-routes',\n\t\ttranslationKey: 'reports.menu.driver-routes',\n\t\tcolumns: [\n\t\t\t{ key: 'licensePlate', translationKey: 'reports.headerFields.licensePlate', align: 'left', selected: true },\n\t\t\t{ key: 'slot', translationKey: 'reports.headerFields.tachoSlot', align: 'left', selected: true },\n\t\t\t{ key: 'startTime', translationKey: 'reports.headerFields.startTime', align: 'left', selected: true },\n\t\t\t{ key: 'startLocation', translationKey: 'reports.headerFields.startLocation', align: 'left', selected: true },\n\t\t\t{ key: 'endTime', translationKey: 'reports.headerFields.endTime', align: 'left', selected: true },\n\t\t\t{ key: 'endLocation', translationKey: 'reports.headerFields.endLocation', align: 'left', selected: true },\n\t\t\t{ key: 'odometerStartComposed', translationKey: 'reports.headerFields.odometerStartComposed', align: 'center', selected: true },\n\t\t\t{ key: 'odometerComposed', translationKey: 'reports.headerFields.odometerComposed', align: 'center', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.duration', align: 'right', selected: true },\n\t\t\t{ key: 'consumptionComposed', translationKey: 'reports.headerFields.consumptionComposed', align: 'right', selected: true },\n\t\t\t{ key: 'maxSpeed', translationKey: 'reports.headerFields.maxSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'map', translationKey: 'reports.headerFields.map', align: 'right', selected: true, reqModule: 'map', reqPage: 'map.routes' },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'timetable',\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.schedule', text: '', value: true },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.noschedule', text: '', value: false }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'poiaddress',\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.poi', text: '', value: 'poi' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.address', text: '', value: 'address' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'stationary',\n\t\tmoduleName: 'report3',\n\t\troute: 'reports.stationary',\n\t\ttranslationKey: 'reports.menu.stationary',\n\t\tcolumns: [\n\t\t\t{ key: 'driver', translationKey: 'reports.headerFields.driver', align: 'left', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.specific.stationary.duration', align: 'right', selected: true },\n\t\t\t{ key: 'engineOnDuration', translationKey: 'stationaryDurationEngineOn', align: 'right', selected: true },\n\t\t\t{ key: 'location', translationKey: 'reports.headerFields.location', align: 'left', selected: true },\n\t\t\t{ key: 'startTime', translationKey: 'reports.headerFields.specific.stationary.startTime', align: 'left', selected: true },\n\t\t\t{ key: 'endTime', translationKey: 'reports.headerFields.specific.stationary.endTime', align: 'left', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'poiaddress',\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.poi', text: '', value: 'poi' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.address', text: '', value: 'address' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'stationaryDuration',\n\t\t\t\ttype: 'dropdown',\n\t\t\t\ttranslationKey: 'reports.settings.specific.route.stationaryDuration',\n\t\t\t\titems: [\n\t\t\t\t\t{ text: '1 min', value: 1 },\n\t\t\t\t\t{ text: '5 min', value: 5 },\n\t\t\t\t\t{ text: '10 min', value: 10 },\n\t\t\t\t\t{ text: '20 min', value: 20 },\n\t\t\t\t\t{ text: '30 min', value: 30 },\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'fuel-level',\n\t\tmoduleName: 'report11',\n\t\troute: 'reports.fuel-level',\n\t\ttranslationKey: 'reports.menu.fuel-level',\n\t\tallowImport: true,\n\t\tcolumns: [\n\t\t\t{ key: 'type', translationKey: 'reports.headerFields.fuelEvent', align: 'center', selected: true },\n\t\t\t{ key: 'volume', translationKey: 'reports.headerFields.fuelLevelDiff', align: 'right', selected: true },\n\t\t\t{ key: 'volumeManual', translationKey: 'reports.headerFields.fuelLevelDiffManual', align: 'right', selected: true },\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'center', selected: true },\n\t\t\t{ key: 'location', translationKey: 'reports.headerFields.location', align: 'left', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'duration', align: 'right', selected: true },\n\t\t\t{ key: 'price', translationKey: 'reports.headerFields.priceEur', align: 'right', selected: true },\n\t\t\t{ key: 'odometer', translationKey: 'reports.headerFields.odometer', align: 'right', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'fuelSource',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['sensorFuel', 'can'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'fuelSource.sensor', text: '', value: 'sensor' },\n\t\t\t\t\t{ translationKey: 'fuelSource.can', text: '', value: 'can' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'showFluctuations',\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'showFluctuations', text: '', value: true },\n\t\t\t\t\t{ translationKey: 'hideFluctuations', text: '', value: false }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'consumption',\n\t\tmoduleName: 'report24',\n\t\troute: 'reports.consumption',\n\t\ttranslationKey: 'reports.menu.consumption',\n\t\tcolumns: [\n\t\t\t{ key: 'licensePlate', translationKey: 'reports.headerFields.licensePlate', align: 'left', selected: true },\n\t\t\t{ key: 'day', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'canConsumption', translationKey: 'reports.headerFields.canFuelConsumption', align: 'right', selected: true,  infoTranslationKey: 'reports.headerFields.consumptionComposedInfo' },\n\t\t\t{ key: 'sensorConsumption', translationKey: 'reports.headerFields.sensorFuelConsumption', align: 'right', selected: true },\n\t\t\t{ key: 'normalizedConsumption', translationKey: 'reports.headerFields.fuelConsumptionNormlized', align: 'right', selected: true },\n\t\t\t{ key: 'accountingConsumption', translationKey: 'reports.headerFields.fuelConsumptionAccounting', align: 'right', selected: true },\n\t\t\t{ key: 'canF2fConsumption', translationKey: 'reports.headerFields.fuelConsumptionFullToFullCan', align: 'right', selected: true },\n\t\t\t{ key: 'sensorF2fConsumption', translationKey: 'reports.headerFields.fuelConsumptionFullToFullSensor', align: 'right', selected: true },\n\t\t\t{ key: 'auxHeatingConsumption', translationKey: 'reports.headerFields.auxHeatingConsumption', align: 'right', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'consumptionFormat', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.headerFields.fuelConsumptionTotal', text: '', value: 'total' },\n\t\t\t\t\t{ translationKey: 'reports.headerFields.fuelConsumptionDistance', text: '', value: 'distance' },\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'engine',\n\t\tmoduleName: 'report12',\n\t\troute: 'reports.engine',\n\t\ttranslationKey: 'reports.menu.engine',\n\t\tcolumns: [\n\t\t\t{ key: 'startTime', translationKey: 'reports.headerFields.startTime', align: 'left', selected: true },\n\t\t\t{ key: 'endTime', translationKey: 'reports.headerFields.endTime', align: 'left', selected: true },\n\t\t\t{ key: 'engineState', translationKey: 'reports.headerFields.engineState', align: 'left', selected: true },\n\t\t\t{ key: 'routeType', translationKey: 'reports.headerFields.routeType', align: 'left', selected: true },\n\t\t\t{ key: 'startLocation', translationKey: 'reports.headerFields.startLocation', align: 'left', selected: true },\n\t\t\t{ key: 'endLocation', translationKey: 'reports.headerFields.endLocation', align: 'left', selected: true },\n\t\t],\n\t},\n\t{\n\t\tname: 'afterhours',\n\t\tmoduleName: 'report5',\n\t\troute: 'reports.afterhours',\n\t\ttranslationKey: 'reports.menu.afterhours',\n\t\tcolumns: [\n\t\t\t{ key: 'licensePlate', translationKey: 'reports.headerFields.licensePlate', align: 'left', selected: true },\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.specific.afterhours.duration', align: 'right', selected: true },\n\t\t\t{ key: 'consumptionComposed', translationKey: 'reports.headerFields.consumptionComposed', align: 'right', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'poi',\n\t\tmoduleName: 'report6',\n\t\troute: 'reports.poi',\n\t\ttranslationKey: 'reports.menu.poi',\n\t\tallowImport: true,\n\t\tcolumns: [\n\t\t\t{ key: 'geofences', translationKey: 'reports.headerFields.specific.poi.geofences', align: 'left', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.specific.stationary.duration', align: 'right', selected: true },\n\t\t\t{ key: 'engineOnDuration', translationKey: 'stationaryDurationEngineOn', align: 'right', selected: true },\n\t\t\t{ key: 'startTime', translationKey: 'reports.headerFields.specific.stationary.startTime', align: 'left', selected: true },\n\t\t\t{ key: 'endTime', translationKey: 'reports.headerFields.specific.stationary.endTime', align: 'left', selected: true },\n\t\t\t{ key: 'plannedDuration', translationKey: 'reports.headerFields.specific.stationary.durationPlanned', align: 'right', selected: true },\n\t\t\t{ key: 'plannedStartTime', translationKey: 'reports.headerFields.specific.stationary.startTimePlanned', align: 'left', selected: true },\n\t\t\t{ key: 'plannedEndTime', translationKey: 'reports.headerFields.specific.stationary.endTimePlanned', align: 'left', selected: true },\n\t\t\t{ key: 'location', translationKey: 'reports.headerFields.location', align: 'left', selected: true },\n\t\t\t{ key: 'state', translationKey: 'reports.headerFields.status', align: 'center', selected: true },\n\t\t\t{ key: 'odometerComposed', translationKey: 'reports.headerFields.odometerComposed', align: 'center', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'stationaryDuration',\n\t\t\t\ttype: 'dropdown',\n\t\t\t\ttranslationKey: 'reports.settings.specific.route.stationaryDuration',\n\t\t\t\titems: [\n\t\t\t\t\t{ text: '1 min', value: 1 },\n\t\t\t\t\t{ text: '5 min', value: 5 },\n\t\t\t\t\t{ text: '10 min', value: 10 },\n\t\t\t\t\t{ text: '20 min', value: 20 },\n\t\t\t\t\t{ text: '30 min', value: 30 },\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'windowDuration',\n\t\t\t\ttype: 'dropdown',\n\t\t\t\titems: [\n\t\t\t\t\t{ text: '15 min', value: 15 },\n\t\t\t\t\t{ text: '30 min', value: 30 },\n\t\t\t\t\t{ text: '60 min', value: 60 },\n\t\t\t\t\t{ text: '120 min', value: 120 },\n\t\t\t\t],\n\t\t\t\ttranslationKey: 'reports.headerFields.specific.poi.window',\n\t\t\t}\n\t\t],\n\t},\n\t{\n\t\tname: 'temperature',\n\t\tmoduleName: 'report27',\n\t\troute: 'reports.temperature',\n\t\ttranslationKey: 'reports.menu.temperature',\n\t\tdownloadDisabled: false,\n\t\tcolumns: [\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'location', translationKey: 'reports.headerFields.location', align: 'left', selected: true },\n\t\t\t{ key: 'freezer', translationKey: 'reports.headerFields.freezer', align: 'left', selected: true },\n\t\t\t{ key: 'temperature1', translationKey: 'sensor.temperature-1', align: 'left', selected: true },\n\t\t\t{ key: 'temperature2', translationKey: 'sensor.temperature-2', align: 'left', selected: true },\n\t\t\t{ key: 'temperature3', translationKey: 'sensor.temperature-3', align: 'left', selected: true },\n\t\t\t{ key: 'temperature4', translationKey: 'sensor.temperature-4', align: 'left', selected: true },\n\t\t\t{ key: 'temperature5', translationKey: 'sensor.temperature-5', align: 'left', selected: true },\n\t\t\t{ key: 'temperature6', translationKey: 'sensor.temperature-6', align: 'left', selected: true },\n\t\t\t{ key: 'temperature7', translationKey: 'sensor.temperature-7', align: 'left', selected: true },\n\t\t\t{ key: 'temperature8', translationKey: 'sensor.temperature-8', align: 'left', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'density',\n\t\t\t\ttype: 'dropdown',\n\t\t\t\ttranslationKey: 'reports.settings.density',\n\t\t\t\titems: [\n\t\t\t\t\t{ text: '5 min', value: 5 },\n\t\t\t\t\t{ text: '10 min', value: 10 },\n\t\t\t\t\t{ text: '20 min', value: 20 },\n\t\t\t\t\t{ text: '30 min', value: 30 },\n\t\t\t\t\t{ text: '45 min', value: 45 },\n\t\t\t\t\t{ text: '60 min', value: 60 },\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'temperature-range',\n\t\tmoduleName: 'report8',\n\t\troute: 'reports.temperature-range',\n\t\ttranslationKey: 'reports.menu.temperature-range',\n\t\tdownloadDisabled: true,\n\t\tcolumns: [\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distanceComposed', align: 'right', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.duration', align: 'right', selected: true },\n\t\t\t{ key: 'temperatureRange1', translationKey: 'reports.headerFields.temperatureRange1', align: 'left', selected: true },\n\t\t\t{ key: 'temperatureRange2', translationKey: 'reports.headerFields.temperatureRange2', align: 'left', selected: true },\n\t\t\t{ key: 'temperatureRange3', translationKey: 'reports.headerFields.temperatureRange3', align: 'left', selected: true },\n\t\t\t{ key: 'temperatureRange4', translationKey: 'reports.headerFields.temperatureRange4', align: 'left', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'taxi',\n\t\tmoduleName: 'report13',\n\t\troute: 'reports.taxi',\n\t\ttranslationKey: 'reports.menu.taxi',\n\t\tcolumns: [\n\t\t\t{ key: 'startTime', translationKey: 'reports.headerFields.startTime', align: 'left', selected: true },\n\t\t\t{ key: 'startLocation', translationKey: 'reports.headerFields.startLocation', align: 'left', selected: true },\n\t\t\t{ key: 'endTime', translationKey: 'reports.headerFields.endTime', align: 'left', selected: true },\n\t\t\t{ key: 'endLocation', translationKey: 'reports.headerFields.endLocation', align: 'left', selected: true },\n\t\t\t{ key: 'routeType', translationKey: 'reports.headerFields.routeType', align: 'left', selected: true },\n\t\t\t{ key: 'taxiState', translationKey: 'reports.headerFields.cupolaState', align: 'left', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distance', align: 'right', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.specific.taxi.duration', align: 'right', selected: true },\n\t\t\t{ key: 'fuelComposed', translationKey: 'reports.headerFields.consume', align: 'right', selected: true }\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'country',\n\t\tmoduleName: 'report14',\n\t\troute: 'reports.country',\n\t\ttranslationKey: 'reports.menu.countries',\n\t\tcolumns: [\n\t\t\t{ key: 'country', translationKey: 'reports.headerFields.country', align: 'left', selected: true },\n\t\t\t{ key: 'transitCount', translationKey: 'reports.headerFields.transitNumber', align: 'center', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distance', align: 'right', selected: true },\n\t\t\t{ key: 'durationMoving', translationKey: 'reports.headerFields.durationMoving', align: 'right', selected: true },\n\t\t\t{ key: 'durationStationary', translationKey: 'reports.headerFields.durationStationary', align: 'right', selected: true },\n\t\t\t{ key: 'fuelComposed', translationKey: 'reports.headerFields.consume', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumptionDistanceComposed', translationKey: 'reports.headerFields.fuelConsumptionDistance', align: 'right', selected: true },\n\t\t\t{ key: 'cost', translationKey: 'reports.headerFields.cost', align: 'right', selected: true },\n\t\t\t{ key: 'driverFullNames', translationKey: 'drivers', align: 'left', selected: true },\n\t\t\t{ key: 'map', translationKey: 'reports.headerFields.map', align: 'right', selected: true, reqModule: 'map', reqPage: 'map.routes' },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'cost',\n\t\tmoduleName: 'report16',\n\t\troute: 'reports.cost',\n\t\ttranslationKey: 'reports.menu.costs',\n\t\tcolumns: [\n\t\t\t{ key: 'country', translationKey: 'reports.headerFields.country', align: 'left', selected: true },\n\t\t\t{ key: 'transitCount', translationKey: 'reports.headerFields.transitNumber', align: 'center', selected: true },\n\t\t\t{ key: 'durationStationary', translationKey: 'reports.headerFields.durationStationary', align: 'right', selected: true },\n\t\t\t{ key: 'durationMoving', translationKey: 'reports.headerFields.durationMoving', align: 'right', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distance', align: 'right', selected: true },\n\t\t\t{ key: 'cost', translationKey: 'reports.headerFields.cost', align: 'right', selected: true },\n\t\t\t{ key: 'licensePlates', translationKey: 'licensePlates', align: 'left', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'priority', // todo maybe should be shown only if user has the can module\n\t\t\t\ttype: 'radio',\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityCAN', text: '', value: 'can' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.priorityGPS', text: '', value: 'gps' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'cabotage',\n\t\tmoduleName: 'report28',\n\t\troute: 'reports.cabotage',\n\t\ttranslationKey: 'reports.menu.cabotage',\n\t\tdownloadCsvExcelOnly: true,\n\t\tcolumns: [\n\t\t\t{ key: 'country', translationKey: 'reports.headerFields.country', align: 'left', selected: true },\n\t\t\t{ key: 'transitCount', translationKey: 'reports.headerFields.transitNumber', align: 'center', selected: true },\n\t\t\t{ key: 'distanceComposed', translationKey: 'reports.headerFields.distance', align: 'right', selected: true },\n\t\t\t{ key: 'cost', translationKey: 'reports.headerFields.cost', align: 'right', selected: true },\n\t\t],\n\t\toptions: [],\n\t},\n\t{\n\t\tname: 'timesheet',\n\t\tmoduleName: 'report18',\n\t\troute: 'reports.timesheet',\n\t\ttranslationKey: 'reports.menu.timesheet',\n\t\tdownloadDisabled: false,\n\t\tcolumns: [\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'engineOnDuration', translationKey: 'reports.headerFields.ignitionOnTime', align: 'left', selected: true },\n\t\t\t{ key: 'canEngineOnDuration', translationKey: 'reports.headerFields.engineOnTime', align: 'left', selected: true },\n\t\t\t{ key: 'ignitionOnDuration', translationKey: 'reports.headerFields.timesheet', align: 'left', selected: true },\n\t\t\t{ key: 'engineOnFirstTime', translationKey: 'reports.headerFields.engineFirstTime', align: 'left', selected: true },\n\t\t\t{ key: 'engineOnLastTime', translationKey: 'reports.headerFields.engineLastTime', align: 'left', selected: true },\n\t\t]\n\t},\n\t{\n\t\tname: 'construction',\n\t\tmoduleName: 'report19',\n\t\troute: 'reports.construction',\n\t\ttranslationKey: 'reports.menu.construction',\n\t\tdownloadDisabled: true,\n\t\tcolumns: [\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'geofenceName', translationKey: 'reports.headerFields.specific.poi.geofences', align: 'left', selected: true },\n\t\t\t{ key: 'duration', translationKey: 'reports.headerFields.specific.stationary.duration', align: 'right', selected: true },\n\t\t\t{ key: 'durationWork', translationKey: 'reports.headerFields.durationWorking', align: 'right', selected: true },\n\t\t\t{ key: 'distance', translationKey: 'reports.headerFields.distance', align: 'right', selected: true },\n\t\t\t{ key: 'fuelComposed', translationKey: 'reports.headerFields.consume', align: 'right', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t]\n\t},\n\t{\n\t\tname: 'tacho-files',\n\t\tmoduleName: 'report22',\n\t\troute: 'reports.tacho-files',\n\t\ttranslationKey: 'reports.menu.tacho-files',\n\t\tdownloadDisabled: true,\n\t\tallowImport: true,\n\t\tcolumns: [],\n\t\toptions: [{\n\t\t\tname: 'summarize',\n\t\t\ttype: 'checkbox',\n\t\t\ttranslationKey: 'reports.settings.specific.tacho-files.summarize',\n\t\t\tvaluePath: 'settings.reports.summarize'\n\t\t}],\n\t},\n\t{\n\t\tname: 'tacho-timesheet',\n\t\tmoduleName: 'report26',\n\t\troute: 'reports.tacho-timesheet',\n\t\ttranslationKey: 'reports.menu.tacho-timesheet',\n\t\tcolumns: [\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'startTime', translationKey: 'reports.headerFields.specific.tachoTimesheet.startTime', align: 'left', selected: true },\n\t\t\t{ key: 'endTime', translationKey: 'reports.headerFields.specific.tachoTimesheet.endTime', align: 'left', selected: true },\n\t\t\t{ key: 'distance', translationKey: 'reports.headerFields.distance', align: 'left', selected: true },\n\t\t\t{ key: 'drivingDuration', translationKey: 'reports.headerFields.specific.tachoTimesheet.drivingDuration', align: 'left', selected: true },\n\t\t\t{ key: 'othersDuration', translationKey: 'reports.headerFields.specific.tachoTimesheet.othersDuration', align: 'left', selected: true },\n\t\t\t{ key: 'availabilityDuration', translationKey: 'reports.headerFields.specific.tachoTimesheet.availabilityDuration', align: 'left', selected: true },\n\t\t\t{ key: 'activityDuration', translationKey: 'reports.headerFields.specific.tachoTimesheet.activityDuration', align: 'left', selected: true },\n\t\t\t{ key: 'restDuration', translationKey: 'reports.headerFields.specific.tachoTimesheet.restDuration', align: 'left', selected: true },\n\t\t\t{ key: 'nightDuration', translationKey: 'reports.headerFields.specific.tachoTimesheet.nightDuration', align: 'left', selected: true },\n\t\t],\n\t},\n\t{\n\t\tname: 'obu-tickets',\n\t\tmoduleName: 'report21',\n\t\troute: 'reports.obu-tickets',\n\t\ttranslationKey: 'reports.menu.obu-tickets',\n\t\tdownloadDisabled: true,\n\t\tcolumns: [\n\t\t\t{ key: 'date', translationKey: 'reports.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'sectionID', translationKey: 'reports.headerFields.roadSection', align: 'left', selected: true },\n\t\t],\n\t},\n\t{\n\t\tname: 'transits',\n\t\tmoduleName: 'report29',\n\t\troute: 'reports.transits',\n\t\ttranslationKey: 'reports.menu.transits',\n\t\tcolumns: [\n\t\t\t{ key: 'country', translationKey: 'reports.headerFields.country', align: 'left', selected: true },\n\t\t\t{ key: 'enterLocation', translationKey: 'reports.headerFields.entryLocation', align: 'right', selected: true },\n\t\t\t{ key: 'enterTime', translationKey: 'reports.headerFields.entryTime', align: 'right', selected: true },\n\t\t\t{ key: 'exitLocation', translationKey: 'reports.headerFields.exitLocation', align: 'right', selected: true },\n\t\t\t{ key: 'exitTime', translationKey: 'reports.headerFields.exitTime', align: 'right', selected: true },\n\t\t\t{ key: 'distanceGPS', translationKey: 'reports.headerFields.distance', align: 'right', selected: true },\n\t\t\t{ key: 'distanceCAN', translationKey: 'reports.headerFields.canDistance', align: 'right', selected: true },\n\t\t\t{ key: 'durationStationary', translationKey: 'reports.headerFields.durationStationary', align: 'right', selected: true },\n\t\t\t{ key: 'durationMoving', translationKey: 'reports.headerFields.durationMoving', align: 'right', selected: true },\n\t\t\t{ key: 'refuelsCAN', translationKey: 'reports.headerFields.refuelCAN', align: 'right', selected: true },\n\t\t\t{ key: 'refuelsSensor', translationKey: 'reports.headerFields.refuelSensor', align: 'right', selected: true },\n\t\t\t{ key: 'stopsLoad', translationKey: 'reports.headerFields.specific.29.loads', align: 'right', selected: true },\n\t\t\t{ key: 'stopsUnload', translationKey: 'reports.headerFields.specific.29.unloads', align: 'right', selected: true },\n\t\t],\n\t},\n\t{\n\t\t// groupBy driverID\n\t\tname: 'performance',\n\t\tmoduleName: 'report40',\n\t\troute: 'reports.performance',\n\t\ttranslationKey: 'driving.menu.performance',\n\t\tprintDisabled: true,\n\t\tcolumns: [\n\t\t\t{ key: 'date', translationKey: 'driving.headerFields.date', align: 'center', selected: true },\n\t\t\t{ key: 'licensePlate', translationKey: 'driving.headerFields.vehicle', align: 'center', selected: true },\n\t\t\t{ key: 'country', translationKey: 'country', align: 'center', selected: true },\n\t\t\t{ key: 'distance', translationKey: 'driving.headerFields.distanceTotal', align: 'right', selected: true },\n\t\t\t{ key: 'durationMoving', translationKey: 'driving.headerFields.durationMoving', align: 'right', selected: true },\n\t\t\t{ key: 'speedAvg', translationKey: 'driving.headerFields.averageSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'difficultyScore', translationKey: 'driving.headerFields.difficultyScore', align: 'right', selected: true },\n\t\t\t{ key: 'avgScore', translationKey: 'driving.headerFields.avgScore', align: 'center', selected: true },\n\t\t\t{ key: 'score', translationKey: 'driving.headerFields.score', align: 'right', selected: true },\n\t\t\t{ key: 'companyScore', translationKey: 'driving.headerFields.companyScore', align: 'right', selected: true },\n\t\t\t{ key: 'ascendPercentage', translationKey: 'driving.headerFields.ascendPercentage', align: 'right', selected: true },\n\t\t\t{ key: 'descendPercentage', translationKey: 'driving.headerFields.descendPercentage', align: 'right', selected: true },\n\t\t\t{ key: 'angle', translationKey: 'driving.headerFields.angle', align: 'right', selected: true },\n\t\t\t{ key: 'axleLoadAvg', translationKey: 'driving.headerFields.axleLoadAvg', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumption', translationKey: 'driving.headerFields.fuelConsumptionTotalDistance', align: 'right', selected: true },\n\t\t\t{ key: 'accBrake100kmAvg', translationKey: 'driving.headerFields.accBrake100kmAvg', align: 'right', selected: true },\n\t\t\t{ key: 'accBrakeTimeAvg', translationKey: 'driving.headerFields.accBrakeTimeAvg', align: 'right', selected: true },\n\t\t\t{ key: 'brakingCount100kmAvg', translationKey: 'driving.headerFields.brakingCount100kmAvg', align: 'right', selected: true },\n\t\t\t{ key: 'deltaAccKmAvg', translationKey: 'driving.headerFields.deltaAccKmAvg', align: 'right', selected: true },\n\t\t\t{ key: 'distanceCruiseControlKmAvg', translationKey: 'driving.headerFields.distanceCruiseControlKmAvg', align: 'right', selected: true },\n\t\t\t{ key: 'distanceInertiaKmAvg', translationKey: 'driving.headerFields.distanceInertiaKmAvg', align: 'right', selected: true },\n\t\t\t{ key: 'retarderOnKmAvg', translationKey: 'driving.headerFields.retarderOnKmAvg', align: 'right', selected: true },\n\t\t\t{ key: 'scoreAccBr', translationKey: 'driving.headerFields.scoreAccBr', align: 'right', selected: true },\n\t\t\t{ key: 'scoreAccBrTime', translationKey: 'driving.headerFields.scoreAccBrTime', align: 'right', selected: true },\n\t\t\t{ key: 'scoreBrk', translationKey: 'driving.headerFields.scoreBrk', align: 'right', selected: true },\n\t\t\t{ key: 'scoreDeltaAcc', translationKey: 'driving.headerFields.scoreDeltaAcc', align: 'right', selected: true },\n\t\t\t{ key: 'scoreCruise', translationKey: 'driving.headerFields.scoreCruise', align: 'right', selected: true },\n\t\t\t{ key: 'scoreInertia', translationKey: 'driving.headerFields.scoreInertia', align: 'right', selected: true },\n\t\t\t{ key: 'scoreRetarder', translationKey: 'driving.headerFields.scoreRetarder', align: 'right', selected: true },\n\t\t\t{ key: 'companyScoreAccBr', translationKey: 'driving.headerFields.companyScoreAccBr', align: 'right', selected: true },\n\t\t\t{ key: 'companyScoreAccBrTime', translationKey: 'driving.headerFields.companyScoreAccBrTime', align: 'right', selected: true },\n\t\t\t{ key: 'companyScoreBrk', translationKey: 'driving.headerFields.companyScoreBrk', align: 'right', selected: true },\n\t\t\t{ key: 'companyScoreDeltaAcc', translationKey: 'driving.headerFields.companyScoreDeltaAcc', align: 'right', selected: true },\n\t\t\t{ key: 'companyScoreCruise', translationKey: 'driving.headerFields.companyScoreCruise', align: 'right', selected: true },\n\t\t\t{ key: 'companyScoreInertia', translationKey: 'driving.headerFields.companyScoreInertia', align: 'right', selected: true },\n\t\t\t{ key: 'companyScoreRetarder', translationKey: 'driving.headerFields.companyScoreRetarder', align: 'right', selected: true },\n\t\t\t{ key: 'overSpeedKm', translationKey: 'driving.headerFields.overSpeedKm', align: 'right', selected: true },\n\t\t\t{ key: 'panicBraking', translationKey: 'driving.headerFields.panicBraking', align: 'right', selected: true },\n\t\t\t{ key: 'stops', translationKey: 'driving.headerFields.stops', align: 'right', selected: true },\n\t\t\t{ key: 'stationEngineOn', translationKey: 'driving.headerFields.stationEngineOn', align: 'right', selected: true },\n\t\t\t{ key: 'auxHeating', translationKey: 'driving.headerFields.auxHeating', align: 'right', selected: true },\n\t\t],\n\t\toptions: [],\n\t},\n]\n\nconst drivingObjects = [\n\t{\n\t\tname: 'fcz',\n\t\tmoduleName: 'report30',\n\t\troute: 'driving.fcz',\n\t\ttranslationKey: 'driving.menu.fcz',\n\t\tprintDisabled: true,\n\t\tcolumns: [\n\t\t\t{ key: 'driver', translationKey: 'driving.headerFields.driver', align: 'left', selected: true },\n\t\t\t{ key: 'vehicle', translationKey: 'driving.headerFields.vehicle', align: 'left', selected: true },\n\t\t\t{ key: 'date', translationKey: 'driving.headerFields.date', align: 'left', selected: true },\n\t\t\t{ key: 'score', translationKey: 'driving.headerFields.score', align: 'left', selected: true },\n\t\t\t{ key: 'distanceTotal', translationKey: 'driving.headerFields.distanceTotal', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumptionTotal', translationKey: 'driving.headerFields.fuelConsumptionTotal', align: 'right', selected: true },\n\t\t\t{ key: 'averageAxleLoad', translationKey: 'driving.headerFields.averageAxleLoad', align: 'right', selected: true },\n\t\t\t{ key: 'averageSpeed', translationKey: 'driving.headerFields.averageSpeed', align: 'right', selected: true },\n\t\t\t{ key: 'breakingDistance', translationKey: 'driving.headerFields.breakingDistance', align: 'right', selected: true },\n\t\t\t{ key: 'harshBreakingDistance', translationKey: 'driving.headerFields.harshBreakingDistance', align: 'right', selected: true },\n\t\t\t{ key: 'harshAccelerationDistance', translationKey: 'driving.headerFields.harshAccelerationDistance', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumptionMovingDistance', translationKey: 'driving.headerFields.fuelConsumptionMovingDistance', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumptionIdle', translationKey: 'driving.headerFields.fuelConsumptionIdle', align: 'right', selected: true },\n\t\t\t{ key: 'fuelConsumptionTotalDistance', translationKey: 'driving.headerFields.fuelConsumptionTotalDistance', align: 'right', selected: true },\n\t\t\t{ key: 'durationIdle', translationKey: 'driving.headerFields.durationIdle', align: 'right', selected: true },\n\t\t\t{ key: 'percentCruiseControl', translationKey: 'driving.headerFields.percentCruiseControl', align: 'right', selected: true },\n\t\t\t{ key: 'percentInertia', translationKey: 'driving.headerFields.percentInertia', align: 'right', selected: true },\n\t\t\t{ key: 'percentMoving', translationKey: 'driving.headerFields.percentMoving', align: 'right', selected: true },\n\t\t\t{ key: 'percentIdle', translationKey: 'driving.headerFields.percentIdle', align: 'right', selected: true },\n\t\t],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'cngUnit',\n\t\t\t\ttype: 'radio',\n\t\t\t\treqModule: ['cng'],\n\t\t\t\titems: [\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.volume', text: '', value: 'volume' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.weight', text: '', value: 'weight' },\n\t\t\t\t\t{ translationKey: 'reports.settings.specific.route.cng.percent', text: '', value: 'percent' }\n\t\t\t\t]\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tname: 'engine-load-rpm',\n\t\tmoduleName: 'report31',\n\t\troute: 'driving.engine-load-rpm',\n\t\ttranslationKey: 'driving.menu.engine-load-rpm',\n\t\tdownloadPdfOnly: true,\n\t\tprintDisabled: true,\n\t\tcolumns: [],\n\t\toptions: [],\n\t},\n]\n\nconst settingsObjects = [\n\t{\n\t\tname: 'notifications',\n\t\tmoduleName: 'settingsNotifications',\n\t\troute: 'settings.notifications',\n\t\ttranslationKey: 'settings.menu.notifications'\n\t},\n\t{\n\t\tname: 'speedLimit',\n\t\tmoduleName: 'basic',\n\t\troute: 'settings.speedLimit',\n\t\ttranslationKey: 'settings.menu.speedLimit'\n\t},\n\t{\n\t\tname: 'costs',\n\t\tmoduleName: 'report16',\n\t\troute: 'settings.costs',\n\t\ttranslationKey: 'settings.menu.costs'\n\t},\n\t{\n\t\tname: 'cabotage',\n\t\tmoduleName: 'report28',\n\t\troute: 'settings.cabotage',\n\t\ttranslationKey: 'settings.menu.cabotage'\n\t},\n\t{\n\t\tname: 'orders',\n\t\tmoduleName: 'orders',\n\t\troute: 'settings.orders',\n\t\ttranslationKey: 'settings.menu.orders'\n\t},\n\t{\n\t\tname: 'driverBehaviour',\n\t\tmoduleName: 'driverBehaviour',\n\t\troute: 'settings.driverBehaviour',\n\t\ttranslationKey: 'settings.menu.driverBehaviour'\n\t},\n\t{\n\t\tname: 'account',\n\t\tmoduleName: 'basic',\n\t\troute: 'settings.account',\n\t\ttranslationKey: 'account',\n\t},\n\t{\n\t\tname: 'data-storage',\n\t\tmoduleName: 'basic',\n\t\troute: 'settings.data-storage',\n\t\ttranslationKey: 'settings.menu.dataStorage'\n\t},\n\t{\n\t\tname: 'tms',\n\t\tmoduleName: 'tms',\n\t\troute: 'settings.tms',\n\t\ttranslationKey: 'settings.menu.tms'\n\t},\n\t{\n\t\tname: 'eTransport',\n\t\tmoduleName: 'eTransport',\n\t\troute: 'settings.e-transport',\n\t\ttranslationKey: 'settings.menu.eTransport'\n\t},\n\t{\n\t\tname: 'dispatch',\n\t\tmoduleName: 'dispatch',\n\t\troute: 'settings.dispatch',\n\t\ttranslationKey: 'settings.menu.dispatch'\n\t},\n\t{\n\t\tname: 'dailyTarget',\n\t\tmoduleName: 'basic',\n\t\troute: 'settings.daily-target',\n\t\ttranslationKey: 'settings.menu.dailyTarget'\n\t},\n]\n\nconst dispatchObjects = [\n\t{\n\t\tname: 'map',\n\t\troute: 'dispatch.map',\n\t\ttranslationKey: 'dispatch.menu.map'\n\t},\n\t{\n\t\tname: 'routes',\n\t\troute: 'dispatch.routes',\n\t\ttranslationKey: 'dispatch.menu.routes.index'\n\t},\n\t{\n\t\tname: 'orders',\n\t\tmoduleName: 'orders',\n\t\troute: 'dispatch.orders',\n\t\ttranslationKey: 'dispatch.menu.orders'\n\t},\n\t{\n\t\tname: 'clients',\n\t\troute: 'dispatch.clients',\n\t\ttranslationKey: 'dispatch.menu.clients'\n\t},\n\t{\n\t\tname: 'vehicle-groups',\n\t\troute: 'dispatch.vehicle-groups',\n\t\ttranslationKey: 'dispatch.menu.vehicleGroups'\n\t},\n]\n\nconst tmsObjects = [\n\t{\n\t\tname: 'map',\n\t\tmoduleName: 'tms',\n\t\troute: 'tms.map',\n\t\ttranslationKey: 'tms.menu.map'\n\t},\n\t// {\n\t// \tname: 'routes',\n\t// \troute: 'tms.routes',\n\t// \ttranslationKey: 'tms.menu.routes.index' TODO: implement this page after Waberrer's release\n\t// },\n\t{\n\t\tname: 'vehicle-groups',\n\t\tmoduleName: 'tms',\n\t\troute: 'tms.vehicle-groups',\n\t\ttranslationKey: 'tms.menu.vehicleGroups'\n\t},\n\t{\n\t\tname: 'clients',\n\t\tmoduleName: 'tms',\n\t\troute: 'tms.clients',\n\t\ttranslationKey: 'tms.menu.clients'\n\t},\n\t{\n\t\tname: 'orders',\n\t\tmoduleName: 'tms',\n\t\troute: 'tms.orders',\n\t\ttranslationKey: 'tms.menu.orders'\n\t},\n]\n\nconst rerObjects = [\n\t{\n\t\tname: 'map',\n\t\troute: 'rer.map',\n\t\ttranslationKey: 'rer.menu.map'\n\t},\n\t{\n\t\tname: 'map',\n\t\troute: 'rer.subscribers',\n\t\ttranslationKey: 'rer.menu.subscribers'\n\t},\n\t{\n\t\tname: 'map',\n\t\troute: 'rer.pickups',\n\t\ttranslationKey: 'rer.menu.pickups'\n\t},\n]\n\nconst eTransportObjects = [\n\t{\n\t\tname: 'uit',\n\t\tmoduleName: 'eTransport',\n\t\troute: 'e-transport.uits',\n\t\ttranslationKey: 'UIT'\n\t},\n\t{\n\t\tname: 'partners',\n\t\tmoduleName: 'eTransport',\n\t\troute: 'e-transport.partners',\n\t\ttranslationKey: 'partners'\n\t},\n]\n\nexport default Service.extend(scrollingPaddingMixin, {\n\tisAdmin: computed.alias('currentUser.isAdmin'),\n\tmodules: computed.readOnly('currentUser.modules'),\n\taPages: computed.readOnly('currentUser.aPages'),\n\n\tcontracted: false,\n\tshowFilters: true,\n\n\tnumberOfModules: computed('modules', 'aPages', 'hasManagement', 'hasReports', 'hasDriving', 'hasSettings', 'hasDispatch', 'hasTms', 'hasETransport', function () {\n\t\tlet modules = this.get('modules')\n\t\t/** basic\n\t\t * 1- dash\n\t\t */\n\n\t\tlet basic = 1\n\t\tlet counter = 0\n\n\t\tif (this.get('hasETransport')) {\n\t\t\tcounter += 1\n\t\t}\n\t\tif (modules.map && this.get('hasMap')) {\n\t\t\tcounter += 1\n\t\t}\n\t\tif (modules.reports && this.get('hasReports')) {\n\t\t\tcounter += 1\n\t\t}\n\t\tif (modules.management && this.get('hasManagement')) {\n\t\t\tcounter += 1\n\t\t}\n\t\tif (modules.driverBehaviour && this.get('hasDriving')) {\n\t\t\tcounter += 1\n\t\t}\n\t\tif (modules.messaging) {\n\t\t\tcounter += 1\n\t\t}\n\t\tif (modules.dispatch && this.get('hasDispatch')) {\n\t\t\tcounter += 1\n\t\t}\n\t\tif (this.get('hasSettings')) {\n\t\t\tcounter += 1\n\t\t}\n\t\tif (modules.tms && this.get('hasTms')) {\n\t\t\tcounter += 1\n\t\t}\n\n\t\treturn basic + counter\n\t}),\n\n\tmainMenuElements: computed('numberOfModules', function () {\n\t\tlet nrOfModules = this.get('numberOfModules')\n\t\tswitch (nrOfModules) {\n\t\t\tcase 1:\n\t\t\t\treturn 'one'\n\t\t\tcase 2:\n\t\t\t\treturn 'two'\n\t\t\tcase 3:\n\t\t\t\treturn 'three'\n\t\t\tcase 4:\n\t\t\t\treturn 'four'\n\t\t\tcase 5:\n\t\t\t\treturn 'five'\n\t\t\tcase 6:\n\t\t\t\treturn 'six'\n\t\t\tcase 7:\n\t\t\t\treturn 'seven'\n\t\t\tcase 8:\n\t\t\t\treturn 'eight'\n\t\t\tcase 9:\n\t\t\t\treturn 'nine'\n\t\t\tcase 10:\n\t\t\t\treturn 'ten'\n\t\t\tcase 11:\n\t\t\t\treturn 'eleven'\n\t\t\tdefault:\n\t\t\t\treturn ''\n\t\t}\n\t}),\n\n\treports: computed('currentUser.modules', 'currentUser.user', function () {\n\t\treturn this.makeReports()\n\t}),\n\tdriving: computed('currentUser.modules', 'currentUser.user', function () {\n\t\treturn this.makeDriving()\n\t}),\n\tdispatch: computed('currentUser.modules', 'currentUser.user', function () {\n\t\treturn this.makeDispatch()\n\t}),\n\ttms: computed('currentUser.modules', 'currentUser.user', function () {\n\t\treturn this.makeTMS()\n\t}),\n\teTransport: computed('currentUser.modules', 'currentUser.user', function () {\n\t\treturn  this.makeETransport()\n\t}),\n\trer: computed('currentUser.modules', 'currentUser.user', function () {\n\t\treturn this.makeRer()\n\t}),\n\tmanagement: computed('currentUser.modules', 'currentUser.user', function () {\n\t\treturn this.makeManagement()\n\t}),\n\tsettings: computed('currentUser.modules', 'currentUser.user', function () {\n\t\treturn this.makeSettings()\n\t}),\n\n\thasMap: computed.readOnly('currentUser.hasMapAccess'),\n\n\thasETransport: computed('eTransport', function () {\n\t\treturn this.get('eTransport.length')\n\t}),\n\thasReports: computed('reports', function () {\n\t\treturn this.get('reports').length\n\t}),\n\thasDriving: computed('driving', function () {\n\t\treturn this.get('driving').length\n\t}),\n\thasDispatch: computed('dispatch', function () {\n\t\treturn this.get('dispatch').length\n\t}),\n\thasTms: computed('tms', function () {\n\t\treturn this.get('tms').length\n\t}),\n\thasRer: computed('rer', function () {\n\t\treturn this.get('rer').length\n\t}),\n\thasManagement: computed('management', function () {\n\t\treturn this.get('management').length\n\t}),\n\thasSettings: computed('settings', function () {\n\t\treturn this.get('settings').length\n\t}),\n\n\tmakeReports() {\n\t\tlet modules = this.get('modules')\n\t\tlet pages = this.get('currentUser.aPages')\n\t\tlet reportsColumns = this.get('currentUser.reportsColumns')\n\t\tlet reports = JSON.parse(JSON.stringify(reportsObjects))\n\t\treports.forEach(report => {\n\t\t\tlet selectedColumns = reportsColumns[report.moduleName]\n\t\t\tif (report.columns) {\n\t\t\t\t// update selected reports columns according to currentUser\n\t\t\t\tif (selectedColumns && isArray(selectedColumns)) {\n\t\t\t\t\treport.columns.forEach(column => {\n\t\t\t\t\t\tset(column, 'selected', selectedColumns.indexOf(column.key) != -1)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t// filter columns by required modules or required pages\n\t\t\t\tset(report, 'columns', report.columns.filter(col => {\n\t\t\t\t\tlet valid = true\n\t\t\t\t\tif (col.reqModule && !modules[col.reqModule]) {\n\t\t\t\t\t\tvalid = false\n\t\t\t\t\t}\n\t\t\t\t\tif (col.reqPage) {\n\t\t\t\t\t\tif (col.reqPage.indexOf('.') != -1) { // if is a sub-route. accept the parent route too\n\t\t\t\t\t\t\tlet category = col.reqPage.substring(0, col.reqPage.indexOf('.'))\n\t\t\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t\t\t\tif ((category && pages.indexOf(category) != -1) || pages.indexOf(col.reqPage) != -1) {\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tvalid = false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (pages.indexOf(col.reqPage) == -1) {\n\t\t\t\t\t\t\tvalid = false\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn valid\n\t\t\t\t}))\n\n\t\t\t\t// if there is an option with required module filter it\n\t\t\t\tif (report.options) {\n\t\t\t\t\tset(report, 'options', report.options.filter(opt => {\n\t\t\t\t\t\tif (opt.reqModule && isArray(opt.reqModule)) {\n\t\t\t\t\t\t\tlet valid = true\n\t\t\t\t\t\t\topt.reqModule.forEach(req => {\n\t\t\t\t\t\t\t\tif (!modules[req]) {\n\t\t\t\t\t\t\t\t\tvalid = false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\treturn valid\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tif (modules.reports) {\n\t\t\tlet allReports = pages.indexOf('reports') != -1\n\t\t\treturn reports.filter(obj => {\n\t\t\t\tif ((!obj.moduleName || modules[obj.moduleName]) && obj.route)\n\t\t\t\t\treturn allReports || pages.indexOf(obj.route) != -1\n\t\t\t\telse return false\n\t\t\t})\n\t\t}\n\t\treturn []\n\t},\n\n\tmakeDriving() {\n\t\tlet modules = this.get('modules')\n\t\tlet reportsColumns = this.get('currentUser.reportsColumns')\n\t\tlet driving = JSON.parse(JSON.stringify(drivingObjects))\n\n\t\tdriving.forEach(report => {\n\t\t\tlet selectedColumns = reportsColumns[report.moduleName]\n\t\t\tif (report.columns) {\n\t\t\t\t// update selected reports columns according to currentUser\n\t\t\t\tif (selectedColumns && isArray(selectedColumns)) {\n\t\t\t\t\treport.columns.forEach(column => {\n\t\t\t\t\t\tset(column, 'selected', selectedColumns.indexOf(column.key) != -1)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t// filter columns by required modules\n\t\t\t\tset(report, 'columns', report.columns.filter(col => {\n\t\t\t\t\tif (col.reqModule) {\n\t\t\t\t\t\treturn modules[col.reqModule]\n\t\t\t\t\t}\n\t\t\t\t\treturn true\n\t\t\t\t}))\n\t\t\t}\n\t\t})\n\n\t\tif (modules.driving) {\n\t\t\tlet pages = this.get('currentUser.aPages')\n\t\t\tlet allDriving = pages.indexOf('driving') != -1\n\t\t\treturn driving.filter(obj => {\n\t\t\t\tif ((!obj.moduleName || modules[obj.moduleName]) && obj.route)\n\t\t\t\t\treturn allDriving || pages.indexOf(obj.route) != -1\n\t\t\t\telse return false\n\t\t\t})\n\t\t}\n\t\treturn []\n\t},\n\n\tmakeDispatch() {\n\t\t// drivers can't access this section\n\t\tif (!this.get('currentUser.user.type') || this.get('currentUser.user.type') === 'driver') {\n\t\t\treturn []\n\t\t}\n\t\tconst modules = this.get('modules')\n\t\tconst pages = this.get('currentUser.aPages')\n\t\tconst visible = pages.indexOf('dispatch') != -1\n\n\t\tif (modules.dispatch && visible) {\n\t\t\treturn dispatchObjects\n\t\t}\n\t\treturn []\n\t},\n\n\tmakeETransport() {\n\t\t// drivers can't access this section\n\t\tif (!this.get('currentUser.user.type') || this.get('currentUser.user.type') === 'driver') {\n\t\t\treturn []\n\t\t}\n\n\t\tconst modules = this.get('modules')\n\t\tif (!modules.eTransport) return []\n\t\tconst pages = this.get('currentUser.aPages')\n\t\tconst visible = pages.indexOf('e-transport') != -1\n\t\n\t\tif (visible) return  eTransportObjects\n\n\t\tif(this.get('currentUser.user.type') === 'admin' && modules.eTransport) return eTransportObjects\n\n\t\tconst eTransportPagesAccess = filter(pages, i => startsWith(i, 'e-transport'))\n\n\t\tif (!eTransportPagesAccess.length) return []\n\n\t\tconst filtered = eTransportObjects.filter(obj =>\n\t\t\teTransportPagesAccess.includes(obj.route) \n\t\t)\n\t\treturn filtered\n\t},\n\n\tmakeTMS() {\n\t\t// drivers can't access this section\n\t\tif (!this.get('currentUser.user.type') || this.get('currentUser.user.type') === 'driver') {\n\t\t\treturn []\n\t\t}\n\t\tconst modules = this.get('modules')\n\n\t\t// TODO: hide via pages\n\t\tif (modules.tms) {\n\t\t\treturn tmsObjects\n\t\t}\n\t\treturn []\n\t},\n\n\tmakeRer() {\n\t\tlet modules = this.get('modules')\n\t\tif (!modules.rer) { return [] }\n\n\t\tlet pages = this.get('currentUser.aPages')\n\t\tlet allRer = pages.indexOf('rer') != -1\n\t\treturn rerObjects.filter(obj => {\n\t\t\tif (obj.route)\n\t\t\t\treturn allRer || pages.indexOf(obj.route) != -1\n\t\t\telse return false\n\t\t})\n\t},\n\n\tmakeManagement() {\n\t\t// driver roles can't access management section\n\t\tif (!this.get('currentUser.user.type') || this.get('currentUser.user.type') === 'driver') {\n\t\t\treturn []\n\t\t}\n\t\tlet modules = this.get('modules')\n\n\t\tif (modules.management) {\n\t\t\tlet pages = this.get('currentUser.aPages')\n\t\t\tlet allManagement = pages.indexOf('management') != -1\n\t\t\treturn managementObjects.filter(obj => {\n\t\t\t\tif ((!obj.moduleName || modules[obj.moduleName]) && obj.route)\n\t\t\t\t\treturn allManagement || pages.indexOf(obj.route) != -1\n\t\t\t\telse return false\n\t\t\t})\n\t\t}\n\t\treturn []\n\t},\n\n\tmakeSettings() {\n\t\tlet modules = this.get('modules')\n\n\t\tlet pages = this.get('currentUser.aPages')\n\t\tlet isAdmin = this.get('isAdmin')\n\t\tlet allSettings = pages.indexOf('settings') != -1\n\t\treturn settingsObjects.filter(obj => {\n\t\t\tif (obj.name === 'account') return true\n\t\t\tif (obj.name === 'data-storage' && isAdmin) return true\n\t\t\tif ((!obj.moduleName || modules[obj.moduleName]) && obj.route)\n\t\t\t\treturn allSettings || pages.indexOf(obj.route) != -1\n\t\t\telse return false\n\t\t})\n\t},\n\n\ttoggleMenu() {\n\t\tthis.toggleProperty('contracted')\n\t},\n\n\tsetContractedMenu(val) {\n\t\tif (typeof (val) !== \"boolean\") { return false }\n\t\tthis.set('contracted', val)\n\t},\n\n\ttoggleFilters() {\n\t\tthis.toggleProperty('showFilters')\n\t\trun.later(this, () => {\n\t\t\tthis.fixScrollPadding()\n\t\t}, 10)\n\t},\n})\n","import Service from '@ember/service'\nimport { computed } from '@ember/object';\nimport moment from 'moment'\n\nexport default Service.extend({\n    //vehicle list component\n    searchValue: '',\n    selectedFilters: null,\n\n    //detailed route page\n    routeStartDate: moment().startOf('day').valueOf(),\n    routeEndDate: moment().endOf('day').valueOf(),\n    maxDate: moment().endOf('day').toDate(),\n\n    vehicleFilters: computed(\"selectedFilters\", function () {\n        let selectedFilters = this.get(\"selectedFilters\")\n        if (!selectedFilters || !selectedFilters.length) { return null }\n        let freezer = [] // \"on\", \"off\"\n        let doors = [] // \"open\", \"closed\"\n        let statusIndicator = [] // \"unreachable\", \"engineOn\", \"engineOff\"\n\n        selectedFilters.forEach(filter => {\n            if (filter.indexOf(\"freezer-\") != -1) {\n                let status = filter.split(\"-\")[1]\n                freezer.push(status)\n            }\n            else if (filter.indexOf(\"doors-\") != -1) {\n                let status = filter.split(\"-\")[1]\n                doors.push(status)\n            }\n            else if (filter.indexOf(\"statusIndicator-\") != -1) {\n                let status = filter.split(\"-\")[1]\n                statusIndicator.push(status)\n            }\n        })\n        return {\n            freezer,\n            doors,\n            statusIndicator,\n        }\n    }),\n})\n","import Ember from 'ember';\nimport RSVP from 'rsvp';\nimport ENV from '../config/environment';\nimport uuid from \"ember-uuid\";\n\nconst { service } = Ember.inject;\n\nexport default Ember.Service.extend({\n    store: service(),\n    currentUser: service('current-user'),\n    session: service(),\n    ajax: service(),\n    messageThreads: null,\n    selectedMessageThread: null,\n    messages: null,\n    isLoading: false,\n    newMessage: null,\n    newMessageThread: null,\n    user: null,\n    token: null,\n    websocket: null,\n    selectedDay: null,\n    messageReceivedCallback: null,\n    viewIsVisible: false,\n\n    unreadMessagesCount: Ember.computed('messageThreads.@each.unread', function () {\n        let unread = 0;\n        if (this.get('messageThreads.length')) {\n            this.get('messageThreads').forEach(messageThread => {\n                unread += messageThread.get('unread');\n            });\n        }\n        return unread;\n    }),\n\n    pendingMessages: [],\n\n    // Hold the token of the last sent message to compare it agains the websocket response\n    // and decide whether to create a new message object from the websocket response or not,\n    // because it otherwise it will be created from the message.save() promise resolve.\n    messageToken: null,\n\n    sortedMessages: Ember.computed.sort('selectedMessageThread.messages.@each', function(message1, message2) {\n        return moment(message1.get('createdAt')).diff(moment(message2.get('createdAt')));\n    }),\n\n    init(options) {\n        if (!this.get('currentUser.modules').messaging) {\n            return false\n        }\n        let opts = Object.assign({}, options);\n        if (!this.get('user')) {\n            this.set('user', this.get('store').peekRecord('user', this.get('currentUser.user.id')));\n        }\n\n        if (!this.get('token')) {\n            this.set('token', this.get('session.session.content.authenticated.idToken'));\n        }\n\n        this.set('selectedDay', moment());\n\n        this.resetNewMessageThread();\n        this.resetNewMessage();\n        this.fetchThreads();\n\n        if (!this.get('socket')) {\n            this.initWebsockets();\n        }\n\n        if (opts.socketMessageCallback) {\n            this.set('socketMessageCallback', opts.socketMessageCallback);\n        }\n    },\n\n    resetNewMessageThread() {\n        let userID = this.get('currentUser.user.id');\n        this.set('newMessageThread', {\n            userID: userID,\n            groupID: this.get('currentUser.user.groupID'),\n            channelID: null,\n            category: null,\n            subject: null,\n            users: [ userID ]\n        });\n    },\n\n    resetNewMessage() {\n        this.set('newMessage', {\n            messageThread: null,\n            category: null,\n            user: this.get('user'),\n            content: null,\n            receivers: []\n        });\n    },\n\n    fetchThreads() {\n        this.set('isLoading', true);\n\n        this.get('store').findAll('message-thread').then(messageThreads => {\n            this.set('messageThreads', messageThreads);\n            this._processPendingMessages();\n            this.set('isLoading', false);\n        });\n    },\n\n    saveNewThread() {\n        this.set('isLoading', true);\n        let messageThread = this.get('store').createRecord('message-thread', this.get('newMessageThread'));\n\n        messageThread.set('token', uuid.v4());\n        this.set('messageThreadToken', messageThread.get('token'));\n\n        return messageThread.save().then(messageThread => {\n            // this.messageThreads.pushObject(messageThread);\n            this.resetNewMessageThread();\n            this.set('isLoading', false);\n            return RSVP.resolve(messageThread);\n        }).catch(error => {\n            this.set('isLoading', false);\n            Ember.Logger.error('Error while trying to create new message thread:', error);\n        });\n    },\n\n    updateMessageThread(){\n        this.set('isLoading', true);\n\n        let messageThread = this.get('selectedMessageThread');\n        let newMessageThread = this.get('newMessageThread');\n\n        messageThread.set('userID', newMessageThread.userID);\n        messageThread.set('groupID', newMessageThread.groupID);\n        messageThread.set('channelID', newMessageThread.channelID);\n        messageThread.set('category', newMessageThread.category);\n        messageThread.set('subject', newMessageThread.subject);\n        messageThread.set('users', newMessageThread.users);\n        messageThread.set('token', uuid.v4());\n\n        this.set('messageThreadToken', messageThread.get('token'));\n\n        return messageThread.save().then(messageThread => {\n            this.resetNewMessageThread();\n            this.set('isLoading', false);\n            return RSVP.resolve(messageThread);\n        }).catch(error => {\n            this.set('isLoading', false);\n            Ember.Logger.error('Error while trying to create new message thread:', error);\n        });\n    },\n\n    sendMessage() {\n        if(this.get('isLoading') == true) return\n        let messageThread = this.get('selectedMessageThread');\n\n        if (!this.get('newMessage.content.length')) {\n            return RSVP.reject({ error: 'Empty message content...' });\n        } else {\n            Ember.Logger.log('Message length: ', this.get('newMessage.content.length'))\n        }\n    \n        if (messageThread) {\n            let messageToken = uuid.v4();\n\n            this.set('newMessage.messageThread', messageThread);\n            this.set('isLoading', true);\n\n            let message = this.get('store').createRecord('message', this.get('newMessage'));\n\n            if (!message.get('category')) {\n                message.set('category', messageThread.get('category'))\n            }\n\n            message.set('token', messageToken);\n            this.set('messageToken', messageToken);\n            this.resetNewMessage();\n            \n            return message.save().then(newMessage => {\n                this.set('isLoading', false);\n                return RSVP.resolve(newMessage);\n            }).catch(error => {\n                Ember.Logger.error('Error while trying to send message:', error);\n                this.set('isLoading', false);\n            })\n        } else {\n            return RSVP.reject({error: 'No thread selectet for sending the message. \"selectedMessageThread\" must be of \"message-thread\" model.'});\n        }\n    },\n\n    getThreadMessages() {\n        let selectedDay = this.get('selectedDay');\n        return this.get('store').query(\"message\", {\n            $where: {\n                message_thread_id: this.get('selectedMessageThread.id'),\n                '>=': {\n                    created_at: selectedDay.startOf('day').valueOf()\n                },\n                '<=': {\n                    created_at: selectedDay.endOf('day').valueOf()\n                }\n            }\n        })\n    },\n\n    loadOlderThreadMessages() {\n        let selectedDay = this.get('selectedDay').add(-1, 'days');\n        this.set('selectedDay', selectedDay);\n        this.getThreadMessages();\n    },\n\n    setSelectedMessageThread(messageThread) {\n        this.set('isLoading', true);\n        this.set('selectedMessageThread', messageThread);\n\n        // Set the selected day as the latest message thread update, so that it only fetches messages from that day initially.\n        // This ensures that the user will see the last messages and not an empty thread on first load when there are no messages on the current day\n        this.set('selectedDay', moment(messageThread.get('updatedAt')));\n\n        return new RSVP.Promise(resolve => {\n            //Only load all thread messages on first page load and when unread is > 0. The rest of the messages will be updated through websockets.\n            if (!messageThread.get('messages.length') || messageThread.get('unread')) {\n                return this.getThreadMessages().then(messages => {\n                    resolve(messages);\n                });\n            } else {\n                return resolve(messageThread.get('messages'));\n            }\n        }).then(() => {\n            this.setAllRead(messageThread);\n        });\n    },\n\n    setAllRead() {\n        let idToken = this.get('token');\n        let messageThread = this.get('selectedMessageThread');\n        this.set('isLoading', true);\n        if (messageThread.get('unread')) {\n            this.get(\"ajax\").request(`${ENV.api.host}/${ENV.api.namespace}/messageThreads/${messageThread.get('id')}/read`, {\n                headers: {\n                    Authorization: `Bearer ${idToken}`,\n                    Accept: 'application/json',\n                    'Content-Type': 'application/json'\n                },\n                type : 'PATCH',\n                dataType: \"json\",\n            }).then(() => {\n                Ember.Logger.log('Patch successful');\n                messageThread.set('unread', 0);\n                this.set('isLoading', false);\n            }).catch(error => {\n                Ember.Logger.log('Error while patching the thread messages: ', error);\n                this.set('isLoading', false);\n            });\n        } else {\n            this.set('isLoading', false);\n        }\n    },\n\n    toggleVisibility() {\n        this.set('viewIsVisible', !this.get('viewIsVisible'));\n    },\n    showView(){\n        this.set('viewIsVisible', true);\n    },\n    hideView(){\n        this.set('viewIsVisible', false);\n    },\n\n    onSocketOpen (event) {\n        let socket = this.get('socket');\n        Ember.Logger.log('[ WebSocket ] [ readyState ]', socket.readyState);\n        Ember.Logger.log('[ WebSocket ] [ readyState ] event: ', event);\n    },\n\n    _processReceivedMessage(messageData) {\n        if (messageData.messageThreadID === this.get('selectedMessageThread.id')) {\n            // Make sure that the message isn't already loaded before creating the record\n            let message = this.get('selectedMessageThread.messages').findBy('id', messageData.id);\n            if (!message) {\n                let store = this.get('store');\n                messageData.messageThread = store.peekRecord('message-thread', messageData.messageThreadID);\n                messageData.user = store.peekRecord('user', messageData.userID);\n                message = store.createRecord('message', messageData);\n                messageData.openedBy.push(this.get('user.id'))\n                // this.get('selectedMessageThread.messages').pushObject(message);\n            }\n\n            let callback = this.get('socketMessageCallback');\n            if (callback) {\n                callback(message);\n            }\n        } else {\n            // If the message is not on the currently selected thread, just increment the unread messages for that thread. The messages will be loaded once the user selects that thread.\n            let messageThread = this.get('messageThreads').findBy('id', messageData.messageThreadID);\n            Ember.Logger.log('Opened by: ', messageData.openedBy.contains(this.get('user.id')), messageData.openedBy, this.get('user.id'));\n            if (messageThread && !messageData.openedBy.contains(this.get('user.id'))) {\n                let unread = messageThread.get('unread') + 1;\n                messageThread.set('unread', unread);\n                Ember.Logger.log('One more unread message on thread:', messageThread.get('id'), messageThread.get('unread'));\n            }\n        }\n    },\n\n    _processPendingMessages() {\n        if (this.get('messageThreads.length')) {\n            let messageProcessor = this._processReceivedMessage.bind(this);\n            this.get('pendingMessages').forEach(messageProcessor);\n            this.set('pendingMessages', []);\n        }\n    },\n\n    userOnline () {},\n    userOffline () {},\n\n    receivedMessage (messageData) {\n        Ember.Logger.log('[ WS ] [ Messages Service ]: receivedMessage() ', messageData);\n        if (this.get('messageToken') !== messageData.token) {\n            if (this.get('messageThreads.length')) {\n                this._processReceivedMessage(messageData);\n            } else {\n                // If the threads were not loaded yet put the message in pending messages collection\n                Ember.Logger.log('Add to pending', messageData);\n                this.get('pendingMessages').pushObject(messageData);\n            }\n        } else {\n            // If the tokens match it means that the message was created in the current client. Simply dispose the stored token. The message will be created on save() response.\n            this.set('messageToken', null);\n        }\n\n        let messageThread = this.get('messageThreads').findBy('id', messageData.messageThreadID);\n        messageThread.set('updatedAt', messageData.createdAt);\n        messageThread.notifyPropertyChange('updatedAt');\n    },\n\n    updatedMessage () {},\n\n    addedNewMessageThread(messageThread) {\n        if (messageThread.token === this.get('messageThreadToken')) {\n            this.set('messageThreadToken', null);\n        } else {\n            this.get('store').createRecord('message-thread', messageThread);\n        }\n        let userId = this.get('currentUser.user.id');\n        // If the currently logged in user is within the participants of this thread\n        if (messageThread.users.contains(userId)) {\n            // Close the current socket and subscribe again, so that the server will subscribe the client to all the channels, including the new one.\n            this.closeWebsockets();\n            this.initWebsockets();\n        }\n    },\n\n    startedTyping (uid) {\n        // if(uid !== this._processPendingMessages.get('user.id')) {\n        //     //left class = 'comment'\n        // } else {\n        //     //right class = 'comment right floated'\n        // }\n    },\n    stoppedTyping () {},\n    userAdded () {},\n    userRemoved () {},\n\n    deletedMessageThread(deletedMessageThread) {\n        if (deletedMessageThread.id === this.get('deleteMessageThreadID')) {\n            // In this case the message thread deletion was requested by the current client\n            // It will be deleted after the response from the destroyRecord promise\n            this.set('deleteMessageThreadID', null);\n        } else {\n            // In this case the message thread was deleted in another client. This client's message threads need to me updated\n            let messageThread = this.get('messageThreads').findBy('id', deletedMessageThread.id);\n            let selectedMessageThreadId = this.get('selectedMessageThread.id');\n            if (messageThread) {\n                messageThread.deleteRecord();\n                if (selectedMessageThreadId === deletedMessageThread.id) {\n                    this.set('selectedMessageThread', null);\n                }\n            }    \n        }\n    },\n\n    deleteMessageThread(messageThread) {\n        let messageThreadId = messageThread.get('id')\n        this.set('deleteMessageThreadID', messageThreadId);\n        return messageThread.destroyRecord().then(() => {\n            if (messageThreadId === this.get('selectedMessageThread.id')) {\n                this.set('selectedMessageThread', null);\n            }\n        });\n    },\n\n    updatedMessageThread(messageThread) {\n\n    },\n\n    onSocketMessage (event) {\n        let message = JSON.parse(event.data);\n\n        switch(message.type) {\n            case \"user-online\":\n                this.userOnline(message.user);\n            break;\n            case \"user-offline\":\n                this.userOffline(message.user);\n            break;\n            case \"new-message\":\n                this.receivedMessage(message.message);\n            break;\n            case \"update-message\":\n                this.updatedMessage(message.message);\n            break;\n            case \"started-typing\":\n                this.startedTyping(message.user);\n            break;\n            case \"stoped-typing\":\n                this.stoppedTyping(message.user);\n            break;\n            case \"user-added\":\n                this.userAdded(message.user);\n            break;\n            case \"user-removed\":\n                this.userRemoved(message.user);\n            break;\n\n            case \"new-thread\":\n                this.addedNewMessageThread(message.messageThread)\n            break;\n\n            case \"updated-thread\":\n                this.updatedMessageThread(message.messageThread)\n            break;\n\n            case \"deleted-thread\":\n                this.deletedMessageThread(message.messageThread)\n            break;\n        }\n    },\n\n    onSocketClose (event) {\n        Ember.Logger.log('Attempting to close socket', event);\n    },\n\n    closeWebsockets() {\n        this.get('socket').close();\n    },\n\n    initWebsockets() {\n        let socket = new WebSocket(`${ENV.websockets.host}${ENV.websockets.subscribe}/?t=${this.get('token')}`);\n\n        this.set('socket', socket);\n\n        socket.onopen       = this.get('onSocketOpen').bind(this);\n        socket.onmessage    = this.get('onSocketMessage').bind(this);\n        socket.onclose      = this.get('onSocketClose').bind(this);\n    },\n\n\n    findExistingUserThread(userId) {\n        let currentUserId = this.get('currentUser.user.id');\n        return this.get('messageThreads').find(messageThread => {\n            let users = messageThread.get('users');\n            return (users.includes(userId) && users.includes(currentUserId) && (users.length === 2));\n        });\n    },\n\n    findExistingGroupThread(userIds) {\n        let currentUserId = this.get('currentUser.user.id');\n        let userIdsCopy = userIds.slice();\n\n        if (!userIdsCopy.includes(currentUserId)) {\n            // Every thread that this user created should have the current user id, so we add it to the group for furthe verification against it\n            userIdsCopy.push(currentUserId);\n        }\n\n        // If we find a thread with the identical user ids we select that one\n        return this.get('messageThreads').find(messageThread => {\n            let threadUserIs = messageThread.get('users');\n            let arrayDiff1 = threadUserIs.filter(userId => !userIdsCopy.includes(userId));\n            let arrayDiff2 = userIdsCopy.filter(userId => !threadUserIs.includes(userId));\n            return !(arrayDiff1.length || arrayDiff2.length);\n        });\n    },\n\n    registerExternalCallback(callbackName, callbackMethod) {\n        this.set(`event:${callbackName}`, callbackMethod);\n    },\n\n    triggerEvent(callbackName, args) {\n        let eventHandler = this.get(`event:${callbackName}`);\n        if (eventHandler) {\n            eventHandler(args);\n        }\n    },\n\n});\n","import Ember from 'ember';\nimport Service from 'ember-modal-dialog/services/modal-dialog';\nimport ENV from '../config/environment';\n\nconst {\n  computed\n} = Ember;\n\nexport default Service.extend({\n  destinationElementId: computed(function() {\n    /*\n      everywhere except test, this property will be overwritten\n      by the initializer that appends the modal container div\n      to the DOM. because initializers don't run in unit/integration\n      tests, this is a nice fallback.\n    */\n    if (ENV.environment === 'test') {\n      return 'ember-testing';\n    }\n  })\n});\n","import Ember from 'ember';\nimport MomentService from 'ember-moment/services/moment';\nimport config from '../config/environment';\n\nconst { get } = Ember;\n\nexport default MomentService.extend({\n  defaultFormat: get(config, 'moment.outputFormat')\n});\n","import Ember from 'ember';\nimport moment from 'moment'\nimport { task, timeout } from 'ember-concurrency'\nimport datesMixin from 'tracknamic-smb/mixins/dates'\n\nconst { service } = Ember.inject\n\nexport default Ember.Service.extend(datesMixin, {\n    api: service(),\n    store: Ember.inject.service('store'),\n    router: service(),\n    visibility: service(),\n\n    oldNotifications: [],\n    newNotifications: [],\n    newLength: 0,\n    showNotifications: false,\n    showNewNumber: true,\n    lastTT: null,\n    limit: 6,\n\n    sortBy: ['createdAt:desc'],\n    sortedRecords: Ember.computed.sort('notifications', 'sortBy'),\n    notifications: Ember.computed.union('oldNotifications', 'newNotifications'),\n\n    length: Ember.computed('notifications', function () {\n        if (this.get('notifications') && this.get('notifications.length')) {\n            return this.get('notifications.length')\n        }\n        return 0\n    }),\n\n    _fetchNew(tt) {\n        if (!tt) { return [] }\n\n        this.get('store').query(\"notification\", {\n            $where: {\n                persistent: false,\n                '>=': {\n                    timestamp: tt\n                }\n            }\n        }).then((results) => {\n            if (results && results.toArray().length > 0) {\n                this.get('newNotifications').addObjects(results.toArray())\n                this.set('newLength', this.get('newNotifications').length)\n            }\n        })\n    },\n\n    pollServerForChanges: task(function* () {\n        // eslint-disable-next-line no-constant-condition\n        while (true) {\n            yield timeout(60000)\n            let lastTT = this.get('lastTT')\n\n            if (this.get('visibility').visible) {\n                if (lastTT) {\n                    this._fetchNew(lastTT)\n                }\n                else {\n                    yield this.get('store').findAll('notification')\n                }\n            }\n            let timestamp = moment().valueOf()\n            this.set('lastTT', this.convertDateToCompanyTZ(timestamp))\n        }\n    }).cancelOn('deactivate').restartable(),\n\n    init() {\n        this._super(...arguments);\n        let oldNotifications = this.get('store').peekAll('notification').filterBy('persistent', false)\n\n        this.set('oldNotifications', oldNotifications)\n        this.get('pollServerForChanges').perform()\n    },\n\n    toggleNotifications() {\n        this.set('showNewNumber', false)\n        this.toggleProperty('showNotifications')\n\n        let newNotifs = this.get('newNotifications').toArray()\n        if (newNotifs.length > 0) {\n            this.get('oldNotifications').addObjects(newNotifs)\n            this.set('newNotifications', [])\n            this.set('newLength', 0)\n        }\n    },\n\n    goTo(notification) {\n\t\tlet router = this.get(\"router\");\n\n        if (notification.get(\"isDocumentExpiry\")) {\n\t\t\trouter.transitionTo('management.vehicles.view', notification.get('details.document.vehicle.id'), { queryParams: { document: notification.get('details.document.id') } });\n        } else if (notification.get(\"isPoi\") || notification.get('isGeofence')) {\n            router.transitionTo('map.routes', notification.get('details.vehicle_id'), { queryParams: { start: notification.get('start'), end: notification.get('end') } });\n        }\n    }\n});\n","import Service from '@ember/service'\n\nexport default Service.extend({\n    aranged: [],\n\tmaxLevel: 7,\n\tcurrentLevel: 0,\n\ttoArange: [],\n\tsetCurrentLevel: function () {\n\t\tvar _this = this;\n\t\tthis.toArange.forEach(function (item) {\n\t\t\tvar localLevel = item.id.split('-').length;\n\t\t\t_this.currentLevel = localLevel > _this.currentLevel ? localLevel : _this.currentLevel;\n\t\t});\n\t},\n\tcheckCurrentLevel: function () {\n\t\treturn this.currentLevel <= this.maxLevel;\n\t},\n\tgetChilds: function (parent) {\n\t\tvar _this = this,\n\t\t\tchilds = [];\n\t\t\n\t\tthis.toArange.forEach(function (n) {\n\t\t\tvar idSplited = n.id.split('-');\n\t\t\tidSplited.pop();\n\t\t\tvar parentId = idSplited.join('-');\n\t\t\tif (parentId === parent.id) {\n\t\t\t\tn.childs = _this.getChilds(n);\n\t\t\t\tchilds.push(n);\n\t\t\t}\n\t\t});\n\t\treturn childs;\n\t},\n\tarange: function (toArange) {\n\t\tvar _this = this;\n\n\t\tif (!toArange) { return false; }\n\n\t\tthis.toArange = toArange;\n\t\tthis.aranged = [];\n\t\tthis.setCurrentLevel();\n\t\tif (!this.checkCurrentLevel()) { return false; }\n\t\tthis.toArange.forEach(function (item) {\n\t\t\tif (item.id.split('-').length === 1) {\n\t\t\t\titem.childs = _this.getChilds(item);\n\t\t\t\t_this.aranged.push(item);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n});","import Ember from 'ember';\nimport ENV from '../config/environment';\n\nexport default Ember.Service.extend({\n    store: Ember.inject.service(),\n    currentUser: Ember.inject.service('current-user'),\n    session: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    isLoading: false,\n    user: null,\n    token: null,\n    socket: null,\n\n    init() {\n        if (!this.get('user')) {\n            this.set('user', this.get('store').peekRecord('user', this.get('currentUser.user.id')));\n        }\n\n        if (!this.get('token')) {\n            this.set('token', this.get('session.session.content.authenticated.idToken'));\n        }\n\n        if (!this.get('socket')) {\n            this.initWebsockets();\n        }\n    },\n\n    updateVehicleStatus(vehicleId, vehicleStatus) {\n        let vehicle = this.get('store').peekRecord('vehicle', vehicleId);\n        if (vehicle) {\n            vehicle.set('status.country', vehicleStatus.country);\n            vehicle.set('status.location', vehicleStatus.location);\n            vehicle.set('status.speed', vehicleStatus.speed);\n            vehicle.set('status.bearing', vehicleStatus.bearing);\n            vehicle.set('status.fuelLevel', vehicleStatus.fuel_level);\n            vehicle.set('status.engineState', vehicleStatus.engine_state);\n            vehicle.set('status.odometer', vehicleStatus.odometer);\n            vehicle.set('status.geofences', vehicleStatus.geofences);\n            vehicle.set('status.timetables', vehicleStatus.timetables);\n            vehicle.set('status.lastGeofences', vehicleStatus.lastGeofences);\n            vehicle.set('status.lastGeofencesTimestamp', vehicleStatus.last_geofences_timestamp);\n            vehicle.set('status.seal', vehicleStatus.seal);\n            vehicle.set('status.doors', vehicleStatus.doors);\n            vehicle.set('status.relayState', vehicleStatus.relay_state);\n            vehicle.set('status.taxiState', vehicleStatus.taxi_state);\n            vehicle.set('status.freezer', vehicleStatus.freezer);\n            vehicle.set('status.temperature', vehicleStatus.temperature);\n            vehicle.set('status.can.speed', vehicleStatus.can.speed);\n            vehicle.set('status.can.rpm', vehicleStatus.can.rpm);\n            vehicle.set('status.can.acceleration', vehicleStatus.can.acceleration);\n            vehicle.set('status.can.fuel.used', vehicleStatus.can.fuel_used);\n            vehicle.set('status.can.fuel.level', [vehicleStatus.can.fuel_level, vehicleStatus.can.fuel_level_percent]);\n            vehicle.set('status.can.distance', vehicleStatus.can.distance);\n            vehicle.set('status.can.nextGeofence', vehicleStatus.next_geofence);\n            vehicle.set('status.can.nextGeofenceTimestamp', vehicleStatus.next_geofence_timestamp);\n            vehicle.set('status.can.updatedAt', vehicleStatus.updated_at);\n        }\n    },\n\n    onSocketMessage(event) {\n        let payload = JSON.parse(event.data);\n        switch (payload.type) {\n            case 'vehicle-status':\n                this.updateVehicleStatus(payload.id, payload.data);\n            break;\n        }\n    },\n\n    initWebsocket() {\n        let socket = new WebSocket(`${ENV.websockets.host}${ENV.websockets.subVehicles}/?t=${this.get('token')}`);\n\n        this.set('socket', socket);\n\n        socket.onopen       = this.get('onSocketOpen').bind(this);\n        socket.onmessage    = this.get('onSocketMessage').bind(this);\n        socket.onclose      = this.get('onSocketClose').bind(this);\n    }\n});\n","import Service from '@ember/service'\nimport { run } from '@ember/runloop'\nimport { computed } from '@ember/object'\n\nexport default Service.extend({\n\tisInstantiated: false, // instantiated on route reports.afterModel()\n\n\tstartDay: null,\n\tendDay: null,\n\tstartMonthDate: null,\n\tendMonthDate: null,\n\tstartDate: null,\n\tendDate: null,\n\tselectedPeriod: null,\n\tperiods: ['today', 'yesterday', 'currentWeek', 'lastWeek', 'currentMonth', 'lastMonth'],\n\n\tselectedGeofences: [],\n\tusers: [],\n\tvehicles: [],\n\tvehiclesO: [], // vehiclesObjects\n\tusersO: [], // usersObjects\n\n\tselectedType: null,\n\tselectedGroup: null,\n\n\tfiltredVehicles: computed('vehiclesO', 'selectedType', 'selectedGroup', function () {\n\t\tlet vehicles = this.get('vehiclesO')\n\t\tlet selectedType = this.get('selectedType')\n\t\tlet selectedGroup = this.get('selectedGroup')\n\t\tif (!selectedType && !selectedGroup) {\n\t\t\treturn vehicles\n\t\t}\n\t\treturn vehicles.filter(vehicle => {\n\t\t\tlet valid = false\n\n\t\t\tif (selectedType) {\n\t\t\t\tif (vehicle.get('type') === selectedType) {\n\t\t\t\t\tvalid = true\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (selectedGroup) {\n\t\t\t\tif (vehicle.get('groupID').indexOf(selectedGroup) !== -1)\n\t\t\t\t\tvalid = true\n\t\t\t\telse\n\t\t\t\t\tvalid = false\n\t\t\t}\n\n\t\t\treturn valid\n\t\t})\n\t}),\n\n\tfiltredVehiclesIDs: computed.mapBy('filtredVehicles', 'id'),\n\n\tselectAllVehicles () {\n\t\tthis.set('vehicles', this.get('filtredVehiclesIDs'))\n\t\trun.later(this, () => {\n\t\t\tthis.notifyPropertyChange('vehicles')\n\t\t}, 10)\n\t},\n\tupdateFilter (name, value) {\n\t\tthis.set(name, value)\n\t},\n\tsetPeriod (period) {\n\t\tlet start = moment().startOf('day')\n\t\tlet end = moment().endOf('day')\n\n\t\tswitch (period) {\n\t\t\tcase 'currentWeek':\n\t\t\t\tstart = moment().startOf('week')\n\t\t\t\tbreak\n\t\t\tcase 'currentMonth':\n\t\t\t\tstart = moment().startOf('month')\n\t\t\t\tbreak\n\t\t\tcase 'yesterday':\n\t\t\t\tstart = moment().add(-1, 'days').startOf('day')\n\t\t\t\tend = moment().add(-1, 'days').endOf('day')\n\t\t\t\tbreak\n\t\t\tcase 'lastWeek':\n\t\t\t\tstart = moment().startOf('week').add(-7, 'days').startOf('day')\n\t\t\t\tend = moment().startOf('week').add(-1, 'days').endOf('day')\n\t\t\t\tbreak\n\t\t\tcase 'lastMonth':\n\t\t\t\tstart = moment().add(-1, 'months').startOf('month')\n\t\t\t\tend = moment().add(-1, 'months').endOf('month')\n\t\t\t\tbreak\n\t\t}\n\n\t\tthis.set('startDate', start.valueOf())\n\t\tthis.set('endDate', end.valueOf())\n\t\tthis.set('selectedPeriod', period)\n\t},\n})\n","import Ember from 'ember';\nimport Service from '@ember/service'\n\nexport default Service.extend({\n    largeDesktopBreakpoint: 1450,\n    desktopBreakpoint: 1200,\n    computerBreakpoint: 991,\n    tabletBreakpoint: 768,\n\n    isMobile: true,\n    isTablet: false,\n    isComputer: false,\n    isDesktop: false,\n    isLargeDesktop: false,\n\n    isPortrait: false,\n    isMobileChange: false,\n    resolutionChanged: false,\n\n    init: function () {\n        var self = this;\n        self.environmentCheck(); //Call to set environment variables at application start\n        Ember.$(window).resize(function () {\n            Ember.run.debounce(self, self.environmentCheck, 200);\n        });\n    },\n    /**\n     * Detects if the change si from mobile resolution to nonmobile and vice versa.\n     * @param {string} prev previous resolution\n     * @param {string} active active resolution\n     */\n    determineChangeSize(prev, active) {\n        if (!prev || !active) { return false; }\n        let mobiles = ['isMobile'];\n        if (mobiles.indexOf(prev) > -1 && mobiles.indexOf(active) > -1 || (mobiles.indexOf(prev) === -1 && mobiles.indexOf(active) === -1)) {\n            this.set('isMobileChange', false);\n        } else {\n            this.set('isMobileChange', true);\n        }\n    },\n\n    isMobileResolutions() {\n        return (this.get('isMobile') || this.get('isTablet'));\n    },\n\n    environmentCheck: function () {\n        var self = this;\n\n        var largeDesktopSize = self.get('largeDesktopBreakpoint');\n        var desktopSize = self.get('desktopBreakpoint');\n        var computerSize = self.get('computerBreakpoint');\n        var tabletSize = self.get('tabletBreakpoint');\n\n        if (window.matchMedia(\"(min-width: \" + largeDesktopSize + \"px)\").matches) {\n            self.set('isLargeDesktop', true);\n            self.set('isDesktop', false);\n            self.set('isComputer', false);\n            self.set('isTablet', false);\n            self.set('isMobile', false);\n            self.determineChangeSize(this.get('nowActive'), 'isLargeDesktop');\n            self.set('nowActive', 'isLargeDesktop');\n        }\n        else if (window.matchMedia(\"(min-width: \" + desktopSize + \"px) and (max-width: \" + largeDesktopSize + \"px)\").matches) {\n            self.set('isLargeDesktop', false);\n            self.set('isDesktop', true);\n            self.set('isComputer', false);\n            self.set('isTablet', false);\n            self.set('isMobile', false);\n            self.determineChangeSize(this.get('nowActive'), 'isDesktop');\n            self.set('nowActive', 'isDesktop');\n        }\n        else if (window.matchMedia(\"(min-width: \" + computerSize + \"px) and (max-width: \" + desktopSize + \"px)\").matches) {\n            self.set('isLargeDesktop', false);\n            self.set('isDesktop', false);\n            self.set('isComputer', true);\n            self.set('isTablet', false);\n            self.set('isMobile', false);\n            self.determineChangeSize(this.get('nowActive'), 'isComputer');\n            self.set('nowActive', 'isComputer');\n        }\n        else if (window.matchMedia(\"(min-width: \" + tabletSize + \"px) and (max-width: \" + computerSize + \"px)\").matches) {\n            self.set('isLargeDesktop', false);\n            self.set('isDesktop', false);\n            self.set('isComputer', false);\n            self.set('isTablet', true);\n            self.set('isMobile', false);\n            self.determineChangeSize(this.get('nowActive'), 'isTablet');\n            self.set('nowActive', 'isTablet');\n        }\n        else {\n            self.set('isLargeDesktop', false);\n            self.set('isDesktop', false);\n            self.set('isComputer', false);\n            self.set('isTablet', false);\n            self.set('isMobile', true);\n            self.determineChangeSize(this.get('nowActive'), 'isMobile');\n            self.set('nowActive', 'isMobile');\n        }\n\n        self.set('isPortrait', window.matchMedia(\"(orientation: portrait)\").matches);\n\n        self.toggleProperty('resolutionChanged');\n    },\n\n    onResize: function (callback) {\n        if (callback) {\n            Ember.$(window).on(\"resize\", function (event) {\n                callback(event);\n            });\n        }\n    },\n\n    releaseResizeHandlers: function () {\n        Ember.$(window).off(\"resize\");\n    }\n});\n","import { get } from '@ember/object'\nimport config from 'ember-get-config'\nimport AjaxService from 'ember-ajax/services/ajax';\n\nexport default AjaxService.extend({\n    host: config.geocode.host,\n\n    reverseGeocode(lat, lng) {\n        return this.request('/reverse', {\n            data: {\n                lat: lat,\n                lon: lng,\n                format: 'jsonv2'\n            }\n        })\n        .then(res => {\n            let out = []\n            if (get(res, 'address.house_number') != null) { out.push(res.address.house_number) }\n            if (get(res, 'address.road') != null) { out.push(res.address.road) }\n            if (get(res, 'address.city') != null) { out.push(res.address.city) }\n            if (get(res, 'address.village') != null) { out.push(res.address.village) }\n            if (get(res, 'address.town') != null) { out.push(res.address.town) }\n\t\t\tconst countryCode = get(res, 'address.country_code')\n            if (countryCode && countryCode !== 'ro') { out.push(res.address.country) }\n            return out.join(', ')\n        })\n    }\n});\n","import SessionService from 'ember-simple-auth/services/session';\n\nexport default SessionService;\n","import Service from '@ember/service'\n\nexport default Service.extend({\n\t// TODO: translate this\n\tschema: {\n\t\tfields: {\n\t\t\tcar_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tcar_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tcar_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\t\t\tminibus_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tminibus_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tminibus_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\n\t\t\tbus_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tbus_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tbus_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\n\t\t\ttruck_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\ttruck_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\ttruck_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\n\t\t\ttractor_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\ttractor_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\ttractor_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\t\t\tharvester_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tharvester_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tharvester_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\t\t\tconstruction_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tconstruction_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tconstruction_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\n\t\t\ttrailer_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\ttrailer_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\ttrailer_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\n\n\t\t\t'semi-trailer_min': {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t'semi-trailer_offset': {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t'semi-trailer_max': {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\t\t\tutility_min: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tutility_offset: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"You must enter a value between -50 and 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tutility_max: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Values greater then 20 are accepted only.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Values less then 200 are accepted only'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\n\n\t\t}\n\t}\n});\n","import Service from '@ember/service'\n\nexport default Service.extend({\n    schema: {\n        // inline: true,\n        on: 'blur',        \n        fields: {\n            groupID: {\n                identifier: \"groupID\",\n                rules: [{\n                    type: \"empty\",\n                    prompt: \"Not valid groupID.\"\n                }]\n            },\n            roleID: {\n                identifier: \"roleID\",\n                rules: [{\n                    type: \"empty\",\n                    prompt: \"Not valid roleID.\"\n                }]\n            },\n            email: {\n                identifier: \"email\",\n                rules: [\n                    {\n                        type: \"empty\",\n                        prompt: \"Not valid email.\"\n                    },\n                    {\n                        type   : 'email',\n                        prompt : 'Please enter a valid e-mail'\n                    }\n                ]\n            },\n            firstName: {\n                identifier: \"firstName\",\n                rules: [{\n                    type: \"empty\",\n                    prompt: \"Not valid firstName.\"\n                }]\n            },\n            lastName: {\n                identifier: \"lastName\",\n                rules: [{\n                    type: \"empty\",\n                    prompt: \"Not valid lastName.\"\n                }]\n            },\n            iButton: {\n                identifier: \"iButton\",\n                rules: [{\n                    type: \"regExp\",\n                    value: /^$|[^0]+/i,\n                    prompt: \"Not valid iButton.\"\n                }]\n            }\n            // companyID: {\n            //     identifier: \"companyID\",\n            //     rules: [\n            //         {\n            //             type: \"empty\",\n            //             prompt: \"Not valid companyID.\"\n            //         }\n            //     ]\n            // },\n            // phoneNumber: {\n            //     identifier: \"phoneNumber\",\n            //     rules: [\n            //         {\n            //             type: \"empty\",\n            //             prompt: \"Not valid phoneNumber.\"\n            //         }\n            //     ]\n            // },\n\n\n            // type: {\n            //     identifier: \"type\",\n            //     rules: [\n            //         {\n            //             type: \"empty\",\n            //             prompt: \"Not valid type.\"\n            //         }\n            //     ]\n            // },\n            // avatar: {\n            //     identifier: \"avatar\",\n            //     rules: [\n            //         {\n            //             type: \"empty\",\n            //             prompt: \"Not valid avatar.\"\n            //         }\n            //     ]\n            // }\n        }\n    }\n});\n","import Service from '@ember/service'\n\nexport default Service.extend({\n\tschema: {\n\t\ton: 'blur',\n\t\tinline: true,\n\t\tfields: {\n\t\t\tgroupID: {\n\t\t\t\tidentifier: \"groupID\",\n\t\t\t\trules: [{\n\t\t\t\t\ttype: \"empty\",\n\t\t\t\t\tprompt: \"Divizia este un camp obligatoriu.\"\n\t\t\t\t}]\n\t\t\t},\n\t\t\tmake: {\n\t\t\t\tidentifier: \"make\",\n\t\t\t\trules: [{\n\t\t\t\t\ttype: \"empty\",\n\t\t\t\t\tprompt: \"Marca vehiculului este un camp obligatoriu.\"\n\t\t\t\t}]\n\t\t\t},\n\t\t\tlicensePlate: {\n\t\t\t\tidentifier: \"licensePlate\",\n\t\t\t\trules: [{\n\t\t\t\t\ttype: \"empty\",\n\t\t\t\t\tprompt: \"Numarul de inmatriculare este un camp obligatoriu.\"\n\t\t\t\t}]\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\tidentifier: \"type\",\n\t\t\t\trules: [{\n\t\t\t\t\ttype: \"empty\",\n\t\t\t\t\tprompt: \"Tipul vehiculului este un camp obligatoriu.\"\n\t\t\t\t}]\n\t\t\t},\n\t\t\tfuel_consumption_distanceWise: {\n\t\t\t\tidentifier: \"fuel_consumption_distanceWise\",\n\t\t\t\trules: [{\n\t\t\t\t\ttype: \"regExp\",\n\t\t\t\t\tvalue: /^(?:\\d+\\.\\d+|\\d+|)$/g, // No commas allowed | Can't start with \".\" | Can be empty\n\t\t\t\t\tprompt: \"Folositi \\\".\\\" pentru a separa zecimalele.\"\n\t\t\t\t}]\n\t\t\t},\n\t\t\tfuel_consumption_timeWise: {\n\t\t\t\tidentifier: \"fuel_consumption_timeWise\",\n\t\t\t\trules: [{\n\t\t\t\t\ttype: \"regExp\",\n\t\t\t\t\tvalue: /^(?:\\d+\\.\\d+|\\d+|)$/g, // No commas allowed | // Can't start with \".\"\n\t\t\t\t\tprompt: \"Folositi \\\".\\\" pentru a separa zecimalele.\"\n\t\t\t\t}]\n\t\t\t},\n\t\t\tfuelDropLimit: {\n\t\t\t\tidentifier: 'fuelDropLimit',\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[1]',\n\t\t\t\t\t\tprompt: \"Acceptate doar numere mai mari ca 0\"\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t},\n\t\t\tfuelLevelExcessiveLimit: {\n\t\t\t\tidentifier: 'fuelLevelExcessiveLimit',\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[1]',\n\t\t\t\t\t\tprompt: \"Acceptate doar numere mai mari ca 0\"\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t},\n\n\t\t\tminSpeed: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Valoarea minima pentru \"Viteza minima\" este 0.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Acceptate doar valori inferioare la 300.'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\toffset: {\n\t\t\t\tidentifier: 'offset',\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[-50]',\n\t\t\t\t\t\tprompt: \"Incalcarea admisa minima este -50.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[50]',\n\t\t\t\t\t\tprompt: \"Incalcarea admisa maxima este 50.\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tmaxSpeed: {\n\t\t\t\trules: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'gte[0]',\n\t\t\t\t\t\tprompt: 'Valoarea minima pentru \"Viteza maxima\" este 0.'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'lte[300]',\n\t\t\t\t\t\tprompt: 'Acceptate doar valori inferioare la 300.'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t}\n})\n","import Adaptive from 'ember-simple-auth/session-stores/adaptive';\n\nexport default Adaptive.extend();\n","export default Ember.HTMLBars.template({\"id\":\"Ko8fGzbQ\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui active dimmer\\\"],[9,\\\"id\\\",\\\"account-disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui centered grid\\\"],[9,\\\"style\\\",\\\"height:100%\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui middle aligned row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"style\\\",\\\"align-self:center\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[10,\\\"src\\\",[26,[[20,[\\\"env\\\",\\\"rootURL\\\"]],\\\"assets/images/header-logo.png\\\"]]],[9,\\\"alt\\\",\\\"Tracknamic\\\"],[9,\\\"class\\\",\\\"loading logo\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui big active centered inline text account-disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h1\\\"],[7],[1,[25,\\\"t\\\",[\\\"errors.accountDisabled\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"back-to-login\\\"],[7],[4,\\\"link-to\\\",[\\\"login\\\"],null,{\\\"statements\\\":[[0,\\\" Login \\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/account-disabled.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"OhRjjuv/\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"modal-container\\\",null,[[\\\"class\\\"],[\\\"ember-modals-container\\\"]]],false],[0,\\\"\\\\n\\\"],[1,[18,\\\"react/components/header-chat\\\"],false],[0,\\\"\\\\n\\\"],[1,[18,\\\"react/components/toaster-container\\\"],false],[0,\\\"\\\\n\\\"],[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/application.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"yeR18f0E\",\"block\":\"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[6,\\\"li\\\"],[9,\\\"class\\\",\\\"ember-power-select-group\\\"],[10,\\\"aria-disabled\\\",[25,\\\"ember-power-select-true-string-if-present\\\",[[20,[\\\"disabled\\\"]]],null],null],[9,\\\"role\\\",\\\"option\\\"],[7],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ember-power-select-group-name\\\"],[7],[1,[18,\\\"groupName\\\"],false],[8],[0,\\\"\\\\n  \\\"],[11,1],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/components/power-select/power-select-group.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"5OLXafUA\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page hasSubMenuCol\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filters\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"dispatch.dispatch\\\"],null],true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"menus/default-menu\\\",null,[[\\\"openedSubMenu\\\"],[\\\"dispatch\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent withoutFilters dispatchPage\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"P3uNdN4y\",\"block\":\"{\\\"symbols\\\":[\\\"rows\\\",\\\"client\\\",\\\"header\\\",\\\"col\\\",\\\"i\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"four fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"type\\\",\\\"class\\\",\\\"placeholder\\\"],[[20,[\\\"search\\\"]],\\\"text\\\",\\\"prompt\\\",[25,\\\"t\\\",[\\\"search\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"action\\\"],[\\\"dc-button icon top right pointing item dc-inverted-dd\\\",\\\"nothing\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"green eye icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"columns\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item\\\",[25,\\\"if\\\",[[19,4,[\\\"selected\\\"]],\\\"\\\",\\\" not-selected\\\"],null]]]],[10,\\\"data-value\\\",[19,4,[\\\"key\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"toggleColumn\\\",[19,4,[]],[19,5,[]]]],[7],[1,[25,\\\"t\\\",[[19,4,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4,5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui fluid add button\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"add\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"dispatch.clients.actions.add\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[9,\\\"style\\\",\\\"font-size: 0.7em;\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[20,[\\\"sortedClients\\\"]],[20,[\\\"header\\\"]],[20,[\\\"currentUser\\\",\\\"clientsColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"header\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,3,[\\\"key\\\"]],\\\"name\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isEditing\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[19,2,[\\\"name\\\"]],[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null]]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,3,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[1,[19,2,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,3,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[1,[25,\\\"get\\\",[[19,2,[]],[19,3,[\\\"key\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned operations\\\"],[9,\\\"width\\\",\\\"85\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isEditing\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"rollback\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"close icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"isEditing\\\"]]],null],true]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"delete\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/clients.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"GAtyG1OC\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"RhI/6LKP\",\"block\":\"{\\\"symbols\\\":[\\\"g\\\",\\\"saved\\\",\\\"alternative\\\",\\\"marker\\\",\\\"vehicle\\\",\\\"route\\\",\\\"leg\\\",\\\"type\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"map-control routing\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"scroll\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"top\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"controls\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui icon button\\\"],[10,\\\"disabled\\\",[18,\\\"canStash\\\"],null],[3,\\\"action\\\",[[19,0,[]],\\\"copyToClipboard\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon clipboard outline\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui icon button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"reset\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon undo\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui icon button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleFullscreen\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"icon \\\",[25,\\\"if\\\",[[20,[\\\"fullscreen\\\",\\\"isEnabled\\\"]],\\\"compress\\\",\\\"expand\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"transport\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.transport.type\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"types\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"transportTypes\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui icon button\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dispatch.map.route.transport.types.\\\",[19,8,[\\\"id\\\"]]],null]],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"toggleTransportType\\\",[19,8,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"icon transport \\\",[19,8,[\\\"id\\\"]],\\\" \\\",[25,\\\"if\\\",[[19,8,[\\\"selected\\\"]],\\\"active\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"places\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/location-picker\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"onChange\\\",\\\"vehicles\\\",\\\"geofences\\\"],[[25,\\\"t\\\",[\\\"dispatch.enterQuery\\\"],null],\\\"dark location\\\",\\\"dark\\\",[25,\\\"action\\\",[[19,0,[]],\\\"onLocationChanged\\\"],null],[20,[\\\"model\\\",\\\"vehicles\\\"]],[20,[\\\"model\\\",\\\"geofences\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"sign\\\"],[7],[0,\\\"+\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"route\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"name\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"oninput\\\",\\\"placeholder\\\"],[[20,[\\\"routes\\\",\\\"firstObject\\\",\\\"name\\\"]],[25,\\\"mut\\\",[[20,[\\\"routes\\\",\\\"firstObject\\\",\\\"name\\\"]]],null],[25,\\\"t\\\",[\\\"dispatch.map.route.name\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicle\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h5\\\"],[7],[1,[25,\\\"unless\\\",[[20,[\\\"secondaryRoute\\\",\\\"vehicle\\\"]],\\\"-\\\",[20,[\\\"secondaryRoute\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"legs\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.duration.drive\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.duration.rest\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"spacer\\\"],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"legs\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"align\\\",\\\"right\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"rowClass\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"left\\\"],[9,\\\"width\\\",\\\"30px\\\"],[7],[6,\\\"span\\\"],[10,\\\"class\\\",[26,[\\\"marker \\\",[19,7,[\\\"markerClass\\\"]]]]],[7],[1,[19,7,[\\\"label\\\"]],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"unless\\\",[[19,7,[\\\"distance\\\"]],\\\"-\\\",[25,\\\"concat\\\",[[19,7,[\\\"distance\\\"]],\\\" km\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"unless\\\",[[19,7,[\\\"duration\\\"]],\\\"-\\\",[25,\\\"format-duration\\\",[[19,7,[\\\"duration\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"-\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"spacer\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"align\\\",\\\"right\\\"],[9,\\\"class\\\",\\\"total dark-text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"unless\\\",[[20,[\\\"totalDistance\\\"]],\\\"-\\\",[25,\\\"concat\\\",[[20,[\\\"totalDistance\\\"]],\\\" km\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"unless\\\",[[20,[\\\"totalDuration\\\"]],\\\"-\\\",[25,\\\"format-duration\\\",[[20,[\\\"totalDuration\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"-\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"summary\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"left\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.summary.lossPaidRatio\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"unless\\\",[[20,[\\\"lossPaidRatio\\\"]],\\\"-\\\",[25,\\\"concat\\\",[[20,[\\\"lossPaidRatio\\\"]],\\\" %\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"left\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.summary.profitability\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"unless\\\",[[20,[\\\"profitability\\\"]],\\\"-\\\",[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dispatch.map.summary.profitabilities.\\\",[20,[\\\"profitability\\\"]]],null]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"left\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.summary.cost\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"dispatch.map.summary.costDetailed\\\"],[[\\\"driverCost\\\",\\\"vehicleCost\\\"],[[20,[\\\"driverCost\\\"]],[20,[\\\"vehicleCost\\\"]]]]],null],[7],[1,[25,\\\"unless\\\",[[20,[\\\"totalCost\\\"]],\\\"-\\\",[25,\\\"concat\\\",[[20,[\\\"totalCost\\\"]],\\\" €\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"stats\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui three mini statistics\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic budget\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.budget\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"placeholder\\\",\\\"min\\\"],[\\\"number\\\",\\\"-\\\",\\\"1\\\"]]],false],[0,\\\"€\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.statName\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t-\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.profitability\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t-\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui three mini statistics\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tETA\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t-\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dispatch.otherStat\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t-\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"routes\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"routes\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"spacer\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"40px\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"name\\\",\\\"value\\\",\\\"disabled\\\"],[\\\"radio\\\",\\\"type\\\",[19,6,[\\\"type\\\"]],\\\"disabled\\\"]]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"left\\\"],[9,\\\"width\\\",\\\"35px\\\"],[7],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"route \\\",[19,6,[\\\"type\\\"]],\\\" icon\\\"]]],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"type\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dispatch.map.route.types.\\\",[19,6,[\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.duration.total\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.cost\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"padded bordered\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"unless\\\",[[19,6,[\\\"distance\\\"]],\\\"-\\\",[25,\\\"concat\\\",[[19,6,[\\\"distance\\\"]],\\\" km\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"unless\\\",[[19,6,[\\\"duration\\\"]],\\\"-\\\",[25,\\\"format-duration\\\",[[19,6,[\\\"duration\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"dispatch.map.optimized.costDetailed\\\"],[[\\\"driverCost\\\",\\\"vehicleCost\\\",\\\"tollCost\\\"],[[19,6,[\\\"cost\\\",\\\"driver\\\"]],[19,6,[\\\"cost\\\",\\\"vehicle\\\"]],[19,6,[\\\"cost\\\",\\\"toll\\\"]]]]],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"unless\\\",[[19,6,[\\\"cost\\\",\\\"total\\\"]],\\\"-\\\",[25,\\\"concat\\\",[[19,6,[\\\"cost\\\",\\\"total\\\"]],\\\" €\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[10,\\\"disabled\\\",[20,[\\\"routeOptimized\\\",\\\"isRunning\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"optimize\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"routeOptimized\\\",\\\"isRunning\\\"]],[25,\\\"t\\\",[\\\"dispatch.map.optimized.loading\\\"],null],[25,\\\"t\\\",[\\\"dispatch.map.optimized.action\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"bottom\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"secondary\\\"],[10,\\\"disabled\\\",[18,\\\"canStash\\\"],null],[3,\\\"action\\\",[[19,0,[]],\\\"stash\\\"]],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.actions.stash\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"primary\\\"],[10,\\\"disabled\\\",[18,\\\"canSave\\\"],null],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[1,[25,\\\"t\\\",[\\\"dispatch.map.route.actions.save\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"map-pane\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"g-map\\\",null,[[\\\"zoom\\\",\\\"clickableIcons\\\",\\\"draggableCursor\\\",\\\"fullscreenControl\\\",\\\"fullscreenControlOptions\\\",\\\"mapTypeControlOptions\\\",\\\"onLoad\\\",\\\"onClick\\\"],[7,false,\\\"pointer\\\",false,[25,\\\"hash\\\",null,[[\\\"position\\\"],[3]]],[25,\\\"hash\\\",null,[[\\\"position\\\"],[3]]],[25,\\\"action\\\",[[19,0,[]],\\\"onLoad\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onClick\\\"],null]]],{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"routes\\\",\\\"0\\\",\\\"markers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"control\\\"]]],[[\\\"position\\\"],[\\\"TOP_LEFT\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"map-control\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"role\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"g-map-button dark animated\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleShowVehicles\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"showVehicles\\\"]],[25,\\\"t\\\",[\\\"hideVehicles\\\"],null],[25,\\\"t\\\",[\\\"showVehicles\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"showVehicles\\\"]],[25,\\\"eq\\\",[[19,5,[\\\"id\\\"]],[20,[\\\"secondaryRoute\\\",\\\"vehicle\\\",\\\"id\\\"]]],null]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,5,[\\\"status\\\",\\\"locationLatLng\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"optimized\\\",\\\"zIndex\\\",\\\"onClick\\\",\\\"onMouseup\\\"],[[19,5,[\\\"status\\\",\\\"locationLatLng\\\",\\\"lat\\\"]],[19,5,[\\\"status\\\",\\\"locationLatLng\\\",\\\"lng\\\"]],false,10,[25,\\\"action\\\",[[19,0,[]],\\\"onVehicleMarkerClick\\\",[19,5,[]]],[[\\\"bubbles\\\"],[false]]],[25,\\\"action\\\",[[19,0,[]],\\\"onMarkerRightClick\\\",\\\"vehicle\\\",[19,5,[]]],[[\\\"bubbles\\\"],[false]]]]],{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,5,[\\\"statusIndicator\\\"]],\\\"engineOn\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-medium\\\"],[10,\\\"src\\\",[26,[[18,\\\"rootURL\\\"],\\\"assets/images/green_pin.png\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,5,[\\\"statusIndicator\\\"]],\\\"engineOff\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-medium\\\"],[10,\\\"src\\\",[26,[[18,\\\"rootURL\\\"],\\\"assets/images/red_pin.png\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-medium\\\"],[10,\\\"src\\\",[26,[[18,\\\"rootURL\\\"],\\\"assets/images/yellow_pin.png\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text-medium\\\"],[10,\\\"title\\\",[19,5,[\\\"iconText\\\"]],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"uppercase\\\",[[25,\\\"truncate\\\",[[19,5,[\\\"iconText\\\"]],11,false],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"polyline\\\"]]],[[\\\"path\\\",\\\"geodesic\\\",\\\"strokeColor\\\",\\\"strokeWeight\\\"],[[20,[\\\"secondaryRoute\\\",\\\"path\\\"]],true,\\\"#7a4500\\\",7]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"editablePolyline\\\"]]],[[\\\"path\\\",\\\"geodesic\\\",\\\"strokeColor\\\",\\\"strokeWeight\\\",\\\"dragMarkerIconType\\\",\\\"onPolylineDragStart\\\",\\\"onPolylineDragMove\\\",\\\"onPolylineDragEnd\\\"],[[20,[\\\"secondaryRoute\\\",\\\"path\\\"]],true,\\\"#ff9100\\\",5,\\\"gray\\\",[25,\\\"action\\\",[[19,0,[]],\\\"onRouteDragStart\\\",\\\"secondary\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onRouteDragMove\\\",\\\"secondary\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onRouteDragEnd\\\",\\\"secondary\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[25,\\\"get\\\",[[20,[\\\"secondaryRoute\\\"]],\\\"path.length\\\"],null],1],null]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"innerContainerStyle\\\"],[[25,\\\"get\\\",[[20,[\\\"secondaryRoute\\\"]],\\\"path.lastObject.lat\\\"],null],[25,\\\"get\\\",[[20,[\\\"secondaryRoute\\\"]],\\\"path.lastObject.lng\\\"],null],[25,\\\"html-safe\\\",[\\\"transform: translateX(-50%) translateY(-70px);\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tooltip route secondary\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"secondaryRoute\\\",\\\"distance\\\"]],false],[0,\\\" km\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"polyline\\\"]]],[[\\\"path\\\",\\\"geodesic\\\",\\\"strokeColor\\\",\\\"strokeWeight\\\"],[[20,[\\\"routes\\\",\\\"0\\\",\\\"path\\\"]],true,\\\"#1b68d3\\\",7]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"editablePolyline\\\"]]],[[\\\"path\\\",\\\"geodesic\\\",\\\"strokeColor\\\",\\\"strokeWeight\\\",\\\"dragMarkerIconType\\\",\\\"onPolylineDragStart\\\",\\\"onPolylineDragMove\\\",\\\"onPolylineDragEnd\\\"],[[20,[\\\"routes\\\",\\\"0\\\",\\\"path\\\"]],true,\\\"#669df6\\\",5,\\\"red\\\",[25,\\\"action\\\",[[19,0,[]],\\\"onRouteDragStart\\\",\\\"primary\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onRouteDragMove\\\",\\\"primary\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onRouteDragEnd\\\",\\\"primary\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[25,\\\"get\\\",[[20,[\\\"routes\\\",\\\"firstObject\\\"]],\\\"path.length\\\"],null],1],null]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"innerContainerStyle\\\"],[[25,\\\"get\\\",[[20,[\\\"routes\\\",\\\"firstObject\\\"]],\\\"path.lastObject.lat\\\"],null],[25,\\\"get\\\",[[20,[\\\"routes\\\",\\\"firstObject\\\"]],\\\"path.lastObject.lng\\\"],null],[25,\\\"html-safe\\\",[\\\"transform: translateX(-50%) translateY(-70px);\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tooltip route primary\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"routes\\\",\\\"firstObject\\\",\\\"distance\\\"]],false],[0,\\\" km\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[20,[\\\"routes\\\",\\\"firstObject\\\",\\\"markers\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"marker\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"draggable\\\",\\\"label\\\",\\\"icon\\\",\\\"onClick\\\",\\\"onMouseup\\\",\\\"zIndex\\\"],[[19,4,[\\\"lat\\\"]],[19,4,[\\\"lng\\\"]],[19,4,[\\\"draggable\\\"]],[19,4,[\\\"label\\\"]],[19,4,[\\\"icon\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onPrimaryRouteMarkerClick\\\",[19,4,[]]],null],[25,\\\"action\\\",[[19,0,[]],\\\"onMarkerRightClick\\\",\\\"marker\\\",[19,4,[]]],[[\\\"bubbles\\\"],[false]]],6]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[4,\\\"each\\\",[[20,[\\\"routes\\\",\\\"firstObject\\\",\\\"alternatives\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"polyline\\\"]]],[[\\\"path\\\",\\\"geodesic\\\",\\\"strokeColor\\\",\\\"strokeOpacity\\\",\\\"strokeWeight\\\"],[[19,3,[\\\"path\\\"]],true,[19,3,[\\\"color\\\"]],0.5,5]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"control\\\"]]],[[\\\"position\\\",\\\"class\\\"],[\\\"RIGHT\\\",\\\"stash\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"stash\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"saved route\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"restore\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"line\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h4\\\"],[7],[1,[19,2,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"left\\\"],[7],[1,[25,\\\"unless\\\",[[19,2,[\\\"distance\\\"]],\\\"-\\\",[25,\\\"concat\\\",[[19,2,[\\\"distance\\\"]],\\\" km\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"align\\\",\\\"right\\\"],[7],[1,[25,\\\"unless\\\",[[19,2,[\\\"cost\\\"]],\\\"-\\\",[25,\\\"concat\\\",[[19,2,[\\\"cost\\\"]],\\\" €\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/map.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"PxLZYagx\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/dispatch/map-index\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/map2.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"HBpBO/WH\",\"block\":\"{\\\"symbols\\\":[\\\"rows\\\",\\\"transportOrder\\\",\\\"freightOrder\\\",\\\"entry\\\",\\\"status\\\",\\\"entry\\\",\\\"header\\\",\\\"attachment\\\",\\\"status\\\",\\\"client\\\",\\\"col\\\",\\\"i\\\",\\\"status\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"four fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"transportOrderStatus\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"transportOrderStatus\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"dashboard.liveStatus.status\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"orderStatuses\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,13,[\\\"id\\\"]]]]],[7],[1,[19,13,[\\\"displayName\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[13]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"type\\\",\\\"class\\\",\\\"placeholder\\\"],[[20,[\\\"transportOrderSearch\\\"]],\\\"text\\\",\\\"prompt\\\",[25,\\\"t\\\",[\\\"search\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"action\\\"],[\\\"dc-button icon top right pointing item dc-inverted-dd\\\",\\\"nothing\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"green eye icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"transportOrderHeader\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item\\\",[25,\\\"if\\\",[[19,11,[\\\"selected\\\"]],\\\"\\\",\\\" not-selected\\\"],null]]]],[10,\\\"data-value\\\",[19,11,[\\\"key\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"toggleColumn\\\",[19,11,[]],[19,12,[]]]],[7],[1,[25,\\\"t\\\",[[19,11,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[11,12]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"maxDate\\\",\\\"onSelect\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"startDate\\\"]],[20,[\\\"maxDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"getData\\\"],null],\\\"datepickers\\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"minDate\\\",\\\"class\\\",\\\"onSelect\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"endDate\\\"]],[20,[\\\"minDate\\\"]],\\\"datepickers\\\",[25,\\\"action\\\",[[19,0,[]],\\\"getData\\\"],null],\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[9,\\\"style\\\",\\\"font-size: 0.7em;\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[20,[\\\"sortedTransportOrders\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"currentUser\\\",\\\"ordersColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"expandable\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"name\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isEditing\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[19,2,[\\\"name\\\"]],[25,\\\"t\\\",[[19,7,[\\\"translationKey\\\"]]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[9,\\\"class\\\",\\\"hover\\\"],[3,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"isExpanded\\\"]]],null],[25,\\\"not\\\",[[19,2,[\\\"isExpanded\\\"]]],null]]],[7],[1,[19,2,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"externalID\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isEditing\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[19,2,[\\\"externalID\\\"]],[25,\\\"t\\\",[[19,7,[\\\"translationKey\\\"]]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[9,\\\"class\\\",\\\"hover\\\"],[3,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"isExpanded\\\"]]],null],[25,\\\"not\\\",[[19,2,[\\\"isExpanded\\\"]]],null]]],[7],[1,[19,2,[\\\"externalID\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"client\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isEditing\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"selectCustomer\\\"],null],\\\"dark\\\",\\\"padded dark wide\\\",[20,[\\\"model\\\",\\\"clients\\\"]],[19,2,[\\\"client\\\"]],\\\"name\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"client\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,10,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[10]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[9,\\\"class\\\",\\\"hover\\\"],[3,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"isExpanded\\\"]]],null],[25,\\\"not\\\",[[19,2,[\\\"isExpanded\\\"]]],null]]],[7],[1,[19,2,[\\\"client\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"vehicleGroup\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isEditing\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/vehicle-group-picker\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"vehicleGroups\\\",\\\"vehicles\\\",\\\"value\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"selectGroup\\\"],null],\\\"dark\\\",\\\"padded sticky dark wide\\\",[20,[\\\"model\\\",\\\"vehicleGroups\\\"]],[20,[\\\"model\\\",\\\"vehicles\\\"]],[19,2,[\\\"vehicleGroup\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"vehicleGroup\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[9,\\\"class\\\",\\\"hover\\\"],[3,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"isExpanded\\\"]]],null],[25,\\\"not\\\",[[19,2,[\\\"isExpanded\\\"]]],null]]],[7],[1,[19,2,[\\\"vehicleGroup\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"status\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"200\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isSingle\\\"]]],null,{\\\"statements\\\":[[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"selectStatus\\\"],null],\\\"dark\\\",\\\"padded dark wide\\\",[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"possibleStatuses\\\"]],[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"status\\\",\\\"status\\\"]],\\\"name\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updateStatus\\\",[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,9,[\\\"displayName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"ui mini grey label\\\"],[7],[1,[19,2,[\\\"freightOrders\\\",\\\"length\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"startLocation\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isSingle\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"waypoints\\\",\\\"firstObject\\\",\\\"displayAddress\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t-\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"endLocation\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isSingle\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"waypoints\\\",\\\"lastObject\\\",\\\"displayAddress\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t-\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"statusDate\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isSingle\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"moment-format\\\",[[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"status\\\",\\\"timestamp\\\"]],\\\"DD.MM.YYYY HH:mm\\\"],[[\\\"allow-empty\\\"],[true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t-\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"date\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,2,[\\\"createdAt\\\"]],\\\"DD.MM.YYYY HH:mm\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"attachments\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"width\\\",\\\"150\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"attachments\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui compact one item inverted menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui simple fluid dropdown item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"attachments\\\",\\\"length\\\"]],false],[0,\\\" fișiere\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"attachments\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"downloadAttachment\\\",[19,8,[]],[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,8,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"updatedAt\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,2,[\\\"updatedAt\\\"]],\\\"DD.MM.YYYY HH:mm\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned operations\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isEditing\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"rollback\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"close icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"uploadAttachment\\\",[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"upload icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"isEditing\\\"]]],null],true]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"delete\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isExpanded\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isSingle\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"expanded\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"compact\\\"],[10,\\\"colspan\\\",[26,[[25,\\\"add\\\",[[20,[\\\"tHeaders\\\",\\\"length\\\"]],1],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,2,[\\\"freightOrders\\\",\\\"firstObject\\\",\\\"statusHistory\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,6,[\\\"timestamp\\\"]],\\\"DD.MM.YYYY HH:mm\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,6,[\\\"status\\\",\\\"displayName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"compact\\\"],[10,\\\"colspan\\\",[26,[[25,\\\"add\\\",[[20,[\\\"tHeaders\\\",\\\"length\\\"]],1],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"ui table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"dashboard.liveStatus.status\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.loadAddress\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.unloadAddress\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"date\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,2,[\\\"freightOrders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"selectStatus\\\"],null],\\\"dark\\\",\\\"dark\\\",[19,3,[\\\"possibleStatuses\\\"]],[19,3,[\\\"status\\\",\\\"status\\\"]],\\\"name\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updateStatus\\\",[19,3,[]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,5,[\\\"displayName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"waypoints\\\",\\\"firstObject\\\",\\\"displayAddress\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"waypoints\\\",\\\"lastObject\\\",\\\"displayAddress\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,3,[\\\"date\\\"]],\\\"DD.MM.YYYY HH:mm\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"expanded\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"compact\\\"],[9,\\\"colspan\\\",\\\"4\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,3,[\\\"statusHistory\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,4,[\\\"timestamp\\\"]],\\\"DD.MM.YYYY HH:mm\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,4,[\\\"status\\\",\\\"displayName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/orders.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"C4wxXWiH\",\"block\":\"{\\\"symbols\\\":[\\\"g\\\",\\\"marker\\\",\\\"marker\\\",\\\"w\\\",\\\"waypoint\\\",\\\"group\\\",\\\"item\\\",\\\"type\\\",\\\"location\\\",\\\"rc\\\",\\\"type\\\",\\\"vehicle\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid main\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"four wide column route editDetail\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"step-manager\\\",null,[[\\\"will-transition\\\",\\\"did-transition\\\",\\\"currentStep\\\",\\\"stepCount\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"willChangeStep\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"didChangeStep\\\"],null],\\\"details\\\",\\\"3\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dispatch-content\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,4,[\\\"step\\\"]]],[[\\\"name\\\",\\\"index\\\"],[\\\"details\\\",0]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"details section\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.details.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"text\\\",\\\"input\\\",[25,\\\"t\\\",[\\\"dispatch.route.name\\\"],null],[20,[\\\"name\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui calendar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/basic-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"dateFormat\\\",\\\"placeholder\\\",\\\"class\\\"],[[20,[\\\"startDate\\\"]],\\\"DD/MM/YYYY HH:mm\\\",[25,\\\"t\\\",[\\\"fromDate\\\"],null],\\\"ui left icon input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicle section\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.vehicle\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"class\\\",\\\"options\\\",\\\"selected\\\",\\\"onchange\\\",\\\"searchField\\\"],[[25,\\\"t\\\",[\\\"dispatch.route.vehicle\\\"],null],\\\"vehicle\\\",[20,[\\\"model\\\",\\\"vehicles\\\"]],[20,[\\\"vehicle\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"changeVehicle\\\"],null],\\\"licensePlate\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,12,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[12]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"placeholder\\\",\\\"value\\\",\\\"title\\\"],[\\\"text\\\",\\\"input\\\",[25,\\\"t\\\",[\\\"dispatch.route.vehicleDimensions.width\\\"],null],[20,[\\\"model\\\",\\\"route\\\",\\\"profile\\\",\\\"width\\\"]],[25,\\\"t\\\",[\\\"dispatch.route.vehicleDimensions.width\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"placeholder\\\",\\\"value\\\",\\\"title\\\"],[\\\"text\\\",\\\"input\\\",[25,\\\"t\\\",[\\\"dispatch.route.vehicleDimensions.height\\\"],null],[20,[\\\"model\\\",\\\"route\\\",\\\"profile\\\",\\\"height\\\"]],[25,\\\"t\\\",[\\\"dispatch.route.vehicleDimensions.height\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"placeholder\\\",\\\"value\\\",\\\"title\\\"],[\\\"text\\\",\\\"input\\\",[25,\\\"t\\\",[\\\"dispatch.route.vehicleDimensions.length\\\"],null],[20,[\\\"model\\\",\\\"route\\\",\\\"profile\\\",\\\"length\\\"]],[25,\\\"t\\\",[\\\"dispatch.route.vehicleDimensions.length\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"placeholder\\\",\\\"value\\\",\\\"title\\\"],[\\\"text\\\",\\\"input\\\",[25,\\\"t\\\",[\\\"dispatch.route.vehicleDimensions.weight\\\"],null],[20,[\\\"model\\\",\\\"route\\\",\\\"profile\\\",\\\"weight\\\"]],[25,\\\"t\\\",[\\\"dispatch.route.vehicleDimensions.weight\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"class\\\",\\\"options\\\",\\\"searchEnabled\\\",\\\"allowClear\\\",\\\"selected\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.route.materials.type\\\"],null],\\\"material\\\",[20,[\\\"materialTypes\\\"]],false,true,[20,[\\\"model\\\",\\\"route\\\",\\\"profile\\\",\\\"material\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"model\\\",\\\"route\\\",\\\"profile\\\",\\\"material\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dispatch.route.materials.types.\\\",[19,11,[]]],null]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[11]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"ui-checkbox\\\",null,[[\\\"label\\\",\\\"checked\\\",\\\"disabled\\\",\\\"onChange\\\"],[[25,\\\"t\\\",[\\\"dispatch.route.materials.strict\\\"],null],[20,[\\\"model\\\",\\\"route\\\",\\\"profile\\\",\\\"strict\\\"]],[25,\\\"if\\\",[[20,[\\\"hasMaterial\\\"]],false,true],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"model\\\",\\\"route\\\",\\\"profile\\\",\\\"strict\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"schedule section\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.schedule.title\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"cron/recurrent-scheduler\\\",null,[[\\\"manageFormula\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"setSchedule\\\"],null]]],{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,10,[\\\"value\\\"]],\\\"week\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"theWeekDays\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,10,[\\\"week-days\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,10,[\\\"value\\\"]],\\\"month\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"monthDays\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,10,[\\\"month-days\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[19,10,[\\\"value\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dayHours\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,10,[\\\"hours\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"theMinutes\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,10,[\\\"minutes\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[10]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"component\\\",[[19,4,[\\\"step\\\"]]],[[\\\"name\\\",\\\"index\\\"],[\\\"points\\\",1]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"waypoints section\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.waypoints.title\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"sortable-group\\\",null,[[\\\"tagName\\\",\\\"onChange\\\"],[\\\"ul\\\",\\\"reorderWaypoints\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"waypoints\\\"]]],null,{\\\"statements\\\":[[4,\\\"sortable-item\\\",null,[[\\\"tagName\\\",\\\"model\\\",\\\"group\\\",\\\"handle\\\"],[\\\"li\\\",[19,7,[]],[19,6,[]],\\\".handle\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui tight grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"one wide column remove\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui icon remove button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"removeWaypoint\\\",[19,7,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"remove icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"fourteen wide column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui sixteen column tight grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sixteen wide field title column\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"class\\\",\\\"options\\\",\\\"selected\\\",\\\"search\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.route.waypoints.location\\\"],null],\\\"location\\\",[20,[\\\"locations\\\"]],[19,7,[\\\"location\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"debouncedSearchLocation\\\"],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,7,[\\\"location\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,9,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"eight wide field column\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"class\\\",\\\"options\\\",\\\"searchEnabled\\\",\\\"selected\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[\\\"dispatch.route.waypoints.type\\\"],null],\\\"type\\\",[20,[\\\"waypointTypes\\\"]],false,[19,7,[\\\"type\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,7,[\\\"type\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"dispatch.route.waypoints.types.\\\",[19,8,[]]],null]],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"eight wide field column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"min\\\",\\\"class\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"number\\\",0,\\\"input\\\",[25,\\\"t\\\",[\\\"dispatch.route.waypoints.duration\\\"],null],[19,7,[\\\"duration\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"one wide column handle\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[0,\\\"↕\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[7]},null]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui fluid large icon add button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addWaypoint\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"component\\\",[[19,4,[\\\"step\\\"]]],[[\\\"name\\\",\\\"index\\\"],[\\\"route\\\",2]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"route section\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"primary title\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui two tiny inverted statistics\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"grey statistic\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[1,[25,\\\"trunc\\\",[[25,\\\"div\\\",[[25,\\\"round\\\",[[25,\\\"if\\\",[[20,[\\\"optimizedRouteVisible\\\"]],[20,[\\\"optimizedRoute\\\",\\\"distance\\\"]],[20,[\\\"route\\\",\\\"distance\\\"]]],null]],null],1000],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"grey statistic\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[25,\\\"if\\\",[[20,[\\\"optimizedRouteVisible\\\"]],[20,[\\\"optimizedRouteTotalDuration\\\"]],[20,[\\\"routeTotalDuration\\\"]]],null],\\\"s\\\",\\\"DD:HH:mm\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.duration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui inverted list\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"route\\\",\\\"waypoints\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"marker icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[1,[19,5,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"footer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"six wide mobile four wide tablet three wide computer column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui fluid large icon button\\\"],[10,\\\"disabled\\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,4,[\\\"currentStep\\\"]],\\\"details\\\"],null],true,false],null],null],[3,\\\"action\\\",[[19,0,[]],[19,4,[\\\"transition-to-previous\\\"]]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"angle left icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ten wide mobile twelve wide tablet thirteen wide computer column\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui fluid large next button\\\"],[3,\\\"action\\\",[[19,0,[]],[19,4,[\\\"transition-to-next\\\"]]]],[7],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,4,[\\\"currentStep\\\"]],\\\"route\\\"],null],\\\"dispatch.route.actions.save\\\",\\\"dispatch.route.actions.next\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"isRouting\\\"]],[20,[\\\"isOptimizing\\\"]],[20,[\\\"isSaving\\\"]]],null],\\\"active\\\"],null],\\\" dimmer\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui loader\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"twelve wide column\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"g-map\\\",null,[[\\\"lat\\\",\\\"lng\\\",\\\"zoom\\\",\\\"onLoad\\\"],[[20,[\\\"romLatLng\\\",\\\"lat\\\"]],[20,[\\\"romLatLng\\\",\\\"lng\\\"]],7,[25,\\\"action\\\",[[19,0,[]],\\\"onLoad\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"routeManeuvers\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"marker\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"id\\\",\\\"draggable\\\",\\\"onDrag\\\",\\\"onDragstart\\\",\\\"onDragend\\\"],[[19,3,[\\\"position\\\",\\\"lat\\\"]],[19,3,[\\\"position\\\",\\\"lng\\\"]],[19,3,[\\\"id\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"maneuverMove\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"maneuverMoveStart\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"maneuverMoveEnd\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[4,\\\"each\\\",[[20,[\\\"waypointsLatLng\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"lat\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\"],[[19,2,[\\\"lat\\\"]],[19,2,[\\\"lng\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-marker default-marker gray\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"polyline\\\"]]],[[\\\"path\\\",\\\"geodesic\\\",\\\"strokeColor\\\",\\\"strokeOpacity\\\",\\\"strokeWeight\\\"],[[20,[\\\"routeLatLngs\\\"]],true,\\\"#ff0000\\\",1,6]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/routes/edit.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"wlk1j9Vl\",\"block\":\"{\\\"symbols\\\":[\\\"filteredRoutes\\\",\\\"query\\\",\\\"route\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dispatch-content\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"four fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"type\\\",\\\"class\\\",\\\"placeholder\\\"],[[20,[\\\"filter\\\",\\\"query\\\"]],\\\"text\\\",\\\"prompt\\\",[25,\\\"t\\\",[\\\"dispatch.route.actions.search\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"dispatch.routes.edit\\\",\\\"new\\\"],[[\\\"tagName\\\",\\\"class\\\"],[\\\"button\\\",\\\"ui fluid add button\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"dispatch.route.actions.add\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"filter-content\\\",null,[[\\\"content\\\",\\\"properties\\\",\\\"query\\\",\\\"showInput\\\"],[[20,[\\\"model\\\",\\\"plannedRoutes\\\"]],\\\"name\\\",[20,[\\\"filter\\\",\\\"query\\\"]],false]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"ui basic table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.vehicles\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"fromDate\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"dispatch.route.duration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"one wide\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"vehicleLicensePlates\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,3,[\\\"startDate\\\"]],\\\"DD/MM/YYYY HH:mm\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"distanceInKM\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,3,[\\\"duration\\\"]],\\\"s\\\",\\\"DD:HH:mm\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"dispatch.routes.edit\\\",[19,3,[\\\"id\\\"]]],[[\\\"tagName\\\"],[\\\"a\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"delete\\\",[19,3,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]},null],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/routes/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"F8WowlbB\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"react/my-component\\\",null,[[\\\"name\\\",\\\"vehicles\\\"],[\\\"Test\\\",[20,[\\\"model\\\",\\\"vehicles\\\"]]]]],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/test.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"UhQksttI\",\"block\":\"{\\\"symbols\\\":[\\\"rows\\\",\\\"vehicleGroup\\\",\\\"header\\\",\\\"user\\\",\\\"user\\\",\\\"vehicle\\\",\\\"vehicle\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"four fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"type\\\",\\\"class\\\"],[[20,[\\\"search\\\"]],\\\"text\\\",\\\"prompt\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui fluid add button\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"add\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"dispatch.vehicleGroups.actions.add\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[9,\\\"style\\\",\\\"font-size: 0.7em;\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"selectedColumns\\\"],[[20,[\\\"sortedVehicleGroups\\\"]],[20,[\\\"header\\\"]],[20,[\\\"columns\\\"]]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"header\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[19,2,[\\\"isEditing\\\"]],[25,\\\"eq\\\",[[19,3,[\\\"key\\\"]],\\\"name\\\"],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[19,2,[\\\"name\\\"]],[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null]]]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[19,2,[\\\"isEditing\\\"]],[25,\\\"eq\\\",[[19,3,[\\\"key\\\"]],\\\"tractorUnit\\\"],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null],\\\"dark\\\",\\\"padded dark wide\\\",[20,[\\\"tractorUnits\\\"]],[19,2,[\\\"tractorUnit\\\"]],\\\"licensePlate\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"tractorUnit\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,7,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[19,2,[\\\"isEditing\\\"]],[25,\\\"eq\\\",[[19,3,[\\\"key\\\"]],\\\"semitrailer\\\"],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null],\\\"dark\\\",\\\"padded dark wide\\\",[20,[\\\"semitrailers\\\"]],[19,2,[\\\"semitrailer\\\"]],\\\"licensePlate\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"semitrailer\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,6,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[19,2,[\\\"isEditing\\\"]],[25,\\\"eq\\\",[[19,3,[\\\"key\\\"]],\\\"driver\\\"],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null],\\\"dark\\\",\\\"padded dark wide\\\",[20,[\\\"model\\\",\\\"users\\\"]],[19,2,[\\\"driver\\\"]],\\\"fullName\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"driver\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,5,[\\\"fullName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[19,2,[\\\"isEditing\\\"]],[25,\\\"eq\\\",[[19,3,[\\\"key\\\"]],\\\"codriver\\\"],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onchange\\\"],[[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null],\\\"dark\\\",\\\"padded dark wide\\\",[20,[\\\"model\\\",\\\"users\\\"]],[19,2,[\\\"codriver\\\"]],\\\"fullName\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"codriver\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,4,[\\\"fullName\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,3,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[1,[25,\\\"get\\\",[[19,2,[]],[19,3,[\\\"path\\\"]]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned operations\\\"],[9,\\\"width\\\",\\\"85\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isEditing\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"rollback\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"close icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isValid\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon disabled\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"isEditing\\\"]]],null],true]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"delete\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/dispatch/vehicle-groups.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"fBzTdsPi\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page hasSubMenuCol\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filtersOnTablet\\\",\\\"filters\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"driving.driverBehaviour\\\"],null],true,true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"menus/default-menu\\\",null,[[\\\"openedSubMenu\\\"],[\\\"driving\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/driving.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"JT4IBKFu\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"engineLoad\\\",\\\"ridx\\\",\\\"element\\\",\\\"cidx\\\",\\\"element\\\",\\\"cidx\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,10,[]],[19,11,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,11,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[11]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9,10]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"formattedData\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header three-cols\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"driverDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"oneVehicle\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"driver\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"driver\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"centerSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"driver-behaviour\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[\\\"driving.totals.revRecommended\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[\\\"driving.totals.revMarginal\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[\\\"driving.totals.revForbidden\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[\\\"driving.totals.revOver\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[\\\"driving.totals.revOverLoaded\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[\\\"driving.totals.revUnder\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"color c1 o1\\\"],[7],[1,[25,\\\"to-fixed\\\",[[19,2,[\\\"totals\\\",\\\"green\\\"]],2],null],false],[0,\\\"%\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"color c2 o1\\\"],[7],[1,[25,\\\"to-fixed\\\",[[19,2,[\\\"totals\\\",\\\"yellow\\\"]],2],null],false],[0,\\\"%\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"color c3 o1\\\"],[7],[1,[25,\\\"to-fixed\\\",[[19,2,[\\\"totals\\\",\\\"red\\\"]],2],null],false],[0,\\\"%\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"to-fixed\\\",[[19,2,[\\\"totals\\\",\\\"rpmBig1200\\\"]],2],null],false],[0,\\\"%\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"to-fixed\\\",[[19,2,[\\\"totals\\\",\\\"engineLoadBig70\\\"]],2],null],false],[0,\\\"%\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"to-fixed\\\",[[19,2,[\\\"totals\\\",\\\"rpmLow1200\\\"]],2],null],false],[0,\\\"%\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"driver-behaviour fullWidth\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,2,[\\\"grouped\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,3,[\\\"rpms\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,8,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[19,3,[\\\"engineLoad\\\"]],false],[0,\\\" - \\\"],[1,[25,\\\"add\\\",[10,[19,3,[\\\"engineLoad\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[\\\"color \\\",[19,7,[\\\"color\\\"]]]]],[10,\\\"title\\\",[26,[[19,7,[\\\"tooltip\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[19,7,[\\\"durationDisplay\\\"]],[19,7,[\\\"durationDisplay\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7,8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,4,[]],[25,\\\"sub\\\",[[19,2,[\\\"grouped\\\",\\\"length\\\"]],1],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"header\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"engineLoad\\\"],null],\\\" / RPM\\\"]]],[7],[1,[25,\\\"t\\\",[\\\"engineLoadShort\\\"],null],false],[0,\\\" / RPM\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,3,[\\\"rpms\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[19,5,[\\\"rpm\\\"]],false],[0,\\\" - \\\"],[1,[25,\\\"add\\\",[100,[19,5,[\\\"rpm\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5,6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/driving/engine-load-rpm.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"Nk85ReEf\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onHEnd\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,3,[]],[19,4,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,4,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2,3]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[20,[\\\"formattedData\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/driving/fcz.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"tc27v4Ny\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/driving/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"K+hc+x5Z\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page hasSubMenuCol\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filters\\\",\\\"side\\\"],[\\\"e-Transport\\\",true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"menus/default-menu\\\",null,[[\\\"openedSubMenu\\\"],[\\\"eTransport\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"parent-e-transport\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/e-transport.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"WAdp4raY\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/partners-page\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/e-transport/partners.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"RsAtaACX\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/e-transport\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/e-transport/uits.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"G72pkdmF\",\"block\":\"{\\\"symbols\\\":[\\\"d\\\",\\\"d\\\",\\\"d\\\",\\\"d\\\",\\\"d\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page\\\",[25,\\\"if\\\",[[20,[\\\"isContractedMenu\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"side\\\"],[\\\"TRACKNAMIC\\\",true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"menus/default-menu\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"dashboard/widget-async\\\",null,[[\\\"class\\\",\\\"url\\\"],[\\\"dashboard-item two-wide-item\\\",\\\"/dashboard/home/distance-today\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"dashboard/stats-item\\\",null,[[\\\"descr\\\",\\\"data\\\",\\\"vehicles\\\",\\\"unit\\\",\\\"class\\\"],[[25,\\\"t\\\",[\\\"dashboard.dailyKm\\\"],null],[19,5,[]],[20,[\\\"model\\\",\\\"vehicles\\\"]],\\\"KM\\\",\\\"distance-today\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[4,\\\"dashboard/widget-async\\\",null,[[\\\"class\\\",\\\"url\\\"],[\\\"dashboard-item two-wide-item\\\",\\\"/dashboard/home/fuel-consumption-today\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"dashboard/stats-item\\\",null,[[\\\"descr\\\",\\\"isFuel\\\",\\\"data\\\",\\\"unit\\\",\\\"class\\\"],[[25,\\\"t\\\",[\\\"dashboard.dailyConsumption\\\"],null],true,[19,4,[]],\\\"L\\\",\\\"fuel-consumption-today\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[4,\\\"dashboard/widget-async\\\",null,[[\\\"class\\\",\\\"url\\\"],[\\\"dashboard-item two-wide-item\\\",\\\"/dashboard/home/distance-current-month\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"dashboard/stats-item\\\",null,[[\\\"descr\\\",\\\"data\\\",\\\"vehicles\\\",\\\"unit\\\",\\\"class\\\"],[[25,\\\"t\\\",[\\\"dashboard.monthlyKm\\\"],null],[19,3,[]],[20,[\\\"model\\\",\\\"vehicles\\\"]],\\\"KM\\\",\\\"distance-current-month\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"dashboard/stats-contact\\\",null,[[\\\"class\\\",\\\"descr\\\"],[\\\"dashboard-item two-wide-item dashboard-contact\\\",[25,\\\"t\\\",[\\\"dashboard.contact\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"tachograph\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"react/components/dashboard-tacho\\\",null,[[\\\"class\\\"],[\\\"card withFooter dashboard-item item-fullwidth tacho-user-widget\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"nonUtilityVehicles\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"dashboard/widget-async\\\",null,[[\\\"class\\\",\\\"url\\\",\\\"filter\\\",\\\"interval\\\"],[\\\"dashboard-item item-fullwidth heatmap-distance card withFooter\\\",\\\"/dashboard/home/distance-per-hour\\\",[20,[\\\"distanceHeatmapFilter\\\"]],3600000]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[1,[25,\\\"t\\\",[\\\"dashboard.heatmap.title.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"dashboard/heatmap-widget\\\",null,[[\\\"data\\\",\\\"timetables\\\",\\\"vehicles\\\",\\\"resolution\\\",\\\"unit\\\",\\\"type\\\",\\\"class\\\"],[[19,2,[]],[20,[\\\"model\\\",\\\"timetables\\\",\\\"timetable\\\"]],[20,[\\\"nonUtilityVehicles\\\"]],[20,[\\\"resolution\\\"]],\\\"km\\\",\\\"distance\\\",\\\"distances-heatmap\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"footer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"link-to\\\",[\\\"widgets.heatmap\\\"],null,{\\\"statements\\\":[[1,[25,\\\"t\\\",[\\\"expand\\\"],null],false]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[20,[\\\"utilityVehicles\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"dashboard/widget-async\\\",null,[[\\\"class\\\",\\\"url\\\",\\\"filter\\\",\\\"interval\\\"],[\\\"dashboard-item item-fullwidth heatmap-work card\\\",\\\"/dashboard/home/work-per-hour\\\",[20,[\\\"workHeatmapFilter\\\"]],3600000]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"title\\\"],[7],[1,[25,\\\"t\\\",[\\\"dashboard.heatmap.title.work\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"dashboard/heatmap-widget\\\",null,[[\\\"data\\\",\\\"timetables\\\",\\\"vehicles\\\",\\\"resolution\\\",\\\"unit\\\",\\\"type\\\",\\\"class\\\"],[[19,1,[]],[20,[\\\"model\\\",\\\"timetables\\\",\\\"timetable\\\"]],[20,[\\\"utilityVehicles\\\"]],[20,[\\\"resolution\\\"]],\\\"min\\\",\\\"work\\\",\\\"distances-heatmap\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dashboard-item card footerOnly status-widget\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"dashboard/dc-live\\\"],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"footer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"link-to\\\",[\\\"widgets.status-feed\\\"],null,{\\\"statements\\\":[[1,[25,\\\"t\\\",[\\\"expand\\\"],null],false]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"card withFooter dashboard-item alerts-widget\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"title left\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"dashboard.alerts\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"dashboard/alert-list\\\",null,[[\\\"alerts\\\",\\\"delete\\\",\\\"title\\\"],[[20,[\\\"alerts\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"delete\\\"],null],[25,\\\"t\\\",[\\\"dashboard.alerts\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"footer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"link-to\\\",[\\\"widgets.alerts\\\"],null,{\\\"statements\\\":[[1,[25,\\\"t\\\",[\\\"expand\\\"],null],false]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"dK0DrgT2\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/invitation.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"a1q32doa\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui active dimmer\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui centered grid\\\"],[9,\\\"style\\\",\\\"height:100%\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui middle aligned row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"style\\\",\\\"align-self:center\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[10,\\\"src\\\",[26,[[20,[\\\"env\\\",\\\"rootURL\\\"]],\\\"assets/images/header-logo.png\\\"]]],[9,\\\"alt\\\",\\\"Tracknamic\\\"],[9,\\\"class\\\",\\\"loading logo\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui big active centered inline text loader\\\"],[7],[1,[25,\\\"t\\\",[\\\"loading.text\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/loading.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"/QGzGylg\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/login.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"5xfm2ZYt\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui grid\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"left aligned row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"img\\\"],[10,\\\"src\\\",[26,[[20,[\\\"env\\\",\\\"rootURL\\\"]],\\\"assets/images/header-logo.png\\\"]]],[9,\\\"alt\\\",\\\"Tracknamic\\\"],[9,\\\"height\\\",\\\"30px\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"centered row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"t\\\",[\\\"errors.maintenance_1\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"image centered row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"img\\\"],[10,\\\"src\\\",[26,[[20,[\\\"env\\\",\\\"rootURL\\\"]],\\\"assets/images/power.png\\\"]]],[9,\\\"height\\\",\\\"250px\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"centered row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"errors.maintenance_2\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/maintenance.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"s6XMGakI\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page hasSubMenuCol\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filters\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"management.management\\\"],null],true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"menus/default-menu\\\",null,[[\\\"openedSubMenu\\\"],[\\\"management\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"siteContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"lGmJ5EvU\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/geofences.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"5RAdz+a5\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"management/form-geofence\\\",null,[[\\\"geofence\\\",\\\"groups\\\",\\\"vehicles\\\",\\\"modalTitle\\\",\\\"cancel\\\",\\\"save\\\",\\\"edit\\\",\\\"success\\\"],[[20,[\\\"model\\\",\\\"geofence\\\"]],[20,[\\\"model\\\",\\\"groups\\\"]],[20,[\\\"model\\\",\\\"vehicles\\\"]],[25,\\\"t\\\",[\\\"management.geofences.edit.title\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"save\\\"],null],true,[25,\\\"action\\\",[[19,0,[]],\\\"success\\\"],null]]]],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/geofences/edit.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"uIwMFxLs\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/geofences/import.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"dgsC2q4a\",\"block\":\"{\\\"symbols\\\":[\\\"geofence\\\",\\\"tHeader\\\",\\\"geofence\\\",\\\"tHeader\\\",\\\"partner\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"pageFilters\\\",[25,\\\"if\\\",[[20,[\\\"addPartners\\\"]],\\\" withRow\\\"],null],[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui orange fluid button\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\" small\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"importGeofence\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"upload icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.import.buttonText\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui lightOrange fluid button\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\" small\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"downloadGeofence\\\",\\\"csv\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.downloadCsv\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui purple fluid button\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\" small\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"toggleGeofences\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"share alternate icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"share\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui green fluid button\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\" small\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"newGeofence\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.geofences.new.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"addPartners\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"partners theRow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"list\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"emailsList\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,5,[\\\"email\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"clear-partner\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"removePartner\\\",[19,5,[]]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"delete icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"new field \\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui fluid right action input add-partner\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\"],[\\\"email\\\",[20,[\\\"newShareEmail\\\"]],\\\"Email\\\",[25,\\\"if\\\",[[20,[\\\"invalidEmail\\\"]],\\\"error\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"ui purple labeled icon button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"addPartner\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"mail outline icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.groups.add\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"companyGeofences\\\"]],[20,[\\\"sharedGeofences\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"companyGeofences\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-accordion\\\",null,[[\\\"class\\\",\\\"exclusive\\\"],[\\\"fluid\\\",false]],{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"model\\\",\\\"company\\\",\\\"name\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"title active\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"ui dividing header\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"model\\\",\\\"company\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContainer content active\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"id\\\",\\\"managementTable\\\"],[9,\\\"class\\\",\\\"ui selectable single line unstackable table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,4,[\\\"align\\\"]],[25,\\\"concat\\\",[[19,4,[\\\"align\\\"]],\\\" aligned\\\"],null],\\\"center aligned\\\"],null]]]],[10,\\\"data-key\\\",[19,4,[\\\"key\\\"]],null],[7],[1,[19,4,[\\\"value\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"name\\\",[20,[\\\"companyGeofences\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"viewGeofence\\\",[19,3,[\\\"id\\\"]]]],[7],[1,[19,3,[\\\"fullName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"viewGeofence\\\",[19,3,[\\\"id\\\"]]]],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.geofences.shape.type.\\\",[19,3,[\\\"shape\\\",\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned\\\"],[9,\\\"class\\\",\\\"operations\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"editGeofence\\\",[19,3,[\\\"id\\\"]]]],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon deleteID\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"deleteGeofence\\\",[19,3,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"sharedGeofences\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-accordion\\\",null,[[\\\"class\\\",\\\"exclusive\\\"],[\\\"fluid\\\",false]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"title active\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"ui dividing header\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"shared\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContainer content active\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"id\\\",\\\"managementTable\\\"],[9,\\\"class\\\",\\\"ui table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,2,[\\\"align\\\"]],[25,\\\"concat\\\",[[19,2,[\\\"align\\\"]],\\\" aligned\\\"],null],\\\"center aligned\\\"],null]]]],[10,\\\"data-key\\\",[19,2,[\\\"key\\\"]],null],[7],[1,[19,2,[\\\"value\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"name\\\",[20,[\\\"sharedGeofences\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"viewGeofence\\\",[19,1,[\\\"id\\\"]]]],[7],[1,[19,1,[\\\"fullName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"viewGeofence\\\",[19,1,[\\\"id\\\"]]]],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.geofences.shape.type.\\\",[19,1,[\\\"shape\\\",\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/geofences/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"IsuBZtWn\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"management/form-geofence\\\",null,[[\\\"cancel\\\",\\\"edit\\\",\\\"groups\\\",\\\"modalTitle\\\",\\\"geofence\\\",\\\"save\\\",\\\"vehicles\\\",\\\"geofenceCoords\\\",\\\"success\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"],null],false,[20,[\\\"model\\\",\\\"groups\\\"]],[25,\\\"t\\\",[\\\"management.geofences.new.title\\\"],null],[20,[\\\"model\\\",\\\"geofence\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"save\\\"],null],[20,[\\\"model\\\",\\\"vehicles\\\"]],[20,[\\\"geofenceCoords\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"success\\\"],null]]]],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/geofences/new.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"+DFFr/Nj\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"management/form-geofence\\\",null,[[\\\"cancel\\\",\\\"edit\\\",\\\"groups\\\",\\\"modalTitle\\\",\\\"geofence\\\",\\\"readonly\\\",\\\"save\\\",\\\"vehicles\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"cancel\\\"],null],false,[20,[\\\"model\\\",\\\"groups\\\"]],[25,\\\"t\\\",[\\\"management.geofences.view.title\\\"],null],[20,[\\\"model\\\",\\\"geofence\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"save\\\"],null],[20,[\\\"model\\\",\\\"vehicles\\\"]]]]],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/geofences/view.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"rZYDZDaR\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/groups.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"oU4CtAKB\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/groups/edit.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"vM4+gQYm\",\"block\":\"{\\\"symbols\\\":[\\\"partner\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageFilters oneFilter\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui search\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"placeholder\\\",\\\"keyUp\\\"],[\\\"text\\\",[25,\\\"t\\\",[\\\"search\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"searchGroup\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"model\\\",\\\"arrangedGroup\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"groups-tree-list\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"ul\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/item-group\\\",null,[[\\\"aGroups\\\",\\\"removeGroup\\\",\\\"editGroup\\\",\\\"addGroup\\\",\\\"getPartners\\\"],[[20,[\\\"model\\\",\\\"arrangedGroup\\\"]],\\\"removeGroup\\\",\\\"editGroup\\\",\\\"addGroup\\\",[25,\\\"action\\\",[[19,0,[]],\\\"getPartners\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[20,[\\\"partnersCount\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"groups-tree-list\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"ul\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"li\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"id\\\",\\\"partnersID\\\"],[9,\\\"class\\\",\\\"ui segment\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"colapse\\\",\\\"partnersID\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"grpname\\\",\\\"partnersID\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"caret down icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"management.groups.share\\\"],null],false],[0,\\\" (\\\"],[1,[18,\\\"partnersCount\\\"],false],[0,\\\")\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"ul\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"partners\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"li\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"id\\\",[19,1,[\\\"id\\\"]],null],[9,\\\"data-parent\\\",\\\"partnersID\\\"],[9,\\\"class\\\",\\\"ui segment\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"grpname\\\",\\\"partnersID\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"share alternate square icon sharedPartnersIcon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/groups/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"TYg/jP7j\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"1cVBXMQS\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/management/integrations-index\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/integrations.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"9XFVPlY2\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/management/maintenance-list\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/maintenance/list.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"a6ob1RK6\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/management/maintenance-rules\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/maintenance/rules.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"YlbzWNz+\",\"block\":\"{\\\"symbols\\\":[\\\"role\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"pageFilters \\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\"hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button green icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"newRole\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.roles.new\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"roles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContainer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"id\\\",\\\"managementTable\\\"],[9,\\\"class\\\",\\\"ui celled unstackable selectable table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[9,\\\"data-key\\\",\\\"name\\\"],[7],[1,[25,\\\"t\\\",[\\\"name\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[9,\\\"data-key\\\",\\\"type\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"filtredRoles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.roles.view\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"showRole\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.roles.view\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"showRole\\\",[19,1,[]],true]],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.users.\\\",[19,1,[\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned operations\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[19,1,[\\\"disableEdit\\\"]],[19,1,[\\\"isUserRole\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon deleteID\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon deleteID\\\"],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.roles.edit\\\"],null],null],[9,\\\"class\\\",\\\"edit outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showRole\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"used\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.roles.deleteUsed\\\"],[[\\\"number\\\",\\\"names\\\"],[[19,1,[\\\"used\\\",\\\"number\\\"]],[19,1,[\\\"used\\\",\\\"names\\\"]]]]],null],[9,\\\"class\\\",\\\"trash alternate outline icon disabled deleteID\\\"],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.roles.delete\\\"],null],null],[9,\\\"class\\\",\\\"trash alternate outline icon deleteID\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"deleteRole\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/roles.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"QG8G3gNN\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/management/temporary-links\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/temporary-links.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"JDnksN0Z\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/timetables.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"uSV13aJ0\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/timetables/import.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"Wqf1Uz7g\",\"block\":\"{\\\"symbols\\\":[\\\"group\\\",\\\"vehicle\\\",\\\"tt\\\",\\\"tt\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"pageFilters \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"companyTT\\\"]],[20,[\\\"companyTT\\\",\\\"isNew\\\"]]],null],\\\"withRow\\\"],null],\\\" \\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\"hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"title\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"fluid selection\\\",[25,\\\"t\\\",[\\\"activeSince\\\"],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"since\\\"]]],null]],null],[20,[\\\"since\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"activeSince\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[20,[\\\"model\\\",\\\"periods\\\",\\\"today\\\"]],null],[7],[1,[25,\\\"t\\\",[\\\"time.today\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[20,[\\\"model\\\",\\\"periods\\\",\\\"yesterday\\\"]],null],[7],[1,[25,\\\"t\\\",[\\\"time.yesterday\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[20,[\\\"model\\\",\\\"periods\\\",\\\"lastWeek\\\"]],null],[7],[1,[25,\\\"t\\\",[\\\"time.lastWeek\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[20,[\\\"search\\\"]],[25,\\\"t\\\",[\\\"search\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button icon orange\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"import\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"upload icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.import.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button icon green\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"companyTT\\\"]],[20,[\\\"companyTT\\\",\\\"isNew\\\"]]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"newGlobal\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.new.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"companyTT\\\"]],[20,[\\\"companyTT\\\",\\\"isNew\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"management/sub/timetable-segment\\\",null,[[\\\"tt\\\",\\\"company\\\",\\\"vehicles\\\",\\\"class\\\"],[[20,[\\\"companyTT\\\"]],[20,[\\\"companyGroup\\\"]],[20,[\\\"model\\\",\\\"vehicles\\\"]],\\\"isNewTT theRow\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent timetablesPage\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"filteredTimetables\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-accordion\\\",null,[[\\\"class\\\",\\\"exclusive\\\",\\\"closeNested\\\"],[\\\"fluid\\\",false,false]],{\\\"statements\\\":[[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"isCompany:asc\\\",\\\"name\\\",[20,[\\\"filteredTimetables\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"title active\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"ui dividing header\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[1,[19,1,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content active\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"timetables\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContainer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[10,\\\"class\\\",[26,[\\\"ui striped table timetable\\\",[25,\\\"if\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\" unstackable\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"day\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"date\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"hour\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"duration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"recurrent\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"three wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"timezone\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"three wide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui green nowrap fluid button\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\" small\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"new\\\",false,[19,1,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.new.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"isNew:desc\\\",\\\"startTime\\\",[19,1,[\\\"timetables\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,4,[\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/sub/timetable-row\\\",null,[[\\\"tt\\\",\\\"edit\\\",\\\"class\\\",\\\"askToDelete\\\"],[[19,4,[]],true,\\\"isNewTT\\\",[25,\\\"action\\\",[[19,0,[]],\\\"delete\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/sub/timetable-row\\\",null,[[\\\"tt\\\",\\\"askToDelete\\\"],[[19,4,[]],[25,\\\"action\\\",[[19,0,[]],\\\"delete\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"licensePlate\\\",[19,1,[\\\"vehicles\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"semantic/ui-accordion\\\",null,[[\\\"class\\\"],[\\\"fluid subGroupTT\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"title active\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"ui dividing header\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[1,[19,2,[\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content active\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContainer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[10,\\\"class\\\",[26,[\\\"ui striped table timetable\\\",[25,\\\"if\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\" unstackable\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"day\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"date\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"hour\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"duration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"recurrent\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"three wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"timezone\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"three wide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui green nowrap fluid button\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\" small\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"new\\\",true,[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.timetables.new.title\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"isNew:desc\\\",\\\"startTime\\\",[19,2,[\\\"timetables\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,3,[\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/sub/timetable-row\\\",null,[[\\\"tt\\\",\\\"edit\\\",\\\"class\\\",\\\"askToDelete\\\"],[[19,3,[]],true,\\\"isNewTT\\\",[25,\\\"action\\\",[[19,0,[]],\\\"delete\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"management/sub/timetable-row\\\",null,[[\\\"tt\\\",\\\"askToDelete\\\"],[[19,3,[]],[25,\\\"action\\\",[[19,0,[]],\\\"delete\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/timetables/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"HYDzFKDk\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/users.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"IFbPbNC/\",\"block\":\"{\\\"symbols\\\":[\\\"user\\\",\\\"tHeader\\\",\\\"group\\\",\\\"role\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"pageFilters filtersWithDownload \\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\"hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\"],[\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"roleFilter\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"role\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"roles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,4,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,4,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\"],[\\\"management-division\\\",\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"groupFilter\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.division\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"groups\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item padding\\\",[19,3,[\\\"level\\\"]]]]],[10,\\\"data-value\\\",[26,[[19,3,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"search\\\"],null],[20,[\\\"searchValue\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button green icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"newUser\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.users.new.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\"],[[25,\\\"concat\\\",[\\\"doc-button icon top right pointing downloadDropdown\\\",[25,\\\"if\\\",[[20,[\\\"downloading\\\"]],\\\" loading\\\",\\\"\\\"],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.downloads\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",\\\"xlsx\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file excel outline icon\\\"],[7],[8],[0,\\\"Excel\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",\\\"pdf\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file pdf outline icon\\\"],[7],[8],[0,\\\"PDF\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",\\\"csv\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file csv outline icon\\\"],[7],[8],[0,\\\"CSV\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"users\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContainer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"id\\\",\\\"managementTable\\\"],[9,\\\"class\\\",\\\"ui celled unstackable selectable table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,2,[\\\"align\\\"]],[25,\\\"concat\\\",[[19,2,[\\\"align\\\"]],\\\" aligned\\\"],null],\\\"center aligned\\\"],null]]]],[10,\\\"data-key\\\",[19,2,[\\\"key\\\"]],null],[7],[1,[19,2,[\\\"value\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"deletedAt\\\",\\\"fullName\\\",[20,[\\\"users\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"id\\\",[25,\\\"if\\\",[[19,1,[\\\"id\\\"]],[19,1,[\\\"id\\\"]]],null],null],[10,\\\"class\\\",[25,\\\"if\\\",[[19,1,[\\\"deletedAt\\\"]],\\\"disabled-user\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showUser\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"fullName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showUser\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"email\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"right aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showUser\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"phoneNumber\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showUser\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showUser\\\",[19,1,[]],true]],[7],[1,[25,\\\"if\\\",[[19,1,[\\\"type\\\"]],[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.users.\\\",[25,\\\"camelize\\\",[[19,1,[\\\"type\\\"]]],null]],null]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showUser\\\",[19,1,[]],true]],[7],[1,[25,\\\"if\\\",[[19,1,[\\\"role\\\"]],[19,1,[\\\"role\\\",\\\"name\\\"]],\\\"\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned\\\"],[9,\\\"class\\\",\\\"operations\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"deletedAt\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon deleteID\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"undo icon\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.users.reactivateUser\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"reactivate\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[19,1,[\\\"canBeEdited\\\"]],[19,1,[\\\"needReactivation\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"envelope outline icon\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.users.resendInvitation\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"reinvite\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon deleteID\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"unless\\\",[[20,[\\\"currentUser\\\",\\\"hasMaintenanceAccess\\\"]]],null,{\\\"statements\\\":[[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file text outline icon\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.documents\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"viewDocuments\\\",[19,1,[]]]],[7],[8],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"canBeEdited\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.users.edit.title\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"showUser\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon deleteID\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[25,\\\"eq\\\",[[19,1,[\\\"role\\\",\\\"type\\\"]],\\\"admin\\\"],null]],null],[25,\\\"and\\\",[[20,[\\\"currentUser\\\",\\\"isAdmin\\\"]],[20,[\\\"canDeleteAdmin\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon deleteID\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"management.users.deleteUser\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"deleteUser\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon deleteID\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/users/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"UWprHNi8\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/vehicles.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"3I3FbjZK\",\"block\":\"{\\\"symbols\\\":[\\\"vehicle\\\",\\\"tHeader\\\",\\\"group\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"pageFilters filtersWithDownload \\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\"hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\"],[\\\"management-type\\\",\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"typeFilter\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"utility\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.utility\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"car\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.car\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"minibus\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.minibus\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"bus\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.bus\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"truck\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.truck\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"tractor\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.tractor\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"harvester\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.harvester\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"construction\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.construction\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"trailer\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.trailer\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"semi-trailer\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.semi-trailer\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\"],[\\\"management-division\\\",\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"groupFilter\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.division\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"filteredGroups\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"item padding\\\",[19,3,[\\\"level\\\"]]]]],[10,\\\"data-value\\\",[26,[[19,3,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"search\\\"],null],[20,[\\\"searchValue\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button green icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"newVehicle\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"management.vehicles.new.title\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\"],[[25,\\\"concat\\\",[\\\"doc-button icon top right pointing downloadDropdown\\\",[25,\\\"if\\\",[[20,[\\\"downloading\\\"]],\\\" loading\\\",\\\"\\\"],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.downloads\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",\\\"xlsx\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file excel outline icon\\\"],[7],[8],[0,\\\"Excel\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",\\\"pdf\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file pdf outline icon\\\"],[7],[8],[0,\\\"PDF\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",\\\"csv\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file csv outline icon\\\"],[7],[8],[0,\\\"CSV\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContainer\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"id\\\",\\\"managementTable\\\"],[9,\\\"class\\\",\\\"ui celled unstackable selectable table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,2,[\\\"align\\\"]],[25,\\\"concat\\\",[[19,2,[\\\"align\\\"]],\\\" aligned\\\"],null],\\\"center aligned\\\"],null]]]],[10,\\\"data-key\\\",[19,2,[\\\"key\\\"]],null],[7],[1,[19,2,[\\\"value\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[25,\\\"sort-by\\\",[\\\"licensePlate\\\",[20,[\\\"vehicles\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showVehicle\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showVehicle\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"user\\\",\\\"fullName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showVehicle\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"carName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showVehicle\\\",[19,1,[]],true]],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.vehicles.type.\\\",[19,1,[\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showVehicle\\\",[19,1,[]],true]],[7],[1,[19,1,[\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showVehicle\\\",[19,1,[]],true]],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"vehicle.\\\",[25,\\\"if\\\",[[19,1,[\\\"status\\\",\\\"engineState\\\"]],\\\"engineOn\\\",\\\"engineOff\\\"],null]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned\\\"],[9,\\\"class\\\",\\\"operations\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"isCompanyVehicle\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"title\\\",\\\"QR\\\"],[10,\\\"class\\\",[26,[\\\"qrcode icon deleteID\\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[19,1,[\\\"hasUser\\\"]]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"qrCode\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[4,\\\"unless\\\",[[20,[\\\"currentUser\\\",\\\"hasMaintenanceAccess\\\"]]],null,{\\\"statements\\\":[[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file text outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"viewDocuments\\\",[19,1,[]]]],[7],[8],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showVehicle\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"contains\\\",[[19,1,[\\\"id\\\"]],[20,[\\\"vehiclesWithDevice\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"messages.cannotDeleteVehicleWithDeviceAttached\\\"],null],null],[9,\\\"class\\\",\\\"trash disabled alternate outline icon deleteID\\\"],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon deleteID\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"deleteVehicle\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[\\\"hasDoorSensor\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"editVehicleAlert\\\",[19,1,[]]]],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"management.vehicles.vehicleHasNoDoorSensor\\\"],null]]]],[9,\\\"class\\\",\\\"edit disabled icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/management/vehicles/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"U79VeNmb\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page no-submenu \\\",[25,\\\"if\\\",[[20,[\\\"fullscreen\\\",\\\"isEnabled\\\"]],\\\" fullscreenPage\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"fullscreen\\\",\\\"isEnabled\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"map\\\"],null],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[1,[18,\\\"react/pages/map-shared\\\"],false],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/map-shared.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"cQ2jqfj8\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page mapPage\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null],[25,\\\"if\\\",[[20,[\\\"fullscreen\\\",\\\"isEnabled\\\"]],\\\" fullscreenPage\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"fullscreen\\\",\\\"isEnabled\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"map\\\"],null],true]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"menus/default-menu\\\"],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"pageContent map\\\",[25,\\\"if\\\",[[20,[\\\"fullscreen\\\",\\\"isEnabled\\\"]],\\\" fullscreenMap\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/map.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"1wIVx+KS\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/map-ptv\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/map/eta-ptv.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"tlJJZwE5\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/map-index\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/map/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"9Wui/4za\",\"block\":\"{\\\"symbols\\\":[\\\"g\\\",\\\"prediction\\\",\\\"geofence\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"etaPage mapETA\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui form formMenu\\\",[25,\\\"if\\\",[[20,[\\\"ddOpened\\\"]],\\\" completePage\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"primary title\\\"],[7],[1,[20,[\\\"model\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onShow\\\",\\\"onHide\\\"],[\\\"selection darkGray\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ddOpened\\\",true],null],[25,\\\"action\\\",[[19,0,[]],\\\"ddOpened\\\",false],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[20,[\\\"selectedText\\\"]],[20,[\\\"selectedText\\\"]],[25,\\\"t\\\",[\\\"locations\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item invisibleItem\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon search input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"id\\\",\\\"value\\\",\\\"key-up\\\",\\\"placeholder\\\"],[\\\"searchInput\\\",[20,[\\\"searchValue\\\"]],\\\"search\\\",[25,\\\"t\\\",[\\\"search\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"filtredGeofences\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header typeTitle\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"geofences icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"pois\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"scrolling menu geofences\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"filtredGeofences\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,3,[\\\"id\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"selectGeofence\\\",[19,3,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"fullName\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"predictions\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header typeTitle\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"marker icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"locations\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"scrolling menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"predictions\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,2,[\\\"id\\\"]],null],[3,\\\"action\\\",[[19,0,[]],\\\"select\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui\\\",[25,\\\"if\\\",[[20,[\\\"routing\\\",\\\"isRunning\\\"]],\\\" active\\\"],null],\\\" centered inline loader\\\"]]],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"routeLatLngs\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"markers.from\\\"],null],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[1,[18,\\\"from\\\"],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"markers.to\\\"],null],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[1,[18,\\\"to\\\"],false],[0,\\\" \\\"],[6,\\\"span\\\"],[9,\\\"style\\\",\\\"color:gray\\\"],[7],[1,[25,\\\"if\\\",[[20,[\\\"selectedIsGeofence\\\"]],[25,\\\"concat\\\",[\\\"[\\\",[20,[\\\"selectedText\\\"]],\\\"]\\\"],null]],null],false],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"distance\\\"],null],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[1,[25,\\\"if\\\",[[20,[\\\"distance\\\"]],[20,[\\\"distance\\\"]]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"duration\\\"],null],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[1,[25,\\\"if\\\",[[20,[\\\"duration\\\"]],[25,\\\"moment-duration-format\\\",[[20,[\\\"duration\\\"]],\\\"s\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormatHHmm\\\"],null],\\\"string\\\"],null]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"markers.start\\\"],null],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[1,[18,\\\"startDateText\\\"],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"changeStartTime\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/basic-datepicker\\\",null,[[\\\"autofocus\\\",\\\"selectedDate\\\",\\\"minDate\\\",\\\"closeAction\\\",\\\"autoClose\\\",\\\"dateFormat\\\",\\\"placeholder\\\",\\\"iconPosition\\\",\\\"class\\\",\\\"class\\\"],[true,[20,[\\\"startDate\\\"]],[25,\\\"now\\\",null,[[\\\"interval\\\"],[1000]]],[25,\\\"action\\\",[[19,0,[]],\\\"changeTime\\\",false],null],false,\\\"DD/MM/YYYY HH:mm\\\",[25,\\\"t\\\",[\\\"reports.headerFields.date\\\"],null],\\\" ui left icon input\\\",\\\"ui calendar\\\",\\\"xxd\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon changeDate button\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"changeDate\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"changeTime\\\",true]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inline field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"ETA:\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[1,[18,\\\"endDateText\\\"],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"two fields\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field\\\",[25,\\\"if\\\",[[20,[\\\"disableSave\\\"]],\\\" disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui fluid blue button\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"savePlan\\\"]],[7],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"g-map\\\",null,[[\\\"lat\\\",\\\"lng\\\",\\\"zoom\\\",\\\"onLoad\\\"],[[20,[\\\"model\\\",\\\"vehicle\\\",\\\"status\\\",\\\"locationLatLng\\\",\\\"lat\\\"]],[20,[\\\"model\\\",\\\"vehicle\\\",\\\"status\\\",\\\"locationLatLng\\\",\\\"lng\\\"]],13,[25,\\\"action\\\",[[19,0,[]],\\\"onLoad\\\"],null]]],{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"routeLatLngs\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"polyline\\\"]]],[[\\\"path\\\",\\\"geodesic\\\",\\\"strokeColor\\\",\\\"strokeOpacity\\\",\\\"strokeWeight\\\"],[[20,[\\\"routeLatLngs\\\"]],true,\\\"black\\\",1,6]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\"],[[20,[\\\"model\\\",\\\"vehicle\\\",\\\"status\\\",\\\"locationLatLng\\\",\\\"lat\\\"]],[20,[\\\"model\\\",\\\"vehicle\\\",\\\"status\\\",\\\"locationLatLng\\\",\\\"lng\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"dc-marker default-marker \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"model\\\",\\\"vehicle\\\",\\\"statusIndicator\\\"]],\\\"engineOn\\\"],null],\\\"green\\\",\\\"red\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"destinationMarker\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\"],[[20,[\\\"destinationMarker\\\",\\\"lat\\\"]],[20,[\\\"destinationMarker\\\",\\\"lng\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-marker default-marker gray\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/map/route-eta.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"vByCjw1m\",\"block\":\"{\\\"symbols\\\":[\\\"date\\\",\\\"route\\\",\\\"stop\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"routesPage\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]],[25,\\\"eq\\\",[[20,[\\\"selectedView\\\"]],\\\"routes\\\"],null]],null],\\\" noMap\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"selectedVehicle\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"routes-filters\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleLicensePlate dc-button darkGray\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"closeIcon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"removeVehicle\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t< \\\"],[1,[25,\\\"t\\\",[\\\"back\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"text\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"left dateSelector\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-button icon pointerCursor darkGray\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"prevClicked\\\"],null],null],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"caret left icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/map-datepicker\\\",null,[[\\\"onSelect\\\",\\\"returnValue\\\",\\\"selectedDate\\\",\\\"maxDate\\\",\\\"dateFormat\\\",\\\"placeholder\\\",\\\"iconPosition\\\",\\\"iconType\\\",\\\"id\\\",\\\"class\\\",\\\"inputClass\\\",\\\"toggle\\\",\\\"toggleToMonth\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"dateChanged\\\",\\\"routeStartDate\\\"],null],\\\"timestamp\\\",[20,[\\\"routeStartDate\\\"]],[20,[\\\"routeEndDate\\\"]],\\\"DD/MM YYYY\\\",[25,\\\"t\\\",[\\\"fromDate\\\"],null],false,false,\\\"rangeStartRoute\\\",\\\"darkGray datePicker\\\",\\\"darkGray\\\",[20,[\\\"toggleStartDatePicker\\\"]],[20,[\\\"openAtMonthStartDP\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"right dateSelector\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/map-datepicker\\\",null,[[\\\"onSelect\\\",\\\"selectedDate\\\",\\\"returnValue\\\",\\\"minDate\\\",\\\"dateFormat\\\",\\\"placeholder\\\",\\\"position\\\",\\\"iconPosition\\\",\\\"iconType\\\",\\\"id\\\",\\\"class\\\",\\\"inputClass\\\",\\\"toggle\\\",\\\"toggleToMonth\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"dateChanged\\\",\\\"routeEndDate\\\"],null],[20,[\\\"routeEndDate\\\"]],\\\"timestamp\\\",[20,[\\\"routeStartDate\\\"]],\\\"DD/MM YYYY\\\",[25,\\\"t\\\",[\\\"until\\\"],null],\\\"bottom right\\\",false,false,\\\"rangeEndRoute\\\",\\\"darkGray datePicker\\\",\\\"darkGray\\\",[20,[\\\"toggleEndDatePicker\\\"]],[20,[\\\"openAtMonthEndDP\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-button icon pointerCursor darkGray\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"nextClicked\\\"],null],null],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"caret right icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"fluid selection darkGray durationSelection\\\",[20,[\\\"stopLimit\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"stopLimitChange\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"stops\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"stops\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,3,[\\\"value\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,3,[\\\"text\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"viewSelector\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"routesList pointerCursor darkGray\\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedView\\\"]],\\\"routes\\\"],null],\\\" selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"selectView\\\",\\\"routes\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"biggerIcon content icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"showMap pointerCursor darkGray\\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"selectedView\\\"]],\\\"map\\\"],null],\\\" selected\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"selectView\\\",\\\"map\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"biggerIcon map outline icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"routes-details\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]],[25,\\\"eq\\\",[[20,[\\\"selectedView\\\"]],\\\"map\\\"],null]],null],\\\" noHeight\\\"],null],[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]],[25,\\\"eq\\\",[[20,[\\\"selectedView\\\"]],\\\"vehicles\\\"],null]],null],\\\" vehiclesList\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]]],null],[25,\\\"and\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]],[25,\\\"eq\\\",[[20,[\\\"selectedView\\\"]],\\\"routes\\\"],null]],null]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"currentlyLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"currentlyLoading\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui active centered inline loader\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"routeTotals\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic distance\\\"],[10,\\\"title\\\",[26,[[20,[\\\"totals\\\",\\\"distanceGps\\\",\\\"popup\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"totals\\\",\\\"distanceGps\\\",\\\"value\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tkm\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic fuelDistance\\\"],[10,\\\"title\\\",[26,[[20,[\\\"totals\\\",\\\"fuelConsumptionMoving\\\",\\\"popup\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"totals\\\",\\\"fuelConsumptionMoving\\\",\\\"value\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"selectedVehicle\\\",\\\"fuel\\\",\\\"unit\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic fuelDistance\\\"],[10,\\\"title\\\",[26,[[20,[\\\"totals\\\",\\\"fuelConsumptionMovingAverage\\\",\\\"popup\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"totals\\\",\\\"fuelConsumptionMovingAverage\\\",\\\"value\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"selectedVehicle\\\",\\\"fuel\\\",\\\"unit\\\"]],false],[0,\\\"/100km\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic fuel\\\"],[10,\\\"title\\\",[26,[[20,[\\\"totals\\\",\\\"durationStationary\\\",\\\"popup\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"totals\\\",\\\"durationStationary\\\",\\\"value\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic fuel\\\"],[10,\\\"title\\\",[26,[[20,[\\\"totals\\\",\\\"durationStationaryEngineOn\\\",\\\"popup\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"totals\\\",\\\"durationStationaryEngineOn\\\",\\\"value\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"statistic fuelDistance\\\"],[10,\\\"title\\\",[26,[[20,[\\\"totals\\\",\\\"fuelConsumptionStationaryAverage\\\",\\\"popup\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"value\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"totals\\\",\\\"fuelConsumptionStationaryAverage\\\",\\\"value\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[20,[\\\"selectedVehicle\\\",\\\"fuel\\\",\\\"unit\\\"]],false],[0,\\\"/h\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"selectedRouteStats\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"stats\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"totalKmSelected\\\"],null],false],[0,\\\":\\\"],[8],[0,\\\" \\\"],[6,\\\"span\\\"],[7],[1,[25,\\\"to-fixed\\\",[[20,[\\\"totalKms\\\"]],2],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"pointer ui check-stationary circle large \\\",[25,\\\"if\\\",[[20,[\\\"allStationariesSelected\\\"]],\\\"check\\\",[25,\\\"if\\\",[[20,[\\\"someStationariesSelected\\\"]],\\\"dot outline\\\",\\\"outline\\\"],null]],null],\\\" icon\\\"]]],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"selectStationaries\\\"],null],null],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve expandOrCollapseButton\\\",[25,\\\"unless\\\",[[25,\\\"gt\\\",[[20,[\\\"stationarySelectedInterval\\\",\\\"length\\\"]],1],null],\\\" disabled\\\"],null]]]],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"expandOrCollapseSelected\\\"],null],null],[7],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[20,[\\\"allSelectedAreExpanded\\\"]],\\\"collapseSelected\\\",\\\"expandSelected\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[20,[\\\"groupedByDateRoutes\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"routeList ui list\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"groupedByDateRoutes\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dayLabel greyItemColor\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"day\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"routes\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"stationary\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"id\\\",[19,2,[\\\"id\\\"]],null],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"toggleStationaryExpand\\\",[19,2,[]]],null],null],[9,\\\"class\\\",\\\"item routeDateHeader\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"pointer ui stationary-marker\\\",[25,\\\"if\\\",[[19,2,[\\\"selected\\\"]],\\\" selected large\\\"],null],\\\" circular label\\\"]]],[7],[1,[19,2,[\\\"stationaryIndex\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pointer\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"stationary-start\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"date-to-string\\\",[[19,2,[\\\"end\\\",\\\"time\\\"]],\\\"HH:mm\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"date-to-string\\\",[[19,2,[\\\"start\\\",\\\"time\\\"]],\\\"HH:mm\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pointer stationary\\\"],[10,\\\"title\\\",[25,\\\"if\\\",[[19,2,[\\\"start\\\",\\\"popupText\\\"]],[19,2,[\\\"start\\\",\\\"popupText\\\"]],[19,2,[\\\"start\\\",\\\"text\\\"]]],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"double-clickable\\\",null,[[\\\"content\\\"],[[19,2,[\\\"start\\\",\\\"text\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"selectStationary\\\",[19,2,[]]],null],null],[10,\\\"class\\\",[26,[\\\"pointer ui fitted check-stationary circle large \\\",[25,\\\"if\\\",[[19,2,[\\\"selected\\\"]],\\\"check\\\",\\\"outline\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"onclick\\\",[25,\\\"action\\\",[[19,0,[]],\\\"toggleMovingExpand\\\",[19,2,[]]],null],null],[9,\\\"class\\\",\\\"pointer expand-status\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"ui icon fitted angle \\\",[25,\\\"if\\\",[[19,2,[\\\"expanded\\\"]],\\\"up\\\",\\\"down\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"expanded\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"id\\\",[19,2,[\\\"id\\\"]],null],[10,\\\"class\\\",[26,[\\\"item routeItemContent\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[19,2,[\\\"selected\\\"]],[25,\\\"eq\\\",[[20,[\\\"hoveredRouteID\\\"]],[19,2,[\\\"id\\\"]]],null]],null],\\\" selected\\\"],null]]]],[10,\\\"onmouseleave\\\",[25,\\\"action\\\",[[19,0,[]],\\\"routeHoverOut\\\",[19,2,[\\\"id\\\"]]],null],null],[10,\\\"onmouseenter\\\",[25,\\\"action\\\",[[19,0,[]],\\\"routeHover\\\",[19,2,[\\\"id\\\"]]],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"routeClick\\\",[19,2,[\\\"id\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"lineColumn\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"verticalLine\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"routeItemDetails greyItemColor\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"road icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[19,2,[\\\"isUnknown\\\"]],\\\"...\\\",[25,\\\"to-fixed\\\",[[19,2,[\\\"distance\\\"]],2],null]],null],false],[0,\\\" km - \\\"],[1,[25,\\\"moment-duration-format\\\",[[19,2,[\\\"duration\\\"]],\\\"ms\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"alarm sign icon \\\",[25,\\\"if\\\",[[19,2,[\\\"alerts\\\"]],\\\" redItemColor\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"warning sign icon \\\",[25,\\\"if\\\",[[19,2,[\\\"notifications\\\"]],\\\" redItemColor\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"hasReportsRouteAccess\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"reports.route\\\",[25,\\\"query-params\\\",null,[[\\\"vehicleID\\\",\\\"start\\\",\\\"end\\\"],[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"id\\\"]],[25,\\\"timestamp-to-local-tz\\\",[[19,2,[\\\"start\\\",\\\"timestamp\\\"]]],null],[25,\\\"timestamp-to-local-tz\\\",[[19,2,[\\\"end\\\",\\\"timestamp\\\"]]],null]]]]],[[\\\"bubbles\\\",\\\"title\\\",\\\"target\\\"],[false,[25,\\\"t\\\",[\\\"routeReport\\\"],null],\\\"_blank\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"calendar alternate outline sign icon\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"routes-map\\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"resolution\\\",\\\"isMobile\\\"]],[25,\\\"not-eq\\\",[[20,[\\\"selectedView\\\"]],\\\"map\\\"],null]],null],\\\" noHeight\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"map/google-maps-routes\\\",null,[[\\\"geofences\\\",\\\"mergedRoutes\\\",\\\"selectedVehicle\\\",\\\"startDate\\\",\\\"endDate\\\",\\\"selectedRoute\\\",\\\"hoveredPoint\\\",\\\"hoveredCourse\\\",\\\"hoveredRouteID\\\",\\\"routeHoverOut\\\",\\\"routeHover\\\",\\\"routeClick\\\",\\\"onStationaryClick\\\"],[[20,[\\\"model\\\",\\\"geofences\\\"]],[20,[\\\"mergedRoutes\\\"]],[20,[\\\"selectedVehicle\\\"]],[20,[\\\"routeStartDate\\\"]],[20,[\\\"routeEndDate\\\"]],[20,[\\\"selectedRoute\\\"]],[20,[\\\"hoveredLocation\\\"]],[20,[\\\"hoveredCourse\\\"]],[20,[\\\"hoveredRouteID\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"routeHoverOut\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"routeHover\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"routeClick\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onMapStationaryClick\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"selectedVehicle\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"mapCharts routes-charts\\\"],[10,\\\"onmouseout\\\",[25,\\\"action\\\",[[19,0,[]],\\\"disableHoverMarker\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"chartsMenu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui inverted top attached tabular menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],1],null],[20,[\\\"showGraph\\\",\\\"speed\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"speed\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"first\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",1,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"speed\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"speedPerHour\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],2],null],[20,[\\\"showGraph\\\",\\\"altitude\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"altitude\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"second\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",2,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"altitude\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"altitudeMeters\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],3],null],[20,[\\\"showGraph\\\",\\\"fuelLevel\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"fuelLevel\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"third\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",3,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"fuelLevel\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"fuelLevelLitres\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],4],null],[20,[\\\"showGraph\\\",\\\"fuelCanLevel\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"fuelCanLevel\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"fourth\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",4,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"fuelCanLevel\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"fuelCanLevelLitres\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],5],null],[20,[\\\"showGraph\\\",\\\"acceleration\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"acceleration\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"fifth\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",5,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"acceleration\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"accelerationG\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],6],null],[20,[\\\"showGraph\\\",\\\"rpm\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"rpm\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"sixth\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",6,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"rpm\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"rpm\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],7],null],[20,[\\\"showGraph\\\",\\\"engineState\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"engineState\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"seventh\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",7,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"engineState\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.engineState\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"hasTaxiSensor\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],8],null],[20,[\\\"showGraph\\\",\\\"taxiState\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"taxiState\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"eighth\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",8,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"taxiState\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"dashboard.liveStatus.cupola\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],9],null],[20,[\\\"showGraph\\\",\\\"temperature\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"temperature\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"nine\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",9,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"temperature\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"celsiusTemperature\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"hasAuxACSensor\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],11],null],\\\" active\\\"],null]]]],[9,\\\"data-tab\\\",\\\"eleven\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",11]],[7],[1,[25,\\\"t\\\",[\\\"auxAC.label\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"hasPowerExternalSensor\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],13],null],[20,[\\\"showGraph\\\",\\\"powerExternal\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"powerExternal\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"thirteen\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",13,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"powerExternal\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"powerExternal.label\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"hasDoorSensor\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],12],null],[20,[\\\"showGraph\\\",\\\"doors\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"doors\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"twelve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",12,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"doors\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"openDoorsStatus\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"tachograph\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],10],null],[20,[\\\"showGraph\\\",\\\"tacho\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"tacho\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"ten\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",10,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"tacho\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"tacho.status\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"adblueCapacity\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"item \\\",[25,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],12],null],[20,[\\\"showGraph\\\",\\\"adblueLevel\\\"]]],null],\\\" active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"adblueLevel\\\"]]],null],\\\"disabled\\\"],null]]]],[9,\\\"data-tab\\\",\\\"fourteen\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showChart\\\",14,[25,\\\"not\\\",[[20,[\\\"showGraph\\\",\\\"adblueLevel\\\"]]],null]]],[7],[1,[25,\\\"t\\\",[\\\"adblueLevel\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"class\\\",[26,[\\\"switchButton \\\",[25,\\\"if\\\",[[20,[\\\"noCharts\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"toggleCharts\\\"]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"showCharts\\\"]],[25,\\\"not\\\",[[20,[\\\"noCharts\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"chevron down icon noMargin\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"chevron up icon noMargin\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"showCharts\\\"]],[25,\\\"not\\\",[[20,[\\\"noCharts\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"mapChartsContent\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"speedChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],2],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"altitudeChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],3],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"fuelLevelChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],4],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"fuelCanLevelChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],5],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"accelerationChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],6],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"rpmChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],7],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"engineStateChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"hasTaxiSensor\\\"]],[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],8],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"taxiStateChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"hasAuxACSensor\\\"]],[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],11],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"auxACChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"hasPowerExternalSensor\\\"]],[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],13],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"powerExternalChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"hasDoorSensor\\\"]],[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],12],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"doorsChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"model\\\",\\\"selectedVehicle\\\",\\\"adblueCapacity\\\"]],[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],14],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"adblueLevelChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],9],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"temperatureChart\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"modules\\\",\\\"tachograph\\\"]],[25,\\\"eq\\\",[[20,[\\\"chart\\\"]],10],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\",\\\"notCalculateMaxValues\\\"],[[20,[\\\"tachoChart\\\"]],true]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/map/routes.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"wswJoKMs\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui active dimmer\\\"],[9,\\\"id\\\",\\\"account-disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui centered grid\\\"],[9,\\\"style\\\",\\\"height:100%\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui middle aligned row\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"style\\\",\\\"align-self:center\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"img\\\"],[10,\\\"src\\\",[26,[[20,[\\\"env\\\",\\\"rootURL\\\"]],\\\"assets/images/header-logo.png\\\"]]],[9,\\\"alt\\\",\\\"Tracknamic\\\"],[9,\\\"class\\\",\\\"loading logo\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui big active centered inline text account-disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h1\\\"],[7],[1,[25,\\\"t\\\",[\\\"errors.oops\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h3\\\"],[9,\\\"class\\\",\\\"back-to-login\\\"],[7],[4,\\\"link-to\\\",[\\\"login\\\"],null,{\\\"statements\\\":[[0,\\\" Login \\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/oops.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"9roamyHo\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page hasSubMenuCol\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filtersOnTablet\\\",\\\"filters\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"reports.reports\\\"],null],true,true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"menus/default-menu\\\",null,[[\\\"openedSubMenu\\\"],[\\\"reports\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"6o/TkLhr\",\"block\":\"{\\\"symbols\\\":[\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters sixCol\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,2,[]],[19,3,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,3,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"infinite-scroller hasScrollBar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\"],[[20,[\\\"formattedData\\\"]],[20,[\\\"headers\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/23.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"EvnAXx6O\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters sixCol\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,4,[]],[19,5,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,5,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"driverDetails\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"driver\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"driver\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/afterhours.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"Bj3Eit19\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"transit\\\",\\\"driver\\\",\\\"tHeader\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"reports-filters\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,9,[]],[19,10,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,10,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[10]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8,9]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"driverDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"driverName\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"licensePlates\\\",\\\"value\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"licensePlates\\\",\\\"value\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"oneVehicle\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"licensePlates\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"vehicles\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"licensePlates\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[19,7,[\\\"key\\\"]],\\\"country\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,7,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,7,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"align\\\"]],\\\" aligned nowrap\\\"]]],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[19,4,[]],[19,7,[\\\"key\\\"]]],null],\\\"unknown\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"flags flags-\\\",[25,\\\"lowercase\\\",[[25,\\\"get\\\",[[19,4,[]],[19,7,[\\\"key\\\"]]],null]],null]]]],[7],[8],[0,\\\" \\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"country-name\\\",[[25,\\\"get\\\",[[19,4,[]],[19,7,[\\\"key\\\"]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,4,[\\\"isExpanded\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"noPadding\\\"],[9,\\\"colspan\\\",\\\"9\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"countryDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"sideBorders\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.licensePlate\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.entryLocation\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.entryTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.exitLocation\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.exitTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.transitDistance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.transitCost\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.cabotageDistance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.cabotageCost\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,4,[\\\"transits\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"subRowClicked\\\",[19,5,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"startLocation\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"startTimeFormatted\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"endLocation\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"endTimeFormatted\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,5,[\\\"distanceComposed\\\",\\\"popup\\\"]]]]],[7],[1,[19,5,[\\\"distanceComposed\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"transitDuration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"transitCost\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"cabotageDuration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"cabotageCost\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,5,[\\\"subRowIsExpanded\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"noPadding\\\"],[9,\\\"colspan\\\",\\\"10\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"driverDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"sideBorders\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoTimesheet.workingDuration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoTimesheet.drivingDuration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoTimesheet.availabilityDuration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoTimesheet.restDuration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoTimesheet.activityDuration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoTimesheet.dayDuration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoTimesheet.nightDuration\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,5,[\\\"drivers\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,6,[\\\"workingDuration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,6,[\\\"drivingDuration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,6,[\\\"availableDuration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,6,[\\\"restingDuration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,6,[\\\"totalDuration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,6,[\\\"dayTimeWorkingDuration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,6,[\\\"nightTimeWorking\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/cabotage.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"XVvumk2d\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"groupedRow\\\",\\\"row\\\",\\\"index\\\",\\\"tHeader\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters sixCol\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,9,[]],[19,10,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,10,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[10]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8,9]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"drivers\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,4,[\\\"group\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"date\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,6,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"rowspan\\\",[19,4,[\\\"dateRowSpan\\\"]],null],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[25,\\\"gt\\\",[[19,4,[\\\"dateRowSpan\\\"]],1],null],\\\"tableRightBorder\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],\\\"startOfDay\\\"],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,7,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,7,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5,6]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/construction.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"dIVrLgIs\",\"block\":\"{\\\"symbols\\\":[\\\"visibleRecords\\\",\\\"row\\\",\\\"day\\\",\\\"idx\\\",\\\"header\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"maxDate\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"minDate\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,8,[]],[19,9,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,9,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7,8]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"readyData\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"infinite-scroller\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"consumptionFormat\\\"]],\\\"total\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.fuelConsumptionTotal\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.fuelConsumptionDistance\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"resultsPerPage\\\",\\\"noPagination\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[20,[\\\"readyData\\\"]],[20,[\\\"tHeaders\\\"]],20,[20,[\\\"noPagination\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,2,[\\\"totals\\\"]],[19,6,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,2,[]]]],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,2,[\\\"totals\\\"]],[19,6,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isExpanded\\\"]]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,2,[\\\"content\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"aChild\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,5,[\\\"key\\\"]],\\\"licensePlate\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not\\\",[[19,4,[]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"rowspan\\\",[19,2,[\\\"content\\\",\\\"length\\\"]],null],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,3,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,3,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/consumption.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"JUWWdLIL\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"transit\\\",\\\"tHeader\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,8,[]],[19,9,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,9,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7,8]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"driverDetails\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"driver\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[1,[19,2,[\\\"driver\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"licensePlates\\\",\\\"value\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"licensePlates\\\",\\\"value\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"oneVehicle\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"licensePlates\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"vehicles\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"licensePlates\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[19,6,[\\\"key\\\"]],\\\"country\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,6,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,6,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned nowrap\\\"]]],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[19,4,[]],[19,6,[\\\"key\\\"]]],null],\\\"unknown\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"flags flags-\\\",[25,\\\"lowercase\\\",[[25,\\\"get\\\",[[19,4,[]],[19,6,[\\\"key\\\"]]],null]],null]]]],[7],[8],[0,\\\" \\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"country-name\\\",[[25,\\\"get\\\",[[19,4,[]],[19,6,[\\\"key\\\"]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,4,[\\\"isExpanded\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"noPadding\\\"],[9,\\\"colspan\\\",\\\"9\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"countryDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"sideBorders\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"centered hasRightBorder\\\"],[9,\\\"colspan\\\",\\\"2\\\"],[7],[1,[25,\\\"t\\\",[\\\"entry\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"centered hasRightBorder\\\"],[9,\\\"colspan\\\",\\\"2\\\"],[7],[1,[25,\\\"t\\\",[\\\"exit\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"centered hasRightBorder\\\"],[9,\\\"colspan\\\",\\\"6\\\"],[7],[1,[25,\\\"t\\\",[\\\"totals\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"sideBorders\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.licensePlate\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.entryLocation\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.entryTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.exitLocation\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.exitTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.durationMoving\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.durationStationary\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.consume\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.fuelConsumptionDistance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.cost\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,4,[\\\"transits\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"startLocation\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"startTimeFormatted\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"endLocation\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"endTimeFormatted\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,5,[\\\"durationMoving\\\"]],\\\"s\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,5,[\\\"durationStationary\\\"]],\\\"s\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,5,[\\\"distanceComposed\\\",\\\"popup\\\"]]]]],[7],[1,[19,5,[\\\"distanceComposed\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,5,[\\\"fuelComposed\\\",\\\"popup\\\"]]]]],[7],[1,[19,5,[\\\"fuelComposed\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,5,[\\\"fuelConsumptionDistanceComposed\\\",\\\"popup\\\"]]]]],[7],[1,[19,5,[\\\"fuelConsumptionDistanceComposed\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,5,[\\\"cost\\\",\\\"popup\\\"]]]]],[7],[1,[19,5,[\\\"cost\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/cost.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"EYcdjVxN\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"transit\\\",\\\"driverName\\\",\\\"driver\\\",\\\"driver\\\",\\\"driver\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,12,[]],[19,13,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,13,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[13]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[11,12]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"drivers\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,10,[\\\"key\\\"]],\\\"country\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,10,[\\\"align\\\"]],\\\" aligned nowrap\\\"]]],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[19,4,[]],[19,10,[\\\"key\\\"]]],null],\\\"unknown\\\"],null]],null,{\\\"statements\\\":[[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"flags flags-\\\",[25,\\\"lowercase\\\",[[25,\\\"get\\\",[[19,4,[]],[19,10,[\\\"key\\\"]]],null]],null]]]],[7],[8],[0,\\\" \\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"country-name\\\",[[25,\\\"get\\\",[[19,4,[]],[19,10,[\\\"key\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,10,[\\\"key\\\"]],\\\"map\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,10,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[6,\\\"a\\\"],[10,\\\"href\\\",[19,4,[\\\"mapLink\\\"]],null],[9,\\\"target\\\",\\\"_blank\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map outline icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,10,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,10,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,10,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[10]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,4,[\\\"isExpanded\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"noPadding\\\"],[9,\\\"colspan\\\",\\\"10\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"countryDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"sideBorders\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"centered hasRightBorder\\\"],[9,\\\"colspan\\\",\\\"2\\\"],[7],[1,[25,\\\"t\\\",[\\\"entry\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"centered hasRightBorder\\\"],[9,\\\"colspan\\\",\\\"2\\\"],[7],[1,[25,\\\"t\\\",[\\\"exit\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"centered hasRightBorder\\\"],[9,\\\"colspan\\\",\\\"6\\\"],[7],[1,[25,\\\"t\\\",[\\\"totals\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,4,[\\\"driverFullNames\\\",\\\"value\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"centered hasRightBorder\\\"],[9,\\\"colspan\\\",\\\"3\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,9,[]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"sideBorders\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.entryLocation\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.entryTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.exitLocation\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.exitTime\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.durationMoving\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.durationStationary\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.consume\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.fuelConsumptionDistance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.cost\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,4,[\\\"driverFullNames\\\",\\\"value\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.durationMoving\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.durationStationary\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,4,[\\\"details\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"startLocation\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"startTimeFormatted\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"endLocation\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,5,[\\\"endTimeFormatted\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,5,[\\\"distanceComposed\\\",\\\"popup\\\"]]]]],[7],[1,[25,\\\"to-fixed\\\",[[19,5,[\\\"distanceComposed\\\",\\\"value\\\"]],2],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,5,[\\\"durationMoving\\\"]],\\\"s\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,5,[\\\"durationStationary\\\"]],\\\"s\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,5,[\\\"fuelComposed\\\",\\\"popup\\\"]]]]],[7],[1,[19,5,[\\\"fuelComposed\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,5,[\\\"fuelConsumptionDistanceComposed\\\",\\\"popup\\\"]]]]],[7],[1,[19,5,[\\\"fuelConsumptionDistanceComposed\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"to-fixed\\\",[[19,5,[\\\"cost\\\"]],2],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,4,[\\\"driverFullNames\\\",\\\"value\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"contains\\\",[[19,6,[]],[19,5,[\\\"driverFullNames\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"with\\\",[[25,\\\"find-by\\\",[\\\"driverFullName\\\",[19,6,[]],[19,5,[\\\"drivers\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"title\\\",[26,[[19,7,[\\\"distanceComposed\\\",\\\"popup\\\"]]]]],[7],[1,[25,\\\"to-fixed\\\",[[19,7,[\\\"distanceComposed\\\",\\\"value\\\"]],2],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,7,[\\\"durationMoving\\\"]],\\\"s\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,7,[\\\"durationStationary\\\"]],\\\"s\\\",[25,\\\"get\\\",[[25,\\\"t\\\",[\\\"durationFormat\\\"],null],\\\"string\\\"],null]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/country.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"I7+FQoC+\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"child\\\",\\\"header\\\",\\\"header\\\",\\\"vehicle\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters sixCol\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"maxDate\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"minDate\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,10,[]],[19,11,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,11,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[11]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9,10]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"reportsFilters\\\",\\\"vehicles\\\",\\\"length\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"driver\\\",\\\"fullName\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"driver\\\",\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,2,[\\\"totals\\\",\\\"totalVehicles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,8,[\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[4,\\\"if\\\",[[19,8,[\\\"slot1\\\",\\\"value\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[10,\\\"title\\\",[19,8,[\\\"slot1\\\",\\\"popup\\\"]],null],[7],[0,\\\"Slot 1: \\\"],[1,[19,8,[\\\"slot1\\\",\\\"display\\\"]],false],[0,\\\" km\\\"],[8]],\\\"parameters\\\":[]},null],[1,[25,\\\"if\\\",[[25,\\\"and\\\",[[19,8,[\\\"slot1\\\",\\\"value\\\"]],[19,8,[\\\"slot2\\\",\\\"value\\\"]]],null],\\\" | \\\"],null],false],[4,\\\"if\\\",[[19,8,[\\\"slot2\\\",\\\"value\\\"]]],null,{\\\"statements\\\":[[6,\\\"span\\\"],[10,\\\"title\\\",[19,8,[\\\"slot2\\\",\\\"popup\\\"]],null],[7],[0,\\\"Slot 2: \\\"],[1,[19,8,[\\\"slot2\\\",\\\"display\\\"]],false],[0,\\\" km\\\"],[8]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"customDataShow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"reports.settings.specific.route.\\\",[25,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"reportsTimetable\\\"]],\\\"schedule\\\",\\\"noschedule\\\"],null]],null]],null],false],[0,\\\" \\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.settings.specific.route.duration\\\"],null],false],[0,\\\": 2 min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,4,[\\\"isStationary\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"colspan\\\",\\\"20\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,4,[\\\"licensePlate\\\",\\\"display\\\"]],false],[0,\\\" - \\\"],[1,[19,4,[\\\"string\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\" hasState \\\",[19,4,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],[25,\\\"if\\\",[[25,\\\"and\\\",[[19,4,[\\\"childs\\\"]],[19,4,[\\\"childs\\\",\\\"length\\\"]]],null],\\\" hasChilds\\\"],null]]]],[10,\\\"title\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[19,4,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"map\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[6,\\\"a\\\"],[10,\\\"href\\\",[19,4,[\\\"mapLink\\\"]],null],[9,\\\"target\\\",\\\"_blank\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map outline icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,7,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"expandRow\\\",[19,4,[]]]],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,7,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[25,\\\"and\\\",[[19,4,[\\\"isExpanded\\\"]],[19,4,[\\\"childs\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,4,[\\\"childs\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,5,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\" hasState \\\",[19,5,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],\\\" isChild\\\"]]],[10,\\\"title\\\",[25,\\\"if\\\",[[19,5,[\\\"rowState\\\"]],[19,5,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,6,[\\\"key\\\"]],\\\"map\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[6,\\\"a\\\"],[10,\\\"href\\\",[19,5,[\\\"mapLink\\\"]],null],[9,\\\"target\\\",\\\"_blank\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map outline icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,6,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,6,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/driver-routes.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"idFD3h6o\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,4,[]],[19,5,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,5,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"drivers\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/engine.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"ev5GZ5Ab\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"header\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"view\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"setStartDate\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startMonthDate\\\"]],\\\"months\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"selectedDate\\\",\\\"view\\\",\\\"disabled\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[20,[\\\"reportsFilters\\\",\\\"endMonthDate\\\"]],\\\"months\\\",true,\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\"],[\\\"ui field fluid selection disabled\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"totalsRow\\\",\\\"resultsPerPage\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[19,2,[\\\"totals\\\"]],32,[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,4,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[19,4,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,5,[\\\"key\\\"]],\\\"map\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[6,\\\"a\\\"],[10,\\\"href\\\",[19,4,[\\\"mapLink\\\"]],null],[9,\\\"target\\\",\\\"_blank\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map outline icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/faz.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"7aE0J8iR\",\"block\":\"{\\\"symbols\\\":[\\\"visibleRecords\\\",\\\"row\\\",\\\"entity\\\",\\\"tHeader\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters sixCol\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"vehicles-filter \\\",[25,\\\"unless\\\",[[25,\\\"not-eq\\\",[[20,[\\\"grouping\\\"]],\\\"driver\\\"],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"drivers-filter \\\",[25,\\\"unless\\\",[[25,\\\"eq\\\",[[20,[\\\"grouping\\\"]],\\\"driver\\\"],null],\\\"disabled\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"maxDate\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"minDate\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,6,[]],[19,7,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,7,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5,6]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"readyData\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"infinite-scroller\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[20,[\\\"readyData\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[20,[\\\"readyData\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,2,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,2,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,2,[\\\"rowState\\\"]],[19,2,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,4,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,2,[]],[19,4,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,2,[]],[19,4,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isExpanded\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"noPadding\\\"],[9,\\\"colspan\\\",\\\"9\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"countryDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"sideBorders\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.name\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.distance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.consume\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.fuelConsumptionDistance\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.durationMoving\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.durationStationary\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.averageSpeed\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"hasRightBorder two wide\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.maxSpeed\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,2,[\\\"entities\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,3,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,3,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,3,[\\\"rowState\\\"]],[19,3,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"distanceComposed\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"consumptionComposed\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"fuelConsumptionDistanceComposed\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"duration\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"durationStationaryEngineOn\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"averageSpeed\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[19,3,[\\\"maxSpeed\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/fleet-summary-extended.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"ISZvTC7j\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"view\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"setStartDate\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startMonthDate\\\"]],\\\"months\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"selectedDate\\\",\\\"view\\\",\\\"disabled\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[20,[\\\"reportsFilters\\\",\\\"endMonthDate\\\"]],\\\"months\\\",true,\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\"],[\\\"ui field fluid selection disabled\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"readyData\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"infinite-scroller\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[20,[\\\"readyData\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[20,[\\\"readyData\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/fleet-summary.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"5RlgZ/3T\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"header\\\",\\\"index\\\",\\\"row\\\",\\\"child\\\",\\\"header\\\",\\\"header\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"maxDate\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"minDate\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,13,[]],[19,14,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,14,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[14]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[12,13]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"openImportModal\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"importFueling\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"showFuelImportModal\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[1,[25,\\\"react/components/fuel-import\\\",null,[[\\\"hide\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"hideModalImport\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"reportsFilters\\\",\\\"vehicles\\\",\\\"length\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,3,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"addFueling\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"addFueling\\\",[19,3,[\\\"vehicle\\\",\\\"id\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon addFuelingPlus\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"addFueling bigger icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"showGraphic\\\"],null]]]],[9,\\\"class\\\",\\\"notSelect\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleGraph\\\",[19,3,[]]]],[7],[0,\\\" \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,3,[\\\"showGraph\\\"]],\\\"opacityIcon\\\"],null],\\\" line chart icon showGraphLine\\\"]]],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[19,3,[\\\"vehicle\\\",\\\"hasCan\\\"]],[19,3,[\\\"vehicle\\\",\\\"hasProbe\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"currentUser\\\",\\\"fuelSource\\\"]],[25,\\\"eq\\\",[[20,[\\\"currentUser\\\",\\\"fuelSource\\\"]],\\\"can\\\"],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"fuelSource.can\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"fuelSource.sensor\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,3,[\\\"showGraph\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,3,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/fuel-level\\\",null,[[\\\"data\\\",\\\"fuelCapacity\\\",\\\"isCng\\\"],[[19,3,[\\\"graph\\\"]],[19,3,[\\\"vehicle\\\",\\\"fuel\\\",\\\"capacity\\\"]],[19,3,[\\\"vehicle\\\",\\\"isCng\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,3,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"noPagination\\\",\\\"selectedColumns\\\"],[[19,3,[\\\"content\\\"]],[20,[\\\"noPagination\\\"]],[20,[\\\"selectedColumns\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[[19,11,[\\\"align\\\"]],\\\" aligned column\\\"]]],[10,\\\"data-value\\\",[19,11,[\\\"key\\\"]],null],[9,\\\"draggable\\\",\\\"true\\\"],[9,\\\"style\\\",\\\"cursor: pointer\\\"],[10,\\\"ondragover\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondragover\\\"],null],null],[10,\\\"ondrop\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondrop\\\"],null],null],[10,\\\"ondragstart\\\",[25,\\\"action\\\",[[19,0,[]],\\\"ondragstart\\\"],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[19,11,[\\\"translationKey\\\"]]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[11]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"right aligned\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,4,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,7,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,7,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],[25,\\\"if\\\",[[25,\\\"and\\\",[[19,7,[\\\"childs\\\"]],[19,7,[\\\"childs\\\",\\\"length\\\"]]],null],\\\" hasChilds\\\"],null]]]],[10,\\\"title\\\",[25,\\\"if\\\",[[19,7,[\\\"rowState\\\"]],[19,7,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,10,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,7,[]],[19,10,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"expandRow\\\",[19,7,[]]]],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,7,[]],[19,10,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[10]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"right aligned operations fuel-level-operation\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"is-empty\\\",[[19,7,[\\\"childs\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"unless\\\",[[25,\\\"or\\\",[[25,\\\"or\\\",[[19,7,[\\\"fluctuation\\\",\\\"isFluctuation\\\"]],[19,7,[\\\"fluctuation\\\",\\\"isProcessing\\\"]]],null],[25,\\\"or\\\",[[19,7,[\\\"fluctuation\\\",\\\"isDrop\\\"]],[19,7,[\\\"fluctuation\\\",\\\"isFull\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions pointer fullToFull\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"messages.fullFuel\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setFull\\\",[19,7,[]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,7,[\\\"fluctuation\\\",\\\"isFull\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions fullToFullGreen\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"messages.fullFueled\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions fullToFull disabled\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[4,\\\"unless\\\",[[25,\\\"or\\\",[[19,7,[\\\"manualFueling\\\",\\\"onlyManual\\\"]],[25,\\\"or\\\",[[19,7,[\\\"fluctuation\\\",\\\"isFluctuation\\\"]],[19,7,[\\\"fluctuation\\\",\\\"isProcessing\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions pointer fluctuation\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"messages.fluctuationFuel\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setFluctuation\\\",[19,7,[]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions fluctuation disabled\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[19,7,[\\\"manualFueling\\\",\\\"isManualFueling\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions pointer trash\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"messages.deleteFueling\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"deleteFueling\\\",[19,7,[\\\"manualFueling\\\",\\\"refuelID\\\"]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions trash disabled\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[19,7,[\\\"isExpanded\\\"]],[19,7,[\\\"childs\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,7,[\\\"childs\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,8,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,8,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],\\\" isChild\\\"]]],[10,\\\"title\\\",[25,\\\"if\\\",[[19,8,[\\\"rowState\\\"]],[19,8,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,9,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,8,[]],[19,9,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,8,[]],[19,9,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"right aligned operations fuel-level-operation\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[25,\\\"or\\\",[[25,\\\"or\\\",[[19,8,[\\\"fluctuation\\\",\\\"isFluctuation\\\"]],[19,8,[\\\"fluctuation\\\",\\\"isProcessing\\\"]]],null],[25,\\\"or\\\",[[19,8,[\\\"fluctuation\\\",\\\"isDrop\\\"]],[19,8,[\\\"fluctuation\\\",\\\"isFull\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions pointer fullToFull\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"messages.fullFuel\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setFull\\\",[19,8,[]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,8,[\\\"fluctuation\\\",\\\"isFull\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions fullToFullGreen\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"messages.fullFueled\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions fullToFull disabled\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[4,\\\"unless\\\",[[25,\\\"or\\\",[[19,8,[\\\"manualFueling\\\",\\\"onlyManual\\\"]],[25,\\\"or\\\",[[19,8,[\\\"fluctuation\\\",\\\"isFluctuation\\\"]],[19,8,[\\\"fluctuation\\\",\\\"isProcessing\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions pointer fluctuation\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"messages.fluctuationFuel\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"setFluctuation\\\",[19,8,[]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dc-icon fuel-level-actions fluctuation disabled\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"totalRow\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,6,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned totalRow\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"total\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"get\\\",[[19,3,[\\\"totals\\\"]],[19,5,[\\\"key\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned totalRow\\\"]]],[10,\\\"title\\\",[26,[[25,\\\"get\\\",[[25,\\\"get\\\",[[19,3,[\\\"totals\\\"]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[25,\\\"get\\\",[[19,3,[\\\"totals\\\"]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],[24]],null],[25,\\\"get\\\",[[25,\\\"get\\\",[[19,3,[\\\"totals\\\"]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],[25,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[19,3,[\\\"totals\\\"]],[19,5,[\\\"key\\\"]]],null],[24]],null],[25,\\\"get\\\",[[19,3,[\\\"totals\\\"]],[19,5,[\\\"key\\\"]]],null]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[5,6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[4,\\\"each\\\",[[20,[\\\"unusedVehicles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"addFueling\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"addFueling\\\",[19,2,[\\\"vehicle\\\",\\\"id\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon addFuelingPlus\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"addFueling bigger icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"showGraphic\\\"],null]]]],[9,\\\"class\\\",\\\"notSelect\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"toggleGraph\\\",[19,2,[]]]],[7],[0,\\\" \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,2,[\\\"showGraph\\\"]],\\\"opacityIcon \\\"],null],\\\"line chart icon showGraphLine\\\"]]],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"showGraph\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/fuel-level\\\",null,[[\\\"data\\\",\\\"fuelCapacity\\\",\\\"isCng\\\"],[[19,2,[\\\"graph\\\"]],[19,2,[\\\"vehicle\\\",\\\"fuel\\\",\\\"capacity\\\"]],[19,2,[\\\"vehicle\\\",\\\"isCng\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/fuel-level.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"6YJJd/C6\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"huyDEC2R\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,7,[]],[19,8,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,8,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6,7]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"date\\\",\\\"display\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"totalsRow\\\",\\\"resultsPerPage\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[19,2,[\\\"totals\\\"]],32,[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,4,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[19,4,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,5,[\\\"key\\\"]],\\\"map\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[6,\\\"a\\\"],[10,\\\"href\\\",[19,4,[\\\"mapLink\\\"]],null],[9,\\\"target\\\",\\\"_blank\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map outline icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/km-day.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"NDiBJGJf\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,4,[]],[19,5,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,5,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"reportsFilters\\\",\\\"vehicles\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/obu-tickets.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"O4Gf3TBZ\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,4,[]],[19,5,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,5,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"text\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"totalsRow\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"selectedColumns\\\"],[[19,2,[\\\"content\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[20,[\\\"selectedColumns\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/performance.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"R9NE/fiZ\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"tHeader\\\",\\\"geofence\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters sevenCol\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,8,[]],[19,9,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,9,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7,8]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"geofences-filter\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"fullTextSearch\\\",\\\"useLabels\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"fluid multiple search selection icons\\\",\\\"exact\\\",false,[20,[\\\"reportsFilters\\\",\\\"selectedGeofences\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectGeofences\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"geofences\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"geofences\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"data-value\\\",[26,[[19,6,[\\\"id\\\"]]]]],[9,\\\"class\\\",\\\"item\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[19,6,[\\\"fullName\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"reportsFilters\\\",\\\"selectedGeofences\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"removeGeofencesIcon\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"theIcon pointerCursor\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"selectGeofences\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\tX\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"openImportModal\\\",\\\"makeRequest\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"importPlans\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[25,\\\"if\\\",[[19,2,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],[19,2,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],\\\"\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"drivers\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"customDataShow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.settings.specific.route.duration\\\"],null],false],[0,\\\": \\\"],[1,[20,[\\\"currentUser\\\",\\\"stationaryDuration\\\"]],false],[0,\\\" min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.poi.window\\\"],null],false],[0,\\\": \\\"],[1,[20,[\\\"currentUser\\\",\\\"windowDuration\\\"]],false],[0,\\\" min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[19,5,[\\\"key\\\"]],\\\"state\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[25,\\\"concat\\\",[\\\"icon circle poiStatus \\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"value\\\"],null]],null],null],[10,\\\"title\\\",[26,[[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"value\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/poi.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"wHCUJ1Tr\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"vehicle\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"child\\\",\\\"header\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"maxDate\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"onSelect\\\",\\\"selectedDate\\\",\\\"minDate\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\",true],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,10,[]],[19,11,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,11,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[11]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9,10]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"reportsFilters\\\",\\\"vehicles\\\",\\\"length\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[10,\\\"data-plate\\\",[19,3,[\\\"vehicle\\\",\\\"licensePlate\\\"]],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,3,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[19,3,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,3,[\\\"drivers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,3,[\\\"drivers\\\",\\\"length\\\"]],1],null],\\\"driver\\\",\\\"drivers\\\"],null]],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,3,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"modules\\\",\\\"report102\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"linkStyle\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showDetailedReportModal\\\",[19,3,[\\\"vehicle\\\",\\\"id\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"t\\\",[\\\"messages.generateDetailedReport\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"customDataShow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"reports.settings.specific.route.\\\",[25,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"reportsTimetable\\\"]],\\\"schedule\\\",\\\"noschedule\\\"],null]],null]],null],false],[0,\\\" \\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,3,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,3,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[19,3,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,4,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,5,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,5,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],[25,\\\"if\\\",[[25,\\\"and\\\",[[19,5,[\\\"childs\\\"]],[19,5,[\\\"childs\\\",\\\"length\\\"]]],null],\\\" hasChilds\\\"],null]]]],[10,\\\"title\\\",[25,\\\"if\\\",[[19,5,[\\\"rowState\\\"]],[19,5,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,8,[\\\"key\\\"]],\\\"map\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,8,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[6,\\\"a\\\"],[10,\\\"href\\\",[19,5,[\\\"mapLink\\\"]],null],[9,\\\"target\\\",\\\"_blank\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map outline icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,8,[\\\"key\\\"]],\\\"purpose\\\"],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not\\\",[[19,5,[\\\"childs\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/dropdown-editable\\\",null,[[\\\"class\\\",\\\"extraAction\\\",\\\"selected\\\"],[\\\"purpose-drowpdown right aligned\\\",[25,\\\"action\\\",[[19,0,[]],\\\"savePurposeForRoute\\\",[19,5,[\\\"rowState\\\",\\\"routeID\\\"]]],null],[19,5,[\\\"purpose\\\",\\\"value\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"expandRow\\\",[19,5,[]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,8,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,8,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"expandRow\\\",[19,5,[]]]],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,8,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[19,5,[\\\"isExpanded\\\"]],[19,5,[\\\"childs\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,5,[\\\"childs\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,6,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,6,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],\\\" isChild\\\"]]],[10,\\\"title\\\",[25,\\\"if\\\",[[19,6,[\\\"rowState\\\"]],[19,6,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"map\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[6,\\\"a\\\"],[10,\\\"href\\\",[19,6,[\\\"mapLink\\\"]],null],[9,\\\"target\\\",\\\"_blank\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map outline icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,7,[\\\"key\\\"]],\\\"purpose\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[0,\\\"\\\\n\\\"],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/dropdown-editable\\\",null,[[\\\"class\\\",\\\"extraAction\\\",\\\"selected\\\"],[\\\"purpose-drowpdown\\\",[25,\\\"action\\\",[[19,0,[]],\\\"savePurposeForRoute\\\",[19,6,[\\\"rowState\\\",\\\"routeID\\\"]]],null],[19,6,[\\\"purpose\\\",\\\"value\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,7,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,6,[]],[19,7,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,6,[]],[19,7,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[5]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"modules\\\",\\\"report102\\\"]]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"unusedVehicles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[10,\\\"data-plate\\\",[19,2,[\\\"licensePlate\\\"]],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"linkStyle\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showDetailedReportModal\\\",[19,2,[\\\"id\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"t\\\",[\\\"messages.generateDetailedReport\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"customDataShow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"reports.settings.specific.route.\\\",[25,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"reportsTimetable\\\"]],\\\"schedule\\\",\\\"noschedule\\\"],null]],null]],null],false],[0,\\\" \\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.settings.specific.route.duration\\\"],null],false],[0,\\\": \\\"],[1,[20,[\\\"currentUser\\\",\\\"stationaryDuration\\\"]],false],[0,\\\" min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/route.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"+MqYmOly\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,4,[]],[19,5,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,5,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"drivers\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"customDataShow\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.settings.specific.route.duration\\\"],null],false],[0,\\\": \\\"],[1,[20,[\\\"currentUser\\\",\\\"stationaryDuration\\\"]],false],[0,\\\" min\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/stationary.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"5rLngcJg\",\"block\":\"{\\\"symbols\\\":[\\\"visibleRecords\\\",\\\"row\\\",\\\"header\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters sixCol\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,8,[]],[19,9,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,9,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[9]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7,8]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"openImportModal\\\",\\\"print\\\",\\\"makeRequest\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"specificDownload\\\",\\\"specificDownloadAction\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"openDownloadModal\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"selectedRowsCount\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"multipleDownload\\\"],null],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"infinite-scroller hasScrollBar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoFiles.vehicles\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[20,[\\\"formattedData\\\",\\\"vehicles\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"selectableRows\\\"],[[20,[\\\"formattedData\\\",\\\"vehicles\\\"]],[20,[\\\"headers\\\",\\\"vehicles\\\"]],true]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,4,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,5,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,5,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,5,[\\\"rowState\\\"]],[19,5,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"selectRow\\\",[19,5,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"large square \\\",[25,\\\"if\\\",[[19,5,[\\\"isSelected\\\"]],\\\"check \\\"],null],\\\"fitted outline icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"headers\\\",\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,6,[\\\"key\\\"]],\\\"filename\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned action\\\"]]],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",[19,5,[]]]],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,6,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,6,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,5,[]],[19,6,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.tachoFiles.drivers\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[20,[\\\"formattedData\\\",\\\"drivers\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"selectableRows\\\"],[[20,[\\\"formattedData\\\",\\\"drivers\\\"]],[20,[\\\"headers\\\",\\\"drivers\\\"]],true]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,2,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,2,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,2,[\\\"rowState\\\"]],[19,2,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[9,\\\"class\\\",\\\"icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"selectRow\\\",[19,2,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"large square \\\",[25,\\\"if\\\",[[19,2,[\\\"isSelected\\\"]],\\\"check \\\"],null],\\\"fitted outline icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"headers\\\",\\\"drivers\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,3,[\\\"key\\\"]],\\\"filename\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,3,[\\\"align\\\"]],\\\" aligned action\\\"]]],[3,\\\"action\\\",[[19,0,[]],\\\"download\\\",[19,2,[]]]],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,2,[]],[19,3,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,3,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,2,[]],[19,3,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,2,[]],[19,3,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/tacho-files.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"5DEJKGaX\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"drivers-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/drivers-dropdown\\\",null,[[\\\"drivers\\\",\\\"reformatData\\\"],[[20,[\\\"users\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,7,[]],[19,8,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,8,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6,7]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"reformatData\\\",\\\"willDownload\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"willDownload\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"text\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"span\\\"],[10,\\\"title\\\",[25,\\\"t\\\",[\\\"reports.headerFields.utcTimezonePopup\\\"],null],null],[7],[0,\\\"UTC\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"totalsRow\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,4,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[19,4,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"fakeID\\\"]],[25,\\\"eq\\\",[[19,4,[\\\"fakeID\\\"]],[20,[\\\"fakeID\\\"]]],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[6,\\\"td\\\"],[10,\\\"colspan\\\",[20,[\\\"tHeaders\\\",\\\"length\\\"]],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/tacho-chart\\\",null,[[\\\"activityList\\\"],[[19,4,[\\\"activityList\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"charts/tacho-legend\\\"],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/tacho-timesheet.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"3cJtq/Jb\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,7,[]],[19,8,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,8,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6,7]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"drivers\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.taxi.distanceOccupied\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[10,\\\"title\\\",[26,[[19,2,[\\\"specificHeader\\\",\\\"distanceComposedOccupied\\\",\\\"popup\\\"]]]]],[7],[1,[25,\\\"to-fixed\\\",[[19,2,[\\\"specificHeader\\\",\\\"distanceComposedOccupied\\\",\\\"value\\\"]],2,true],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.taxi.distanceAvailable\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[10,\\\"title\\\",[26,[[19,2,[\\\"specificHeader\\\",\\\"distanceComposedAvailable\\\",\\\"popup\\\"]]]]],[7],[1,[25,\\\"to-fixed\\\",[[19,2,[\\\"specificHeader\\\",\\\"distanceComposedAvailable\\\",\\\"value\\\"]],2,true],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"status circle engineOff icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.taxi.durationOccupied\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,2,[\\\"specificHeader\\\",\\\"durationOccupied\\\"]],\\\"s\\\",\\\"DD[z] hh[h] mm[m] ss[s]\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"status circle engineOn icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.taxi.durationAvailable\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,2,[\\\"specificHeader\\\",\\\"durationAvailable\\\"]],\\\"s\\\",\\\"DD[z] hh[h] mm[m] ss[s]\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"status circle none icon\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"reports.headerFields.specific.taxi.durationOff\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"moment-duration-format\\\",[[19,2,[\\\"specificHeader\\\",\\\"durationOff\\\"]],\\\"s\\\",\\\"DD[z] hh[h] mm[m] ss[s]\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,5,[\\\"key\\\"]],\\\"taxiState\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"status circle \\\",[25,\\\"if\\\",[[19,4,[\\\"cupolaColor\\\"]],[19,4,[\\\"cupolaColor\\\"]],\\\"na\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\" \\\"],[1,[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/taxi.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"fkS7vw7O\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,4,[]],[19,5,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,5,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"sensor\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/temperature-range.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"7k4CM+Ix\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"header\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,7,[]],[19,8,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,8,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6,7]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"sensor\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"a\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"showGraphic\\\"],null]]]],[9,\\\"class\\\",\\\"notSelect\\\"],[3,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,2,[\\\"showChart\\\"]]],null],[25,\\\"not\\\",[[19,2,[\\\"showChart\\\"]]],null]]],[7],[0,\\\" \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,2,[\\\"showChart\\\"]],\\\"opacityIcon \\\"],null],\\\"line chart icon showGraphLine\\\"]]],[7],[8],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"showChart\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"charts/apex-chart\\\",null,[[\\\"options\\\"],[[19,2,[\\\"chartOptions\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeadersPresent\\\"]],[20,[\\\"noPagination\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,4,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[19,4,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeadersPresent\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,5,[\\\"key\\\"]],\\\"freezer\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"is-empty\\\",[[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"value\\\"],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"freezer \\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"state\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\" \\\"],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned \\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"class\\\"],null]]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/temperature.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"a0ZnKrPa\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters sixCol\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"class\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"dc-input\\\",[25,\\\"concat\\\",[[25,\\\"t\\\",[\\\"search\\\"],null],\\\" \\\",[25,\\\"t\\\",[\\\"driverss\\\"],null]],null],[20,[\\\"searchUsers\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,4,[]],[19,5,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,5,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"reformatData\\\",\\\"groups\\\",\\\"report\\\"],[[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"groups\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"drivers\\\",\\\"length\\\"]],1],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"driver\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"drivers\\\"],null],false],[0,\\\": \\\"],[6,\\\"b\\\"],[7],[1,[25,\\\"union\\\",[[19,2,[\\\"drivers\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"br\\\"],[7],[8],[1,[25,\\\"t\\\",[\\\"noDriver\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/timesheet.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"MnPNfRz9\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"tHeader\\\",\\\"execute\\\",\\\"mapper\\\",\\\"period\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"reports-filters\\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\" hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\",\\\"makeRequest\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"maxDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"selectedDate\\\",\\\"onHide\\\",\\\"minDate\\\",\\\"class\\\",\\\"iconPosition\\\"],[[20,[\\\"reportsFilters\\\",\\\"endDate\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"onH\\\"],null],[20,[\\\"reportsFilters\\\",\\\"startDate\\\"]],\\\"datepickers \\\",\\\" ui left icon fluid input\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"ui field fluid selection\\\",[20,[\\\"reportsFilters\\\",\\\"selectedPeriod\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"selectPeriod\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"reportsFilters\\\",\\\"periods\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[25,\\\"map-value\\\",[[19,7,[]],[19,8,[]]],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"time.\\\",[19,8,[]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[6,7]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"print\\\",\\\"makeRequest\\\",\\\"reformatData\\\",\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"print\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"makeRequest\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"reformatData\\\"],null],[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[20,[\\\"empty\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-table\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-header\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"noPagination\\\",\\\"totalsRow\\\",\\\"selectedColumns\\\",\\\"updateHeaders\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[20,[\\\"noPagination\\\"]],[19,2,[\\\"totals\\\"]],[20,[\\\"selectedColumns\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updateHeaders\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[19,5,[\\\"key\\\"]],\\\"country\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,5,[\\\"align\\\"]],\\\" aligned nowrap\\\"]]],[3,\\\"action\\\",[[19,0,[]],\\\"rowClicked\\\",[19,4,[]]]],[7],[4,\\\"if\\\",[[25,\\\"not-eq\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null],\\\"unknown\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"flags flags-\\\",[25,\\\"lowercase\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null]],null]]]],[7],[8],[0,\\\" \\\"]],\\\"parameters\\\":[]},null],[1,[25,\\\"country-name\\\",[[25,\\\"get\\\",[[19,4,[]],[19,5,[\\\"key\\\"]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/reports/transits.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"/Jng1OjB\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page hasSubMenuCol\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filters\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"rer.title\\\"],null],true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"menus/default-menu\\\",null,[[\\\"openedSubMenu\\\"],[\\\"rer\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"siteContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/rer.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"iSgpi0Me\",\"block\":\"{\\\"symbols\\\":[\\\"g\\\",\\\"geofence\\\",\\\"vehicle\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"map-pane\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"g-map\\\",null,[[\\\"zoom\\\",\\\"clickableIcons\\\",\\\"onLoad\\\",\\\"onZoomChanged\\\"],[7,false,[25,\\\"action\\\",[[19,0,[]],\\\"onLoad\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onZoomChanged\\\"],null]]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"marker\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"icon\\\",\\\"optimized\\\",\\\"onMouseover\\\",\\\"onMouseout\\\"],[[19,3,[\\\"status\\\",\\\"locationLatLng\\\",\\\"lat\\\"]],[19,3,[\\\"status\\\",\\\"locationLatLng\\\",\\\"lng\\\"]],[25,\\\"hash\\\",null,[[\\\"scaledSize\\\",\\\"url\\\"],[[25,\\\"hash\\\",null,[[\\\"width\\\",\\\"height\\\"],[40,40]]],[25,\\\"url\\\",[\\\"assets/images/default_marker.png\\\"],null]]]],false,[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,3,[\\\"isMouseOver\\\"]]],null],true],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,3,[\\\"isMouseOver\\\"]]],null],false],null]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,3,[\\\"isMouseOver\\\"]]],null,{\\\"statements\\\":[[4,\\\"component\\\",[[19,1,[\\\"overlay\\\"]]],[[\\\"lat\\\",\\\"lng\\\",\\\"innerContainerStyle\\\"],[[19,3,[\\\"status\\\",\\\"locationLatLng\\\",\\\"lat\\\"]],[19,3,[\\\"status\\\",\\\"locationLatLng\\\",\\\"lng\\\"]],[25,\\\"html-safe\\\",[\\\"transform: translateX(-50%) translateY(-70px);\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tooltip\\\"],[7],[1,[19,3,[\\\"licensePlate\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[3]},null],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"geofences\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"shape\\\",\\\"type\\\"]],\\\"Polygon\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"polygon\\\"]]],[[\\\"paths\\\",\\\"strokeColor\\\",\\\"fillColor\\\",\\\"clickable\\\"],[[19,2,[\\\"shape\\\",\\\"coordinates\\\"]],[19,2,[\\\"color\\\"]],[19,2,[\\\"color\\\"]],false]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[19,2,[\\\"shape\\\",\\\"type\\\"]],\\\"Point\\\"],null],[25,\\\"gt\\\",[[20,[\\\"zoom\\\"]],16],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"component\\\",[[19,1,[\\\"marker\\\"]]],[[\\\"position\\\",\\\"icon\\\",\\\"optimized\\\",\\\"clickable\\\"],[[19,2,[\\\"shape\\\",\\\"coordinates\\\",\\\"firstObject\\\"]],[25,\\\"hash\\\",null,[[\\\"scaledSize\\\",\\\"anchor\\\",\\\"url\\\"],[[25,\\\"hash\\\",null,[[\\\"width\\\",\\\"height\\\"],[20,20]]],[25,\\\"hash\\\",null,[[\\\"x\\\",\\\"y\\\"],[10,10]]],[25,\\\"if\\\",[[19,2,[\\\"visited\\\"]],[25,\\\"url\\\",[\\\"assets/images/icoane_green.png\\\"],null],[25,\\\"url\\\",[\\\"assets/images/icoane_gray.png\\\"],null]],null]]]],false,false]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/rer/map.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"WLl/9wSX\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"tableData\\\",\\\"visibleRecords\\\",\\\"row\\\",\\\"pickup\\\",\\\"header\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"reports\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"reports-filters\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicles-filter\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/groups-vehicles\\\",null,[[\\\"groups\\\",\\\"vehicles\\\"],[[20,[\\\"groups\\\"]],[20,[\\\"vehicles\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"start-date\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"selectedDate\\\",\\\"view\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[20,[\\\"reportsFilters\\\",\\\"startMonthDate\\\"]],\\\"months\\\",\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"end-date disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/air-datepicker\\\",null,[[\\\"iconPosition\\\",\\\"autoClose\\\",\\\"class\\\",\\\"selectedDate\\\",\\\"view\\\",\\\"disabled\\\",\\\"dateFormat\\\",\\\"pickerType\\\"],[\\\" ui left icon fluid input\\\",true,\\\"datepickers \\\",[20,[\\\"reportsFilters\\\",\\\"endMonthDate\\\"]],\\\"months\\\",true,\\\"DD/MM/YYYY\\\",\\\"date\\\"]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"range-date\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\"],[\\\"ui field fluid selection disabled\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"time.period\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"reports/report-actions\\\",null,[[\\\"vehicles\\\",\\\"selectedColumns\\\",\\\"report\\\"],[[20,[\\\"vehicles\\\"]],[20,[\\\"selectedColumns\\\"]],[20,[\\\"report\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"report-tables\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"simple-loader\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"not\\\",[[20,[\\\"scrolledRecords\\\",\\\"length\\\"]]],null],[20,[\\\"empty\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"messages.noRecords\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"75%\\\"]],{\\\"statements\\\":[[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[10,\\\"class\\\",[26,[\\\"noBorder \\\",[25,\\\"if\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\"\\\",\\\"ui table\\\"],null]]]],[10,\\\"data-plate\\\",[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],null],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"caption\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableHeader\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"leftSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"vehicleDetails\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"b\\\"],[7],[1,[19,2,[\\\"vehicle\\\",\\\"licensePlate\\\"]],false],[0,\\\" - \\\"],[1,[19,2,[\\\"vehicle\\\",\\\"group\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"rightSide\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"generatedAt\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"reports.headerFields.generatedAt\\\"],null],false],[0,\\\" \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"DD.MM.YYYY HH:mm:ss\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"gt\\\",[[19,2,[\\\"content\\\",\\\"length\\\"]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"noPadding\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"noPadding noBorder\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"reports/dc-table\\\",null,[[\\\"data\\\",\\\"tHeaders\\\",\\\"totalsRow\\\",\\\"resultsPerPage\\\",\\\"selectedColumns\\\"],[[19,2,[\\\"content\\\"]],[20,[\\\"tHeaders\\\"]],[19,2,[\\\"totals\\\"]],32,[20,[\\\"selectedColumns\\\"]]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[10,\\\"class\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[25,\\\"concat\\\",[\\\"hasState \\\",[19,4,[\\\"rowState\\\",\\\"color\\\"]]],null]],null],null],[10,\\\"title\\\",[25,\\\"if\\\",[[19,4,[\\\"rowState\\\"]],[19,4,[\\\"rowState\\\",\\\"popup\\\"]]],null],null],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,6,[\\\"key\\\"]],\\\"map\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned\\\"]]],[7],[6,\\\"a\\\"],[10,\\\"href\\\",[19,4,[\\\"mapLink\\\"]],null],[9,\\\"target\\\",\\\"_blank\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"map outline icon\\\"],[7],[8],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[[19,6,[\\\"align\\\"]],\\\" aligned\\\"]]],[10,\\\"title\\\",[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,6,[\\\"key\\\"]]],null],\\\"popup\\\"],null],null],[7],[1,[25,\\\"get\\\",[[25,\\\"get\\\",[[19,4,[]],[19,6,[\\\"key\\\"]]],null],\\\"display\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[1,[19,4,[\\\"zone\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,4,[\\\"pickups\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[1,[19,5,[\\\"timestamp\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[1,[19,5,[\\\"container\\\",\\\"volume\\\"]],false],[0,\\\" L\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"rer.containers.types.\\\",[19,5,[\\\"container\\\",\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[1,[19,5,[\\\"container\\\",\\\"address\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[1,[19,5,[\\\"subscriber\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/rer/pickups.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"b2XemO6Q\",\"block\":\"{\\\"symbols\\\":[\\\"subscriber\\\",\\\"container\\\",\\\"tHeader\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageFilters twoFilters\\\"],[7],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon fluid input\\\"],[7],[0,\\\"\\\\n        \\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"search\\\"],null],[20,[\\\"searchValue\\\"]]]]],false],[0,\\\"\\\\n        \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"ui green fluid button\\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isTablet\\\"]],[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null],\\\" small\\\"],null]]]],[7],[0,\\\"\\\\n        \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"plus icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"rer.subscribers.actions.add\\\"],null],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"subscribers\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"tableContainer\\\"],[7],[0,\\\"\\\\n            \\\"],[6,\\\"table\\\"],[9,\\\"id\\\",\\\"managementTable\\\"],[9,\\\"class\\\",\\\"ui celled unstackable selectable table\\\"],[7],[0,\\\"\\\\n                \\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n                    \\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"tHeaders\\\"]]],null,{\\\"statements\\\":[[0,\\\"                            \\\"],[6,\\\"th\\\"],[10,\\\"class\\\",[26,[[25,\\\"if\\\",[[19,3,[\\\"align\\\"]],[25,\\\"concat\\\",[[19,3,[\\\"align\\\"]],\\\" aligned\\\"],null],\\\"center aligned\\\"],null]]]],[10,\\\"data-key\\\",[19,3,[\\\"key\\\"]],null],[7],[1,[25,\\\"t\\\",[[19,3,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"                        \\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n                    \\\"],[8],[0,\\\"\\\\n                \\\"],[8],[0,\\\"\\\\n                \\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"subscribers\\\"]]],null,{\\\"statements\\\":[[0,\\\"                        \\\"],[6,\\\"tr\\\"],[10,\\\"id\\\",[26,[[25,\\\"if\\\",[[19,1,[\\\"id\\\"]],[19,1,[\\\"id\\\"]]],null]]]],[7],[0,\\\"\\\\n                            \\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[1,[19,1,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n                            \\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"containers\\\"]]],null,{\\\"statements\\\":[[0,\\\"                                    \\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n                                        \\\"],[6,\\\"td\\\"],[7],[1,[19,2,[\\\"volume\\\"]],false],[0,\\\" L\\\"],[8],[0,\\\"\\\\n                                        \\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"rer.containers.types.\\\",[19,2,[\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n                                        \\\"],[6,\\\"td\\\"],[7],[1,[19,2,[\\\"address\\\"]],false],[8],[0,\\\"\\\\n                                    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"                            \\\"],[8],[0,\\\"\\\\n                            \\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned\\\"],[9,\\\"class\\\",\\\"operations\\\"],[7],[0,\\\"\\\\n                                \\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"edit outline icon\\\"],[7],[8],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[25,\\\"eq\\\",[[19,1,[\\\"role\\\"]],\\\"admin\\\"],null]],null,{\\\"statements\\\":[[0,\\\"                                    \\\"],[6,\\\"a\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"trash alternate outline icon deleteID\\\"],[7],[8],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"                                    \\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"icon deleteID\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"                            \\\"],[8],[0,\\\"\\\\n                        \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"                \\\"],[8],[0,\\\"\\\\n            \\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[1,[25,\\\"messages/message-info\\\",null,[[\\\"msg\\\"],[[25,\\\"t\\\",[\\\"dashboard.noData\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/rer/subscribers.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"O8w4PCo/\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page hasSubMenuCol\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filters\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"settings.settings\\\"],null],true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"menus/default-menu\\\",null,[[\\\"openedSubMenu\\\"],[\\\"settings\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"uu7aUiyi\",\"block\":\"{\\\"symbols\\\":[\\\"report\\\",\\\"lang\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"form\\\"],[9,\\\"class\\\",\\\"ui form account\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"h4\\\"],[9,\\\"class\\\",\\\"ui dividing header\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.accountInformation\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.email\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"readonly\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"email\\\",true,[25,\\\"t\\\",[\\\"management.users.email\\\"],null],[20,[\\\"currentUser\\\",\\\"user\\\",\\\"email\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.firstName\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"readonly\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"firstName\\\",true,[25,\\\"t\\\",[\\\"management.users.firstName\\\"],null],[20,[\\\"currentUser\\\",\\\"user\\\",\\\"firstName\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.lastName\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"readonly\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"lastName\\\",true,[25,\\\"t\\\",[\\\"management.users.lastName\\\"],null],[20,[\\\"currentUser\\\",\\\"user\\\",\\\"lastName\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field disabled\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.phoneNumber\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"readonly\\\",\\\"placeholder\\\",\\\"value\\\"],[\\\"phoneNumber\\\",true,[25,\\\"t\\\",[\\\"management.users.phoneNumber\\\"],null],[20,[\\\"currentUser\\\",\\\"user\\\",\\\"phoneNumber\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.language\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"fluid selection\\\",[20,[\\\"currentUser\\\",\\\"locale\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"changeLanguage\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.users.language\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"languages\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,2,[\\\"value\\\"]],null],[7],[1,[19,2,[\\\"text\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"landingPage\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"fluid selection\\\",[20,[\\\"selectedLandingCategory\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"changeLandingPage\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"index\\\"],[7],[0,\\\"Dashboard\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasMap\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"map\\\"],[7],[1,[25,\\\"t\\\",[\\\"map\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"hasReports\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"reports\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.reports\\\"],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"string-contains\\\",[[20,[\\\"landingPage\\\"]],\\\"reports\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"fluid selection\\\",[20,[\\\"landingPage\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"changeLandingPage\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"menuService\\\",\\\"reports\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[19,1,[\\\"route\\\"]],null],[7],[1,[25,\\\"t\\\",[[19,1,[\\\"translationKey\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/account.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"hvPFsSkY\",\"block\":\"{\\\"symbols\\\":[\\\"item\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-grid countries-costs ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"night-interval-item general-item\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h4\\\"],[7],[1,[25,\\\"t\\\",[\\\"settings.cabotage.nightWorkInterval\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"style\\\",\\\"display: flex\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"style\\\",\\\"margin-right: 85px;\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"settings.cabotage.startInterval\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[9,\\\"style\\\",\\\"display: inline-block\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"selected\\\",\\\"name\\\",\\\"class\\\",\\\"onChange\\\"],[[20,[\\\"model\\\",\\\"settings\\\",\\\"cabotage\\\",\\\"night_start_time\\\"]],\\\"night_interval_start\\\",\\\"fluid selection darkGray w100\\\",[25,\\\"action\\\",[[19,0,[]],\\\"setNightInterval\\\",\\\"start\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"hidden\\\",[20,[\\\"model\\\",\\\"settings\\\",\\\"cabotage\\\",\\\"night_start_time\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[0,\\\"Start\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"1\\\"],[7],[0,\\\"1\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"2\\\"],[7],[0,\\\"2\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"3\\\"],[7],[0,\\\"3\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"4\\\"],[7],[0,\\\"4\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"5\\\"],[7],[0,\\\"5\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"6\\\"],[7],[0,\\\"6\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"7\\\"],[7],[0,\\\"7\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"8\\\"],[7],[0,\\\"8\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"9\\\"],[7],[0,\\\"9\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"10\\\"],[7],[0,\\\"10\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"11\\\"],[7],[0,\\\"11\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"12\\\"],[7],[0,\\\"12\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"13\\\"],[7],[0,\\\"13\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"14\\\"],[7],[0,\\\"14\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"15\\\"],[7],[0,\\\"15\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"16\\\"],[7],[0,\\\"16\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"17\\\"],[7],[0,\\\"17\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"18\\\"],[7],[0,\\\"18\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"19\\\"],[7],[0,\\\"19\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"20\\\"],[7],[0,\\\"20\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"21\\\"],[7],[0,\\\"21\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"22\\\"],[7],[0,\\\"22\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"23\\\"],[7],[0,\\\"23\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"24\\\"],[7],[0,\\\"24\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"settings.cabotage.endInterval\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[9,\\\"style\\\",\\\"display: inline-block\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"selected\\\",\\\"name\\\",\\\"class\\\",\\\"onChange\\\"],[[20,[\\\"model\\\",\\\"settings\\\",\\\"cabotage\\\",\\\"night_end_time\\\"]],\\\"night_interval_end\\\",\\\"fluid selection darkGray w100\\\",[25,\\\"action\\\",[[19,0,[]],\\\"setNightInterval\\\",\\\"end\\\"],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"hidden\\\",[20,[\\\"model\\\",\\\"settings\\\",\\\"cabotage\\\",\\\"night_end_time\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[0,\\\"End\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"1\\\"],[7],[0,\\\"1\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"2\\\"],[7],[0,\\\"2\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"3\\\"],[7],[0,\\\"3\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"4\\\"],[7],[0,\\\"4\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"5\\\"],[7],[0,\\\"5\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"6\\\"],[7],[0,\\\"6\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"7\\\"],[7],[0,\\\"7\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"8\\\"],[7],[0,\\\"8\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"9\\\"],[7],[0,\\\"9\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"10\\\"],[7],[0,\\\"10\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"11\\\"],[7],[0,\\\"11\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"12\\\"],[7],[0,\\\"12\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"13\\\"],[7],[0,\\\"13\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"14\\\"],[7],[0,\\\"14\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"15\\\"],[7],[0,\\\"15\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"16\\\"],[7],[0,\\\"16\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"17\\\"],[7],[0,\\\"17\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"18\\\"],[7],[0,\\\"18\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"19\\\"],[7],[0,\\\"19\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"20\\\"],[7],[0,\\\"20\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"21\\\"],[7],[0,\\\"21\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"22\\\"],[7],[0,\\\"22\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"23\\\"],[7],[0,\\\"23\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"24\\\"],[7],[0,\\\"24\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"settings.cabotage.helper\\\"],null],true],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"settings.cabotage.default\\\"],null],true],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"countryCosts\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"country-cost \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,1,[\\\"code\\\"]],\\\"general\\\"],null],\\\"general-item\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"h4\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"settings.countries.\\\",[19,1,[\\\"code\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"settings.countries.transitCost\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"title\\\",\\\"key-up\\\"],[[25,\\\"concat\\\",[\\\"transit_costs_\\\",[19,1,[\\\"code\\\"]],\\\" \\\"],null],\\\"number\\\",[19,1,[\\\"transitCost\\\"]],[25,\\\"t\\\",[\\\"settings.costs.insertNumber\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"setCost\\\",[19,1,[]]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"settings.countries.cabotageCost\\\"],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"title\\\",\\\"key-up\\\"],[[25,\\\"concat\\\",[\\\"cabotage_costs_\\\",[19,1,[\\\"code\\\"]],\\\" \\\"],null],\\\"number\\\",[19,1,[\\\"cabotageCost\\\"]],[25,\\\"t\\\",[\\\"settings.costs.insertNumber\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"setCost\\\",[19,1,[]]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"saveGroup\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/cabotage.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"Rnwhp9WG\",\"block\":\"{\\\"symbols\\\":[\\\"item\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-grid countries-costs ui form\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"countryCosts\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"country-cost\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"settings.countries.\\\",[19,1,[\\\"code\\\"]]],null]],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"field \\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[19,1,[\\\"isValid\\\"]]],null],\\\"error\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"title\\\",\\\"placeholder\\\",\\\"key-up\\\"],[[25,\\\"concat\\\",[\\\"costs_\\\",[19,1,[\\\"code\\\"]]],null],\\\"number\\\",[19,1,[\\\"cost\\\"]],[25,\\\"t\\\",[\\\"settings.costs.insertNumber\\\"],null],[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"settings.countries.\\\",[19,1,[\\\"code\\\"]]],null]],null],[25,\\\"action\\\",[[19,0,[]],\\\"setCost\\\",[19,1,[]]],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"saveGroup\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/costs.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"SpqFpT0U\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/settings/daily-target\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/daily-target.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"m7ALqYSI\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/settings/storage-index\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/data-storage.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"eRJXi9YS\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/settings/dispatch-index\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/dispatch.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"FF/QxmCw\",\"block\":\"{\\\"symbols\\\":[\\\"engineLoad\\\",\\\"ridx\\\",\\\"element\\\",\\\"cidx\\\",\\\"element\\\",\\\"cidx\\\",\\\"vehicle\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content with-filters db-setting\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-grid filters\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\",\\\"onChange\\\"],[\\\"fluid selection\\\",[20,[\\\"applyTo\\\"]],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"applyTo\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"company\\\"],[7],[1,[25,\\\"t\\\",[\\\"company\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"type\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.category\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"vehicle\\\"],[7],[1,[25,\\\"t\\\",[\\\"oneVehicle\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"applyTo\\\"]],\\\"company\\\"],null]],null,{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"fluid selection disabled\\\"],null],[20,[\\\"companyID\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"company\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[18,\\\"companyID\\\"]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[18,\\\"companyName\\\"],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"applyTo\\\"]],\\\"type\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/vehicle-type-dropdown\\\",null,[[\\\"selected\\\"],[[20,[\\\"selectedType\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"applyTo\\\"]],\\\"vehicle\\\"],null]],null,{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[[25,\\\"concat\\\",[\\\"fluid selection \\\"],null],[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selectedVehicleID\\\"]]],null]],null],[20,[\\\"selectedVehicleID\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"oneVehicle\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"vehicles\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,7,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,7,[\\\"licensePlate\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[7]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button txt-red\\\",[25,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"selectedProfile\\\",\\\"id\\\"]]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"removeProfile\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"delete\\\"],null],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content-in\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"notShowTable\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"info warning circle icon\\\"],[7],[8],[0,\\\" \\\"],[1,[25,\\\"t\\\",[\\\"selectVehicle\\\"],null],false],[0,\\\"!\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"table\\\"],[9,\\\"class\\\",\\\"driver-behaviour fullWidth\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"selectedProfile\\\",\\\"values\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"rpms\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,6,[]],0],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[19,5,[\\\"engineLoad\\\"]],false],[0,\\\" - \\\"],[1,[25,\\\"add\\\",[10,[19,5,[\\\"engineLoad\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[10,\\\"class\\\",[26,[\\\"color c\\\",[19,5,[\\\"state\\\"]]]]],[3,\\\"action\\\",[[19,0,[]],\\\"changeColor\\\",[19,5,[]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[5,6]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[]],[25,\\\"sub\\\",[[20,[\\\"selectedProfile\\\",\\\"values\\\",\\\"length\\\"]],1],null]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[9,\\\"class\\\",\\\"x-axis\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"header\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"engineLoad\\\"],null],\\\" / RPM\\\"]]],[7],[1,[25,\\\"t\\\",[\\\"engineLoadShort\\\"],null],false],[0,\\\" / RPM\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"rpms\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[19,3,[\\\"rpm\\\"]],false],[0,\\\" - \\\"],[1,[25,\\\"add\\\",[100,[19,3,[\\\"rpm\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1,2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve \\\",[25,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"notShowTable\\\"]],[20,[\\\"loading\\\"]]],null],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"saveGroup\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/driver-behaviour.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"2N4cSGHQ\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/settings/e-transport\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/e-transport.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"SV8BT3QL\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"DZk2dFUM\",\"block\":\"{\\\"symbols\\\":[\\\"key\\\",\\\"value\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notifications ui form\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"label\\\"],[7],[1,[25,\\\"t\\\",[\\\"settings.notifications.emails.insertEmailsSeparatedByComma\\\"],null],false],[8],[6,\\\"br\\\"],[7],[8],[6,\\\"br\\\"],[7],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"or\\\",[[20,[\\\"modules\\\",\\\"email\\\"]],[20,[\\\"modules\\\",\\\"sms\\\"]]],null]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[25,\\\"-each-in\\\",[[25,\\\"compute\\\",[[25,\\\"action\\\",[[19,0,[]],\\\"filterEmailList\\\"],null],[20,[\\\"emailList\\\"]]],null]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[25,\\\"and\\\",[[25,\\\"eq\\\",[[19,1,[]],\\\"door-open-outside-poi\\\"],null],[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"sensorDoor\\\"]]],null]],null],[25,\\\"and\\\",[[25,\\\"eq\\\",[[19,1,[]],\\\"seal-broken\\\"],null],[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"seal\\\"]]],null]],null],[25,\\\"and\\\",[[25,\\\"eq\\\",[[19,1,[]],\\\"fuel-consumption-excessive\\\"],null],[25,\\\"and\\\",[[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"can\\\"]]],null],[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"sensorFuel\\\"]]],null]],null]],null],[25,\\\"and\\\",[[25,\\\"eq\\\",[[19,1,[]],\\\"fuel-level-drop-stationary\\\"],null],[25,\\\"and\\\",[[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"can\\\"]]],null],[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"sensorFuel\\\"]]],null]],null]],null],[25,\\\"and\\\",[[25,\\\"eq\\\",[[19,1,[]],\\\"speeding\\\"],null],[25,\\\"and\\\",[[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"speedLimit\\\"]]],null],[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"speedRoad\\\"]]],null]],null]],null],[25,\\\"and\\\",[[25,\\\"eq\\\",[[19,1,[]],\\\"maintenance-notification\\\"],null],[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"maintenance\\\"]]],null]],null],[25,\\\"and\\\",[[25,\\\"contains\\\",[[19,1,[]],[20,[\\\"geofencesKeys\\\"]]],null],[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"geofences\\\"]]],null]],null]],null]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"alert-input\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"modules\\\",\\\"email\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.settings.emails.\\\",[19,1,[]]],null]],null],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/multiple-inline-emails\\\",null,[[\\\"selectedEmails\\\",\\\"saveEmails\\\",\\\"title\\\",\\\"placeHolder\\\"],[[19,2,[]],[25,\\\"action\\\",[[19,0,[]],\\\"saveGroup\\\"],null],[25,\\\"t\\\",[\\\"settings.notifications.emails.insertEmailsSeparatedByComma\\\"],null],[25,\\\"t\\\",[\\\"settings.notifications.emails.email\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[25,\\\"and\\\",[[20,[\\\"modules\\\",\\\"sms\\\"]],[25,\\\"not\\\",[[25,\\\"eq\\\",[[19,1,[]],\\\"maintenance-notification\\\"],null]],null],[25,\\\"not\\\",[[25,\\\"eq\\\",[[19,1,[]],\\\"tacho-rest\\\"],null]],null]],null]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"not\\\",[[20,[\\\"modules\\\",\\\"email\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.settings.emails.\\\",[19,1,[]]],null]],null],false],[0,\\\":\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"inputs/multiple-inline-emails\\\",null,[[\\\"isPhone\\\",\\\"selectedEmails\\\",\\\"saveEmails\\\",\\\"title\\\",\\\"placeHolder\\\"],[true,[25,\\\"get\\\",[[20,[\\\"phoneList\\\"]],[19,1,[]]],null],[25,\\\"action\\\",[[19,0,[]],\\\"saveGroup\\\"],null],[25,\\\"t\\\",[\\\"settings.notifications.emails.insertPhonesSeparatedByComma\\\"],null],[25,\\\"t\\\",[\\\"settings.notifications.emails.phone\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[1,2]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"noModuleEmailSms\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/notifications.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"Nkgju/+6\",\"block\":\"{\\\"symbols\\\":[\\\"group\\\",\\\"status\\\",\\\"color\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"groupedStatuses\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"settings.orders.sources.\\\",[19,1,[\\\"source\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-grid countries-costs ui form\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,1,[\\\"statuses\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"country-cost\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"country-cost\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"value\\\",\\\"key-up\\\",\\\"placeholder\\\"],[[19,2,[\\\"label\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"changeLabel\\\",[19,2,[]]],null],[25,\\\"t\\\",[\\\"displayName\\\"],null]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"country-cost\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"field\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"power-select\\\",null,[[\\\"placeholder\\\",\\\"triggerClass\\\",\\\"dropdownClass\\\",\\\"options\\\",\\\"selected\\\",\\\"onchange\\\",\\\"allowClear\\\"],[[25,\\\"t\\\",[\\\"selectColor\\\"],null],\\\"semantic\\\",\\\"semantic\\\",[20,[\\\"colors\\\"]],[19,2,[\\\"color\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"changeColor\\\",[19,2,[]]],null],true]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"span\\\"],[10,\\\"style\\\",[25,\\\"html-safe\\\",[[25,\\\"concat\\\",[\\\"background: \\\",[19,3,[]],\\\"; width: 72%; height: 8px; display: inline-block; margin-top: 8px;\\\"],null]],null],null],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"doc-button approve\\\",[25,\\\"if\\\",[[20,[\\\"loading\\\"]],\\\" disabled\\\"],null]]]],[3,\\\"action\\\",[[19,0,[]],\\\"saveGroup\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/orders.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"R8Fblyoh\",\"block\":\"{\\\"symbols\\\":[\\\"types\\\",\\\"type\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"notifications ui form dc-grid\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"management/settings/speedlimit-settings\\\",null,[[\\\"types\\\"],[[20,[\\\"types\\\"]]]],{\\\"statements\\\":[[4,\\\"each\\\",[[19,1,[]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"options\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dc-grid speed-limits\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"label\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"settings.speedLimit.vehicles.type.\\\",[19,2,[\\\"name\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"col\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"desc\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.minTooltip\\\"],null]]]],[7],[1,[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.min\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"title\\\",\\\"type\\\",\\\"name\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.minTooltip\\\"],null],\\\"text\\\",[25,\\\"concat\\\",[[19,2,[\\\"name\\\"]],\\\"_min\\\"],null],[19,2,[\\\"options\\\",\\\"min\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"col\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"desc\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.maxTooltip\\\"],null]]]],[7],[1,[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.max\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"title\\\",\\\"type\\\",\\\"name\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.offsetTooltip\\\"],null],\\\"text\\\",[25,\\\"concat\\\",[[19,2,[\\\"name\\\"]],\\\"_offset\\\"],null],[19,2,[\\\"options\\\",\\\"offset\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"col\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"desc\\\"],[10,\\\"title\\\",[26,[[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.offsetTooltip\\\"],null]]]],[7],[1,[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.offset\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"title\\\",\\\"type\\\",\\\"name\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"settings.speedLimit.vehicles.maxTooltip\\\"],null],\\\"text\\\",[25,\\\"concat\\\",[[19,2,[\\\"name\\\"]],\\\"_max\\\"],null],[19,2,[\\\"options\\\",\\\"max\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[2]},null]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"actions\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"doc-button approve\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"save\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"save\\\"],null],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/speed-limit.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"XbBL/xg2\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/settings/tms-index\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/settings/tms.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"dFIYZef4\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"invitationExpired\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"overlay expired\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"h2\\\"],[7],[1,[25,\\\"get\\\",[[20,[\\\"expiredLocaleTranslation\\\"]],[20,[\\\"localeLang\\\"]]],null],false],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/signup.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"NvaCMOnQ\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page hasSubMenuCol\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filters\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"tms.title\\\"],null],true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"menus/default-menu\\\",null,[[\\\"openedSubMenu\\\"],[\\\"tms\\\"]]],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"pageContent withoutFilters tmsPage\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/tms.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"o10Ra2Iw\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/tms/clients-index\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/tms/clients.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"cXo4AmGr\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/dispatch/map-index\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/tms/map.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"qD/FRt8A\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/tms/orders-index\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/tms/orders/index.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"d/5YXUj2\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/tms/order-details\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/tms/orders/order-details.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"NJuXFUb0\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/tms/routes-index\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/tms/routes.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"OjeOi6lN\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/tms/vehicle-groups\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/tms/vehicle-groups.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"ZcJOR5pO\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"home-page\\\",[25,\\\"if\\\",[[20,[\\\"menuService\\\",\\\"contracted\\\"]],\\\" isContractedMenu\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"application-header\\\",null,[[\\\"text\\\",\\\"filters\\\",\\\"side\\\"],[[25,\\\"t\\\",[\\\"statusFeed\\\"],null],true,true]]],false],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"sidebar\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"menus/default-menu\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"widgetContent\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/widgets.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"6pMgLAz5\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"alert\\\",\\\"type\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"widgetsFilters onlyOneRowOnMobile\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\",\\\"useLabels\\\"],[\\\"management-division\\\",\\\"fluid multiple selection icons\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selectedTypes\\\"]]],null]],null],false]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"notificationTypes\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,3,[]]]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.settings.emails.\\\",[19,3,[]]],null]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\",\\\"class\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"65%\\\",\\\"content\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-wrapper\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"table\\\"],[10,\\\"class\\\",[26,[\\\"ui selectable single line unstackable alertsTable table\\\",[25,\\\"if\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\" noBorder\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"headerClick\\\",\\\"createdAt\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"date\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"sortValue\\\"]],\\\"createdAt\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"caret \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"sortOrder\\\"]],\\\"asc\\\"],null],\\\"up\\\",\\\"down\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"details\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"headerClick\\\",\\\"type\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"sortValue\\\"]],\\\"type\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"caret \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"sortOrder\\\"]],\\\"asc\\\"],null],\\\"up\\\",\\\"down\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,2,[\\\"createdAt\\\"]],\\\"HH:mm - DD/MM/YYYY\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isDocumentExpiry\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[25,\\\"if\\\",[[25,\\\"is-after\\\",[[19,2,[\\\"details\\\",\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],[25,\\\"moment\\\",null,null]],null],\\\"document-expiry\\\",\\\"document-expired\\\"],null]],null]],[[\\\"type\\\",\\\"driver\\\",\\\"vehicle\\\",\\\"until\\\"],[[19,2,[\\\"details\\\",\\\"document\\\",\\\"type\\\"]],[19,2,[\\\"details\\\",\\\"document\\\",\\\"user\\\",\\\"fullName\\\"]],[19,2,[\\\"details\\\",\\\"document\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[25,\\\"moment-format\\\",[[19,2,[\\\"details\\\",\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],\\\"DD/MM/YYYY\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[19,2,[\\\"isPoi\\\"]],[19,2,[\\\"isGeofence\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"geofenceName\\\",\\\"licensePlate\\\"],[[19,2,[\\\"details\\\",\\\"geofence\\\",\\\"fullName\\\"]],[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isDoorOpen\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isSealBroken\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"sealNumber\\\",\\\"licensePlate\\\"],[[19,2,[\\\"details\\\",\\\"seal\\\",\\\"number\\\"]],[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isSpeeding\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"diff\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,2,[\\\"details\\\",\\\"speedDiff\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"low-battery\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"threshold\\\",\\\"voltage\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,2,[\\\"details\\\",\\\"threshold\\\"]],[19,2,[\\\"details\\\",\\\"voltage\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"fast-battery-discharge\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"dropRatePerHour\\\",\\\"allowedDropRatePerHour\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,2,[\\\"details\\\",\\\"drop_rate_per_hour\\\"]],[19,2,[\\\"details\\\",\\\"allowed_drop_rate_per_hour\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"tacho-rest\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"driverName\\\",\\\"hoursRest\\\",\\\"daysCycle\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,2,[\\\"details\\\",\\\"driver_name\\\"]],[19,2,[\\\"details\\\",\\\"hours_rest\\\"]],[19,2,[\\\"details\\\",\\\"days_cycle\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"panic-button\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"timestamp\\\",\\\"coordinates\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[25,\\\"moment-format\\\",[[19,2,[\\\"timestamp\\\"]],\\\"DD/MM/YYYY - HH:mm\\\"],null],[25,\\\"concat\\\",[[25,\\\"get\\\",[[19,2,[\\\"details\\\",\\\"coordinates\\\"]],\\\"1\\\"],null],\\\", \\\",[25,\\\"get\\\",[[19,2,[\\\"details\\\",\\\"coordinates\\\"]],\\\"0\\\"],null]],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"maintenance-upcoming\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"limit\\\",\\\"deadline\\\",\\\"type\\\",\\\"unit\\\",\\\"licensePlate\\\"],[[25,\\\"or\\\",[[19,2,[\\\"details\\\",\\\"limit\\\"]],\\\"-\\\"],null],[25,\\\"if\\\",[[19,2,[\\\"details\\\",\\\"deadline\\\"]],[25,\\\"moment-format\\\",[[19,2,[\\\"details\\\",\\\"deadline\\\"]],\\\"DD/MM/YYYY\\\"],null],\\\"-\\\"],null],[19,2,[\\\"details\\\",\\\"rule\\\",\\\"localizedType\\\"]],[19,2,[\\\"details\\\",\\\"rule\\\",\\\"unit\\\"]],[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"border-crossing\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"from\\\",\\\"to\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,2,[\\\"details\\\",\\\"from_country\\\"]],[19,2,[\\\"details\\\",\\\"to_country\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"confirmed-refuel\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\",\\\"amount\\\",\\\"source\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[19,2,[\\\"details\\\",\\\"amount\\\"]],[19,2,[\\\"details\\\",\\\"source\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.settings.emails.\\\",[19,2,[\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[9,\\\"class\\\",\\\"center aligned operations\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"currentUser\\\",\\\"isAdmin\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"large checkmark icon\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"delete\\\",[19,2,[]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/widgets/alerts.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"2xOH8SLF\",\"block\":\"{\\\"symbols\\\":[\\\"d\\\",\\\"group\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"widgetsFilters heatmapPage \\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\"hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"management-type\\\",\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"filterTypes\\\"]]],null]],null],[20,[\\\"filterTypes\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"utility\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.utility\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"car\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.car\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"minibus\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.minibus\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"bus\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.bus\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"truck\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.truck\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"tractor\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.tractor\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"harvester\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.harvester\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"construction\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.construction\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"trailer\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.trailer\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"semi-trailer\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.semi-trailer\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\",\\\"selected\\\"],[\\\"management-division\\\",\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"filterGroups\\\"]]],null]],null],[20,[\\\"filterGroups\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.division\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"groups\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,2,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,2,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"unless\\\",[[25,\\\"or\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],[20,[\\\"Resolution\\\",\\\"isTablet\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"keyUp\\\"],[[25,\\\"t\\\",[\\\"search\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"search\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"dashboard/widget-async\\\",null,[[\\\"url\\\",\\\"interval\\\"],[\\\"/dashboard/home/distance-per-hour\\\",3600000]],{\\\"statements\\\":[[4,\\\"if\\\",[[19,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"dashboard/heatmap-widget\\\",null,[[\\\"data\\\",\\\"timetables\\\",\\\"vehicles\\\",\\\"resolution\\\",\\\"unit\\\",\\\"type\\\",\\\"class\\\",\\\"fullscreenPage\\\",\\\"typesFilter\\\",\\\"groupsFilter\\\",\\\"searchValue\\\"],[[19,1,[]],[20,[\\\"model\\\",\\\"timetables\\\",\\\"timetable\\\"]],[20,[\\\"model\\\",\\\"vehicles\\\"]],[20,[\\\"resolution\\\"]],\\\"km\\\",\\\"distance\\\",\\\"distances-heatmap\\\",true,[20,[\\\"filterTypes\\\"]],[20,[\\\"filterGroups\\\"]],[20,[\\\"searchValue\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/widgets/heatmap.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"X9mu95zL\",\"block\":\"{\\\"symbols\\\":[\\\"scroller\\\",\\\"notif\\\",\\\"type\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"widgetsFilters onlyOneRowOnMobile\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\",\\\"useLabels\\\"],[\\\"management-division\\\",\\\"fluid multiple selection icons\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"selectedTypes\\\"]]],null]],null],false]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"notificationTypes\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,3,[]]]]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"check icon\\\"],[7],[8],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.settings.emails.\\\",[19,3,[]]],null]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"value\\\"],[[25,\\\"t\\\",[\\\"search\\\"],null],[20,[\\\"searchValue\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[4,\\\"infinite-scroller\\\",null,[[\\\"on-load-more\\\",\\\"trigger-at\\\",\\\"class\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"incrementRecords\\\"],null],\\\"65%\\\",\\\"content\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-wrapper\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"table\\\"],[10,\\\"class\\\",[26,[\\\"ui selectable single line unstackable notificationsTable table\\\",[25,\\\"if\\\",[[20,[\\\"Resolution\\\",\\\"isMobile\\\"]],\\\" noBorder\\\"],null]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"thead\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[9,\\\"class\\\",\\\"left aligned\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"headerClick\\\",\\\"createdAt\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"date\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"sortValue\\\"]],\\\"createdAt\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"caret \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"sortOrder\\\"]],\\\"asc\\\"],null],\\\"up\\\",\\\"down\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[1,[25,\\\"t\\\",[\\\"details\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"headerClick\\\",\\\"type\\\"]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"sortValue\\\"]],\\\"type\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[10,\\\"class\\\",[26,[\\\"caret \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[20,[\\\"sortOrder\\\"]],\\\"asc\\\"],null],\\\"up\\\",\\\"down\\\"],null],\\\" icon\\\"]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"th\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"tbody\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"scrolledRecords\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"tr\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"moment-format\\\",[[19,2,[\\\"createdAt\\\"]],\\\"HH:mm - DD/MM/YYYY\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,2,[\\\"isDocumentExpiry\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[25,\\\"if\\\",[[25,\\\"is-after\\\",[[19,2,[\\\"details\\\",\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],[25,\\\"moment\\\",null,null]],null],\\\"document-expiry\\\",\\\"document-expired\\\"],null]],null]],[[\\\"type\\\",\\\"driver\\\",\\\"vehicle\\\",\\\"until\\\"],[[19,2,[\\\"details\\\",\\\"document\\\",\\\"type\\\"]],[19,2,[\\\"details\\\",\\\"document\\\",\\\"user\\\",\\\"fullName\\\"]],[19,2,[\\\"details\\\",\\\"document\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]],[25,\\\"moment-format\\\",[[19,2,[\\\"details\\\",\\\"document\\\",\\\"valid\\\",\\\"until\\\"]],\\\"DD/MM/YYYY\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"or\\\",[[19,2,[\\\"isPoi\\\"]],[19,2,[\\\"isGeofence\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"geofenceName\\\",\\\"licensePlate\\\"],[[19,2,[\\\"details\\\",\\\"geofence\\\",\\\"fullName\\\"]],[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isDoorOpen\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,2,[\\\"isSealBroken\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"sealNumber\\\",\\\"licensePlate\\\"],[[19,2,[\\\"details\\\",\\\"seal\\\",\\\"number\\\"]],[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"maintenance-upcoming\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"limit\\\",\\\"deadline\\\",\\\"type\\\",\\\"unit\\\",\\\"licensePlate\\\"],[[25,\\\"or\\\",[[19,2,[\\\"details\\\",\\\"limit\\\"]],\\\"-\\\"],null],[25,\\\"if\\\",[[19,2,[\\\"details\\\",\\\"deadline\\\"]],[25,\\\"moment-format\\\",[[19,2,[\\\"details\\\",\\\"deadline\\\"]],\\\"DD/MM/YYYY\\\"],null],\\\"-\\\"],null],[19,2,[\\\"details\\\",\\\"rule\\\",\\\"localizedType\\\"]],[19,2,[\\\"details\\\",\\\"rule\\\",\\\"unit\\\"]],[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"eq\\\",[[19,2,[\\\"type\\\"]],\\\"uit-sync\\\"],null]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"created\\\",\\\"updated\\\",\\\"failed\\\"],[[19,2,[\\\"details\\\",\\\"uits\\\",\\\"created\\\"]],[19,2,[\\\"details\\\",\\\"uits\\\",\\\"updated\\\"]],[19,2,[\\\"details\\\",\\\"uits\\\",\\\"failed\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"alerts.messages.\\\",[19,2,[\\\"type\\\"]]],null]],[[\\\"licensePlate\\\"],[[19,2,[\\\"details\\\",\\\"vehicle\\\",\\\"licensePlate\\\"]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"td\\\"],[7],[1,[25,\\\"t\\\",[[25,\\\"concat\\\",[\\\"management.settings.emails.\\\",[19,2,[\\\"type\\\"]]],null]],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/widgets/notifications.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"7c7YpfC5\",\"block\":\"{\\\"symbols\\\":[\\\"group\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"widgetsFilters\\\",[25,\\\"if\\\",[[20,[\\\"showExportLiveStatus\\\"]],\\\" withRightIcon\\\"],null],\\\" \\\",[25,\\\"unless\\\",[[20,[\\\"menuService\\\",\\\"showFilters\\\"]],\\\"hidden\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\"],[\\\"management-type\\\",\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"filterType\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"type\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"utility\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.utility\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"car\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.car\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"minibus\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.minibus\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"bus\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.bus\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"truck\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.truck\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"tractor\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.tractor\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"harvester\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.harvester\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"construction\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.construction\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"trailer\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.trailer\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"semi-trailer\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.type.semi-trailer\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\"],[\\\"management-division\\\",\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"filterGroup\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"management.vehicles.division\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[20,[\\\"model\\\",\\\"groups\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[10,\\\"data-value\\\",[26,[[19,1,[\\\"id\\\"]]]]],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\"],[1,[19,1,[\\\"name\\\"]],false],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"ui-dropdown\\\",null,[[\\\"id\\\",\\\"class\\\",\\\"onChange\\\"],[\\\"management-engine\\\",\\\"fluid selection\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[20,[\\\"filterStatus\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"dropdown icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"default text\\\"],[7],[1,[25,\\\"t\\\",[\\\"dashboard.liveStatus.status\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"\\\"],[7],[1,[25,\\\"t\\\",[\\\"ALL\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"green\\\"],[7],[1,[25,\\\"t\\\",[\\\"vehicle.engineOn\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"red\\\"],[7],[1,[25,\\\"t\\\",[\\\"vehicle.engineOff\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[9,\\\"data-value\\\",\\\"yellow\\\"],[7],[1,[25,\\\"t\\\",[\\\"vehicle.unreachable\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"ui icon fluid input\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\"],[1,[25,\\\"input\\\",null,[[\\\"placeholder\\\",\\\"keyUp\\\"],[[25,\\\"t\\\",[\\\"search\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"search\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]]]],false],[0,\\\"\\\\n\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"search icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[20,[\\\"showExportLiveStatus\\\"]]],null,{\\\"statements\\\":[[4,\\\"ui-dropdown\\\",null,[[\\\"tabindex\\\",\\\"class\\\"],[\\\"0\\\",\\\"ui icon top right pointing dropdown dc-button\\\"]],{\\\"statements\\\":[[0,\\\"\\\\t\\\\t\\\\t\\\"],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"yellow download icon\\\"],[7],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"menu\\\"],[7],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"header\\\"],[7],[1,[25,\\\"t\\\",[\\\"reports.downloads\\\"],null],false],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"export\\\",\\\"xlsx\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file excel outline icon\\\"],[7],[8],[0,\\\"Excel\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"export\\\",\\\"pdf\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file pdf outline icon\\\"],[7],[8],[0,\\\"PDF\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"item\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"export\\\",\\\"csv\\\"]],[7],[6,\\\"i\\\"],[9,\\\"class\\\",\\\"file csv outline icon\\\"],[7],[8],[0,\\\"CSV\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[8],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content\\\"],[7],[0,\\\"\\\\n\\\\t\\\"],[1,[25,\\\"dashboard/dc-live\\\",null,[[\\\"filters\\\",\\\"fullScreen\\\"],[[20,[\\\"filters\\\"]],true]]],false],[0,\\\"\\\\n\\\"],[8]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/widgets/status-feed.hbs\"}});","export default Ember.HTMLBars.template({\"id\":\"+yJfzEUV\",\"block\":\"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"react/pages/widgets/users-tachograph\\\"],false]],\\\"hasEval\\\":false}\",\"meta\":{\"moduleName\":\"tracknamic-smb/templates/widgets/users-tachograph.hbs\"}});","import ArrayTransform from 'ember-data-model-fragments/transforms/array';\nexport default ArrayTransform;\n","import DS from 'ember-data'\n\nexport default DS.Transform.extend({\n  serialize(deserialized) {\n    let arr = []\n    if (deserialized.length === 1) {// Point\n      arr.push(deserialized[0].lng, deserialized[0].lat)\n      return arr\n    }\n    else if (deserialized.length > 1) {// Polygon min 4 items\n      deserialized.forEach((coor) => {\n        arr.push([coor.lng, coor.lat])\n      })\n      return [arr]\n    }\n  },\n\n  deserialize(serialized) {\n    let arr = []\n    if (serialized.length === 1) {// Polygon\n      if (!serialized[0]) { return [] }\n      serialized[0].forEach((coor) => {\n        arr.push({ lat: coor[1], lng: coor[0] })\n      })\n    }\n    else if (serialized.length === 2) {// Point\n      arr.push({ lat: serialized[1], lng: serialized[0] })\n    }\n    return arr\n  },\n});\n","import Transform from 'ember-data/transform';\n\nexport default Transform.extend({\n  deserialize: function(serialized) {\n    return serialized;\n  },\n\n  serialize: function(deserialized) {\n    return deserialized;\n  }\n});\n","import FragmentArrayTransform from 'ember-data-model-fragments/transforms/fragment-array';\nexport default FragmentArrayTransform;\n","import FragmentTransform from 'ember-data-model-fragments/transforms/fragment';\nexport default FragmentTransform;\n","import { typeOf } from '@ember/utils'\n\nconst TYPE_ORDER = {\n\t'undefined': 0,\n\t'null': 1,\n\t'boolean': 2,\n\t'number': 3,\n\t'string': 4,\n\t'array': 5,\n\t'object': 6,\n\t'instance': 7,\n\t'function': 8,\n\t'class': 9,\n\t'date': 10\n};\n\nfunction spaceship(a, b) {\n\tlet diff = a - b;\n\treturn (diff > 0) - (diff < 0);\n}\n\n/**\n\t@module @ember/utils\n*/\n\n/**\n Compares two javascript values and returns:\n  - -1 if the first is smaller than the second,\n  - 0 if both are equal,\n  - 1 if the first is greater than the second.\n  ```javascript\n  import { compare } from '@ember/utils';\n  compare('hello', 'hello');  // 0\n  compare('abc', 'dfg');      // -1\n  compare(2, 1);              // 1\n  ```\n If the types of the two objects are different precedence occurs in the\n following order, with types earlier in the list considered `<` types\n later in the list:\n  - undefined\n  - null\n  - boolean\n  - number\n  - string\n  - array\n  - object\n  - instance\n  - function\n  - class\n  - date\n  ```javascript\n  import { compare } from '@ember/utils';\n  compare('hello', 50);       // 1\n  compare(50, 'hello');       // -1\n  ```\n @method compare\n @for @ember/utils\n @static\n @param {Object} v First value to compare\n @param {Object} w Second value to compare\n @return {Number} -1 if v < w, 0 if v = w and 1 if v > w.\n @public\n*/\nexport default function compare(v, w) {\n\tif (v === w) {\n\t\treturn 0;\n\t}\n\n\tlet type1 = typeOf(v);\n\tlet type2 = typeOf(w);\n\n\tlet res = spaceship(TYPE_ORDER[type1], TYPE_ORDER[type2]);\n\n\tif (res !== 0) {\n\t\treturn res;\n\t}\n\n\t// types are equal - so we have to check values now\n\tswitch (type1) {\n\t\tcase 'boolean':\n\t\tcase 'number':\n\t\t\treturn spaceship(v, w);\n\n\t\tcase 'string':\n\t\t\treturn spaceship(v.localeCompare(w), 0);\n\n\t\tcase 'array': {\n\t\t\tlet vLen = v.length;\n\t\t\tlet wLen = w.length;\n\t\t\tlet len = Math.min(vLen, wLen);\n\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tlet r = compare(v[i], w[i]);\n\t\t\t\tif (r !== 0) {\n\t\t\t\t\treturn r;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// all elements are equal now\n\t\t\t// shorter array should be ordered first\n\t\t\treturn spaceship(vLen, wLen);\n\t\t}\n\t\tcase 'instance':\n\t\t\treturn 0;\n\n\t\tcase 'date':\n\t\t\treturn spaceship(v.getTime(), w.getTime());\n\n\t\tdefault:\n\t\t\treturn 0;\n\t}\n}\n","import compare from './compare'\nimport { computed } from '@ember/object'\nimport { copy } from '@ember/object/internals'\n\nexport default function computedDiff(keys, hook) {\n\tlet oldValuesMap = new WeakMap()\n\tlet isEqualFunc = (a, b) => compare(a, b) === 0\n\tlet computedFunc = computed\n\tlet onlyOnChanges = false\n\tlet cachedValue\n\tconst parseOptions = options => {\n\t\tif (options.isEqual) {\n\t\t\tisEqualFunc = options.isEqual\n\t\t}\n\t\tif (options.onlyOnChanges) {\n\t\t\tonlyOnChanges = options.onlyOnChanges\n\t\t}\n\t\tif (options.hook) {\n\t\t\thook = options.hook\n\t\t}\n\t\tif (options.computedFunc) {\n\t\t\tcomputedFunc = options.computedFunc\n\t\t}\n\t}\n\n\tif (typeof keys === 'object') {\n\t\tlet options = keys\n\t\tkeys = options.keys\n\n\t\tparseOptions(options)\n\t} else if (arguments.length > 1) {\n\t\tkeys = [].slice.call(arguments)\n\t\tif (typeof keys[keys.length - 1] === 'object') {\n\t\t\tconst options = keys.pop()\n\t\t\tparseOptions(options)\n\t\t}\n\t\thook = keys.pop()\n\t} else {\n\t\tthrow new Error('Invalid `diffAttrs` argument. Expected either one or more strings and a function, or an options hash.')\n\t}\n\n\treturn computedFunc.apply(this, [...keys, function () {\n\t\tlet changedAttrs = {}\n\t\tlet oldValues\n\t\tlet isFirstCall = false\n\n\t\tif (!oldValuesMap.has(this)) {\n\t\t\tisFirstCall = true\n\t\t\toldValuesMap.set(this, {})\n\t\t}\n\n\t\toldValues = oldValuesMap.get(this)\n\n\t\tkeys.forEach(key => {\n\t\t\tlet value = this.get(key)\n\t\t\tif (!isEqualFunc(oldValues[key], value, key)) {\n\t\t\t\tchangedAttrs[key] = {\n\t\t\t\t\tprevious: oldValues[key],\n\t\t\t\t\tcurrent: value,\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\toldValues[key] = copy(value)\n\t\t\t\t} catch {\n\t\t\t\t\toldValues[key] = value\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tif (!isFirstCall && onlyOnChanges && Object.keys(changedAttrs).length === 0) { return cachedValue }\n\n\t\tcachedValue = hook.apply(this, [(isFirstCall ? null : changedAttrs), ...arguments])\n\n\t\treturn cachedValue\n\t}])\n}\n","// Source: https://hackernoon.com/copying-text-to-clipboard-with-javascript-df4d4988697f\n\nexport default function copyClipboard(str) {\n\tconst el = document.createElement(\"textarea\"); // Create a <textarea> element\n\tel.value = str; // Set its value to the string that you want copied\n\tel.setAttribute(\"readonly\", \"\"); // Make it readonly to be tamper-proof\n\tel.style.position = \"absolute\";\n\tel.style.left = \"-9999px\"; // Move outside the screen to make it invisible\n\tdocument.body.appendChild(el); // Append the <textarea> element to the HTML document\n\tconst selected =\n\t\tdocument.getSelection().rangeCount > 0 // Check if there is any content selected previously\n\t\t\t? document.getSelection().getRangeAt(0) // Store selection if found\n\t\t\t: false; // Mark as false to know no selection existed before\n\tel.select(); // Select the <textarea> content\n\tdocument.execCommand(\"copy\"); // Copy - only works as a result of a user action (e.g. click events)\n\tdocument.body.removeChild(el); // Remove the <textarea> element\n\tif (selected) {\n\t\t// If a selection existed before copying\n\t\tdocument.getSelection().removeAllRanges(); // Unselect everything on the HTML document\n\t\tdocument.getSelection().addRange(selected); // Restore the original selection\n\t}\n}\n","// if ember-i18n add support for fallback locales we won't need this\n// https://github.com/jamesarosen/ember-i18n/issues/256\n\nimport Ember from 'ember';\nimport Locale from 'ember-i18n/utils/locale';\n\nconst FALLBACK_LOCALE = 'en';\n\nlet missingMessage = function (locale, key, data) {\n  if (locale === FALLBACK_LOCALE || window.env === 'development') {\n    return `Missing translation: ${key}`;\n  } else {\n    // NOTE This relies on internal APIs and is brittle.\n    // Emulating the internals of ember-i18n's translate method.\n    let i18n = this;\n\n    let count = Ember.get(data, 'count');\n\n    let defaults = Ember.makeArray(Ember.get(data, 'default'));\n    defaults.unshift(key);\n\n    let localeObj = new Locale(FALLBACK_LOCALE, Ember.getOwner(i18n));\n    let template = localeObj.getCompiledTemplate(defaults, count);\n    Ember.Logger.warn(`Missing translation: ${key} [${locale}]`) // TODO: add missing locale translations.\n    return template(data); // english translation\n  }\n};\n\nexport default missingMessage;","define('tracknamic-smb/config/environment', [], function() {\n  var prefix = 'tracknamic-smb';\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n  var config = JSON.parse(decodeURIComponent(rawConfig));\n\n  var exports = { 'default': config };\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n  return exports;\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n          if (!runningTests) {\n            require(\"tracknamic-smb/app\")[\"default\"].create({\"name\":\"tracknamic-smb\",\"version\":\"2.51.67+ad725e02\",\"validatorDefaultLocale\":\"en\"});\n          }\n        \n"]}