mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
30 lines
936 B
TypeScript
30 lines
936 B
TypeScript
// Types
|
|
import { TabContentItem as TabContentItemDefinition } from '.';
|
|
import { AddChildFromBuilder } from '../../core/view';
|
|
import { TabNavigationBase } from '../tab-navigation-base';
|
|
|
|
// Requires
|
|
import { View, CSSType } from '../../core/view';
|
|
import { ViewBase } from '../../core/view-base';
|
|
import { ContentView } from '../../content-view';
|
|
export const traceCategory = 'TabView';
|
|
|
|
@CSSType('TabContentItem')
|
|
export abstract class TabContentItemBase extends ContentView implements TabContentItemDefinition, AddChildFromBuilder {
|
|
public eachChild(callback: (child: View) => boolean) {
|
|
if (this.content) {
|
|
callback(this.content);
|
|
}
|
|
}
|
|
|
|
public loadView(view: ViewBase): void {
|
|
const tabView = <TabNavigationBase>this.parent;
|
|
if (tabView && tabView.items) {
|
|
// Don't load items until their fragments are instantiated.
|
|
if ((<TabContentItemDefinition>this).canBeLoaded) {
|
|
super.loadView(view);
|
|
}
|
|
}
|
|
}
|
|
}
|