@obliczeniowo/elementary
Version:
Library made in Angular version 19
1 lines • 13.7 kB
Source Map (JSON)
{"version":3,"file":"obliczeniowo-elementary-year-picker.mjs","sources":["../../../../projects/components/year-picker/models/year-value-picker.model.ts","../../../../projects/components/year-picker/components/year-picker/year-picker.component.ts","../../../../projects/components/year-picker/components/year-picker/year-picker.component.html","../../../../projects/components/year-picker/year-picker.module.ts","../../../../projects/components/year-picker/obliczeniowo-elementary-year-picker.ts"],"sourcesContent":["import { Observable, of } from 'rxjs';\r\n\r\nimport { ElementaryMath } from '@obliczeniowo/elementary/math';\r\nimport { AbstractValueSetModel, ValuePickerItem } from '@obliczeniowo/elementary/value-picker';\r\n\r\nexport class YearValuePickerModel extends AbstractValueSetModel {\r\n next(current?: ValuePickerItem<number, any> | undefined): Observable<ValuePickerItem<number, any> | undefined> {\r\n return of({ value: current && ElementaryMath.minmax(current.value + 1, this.start, this.end) || this.start });\r\n }\r\n\r\n previous(current?: ValuePickerItem<any, any> | undefined): Observable<ValuePickerItem<number, any> | undefined> {\r\n return of({ value: current && ElementaryMath.minmax(current.value - 1, this.start, this.end) || this.start });\r\n }\r\n\r\n constructor(public start: number, public end: number) {\r\n super();\r\n }\r\n\r\n init(current?: ValuePickerItem<number> | undefined): Observable<void> {\r\n if (current) {\r\n const { value } = current;\r\n\r\n if (value < this.start || value > this.end) {\r\n this.set = new Array(Math.min(this.end - this.start, this.max)).fill(0).map((_, index) => ({ value: this.start + index }));\r\n } else {\r\n const start = Math.min(value, this.end - this.max + 1);\r\n this.set = new Array(Math.min(this.end - this.start, this.max)).fill(0).map((_, index) => ({ value: start + index }));\r\n }\r\n } else {\r\n this.set = new Array(Math.min(this.end - this.start, this.max)).fill(0).map((_, index) => ({ value: this.start + index }));\r\n }\r\n\r\n return of();\r\n }\r\n\r\n getNextSet(): Observable<boolean> {\r\n const end = this.set[this.set.length - 1].value;\r\n if (end === this.end) {\r\n return of(false);\r\n }\r\n const start = Math.min(end, this.end - this.max);\r\n this.set = new Array(this.max).fill(0).map((_, index) => ({ value: start + index + 1 }));\r\n\r\n return of(true);\r\n }\r\n\r\n getPreviousSet(): Observable<boolean> {\r\n let start = this.set[0].value;\r\n if (start === this.start) {\r\n return of(false);\r\n }\r\n start = Math.max(start - this.max, this.start);\r\n this.set = new Array(this.max).fill(0).map((_, index) => ({ value: start + index }));\r\n\r\n return of(true);\r\n }\r\n\r\n getCurrentSet(): Observable<ValuePickerItem<number, any>[]> {\r\n return of(this.set);\r\n }\r\n\r\n displayNextPrevious(): Observable<boolean> {\r\n return of(true);\r\n }\r\n\r\n decreaseDisabled(current?: ValuePickerItem) {\r\n return current?.value === this.start;\r\n }\r\n\r\n increaseDisabled(current?: ValuePickerItem) {\r\n return current?.value === this.end;\r\n }\r\n\r\n selected(item: ValuePickerItem, current?: ValuePickerItem): boolean {\r\n return current?.value === item.value;\r\n }\r\n\r\n nextDisabled(): Observable<boolean> {\r\n return of(this.set[this.set.length - 1].value === this.end);\r\n }\r\n\r\n previousDisabled(): Observable<boolean> {\r\n return of(this.set[0].value === this.start);\r\n }\r\n}\r\n","import { Component, Input, EventEmitter, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { PickerSettings } from '@obliczeniowo/elementary/value-picker';\r\n\r\nimport { YearPickerDisplay } from './../../models/year-picker-display';\r\nimport { YearValuePickerModel } from './../../models/year-value-picker.model';\r\n\r\n@Component({\r\n selector: 'obl-year-picker',\r\n templateUrl: './year-picker.component.html',\r\n styleUrls: ['./year-picker.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: YearPickerComponent\r\n },\r\n ],\r\n standalone: false\r\n})\r\nexport class YearPickerComponent {\r\n protected model = new YearValuePickerModel(new Date().getFullYear() - 20, new Date().getFullYear() + 20);\r\n\r\n @Input() current?: number;\r\n\r\n @Input() set start(year: number) {\r\n this.model.start = year;\r\n }\r\n\r\n @Input() set end(year: number) {\r\n this.model.end = year;\r\n }\r\n\r\n @Input() placeholder?: string;\r\n\r\n /**\r\n * disable the whole things\r\n */\r\n @Input() disabled = false;\r\n\r\n @Input() display: YearPickerDisplay = {\r\n nextPrevious: true\r\n }\r\n\r\n @Input() picker: PickerSettings = {};\r\n\r\n @Output() changed = new EventEmitter<number>();\r\n\r\n protected touched: boolean = false;\r\n\r\n onChange = (value: number | undefined) => { };\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;\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(disabled: boolean): void {\r\n this.disabled = disabled;\r\n }\r\n\r\n markAsTouched(): void {\r\n if (this.disabled) {\r\n return;\r\n }\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n protected itemChanged(item: number) {\r\n this.current = item;\r\n this.onChange(this.current);\r\n this.changed.emit(this.current);\r\n }\r\n\r\n ngOnInit() {\r\n this.model.init(this.current && { value: this.current } || undefined);\r\n }\r\n}\r\n","<obl-value-picker\r\n [model]=\"model\"\r\n [current]=\"(current && { value: current }) || undefined\"\r\n [disabled]=\"disabled\"\r\n [display]=\"display\"\r\n [picker]=\"picker\"\r\n [placeholder]=\"placeholder\"\r\n (changed)=\"itemChanged($event.value)\"\r\n></obl-value-picker>\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ValuePickerModule } from '@obliczeniowo/elementary/value-picker';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { YearPickerComponent } from './components/year-picker/year-picker.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n YearPickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ValuePickerModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n YearPickerComponent\r\n ]\r\n})\r\nexport class YearPickerModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}