Commit 040e2038 by Karthik Ponnam

minor updated

parent cdb4c960
import 'dart:async'; import 'dart:async';
import 'dart:html' as html; import 'dart:html' as html;
import 'dart:ui' as ui;
import 'dart:js' as js;
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_web_plugins/flutter_web_plugins.dart'; import 'package:flutter_web_plugins/flutter_web_plugins.dart';
class FluttertoastWebPlugin { class FluttertoastWebPlugin {
FluttertoastWebPlugin() { FluttertoastWebPlugin() {
injectCssAndJSLibraries(); injectCssAndJSLibraries();
} }
static void registerWith(Registrar registrar) { static void registerWith(Registrar registrar) {
final MethodChannel channel = final MethodChannel channel = MethodChannel('PonnamKarthik/fluttertoast', const StandardMethodCodec(), registrar.messenger);
MethodChannel('PonnamKarthik/fluttertoast', const StandardMethodCodec(), registrar.messenger);
final FluttertoastWebPlugin instance = FluttertoastWebPlugin(); final FluttertoastWebPlugin instance = FluttertoastWebPlugin();
channel.setMethodCallHandler(instance.handleMethodCall); channel.setMethodCallHandler(instance.handleMethodCall);
} }
...@@ -33,10 +29,10 @@ class FluttertoastWebPlugin { ...@@ -33,10 +29,10 @@ class FluttertoastWebPlugin {
} }
} }
Future<void> showToast(args) { showToast(args) {
String msg = args['msg']; String msg = args['msg'];
String gravity = "top"; String gravity = "top";
if(args['gravity'] == "top" || args['gravity'] == "bottom") { if (args['gravity'] == "top" || args['gravity'] == "bottom") {
gravity = args["gravity"]; gravity = args["gravity"];
} }
...@@ -56,25 +52,31 @@ class FluttertoastWebPlugin { ...@@ -56,25 +52,31 @@ class FluttertoastWebPlugin {
final List<html.HtmlElement> tags = <html.HtmlElement>[]; final List<html.HtmlElement> tags = <html.HtmlElement>[];
final html.StyleElement css = html.StyleElement() final html.StyleElement css = html.StyleElement()
..id = 'toast-css' ..id = 'toast-css'
..appendText("@import url('https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css');"); ..appendText("@import url('https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css');");
tags.add(css); tags.add(css);
final html.ScriptElement script = html.ScriptElement() final html.ScriptElement script = html.ScriptElement()
..async = true ..async = true
..defer = true ..defer = true
..src = "https://cdn.jsdelivr.net/npm/toastify-js"; ..src = "https://cdn.jsdelivr.net/npm/toastify-js";
loading.add(script.onLoad.first); loading.add(script.onLoad.first);
tags.add(script); tags.add(script);
html.querySelector('head').children.addAll(tags); html.querySelector('head').children.addAll(tags);
await Future.wait(loading); await Future.wait(loading);
// addHtmlToast(); // addHtmlToast();
// addHtmlToast(); // addHtmlToast();
} }
addHtmlToast({String msg = "", String gravity = "top", String position = "right", String bgcolor = "linear-gradient(to right, #00b09b, #96c93d)", int time = 3000, bool showClose = false}) { addHtmlToast(
{String msg = "",
String gravity = "top",
String position = "right",
String bgcolor = "linear-gradient(to right, #00b09b, #96c93d)",
int time = 3000,
bool showClose = false}) {
print(html.querySelector("#toast-content")); print(html.querySelector("#toast-content"));
html.Element ele = html.querySelector("#toast-content"); html.Element ele = html.querySelector("#toast-content");
String content = """ String content = """
...@@ -88,16 +90,12 @@ class FluttertoastWebPlugin { ...@@ -88,16 +90,12 @@ class FluttertoastWebPlugin {
}); });
toastElement.showToast(); toastElement.showToast();
"""; """;
if(html.querySelector("#toast-content") != null) { if (html.querySelector("#toast-content") != null) {
ele.remove(); ele.remove();
} }
final html.ScriptElement scriptText = html.ScriptElement() final html.ScriptElement scriptText = html.ScriptElement()
..id = "toast-content" ..id = "toast-content"
..innerHtml = content; ..innerHtml = content;
html.querySelector('head').children.add(scriptText); html.querySelector('head').children.add(scriptText);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment