@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
59 lines (58 loc) • 2.52 kB
TypeScript
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { Observable, ReplaySubject } from 'rxjs';
import { UserListItem, UserListService } from '../../../../user/services/user-list.service';
import { UserValue } from '../../../../data-fields/user-field/models/user-value';
import { AbstractBaseUserAssignListComponent } from "../base-user-assign-list/abstract-base-user-assign-list.component";
import * as i0 from "@angular/core";
/**
* Is responsible for displaying, filtering, loading and selecting users.
*/
export declare abstract class AbstractUserAssignListComponent extends AbstractBaseUserAssignListComponent implements OnInit, OnDestroy {
/**
* The user that is initially selected, or `undefined` if none is
*/
initiallySelectedUser: UserValue | undefined;
/**
* Emit selected user to parent component.
*/
userSelected: EventEmitter<UserValue>;
/**
* UserValue array stream, that represents users loading from backend.
*/
users$: Observable<Array<UserListItem>>;
/**
* Stream of selected user with his value that we can subscribe to like the observable.
*/
protected _selectedUser$: ReplaySubject<string>;
/**
* Inject and initialize attributes.
* @param _userListService Service to get paginated loading users from backend.
*/
constructor(_userListService: UserListService);
/**
* On initialize component set value to stream selectedUser with preselected user.
* Observes search user control stream on value change.
*/
ngOnInit(): void;
ngOnDestroy(): void;
/**
* ID of the currently selected user
*/
get selectedUser$(): Observable<string>;
/**
* Sets current user to the selected user.
*
* Emit selected user to parent component.
*
* Marks selected user in users list.
* @param selectedUser [UserValue]{@link UserValue}
*/
select(selectedUser: UserListItem): void;
/**
* Marks user as selected in users list.
* @param selectedUser Current select user value.
*/
protected _markSelectedUser(selectedUser: UserListItem): void;
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractUserAssignListComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractUserAssignListComponent, "ncc-abstract-user-assign-list", never, { "initiallySelectedUser": { "alias": "initiallySelectedUser"; "required": false; }; }, { "userSelected": "userSelected"; }, never, never, false, never>;
}