toMap method

Map<String, dynamic> toMap()

Implementation

Map<String, dynamic> toMap() {
  final paramsMap = <String, dynamic>{};

  paramsMap['storylyInit'] = {
    'storylyId': storylyId,
    'storylySegments': storylySegments,
    'userProperty': storylyUserProperty,
    'customParameter': storylyCustomParameters,
    'storylyIsTestMode': storylyTestMode,
    'storylyLayoutDirection': storylyLayoutDirection,
    'storylyLocale': storylyLocale,
  };
  paramsMap['verticalFeedGroupStyling'] = {
    'iconBackgroundColor':
        verticalFeedGroupIconBackgroundColor?.toHexString(),
    'iconCornerRadius': verticalFeedGroupIconCornerRadius,
    'iconHeight': verticalFeedGroupIconHeight,
    'textColor': verticalFeedGroupTextColor?.toHexString(),
    'titleFont': verticalFeedGroupTextTypeface,
    'titleTextSize': verticalFeedGroupTextSize,
    'titleVisible': verticalFeedGroupTextIsVisible,
    'groupOrder': verticalFeedGroupOrder,
    'typeIndicatorVisible': verticalFeedTypeIndicatorIsVisible,
    'minLikeCountToShowIcon': verticalFeedGroupMinLikeCountToShowIcon,
    'minImpressionCountToShowIcon':
        verticalFeedGroupMinImpressionCountToShowIcon,
    'impressionIcon': verticalFeedGroupImpressionIcon,
    'likeIcon': verticalFeedGroupLikeIcon,
  };
  paramsMap['verticalFeedBarStyling'] = {
    'sections': verticalFeedGroupListSections,
    'horizontalEdgePadding': verticalFeedGroupListHorizontalEdgePadding,
    'verticalEdgePadding': verticalFeedGroupListVerticalEdgePadding,
    'horizontalPaddingBetweenItems':
        verticalFeedGroupListHorizontalPaddingBetweenItems,
    'verticalPaddingBetweenItems':
        verticalFeedGroupListVerticalPaddingBetweenItems,
  };
  paramsMap['verticalFeedCustomization'] = {
    'titleFont': verticalFeedItemTextTypeface,
    'interactiveFont': verticalFeedInteractiveTextTypeface,
    'progressBarColor': verticalFeedItemProgressBarColor
        ?.map((color) => color.toHexString())
        .toList(),
    'isTitleVisible': verticalFeedItemTitleIsVisible,
    'isCloseButtonVisible': verticalFeedItemCloseButtonIsVisible,
    'isLikeButtonVisible': verticalFeedItemLikeButtonIsVisible,
    'isShareButtonVisible': verticalFeedItemShareButtonIsVisible,
    'closeButtonIcon': verticalFeedItemCloseIcon,
    'shareButtonIcon': verticalFeedItemShareIcon,
    "likeButtonIcon": verticalFeedItemLikeIcon,
    'isProgressBarVisible': verticalFeedItemProgressBarIsVisible,
  };
  paramsMap['verticalFeedItemShareConfig'] = {
    'storylyShareUrl': storylyShareUrl,
    'storylyFacebookAppID': storylyFacebookAppID,
  };
  paramsMap['verticalFeedItemProductConfig'] = {
    'isFallbackEnabled': isProductFallbackEnabled,
    'isCartEnabled': isProductCartEnabled,
    'productFeed': storyProductFeed?.map(
        (key, value) => MapEntry(key, value.map((e) => e.toJson()).toList())),
  };
  return paramsMap;
}