create static method
Widget
create(
- TabItemModel model, {
- TabType? tabType,
- bool? rotate,
- int? rotateTurns,
- WrapperModel? wrapperModel,
Implementation
static Widget create(
TabItemModel model, {
final TabType? tabType,
final bool? rotate,
final int? rotateTurns,
final WrapperModel? wrapperModel,
}) {
if (model is SimpleTabModel) {
return SimpleTab(
icon: model.icon,
label: model.label,
spacing: model.spacing,
height:
model.height ??
((model.tabType ?? tabType) == TabType.iconTopText ? 80 : null),
iconFirst: (model.tabType ?? tabType) != TabType.textThenIcon,
vertical: (model.tabType ?? tabType) == TabType.iconTopText,
wrapperModel: wrapperModel,
rotate: rotate,
rotateTurns: rotateTurns,
);
} else if (model is LottieTabItemModel) {
return LottieTab(
lottieAsset: model.lottieAsset,
lottieUrl: model.lottieUrl,
label: model.label,
wrapperModel: wrapperModel,
rotate: rotate,
rotateTurns: rotateTurns,
);
} else if (model is ImageTabItemModel) {
if (model.imageProvider == null &&
model.imageSource == null &&
model.image == null) {
throw ArgumentError(
'Either image or imagePath must be provided for TabType.image',
);
}
return ImageTab(
imageProvider: model.imageProvider,
imgSource: model.imageSource,
image: model.image,
label: model.label,
spacing: model.spacing,
wrapperModel: wrapperModel,
rotate: rotate,
rotateTurns: rotateTurns,
height: model.height,
width: model.width,
vertical: model.vertical,
borderRadius: model.borderRadius,
fit: model.fit,
);
}
return Tab(text: model.label);
}