productInfoViewConfiguration property

ProductInfoViewConfiguration? productInfoViewConfiguration

The configuration of product info view.

Implementation

ProductInfoViewConfiguration? get productInfoViewConfiguration =>
    _productInfoViewConfiguration;
void productInfoViewConfiguration=(ProductInfoViewConfiguration? value)

Implementation

set productInfoViewConfiguration(ProductInfoViewConfiguration? value) {
  final valueChanged = _productInfoViewConfiguration != value;
  _productInfoViewConfiguration = value;
  final nativeMethodName =
      ShoppingNativeMethodName.setProductInfoViewConfiguration.name;
  if (FWGlobalState.getInstance().sdkInitSucceeded) {
    FWMethodChannelUtil.getShoppingChannel()
        .invokeMethod(
      nativeMethodName,
      ProductInfoViewConfigurationUtil.toJson(
        value ?? ProductInfoViewConfiguration(),
      ),
    )
        .then(
      (_) {
        if (valueChanged) {
          FWEventBus.getInstance().fire(
            FWEvent(
              eventName: FWEventName.productInfoViewConfigurationUpdated,
            ),
          );
        }
      },
    );
  } else {
    FWGlobalState.getInstance().sdkInitSucceededFuture.then((_) {
      FWMethodChannelUtil.getShoppingChannel()
          .invokeMethod(
        nativeMethodName,
        ProductInfoViewConfigurationUtil.toJson(
          value ?? ProductInfoViewConfiguration(),
        ),
      )
          .then(
        (_) {
          if (valueChanged) {
            FWEventBus.getInstance().fire(
              FWEvent(
                eventName: FWEventName.productInfoViewConfigurationUpdated,
              ),
            );
          }
        },
      );
    });
  }
}