@obliczeniowo/elementary
Version:
Library made in Angular version 20
1 lines • 12 kB
Source Map (JSON)
{"version":3,"file":"obliczeniowo-elementary-day-picker.mjs","sources":["../../../../projects/components/day-picker/classes/day-picker-interface.ts","../../../../projects/components/day-picker/components/day-picker/day-picker.component.ts","../../../../projects/components/day-picker/components/day-picker/day-picker.component.html","../../../../projects/components/day-picker/day-picker.module.ts","../../../../projects/components/day-picker/obliczeniowo-elementary-day-picker.ts"],"sourcesContent":["import { Observable, of } from 'rxjs';\n\nimport { AbstractValueSetModel, ValuePickerItem } from '@obliczeniowo/elementary/value-picker';\n\nconst monthsDays = [\n 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31\n]\n\nexport class DayPickerInterface extends AbstractValueSetModel {\n offset: number = 0;\n max: number = 31;\n columns: number = 7;\n\n protected _month?: number;\n\n constructor(month?: number) {\n super();\n this.month = month;\n }\n\n init(current?: ValuePickerItem): Observable<void> {\n this.offset = current && Math.floor((this.set.findIndex(item => current?.value === item.value) || 0) / this.max) || 0;\n return of();\n }\n\n set month(month: number | undefined) {\n this._month = month;\n this.set = new Array(monthsDays[this.month || 0]).fill(0).map((_, index) => {\n return {\n value: index + 1\n }\n })\n }\n\n get month(): number | undefined {\n return this._month;\n }\n\n displayNextPrevious(): Observable<boolean> {\n return of(this.set.length > this.max);\n }\n\n getNextSet(): Observable<boolean> {\n const offset = this.offset + 1;\n if (offset * this.max < this.set.length - 1) {\n this.offset = offset;\n return of(true);\n }\n return of(false);\n }\n\n getPreviousSet(): Observable<boolean> {\n if (this.offset) {\n this.offset = this.offset - 1;\n return of(true);\n }\n return of(false);\n }\n\n getCurrentSet(): Observable<ValuePickerItem[]> {\n return of(this.set.slice(this.offset * this.max, (this.offset + 1) * this.max));\n }\n\n next(current?: ValuePickerItem): Observable<ValuePickerItem | undefined> {\n if (!this.set) {\n return of();\n }\n if (current) {\n const index = this.set.findIndex(item => item.value === current.value);\n return of(this.set[Math.min(index + 1, this.set.length - 1)]);\n } else if (!current) {\n return of(this.set?.[this.set.length - 1]);\n }\n return of();\n }\n\n previous(current?: ValuePickerItem): Observable<ValuePickerItem | undefined> {\n if (!this.set) {\n return of();\n }\n if (current) {\n const index = this.set.findIndex(item => item.value === current.value);\n return of(this.set[Math.max(index - 1, 0)]);\n } else if (!current) {\n return of(this.set?.[0]);\n }\n return of();\n }\n\n nextDisabled(): Observable<boolean | undefined> {\n return of(this.max * this.offset + this.max >= (this.set.length || 0));\n }\n\n previousDisabled(): Observable<boolean | undefined> {\n return of(!this.offset || undefined);\n }\n\n selected(item: ValuePickerItem<number, any>, current?: ValuePickerItem<number, any> | undefined): boolean {\n return item.value === current?.value;\n }\n}\n","import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';\n\nimport { ValuePickerItem } from '@obliczeniowo/elementary/value-picker';\n\nimport { DayPickerInterface } from '../../classes/day-picker-interface';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'obl-day-picker',\n templateUrl: './day-picker.component.html',\n styleUrl: './day-picker.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: DayPickerComponent\n },\n ],\n standalone: false\n})\nexport class DayPickerComponent implements ControlValueAccessor {\n protected _month?: number;\n\n protected _current?: ValuePickerItem<number, any>;\n\n protected model: DayPickerInterface = new DayPickerInterface();\n\n @Input() set month(month: number | undefined) {\n this._month = month;\n this.model.month = month;\n if (this._current && this.model.set.length < this._current.value) {\n this._current.value = this.model.set.length;\n }\n }\n\n get month() {\n return this._month;\n }\n\n @Input() set current(current: number | undefined) {\n this._current = current ? { value: current } : undefined;\n }\n\n @HostBinding('class.disabled')\n @Input() disabled?: boolean;\n\n @Output() changed = new EventEmitter<number>();\n\n onChange = (set?: number) => { };\n\n onTouched = () => { };\n\n registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\n\n writeValue(set?: number): void {\n this.current = set || this._current?.value || 1;\n }\n\n registerOnChange(onChange: any): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: any): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onChanged(item: ValuePickerItem<number, any>) {\n this._current = item;\n this.changed.emit(item.value);\n this.onChange(item.value);\n }\n}\n","<obl-value-picker\n [model]=\"model\"\n [current]=\"_current\"\n [disabled]=\"!!disabled\"\n (changed)=\"onChanged($event)\"\n></obl-value-picker>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ValuePickerModule } from '@obliczeniowo/elementary/value-picker';\n\nimport { DayPickerComponent } from './components/day-picker/day-picker.component';\n\n@NgModule({\n declarations: [\n DayPickerComponent\n ],\n imports: [\n CommonModule,\n ValuePickerModule,\n ],\n exports: [\n DayPickerComponent\n ]\n})\nexport class DayPickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}