addSetRelationListener method
void
addSetRelationListener(
- String relationColumnName,
- dynamic callback, {
- List<
String> ? parentObjectIds, - List? parents,
- void onError(
- String error
- String? whereClause,
override
Implementation
@override
void addSetRelationListener(String relationColumnName, callback,
{List<String>? parentObjectIds,
List? parents,
void Function(String error)? onError,
String? whereClause}) async {
try {
if (_rtUrl.isEmpty) _rtUrl = (await RTLookupService.lookup())!;
if (_rtUrl.isNotEmpty) {
var tempObjectIds = List<String>.empty(growable: true);
if (parents?.isNotEmpty ?? false) {
for (var parent in parents!) {
tempObjectIds.add(parent['objectId']);
}
}
if (parentObjectIds?.isNotEmpty ?? false) {
tempObjectIds.addAll(parentObjectIds!);
}
await RTListener.subscribeForRelationsChanges<T>(
RTEventHandlers.SET.toShortString(),
_tableName,
relationColumnName,
callback,
parentObjectIds: tempObjectIds,
);
} else {
if (kDebugMode) {
print('empty url');
}
throw ArgumentError.value(ExceptionMessage.noInternetConnection);
}
} catch (ex) {
onError!.call(ex.toString());
}
}