taxtank-core 0.32.4 → 0.32.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,7 @@ export class BestVehicleLogbookCollection extends VehicleLogbookCollection {
27
27
  if (!(logbooks instanceof VehicleLogbookCollection)) {
28
28
  logbooks = new VehicleLogbookCollection(logbooks);
29
29
  }
30
- return BestVehicleLogbookCollection.periodDuration < (logbooks.last.date.getTime() - logbooks.first.date.getTime());
30
+ return this.periodDuration < (logbooks.last.date.getTime() - logbooks.first.date.getTime());
31
31
  }
32
32
  // get list of date ranges for each of passed logbook
33
33
  static getPeriods(logbooks) {
@@ -35,13 +35,13 @@ export class BestVehicleLogbookCollection extends VehicleLogbookCollection {
35
35
  // get a list of date ranges that could potentially be the best
36
36
  const periods = claimable
37
37
  // skip logbooks whose range ends after the last logbook
38
- .filter((logbook) => BestVehicleLogbookCollection.getPeriodByLogbook(logbook).end.toDate() < logbooks.last.date)
39
- .map((logbook) => BestVehicleLogbookCollection.getPeriodByLogbook(logbook));
38
+ .filter((logbook) => this.getPeriodByLogbook(logbook).end.toDate() < logbooks.last.date)
39
+ .map((logbook) => this.getPeriodByLogbook(logbook));
40
40
  // skip if the last logbook already included to the last existing date range
41
41
  // if (last(periods).end.toDate() < logbooks.last.date) {
42
42
  // add extra date range for the last claimable logbook
43
43
  // @TODO vik
44
- periods.push(BestVehicleLogbookCollection.getPeriodByLogbook(claimable.last, true));
44
+ periods.push(this.getPeriodByLogbook(claimable.last, true));
45
45
  // }
46
46
  return periods;
47
47
  }
@@ -52,9 +52,9 @@ export class BestVehicleLogbookCollection extends VehicleLogbookCollection {
52
52
  */
53
53
  static getPeriodByLogbook(logbook, isBackward = false) {
54
54
  if (isBackward) {
55
- return new DateRange([new Date(logbook.date.getTime() - BestVehicleLogbookCollection.periodDuration), logbook.date]);
55
+ return new DateRange([new Date(logbook.date.getTime() - this.periodDuration), logbook.date]);
56
56
  }
57
- return new DateRange([logbook.date, new Date(logbook.date.getTime() + BestVehicleLogbookCollection.periodDuration)]);
57
+ return new DateRange([logbook.date, new Date(logbook.date.getTime() + this.periodDuration)]);
58
58
  }
59
59
  /**
60
60
  * Set Date Range with the biggest work usage percent
@@ -80,7 +80,7 @@ export class BestVehicleLogbookCollection extends VehicleLogbookCollection {
80
80
  });
81
81
  }
82
82
  static fromLogbooks(logbooks) {
83
- if (!BestVehicleLogbookCollection.isBestPeriodExist(logbooks)) {
83
+ if (!this.isBestPeriodExist(logbooks)) {
84
84
  return null;
85
85
  }
86
86
  const collection = new BestVehicleLogbookCollection(logbooks.toArray());
@@ -88,4 +88,4 @@ export class BestVehicleLogbookCollection extends VehicleLogbookCollection {
88
88
  return collection;
89
89
  }
90
90
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVzdC12ZWhpY2xlLWxvZ2Jvb2suY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy92ZWhpY2xlL2Jlc3QtdmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsd0JBQXdCO0lBQ3hFOzs7T0FHRzthQUNJLG1CQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztJQU9sRDs7O09BR0c7SUFDSCxZQUFvQixRQUEwQjtRQUM1QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQWtDO1FBQ3pELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksQ0FBQyxDQUFDLFFBQVEsWUFBWSx3QkFBd0IsQ0FBQyxFQUFFO1lBQ25ELFFBQVEsR0FBRyxJQUFJLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsT0FBTyw0QkFBNEIsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFFRCxxREFBcUQ7SUFDckQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFrQztRQUNsRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsK0RBQStEO1FBQy9ELE1BQU0sT0FBTyxHQUFnQixTQUFTO1lBQ3BDLHdEQUF3RDthQUN2RCxNQUFNLENBQUMsQ0FBQyxPQUF1QixFQUFFLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDL0gsR0FBRyxDQUFDLENBQUMsT0FBdUIsRUFBRSxFQUFFLENBQUMsNEJBQTRCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUc5Riw0RUFBNEU7UUFDNUUseURBQXlEO1FBQ3pELHNEQUFzRDtRQUN0RCxZQUFZO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEYsSUFBSTtRQUVKLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE9BQXVCLEVBQUUsVUFBVSxHQUFHLEtBQUs7UUFDbkUsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLElBQUksU0FBUyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN0SDtRQUVELE9BQU8sSUFBSSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsNEJBQTRCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNLLG1CQUFtQixDQUFDLFFBQWtDO1FBQzVELCtEQUErRDtRQUMvRCxNQUFNLE9BQU8sR0FBZ0IsNEJBQTRCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9FLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFpQixFQUFFLEVBQUU7WUFDcEMsTUFBTSxnQkFBZ0IsR0FBNkIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFFOUgsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRTtnQkFDM0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDekM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWtDO1FBQ3BELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVMb2dib29rIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiB9IGZyb20gJy4vdmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGF0ZVJhbmdlIH0gZnJvbSAnbW9tZW50LXJhbmdlJztcblxuLyoqXG4gKiBTcGVjaWFsIGxvZ2Jvb2sgY29sbGVjdGlvbiB0aGF0IGNvbnRhaW5zIGxvZ2Jvb2tzIGZyb20gZGF0ZSBwZXJpb2Qgd2l0aCB0aGUgaGlnaGVzdCB3b3JrIHVzYWdlIHBlcmNlbnRcbiAqIERvY3M6IGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjExNTE3NDQxL0xvZ2Jvb2srVmVoaWNsZVxuICovXG5leHBvcnQgY2xhc3MgQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiBleHRlbmRzIFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiB7XG4gIC8qKlxuICAgKiBMb2dib29rIGNsYWltYWJsZSBwZXJpb2QgZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxMTUxNzQ0MS9Mb2dib29rK1ZlaGljbGVcbiAgICovXG4gIHN0YXRpYyBwZXJpb2REdXJhdGlvbiA9IDEyICogNyAqIDI0ICogMzYwMCAqIDEwMDA7XG5cbiAgLyoqXG4gICAqIERhdGUgcmFuZ2Ugd2l0aCB0aGUgYmlnZ2VzdCB3b3JrIHVzYWdlIHBlcmNlbnRcbiAgICovXG4gIHBlcmlvZDogRGF0ZVJhbmdlO1xuXG4gIC8qKlxuICAgKiBjb25zdHJ1Y3RvciBpcyBwcml2YXRlIGJlY2F1c2Ugd2Ugd2FudCB0byBwcmV2ZW50IGNvbGxlY3Rpb24gaW5pdGlhbGl6YXRpb24gdmlhICduZXcnIG9wZXJhdG9yLlxuICAgKiBXZSBzaG91bGQgY3JlYXRlIGluc3RhbmNlcyBvbmx5IHdpdGggZnJvbUxvZ2Jvb2tzIG1ldGhvZFxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihsb2dib29rczogVmVoaWNsZUxvZ2Jvb2tbXSkge1xuICAgIHN1cGVyKGxvZ2Jvb2tzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCZXN0IHBlcmlvZCBtYXkgYmUgY2FsY3VsYXRlZCBvbmx5IHdoZW4gdXNlciBoYXMgbG9nYm9va3MgbWluaW11bSBmb3IgVmVoaWNsZUxvZ2Jvb2suYmVzdFBlcmlvZFdlZWtzXG4gICAqL1xuICBzdGF0aWMgaXNCZXN0UGVyaW9kRXhpc3QobG9nYm9va3M6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbik6IGJvb2xlYW4ge1xuICAgIGlmIChsb2dib29rcy5sZW5ndGggPCAyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKCEobG9nYm9va3MgaW5zdGFuY2VvZiBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24pKSB7XG4gICAgICBsb2dib29rcyA9IG5ldyBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24obG9nYm9va3MpO1xuICAgIH1cblxuICAgIHJldHVybiBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uLnBlcmlvZER1cmF0aW9uIDwgKGxvZ2Jvb2tzLmxhc3QuZGF0ZS5nZXRUaW1lKCkgLSBsb2dib29rcy5maXJzdC5kYXRlLmdldFRpbWUoKSk7XG4gIH1cblxuICAvLyBnZXQgbGlzdCBvZiBkYXRlIHJhbmdlcyBmb3IgZWFjaCBvZiBwYXNzZWQgbG9nYm9va1xuICBzdGF0aWMgZ2V0UGVyaW9kcyhsb2dib29rczogVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uKTogRGF0ZVJhbmdlW10ge1xuICAgIGNvbnN0IGNsYWltYWJsZSA9IGxvZ2Jvb2tzLmdldENsYWltYWJsZSgpO1xuICAgIC8vIGdldCBhIGxpc3Qgb2YgZGF0ZSByYW5nZXMgdGhhdCBjb3VsZCBwb3RlbnRpYWxseSBiZSB0aGUgYmVzdFxuICAgIGNvbnN0IHBlcmlvZHM6IERhdGVSYW5nZVtdID0gY2xhaW1hYmxlXG4gICAgICAvLyBza2lwIGxvZ2Jvb2tzIHdob3NlIHJhbmdlIGVuZHMgYWZ0ZXIgdGhlIGxhc3QgbG9nYm9va1xuICAgICAgLmZpbHRlcigobG9nYm9vazogVmVoaWNsZUxvZ2Jvb2spID0+IEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24uZ2V0UGVyaW9kQnlMb2dib29rKGxvZ2Jvb2spLmVuZC50b0RhdGUoKSA8IGxvZ2Jvb2tzLmxhc3QuZGF0ZSlcbiAgICAgIC5tYXAoKGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rKSA9PiBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uLmdldFBlcmlvZEJ5TG9nYm9vayhsb2dib29rKSk7XG5cblxuICAgIC8vIHNraXAgaWYgdGhlIGxhc3QgbG9nYm9vayBhbHJlYWR5IGluY2x1ZGVkIHRvIHRoZSBsYXN0IGV4aXN0aW5nIGRhdGUgcmFuZ2VcbiAgICAvLyBpZiAobGFzdChwZXJpb2RzKS5lbmQudG9EYXRlKCkgPCBsb2dib29rcy5sYXN0LmRhdGUpIHtcbiAgICAvLyBhZGQgZXh0cmEgZGF0ZSByYW5nZSBmb3IgdGhlIGxhc3QgY2xhaW1hYmxlIGxvZ2Jvb2tcbiAgICAvLyBAVE9ETyB2aWtcbiAgICBwZXJpb2RzLnB1c2goQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbi5nZXRQZXJpb2RCeUxvZ2Jvb2soY2xhaW1hYmxlLmxhc3QsIHRydWUpKTtcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gcGVyaW9kcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY2xhaW1hYmxlIGRhdGUgcmFuZ2UgZm9yIHBhc3NlZCBsb2dib29rXG4gICAqIEBwYXJhbSBsb2dib29rIGxvZ2Jvb2sgaW5zdGFuY2UgZm9yIHJhbmdlIGNhbGN1bGF0aW9uXG4gICAqIEBwYXJhbSBpc0JhY2t3YXJkIEZsYWcgZmFsc2UgLSByYW5nZSBmb3IgbG9nYm9vayArIGR1cmF0aW9uOyBmbGFnIHRydWUgLSByYW5nZSBmb3IgbG9nYm9vayAtIGR1cmF0aW9uLiBVc2VkIGZvciBleHRyYSBjYXNlLCB3aGVuIHdlIHNob3VsZCBhZGQgYW4gZXh0cmEgZGF0ZSByYW5nZSBmb3IgdGhlIGxhc3QgbG9nYm9va1xuICAgKi9cbiAgc3RhdGljIGdldFBlcmlvZEJ5TG9nYm9vayhsb2dib29rOiBWZWhpY2xlTG9nYm9vaywgaXNCYWNrd2FyZCA9IGZhbHNlKTogRGF0ZVJhbmdlIHtcbiAgICBpZiAoaXNCYWNrd2FyZCkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlUmFuZ2UoW25ldyBEYXRlKGxvZ2Jvb2suZGF0ZS5nZXRUaW1lKCkgLSBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uLnBlcmlvZER1cmF0aW9uKSwgbG9nYm9vay5kYXRlXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEYXRlUmFuZ2UoW2xvZ2Jvb2suZGF0ZSwgbmV3IERhdGUobG9nYm9vay5kYXRlLmdldFRpbWUoKSArIEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24ucGVyaW9kRHVyYXRpb24pXSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IERhdGUgUmFuZ2Ugd2l0aCB0aGUgYmlnZ2VzdCB3b3JrIHVzYWdlIHBlcmNlbnRcbiAgICogUmFuZ2UgZHVyYXRpb24gaXMgZGVmaW5lZCBhcyBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uLnBlcmlvZER1cmF0aW9uIGJ5IHRoZSBBVE9cbiAgICpcbiAgICogQWxnb3JpdGhtOlxuICAgKiBDbGFpbWFibGUgbG9nYm9va3Mgb3IgY2xhaW1hYmxlIHRyaXBzIC0gd29yay9idXNpbmVzcyBsb2dib29rIGl0ZW1zLlxuICAgKiBXZSBzaG91bGQgd29yayB3aXRoIGRhdGVzIGZyb20gdGhlIGZpcnN0IHRvIHRoZSBsYXN0IHRyaXAgKGluY2x1ZGUgcGVyc29uYWwgdHJpcHMpLlxuICAgKiBHZXQgZGF0ZSByYW5nZXMgc3RhcnRzIG9uIGVhY2ggY2xhaW1hYmxlIHRyaXAsIGFsbCBvdGhlciByYW5nZXMgYXJlIGRlZmluZXRpbHkgd29yc3QuXG4gICAqIEFsc28gZ2V0IGV4dHJhIGRhdGUgcmFuZ2Ugd2hpY2ggZW5kcyB3aXRoIHRoZSBsYXN0IGNsYWltYWJsZSB0cmlwLlxuICAgKiBHZXQgYWxsIHRyaXBzIGluY2x1ZGVkIHRvIGVhY2ggZGF0ZSByYW5nZS5cbiAgICogRmluZCBhbmQgcmV0dXJuIHJhbmdlIHdpdGggdGhlIGJpZ2dlc3Qgd29ya1VzYWdlIHBlcmNlbnQuXG4gICAqL1xuICBwcml2YXRlIGNhbGN1bGF0ZUJlc3RQZXJpb2QobG9nYm9va3M6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbik6IHZvaWQge1xuICAgIC8vIGdldCBhIGxpc3Qgb2YgZGF0ZSByYW5nZXMgdGhhdCBjb3VsZCBwb3RlbnRpYWxseSBiZSB0aGUgYmVzdFxuICAgIGNvbnN0IHBlcmlvZHM6IERhdGVSYW5nZVtdID0gQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbi5nZXRQZXJpb2RzKGxvZ2Jvb2tzKTtcblxuICAgIHBlcmlvZHMuZm9yRWFjaCgocGVyaW9kOiBEYXRlUmFuZ2UpID0+IHtcbiAgICAgIGNvbnN0IGxvZ2Jvb2tzSW5QZXJpb2Q6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiA9IGxvZ2Jvb2tzLmZpbHRlckJ5UmFuZ2UoJ2RhdGUnLCBwZXJpb2Quc3RhcnQudG9EYXRlKCksIHBlcmlvZC5lbmQudG9EYXRlKCkpO1xuXG4gICAgICBpZiAoIXRoaXMucGVyaW9kIHx8ICh0aGlzLmdldFdvcmtVc2FnZSgpIDwgbG9nYm9va3NJblBlcmlvZC5nZXRXb3JrVXNhZ2UoKSkpIHtcbiAgICAgICAgdGhpcy5wZXJpb2QgPSBwZXJpb2Q7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBsb2dib29rc0luUGVyaW9kLnRvQXJyYXkoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTG9nYm9va3MobG9nYm9va3M6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbik6IEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gfCBudWxsIHtcbiAgICBpZiAoIUJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24uaXNCZXN0UGVyaW9kRXhpc3QobG9nYm9va3MpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjb2xsZWN0aW9uID0gbmV3IEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24obG9nYm9va3MudG9BcnJheSgpKTtcbiAgICBjb2xsZWN0aW9uLmNhbGN1bGF0ZUJlc3RQZXJpb2QobG9nYm9va3MpO1xuXG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVzdC12ZWhpY2xlLWxvZ2Jvb2suY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy92ZWhpY2xlL2Jlc3QtdmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsd0JBQXdCO0lBQ3hFOzs7T0FHRzthQUNJLG1CQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztJQU9sRDs7O09BR0c7SUFDSCxZQUFvQixRQUEwQjtRQUM1QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQWtDO1FBQ3pELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksQ0FBQyxDQUFDLFFBQVEsWUFBWSx3QkFBd0IsQ0FBQyxFQUFFO1lBQ25ELFFBQVEsR0FBRyxJQUFJLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQscURBQXFEO0lBQ3JELE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBa0M7UUFDbEQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFDLCtEQUErRDtRQUMvRCxNQUFNLE9BQU8sR0FBZ0IsU0FBUztZQUNwQyx3REFBd0Q7YUFDdkQsTUFBTSxDQUFDLENBQUMsT0FBdUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUN2RyxHQUFHLENBQUMsQ0FBQyxPQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUd0RSw0RUFBNEU7UUFDNUUseURBQXlEO1FBQ3pELHNEQUFzRDtRQUN0RCxZQUFZO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUk7UUFFSixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUF1QixFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQ25FLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzlGO1FBRUQsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNLLG1CQUFtQixDQUFDLFFBQWtDO1FBQzVELCtEQUErRDtRQUMvRCxNQUFNLE9BQU8sR0FBZ0IsNEJBQTRCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9FLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFpQixFQUFFLEVBQUU7WUFDcEMsTUFBTSxnQkFBZ0IsR0FBNkIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFFOUgsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRTtnQkFDM0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDekM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWtDO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksNEJBQTRCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDeEUsVUFBVSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpDLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZWhpY2xlTG9nYm9vayB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gfSBmcm9tICcuL3ZlaGljbGUtbG9nYm9vay5jb2xsZWN0aW9uJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJ21vbWVudC1yYW5nZSc7XG5cbi8qKlxuICogU3BlY2lhbCBsb2dib29rIGNvbGxlY3Rpb24gdGhhdCBjb250YWlucyBsb2dib29rcyBmcm9tIGRhdGUgcGVyaW9kIHdpdGggdGhlIGhpZ2hlc3Qgd29yayB1c2FnZSBwZXJjZW50XG4gKiBEb2NzOiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxMTUxNzQ0MS9Mb2dib29rK1ZlaGljbGVcbiAqL1xuZXhwb3J0IGNsYXNzIEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gZXh0ZW5kcyBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24ge1xuICAvKipcbiAgICogTG9nYm9vayBjbGFpbWFibGUgcGVyaW9kIGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kcy5cbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTE1MTc0NDEvTG9nYm9vaytWZWhpY2xlXG4gICAqL1xuICBzdGF0aWMgcGVyaW9kRHVyYXRpb24gPSAxMiAqIDcgKiAyNCAqIDM2MDAgKiAxMDAwO1xuXG4gIC8qKlxuICAgKiBEYXRlIHJhbmdlIHdpdGggdGhlIGJpZ2dlc3Qgd29yayB1c2FnZSBwZXJjZW50XG4gICAqL1xuICBwZXJpb2Q6IERhdGVSYW5nZTtcblxuICAvKipcbiAgICogY29uc3RydWN0b3IgaXMgcHJpdmF0ZSBiZWNhdXNlIHdlIHdhbnQgdG8gcHJldmVudCBjb2xsZWN0aW9uIGluaXRpYWxpemF0aW9uIHZpYSAnbmV3JyBvcGVyYXRvci5cbiAgICogV2Ugc2hvdWxkIGNyZWF0ZSBpbnN0YW5jZXMgb25seSB3aXRoIGZyb21Mb2dib29rcyBtZXRob2RcbiAgICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IobG9nYm9va3M6IFZlaGljbGVMb2dib29rW10pIHtcbiAgICBzdXBlcihsb2dib29rcyk7XG4gIH1cblxuICAvKipcbiAgICogQmVzdCBwZXJpb2QgbWF5IGJlIGNhbGN1bGF0ZWQgb25seSB3aGVuIHVzZXIgaGFzIGxvZ2Jvb2tzIG1pbmltdW0gZm9yIFZlaGljbGVMb2dib29rLmJlc3RQZXJpb2RXZWVrc1xuICAgKi9cbiAgc3RhdGljIGlzQmVzdFBlcmlvZEV4aXN0KGxvZ2Jvb2tzOiBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICBpZiAobG9nYm9va3MubGVuZ3RoIDwgMikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghKGxvZ2Jvb2tzIGluc3RhbmNlb2YgVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uKSkge1xuICAgICAgbG9nYm9va3MgPSBuZXcgVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uKGxvZ2Jvb2tzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wZXJpb2REdXJhdGlvbiA8IChsb2dib29rcy5sYXN0LmRhdGUuZ2V0VGltZSgpIC0gbG9nYm9va3MuZmlyc3QuZGF0ZS5nZXRUaW1lKCkpO1xuICB9XG5cbiAgLy8gZ2V0IGxpc3Qgb2YgZGF0ZSByYW5nZXMgZm9yIGVhY2ggb2YgcGFzc2VkIGxvZ2Jvb2tcbiAgc3RhdGljIGdldFBlcmlvZHMobG9nYm9va3M6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbik6IERhdGVSYW5nZVtdIHtcbiAgICBjb25zdCBjbGFpbWFibGUgPSBsb2dib29rcy5nZXRDbGFpbWFibGUoKTtcbiAgICAvLyBnZXQgYSBsaXN0IG9mIGRhdGUgcmFuZ2VzIHRoYXQgY291bGQgcG90ZW50aWFsbHkgYmUgdGhlIGJlc3RcbiAgICBjb25zdCBwZXJpb2RzOiBEYXRlUmFuZ2VbXSA9IGNsYWltYWJsZVxuICAgICAgLy8gc2tpcCBsb2dib29rcyB3aG9zZSByYW5nZSBlbmRzIGFmdGVyIHRoZSBsYXN0IGxvZ2Jvb2tcbiAgICAgIC5maWx0ZXIoKGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rKSA9PiB0aGlzLmdldFBlcmlvZEJ5TG9nYm9vayhsb2dib29rKS5lbmQudG9EYXRlKCkgPCBsb2dib29rcy5sYXN0LmRhdGUpXG4gICAgICAubWFwKChsb2dib29rOiBWZWhpY2xlTG9nYm9vaykgPT4gdGhpcy5nZXRQZXJpb2RCeUxvZ2Jvb2sobG9nYm9vaykpO1xuXG5cbiAgICAvLyBza2lwIGlmIHRoZSBsYXN0IGxvZ2Jvb2sgYWxyZWFkeSBpbmNsdWRlZCB0byB0aGUgbGFzdCBleGlzdGluZyBkYXRlIHJhbmdlXG4gICAgLy8gaWYgKGxhc3QocGVyaW9kcykuZW5kLnRvRGF0ZSgpIDwgbG9nYm9va3MubGFzdC5kYXRlKSB7XG4gICAgLy8gYWRkIGV4dHJhIGRhdGUgcmFuZ2UgZm9yIHRoZSBsYXN0IGNsYWltYWJsZSBsb2dib29rXG4gICAgLy8gQFRPRE8gdmlrXG4gICAgcGVyaW9kcy5wdXNoKHRoaXMuZ2V0UGVyaW9kQnlMb2dib29rKGNsYWltYWJsZS5sYXN0LCB0cnVlKSk7XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIHBlcmlvZHM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNsYWltYWJsZSBkYXRlIHJhbmdlIGZvciBwYXNzZWQgbG9nYm9va1xuICAgKiBAcGFyYW0gbG9nYm9vayBsb2dib29rIGluc3RhbmNlIGZvciByYW5nZSBjYWxjdWxhdGlvblxuICAgKiBAcGFyYW0gaXNCYWNrd2FyZCBGbGFnIGZhbHNlIC0gcmFuZ2UgZm9yIGxvZ2Jvb2sgKyBkdXJhdGlvbjsgZmxhZyB0cnVlIC0gcmFuZ2UgZm9yIGxvZ2Jvb2sgLSBkdXJhdGlvbi4gVXNlZCBmb3IgZXh0cmEgY2FzZSwgd2hlbiB3ZSBzaG91bGQgYWRkIGFuIGV4dHJhIGRhdGUgcmFuZ2UgZm9yIHRoZSBsYXN0IGxvZ2Jvb2tcbiAgICovXG4gIHN0YXRpYyBnZXRQZXJpb2RCeUxvZ2Jvb2sobG9nYm9vazogVmVoaWNsZUxvZ2Jvb2ssIGlzQmFja3dhcmQgPSBmYWxzZSk6IERhdGVSYW5nZSB7XG4gICAgaWYgKGlzQmFja3dhcmQpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlKFtuZXcgRGF0ZShsb2dib29rLmRhdGUuZ2V0VGltZSgpIC0gdGhpcy5wZXJpb2REdXJhdGlvbiksIGxvZ2Jvb2suZGF0ZV0pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlKFtsb2dib29rLmRhdGUsIG5ldyBEYXRlKGxvZ2Jvb2suZGF0ZS5nZXRUaW1lKCkgKyB0aGlzLnBlcmlvZER1cmF0aW9uKV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBEYXRlIFJhbmdlIHdpdGggdGhlIGJpZ2dlc3Qgd29yayB1c2FnZSBwZXJjZW50XG4gICAqIFJhbmdlIGR1cmF0aW9uIGlzIGRlZmluZWQgYXMgQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbi5wZXJpb2REdXJhdGlvbiBieSB0aGUgQVRPXG4gICAqXG4gICAqIEFsZ29yaXRobTpcbiAgICogQ2xhaW1hYmxlIGxvZ2Jvb2tzIG9yIGNsYWltYWJsZSB0cmlwcyAtIHdvcmsvYnVzaW5lc3MgbG9nYm9vayBpdGVtcy5cbiAgICogV2Ugc2hvdWxkIHdvcmsgd2l0aCBkYXRlcyBmcm9tIHRoZSBmaXJzdCB0byB0aGUgbGFzdCB0cmlwIChpbmNsdWRlIHBlcnNvbmFsIHRyaXBzKS5cbiAgICogR2V0IGRhdGUgcmFuZ2VzIHN0YXJ0cyBvbiBlYWNoIGNsYWltYWJsZSB0cmlwLCBhbGwgb3RoZXIgcmFuZ2VzIGFyZSBkZWZpbmV0aWx5IHdvcnN0LlxuICAgKiBBbHNvIGdldCBleHRyYSBkYXRlIHJhbmdlIHdoaWNoIGVuZHMgd2l0aCB0aGUgbGFzdCBjbGFpbWFibGUgdHJpcC5cbiAgICogR2V0IGFsbCB0cmlwcyBpbmNsdWRlZCB0byBlYWNoIGRhdGUgcmFuZ2UuXG4gICAqIEZpbmQgYW5kIHJldHVybiByYW5nZSB3aXRoIHRoZSBiaWdnZXN0IHdvcmtVc2FnZSBwZXJjZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxhdGVCZXN0UGVyaW9kKGxvZ2Jvb2tzOiBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24pOiB2b2lkIHtcbiAgICAvLyBnZXQgYSBsaXN0IG9mIGRhdGUgcmFuZ2VzIHRoYXQgY291bGQgcG90ZW50aWFsbHkgYmUgdGhlIGJlc3RcbiAgICBjb25zdCBwZXJpb2RzOiBEYXRlUmFuZ2VbXSA9IEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24uZ2V0UGVyaW9kcyhsb2dib29rcyk7XG5cbiAgICBwZXJpb2RzLmZvckVhY2goKHBlcmlvZDogRGF0ZVJhbmdlKSA9PiB7XG4gICAgICBjb25zdCBsb2dib29rc0luUGVyaW9kOiBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gPSBsb2dib29rcy5maWx0ZXJCeVJhbmdlKCdkYXRlJywgcGVyaW9kLnN0YXJ0LnRvRGF0ZSgpLCBwZXJpb2QuZW5kLnRvRGF0ZSgpKTtcblxuICAgICAgaWYgKCF0aGlzLnBlcmlvZCB8fCAodGhpcy5nZXRXb3JrVXNhZ2UoKSA8IGxvZ2Jvb2tzSW5QZXJpb2QuZ2V0V29ya1VzYWdlKCkpKSB7XG4gICAgICAgIHRoaXMucGVyaW9kID0gcGVyaW9kO1xuICAgICAgICB0aGlzLml0ZW1zID0gbG9nYm9va3NJblBlcmlvZC50b0FycmF5KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUxvZ2Jvb2tzKGxvZ2Jvb2tzOiBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24pOiBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmlzQmVzdFBlcmlvZEV4aXN0KGxvZ2Jvb2tzKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY29sbGVjdGlvbiA9IG5ldyBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uKGxvZ2Jvb2tzLnRvQXJyYXkoKSk7XG4gICAgY29sbGVjdGlvbi5jYWxjdWxhdGVCZXN0UGVyaW9kKGxvZ2Jvb2tzKTtcblxuICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICB9XG59XG4iXX0=
@@ -9,7 +9,7 @@ export class VehicleLogbookCollection extends Collection {
9
9
  return this.sumBy('kilometers');
10
10
  }
11
11
  getWorkUsage(vehicleClaim) {
12
- return this.getClaimable(vehicleClaim).kilometers / this.kilometers * 100;
12
+ return +(this.getClaimable(vehicleClaim).kilometers / this.kilometers * 100).toFixed(10);
13
13
  }
14
14
  getClaimable(vehicleClaim) {
15
15
  if (!vehicleClaim) {
@@ -28,4 +28,4 @@ export class VehicleLogbookCollection extends Collection {
28
28
  return BestVehicleLogbookCollection.fromLogbooks(this);
29
29
  }
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdmVoaWNsZS92ZWhpY2xlLWxvZ2Jvb2suY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVqRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsVUFBMEI7SUFDdEU7O09BRUc7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxZQUEyQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQzVFLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBMkI7UUFDdEMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN0RTtRQUVELE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUM5QixrRkFBa0Y7WUFDbEYsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3hELCtFQUErRTtZQUMvRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0sIFZlaGljbGVMb2dib29rIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gfSBmcm9tICcuL2Jlc3QtdmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxWZWhpY2xlTG9nYm9vaz4ge1xuICAvKipcbiAgICogQ2FsY3VsYXRlIHRvdGFsIGtpbG9tZXRlcnMgdHJhdmVsZWRcbiAgICovXG4gIGdldCBraWxvbWV0ZXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2tpbG9tZXRlcnMnKTtcbiAgfVxuXG4gIGdldFdvcmtVc2FnZSh2ZWhpY2xlQ2xhaW0/OiBWZWhpY2xlQ2xhaW0pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldENsYWltYWJsZSh2ZWhpY2xlQ2xhaW0pLmtpbG9tZXRlcnMgLyB0aGlzLmtpbG9tZXRlcnMgKiAxMDA7XG4gIH1cblxuICBnZXRDbGFpbWFibGUodmVoaWNsZUNsYWltPzogVmVoaWNsZUNsYWltKTogdGhpcyB7XG4gICAgaWYgKCF2ZWhpY2xlQ2xhaW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcigobG9nYm9vazogVmVoaWNsZUxvZ2Jvb2spID0+ICFsb2dib29rLmlzUGVyc29uYWwpO1xuICAgIH1cblxuICAgIHJldHVybiB2ZWhpY2xlQ2xhaW0uaXNTb2xlVGFuaygpXG4gICAgICAvLyBzb2xlIHRhbmsgbWF5IGhhdmUgbXVsdGlwbGUgdmVoaWNsZSBjbGFpbXMsIHNvIHdlIG5lZWQgdG8gZmlsdGVyIGJ5IGJ1c2luZXNzLmlkXG4gICAgICA/IHRoaXMuZmlsdGVyQnkoJ2J1c2luZXNzLmlkJywgdmVoaWNsZUNsYWltLmJ1c2luZXNzLmlkKVxuICAgICAgLy8gd29yayB0YW5rIG1heSBoYXZlIG9ubHkgb25lIHZlaGljbGUgY2xhaW0sIHNvIHdlIG5lZWQgdG8gZmlsdGVyIGJ5IHRhbmsgdHlwZVxuICAgICAgOiB0aGlzLmZpbHRlckJ5KCd0YW5rVHlwZScsIFRhbmtUeXBlRW51bS5XT1JLKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgY29sbGVjdGlvbiBvZiBsb2dib29rcyB3aXRoIHRoZSBiaWdnZXN0IHdvcmsgdXNhZ2UgZm9yIHtAbGluayBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uLnBlcmlvZER1cmF0aW9ufVxuICAgKi9cbiAgZ2V0QmVzdCgpOiBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuIEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24uZnJvbUxvZ2Jvb2tzKHRoaXMpO1xuICB9XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdmVoaWNsZS92ZWhpY2xlLWxvZ2Jvb2suY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVqRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsVUFBMEI7SUFDdEU7O09BRUc7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxZQUEyQjtRQUN0QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsWUFBWSxDQUFDLFlBQTJCO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEU7UUFFRCxPQUFPLFlBQVksQ0FBQyxVQUFVLEVBQUU7WUFDOUIsa0ZBQWtGO1lBQ2xGLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN4RCwrRUFBK0U7WUFDL0UsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTyw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltLCBWZWhpY2xlTG9nYm9vayB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIH0gZnJvbSAnLi9iZXN0LXZlaGljbGUtbG9nYm9vay5jb2xsZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VmVoaWNsZUxvZ2Jvb2s+IHtcbiAgLyoqXG4gICAqIENhbGN1bGF0ZSB0b3RhbCBraWxvbWV0ZXJzIHRyYXZlbGVkXG4gICAqL1xuICBnZXQga2lsb21ldGVycygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdraWxvbWV0ZXJzJyk7XG4gIH1cblxuICBnZXRXb3JrVXNhZ2UodmVoaWNsZUNsYWltPzogVmVoaWNsZUNsYWltKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKyh0aGlzLmdldENsYWltYWJsZSh2ZWhpY2xlQ2xhaW0pLmtpbG9tZXRlcnMgLyB0aGlzLmtpbG9tZXRlcnMgKiAxMDApLnRvRml4ZWQoMTApO1xuICB9XG5cbiAgZ2V0Q2xhaW1hYmxlKHZlaGljbGVDbGFpbT86IFZlaGljbGVDbGFpbSk6IHRoaXMge1xuICAgIGlmICghdmVoaWNsZUNsYWltKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rKSA9PiAhbG9nYm9vay5pc1BlcnNvbmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVoaWNsZUNsYWltLmlzU29sZVRhbmsoKVxuICAgICAgLy8gc29sZSB0YW5rIG1heSBoYXZlIG11bHRpcGxlIHZlaGljbGUgY2xhaW1zLCBzbyB3ZSBuZWVkIHRvIGZpbHRlciBieSBidXNpbmVzcy5pZFxuICAgICAgPyB0aGlzLmZpbHRlckJ5KCdidXNpbmVzcy5pZCcsIHZlaGljbGVDbGFpbS5idXNpbmVzcy5pZClcbiAgICAgIC8vIHdvcmsgdGFuayBtYXkgaGF2ZSBvbmx5IG9uZSB2ZWhpY2xlIGNsYWltLCBzbyB3ZSBuZWVkIHRvIGZpbHRlciBieSB0YW5rIHR5cGVcbiAgICAgIDogdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uV09SSyk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGNvbGxlY3Rpb24gb2YgbG9nYm9va3Mgd2l0aCB0aGUgYmlnZ2VzdCB3b3JrIHVzYWdlIGZvciB7QGxpbmsgQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbi5wZXJpb2REdXJhdGlvbn1cbiAgICovXG4gIGdldEJlc3QoKTogQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiB8IG51bGwge1xuICAgIHJldHVybiBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uLmZyb21Mb2dib29rcyh0aGlzKTtcbiAgfVxufVxuIl19
@@ -2,8 +2,10 @@ import { Injectable } from '@angular/core';
2
2
  import { VehicleClaim } from '../../../models';
3
3
  import { RestService } from '../rest/rest-old.service';
4
4
  import { AppEventTypeEnum } from '../../../models';
5
+ import { combineLatest } from 'rxjs';
5
6
  import { map } from 'rxjs/operators';
6
7
  import { AppEvent } from '../../../models';
8
+ import { plainToClass } from 'class-transformer';
7
9
  import { UserRolesEnum } from '../../../db/Enums/user-roles.enum';
8
10
  import * as i0 from "@angular/core";
9
11
  export class VehicleClaimService extends RestService {
@@ -13,9 +15,6 @@ export class VehicleClaimService extends RestService {
13
15
  this.url = 'vehicle-claims';
14
16
  this.roles = [UserRolesEnum.WORK_TANK, UserRolesEnum.SOLE_TANK];
15
17
  }
16
- listenEvents() {
17
- this.listenVehicleClaimDetailsChanges();
18
- }
19
18
  add(model) {
20
19
  return super.add(model).pipe(map((vehicleClaim) => {
21
20
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.VEHICLE_CLAIM_CREATED, vehicleClaim));
@@ -29,14 +28,15 @@ export class VehicleClaimService extends RestService {
29
28
  }));
30
29
  }
31
30
  /**
32
- * Details changes may affect vehicle claims:
33
- * when details method changed, all claims current values become 0
31
+ * Update workUsage for all vehicle claims if logbook best period changed
32
+ * @TODO Vik: Best period move this and related logic to backend
34
33
  */
35
- listenVehicleClaimDetailsChanges() {
36
- this.eventDispatcherService.on(AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED)
37
- .subscribe(() => {
38
- this.refreshCache();
34
+ updateWorkUsage(bestLogbooks) {
35
+ const batch$ = (this.cache ?? []).map((claim) => {
36
+ const claimToUpdate = plainToClass(VehicleClaim, Object.assign({}, claim, { workUsage: bestLogbooks.getWorkUsage(claim) }));
37
+ return this.update(claimToUpdate);
39
38
  });
39
+ return combineLatest(batch$);
40
40
  }
41
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VehicleClaimService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
42
42
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VehicleClaimService, providedIn: 'root' }); }
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
47
47
  providedIn: 'root'
48
48
  }]
