@obliczeniowo/elementary
Version:
Library made in Angular version 20
100 lines (95 loc) • 5.21 kB
TypeScript
import * as i0 from '@angular/core';
import { EventEmitter, OnInit, OnDestroy, TemplateRef, SimpleChanges } from '@angular/core';
import { Subscription } from 'rxjs';
import * as i6 from '@angular/forms';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { AbstractSearchDomain } from '@obliczeniowo/elementary/classes';
import * as i8 from '@obliczeniowo/elementary/input';
import { InputWrappersDefaultSettingsService } from '@obliczeniowo/elementary/input';
import * as i3 from '@angular/common';
import * as i4 from '@angular/cdk/overlay';
import * as i5 from '@angular/cdk/drag-drop';
import * as i7 from '@obliczeniowo/elementary/buttons';
declare class DragBarComponent {
touchedDragBar: boolean;
onTouched: EventEmitter<boolean>;
onClose: EventEmitter<void>;
click(event: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DragBarComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DragBarComponent, "obl-drag-bar", never, {}, { "onTouched": "onTouched"; "onClose": "onClose"; }, never, never, false, never>;
}
interface DropdownSelectItem<T> {
id: string | number;
text: string;
templateData?: T;
}
declare class DropdownSelectComponent implements OnInit, OnDestroy, ControlValueAccessor {
private readonly settings;
protected touchedDragBar: boolean;
/**
* Control the select items data flow.
*
* If you want to override this one for getting data from BE source for example just create
* own class that extends AbstractSearchModel and do what you need to do to filter out items
* list
*/
model: i0.InputSignal<AbstractSearchDomain<DropdownSelectItem<any>>>;
items: DropdownSelectItem<any>[];
/** Label to display over the field (default undefined so it will have no label at all) */
label: i0.InputSignal<string | undefined>;
/**
* Enable type text animation for label
*/
labelAnimation: boolean;
/** Template for suffix, if exist display after select item */
templateSuffix: i0.InputSignal<TemplateRef<any> | undefined>;
/** Template for prefix, if exist display before select item */
templatePrefix: i0.InputSignal<TemplateRef<any> | undefined>;
/** Define if search control should shows up */
search: boolean;
regExp?: {
on?: boolean;
};
/** */
select: string | number;
/** disable choosing element, search (if added) is available and dropdown list too */
disabled: boolean;
/** emit when selected item is changed by user */
changed: EventEmitter<DropdownSelectItem<any>>;
/** search control */
searchControl: FormControl;
/** selected item */
selected: DropdownSelectItem<any> | undefined;
/** define if list is opened */
isOpen: boolean;
/** define if element is touched */
touched: boolean;
protected subscription: Subscription;
constructor(settings: InputWrappersDefaultSettingsService);
onChange: (value: string | number) => void;
onTouched: () => void;
registerOnValidatorChange(fn: () => void): void;
toggleReg(): void;
writeValue(id: number | string): void;
registerOnChange(onChange: any): void;
registerOnTouched(onTouched: any): void;
markAsTouched(): void;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
close(touched?: boolean): void;
open(): void;
toggle(event: any, touched?: boolean): void;
onSelect(item: DropdownSelectItem<any>, dragBar: DragBarComponent): void;
onTouchedDragBar(touched: boolean, element: any): void;
setDisabledState(disabled: boolean): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownSelectComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownSelectComponent, "obl-dropdown-select", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelAnimation": { "alias": "labelAnimation"; "required": false; }; "templateSuffix": { "alias": "templateSuffix"; "required": false; "isSignal": true; }; "templatePrefix": { "alias": "templatePrefix"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; }; "regExp": { "alias": "regExp"; "required": false; }; "select": { "alias": "select"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "changed": "changed"; }, never, ["[suffix]"], false, never>;
}
declare class DropdownSelectModule {
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownSelectModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<DropdownSelectModule, [typeof DropdownSelectComponent, typeof DragBarComponent], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.DragDropModule, typeof i6.FormsModule, typeof i7.ButtonsModule, typeof i8.InputModule, typeof i6.ReactiveFormsModule], [typeof DropdownSelectComponent, typeof DragBarComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<DropdownSelectModule>;
}
export { DragBarComponent, DropdownSelectComponent, DropdownSelectModule };
export type { DropdownSelectItem };