openPopup static method

Future<WindowHandle> openPopup(
  1. String url, {
  2. Map<String, dynamic> parameters = const {},
})

Opens a new popup window at the url page.

Implementation

static Future<WindowHandle> openPopup(
  String url, {
  Map<String, dynamic> parameters = const {},
}) async {
  Log.debug('openPopup($url, $parameters)', 'WebUtils');

  bool isOpen = true;

  final StringBuffer arguments = StringBuffer();
  if (parameters.isNotEmpty) {
    arguments.write('?');
    arguments.write(
      parameters.entries.map((e) => '${e.key}=${e.value}').join('&'),
    );
  }

  try {
    await launchUrlString('$url${arguments.toString()}');
  } catch (e) {
    Log.warning('openPopup($url) failed with $e', 'WebUtils');
    isOpen = false;
  }

  return WindowHandleImpl('$url${arguments.toString()}', isOpen: isOpen);
}