@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
75 lines (74 loc) • 2.31 kB
TypeScript
import { TabContent, TabLabel } from '../interfaces';
import { ComponentPortal } from '@angular/cdk/portal';
import { Type } from '@angular/core';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { TabLabelStream } from './tab-label-stream';
/**
* Holds the information of tab opened in a tab view.
*
* See {@link TabView} for more information.
*/
export declare class OpenedTab implements TabContent {
uniqueId: string;
/**
* See {@link TabContent#label}.
*/
label: TabLabel;
/**
* See [TabContent.canBeClosed]{@link TabContent#canBeClosed}.
*/
canBeClosed: boolean;
/**
* See [TabContent.tabContentComponent]{@link TabContent#tabContentComponent}.
*/
tabContentComponent: Type<any>;
/**
* See [TabContent.injectedObject]{@link TabContent#injectedObject}.
*/
injectedObject: object;
/**
* See [TabContent.order]{@link TabContent#order}.
*/
order: number;
/**
* See [TabContent.initial]{@link TabContent#initial}.
*/
initial: boolean;
/**
* See [TabContent.parentUniqueId]{@link TabContent#parentUniqueId}.
*/
parentUniqueId: any;
/**
* Reference to the component portal that is used to display the tab content
*/
portal: ComponentPortal<any>;
/**
* Whether the tab was initialized after it's creation.
*
* See [TabGroup.initializeTab()]{@link TabView#initializeTab} for more information.
*/
isTabInitialized: boolean;
/**
* A stream that is injected into each tab and is used to inform that tab whenever it is selected or deselected
*/
tabSelected$: BehaviorSubject<boolean>;
/**
* A stream that is injected into each tab and is used to inform the tab about its termination
*/
tabClosed$: Subject<void>;
protected _label$: TabLabelStream;
/**
* @param tabContent - content of the tab
* @param uniqueId - unique identifier for the tab
*/
constructor(tabContent: TabContent, uniqueId: string);
setIcon(icon: string): void;
setText(text: string): void;
getIcon$(): Observable<string>;
getIcon(): string | undefined;
getText$(): Observable<string>;
/**
* Closes the stream held in this object
*/
destroy(): void;
}