mirror of
https://bitbucket.org/FransoletThomas/tablet-app.git
synced 2025-12-06 08:31:19 +00:00
49 lines
1.2 KiB
Dart
49 lines
1.2 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:managerapi/api.dart';
|
|
import 'package:webview_flutter/webview_flutter.dart';
|
|
|
|
class WebViewWidget extends StatefulWidget {
|
|
final SectionDTO section;
|
|
WebViewWidget({this.section});
|
|
|
|
@override
|
|
_WebViewWidget createState() => _WebViewWidget();
|
|
}
|
|
|
|
class _WebViewWidget extends State<WebViewWidget> {
|
|
WebView _webView;
|
|
WebDTO webDTO;
|
|
@override
|
|
void initState() {
|
|
print(widget.section.data);
|
|
webDTO = WebDTO.fromJson(jsonDecode(widget.section.data));
|
|
print(webDTO);
|
|
|
|
super.initState();
|
|
_webView = WebView(
|
|
initialUrl: webDTO.source_, //"https://my.matterport.com/show/?m=k8bvdezfHbT"
|
|
javascriptMode: JavascriptMode.unrestricted,
|
|
navigationDelegate: (NavigationRequest request) {
|
|
print(request.url);
|
|
print(webDTO.source_);
|
|
if (request.url != webDTO.source_) {
|
|
print('blocking navigation to $request}');
|
|
return NavigationDecision.prevent;
|
|
}
|
|
print('allowing navigation to $request');
|
|
return NavigationDecision.navigate;
|
|
}
|
|
);
|
|
}
|
|
|
|
@override
|
|
void dispose() {
|
|
_webView = null;
|
|
super.dispose();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) => _webView;
|
|
} |