UNPKG

@bimeister/pupakit.forms

Version:
37 lines 5.63 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import { map, tap } from 'rxjs/operators'; import { DayOfWeek } from '../../../declarations/enums/day-of-week.enum'; import * as i0 from "@angular/core"; export class DaySelectorStateService { constructor() { this.daySelectionStateMap = new Map([ [DayOfWeek.Monday, false], [DayOfWeek.Tuesday, false], [DayOfWeek.Wednesday, false], [DayOfWeek.Thursday, false], [DayOfWeek.Friday, false], [DayOfWeek.Saturday, false], [DayOfWeek.Sunday, false], ]); this.daysWithSelectionStateChanged$ = new BehaviorSubject([]); this.isDisabled$ = new BehaviorSubject(false); this.daysOfWeek$ = this.daysWithSelectionStateChanged$.pipe(tap((selectionChangedDays) => { selectionChangedDays.forEach((day) => { this.daySelectionStateMap.set(day, !this.daySelectionStateMap.get(day)); }); }), map(() => this.daySelectionStateMap)); } set disabled(isDisabled) { this.isDisabled$.next(isDisabled); } changeDaysSelectionState(days) { this.daysWithSelectionStateChanged$.next(days); } } DaySelectorStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DaySelectorStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); DaySelectorStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DaySelectorStateService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DaySelectorStateService, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXNlbGVjdG9yLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kYXktc2VsZWN0b3Ivc2VydmljZXMvZGF5LXNlbGVjdG9yLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQUd6RSxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRW1CLHlCQUFvQixHQUE0QixJQUFJLEdBQUcsQ0FBcUI7WUFDM0YsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUN6QixDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO1lBQzFCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7WUFDNUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztZQUMzQixDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ3pCLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7WUFDM0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztTQUMxQixDQUFDLENBQUM7UUFFYyxtQ0FBOEIsR0FBaUMsSUFBSSxlQUFlLENBQWMsRUFBRSxDQUFDLENBQUM7UUFFckcsZ0JBQVcsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDNUUsZ0JBQVcsR0FBd0MsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FDekcsR0FBRyxDQUFDLENBQUMsb0JBQWlDLEVBQUUsRUFBRTtZQUN4QyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFjLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQ3JDLENBQUM7S0FTSDtJQVBDLElBQVcsUUFBUSxDQUFDLFVBQW1CO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxJQUFpQjtRQUMvQyxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3FIQTdCVSx1QkFBdUI7eUhBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERheU9mV2VlayB9IGZyb20gJy4uLy4uLy4uL2RlY2xhcmF0aW9ucy9lbnVtcy9kYXktb2Ytd2Vlay5lbnVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERheVNlbGVjdG9yU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXlTZWxlY3Rpb25TdGF0ZU1hcDogTWFwPERheU9mV2VlaywgYm9vbGVhbj4gPSBuZXcgTWFwPERheU9mV2VlaywgYm9vbGVhbj4oW1xuICAgIFtEYXlPZldlZWsuTW9uZGF5LCBmYWxzZV0sXG4gICAgW0RheU9mV2Vlay5UdWVzZGF5LCBmYWxzZV0sXG4gICAgW0RheU9mV2Vlay5XZWRuZXNkYXksIGZhbHNlXSxcbiAgICBbRGF5T2ZXZWVrLlRodXJzZGF5LCBmYWxzZV0sXG4gICAgW0RheU9mV2Vlay5GcmlkYXksIGZhbHNlXSxcbiAgICBbRGF5T2ZXZWVrLlNhdHVyZGF5LCBmYWxzZV0sXG4gICAgW0RheU9mV2Vlay5TdW5kYXksIGZhbHNlXSxcbiAgXSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkYXlzV2l0aFNlbGVjdGlvblN0YXRlQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxEYXlPZldlZWtbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERheU9mV2Vla1tdPihbXSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzRGlzYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRheXNPZldlZWskOiBPYnNlcnZhYmxlPE1hcDxEYXlPZldlZWssIGJvb2xlYW4+PiA9IHRoaXMuZGF5c1dpdGhTZWxlY3Rpb25TdGF0ZUNoYW5nZWQkLnBpcGUoXG4gICAgdGFwKChzZWxlY3Rpb25DaGFuZ2VkRGF5czogRGF5T2ZXZWVrW10pID0+IHtcbiAgICAgIHNlbGVjdGlvbkNoYW5nZWREYXlzLmZvckVhY2goKGRheTogRGF5T2ZXZWVrKSA9PiB7XG4gICAgICAgIHRoaXMuZGF5U2VsZWN0aW9uU3RhdGVNYXAuc2V0KGRheSwgIXRoaXMuZGF5U2VsZWN0aW9uU3RhdGVNYXAuZ2V0KGRheSkpO1xuICAgICAgfSk7XG4gICAgfSksXG4gICAgbWFwKCgpID0+IHRoaXMuZGF5U2VsZWN0aW9uU3RhdGVNYXApXG4gICk7XG5cbiAgcHVibGljIHNldCBkaXNhYmxlZChpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0Rpc2FibGVkJC5uZXh0KGlzRGlzYWJsZWQpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZURheXNTZWxlY3Rpb25TdGF0ZShkYXlzOiBEYXlPZldlZWtbXSk6IHZvaWQge1xuICAgIHRoaXMuZGF5c1dpdGhTZWxlY3Rpb25TdGF0ZUNoYW5nZWQkLm5leHQoZGF5cyk7XG4gIH1cbn1cbiJdfQ==