49
49
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUtsRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFHLGdCQUFnQixDQUFDO1FBQ3ZCLFVBQUssR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBb0M1RDtJQWxDQyxZQUFZO1FBQ1YsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFtQjtRQUNyQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMxQixHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBRXpHLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQW1CLEVBQUUsY0FBc0IsRUFBRTtRQUNsRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUV6RyxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdDQUFnQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLDZCQUE2QixDQUFDO2FBQzNFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDOytHQXRDVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltIGFzIFZlaGljbGVDbGFpbUJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdmVoaWNsZS92ZWhpY2xlLWNsYWltJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVmVoaWNsZUNsYWltU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFZlaGljbGVDbGFpbUJhc2UsIFZlaGljbGVDbGFpbT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBWZWhpY2xlQ2xhaW0gPSBWZWhpY2xlQ2xhaW07XG4gIHVybCA9ICd2ZWhpY2xlLWNsYWltcyc7XG4gIHJvbGVzID0gW1VzZXJSb2xlc0VudW0uV09SS19UQU5LLCBVc2VyUm9sZXNFbnVtLlNPTEVfVEFOS107XG5cbiAgbGlzdGVuRXZlbnRzKCkge1xuICAgIHRoaXMubGlzdGVuVmVoaWNsZUNsYWltRGV0YWlsc0NoYW5nZXMoKTtcbiAgfVxuXG4gIGFkZChtb2RlbDogVmVoaWNsZUNsYWltKTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+IHtcbiAgICByZXR1cm4gc3VwZXIuYWRkKG1vZGVsKS5waXBlKFxuICAgICAgbWFwKCh2ZWhpY2xlQ2xhaW06IFZlaGljbGVDbGFpbSkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELCB2ZWhpY2xlQ2xhaW0pKTtcblxuICAgICAgICByZXR1cm4gdmVoaWNsZUNsYWltO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlKG1vZGVsOiBWZWhpY2xlQ2xhaW0sIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8VmVoaWNsZUNsYWltPiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShtb2RlbCwgcXVlcnlQYXJhbXMpLnBpcGUoXG4gICAgICBtYXAoKHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsIHZlaGljbGVDbGFpbSkpO1xuXG4gICAgICAgIHJldHVybiB2ZWhpY2xlQ2xhaW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGV0YWlscyBjaGFuZ2VzIG1heSBhZmZlY3QgdmVoaWNsZSBjbGFpbXM6XG4gICAqIHdoZW4gZGV0YWlscyBtZXRob2QgY2hhbmdlZCwgYWxsIGNsYWltcyBjdXJyZW50IHZhbHVlcyBiZWNvbWUgMFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5WZWhpY2xlQ2xhaW1EZXRhaWxzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgICAgfSlcbiAgfVxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQU1sRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFHLGdCQUFnQixDQUFDO1FBQ3ZCLFVBQUssR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBc0M1RDtJQXBDQyxHQUFHLENBQUMsS0FBbUI7UUFDckIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUV6RyxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFtQixFQUFFLGNBQXNCLEVBQUU7UUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFFekcsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlLENBQUMsWUFBMEM7UUFDeEQsTUFBTSxNQUFNLEdBQStCLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFtQixFQUFFLEVBQUU7WUFDeEYsTUFBTSxhQUFhLEdBQWlCLFlBQVksQ0FDOUMsWUFBWSxFQUNaLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FDMUUsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7K0dBeENVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gYXMgVmVoaWNsZUNsYWltQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy92ZWhpY2xlL3ZlaGljbGUtY2xhaW0nO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdC9yZXN0LW9sZC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy91c2VyLXJvbGVzLmVudW0nO1xuaW1wb3J0IHsgQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVmVoaWNsZUNsYWltU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFZlaGljbGVDbGFpbUJhc2UsIFZlaGljbGVDbGFpbT4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgVmVoaWNsZUNsYWltID0gVmVoaWNsZUNsYWltO1xuICB1cmwgPSAndmVoaWNsZS1jbGFpbXMnO1xuICByb2xlcyA9IFtVc2VyUm9sZXNFbnVtLldPUktfVEFOSywgVXNlclJvbGVzRW51bS5TT0xFX1RBTktdO1xuXG4gIGFkZChtb2RlbDogVmVoaWNsZUNsYWltKTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+IHtcbiAgICByZXR1cm4gc3VwZXIuYWRkKG1vZGVsKS5waXBlKFxuICAgICAgbWFwKCh2ZWhpY2xlQ2xhaW06IFZlaGljbGVDbGFpbSkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELCB2ZWhpY2xlQ2xhaW0pKTtcblxuICAgICAgICByZXR1cm4gdmVoaWNsZUNsYWltO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlKG1vZGVsOiBWZWhpY2xlQ2xhaW0sIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8VmVoaWNsZUNsYWltPiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShtb2RlbCwgcXVlcnlQYXJhbXMpLnBpcGUoXG4gICAgICBtYXAoKHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsIHZlaGljbGVDbGFpbSkpO1xuXG4gICAgICAgIHJldHVybiB2ZWhpY2xlQ2xhaW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHdvcmtVc2FnZSBmb3IgYWxsIHZlaGljbGUgY2xhaW1zIGlmIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2hhbmdlZFxuICAgKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kIG1vdmUgdGhpcyBhbmQgcmVsYXRlZCBsb2dpYyB0byBiYWNrZW5kXG4gICAqL1xuICB1cGRhdGVXb3JrVXNhZ2UoYmVzdExvZ2Jvb2tzOiBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uKTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW1bXT4ge1xuICAgIGNvbnN0IGJhdGNoJDogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+W10gPSAodGhpcy5jYWNoZSA/PyBbXSkubWFwKChjbGFpbTogVmVoaWNsZUNsYWltKSA9PiB7XG4gICAgICBjb25zdCBjbGFpbVRvVXBkYXRlOiBWZWhpY2xlQ2xhaW0gPSBwbGFpblRvQ2xhc3MoXG4gICAgICAgIFZlaGljbGVDbGFpbSxcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgY2xhaW0sIHsgd29ya1VzYWdlOiBiZXN0TG9nYm9va3MuZ2V0V29ya1VzYWdlKGNsYWltKSB9KVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlKGNsYWltVG9VcGRhdGUpO1xuICAgIH0pXG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCQpO1xuICB9XG59XG4iXX0=
@@ -8502,7 +8502,7 @@ class VehicleLogbookCollection extends Collection {
8502
8502
  return this.sumBy('kilometers');
8503
8503
  }
