{"version":3,"sources":["webpack:///src/usr/src/app/src/components/car/car-category-menu.ts","webpack:///./src/components/car/car-category-menu.html","webpack:///src/usr/src/app/src/components/car/car-menu.ts","webpack:///./src/components/car/car-menu.html","webpack:///src/usr/src/app/src/components/car/car-tree.ts","webpack:///./src/components/car/car-tree.html"],"names":[],"mappings":"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","file":"app~74462d4e.71ff2c0ad52d6c797d15.chunk.js","sourcesContent":["import { I18N } from 'aurelia-i18n';\nimport { Utils } from 'utils/helpers/utils';\nimport { Router } from 'aurelia-router';\nimport { bindable, autoinject, LogManager } from 'aurelia-framework';\nimport { CarMenuLevel } from 'utils/enums/CarMenuLevel';\nimport { IBaseVehicle } from 'domain/Car/IBaseVehicle';\n\nexport const log = LogManager.getLogger('app.components.car-category-menu');\n\n@autoinject\nexport class CarCategoryMenuCustomElement {\n  @bindable categoryId: number;\n  @bindable categoryName: string;\n\n  @bindable car: IBaseVehicle;\n  @bindable level: CarMenuLevel;\n\n  filterPlaceholder: string;\n  @bindable filterValue: string;\n\n  hasFocus = true;\n\n  constructor(\n    private router: Router,\n    private i18n: I18N\n  ) { }\n\n  bind() {\n    switch (this.level) {\n      case CarMenuLevel.Manufacturers:\n        this.filterPlaceholder = this.i18n.tr('pages.manufacturers.hint');\n        break;\n      case CarMenuLevel.Models:\n        this.filterPlaceholder = this.i18n.tr('pages.models.hint');\n        break;\n      case CarMenuLevel.Vehicles:\n        this.filterPlaceholder = this.i18n.tr('pages.vehicles.hint');\n        break;\n    }\n  }\n\n  // #region ACTIONS\n\n  openManufacturers() {\n    this.router.navigateToRoute('categoryManufacturers', { categoryId: this.categoryId });\n  }\n\n  openModels() {\n    this.router.navigateToRoute('categoryModels', {\n      categoryId: this.categoryId,\n      manufacturer: this.car.model.manufacturer.id != 0\n        ? this.car.model.manufacturer.id\n        : Utils.encode(this.car.model.manufacturer.name)\n    });\n  }\n\n  openVehicles() {\n    this.router.navigateToRoute('categoryVehicles', {\n      categoryId: this.categoryId,\n      manufacturer: this.car.model.manufacturer.id != 0\n        ? this.car.model.manufacturer.id\n        : Utils.encode(this.car.model.manufacturer.name),\n      model: Utils.encode(this.car.model.name)\n    });\n  }\n\n  openProducts() {\n    this.router.navigateToRoute('categoryProducts', {\n      categoryId: this.categoryId,\n      page: 1,\n      vehicleId: this.car.id\n    });\n  }\n\n  goBack() {\n    switch (this.level) {\n      case CarMenuLevel.Models:\n        this.openManufacturers();\n        break;\n      case CarMenuLevel.Vehicles:\n        this.openModels();\n        break;\n      case CarMenuLevel.Products:\n        this.openVehicles();\n        break;\n    }\n  }\n\n  // #endregion\n}\n","module.exports = \"<template>\\n  <require from=\\\"utils/classes/value-converters\\\"></require>\\n  <require from=\\\"utils/classes/tooltip\\\"></require>\\n\\n  <div class=\\\"input-group pt-1 mx-auto pb-3\\\">\\n    <button type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\"\\n            tooltip=\\\"${'pages.car.tooltips.back' & t}\\\" click.trigger=\\\"goBack()\\\">\\n      ${'pages.car.buttons.back' & t}\\n    </button>\\n\\n    <input if.bind=\\\"level <= 2\\\" focus.bind=\\\"hasFocus\\\" type=\\\"text\\\" class=\\\"form-control\\\"\\n           placeholder.bind=\\\"filterPlaceholder\\\" value.bind=\\\"filterValue\\\">\\n    <span else class=\\\"input-group-text form-control\\\"></span>\\n\\n    <button if.bind=\\\"level >= 1\\\" type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\"\\n            tooltip=\\\"${'pages.car.tooltips.manufacturer' & t}\\\" click.trigger=\\\"openManufacturers()\\\">\\n      ${car.model.manufacturer.name}\\n    </button>\\n    <button if.bind=\\\"level >= 2\\\" type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\"\\n            tooltip=\\\"${'pages.car.tooltips.model' & t}\\\" click.trigger=\\\"openModels()\\\">\\n      ${car.model.name}\\n    </button>\\n    <button if.bind=\\\"level >= 3\\\" type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\"\\n            tooltip=\\\"${'pages.car.tooltips.vehicle' & t}\\\" click.trigger=\\\"openVehicles()\\\">\\n      ${car.name}\\n    </button>\\n\\n    <template if.bind=\\\"level >= 3 && car && vehicleInfo\\\">\\n      <button type=\\\"button\\\" class=\\\"btn btn-outline-primary rotating-arrow\\\" data-bs-toggle=\\\"collapse\\\"\\n              data-bs-target=\\\"#car-details\\\">\\n        ${'pages.car.buttons.car-info' & t}\\n        <i class=\\\"float-end bi-chevron-down\\\"></i>\\n      </button>\\n    </template>\\n\\n    <template if.bind=\\\"level >= 3 && car && vehicleInfo\\\">\\n      <p repeat.for=\\\"info of vehicleInfo\\\">${info}</p>\\n    </template>\\n  </div>\\n\\n</template>\\n\";","import { I18N } from 'aurelia-i18n';\nimport { Utils } from 'utils/helpers/utils';\nimport { ICar } from 'domain/Car/ICar';\nimport { Router } from 'aurelia-router';\nimport { bindable, autoinject, LogManager } from 'aurelia-framework';\nimport { Collapse } from 'bootstrap';\nimport { CarHelper } from 'utils/helpers/car-helper';\n\nexport const log = LogManager.getLogger('app.components.car-menu');\n\n@autoinject\nexport class CarMenuCustomElement {\n  @bindable car: ICar;\n  carDetailProperties = {};\n\n  @bindable catalogueId: number;\n  @bindable catalogueName: string;\n  @bindable level: number;\n\n  @bindable filterPlaceholder: string;\n  @bindable filterValue: string;\n\n  hasFocus = true;\n\n  constructor(\n    private router: Router,\n    private i18n: I18N\n  ) {\n    this.carDetailProperties = {\n      fullName: this.i18n.tr('pages.car.car-info.full-name'),\n      licencePlate: this.i18n.tr('pages.car.car-info.licence-plate'),\n      vin: this.i18n.tr('pages.car.car-info.vin'),\n      capacityCcm: this.i18n.tr('pages.car.car-info.capacity-ccm'),\n      powerKw: this.i18n.tr('pages.car.car-info.power-kw'),\n      motorCodes: this.i18n.tr('pages.car.car-info.motor-codes'),\n      constructionType: this.i18n.tr('pages.car.car-info.construction'),\n      color: this.i18n.tr('pages.car.car-info.color'),\n      fuel: this.i18n.tr('pages.car.car-info.fuel'),\n      gearbox: this.i18n.tr('pages.car.car-info.gearbox'),\n      registeredDate: this.i18n.tr('pages.car.car-info.registered'),\n      originCountry: this.i18n.tr('pages.car.car-info.origin-country'),\n      nextInspectionDate: this.i18n.tr('pages.car.car-info.next-inspection'),\n      drivingAxles: this.i18n.tr('pages.car.car-info.driving-axles')\n    };\n  }\n\n  attached() {\n    const carDetails = document.getElementById('car-details');\n\n    if (this.car.vin && this.level == 3 && !this.filterValue && carDetails)\n      new Collapse(carDetails).toggle();\n  }\n\n  // #region ACTIONS\n\n  openManufacturers() {\n    this.router.navigateToRoute('carManufacturers');\n  }\n\n  openModels() {\n    this.router.navigateToRoute('carModels', {\n      id: this.car.model.manufacturer.id,\n      name: Utils.encode(this.car.model.manufacturer.name)\n    });\n  }\n\n  openVehicles() {\n    this.router.navigateToRoute('carVehicles', {\n      manuId: this.car.model.manufacturer.id,\n      modelId: this.car.model.id\n    });\n  }\n\n  openCatalogues() {\n    const parameters: any = {\n      vehicleId: this.car.id\n    };\n    const query = this.car.licencePlate || this.car.vin;\n    if (query)\n      parameters.query = Utils.encode(query, true);\n    if (this.filterValue)\n      parameters.filterText = Utils.encode(this.filterValue, true);\n    if (this.catalogueId)\n      parameters.catalogueId = Utils.encode(this.catalogueId, true);\n\n    this.router.navigateToRoute('catalogueList', parameters);\n  }\n\n  openTires(tire: string) {\n    const [width, height, diameter] = CarHelper.decodeTireString(tire);\n\n    this.router.navigateToRoute('categoryProducts', {\n      categoryId: 10,\n      page: 1,\n      filters: Utils.encode(JSON.stringify({\n        width: [width],\n        height: [height],\n        diameter: [diameter]\n      }), true)\n    });\n  }\n\n  isValidTireString(tire: string) {\n    return CarHelper.isValidTireString(tire);\n  }\n\n  goBack() {\n    switch (this.level) {\n      case 1:\n        this.openManufacturers();\n        break;\n      case 2:\n        this.openModels();\n        break;\n      case 3:\n        this.openVehicles();\n        break;\n      case 4:\n        this.openCatalogues();\n        break;\n    }\n  }\n\n  // #endregion\n}\n","module.exports = \"<template>\\n  <require from=\\\"utils/classes/value-converters\\\"></require>\\n  <require from=\\\"utils/classes/tooltip\\\"></require>\\n\\n  <div class=\\\"input-group pt-1 mx-auto pb-3\\\">\\n    <button type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\" tooltip=\\\"${'pages.car.tooltips.back' & t}\\\"\\n            click.trigger=\\\"goBack()\\\">\\n      ${'pages.car.buttons.back' & t}\\n    </button>\\n\\n    <input focus.bind=\\\"hasFocus\\\" type=\\\"text\\\" class=\\\"form-control\\\"\\n           placeholder.bind=\\\"filterPlaceholder\\\" value.bind=\\\"filterValue\\\">\\n\\n    <button type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\" tooltip=\\\"${'pages.car.tooltips.manufacturer' & t}\\\"\\n            click.trigger=\\\"openManufacturers()\\\">\\n      ${car.model.manufacturer.name}\\n    </button>\\n    <button if.bind=\\\"level >= 2\\\" type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\"\\n            tooltip=\\\"${'pages.car.tooltips.model' & t}\\\" click.trigger=\\\"openModels()\\\">\\n      ${car.model.name}\\n    </button>\\n    <button if.bind=\\\"level >= 3\\\" type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\"\\n            tooltip=\\\"${'pages.car.tooltips.vehicle' & t}\\\" click.trigger=\\\"openVehicles()\\\">\\n      ${car.name}\\n    </button>\\n    <button if.bind=\\\"level >= 4\\\" type=\\\"button\\\" class=\\\"btn btn-outline-primary\\\"\\n            tooltip=\\\"${'pages.car.tooltips.catalogue' & t}\\\" click.trigger=\\\"openCatalogues()\\\">\\n      ${catalogueName}\\n    </button>\\n\\n    <template if.bind=\\\"level >= 1 && car && car.vin\\\">\\n      <button type=\\\"button\\\" class=\\\"btn btn-outline-primary rotating-arrow\\\" data-bs-toggle=\\\"collapse\\\"\\n              data-bs-target=\\\"#car-details\\\">\\n        ${'pages.car.buttons.car-info' & t}\\n        <i class=\\\"float-end bi-chevron-down\\\"></i>\\n      </button>\\n    </template>\\n\\n    <template if.bind=\\\"level >= 1 && car && car.vin\\\">\\n      <div class=\\\"collapse w-100\\\" id=\\\"car-details\\\">\\n        <dl class=\\\"row text-start pt-3\\\">\\n          <template repeat.for=\\\"key of carDetailProperties | objectKeys\\\">\\n            <template if.bind=\\\"car[key]\\\">\\n              <dt class=\\\"col-6 text-end\\\">${carDetailProperties[key]}</dt>\\n              <dd class=\\\"col-6 text-start\\\">${car[key]}</dd>\\n            </template>\\n          </template>\\n\\n          <template if.bind=\\\"car.extraTire || car.tires\\\">\\n            <dt class=\\\"col-6 text-end\\\">${'pages.car.car-info.tires' & t}</dt>\\n            <dd class=\\\"col-6 text-start\\\">\\n              <p>${car.extraTire}</p>\\n              <dl class=\\\"row\\\">\\n                <template repeat.for=\\\"obj of car.tires\\\">\\n                  <dt class=\\\"col-2 text-end\\\">\\n                    ${'pages.car.car-info.axis' & t: {'index': $index + 1}}\\n                  </dt>\\n                  <dd class=\\\"col-10 text-start\\\">\\n                    <dl class=\\\"row\\\">\\n                      <template repeat.for=\\\"key of obj | objectKeys\\\">\\n                        <dt class=\\\"col-1 text-end\\\">${key}</dt>\\n                        <dd class=\\\"col-11 text-start\\\">\\n                          <a if.bind=\\\"isValidTireString(obj[key])\\\" href=\\\"\\\"\\n                             click.delegate=\\\"openTires(obj[key])\\\">${obj[key]}</a>\\n                          <span else>${obj[key]}</span>\\n                        </dd>\\n                      </template>\\n                    </dl>\\n                  </dd>\\n                </template>\\n              </dl>\\n            </dd>\\n          </template>\\n        </dl>\\n      </div>\\n    </template>\\n  </div>\\n\\n</template>\\n\";","import { ICar } from 'domain/Car/ICar';\nimport { AppConfig } from 'app-config';\nimport { Router } from 'aurelia-router';\nimport { LogManager, autoinject } from 'aurelia-framework';\nimport { Utils } from 'utils/helpers/utils';\n\nexport var log = LogManager.getLogger('app.components.car-tree');\n\n@autoinject\nexport class CarTree {\n  carCategories: { label: string; list: ICar[] }[];\n  constructor(\n    private router: Router,\n    private appConfig: AppConfig, // used by HTML\n  ) {}\n\n  // #region ACTIONS\n\n  attached() {\n    this.categorizeCars();\n  }\n\n  carButtonClicked() {\n    if (\n      this.router.currentInstruction\n        .getAllInstructions()\n        .find(instruction => instruction.config.name == \"carManufacturers\")\n    ) {\n      this.router.navigateBack();\n    } else {\n      this.router.navigateToRoute(\"carManufacturers\");\n    }\n  }\n\n  loadCatalogueFor(car: ICar) {\n    let query = car.licencePlate || car.vin;\n\n    this.router.navigateToRoute(\"catalogueList\", {\n      vehicleId: car.id,\n      query: Utils.encode(query),\n    });\n  }\n\n  categorizeCars() {\n    const now = Date.now();\n    const oneDay = 86400000;\n    const oneWeek = oneDay * 7;\n    const startOfToday = new Date().setHours(0, 0, 0, 0);\n    const startOfThisWeek = startOfToday - new Date().getDay() * oneDay;\n    const startOfLastWeek = startOfThisWeek - oneWeek;\n\n    let carsToday: ICar[];\n    let carsThisWeek: ICar[];\n    let carsLastWeek: ICar[];\n    let carsOlder: ICar[];\n\n    // Ensure every car has a valid timestamp, defaulting to 0 (treated as \"Older\")\n    carsToday = this.appConfig.cars.filter(\n      car => (car.timeAddedToSearch ?? 0) >= startOfToday,\n    );\n\n    carsThisWeek = this.appConfig.cars.filter(\n      car =>\n        (car.timeAddedToSearch ?? 0) >= startOfThisWeek &&\n        (car.timeAddedToSearch ?? 0) < startOfToday,\n    );\n\n    carsLastWeek = this.appConfig.cars.filter(\n      car =>\n        (car.timeAddedToSearch ?? 0) >= startOfLastWeek &&\n        (car.timeAddedToSearch ?? 0) < startOfThisWeek,\n    );\n\n    carsOlder = this.appConfig.cars.filter(\n      car => (car.timeAddedToSearch ?? 0) < startOfLastWeek,\n    );\n\n    this.carCategories = [\n      { label: \"menu.car-search-history.today\", list: carsToday },\n      { label: \"menu.car-search-history.this-week\", list: carsThisWeek },\n      { label: \"menu.car-search-history.last-week\", list: carsLastWeek },\n      { label: \"menu.car-search-history.older\", list: carsOlder },\n    ];\n  }\n\n  // #endregion\n}\n","module.exports = \"<template>\\n  <div class=\\\"text-nowrap\\\">\\n    <button\\n      type=\\\"button\\\"\\n      class=\\\"btn text-nowrap btn-outline-primary\\\"\\n      click.trigger=\\\"carButtonClicked()\\\">\\n      ${'pages.manufacturers.button' & t}\\n    </button>\\n\\n    <!-- \\\"car-tree-margin-fix\\\" is a workaround of a visual glitch -->\\n    <button\\n      if.bind=\\\"appConfig.cars.length > 0\\\"\\n      type=\\\"button\\\"\\n      data-bs-toggle=\\\"dropdown\\\"\\n      class=\\\"btn btn-outline-primary dropdown-toggle dropdown-toggle-split car-tree-margin-fix\\\"\\n      click.trigger=\\\"categorizeCars()\\\"></button>\\n    <div class=\\\"dropdown-menu dropdown-menu-end\\\">\\n      <template repeat.for=\\\"category of carCategories\\\">\\n        <h6 class=\\\"dropdown-header\\\" if.bind=\\\"category.list.length\\\">${category.label & t}</h6>\\n        <a\\n          class=\\\"dropdown-item\\\"\\n          href=\\\"\\\"\\n          repeat.for=\\\"prevCar of category.list\\\"\\n          click.delegate=\\\"loadCatalogueFor(prevCar)\\\">\\n          <strong>${prevCar.licencePlate}</strong> ${prevCar.model.manufacturer.name}\\n          ${prevCar.model.name} ${prevCar.powerKw}kW\\n        </a>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";"],"sourceRoot":""}