getPreviewExtendedData method

ProgressListener getPreviewExtendedData(
  1. void onComplete(
    1. GemError error,
    2. SearchableParameterList? parameters
    )
)

Asynchronously retrieve the preview extended data for this item.

The operation is asynchronous and delivers results via the provided callback.

Parameters

Parameters

Returns

See also:

Implementation

ProgressListener getPreviewExtendedData(
  final void Function(GemError error, SearchableParameterList? parameters)
  onComplete,
) {
  final EventDrivenProgressListener progListener =
      EventDrivenProgressListener();
  GemKitPlatform.instance.registerEventHandler(progListener.id, progListener);
  final SearchableParameterList params = SearchableParameterList.create(0);

  progListener.registerOnCompleteWithData((
    final int err,
    final String hint,
    final Map<dynamic, dynamic> json,
  ) {
    GemKitPlatform.instance.unregisterEventHandler(progListener.id);
    if (err != 0) {
      onComplete(GemErrorExtension.fromCode(err), null);
    } else {
      onComplete(GemErrorExtension.fromCode(err), params);
    }
  });

  final OperationResult resultString = objectMethod(
    pointerId,
    'OverlayItem',
    'getPreviewExtendedData',
    args: <String, dynamic>{
      'list': params.pointerId,
      'listener': progListener.id,
    },
  );

  final int id = resultString['result'];

  if (id != 0) {
    onComplete(GemErrorExtension.fromCode(id), null);
  }

  return progListener;
}