refactor: Simplifying universal_ui for web.

Using `dart:ui_web` to define `platformViewRegistry`.
pull/1367/head
Luís Arteiro 2 years ago
parent 5dca6008cd
commit 9393ae1d98
  1. 3
      example/lib/universal_ui/fake_ui.dart
  2. 7
      example/lib/universal_ui/real_ui.dart
  3. 29
      example/lib/universal_ui/universal_ui.dart

@ -1,3 +0,0 @@
class PlatformViewRegistry {
static void registerViewFactory(String viewId, dynamic cb) {}
}

@ -1,7 +0,0 @@
import 'dart:ui' as ui;
class PlatformViewRegistry {
static void registerViewFactory(String viewId, dynamic cb) {
ui.platformViewRegistry.registerViewFactory(viewId, cb);
}
}

@ -1,31 +1,14 @@
library universal_ui; library universal_ui;
import 'dart:ui_web' as ui_web;
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
import 'package:flutter_quill_extensions/flutter_quill_extensions.dart'; import 'package:flutter_quill_extensions/flutter_quill_extensions.dart';
import 'package:universal_html/html.dart' as html; import 'package:universal_html/html.dart' as html;
import 'package:youtube_player_flutter/youtube_player_flutter.dart'; import 'package:youtube_player_flutter/youtube_player_flutter.dart';
import '../widgets/responsive_widget.dart'; import '../widgets/responsive_widget.dart';
import 'fake_ui.dart' if (dart.library.html) 'real_ui.dart' as ui_instance;
class PlatformViewRegistryFix {
void registerViewFactory(dynamic x, dynamic y) {
if (kIsWeb) {
ui_instance.PlatformViewRegistry.registerViewFactory(
x,
y,
);
}
}
}
class UniversalUI {
PlatformViewRegistryFix platformViewRegistry = PlatformViewRegistryFix();
}
var ui = UniversalUI();
class ImageEmbedBuilderWeb extends EmbedBuilder { class ImageEmbedBuilderWeb extends EmbedBuilder {
@override @override
@ -46,10 +29,10 @@ class ImageEmbedBuilderWeb extends EmbedBuilder {
return const SizedBox(); return const SizedBox();
} }
final size = MediaQuery.of(context).size; final size = MediaQuery.of(context).size;
UniversalUI().platformViewRegistry.registerViewFactory(imageUrl, (viewId) { ui_web.platformViewRegistry.registerViewFactory(imageUrl, (viewId) {
return html.ImageElement() return html.ImageElement()
..src = imageUrl ..src = imageUrl
..style.height = 'auto' ..style.height = '300px'
..style.width = 'auto'; ..style.width = 'auto';
}); });
return Padding( return Padding(
@ -91,7 +74,7 @@ class VideoEmbedBuilderWeb extends EmbedBuilder {
} }
} }
UniversalUI().platformViewRegistry.registerViewFactory( ui_web.platformViewRegistry.registerViewFactory(
videoUrl, videoUrl,
(id) => html.IFrameElement() (id) => html.IFrameElement()
..width = MediaQuery.of(context).size.width.toString() ..width = MediaQuery.of(context).size.width.toString()

Loading…
Cancel
Save