@obliczeniowo/elementary
Version:
Library made in Angular version 20
171 lines (160 loc) • 8.03 kB
TypeScript
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 };