@junte/ui
Version:
Quality Angular UI components kit
61 lines • 6.88 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, HostBinding, Input } from '@angular/core';
import { PropertyApi } from '../../core/decorators/api';
import { UI } from '../../core/enums/ui';
export var DatePeriodBases;
(function (DatePeriodBases) {
DatePeriodBases["days"] = "day(s)";
})(DatePeriodBases || (DatePeriodBases = {}));
let DatePeriodComponent = class DatePeriodComponent {
constructor() {
this.host = 'jnt-date-period-host';
this.ui = UI;
this.daysMapping = {
'=1': 'day',
'other': 'days'
};
this.base = DatePeriodBases.days;
}
};
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], DatePeriodComponent.prototype, "host", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], DatePeriodComponent.prototype, "base", void 0);
__decorate([
PropertyApi({
description: 'Start date of period',
type: 'Date',
default: 'new Date()'
}),
Input(),
__metadata("design:type", Date)
], DatePeriodComponent.prototype, "start", void 0);
__decorate([
PropertyApi({
description: 'End date of period',
type: 'Date',
default: 'new Date()'
}),
Input(),
__metadata("design:type", Date)
], DatePeriodComponent.prototype, "end", void 0);
__decorate([
PropertyApi({
description: 'Current date',
type: 'Date',
}),
Input(),
__metadata("design:type", Date)
], DatePeriodComponent.prototype, "current", void 0);
DatePeriodComponent = __decorate([
Component({
selector: 'jnt-date-period',
template: "<jnt-stack child-of=\"jnt-date-period-host\" data-dates [orientation]=\"ui.orientation.horizontal\" [justify]=\"ui.justify.between\"\n [align]=\"ui.align.end\">\n <div child-of=\"jnt-date-period-host\" *ngIf=\"start\" data-date data-left>\n <div child-of=\"jnt-date-period-host\" >{{start | date: \"dd.MM\"}}</div>\n </div>\n <div child-of=\"jnt-date-period-host\" *ngIf=\"end\" data-date data-right>\n <div child-of=\"jnt-date-period-host\" >{{end | date: \"dd.MM\"}}</div>\n </div>\n</jnt-stack>\n\n<ng-container *ngIf=\"!!current; else noCurrent\">\n <div child-of=\"jnt-date-period-host\" data-bar>\n <div child-of=\"jnt-date-period-host\" *ngIf=\"!!start && !!end && start < end && start <= current && current < end\" data-progress\n [style.width.%]=\"((current | jntDifferenceInCalendarDays:start) + 1) /\n ((end || current | jntDifferenceInCalendarDays:start) + 1) * 100\">\n </div>\n\n <div child-of=\"jnt-date-period-host\" *ngIf=\"(current >= end) || (!!start && !end && current > start)\" data-progress data-full></div>\n\n <div child-of=\"jnt-date-period-host\" *ngIf=\"!!start\" data-line data-left></div>\n <div child-of=\"jnt-date-period-host\" *ngIf=\"!!end\" data-line data-right></div>\n </div>\n\n <div child-of=\"jnt-date-period-host\" *ngIf=\"!!start && !!end\" data-days>\n {{(current < end\n ? (end | jntDifferenceInCalendarDays:start) - (current | jntDifferenceInCalendarDays:start)\n : current > end ? (end | jntDifferenceInCalendarDays:start) : 0\n ) + 1}} days\n </div>\n</ng-container>\n\n<ng-template #noCurrent>\n <div child-of=\"jnt-date-period-host\" data-bar>\n <div child-of=\"jnt-date-period-host\" *ngIf=\"!!start && !!end && start <= end\" data-progress data-full></div>\n <div child-of=\"jnt-date-period-host\" *ngIf=\"!!start\" data-line data-left></div>\n <div child-of=\"jnt-date-period-host\" *ngIf=\"!!end\" data-line data-right></div>\n </div>\n <div child-of=\"jnt-date-period-host\" *ngIf=\"!!start && !!end\" data-days>\n {{start <= end ? (end | jntDifferenceInCalendarDays:start) + 1 : 0}}\n {{(start <= end ? (end | jntDifferenceInCalendarDays:start) + 1 : 0) | i18nPlural: daysMapping}}\n </div>\n</ng-template>"
})
], DatePeriodComponent);
export { DatePeriodComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wZXJpb2QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2R5bmFtaWMvZGF0ZS1wZXJpb2QvZGF0ZS1wZXJpb2QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6QyxNQUFNLENBQU4sSUFBWSxlQUVYO0FBRkQsV0FBWSxlQUFlO0lBQ3pCLGtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUZXLGVBQWUsS0FBZixlQUFlLFFBRTFCO0FBTUQsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFBaEM7UUFFcUMsU0FBSSxHQUFHLHNCQUFzQixDQUFDO1FBQ2pFLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFFUixnQkFBVyxHQUFHO1lBQ1osSUFBSSxFQUFFLEtBQUs7WUFDWCxPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDO1FBRU8sU0FBSSxHQUFvQixlQUFlLENBQUMsSUFBSSxDQUFDO0lBc0J4RCxDQUFDO0NBQUEsQ0FBQTtBQTlCMkI7SUFBekIsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7aURBQXdDO0FBUXhEO0lBQVIsS0FBSyxFQUFFOztpREFBOEM7QUFPN0M7SUFMUixXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsc0JBQXNCO1FBQ25DLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLFlBQVk7S0FDdEIsQ0FBQztJQUNELEtBQUssRUFBRTs4QkFBUSxJQUFJO2tEQUFDO0FBT1o7SUFMUixXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsb0JBQW9CO1FBQ2pDLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLFlBQVk7S0FDdEIsQ0FBQztJQUNELEtBQUssRUFBRTs4QkFBTSxJQUFJO2dEQUFDO0FBTVY7SUFKUixXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsY0FBYztRQUMzQixJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUM7SUFDRCxLQUFLLEVBQUU7OEJBQVUsSUFBSTtvREFBQztBQTlCWixtQkFBbUI7SUFKL0IsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQix3dEVBQThDO0tBQy9DLENBQUM7R0FDVyxtQkFBbUIsQ0FnQy9CO1NBaENZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUFwaSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9hcGknO1xuaW1wb3J0IHsgVUkgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3VpJztcblxuZXhwb3J0IGVudW0gRGF0ZVBlcmlvZEJhc2VzIHtcbiAgZGF5cyA9ICdkYXkocyknXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1kYXRlLXBlcmlvZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBlcmlvZC5lbmNhcHN1bGF0ZWQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBlcmlvZENvbXBvbmVudCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKSByZWFkb25seSBob3N0ID0gJ2pudC1kYXRlLXBlcmlvZC1ob3N0JztcbiAgdWkgPSBVSTtcblxuICBkYXlzTWFwcGluZyA9IHtcbiAgICAnPTEnOiAnZGF5JyxcbiAgICAnb3RoZXInOiAnZGF5cydcbiAgfTtcblxuICBASW5wdXQoKSBiYXNlOiBEYXRlUGVyaW9kQmFzZXMgPSBEYXRlUGVyaW9kQmFzZXMuZGF5cztcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgZGF0ZSBvZiBwZXJpb2QnLFxuICAgIHR5cGU6ICdEYXRlJyxcbiAgICBkZWZhdWx0OiAnbmV3IERhdGUoKSdcbiAgfSlcbiAgQElucHV0KCkgc3RhcnQ6IERhdGU7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0VuZCBkYXRlIG9mIHBlcmlvZCcsXG4gICAgdHlwZTogJ0RhdGUnLFxuICAgIGRlZmF1bHQ6ICduZXcgRGF0ZSgpJ1xuICB9KVxuICBASW5wdXQoKSBlbmQ6IERhdGU7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0N1cnJlbnQgZGF0ZScsXG4gICAgdHlwZTogJ0RhdGUnLFxuICB9KVxuICBASW5wdXQoKSBjdXJyZW50OiBEYXRlO1xuXG59XG4iXX0=