selectCategories method

Future<void> selectCategories(
  1. List<String> categoryKeys
)

Implementation

Future<void> selectCategories(List<String> categoryKeys) async {
  final String promiseId = DateTime.now().millisecondsSinceEpoch.toString();
  final Completer<void> completer = Completer<void>();

  _pendingPromises[promiseId] = completer;

  final String jsArray = jsonEncode(categoryKeys);

  await _controller.evaluateJavascript('''
  chart.selectCategories($jsArray)
    .then(() => window.selectCategoriesJsChannel.postMessage(JSON.stringify({
      "id": "$promiseId\",
      \"status\": \"resolved\"
    })))
    .catch(error => window.selectCategoriesJsChannel.postMessage(JSON.stringify({
      \"id\": \"$promiseId\",
      \"status\": \"error\",
      \"message\": error
    })));
''');

  return completer.future;
}