truly-ui
Version:
Web Components for Desktop Applications.
49 lines • 8.64 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class TlCalendarYears {
set currentRange(value) {
this._currentRange = value;
this.rangeArray =
Array.from({ length: value.end - value.start + 1 }).map((item, index) => value.start + index);
}
get currentRange() {
return this._currentRange;
}
constructor() {
this.selectYear = new EventEmitter();
this.rangeArray = [];
this.years = [
{ name: 'January', initials: 'jan' },
{ name: 'February', initials: 'feb' },
{ name: 'March', initials: 'mar' },
{ name: 'April', initials: 'apr' },
{ name: 'May', initials: 'may' },
{ name: 'June', initials: 'jun' },
{ name: 'July', initials: 'jul' },
{ name: 'August', initials: 'aug' },
{ name: 'September', initials: 'sep' },
{ name: 'October', initials: 'oct' },
{ name: 'November', initials: 'nov' },
{ name: 'December', initials: 'dec' }
];
}
selectDate(year) {
const date = new Date(year, this.currentDate.getMonth(), this.currentDate.getDate());
this.selectYear.emit(date);
}
}
/** @nocollapse */ TlCalendarYears.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TlCalendarYears, deps: [], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ TlCalendarYears.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TlCalendarYears, selector: "tl-years", inputs: { currentDate: "currentDate", currentRange: "currentRange" }, outputs: { selectYear: "selectYear" }, ngImport: i0, template: "<div class=\"ui-wrapper-years\">\n <div class=\"ui-calendar-years\">\n <div class=\"ui-calendar-cell\"\n *ngFor=\"let item of rangeArray; let i = index\"\n (click)=\"selectDate( item )\">{{ item }}\n </div>\n </div>\n</div>\n", styles: [":host{width:100%;height:100%}.ui-wrapper-years{width:100%;height:100%}.ui-wrapper-years>.ui-calendar-years{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;height:100%}.ui-wrapper-years>.ui-calendar-years>.ui-calendar-cell{display:flex;flex-direction:column;flex:1;flex-basis:33.3333333333%;color:#5a5a5a;align-items:center;justify-content:center}.ui-wrapper-years>.ui-calendar-years>.ui-calendar-cell:hover{cursor:pointer;background:rgba(102,204,153,.15)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TlCalendarYears, decorators: [{
type: Component,
args: [{ selector: 'tl-years', template: "<div class=\"ui-wrapper-years\">\n <div class=\"ui-calendar-years\">\n <div class=\"ui-calendar-cell\"\n *ngFor=\"let item of rangeArray; let i = index\"\n (click)=\"selectDate( item )\">{{ item }}\n </div>\n </div>\n</div>\n", styles: [":host{width:100%;height:100%}.ui-wrapper-years{width:100%;height:100%}.ui-wrapper-years>.ui-calendar-years{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;height:100%}.ui-wrapper-years>.ui-calendar-years>.ui-calendar-cell{display:flex;flex-direction:column;flex:1;flex-basis:33.3333333333%;color:#5a5a5a;align-items:center;justify-content:center}.ui-wrapper-years>.ui-calendar-years>.ui-calendar-cell:hover{cursor:pointer;background:rgba(102,204,153,.15)}\n"] }]
}], ctorParameters: function () { return []; }, propDecorators: { currentDate: [{
type: Input
}], currentRange: [{
type: Input,
args: ['currentRange']
}], selectYear: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnVseS11aS9zcmMvY29tcG9uZW50cy9jYWxlbmRhci9wYXJ0cy9jYWxlbmRhci15ZWFycy9jYWxlbmRhci15ZWFycy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydWx5LXVpL3NyYy9jb21wb25lbnRzL2NhbGVuZGFyL3BhcnRzL2NhbGVuZGFyLXllYXJzL2NhbGVuZGFyLXllYXJzLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBT3JFLE1BQU0sT0FBTyxlQUFlO0lBSTFCLElBQ0ksWUFBWSxDQUFFLEtBQXFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVO1lBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBRSxJQUFJLEVBQUUsS0FBSyxFQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQXVCRDtRQXJCVSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLFVBQUssR0FBRztZQUNiLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ3JDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ2hDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ2pDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ2pDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ25DLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ3RDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ3JDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1NBQ3BDLENBQUM7SUFJVyxDQUFDO0lBRWhCLFVBQVUsQ0FBRSxJQUFZO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFFLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUUsQ0FBQztRQUN2RixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUMvQixDQUFDOztnSUF6Q1UsZUFBZTtvSEFBZixlQUFlLDZKQ1A1QiwyUEFRQTs0RkREYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFVBQVU7MEVBTVgsV0FBVztzQkFBbkIsS0FBSztnQkFHRixZQUFZO3NCQURmLEtBQUs7dUJBQUMsY0FBYztnQkFXWCxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RsLXllYXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXllYXJzLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci15ZWFycy5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGxDYWxlbmRhclllYXJzIHtcblxuICBASW5wdXQoKSBjdXJyZW50RGF0ZTogRGF0ZTtcblxuICBASW5wdXQoJ2N1cnJlbnRSYW5nZScpXG4gIHNldCBjdXJyZW50UmFuZ2UoIHZhbHVlOiB7IHN0YXJ0OiBudW1iZXI7IGVuZDogbnVtYmVyIH0gKSB7XG4gICAgdGhpcy5fY3VycmVudFJhbmdlID0gdmFsdWU7XG4gICAgdGhpcy5yYW5nZUFycmF5ID1cbiAgICAgIEFycmF5LmZyb20oeyBsZW5ndGg6IHZhbHVlLmVuZCAtIHZhbHVlLnN0YXJ0ICsgMSB9KS5tYXAoKCBpdGVtLCBpbmRleCApID0+IHZhbHVlLnN0YXJ0ICsgaW5kZXgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFJhbmdlO1xuICB9XG5cbiAgQE91dHB1dCgpIHNlbGVjdFllYXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJhbmdlQXJyYXkgPSBbXTtcblxuICBwdWJsaWMgeWVhcnMgPSBbXG4gICAgeyBuYW1lOiAnSmFudWFyeScsIGluaXRpYWxzOiAnamFuJyB9LFxuICAgIHsgbmFtZTogJ0ZlYnJ1YXJ5JywgaW5pdGlhbHM6ICdmZWInIH0sXG4gICAgeyBuYW1lOiAnTWFyY2gnLCBpbml0aWFsczogJ21hcicgfSxcbiAgICB7IG5hbWU6ICdBcHJpbCcsIGluaXRpYWxzOiAnYXByJyB9LFxuICAgIHsgbmFtZTogJ01heScsIGluaXRpYWxzOiAnbWF5JyB9LFxuICAgIHsgbmFtZTogJ0p1bmUnLCBpbml0aWFsczogJ2p1bicgfSxcbiAgICB7IG5hbWU6ICdKdWx5JywgaW5pdGlhbHM6ICdqdWwnIH0sXG4gICAgeyBuYW1lOiAnQXVndXN0JywgaW5pdGlhbHM6ICdhdWcnIH0sXG4gICAgeyBuYW1lOiAnU2VwdGVtYmVyJywgaW5pdGlhbHM6ICdzZXAnIH0sXG4gICAgeyBuYW1lOiAnT2N0b2JlcicsIGluaXRpYWxzOiAnb2N0JyB9LFxuICAgIHsgbmFtZTogJ05vdmVtYmVyJywgaW5pdGlhbHM6ICdub3YnIH0sXG4gICAgeyBuYW1lOiAnRGVjZW1iZXInLCBpbml0aWFsczogJ2RlYycgfVxuICAgIF07XG5cbiAgcHJpdmF0ZSBfY3VycmVudFJhbmdlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBzZWxlY3REYXRlKCB5ZWFyOiBudW1iZXIgKSAge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSggeWVhciwgdGhpcy5jdXJyZW50RGF0ZS5nZXRNb250aCgpLCB0aGlzLmN1cnJlbnREYXRlLmdldERhdGUoKSApO1xuICAgIHRoaXMuc2VsZWN0WWVhci5lbWl0KCBkYXRlICk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInVpLXdyYXBwZXIteWVhcnNcIj5cbiAgPGRpdiBjbGFzcz1cInVpLWNhbGVuZGFyLXllYXJzXCI+XG4gICAgPGRpdiBjbGFzcz1cInVpLWNhbGVuZGFyLWNlbGxcIlxuICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcmFuZ2VBcnJheTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZSggaXRlbSApXCI+e3sgaXRlbSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19