8504
8504
  getWorkUsage(vehicleClaim) {
8505
- return this.getClaimable(vehicleClaim).kilometers / this.kilometers * 100;
8505
+ return +(this.getClaimable(vehicleClaim).kilometers / this.kilometers * 100).toFixed(10);
8506
8506
  }
8507
8507
  getClaimable(vehicleClaim) {
8508
8508
  if (!vehicleClaim) {
@@ -8549,7 +8549,7 @@ class BestVehicleLogbookCollection extends VehicleLogbookCollection {
8549
8549
  if (!(logbooks instanceof VehicleLogbookCollection)) {
8550
8550
  logbooks = new VehicleLogbookCollection(logbooks);
8551
8551
  }
8552
- return BestVehicleLogbookCollection.periodDuration < (logbooks.last.date.getTime() - logbooks.first.date.getTime());
8552
+ return this.periodDuration < (logbooks.last.date.getTime() - logbooks.first.date.getTime());
8553
8553
  }
8554
8554
  // get list of date ranges for each of passed logbook
8555
8555
  static getPeriods(logbooks) {
@@ -8557,13 +8557,13 @@ class BestVehicleLogbookCollection extends VehicleLogbookCollection {
8557
8557
  // get a list of date ranges that could potentially be the best
8558
8558
  const periods = claimable
8559
8559
  // skip logbooks whose range ends after the last logbook
8560
- .filter((logbook) => BestVehicleLogbookCollection.getPeriodByLogbook(logbook).end.toDate() < logbooks.last.date)
8561
- .map((logbook) => BestVehicleLogbookCollection.getPeriodByLogbook(logbook));
8560
+ .filter((logbook) => this.getPeriodByLogbook(logbook).end.toDate() < logbooks.last.date)
8561
+ .map((logbook) => this.getPeriodByLogbook(logbook));
8562
8562
  // skip if the last logbook already included to the last existing date range
8563
8563
  // if (last(periods).end.toDate() < logbooks.last.date) {
8564
8564
  // add extra date range for the last claimable logbook
8565
8565
  // @TODO vik
8566
- periods.push(BestVehicleLogbookCollection.getPeriodByLogbook(claimable.last, true));
8566
+ periods.push(this.getPeriodByLogbook(claimable.last, true));
8567
8567
  // }
8568
8568
  return periods;
8569
8569
  }
@@ -8574,9 +8574,9 @@ class BestVehicleLogbookCollection extends VehicleLogbookCollection {
8574
8574
  */
8575
8575
  static getPeriodByLogbook(logbook, isBackward = false) {
8576
8576
  if (isBackward) {
8577
- return new DateRange([new Date(logbook.date.getTime() - BestVehicleLogbookCollection.periodDuration), logbook.date]);
8577
+ return new DateRange([new Date(logbook.date.getTime() - this.periodDuration), logbook.date]);
8578
8578
  }
8579
- return new DateRange([logbook.date, new Date(logbook.date.getTime() + BestVehicleLogbookCollection.periodDuration)]);
8579
+ return new DateRange([logbook.date, new Date(logbook.date.getTime() + this.periodDuration)]);
8580
8580
  }
8581
8581
  /**
8582
8582
  * Set Date Range with the biggest work usage percent
@@ -8602,7 +8602,7 @@ class BestVehicleLogbookCollection extends VehicleLogbookCollection {
8602
8602
  });
8603
8603
  }
8604
8604
  static fromLogbooks(logbooks) {
8605
- if (!BestVehicleLogbookCollection.isBestPeriodExist(logbooks)) {
8605
+ if (!this.isBestPeriodExist(logbooks)) {
8606
8606
  return null;
8607
8607
  }
8608
8608
  const collection = new BestVehicleLogbookCollection(logbooks.toArray());
@@ -15236,9 +15236,6 @@ class VehicleClaimService extends RestService {
15236
15236
  this.url = 'vehicle-claims';
15237
15237
  this.roles = [UserRolesEnum.WORK_TANK, UserRolesEnum.SOLE_TANK];
15238
15238
  }
15239
- listenEvents() {
15240
- this.listenVehicleClaimDetailsChanges();
15241
- }
15242
15239
  add(model) {
15243
15240
  return super.add(model).pipe(map((vehicleClaim) => {
15244
15241
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.VEHICLE_CLAIM_CREATED, vehicleClaim));
@@ -15252,14 +15249,15 @@ class VehicleClaimService extends RestService {
15252
15249
  }));
15253
15250
  }
15254
15251
  /**
15255
- * Details changes may affect vehicle claims:
15256
- * when details method changed, all claims current values become 0
15252
+ * Update workUsage for all vehicle claims if logbook best period changed
15253
+ * @TODO Vik: Best period move this and related logic to backend
15257
15254
  */
15258
- listenVehicleClaimDetailsChanges() {
15259
- this.eventDispatcherService.on(AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED)
15260
- .subscribe(() => {
15261
- this.refreshCache();
15255
+ updateWorkUsage(bestLogbooks) {
15256
+ const batch$ = (this.cache ?? []).map((claim) => {
15257
+ const claimToUpdate = plainToClass(VehicleClaim, Object.assign({}, claim, { workUsage: bestLogbooks.getWorkUsage(claim) }));
15258
+ return this.update(claimToUpdate);
15262
15259
  });
15260
+ return combineLatest(batch$);
15263
15261
  }
15264
15262
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VehicleClaimService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
15265
15263
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VehicleClaimService, providedIn: 'root' }); }