Smart Tab Folder

Smart Tab Folder

The Smart Tab Folder component provides an easy and elegant way to organise your screens and reduce clutter.

Sample Markup

<smart-tab-folder #myTabFolder> <smart-tabfolder-tab label="Tab 1" key="firstTab" icon="Consultingwerk/SmartComponentsDemo/Web2/SalesrepCustomerTree/Images/businesspeople2.png" selected="true"> <ng-template smartTabFolderPageContent> <p>Tab 1 content</p> </ng-template> </smart-tabfolder-tab> <smart-tabfolder-tab key="secondTab" label="Tab 2" [disabled]="true"> <ng-template smartTabFolderPageContent> <p>Tab 2 content</p> </ng-template> </smart-tabfolder-tab> </smart-tab-folder>

 

The smartTabFolderPageContent directive must be applied on an ng-template element. It is used to render the tab folder page's template dynamically.

Description

All attributes described below apply to individual smart-tabfolder-tab elements.

Attribute

Description

Attribute

Description

label

The label to display for this tab page.

icon

The icon to display for this tab page. If an absolute URL is provided, then it is used as is.

If the provided URL begins with frontend://, then the value provided after the frontend:// prefix is interpreted as being relative to the NG app root.

selected

Indicates whether this tab should be selected on load. Please note that an initially selected tab is mandatory.

disabled

Indicates whether this tab is enabled.

key

An optional unique key that can be used to identify a tab. Can be used as an alternative to the tab index.

Available Methods

Method Name

Description

Method Name

Description

enablePage(page: number | string)

Enables a tab page. The "page" argument may be the tab index (0 based) or the tab key.

disablePage(page: number | string)

Disables a tab page. The "page" argument may be the tab index (0 based) or the tab key.

selectPage(page: number | string)

Selects a tab page. The "page" argument may be the tab index (0 based) or the tab key.

Sample Usage

 

// Use a ViewChild when the form is using a HTML template @ViewChild('myTabFolder') tabFolder: SmartTabFolderComponent; ngAfterViewInit() { this.tabFolder.disablePage(0); //disables the first tab page, by index this.tabFolder.enablePage('firstTab'); //enables the first tab page, by key this.tabFolder.selectPage(1); //selects the second tab page, by index this.tabFolder.selectPage('firstTab'); //selects the first tab page, by key } // Use the Smart TabFolder Registry when the form is using a JSON layout constructor(private tabFolderRegistry: SmartTabFolderRegistryService) { } async ngOnInit() { const tabFolder = await this.tabFolderRegistry.getTabFolderAsync('myTabFolder'); // 'myTabFolder' is the object name tabFolder.disablePage(0); //disables the first tab page, by index tabFolder.enablePage('firstTab'); //enables the first tab page, by key tabFolder.selectPage(1); //selects the second tab page, by index tabFolder.selectPage('firstTab'); //selects the first tab page, by key }