updateReport static method

EventHandler? updateReport({
  1. required OverlayItem item,
  2. required SearchableParameterList params,
  3. void onComplete(
    1. GemError error
    )?,
})

Update an existing report parameters.

Parameters

  • IN item The report overlay item
  • IN params Report parameters. They must follow the structure returned by SocialReportsOverlayCategory.parameters.find(PredefinedOverlayGenericParametersIds.keyVals)
  • IN onComplete Callback to be called when the request is completed, provides the error code:

Returns

  • The operation handler if the operation could be started, null otherwise

Throws

  • An exception if it fails.

Implementation

static EventHandler? updateReport({
  required final OverlayItem item,
  required final SearchableParameterList params,
  void Function(GemError error)? onComplete,
}) {
  final EventDrivenProgressListener progListener =
      EventDrivenProgressListener();
  GemKitPlatform.instance.registerEventHandler(progListener.id, progListener);

  progListener.registerOnCompleteWithDataCallback((final int err, _, __) {
    GemKitPlatform.instance.unregisterEventHandler(progListener.id);
    onComplete?.call(GemErrorExtension.fromCode(err));
  });

  final OperationResult result = staticMethod(
    'SocialOverlay',
    'updateReport',
    args: <String, dynamic>{
      'item': item.pointerId,
      'listener': progListener.id,
      'params': params.pointerId,
    },
  );

  final GemError error = GemErrorExtension.fromCode(result['result']);
  if (error != GemError.scheduled) {
    GemKitPlatform.instance.unregisterEventHandler(progListener.id);
    onComplete?.call(error);
    return null;
  }

  return progListener;
}