UNPKG

@obliczeniowo/elementary

Version:
171 lines (160 loc) 8.03 kB
import * as i0 from '@angular/core'; import { EventEmitter, TemplateRef } from '@angular/core'; import * as i7 from '@angular/forms'; import { ControlValueAccessor } from '@angular/forms'; import { Observable, BehaviorSubject } from 'rxjs'; import * as i3 from '@angular/common'; import * as i4 from '@obliczeniowo/elementary/icons'; import * as i5 from '@obliczeniowo/elementary/buttons'; import * as i6 from '@angular/cdk/overlay'; import * as i8 from '@obliczeniowo/elementary/loading'; interface ValuePickerItem<T = any, Ext = any> { value: T; extData?: Ext; } declare abstract class AbstractValueSetModel { set: ValuePickerItem[]; max: number; columns: number; loading: boolean; abstract init(current?: ValuePickerItem): Observable<void>; abstract getNextSet(): Observable<boolean>; abstract getPreviousSet(): Observable<boolean>; abstract getCurrentSet(): Observable<ValuePickerItem[]>; abstract displayNextPrevious(): Observable<boolean>; abstract next(current?: ValuePickerItem): Observable<ValuePickerItem | undefined>; abstract previous(current?: ValuePickerItem): Observable<ValuePickerItem | undefined>; nextDisabled(): Observable<boolean | undefined>; previousDisabled(): Observable<boolean | undefined>; decreaseDisabled(current?: ValuePickerItem): boolean; increaseDisabled(current?: ValuePickerItem): boolean; selected(item: ValuePickerItem, current?: ValuePickerItem): boolean; } interface PickerSettings { className?: string; } interface ValuePickerDisplay { nextPrevious?: boolean; } declare class ValuePickerComponent implements ControlValueAccessor { protected _current?: ValuePickerItem | undefined; /** * Input item that can have external optional data, must be the same reference object as one exist on items table */ set current(value: ValuePickerItem | undefined); get current(): ValuePickerItem | undefined; /** * items to pickup */ set items(value: ValuePickerItem[]); get items(): ValuePickerItem[]; /** * disable the whole things */ disabled: boolean; /** */ placeholder?: string; private _model; /** * Set model class that need to extends AbstractValueSetModel */ set model(value: AbstractValueSetModel); get model(): AbstractValueSetModel; /** * Options to control displaying different parts, right now only next/previous buttons */ display: ValuePickerDisplay; /** * Picker settings */ picker: PickerSettings; /** * Emit when picker value changed */ changed: EventEmitter<ValuePickerItem<any, any>>; /** define if list is opened */ isOpen: boolean; protected touched: boolean; protected valueRef?: TemplateRef<any>; protected itemRef?: TemplateRef<any>; onChange: (value: ValuePickerItem | undefined) => void; onTouched: () => void; registerOnValidatorChange(fn: () => void): void; writeValue(set?: ValuePickerItem): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; setDisabledState(disabled: boolean): void; markAsTouched(): void; previous(): void; next(): void; open(): void; toggle(): void; selected(item: ValuePickerItem): void; protected setValue(value: Observable<ValuePickerItem | undefined>): void; static ɵfac: i0.ɵɵFactoryDeclaration<ValuePickerComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<ValuePickerComponent, "obl-value-picker", never, { "current": { "alias": "current"; "required": false; }; "items": { "alias": "items"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "model": { "alias": "model"; "required": false; }; "display": { "alias": "display"; "required": false; }; "picker": { "alias": "picker"; "required": false; }; }, { "changed": "changed"; }, ["valueRef", "itemRef"], ["*"], false, never>; } declare class ValuesSetComponent { /** * Input item that can have external optional data, must be the same reference object as one exist on items table */ current?: ValuePickerItem; model: AbstractValueSetModel; itemRef?: TemplateRef<any>; selected: EventEmitter<ValuePickerItem<any, any>>; next: EventEmitter<void>; previous: EventEmitter<void>; ngOnInit(): void; setOffset(type: 'next' | 'previous'): void; static ɵfac: i0.ɵɵFactoryDeclaration<ValuesSetComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<ValuesSetComponent, "obl-values-set", never, { "current": { "alias": "current"; "required": false; }; "model": { "alias": "model"; "required": false; }; "itemRef": { "alias": "itemRef"; "required": false; }; }, { "selected": "selected"; "next": "next"; "previous": "previous"; }, never, never, false, never>; } declare class ValuePickerModule { static ɵfac: i0.ɵɵFactoryDeclaration<ValuePickerModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<ValuePickerModule, [typeof ValuePickerComponent, typeof ValuesSetComponent], [typeof i3.CommonModule, typeof i4.IconsModule, typeof i5.ButtonsModule, typeof i6.OverlayModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule, typeof i8.LoadingModule], [typeof ValuePickerComponent, typeof ValuesSetComponent]>; static ɵinj: i0.ɵɵInjectorDeclaration<ValuePickerModule>; } declare class ValueSetStaticModel extends AbstractValueSetModel { offset: number; init(current?: ValuePickerItem): Observable<void>; displayNextPrevious(): Observable<boolean>; getNextSet(): Observable<boolean>; getPreviousSet(): Observable<boolean>; getCurrentSet(): Observable<ValuePickerItem[]>; next(current?: ValuePickerItem): Observable<ValuePickerItem | undefined>; previous(current?: ValuePickerItem): Observable<ValuePickerItem | undefined>; nextDisabled(): Observable<boolean | undefined>; previousDisabled(): Observable<boolean | undefined>; } type ActionType = 'previous' | 'next' | 'current' | 'default'; interface IdLike { id: number | string; [key: string]: any; } interface ValuePickerResp<T extends IdLike = IdLike, Ext = any> { items: ValuePickerItem<T, Ext>[]; next: boolean; previous: boolean; } declare class ValueSetDynamicModel extends AbstractValueSetModel { values: BehaviorSubject<ValuePickerResp<IdLike, any> | undefined>; protected observer: Observable<ValuePickerResp<IdLike, any> | undefined>; getSet?: (model: ValueSetDynamicModel, type: ActionType, current?: ValuePickerItem<IdLike>) => Observable<ValuePickerResp>; protected get(type: ActionType, current?: ValuePickerItem<IdLike>): Observable<ValuePickerResp | undefined>; init(current?: ValuePickerItem<IdLike> | undefined): Observable<void>; getNextSet(): Observable<boolean>; getPreviousSet(): Observable<boolean>; protected getPreviousNextSet(type: 'next' | 'previous', current?: ValuePickerItem<IdLike>): Observable<boolean>; getCurrentSet(): Observable<ValuePickerItem<IdLike>[]>; displayNextPrevious(): Observable<boolean>; next(current?: ValuePickerItem<IdLike>): Observable<ValuePickerItem | undefined>; previous(current?: ValuePickerItem<IdLike>): Observable<ValuePickerItem<IdLike> | undefined>; protected getPreviousNext(type: 'next' | 'previous', current?: ValuePickerItem<IdLike>): Observable<ValuePickerItem<IdLike> | undefined>; nextDisabled(): Observable<boolean>; previousDisabled(): Observable<boolean>; decreaseDisabled(current?: ValuePickerItem): boolean; increaseDisabled(current?: ValuePickerItem): boolean; selected(item: ValuePickerItem<IdLike>, current?: ValuePickerItem<IdLike>): boolean; } export { AbstractValueSetModel, ValuePickerComponent, ValuePickerModule, ValueSetDynamicModel, ValueSetStaticModel, ValuesSetComponent }; export type { ActionType, IdLike, PickerSettings, ValuePickerDisplay, ValuePickerItem, ValuePickerResp };