updateReport static method
- required OverlayItem item,
- required SearchableParameterList params,
- void onComplete(
- GemError error
Modifies parameters of an existing owned report.
Updates custom parameters for a report created by the current user, such
as location address or other metadata. The params structure must follow
the format from OverlayItem.previewDataParameterList. Only the original
report creator has authority to update their reports.
Parameters
item: The social report OverlayItem to update. Must be created by the current user.params: Updated parameters following the structure fromOverlayItem.previewDataParameterList. Use keys from PredefinedOverlayGenericParametersIds and PredefinedReportParameterKeys.onComplete: Callback invoked when operation completes or fails. Called with:- GemError.success when report is successfully updated.
- GemError.invalidInput if
itemis not a social report overlay item orparamsstructure is ill-formatted.
Returns
EventHandlerif operation was successfully initiated (use with cancel).nullif operation could not be started.
See also:
- deleteReport - Permanently removes owned report.
- PredefinedReportParameterKeys - Standard parameter keys for reports.
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.registerOnCompleteWithData((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;
}