@sixbell-telco/sdk
Version:
A collection of reusable components designed for use in Sixbell Telco Angular projects
54 lines (53 loc) • 3.85 kB
TypeScript
import { TableContainerHeightProps, TableContentSizeProps, TablePagination } from '@sixbell-telco/sdk/components/table';
import * as i0 from "@angular/core";
export type DualListData<T> = T & {
selected: boolean;
};
export declare class DualListComponent<T> {
size: import("@angular/core").InputSignal<TableContentSizeProps>;
height: import("@angular/core").InputSignal<TableContainerHeightProps>;
maxSize: import("@angular/core").InputSignal<number>;
chevronLeftIcon: string;
chevronRightIcon: string;
searchIcon: string;
key: import("@angular/core").InputSignal<string>;
value: import("@angular/core").InputSignal<string>;
label: import("@angular/core").InputSignal<string>;
titleLeft: import("@angular/core").InputSignal<string>;
titleRight: import("@angular/core").InputSignal<string>;
getKey(item: DualListData<T>): string;
getValue(item: DualListData<T>): string;
getLabel(): string;
items: import("@angular/core").InputSignal<unknown[]>;
target: import("@angular/core").WritableSignal<DualListData<T>[]>;
selectedItems: import("@angular/core").WritableSignal<DualListData<T>[]>;
itemsToRemove: import("@angular/core").WritableSignal<DualListData<T>[]>;
totalItems: import("@angular/core").InputSignal<number>;
addedItems: import("@angular/core").InputSignalWithTransform<T[], T[]>;
computedItems: import("@angular/core").Signal<(T & {
selected: boolean;
})[]>;
allToAdd: import("@angular/core").Signal<boolean>;
allToRemove: import("@angular/core").Signal<boolean>;
itemsAdded: import("@angular/core").OutputEmitterRef<DualListData<T>[]>;
itemsAddedEffect: import("@angular/core").EffectRef;
searchQuery: import("@angular/core").OutputEmitterRef<string>;
handleSearch(search: string): void;
searchTarget: import("@angular/core").WritableSignal<string>;
searchTargetComputed: import("@angular/core").Signal<DualListData<T>[]>;
handleTargetListSearch(search: string): void;
pagination: import("@angular/core").InputSignal<TablePagination>;
pageChanged: import("@angular/core").OutputEmitterRef<number>;
pageSizeChanged: import("@angular/core").OutputEmitterRef<number>;
handlePageChange(page: number): void;
handlePageSizeChange(size: number): void;
handleSelectSourceItem(checked: boolean, item: DualListData<T>): void;
handleSelectTargetItem(checked: boolean, item: DualListData<T>): void;
handleSelectAll(all: boolean): void;
handleSelectAllToRemove(all: boolean): void;
handleAddItems(): void;
handleRemoveItems(): void;
private updateTargetList;
static ɵfac: i0.ɵɵFactoryDeclaration<DualListComponent<any>, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DualListComponent<any>, "st-dual-list", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "key": { "alias": "key"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "titleLeft": { "alias": "titleLeft"; "required": false; "isSignal": true; }; "titleRight": { "alias": "titleRight"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "addedItems": { "alias": "addedItems"; "required": true; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": true; "isSignal": true; }; }, { "itemsAdded": "itemsAdded"; "searchQuery": "searchQuery"; "pageChanged": "pageChanged"; "pageSizeChanged": "pageSizeChanged"; }, never, never, true, never>;
}