$UikListTabPropsFromJson function

UikListTabProps $UikListTabPropsFromJson(
  1. Map<String, dynamic> json
)

Implementation

UikListTabProps $UikListTabPropsFromJson(Map<String, dynamic> json) {
  final UikListTabProps uikListTabProps = UikListTabProps();
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    uikListTabProps.id = id;
  }

  final double? width = jsonConvert.convert<double>(json['width']);
  if (width != null) {
    uikListTabProps.width = width;
  }
  final double? horizontalPadding =
      jsonConvert.convert<double>(json['horizontalPadding']);
  if (horizontalPadding != null) {
    uikListTabProps.horizontalPadding = horizontalPadding;
  }
  final double? verticalPadding =
      jsonConvert.convert<double>(json['verticalPadding']);
  if (verticalPadding != null) {
    uikListTabProps.verticalPadding = verticalPadding;
  }
  final double? radiusBottomLeft =
      jsonConvert.convert<double>(json['radiusBottomLeft']);
  if (radiusBottomLeft != null) {
    uikListTabProps.radiusBottomLeft = radiusBottomLeft;
  }
  final double? radiusTopLeft =
      jsonConvert.convert<double>(json['radiusTopLeft']);
  if (radiusTopLeft != null) {
    uikListTabProps.radiusTopLeft = radiusTopLeft;
  }
  final double? radiusBottomRight =
      jsonConvert.convert<double>(json['radiusBottomRight']);
  if (radiusBottomRight != null) {
    uikListTabProps.radiusBottomRight = radiusBottomRight;
  }
  final double? radiusTopRight =
      jsonConvert.convert<double>(json['radiusTopRight']);
  if (radiusTopRight != null) {
    uikListTabProps.radiusTopRight = radiusTopRight;
  }
  final double? leftMargin = jsonConvert.convert<double>(json["leftMargin"]);
  if (leftMargin != null) {
    uikListTabProps.leftMargin = leftMargin;
  }
  final double? rightMargin = jsonConvert.convert<double>(json["rightMargin"]);
  if (rightMargin != null) {
    uikListTabProps.rightMargin = rightMargin;
  }

  final double? topMargin = jsonConvert.convert<double>(json["topMargin"]);
  if (topMargin != null) {
    uikListTabProps.topMargin = topMargin;
  }

  final double? bottomMargin =
      jsonConvert.convert<double>(json["bottomMargin"]);
  if (bottomMargin != null) {
    uikListTabProps.bottomMargin = bottomMargin;
  }
  final String? bgImage = jsonConvert.convert<String>(json['bgImage']);
  if (bgImage != null) {
    uikListTabProps.bgImage = bgImage;
  }

  final Map<String, dynamic>? title =
      jsonConvert.convert<Map<String, dynamic>>(json["title"]);
  if (title != null) {
    if (title["id"] == "text") {
      uikListTabProps.title =
          UikText(WidgetType.UikIconText, UikTextProps.fromJson(title));
    }
    if (title["id"] == "iconText") {
      uikListTabProps.title =
          UikIconText(WidgetType.UikIconText, UikIconTextProps.fromJson(title));
    }
  }

  final Map<String, dynamic>? percentDetail =
      jsonConvert.convert<Map<String, dynamic>>(json['type']);
  if (percentDetail != null) {
    // Map<String, Widget> widgetMap = {};
    percentDetail.forEach((key, value) {
      final Map<String, dynamic>? widget =
          jsonConvert.convert<Map<String, dynamic>>(value);
      if (widget != null) {
        if (widget["id"] == "text") {
          uikListTabProps.types[key] =
              UikText(WidgetType.UikIconText, UikTextProps.fromJson(widget));
        }
        if (widget["id"] == "iconText") {
          uikListTabProps.types[key] = UikIconText(
              WidgetType.UikIconText, UikIconTextProps.fromJson(widget));
        }
      }
    });
  }

  final Map<String, dynamic>? selectList =
      jsonConvert.convert<Map<String, dynamic>>(json['list']);
  if (selectList != null) {
    // Map<String, Widget> widgetMap = {};
    selectList.forEach((key, value) {
      final List<dynamic>? list = jsonConvert.convert<List<dynamic>>(value);
      if (list != null) {
        uikListTabProps.list[key] = [];
        for (var element in list) {
          final Map<String, dynamic>? item =
              jsonConvert.convert<Map<String, dynamic>>(element);
          if (item != null) {
            if (item["id"] == "listTile") {
              if (uikListTabProps.list.containsKey(key)) {
                uikListTabProps.list[key]?.add(
                  UikListTile(
                    WidgetType.UikIconText,
                    UikListTileProps.fromJson(item),
                  ),
                );
              }
            }
          }
        }
      }
    });
  }
  return uikListTabProps;
}