UNPKG

@asadi/angular-date-components

Version:

`Angular Date Components` is a comprehensive angular library of date-related components designed to meet the needs of applications that require localization based on various calendar systems. While the package currently includes two powerful components (S

145 lines 15.1 kB
import { Directive, EventEmitter, Input, Output } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; /** * The `ADCResourceSchedulerSource` directive is used to manage and interact with the data source * for the resource scheduler. It provides input properties for resources, events, holidays, and weekends, * and emits output events for date range changes, event selection, and date range selection. */ export class ADCResourceSchedulerSource { constructor() { this._events = new BehaviorSubject([]); this._resources = new BehaviorSubject([]); this._holidays = new BehaviorSubject([]); this._weekends = new BehaviorSubject([]); /** * Event emitted when a date range is selected. */ this.dateRangeSelect = new EventEmitter(); /** * Event emitted when an event is selected. */ this.eventSelect = new EventEmitter(); /** * Event emitted when the date range changes. */ this.dateRangeChange = new EventEmitter(); this.startOf = null; } /** * Input property for setting the list of events in the resource scheduler. * @param value The events to be set in the scheduler. */ set events(value) { if (value == null) { this._events.next([]); } else { this._events.next(value); } } get events() { return this._events.value; } /** * Input property for setting the list of resources in the resource scheduler. * @param value The resources to be set in the scheduler. */ set resources(value) { if (value == null) { this._resources.next([]); } else { this._resources.next(value); } } get resources() { return this._resources.value; } /** * Input property for setting the list of holidays in the resource scheduler. * @param value The holidays to be set in the scheduler. */ set holidays(value) { if (value == null) { this._holidays.next([]); } else { this._holidays.next(value); } } get holidays() { return this._holidays.value; } /** * Input property for setting the list of weekends in the resource scheduler. * @param value The weekends to be set in the scheduler. */ set weekends(value) { if (value == null) { this._weekends.next([]); } else { this._weekends.next(value); } } get weekends() { return this._weekends.value; } resourceChanges() { return this._resources.asObservable(); } eventChanges() { return this._events.asObservable(); } holidayChanges() { return this._holidays.asObservable(); } weekendChanges() { return this._weekends.asObservable(); } onEventSelect(e) { this.eventSelect.emit(e); } onDateRangeSelect(e) { this.dateRangeSelect.next(e); } ; onDateRangeChange(e) { this.dateRangeChange.emit(e); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ADCResourceSchedulerSource, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ADCResourceSchedulerSource, isStandalone: true, selector: "[ResourceSchedulerSource]", inputs: { events: "events", resources: "resources", holidays: "holidays", weekends: "weekends", startOf: "startOf" }, outputs: { dateRangeSelect: "dateRangeSelect", eventSelect: "eventSelect", dateRangeChange: "dateRangeChange" }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ADCResourceSchedulerSource, decorators: [{ type: Directive, args: [{ selector: '[ResourceSchedulerSource]', standalone: true }] }], propDecorators: { dateRangeSelect: [{ type: Output, args: ['dateRangeSelect'] }], eventSelect: [{ type: Output, args: ['eventSelect'] }], dateRangeChange: [{ type: Output, args: ['dateRangeChange'] }], events: [{ type: Input, args: ['events'] }], resources: [{ type: Input, args: ['resources'] }], holidays: [{ type: Input, args: ["holidays"] }], weekends: [{ type: Input, args: ["weekends"] }], startOf: [{ type: Input, args: ['startOf'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRjLXJlc291cmNlLXNjaGVkdWxlci1zb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNhZGkvYW5ndWxhci1kYXRlLWNvbXBvbmVudHMvcmVzb3VyY2Utc2NoZWR1bGVyL3NyYy9kaXJlY3RpdmVzL2FkYy1yZXNvdXJjZS1zY2hlZHVsZXItc291cmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBR25EOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBTVUsWUFBTyxHQUFtRCxJQUFJLGVBQWUsQ0FBRSxFQUFtQyxDQUFDLENBQUM7UUFDcEgsZUFBVSxHQUFzRCxJQUFJLGVBQWUsQ0FBRSxFQUFzQyxDQUFDLENBQUM7UUFDN0gsY0FBUyxHQUE4QixJQUFJLGVBQWUsQ0FBRSxFQUFlLENBQUMsQ0FBQztRQUM3RSxjQUFTLEdBQThCLElBQUksZUFBZSxDQUFFLEVBQWUsQ0FBQyxDQUFDO1FBRW5GOztTQUVDO1FBRUssb0JBQWUsR0FBa0QsSUFBSSxZQUFZLEVBQW1DLENBQUM7UUFFM0g7O1NBRUM7UUFFSyxnQkFBVyxHQUF3RCxJQUFJLFlBQVksRUFBeUMsQ0FBQztRQUVwSTs7VUFFRTtRQUVLLG9CQUFlLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO1FBd0YvRyxZQUFPLEdBQWtCLElBQUksQ0FBQztLQW9DL0I7SUExSEc7OztLQUdDO0lBQ0gsSUFDSSxNQUFNLENBQUMsS0FBbUM7UUFFNUMsSUFBRyxLQUFLLElBQUksSUFBSSxFQUNoQjtZQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxD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LEtBQUs7dUJBQUMsVUFBVTtnQkFrQmpCLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQURDSVJlc291cmNlU2NoZWR1bGVyRXZlbnQsIEFEQ0lSZXNvdXJjZVNjaGVkdWxlckV2ZW50U2VsZWN0RXZlbnQsIEFEQ0lSZXNvdXJjZVNjaGVkdWxlclJlc291cmNlLCBBRENJUmVzb3VyY2VTY2hlZHVsZXJUYWJsZUV2ZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlLmdsb2JhbCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBRENJRGF0ZVJhbmdlQ2hhbmdlRXZlbnQgfSBmcm9tICdAYXNhZGkvYW5ndWxhci1kYXRlLWNvbXBvbmVudHMvY29yZSc7XHJcblxyXG4vKipcclxuICogVGhlIGBBRENSZXNvdXJjZVNjaGVkdWxlclNvdXJjZWAgZGlyZWN0aXZlIGlzIHVzZWQgdG8gbWFuYWdlIGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBkYXRhIHNvdXJjZSBcclxuICogZm9yIHRoZSByZXNvdXJjZSBzY2hlZHVsZXIuIEl0IHByb3ZpZGVzIGlucHV0IHByb3BlcnRpZXMgZm9yIHJlc291cmNlcywgZXZlbnRzLCBob2xpZGF5cywgYW5kIHdlZWtlbmRzLFxyXG4gKiBhbmQgZW1pdHMgb3V0cHV0IGV2ZW50cyBmb3IgZGF0ZSByYW5nZSBjaGFuZ2VzLCBldmVudCBzZWxlY3Rpb24sIGFuZCBkYXRlIHJhbmdlIHNlbGVjdGlvbi5cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW1Jlc291cmNlU2NoZWR1bGVyU291cmNlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQURDUmVzb3VyY2VTY2hlZHVsZXJTb3VyY2Uge1xyXG5cclxuICBwcml2YXRlIF9ldmVudHM6IEJlaGF2aW9yU3ViamVjdDxBRENJUmVzb3VyY2VTY2hlZHVsZXJFdmVudFtdPiAgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KChbXSBhcyBBRENJUmVzb3VyY2VTY2hlZHVsZXJFdmVudFtdKSk7XHJcbiAgcHJpdmF0ZSBfcmVzb3VyY2VzOiBCZWhhdmlvclN1YmplY3Q8QURDSVJlc291cmNlU2NoZWR1bGVyUmVzb3VyY2VbXT4gID0gbmV3IEJlaGF2aW9yU3ViamVjdCgoW10gYXMgQURDSVJlc291cmNlU2NoZWR1bGVyUmVzb3VyY2VbXSkpO1xyXG4gIHByaXZhdGUgX2hvbGlkYXlzOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgoW10gYXMgc3RyaW5nW10pKTtcclxuICBwcml2YXRlIF93ZWVrZW5kczogQmVoYXZpb3JTdWJqZWN0PG51bWJlcltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoKFtdIGFzIG51bWJlcltdKSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgZGF0ZSByYW5nZSBpcyBzZWxlY3RlZC5cclxuICAgKi9cclxuICBAT3V0cHV0KCdkYXRlUmFuZ2VTZWxlY3QnKVxyXG4gIHByaXZhdGUgZGF0ZVJhbmdlU2VsZWN0OiBFdmVudEVtaXR0ZXI8QURDSVJlc291cmNlU2NoZWR1bGVyVGFibGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFEQ0lSZXNvdXJjZVNjaGVkdWxlclRhYmxlRXZlbnQ+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGFuIGV2ZW50IGlzIHNlbGVjdGVkLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ2V2ZW50U2VsZWN0JylcclxuICBwcml2YXRlIGV2ZW50U2VsZWN0OiBFdmVudEVtaXR0ZXI8QURDSVJlc291cmNlU2NoZWR1bGVyRXZlbnRTZWxlY3RFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFEQ0lSZXNvdXJjZVNjaGVkdWxlckV2ZW50U2VsZWN0RXZlbnQ+KCk7XHJcblxyXG4gICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGRhdGUgcmFuZ2UgY2hhbmdlcy5cclxuICAgKi9cclxuICBAT3V0cHV0KCdkYXRlUmFuZ2VDaGFuZ2UnKVxyXG4gIHByaXZhdGUgZGF0ZVJhbmdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QURDSURhdGVSYW5nZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QURDSURhdGVSYW5nZUNoYW5nZUV2ZW50PigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAqIElucHV0IHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSBsaXN0IG9mIGV2ZW50cyBpbiB0aGUgcmVzb3VyY2Ugc2NoZWR1bGVyLlxyXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgZXZlbnRzIHRvIGJlIHNldCBpbiB0aGUgc2NoZWR1bGVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgnZXZlbnRzJylcclxuICBzZXQgZXZlbnRzKHZhbHVlOiBBRENJUmVzb3VyY2VTY2hlZHVsZXJFdmVudFtdKVxyXG4gIHtcclxuICAgIGlmKHZhbHVlID09IG51bGwpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuX2V2ZW50cy5uZXh0KFtdKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgIHtcclxuICAgICAgdGhpcy5fZXZlbnRzLm5leHQodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgZXZlbnRzKCk6IEFEQ0lSZXNvdXJjZVNjaGVkdWxlckV2ZW50W11cclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXZlbnRzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgICAvKipcclxuICAgKiBJbnB1dCBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgbGlzdCBvZiByZXNvdXJjZXMgaW4gdGhlIHJlc291cmNlIHNjaGVkdWxlci5cclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHJlc291cmNlcyB0byBiZSBzZXQgaW4gdGhlIHNjaGVkdWxlci5cclxuICAgKi9cclxuICBASW5wdXQoJ3Jlc291cmNlcycpXHJcbiAgc2V0IHJlc291cmNlcyh2YWx1ZTogQURDSVJlc291cmNlU2NoZWR1bGVyUmVzb3VyY2VbXSlcclxuICB7XHJcbiAgICBpZih2YWx1ZSA9PSBudWxsKVxyXG4gICAge1xyXG4gICAgICB0aGlzLl9yZXNvdXJjZXMubmV4dChbXSk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuX3Jlc291cmNlcy5uZXh0KHZhbHVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuICBnZXQgcmVzb3VyY2VzKCk6IEFEQ0lSZXNvdXJjZVNjaGVkdWxlclJlc291cmNlW11cclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgICAvKipcclxuICAgKiBJbnB1dCBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgbGlzdCBvZiBob2xpZGF5cyBpbiB0aGUgcmVzb3VyY2Ugc2NoZWR1bGVyLlxyXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgaG9saWRheXMgdG8gYmUgc2V0IGluIHRoZSBzY2hlZHVsZXIuXHJcbiAgICovXHJcbiAgQElucHV0KFwiaG9saWRheXNcIilcclxuICBzZXQgaG9saWRheXModmFsdWU6IHN0cmluZ1tdKVxyXG4gIHtcclxuICAgIGlmKHZhbHVlID09IG51bGwpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuX2hvbGlkYXlzLm5leHQoW10pO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICB0aGlzLl9ob2xpZGF5cy5uZXh0KHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGhvbGlkYXlzKCk6IHN0cmluZ1tdXHJcbiAge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hvbGlkYXlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgICAvKipcclxuICAgKiBJbnB1dCBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgbGlzdCBvZiB3ZWVrZW5kcyBpbiB0aGUgcmVzb3VyY2Ugc2NoZWR1bGVyLlxyXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgd2Vla2VuZHMgdG8gYmUgc2V0IGluIHRoZSBzY2hlZHVsZXIuXHJcbiAgICovXHJcbiAgQElucHV0KFwid2Vla2VuZHNcIilcclxuICBzZXQgd2Vla2VuZHModmFsdWU6IG51bWJlcltdKVxyXG4gIHtcclxuICAgIGlmKHZhbHVlID09IG51bGwpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuX3dlZWtlbmRzLm5leHQoW10pO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICB0aGlzLl93ZWVrZW5kcy5uZXh0KHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHdlZWtlbmRzKCk6IG51bWJlcltdXHJcbiAge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dlZWtlbmRzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCdzdGFydE9mJylcclxuICBzdGFydE9mOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcmVzb3VyY2VDaGFuZ2VzKCk6IE9ic2VydmFibGU8QURDSVJlc291cmNlU2NoZWR1bGVyUmVzb3VyY2VbXT5cclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZXZlbnRDaGFuZ2VzKCk6IE9ic2VydmFibGU8QURDSVJlc291cmNlU2NoZWR1bGVyRXZlbnRbXT5cclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXZlbnRzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgaG9saWRheUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT5cclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5faG9saWRheXMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICB3ZWVrZW5kQ2hhbmdlcygpOiBPYnNlcnZhYmxlPG51bWJlcltdPlxyXG4gIHtcclxuICAgIHJldHVybiB0aGlzLl93ZWVrZW5kcy5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIG9uRXZlbnRTZWxlY3QoZTogQURDSVJlc291cmNlU2NoZWR1bGVyRXZlbnRTZWxlY3RFdmVudCk6IHZvaWRcclxuICB7XHJcbiAgICB0aGlzLmV2ZW50U2VsZWN0LmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBvbkRhdGVSYW5nZVNlbGVjdChlOiBBRENJUmVzb3VyY2VTY2hlZHVsZXJUYWJsZUV2ZW50KVxyXG4gIHtcclxuICAgIHRoaXMuZGF0ZVJhbmdlU2VsZWN0Lm5leHQoZSk7XHJcbiAgfTtcclxuXHJcbiAgb25EYXRlUmFuZ2VDaGFuZ2UoZTogQURDSURhdGVSYW5nZUNoYW5nZUV2ZW50KTogdm9pZFxyXG4gIHtcclxuICAgIHRoaXMuZGF0ZVJhbmdlQ2hhbmdlLmVtaXQoZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==