salix/modules/travel/front/summary/index.js

55 lines
1.1 KiB
JavaScript

import ngModule from '../module';
import './style.scss';
class Controller {
constructor($scope, $http) {
this.$ = $scope;
this.$http = $http;
this.entries = [];
}
get travel() {
return this._travel;
}
set travel(value) {
this._travel = value;
if (value && value.id) {
this.getTravel();
this.getEntries();
}
}
getTravel() {
return this.$http.get(`/api/Travels/${this.travel.id}/getTravel`).then(response => {
this.travelData = response.data;
});
}
getEntries() {
return this.$http.get(`/api/Travels/${this.travel.id}/getEntries`).then(response => {
this.entries = response.data;
});
}
total(field) {
let total = 0;
for (let entry of this.entries)
total += entry[field];
return total;
}
}
Controller.$inject = ['$scope', '$http'];
ngModule.component('vnTravelSummary', {
template: require('./index.html'),
controller: Controller,
bindings: {
travel: '<'
}
});