taxtank-core 0.32.115 → 0.32.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/collections/vehicle/vehicle-logbook.collection.mjs +13 -1
- package/esm2022/lib/forms/vehicle/vehicle-claim-details.form.mjs +1 -1
- package/esm2022/lib/forms/vehicle/vehicle-claim.form.mjs +1 -3
- package/esm2022/lib/forms/vehicle/vehicle-logbook.form.mjs +3 -4
- package/fesm2022/taxtank-core.mjs +13 -4
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/lib/collections/vehicle/vehicle-logbook.collection.d.ts +6 -0
- package/lib/forms/vehicle/vehicle-claim.form.d.ts +0 -2
- package/package.json +1 -1
@@ -1,6 +1,9 @@
|
|
1
1
|
import { Collection } from '../collection';
|
2
2
|
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
3
3
|
import { BestVehicleLogbookCollection } from './best-vehicle-logbook.collection';
|
4
|
+
/**
|
5
|
+
* this collection sorted by date desc, that's why first/last methods works different
|
6
|
+
*/
|
4
7
|
export class VehicleLogbookCollection extends Collection {
|
5
8
|
/**
|
6
9
|
* Calculate total kilometers traveled
|
@@ -27,5 +30,14 @@ export class VehicleLogbookCollection extends Collection {
|
|
27
30
|
getBest() {
|
28
31
|
return BestVehicleLogbookCollection.fromLogbooks(this);
|
29
32
|
}
|
33
|
+
get first() {
|
34
|
+
return super.last;
|
35
|
+
}
|
36
|
+
get last() {
|
37
|
+
return super.first;
|
38
|
+
}
|
39
|
+
get preLast() {
|
40
|
+
return this.items[1];
|
41
|
+
}
|
30
42
|
}
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdmVoaWNsZS92ZWhpY2xlLWxvZ2Jvb2suY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVqRjs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxVQUEwQjtJQUN0RTs7T0FFRztJQUNILElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFlBQTJCO1FBQ3RDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBMkI7UUFDdEMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN0RTtRQUVELE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUM5QixrRkFBa0Y7WUFDbEYsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3hELCtFQUErRTtZQUMvRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0sIFZlaGljbGVMb2dib29rIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IEJlc3RWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gfSBmcm9tICcuL2Jlc3QtdmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIHRoaXMgY29sbGVjdGlvbiBzb3J0ZWQgYnkgZGF0ZSBkZXNjLCB0aGF0J3Mgd2h5IGZpcnN0L2xhc3QgbWV0aG9kcyB3b3JrcyBkaWZmZXJlbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VmVoaWNsZUxvZ2Jvb2s+IHtcbiAgLyoqXG4gICAqIENhbGN1bGF0ZSB0b3RhbCBraWxvbWV0ZXJzIHRyYXZlbGVkXG4gICAqL1xuICBnZXQga2lsb21ldGVycygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdraWxvbWV0ZXJzJyk7XG4gIH1cblxuICBnZXRXb3JrVXNhZ2UodmVoaWNsZUNsYWltPzogVmVoaWNsZUNsYWltKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKyh0aGlzLmdldENsYWltYWJsZSh2ZWhpY2xlQ2xhaW0pLmtpbG9tZXRlcnMgLyB0aGlzLmtpbG9tZXRlcnMgKiAxMDApLnRvRml4ZWQoMTApO1xuICB9XG5cbiAgZ2V0Q2xhaW1hYmxlKHZlaGljbGVDbGFpbT86IFZlaGljbGVDbGFpbSk6IHRoaXMge1xuICAgIGlmICghdmVoaWNsZUNsYWltKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rKSA9PiAhbG9nYm9vay5pc1BlcnNvbmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVoaWNsZUNsYWltLmlzU29sZVRhbmsoKVxuICAgICAgLy8gc29sZSB0YW5rIG1heSBoYXZlIG11bHRpcGxlIHZlaGljbGUgY2xhaW1zLCBzbyB3ZSBuZWVkIHRvIGZpbHRlciBieSBidXNpbmVzcy5pZFxuICAgICAgPyB0aGlzLmZpbHRlckJ5KCdidXNpbmVzcy5pZCcsIHZlaGljbGVDbGFpbS5idXNpbmVzcy5pZClcbiAgICAgIC8vIHdvcmsgdGFuayBtYXkgaGF2ZSBvbmx5IG9uZSB2ZWhpY2xlIGNsYWltLCBzbyB3ZSBuZWVkIHRvIGZpbHRlciBieSB0YW5rIHR5cGVcbiAgICAgIDogdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uV09SSyk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGNvbGxlY3Rpb24gb2YgbG9nYm9va3Mgd2l0aCB0aGUgYmlnZ2VzdCB3b3JrIHVzYWdlIGZvciB7QGxpbmsgQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbi5wZXJpb2REdXJhdGlvbn1cbiAgICovXG4gIGdldEJlc3QoKTogQmVzdFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiB8IG51bGwge1xuICAgIHJldHVybiBCZXN0VmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uLmZyb21Mb2dib29rcyh0aGlzKTtcbiAgfVxuXG4gIGdldCBmaXJzdCgpOiBWZWhpY2xlTG9nYm9vayB7XG4gICAgcmV0dXJuIHN1cGVyLmxhc3Q7XG4gIH1cblxuICBnZXQgbGFzdCgpOiBWZWhpY2xlTG9nYm9vayB7XG4gICAgcmV0dXJuIHN1cGVyLmZpcnN0O1xuICB9XG5cbiAgZ2V0IHByZUxhc3QoKTogVmVoaWNsZUxvZ2Jvb2sge1xuICAgIHJldHVybiB0aGlzLml0ZW1zWzFdO1xuICB9XG59XG4iXX0=
|
@@ -14,4 +14,4 @@ export class VehicleClaimDetailsForm extends AbstractForm {
|
|
14
14
|
}, vehicleClaimDetails);
|
15
15
|
}
|
16
16
|
}
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS1kZXRhaWxzLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdmVoaWNsZS92ZWhpY2xlLWNsYWltLWRldGFpbHMuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFlBQWlDO0lBQzVFLFlBQVksbUJBQXdDLEVBQUUsaUJBQTBCO1FBQzlFLEtBQUssQ0FBQztZQUNKLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9FLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDO2dCQUMvQixLQUFLLEVBQUUsbUJBQW1CLENBQUMsUUFBUTtnQkFDbkMsUUFBUSxFQUFFLENBQUMsaUJBQWlCO2FBQzdCLENBQUM7U0FDSCxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW1EZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBZGQvRWRpdCB2ZWhpY2xlIGNsYWltIGRldGFpbHMgZm9ybVxuICovXG5leHBvcnQgY2xhc3MgVmVoaWNsZUNsYWltRGV0YWlsc0Zvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08VmVoaWNsZUNsYWltRGV0YWlscz4ge1xuICBjb25zdHJ1Y3Rvcih2ZWhpY2xlQ2xhaW1EZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzLCBpc0Jlc3RQZXJpb2RFeGlzdDogYm9vbGVhbikge1xuICAgIHN1cGVyKHtcbiAgICAgIG1ldGhvZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh2ZWhpY2xlQ2xhaW1EZXRhaWxzLm1ldGhvZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpc01hbnVhbDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7XG4gICAgICAgIHZhbHVlOiB2ZWhpY2xlQ2xhaW1EZXRhaWxzLmlzTWFudWFsLFxuICAgICAgICBkaXNhYmxlZDogIWlzQmVzdFBlcmlvZEV4aXN0XG4gICAgICB9KSxcbiAgICB9LCB2ZWhpY2xlQ2xhaW1EZXRhaWxzKTtcbiAgfVxufVxuIl19
|
@@ -20,11 +20,9 @@ export class VehicleClaimForm extends AbstractForm {
|
|
20
20
|
disabled: !details.isManual || details.isKmsMethod()
|
21
21
|
})
|
22
22
|
}, vehicleClaim);
|
23
|
-
this.vehicleClaim = vehicleClaim;
|
24
|
-
this.details = details;
|
25
23
|
}
|
26
24
|
getAverageWeeklyKMS() {
|
27
25
|
return this.get('kilometers').value / FinancialYear.weeksInYear;
|
28
26
|
}
|
29
27
|
}
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3ZlaGljbGUvdmVoaWNsZS1jbGFpbS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQTBCO0lBQzlEOzs7T0FHRztJQUNILFlBQVksWUFBMEIsRUFBRSxPQUE0QjtRQUNsRSxLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQztnQkFDakMsS0FBSyxFQUFFLFlBQVksQ0FBQyxVQUFVO2dCQUM5QixRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUU7YUFDekQsQ0FBQztZQUNGLFNBQVMsRUFBRSxJQUFJLGtCQUFrQixDQUFDO2dCQUNoQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFNBQVM7Z0JBQzdCLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTthQUNyRCxDQUFDO1NBQ0gsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW1EZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG4vKipcbiAqIEFkZC9FZGl0IFZlaGljbGUgQ2xhaW0gZm9ybVxuICovXG5leHBvcnQgY2xhc3MgVmVoaWNsZUNsYWltRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxWZWhpY2xlQ2xhaW0+IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB2ZWhpY2xlQ2xhaW0gcmVxdWlyZWQgZXZlbiBmb3IgdGhlIG5ldyBjbGFpbSwgYmVjYXVzZSBjbGFpbSBuZWVkcyBidXNpbmVzcyBmb3Igc29sZSB0YW5rXG4gICAqIEBwYXJhbSBkZXRhaWxzIHJlcXVpcmVkIGZvciBmb3JtIGNvbnRyb2xzIGRpc2FibGVkIHN0YXRlIG1hbmFnZW1lbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltLCBkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzKSB7XG4gICAgc3VwZXIoe1xuICAgICAga2lsb21ldGVyczogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7XG4gICAgICAgIHZhbHVlOiB2ZWhpY2xlQ2xhaW0ua2lsb21ldGVycyxcbiAgICAgICAgZGlzYWJsZWQ6ICFkZXRhaWxzLmlzTWFudWFsIHx8IGRldGFpbHMuaXNMb2dib29rTWV0aG9kKClcbiAgICAgIH0pLFxuICAgICAgd29ya1VzYWdlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHtcbiAgICAgICAgdmFsdWU6IHZlaGljbGVDbGFpbS53b3JrVXNhZ2UsXG4gICAgICAgIGRpc2FibGVkOiAhZGV0YWlscy5pc01hbnVhbCB8fCBkZXRhaWxzLmlzS21zTWV0aG9kKClcbiAgICAgIH0pXG4gICAgfSwgdmVoaWNsZUNsYWltKTtcbiAgfVxuXG4gIGdldEF2ZXJhZ2VXZWVrbHlLTVMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2tpbG9tZXRlcnMnKS52YWx1ZSAvIEZpbmFuY2lhbFllYXIud2Vla3NJblllYXI7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AbstractForm } from '../abstract.form';
|
2
2
|
import { UntypedFormControl, Validators } from '@angular/forms';
|
3
|
-
import { FinancialYear } from '../../models
|
3
|
+
import { FinancialYear } from '../../models';
|
4
4
|
import { dateRangeValidator } from '../../validators/date-range.validator';
|
5
5
|
/**
|
6
6
|
* Add/Edit vehicle logbook form.
|
@@ -49,8 +49,7 @@ export class VehicleLogbookForm extends AbstractForm {
|
|
49
49
|
case !!this.logbook.id && this.logbook.id === this.logbooks.last.id && this.logbooks.length > 1:
|
50
50
|
this.get('odometerStart').disable();
|
51
51
|
this.get('odometerEnd').setValidators(Validators.min(this.logbooks.last.odometerEnd));
|
52
|
-
|
53
|
-
this.get('date').setValidators(dateRangeValidator(preLastDate, new FinancialYear().endDate));
|
52
|
+
this.get('date').setValidators(dateRangeValidator(this.logbooks.preLast.date, new FinancialYear().endDate));
|
54
53
|
break;
|
55
54
|
// Edit the non-last logbook
|
56
55
|
case !!this.logbook.id && this.logbook.id !== this.logbooks.last.id && this.logbooks.length > 1:
|
@@ -60,4 +59,4 @@ export class VehicleLogbookForm extends AbstractForm {
|
|
60
59
|
}
|
61
60
|
}
|
62
61
|
}
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1sb2dib29rLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdmVoaWNsZS92ZWhpY2xlLWxvZ2Jvb2suZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFM0U7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQTRCO2FBQzNELHlCQUFvQixHQUFHLEVBQUUsQ0FBQztJQUVqQzs7O09BR0c7SUFDSCxZQUNVLE9BQXVCLEVBQ3ZCLFFBQWtDO1FBRTFDLEtBQUssQ0FBQztZQUNKLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQzlJLFVBQVUsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDdEQsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9ELGFBQWEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRixXQUFXLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7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SUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IFZlaGljbGVMb2dib29rIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgZGF0ZVJhbmdlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9kYXRlLXJhbmdlLnZhbGlkYXRvcic7XG5cbi8qKlxuICogQWRkL0VkaXQgdmVoaWNsZSBsb2dib29rIGZvcm0uXG4gKiBCZWhhdmlvciBjYXNlczpcbiAqIDEpIENyZWF0ZSB0aGUgZmlyc3QgbG9nYm9vayBPUiBFZGl0IHRoZSBzaW5nbGUgbG9nYm9vazogYWxsIGZpZWxkcyBlbmFibGVkXG4gKiAyKSBDcmVhdGUgdGhlIG5vbi1maXJzdCBsb2dib29rIE9SIEVkaXQgdGhlIGxhc3QgbG9nYm9vazogb2RvbWV0ZXJTdGFydCBkaXNhYmxlZFxuICogMykgRWRpdCB0aGUgbm9uLWxhc3QgbG9nYm9vazogb2RvbWV0ZXJTdGFydCwgb2RvbWV0ZXJFbmQsIGRhdGUgZGlzYWJsZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFZlaGljbGVMb2dib29rRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxWZWhpY2xlTG9nYm9vaz4ge1xuICBzdGF0aWMgbWF4RGVzY3JpcHRpb25MZW5ndGggPSA2MDtcblxuICAvKipcbiAgICogQHBhcmFtIGxvZ2Jvb2sgcmVxdWlyZWQgYmVjYXVzZSB3ZSBuZWVkIHRvIHNldCB2ZWhpY2xlIGFsbG9jYXRpb24gYW5kIHdlIGNhbiBub3Qgc2V0IGluIGluIHRoZSBmb3JtXG4gICAqIEBwYXJhbSBsb2dib29rcyBsaXN0IG9mIGFsbCBsb2dib29rcyByZWxhdGVkIHRvIGN1cnJlbnQgbG9nYm9vaydzIHZlaGljbGUuIFJlcXVpcmVkIGZvciBmb3JtIGZpZWxkcyB2YWxpZGF0aW9uIGFuZCBkaXNhYmxlZCBzdGF0ZSBtYW5hZ2VtZW50XG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rLFxuICAgIHByaXZhdGUgbG9nYm9va3M6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvblxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChsb2dib29rLmRlc2NyaXB0aW9uLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoVmVoaWNsZUxvZ2Jvb2tGb3JtLm1heERlc2NyaXB0aW9uTGVuZ3RoKV0pLFxuICAgICAgaXNQZXJzb25hbDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChsb2dib29rLmlzUGVyc29uYWwpLFxuICAgICAgZGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChsb2dib29rLmRhdGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgb2RvbWV0ZXJTdGFydDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChsb2dib29rLm9kb21ldGVyU3RhcnQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgb2RvbWV0ZXJFbmQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobG9nYm9vay5vZG9tZXRlckVuZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBidXNpbmVzczogbmV3IFVudHlwZWRGb3JtQ29udHJvbChsb2dib29rLmJ1c2luZXNzKVxuICAgIH0sIGxvZ2Jvb2spO1xuXG4gICAgdGhpcy51cGRhdGVTdGF0ZUFuZFZhbGlkYXRvcnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbG9nYm9vayB2YWxpZGF0b3JzIGFuZCBkaXNhYmxlIHN0YXRlIGRlcGVuZHMgb2YgaW5pdGlhbCBsb2dib29rIGFuZCBpdHMgcGxhY2UgaW4gdGhlIHdob2xlIGxpc3RcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlU3RhdGVBbmRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgLy8gQ3JlYXRlIHRoZSBmaXJzdCBvciBlZGl0IHRoZSBzaW5nbGUgbG9nYm9va1xuICAgICAgY2FzZSAhdGhpcy5sb2dib29rLmlkICYmICF0aGlzLmxvZ2Jvb2tzLmxlbmd0aDpcbiAgICAgIGNhc2UgISF0aGlzLmxvZ2Jvb2suaWQgJiYgdGhpcy5sb2dib29rcy5sZW5ndGggPT09IDE6XG4gICAgICAgIHRoaXMuZ2V0KCdvZG9tZXRlclN0YXJ0Jykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1pbigwKSk7XG4gICAgICAgIHRoaXMuZ2V0KCdkYXRlJykuc2V0VmFsaWRhdG9ycyhkYXRlUmFuZ2VWYWxpZGF0b3IobmV3IEZpbmFuY2lhbFllYXIoKS5zdGFydERhdGUsIG5ldyBGaW5hbmNpYWxZZWFyKCkuZW5kRGF0ZSkpXG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gQ3JlYXRlIHRoZSBub24tZmlyc3RcbiAgICAgIGNhc2UgIXRoaXMubG9nYm9vay5pZCAmJiAhIXRoaXMubG9nYm9va3MubGVuZ3RoOlxuICAgICAgICB0aGlzLmdldCgnb2RvbWV0ZXJTdGFydCcpLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5nZXQoJ29kb21ldGVyRW5kJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1pbih0aGlzLmxvZ2Jvb2tzLmxhc3Qub2RvbWV0ZXJFbmQpKTtcbiAgICAgICAgdGhpcy5nZXQoJ2RhdGUnKS5zZXRWYWxpZGF0b3JzKGRhdGVSYW5nZVZhbGlkYXRvcih0aGlzLmxvZ2Jvb2tzLmxhc3QuZGF0ZSwgbmV3IEZpbmFuY2lhbFllYXIoKS5lbmREYXRlKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gRWRpdCB0aGUgbGFzdCBsb2dib29rXG4gICAgICBjYXNlICEhdGhpcy5sb2dib29rLmlkICYmIHRoaXMubG9nYm9vay5pZCA9PT0gdGhpcy5sb2dib29rcy5sYXN0LmlkICYmIHRoaXMubG9nYm9va3MubGVuZ3RoID4gMTpcbiAgICAgICAgdGhpcy5nZXQoJ29kb21ldGVyU3RhcnQnKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZ2V0KCdvZG9tZXRlckVuZCcpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW4odGhpcy5sb2dib29rcy5sYXN0Lm9kb21ldGVyRW5kKSk7XG4gICAgICAgIHRoaXMuZ2V0KCdkYXRlJykuc2V0VmFsaWRhdG9ycyhkYXRlUmFuZ2VWYWxpZGF0b3IodGhpcy5sb2dib29rcy5wcmVMYXN0LmRhdGUsIG5ldyBGaW5hbmNpYWxZZWFyKCkuZW5kRGF0ZSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIC8vIEVkaXQgdGhlIG5vbi1sYXN0IGxvZ2Jvb2tcbiAgICAgIGNhc2UgISF0aGlzLmxvZ2Jvb2suaWQgJiYgdGhpcy5sb2dib29rLmlkICE9PSB0aGlzLmxvZ2Jvb2tzLmxhc3QuaWQgJiYgdGhpcy5sb2dib29rcy5sZW5ndGggPiAxOlxuICAgICAgICB0aGlzLmdldCgnb2RvbWV0ZXJTdGFydCcpLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5nZXQoJ29kb21ldGVyRW5kJykuZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmdldCgnZGF0ZScpLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
@@ -8707,6 +8707,9 @@ const TAX_RETURN_CATEGORIES = {
|
|
8707
8707
|
}
|
8708
8708
|
};
|
8709
8709
|
|
8710
|
+
/**
|
8711
|
+
* this collection sorted by date desc, that's why first/last methods works different
|
8712
|
+
*/
|
8710
8713
|
class VehicleLogbookCollection extends Collection {
|
8711
8714
|
/**
|
8712
8715
|
* Calculate total kilometers traveled
|
@@ -8733,6 +8736,15 @@ class VehicleLogbookCollection extends Collection {
|
|
8733
8736
|
getBest() {
|
8734
8737
|
return BestVehicleLogbookCollection.fromLogbooks(this);
|
8735
8738
|
}
|
8739
|
+
get first() {
|
8740
|
+
return super.last;
|
8741
|
+
}
|
8742
|
+
get last() {
|
8743
|
+
return super.first;
|
8744
|
+
}
|
8745
|
+
get preLast() {
|
8746
|
+
return this.items[1];
|
8747
|
+
}
|
8736
8748
|
}
|
8737
8749
|
|
8738
8750
|
/**
|
@@ -23319,8 +23331,6 @@ class VehicleClaimForm extends AbstractForm {
|
|
23319
23331
|
disabled: !details.isManual || details.isKmsMethod()
|
23320
23332
|
})
|
23321
23333
|
}, vehicleClaim);
|
23322
|
-
this.vehicleClaim = vehicleClaim;
|
23323
|
-
this.details = details;
|
23324
23334
|
}
|
23325
23335
|
getAverageWeeklyKMS() {
|
23326
23336
|
return this.get('kilometers').value / FinancialYear.weeksInYear;
|
@@ -23389,8 +23399,7 @@ class VehicleLogbookForm extends AbstractForm {
|
|
23389
23399
|
case !!this.logbook.id && this.logbook.id === this.logbooks.last.id && this.logbooks.length > 1:
|
23390
23400
|
this.get('odometerStart').disable();
|
23391
23401
|
this.get('odometerEnd').setValidators(Validators.min(this.logbooks.last.odometerEnd));
|
23392
|
-
|
23393
|
-
this.get('date').setValidators(dateRangeValidator(preLastDate, new FinancialYear().endDate));
|
23402
|
+
this.get('date').setValidators(dateRangeValidator(this.logbooks.preLast.date, new FinancialYear().endDate));
|
23394
23403
|
break;
|
23395
23404
|
// Edit the non-last logbook
|
23396
23405
|
case !!this.logbook.id && this.logbook.id !== this.logbooks.last.id && this.logbooks.length > 1:
|