mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
30 lines
988 B
TypeScript
30 lines
988 B
TypeScript
// Types
|
|
import { TabContentItem as TabContentItemDefinition } from ".";
|
|
import { AddChildFromBuilder } from "../../core/view";
|
|
import { TabNavigationBase } from "../tab-navigation-base";
|
|
|
|
// Requires
|
|
import { View, ViewBase, CSSType } from "../../core/view";
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|