ngx-monitorias-uniandes-lib
Version:
This library is used for Monitorias-Uniandes system.
35 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var api_1 = require("api-angular-monitorias-dto/api");
var SortArrayPeriodPipe = /** @class */ (function () {
function SortArrayPeriodPipe() {
}
SortArrayPeriodPipe.prototype.transform = function (periods) {
var _this = this;
var sorted = [];
var years = this.getYears(periods);
years.forEach(function (year) {
var periodsByYear = periods.filter(function (period) { return period.year === year; });
var periodsByYearSorted = periodsByYear.sort(function (a, b) { return _this.getPeriodNumber(a) - _this.getPeriodNumber(b); });
sorted = sorted.concat(periodsByYearSorted);
});
return sorted;
};
SortArrayPeriodPipe.prototype.getYears = function (periods) {
var years = periods.map(function (period) { return period.year; });
var uniqueYears = Array.from(new Set(years));
return uniqueYears.sort(function (a, b) { return a - b; });
};
SortArrayPeriodPipe.prototype.getPeriodNumber = function (period) {
return api_1.Semester_Period.getEnumValueByNameId(period.period).id;
};
SortArrayPeriodPipe.decorators = [
{ type: core_1.Pipe, args: [{
name: 'sortArrayPeriod'
},] },
];
return SortArrayPeriodPipe;
}());
exports.SortArrayPeriodPipe = SortArrayPeriodPipe;
//# sourceMappingURL=sortArrayPeriod.pipe.js.map