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