sb-element
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.1. It is a component library constructed around the SCSS library [Sb-Theming](https://github.com/SeverinBuchser/SbTheming) and supports [Angular Schematics]
61 lines • 9.25 kB
JavaScript
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
import { mixinFocus, mixinClassName, Color, mixinDisable } from "../../core";
import * as fns from "date-fns";
import { MarkedDates } from "../marked-dates";
import * as i0 from "@angular/core";
import * as i1 from "../year/calendar-year.component";
import * as i2 from "@angular/common";
const SbCalendarYearsCore = mixinDisable(mixinFocus(mixinClassName(class {
constructor(_elementRef) {
this._elementRef = _elementRef;
}
}, 'sb-calendar-years')));
export class SbCalendarYearsComponent extends SbCalendarYearsCore {
constructor(elementRef) {
super(elementRef);
this.color = Color.PRIMARY;
this.yearFormat = 'yyyy';
this.select = new EventEmitter();
this._showingVicennialStart = fns.startOfYear(new Date());
this.markedDates = new MarkedDates();
this.updateCalendarYears();
}
handleSelect(date) {
this.select.emit(date);
}
set showingVicennialStart(date) {
this._showingVicennialStart = fns.startOfYear(date);
this.updateCalendarYears();
}
get showingVicennialStart() {
return this._showingVicennialStart;
}
updateCalendarYears() {
this.calendarYears = new Array();
for (let year = -10; year < 10; year++) {
this.calendarYears.push(fns.addYears(this.showingVicennialStart, year));
}
}
}
SbCalendarYearsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbCalendarYearsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
SbCalendarYearsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SbCalendarYearsComponent, selector: "sb-calendar-years", inputs: { disabled: "disabled", color: "color", yearFormat: "yearFormat", showingVicennialStart: "showingVicennialStart", markedDates: "markedDates" }, outputs: { focus: "focus", blur: "blur", select: "select" }, usesInheritance: true, ngImport: i0, template: "<sb-calendar-year\n *ngFor=\"let year of calendarYears\"\n [color]=\"color\"\n [year]=\"year\"\n [yearFormat]=\"yearFormat\"\n [markedDates]=\"markedDates\"\n (select)=\"handleSelect($event)\"\n (focus)=\"setFocusedState(true)\"\n (blur)=\"setFocusedState(false)\"\n [disabled]=\"disabled\">\n</sb-calendar-year>\n", components: [{ type: i1.SbCalendarYearComponent, selector: "sb-calendar-year", inputs: ["color", "disabled", "yearFormat", "year", "markedDates"], outputs: ["select"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbCalendarYearsComponent, decorators: [{
type: Component,
args: [{ selector: 'sb-calendar-years', encapsulation: ViewEncapsulation.None, inputs: [
'disabled'
], outputs: [
'focus',
'blur'
], template: "<sb-calendar-year\n *ngFor=\"let year of calendarYears\"\n [color]=\"color\"\n [year]=\"year\"\n [yearFormat]=\"yearFormat\"\n [markedDates]=\"markedDates\"\n (select)=\"handleSelect($event)\"\n (focus)=\"setFocusedState(true)\"\n (blur)=\"setFocusedState(false)\"\n [disabled]=\"disabled\">\n</sb-calendar-year>\n" }]
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { color: [{
type: Input
}], yearFormat: [{
type: Input
}], select: [{
type: Output
}], showingVicennialStart: [{
type: Input
}], markedDates: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc2ItZWxlbWVudC9zcmMvbGliL2NhbGVuZGFyL3llYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NiLWVsZW1lbnQvc3JjL2xpYi9jYWxlbmRhci95ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0UsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRTlDLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUN0QyxVQUFVLENBQ1IsY0FBYyxDQUNaO0lBQ0UsWUFDUyxXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtJQUFHLENBQUM7Q0FDckMsRUFBRSxtQkFBbUIsQ0FDdkIsQ0FDRixDQUNGLENBQUM7QUFjRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsbUJBQW1CO0lBNkIvRCxZQUNFLFVBQXNCO1FBRXRCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQTdCYixVQUFLLEdBQXVCLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFHMUMsZUFBVSxHQUFXLE1BQU0sQ0FBQztRQUc1QixXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFLckQsMkJBQXNCLEdBQVMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUE7UUFhM0QsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQU1sRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBeEJNLFlBQVksQ0FBQyxJQUFVO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLHFCQUFxQixDQUFDLElBQVU7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUNELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFjTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBUSxDQUFDO1FBQ3ZDLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRyxJQUFJLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQzs7cUhBekNVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHFTQzVCckMscVVBV0E7MkZEaUJhLHdCQUF3QjtrQkFacEMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBRWQsaUJBQWlCLENBQUMsSUFBSSxVQUM3Qjt3QkFDTixVQUFVO3FCQUNYLFdBQ1E7d0JBQ1AsT0FBTzt3QkFDUCxNQUFNO3FCQUNQO2lHQUtNLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTTtnQkFRSCxxQkFBcUI7c0JBRHhCLEtBQUs7Z0JBWUMsV0FBVztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWl4aW5Gb2N1cywgbWl4aW5DbGFzc05hbWUsIENvbG9yLCBtaXhpbkRpc2FibGUgfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuaW1wb3J0ICogYXMgZm5zIGZyb20gXCJkYXRlLWZuc1wiO1xuaW1wb3J0IHsgTWFya2VkRGF0ZXMgfSBmcm9tIFwiLi4vbWFya2VkLWRhdGVzXCI7XG5cbmNvbnN0IFNiQ2FsZW5kYXJZZWFyc0NvcmUgPSBtaXhpbkRpc2FibGUoXG4gIG1peGluRm9jdXMoXG4gICAgbWl4aW5DbGFzc05hbWUoXG4gICAgICBjbGFzcyB7XG4gICAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAgIHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cbiAgICAgIH0sICdzYi1jYWxlbmRhci15ZWFycydcbiAgICApXG4gIClcbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLWNhbGVuZGFyLXllYXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW5wdXRzOiBbXG4gICAgJ2Rpc2FibGVkJ1xuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ2ZvY3VzJyxcbiAgICAnYmx1cidcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2JDYWxlbmRhclllYXJzQ29tcG9uZW50IGV4dGVuZHMgU2JDYWxlbmRhclllYXJzQ29yZSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBDb2xvci5QUklNQVJZO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB5ZWFyRm9ybWF0OiBzdHJpbmcgPSAneXl5eSc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3Q6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgcHVibGljIGhhbmRsZVNlbGVjdChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3QuZW1pdChkYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3dpbmdWaWNlbm5pYWxTdGFydDogRGF0ZSA9IGZucy5zdGFydE9mWWVhcihuZXcgRGF0ZSgpKVxuICBASW5wdXQoKVxuICBzZXQgc2hvd2luZ1ZpY2VubmlhbFN0YXJ0KGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLl9zaG93aW5nVmljZW5uaWFsU3RhcnQgPSBmbnMuc3RhcnRPZlllYXIoZGF0ZSk7XG4gICAgdGhpcy51cGRhdGVDYWxlbmRhclllYXJzKClcbiAgfVxuICBnZXQgc2hvd2luZ1ZpY2VubmlhbFN0YXJ0KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9zaG93aW5nVmljZW5uaWFsU3RhcnQ7XG4gIH1cblxuICBwdWJsaWMgY2FsZW5kYXJZZWFycyE6IEFycmF5PERhdGU+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXJrZWREYXRlczogTWFya2VkRGF0ZXMgPSBuZXcgTWFya2VkRGF0ZXMoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICAgIHRoaXMudXBkYXRlQ2FsZW5kYXJZZWFycygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDYWxlbmRhclllYXJzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJZZWFycyA9IG5ldyBBcnJheTxEYXRlPigpO1xuICAgIGZvciAobGV0IHllYXIgPSAtMTAgOyB5ZWFyIDwgMTAgOyB5ZWFyKyspIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJZZWFycy5wdXNoKGZucy5hZGRZZWFycyh0aGlzLnNob3dpbmdWaWNlbm5pYWxTdGFydCwgeWVhcikpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNiLWNhbGVuZGFyLXllYXJcbiAgKm5nRm9yPVwibGV0IHllYXIgb2YgY2FsZW5kYXJZZWFyc1wiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIFt5ZWFyXT1cInllYXJcIlxuICBbeWVhckZvcm1hdF09XCJ5ZWFyRm9ybWF0XCJcbiAgW21hcmtlZERhdGVzXT1cIm1hcmtlZERhdGVzXCJcbiAgKHNlbGVjdCk9XCJoYW5kbGVTZWxlY3QoJGV2ZW50KVwiXG4gIChmb2N1cyk9XCJzZXRGb2N1c2VkU3RhdGUodHJ1ZSlcIlxuICAoYmx1cik9XCJzZXRGb2N1c2VkU3RhdGUoZmFsc2UpXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG48L3NiLWNhbGVuZGFyLXllYXI+XG4iXX0=