@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
JavaScript
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==