@alauda-fe/common
Version:
Alauda frontend team common codes.
55 lines (54 loc) • 3.18 kB
TypeScript
import { CommonFormControl, TrackFn } from '@alauda/ui';
import { ChangeDetectorRef, TemplateRef } from '@angular/core';
import { FormGroupDirective } from '@angular/forms';
import { BehaviorSubject, Observable } from 'rxjs';
import * as i0 from "@angular/core";
export interface SearchableSelectorOption {
value: unknown;
label: string;
filterValue?: string;
resource?: unknown;
}
export type SearchableSelectorFetcher = (params: unknown, keyword: string) => Observable<SearchableSelectorOption[]>;
export declare class SearchableSelectorLabelDirective {
static ɵfac: i0.ɵɵFactoryDeclaration<SearchableSelectorLabelDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<SearchableSelectorLabelDirective, "[aclSearchableSelectorLabel]", never, {}, {}, never, never, false, never>;
}
export declare class SearchableSelectorOptionDirective {
static ɵfac: i0.ɵɵFactoryDeclaration<SearchableSelectorOptionDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<SearchableSelectorOptionDirective, "[aclSearchableSelectorOption]", never, {}, {}, never, never, false, never>;
}
export declare class SearchableSelectorComponent extends CommonFormControl<unknown> {
private readonly parentForm;
get errorState(): boolean;
fetcher: SearchableSelectorFetcher;
fetcher$: Observable<SearchableSelectorFetcher>;
allowCreate: boolean;
placeholder: string;
trackFn: TrackFn<unknown>;
params: unknown;
params$: Observable<unknown>;
multi: boolean;
clearable: boolean;
disableFn: (option: SearchableSelectorOption, params?: unknown) => boolean;
disableParams: unknown;
disableTooltip: string;
labelTemplate: TemplateRef<unknown>;
optionTemplate: TemplateRef<unknown>;
keyword$$: BehaviorSubject<string>;
loading: boolean;
data$: Observable<SearchableSelectorOption[]>;
constructor(parentForm: FormGroupDirective, cdr: ChangeDetectorRef);
defaultTrackFn: (value: string) => string;
filterFn: (keyword: string, option: {
label: string;
labelContext: {
$implicit: SearchableSelectorOption;
};
value: unknown;
}) => boolean;
filterChange(keyword: string): void;
getLabel(value: string, data: SearchableSelectorOption[]): string;
static ɵfac: i0.ɵɵFactoryDeclaration<SearchableSelectorComponent, [{ optional: true; }, null]>;
static ɵcmp: i0.ɵɵComponentDeclaration<SearchableSelectorComponent, "acl-searchable-selector", never, { "fetcher": { "alias": "fetcher"; "required": false; }; "allowCreate": { "alias": "allowCreate"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "trackFn": { "alias": "trackFn"; "required": false; }; "params": { "alias": "params"; "required": false; }; "multi": { "alias": "multi"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "disableFn": { "alias": "disableFn"; "required": false; }; "disableParams": { "alias": "disableParams"; "required": false; }; "disableTooltip": { "alias": "disableTooltip"; "required": false; }; }, {}, ["labelTemplate", "optionTemplate"], never, false, never>;
}