Files
NativeScript/tns-core-modules/ui/tab-navigation-base/tab-content-item/tab-content-item-common.ts
2019-08-15 11:08:18 +03:00

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);
}
}
}
}