All PrintJobSettings properties are optionals, All PullToRefreshSettings properties are optionals, All WebAuthenticationSessionSettings properties are optionals, Automatically infer useShouldOverrideUrlLoading, useOnLoadResource, useOnDownloadStart, useShouldInterceptAjaxRequest, useShouldInterceptFetchRequest, useShouldInterceptRequest, useOnRenderProcessGone, useOnNavigationResponse settings if their value is null and the corresponding event is implemented by the WebView (InAppWebView and HeadlessInAppWebView, not InAppBrowser) before it's native initialization
This commit is contained in:
parent
d39b1ef374
commit
3101b44c37
19
CHANGELOG.md
19
CHANGELOG.md
|
@ -1,3 +1,13 @@
|
||||||
|
## 6.0.0-beta.15
|
||||||
|
|
||||||
|
- Automatically infer `useShouldOverrideUrlLoading`, `useOnLoadResource`, `useOnDownloadStart`, `useShouldInterceptAjaxRequest`, `useShouldInterceptFetchRequest`, `useShouldInterceptRequest`, `useOnRenderProcessGone`, `useOnNavigationResponse` settings if their value is `null` and the corresponding event is implemented by the WebView (`InAppWebView` and `HeadlessInAppWebView`, not `InAppBrowser`) before it's native initialization.
|
||||||
|
|
||||||
|
### BREAKING CHANGES
|
||||||
|
|
||||||
|
- All `PrintJobSettings` properties are optionals
|
||||||
|
- All `PullToRefreshSettings` properties are optionals
|
||||||
|
- All `WebAuthenticationSessionSettings` properties are optionals
|
||||||
|
|
||||||
## 6.0.0-beta.14
|
## 6.0.0-beta.14
|
||||||
|
|
||||||
- Fixed User Script remove methods
|
- Fixed User Script remove methods
|
||||||
|
@ -135,6 +145,15 @@
|
||||||
- Removed `URLProtectionSpace.iosIsProxy` property
|
- Removed `URLProtectionSpace.iosIsProxy` property
|
||||||
- `historyUrl` and `baseUrl` of `InAppWebViewInitialData` can be `null`
|
- `historyUrl` and `baseUrl` of `InAppWebViewInitialData` can be `null`
|
||||||
|
|
||||||
|
## 5.7.1+2
|
||||||
|
|
||||||
|
- Fixed Android `NullPointerException` on `InAppBrowserActivity.dispose`
|
||||||
|
|
||||||
|
## 5.7.1+1
|
||||||
|
|
||||||
|
- Fixed User Script remove methods
|
||||||
|
- Fixed missing `break` statement on Android when parsing `ChromeCustomTabsOptions.displayMode` in Java code
|
||||||
|
|
||||||
## 5.7.1
|
## 5.7.1
|
||||||
|
|
||||||
- Exposed "shared" property of HttpServer bind method to support more use-cases. (thanks to [LugonjaAleksandar](https://github.com/LugonjaAleksandar))
|
- Exposed "shared" property of HttpServer bind method to support more use-cases. (thanks to [LugonjaAleksandar](https://github.com/LugonjaAleksandar))
|
||||||
|
|
|
@ -56,7 +56,6 @@ void interceptAjaxRequest() {
|
||||||
"""),
|
"""),
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
clearCache: true,
|
clearCache: true,
|
||||||
useShouldInterceptAjaxRequest: true,
|
|
||||||
),
|
),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
|
@ -146,7 +145,6 @@ void interceptAjaxRequest() {
|
||||||
"""),
|
"""),
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
clearCache: true,
|
clearCache: true,
|
||||||
useShouldInterceptAjaxRequest: true,
|
|
||||||
),
|
),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
|
@ -236,7 +234,6 @@ void interceptAjaxRequest() {
|
||||||
"""),
|
"""),
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
clearCache: true,
|
clearCache: true,
|
||||||
useShouldInterceptAjaxRequest: true,
|
|
||||||
),
|
),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
|
@ -324,7 +321,6 @@ void interceptAjaxRequest() {
|
||||||
"""),
|
"""),
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
clearCache: true,
|
clearCache: true,
|
||||||
useShouldInterceptAjaxRequest: true,
|
|
||||||
),
|
),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
|
|
|
@ -65,7 +65,6 @@ void interceptFetchRequest() {
|
||||||
"""),
|
"""),
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
clearCache: true,
|
clearCache: true,
|
||||||
useShouldInterceptFetchRequest: true,
|
|
||||||
),
|
),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
|
@ -148,7 +147,6 @@ void interceptFetchRequest() {
|
||||||
"""),
|
"""),
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
clearCache: true,
|
clearCache: true,
|
||||||
useShouldInterceptFetchRequest: true,
|
|
||||||
),
|
),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
|
@ -231,7 +229,6 @@ void interceptFetchRequest() {
|
||||||
"""),
|
"""),
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
clearCache: true,
|
clearCache: true,
|
||||||
useShouldInterceptFetchRequest: true,
|
|
||||||
),
|
),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
|
@ -310,7 +307,6 @@ void interceptFetchRequest() {
|
||||||
"""),
|
"""),
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
clearCache: true,
|
clearCache: true,
|
||||||
useShouldInterceptFetchRequest: true,
|
|
||||||
),
|
),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
|
|
|
@ -46,7 +46,7 @@ void onDownloadStartRequest() {
|
||||||
</html>
|
</html>
|
||||||
"""),
|
"""),
|
||||||
initialSettings:
|
initialSettings:
|
||||||
InAppWebViewSettings(clearCache: true, useOnDownloadStart: true),
|
InAppWebViewSettings(clearCache: true),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
},
|
},
|
||||||
|
|
|
@ -33,7 +33,7 @@ void onLoadResource() {
|
||||||
initialFile:
|
initialFile:
|
||||||
"test_assets/in_app_webview_on_load_resource_test.html",
|
"test_assets/in_app_webview_on_load_resource_test.html",
|
||||||
initialSettings:
|
initialSettings:
|
||||||
InAppWebViewSettings(clearCache: true, useOnLoadResource: true),
|
InAppWebViewSettings(clearCache: true),
|
||||||
onLoadStop: (controller, url) {
|
onLoadStop: (controller, url) {
|
||||||
pageLoaded.complete();
|
pageLoaded.complete();
|
||||||
},
|
},
|
||||||
|
|
|
@ -30,7 +30,7 @@ void onNavigationResponse() {
|
||||||
key: GlobalKey(),
|
key: GlobalKey(),
|
||||||
initialUrlRequest: URLRequest(url: TEST_URL_1),
|
initialUrlRequest: URLRequest(url: TEST_URL_1),
|
||||||
initialSettings:
|
initialSettings:
|
||||||
InAppWebViewSettings(useOnNavigationResponse: true),
|
InAppWebViewSettings(),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
},
|
},
|
||||||
|
@ -65,7 +65,7 @@ void onNavigationResponse() {
|
||||||
key: GlobalKey(),
|
key: GlobalKey(),
|
||||||
initialUrlRequest: URLRequest(url: TEST_URL_1),
|
initialUrlRequest: URLRequest(url: TEST_URL_1),
|
||||||
initialSettings:
|
initialSettings:
|
||||||
InAppWebViewSettings(useOnNavigationResponse: true),
|
InAppWebViewSettings(),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
},
|
},
|
||||||
|
|
|
@ -46,7 +46,7 @@ void shouldInterceptRequest() {
|
||||||
</html>
|
</html>
|
||||||
"""),
|
"""),
|
||||||
initialSettings:
|
initialSettings:
|
||||||
InAppWebViewSettings(useShouldInterceptRequest: true),
|
InAppWebViewSettings(),
|
||||||
onWebViewCreated: (controller) {
|
onWebViewCreated: (controller) {
|
||||||
controllerCompleter.complete(controller);
|
controllerCompleter.complete(controller);
|
||||||
},
|
},
|
||||||
|
|
|
@ -39,7 +39,6 @@ void shouldOverrideUrlLoading() {
|
||||||
},
|
},
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
javaScriptEnabled: true,
|
javaScriptEnabled: true,
|
||||||
useShouldOverrideUrlLoading: true,
|
|
||||||
),
|
),
|
||||||
shouldOverrideUrlLoading: (controller, navigationAction) async {
|
shouldOverrideUrlLoading: (controller, navigationAction) async {
|
||||||
return (navigationAction.request.url!.host
|
return (navigationAction.request.url!.host
|
||||||
|
@ -92,7 +91,6 @@ void shouldOverrideUrlLoading() {
|
||||||
},
|
},
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
javaScriptEnabled: true,
|
javaScriptEnabled: true,
|
||||||
useShouldOverrideUrlLoading: true,
|
|
||||||
),
|
),
|
||||||
shouldOverrideUrlLoading: (controller, navigationAction) async {
|
shouldOverrideUrlLoading: (controller, navigationAction) async {
|
||||||
var isFirstLoad = navigationAction.request.url!.scheme == "data";
|
var isFirstLoad = navigationAction.request.url!.scheme == "data";
|
||||||
|
@ -151,7 +149,6 @@ void shouldOverrideUrlLoading() {
|
||||||
},
|
},
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
javaScriptEnabled: true,
|
javaScriptEnabled: true,
|
||||||
useShouldOverrideUrlLoading: true,
|
|
||||||
),
|
),
|
||||||
shouldOverrideUrlLoading: (controller, navigationAction) async {
|
shouldOverrideUrlLoading: (controller, navigationAction) async {
|
||||||
return (navigationAction.request.url!.host
|
return (navigationAction.request.url!.host
|
||||||
|
@ -203,7 +200,6 @@ void shouldOverrideUrlLoading() {
|
||||||
},
|
},
|
||||||
initialSettings: InAppWebViewSettings(
|
initialSettings: InAppWebViewSettings(
|
||||||
javaScriptEnabled: true,
|
javaScriptEnabled: true,
|
||||||
useShouldOverrideUrlLoading: true,
|
|
||||||
),
|
),
|
||||||
shouldOverrideUrlLoading: (controller, navigationAction) async {
|
shouldOverrideUrlLoading: (controller, navigationAction) async {
|
||||||
var action = NavigationActionPolicy.CANCEL;
|
var action = NavigationActionPolicy.CANCEL;
|
||||||
|
|
|
@ -17,7 +17,6 @@ class _InAppWebViewExampleScreenState extends State<InAppWebViewExampleScreen> {
|
||||||
|
|
||||||
InAppWebViewController? webViewController;
|
InAppWebViewController? webViewController;
|
||||||
InAppWebViewSettings settings = InAppWebViewSettings(
|
InAppWebViewSettings settings = InAppWebViewSettings(
|
||||||
useShouldOverrideUrlLoading: true,
|
|
||||||
mediaPlaybackRequiresUserGesture: false,
|
mediaPlaybackRequiresUserGesture: false,
|
||||||
allowsInlineMediaPlayback: true,
|
allowsInlineMediaPlayback: true,
|
||||||
iframeAllow: "camera; microphone",
|
iframeAllow: "camera; microphone",
|
||||||
|
|
|
@ -214,7 +214,12 @@ class HeadlessInAppWebView implements WebView, Disposable {
|
||||||
}
|
}
|
||||||
_started = true;
|
_started = true;
|
||||||
|
|
||||||
Map<String, dynamic> initialSettings = this.initialSettings?.toMap() ??
|
final initialSettings = this.initialSettings;
|
||||||
|
if (initialSettings != null) {
|
||||||
|
_inferInitialSettings(initialSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> settingsMap = initialSettings?.toMap() ??
|
||||||
// ignore: deprecated_member_use_from_same_package
|
// ignore: deprecated_member_use_from_same_package
|
||||||
this.initialOptions?.toMap() ??
|
this.initialOptions?.toMap() ??
|
||||||
{};
|
{};
|
||||||
|
@ -233,7 +238,7 @@ class HeadlessInAppWebView implements WebView, Disposable {
|
||||||
'initialUrlRequest': this.initialUrlRequest?.toMap(),
|
'initialUrlRequest': this.initialUrlRequest?.toMap(),
|
||||||
'initialFile': this.initialFile,
|
'initialFile': this.initialFile,
|
||||||
'initialData': this.initialData?.toMap(),
|
'initialData': this.initialData?.toMap(),
|
||||||
'initialSettings': initialSettings,
|
'initialSettings': settingsMap,
|
||||||
'contextMenu': this.contextMenu?.toMap() ?? {},
|
'contextMenu': this.contextMenu?.toMap() ?? {},
|
||||||
'windowId': this.windowId,
|
'windowId': this.windowId,
|
||||||
'implementation': this.implementation.toNativeValue(),
|
'implementation': this.implementation.toNativeValue(),
|
||||||
|
@ -246,6 +251,40 @@ class HeadlessInAppWebView implements WebView, Disposable {
|
||||||
_running = true;
|
_running = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _inferInitialSettings(InAppWebViewSettings settings) {
|
||||||
|
if (this.shouldOverrideUrlLoading != null &&
|
||||||
|
settings.useShouldOverrideUrlLoading == null) {
|
||||||
|
settings.useShouldOverrideUrlLoading = true;
|
||||||
|
}
|
||||||
|
if (this.onLoadResource != null && settings.useOnLoadResource == null) {
|
||||||
|
settings.useOnLoadResource = true;
|
||||||
|
}
|
||||||
|
if (this.onDownloadStartRequest != null &&
|
||||||
|
settings.useOnDownloadStart == null) {
|
||||||
|
settings.useOnDownloadStart = true;
|
||||||
|
}
|
||||||
|
if (this.shouldInterceptAjaxRequest != null &&
|
||||||
|
settings.useShouldInterceptAjaxRequest == null) {
|
||||||
|
settings.useShouldInterceptAjaxRequest = true;
|
||||||
|
}
|
||||||
|
if (this.shouldInterceptFetchRequest != null &&
|
||||||
|
settings.useShouldInterceptFetchRequest == null) {
|
||||||
|
settings.useShouldInterceptFetchRequest = true;
|
||||||
|
}
|
||||||
|
if (this.shouldInterceptRequest != null &&
|
||||||
|
settings.useShouldInterceptRequest == null) {
|
||||||
|
settings.useShouldInterceptRequest = true;
|
||||||
|
}
|
||||||
|
if (this.onRenderProcessGone != null &&
|
||||||
|
settings.useOnRenderProcessGone == null) {
|
||||||
|
settings.useOnRenderProcessGone = true;
|
||||||
|
}
|
||||||
|
if (this.onNavigationResponse != null &&
|
||||||
|
settings.useOnNavigationResponse == null) {
|
||||||
|
settings.useOnNavigationResponse = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
///Disposes the headless WebView.
|
///Disposes the headless WebView.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
|
|
|
@ -624,7 +624,12 @@ class _InAppWebViewState extends State<InAppWebView> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
Map<String, dynamic> initialSettings = widget.initialSettings?.toMap() ??
|
final initialSettings = widget.initialSettings;
|
||||||
|
if (initialSettings != null) {
|
||||||
|
_inferInitialSettings(initialSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> settingsMap = initialSettings?.toMap() ??
|
||||||
// ignore: deprecated_member_use_from_same_package
|
// ignore: deprecated_member_use_from_same_package
|
||||||
widget.initialOptions?.toMap() ??
|
widget.initialOptions?.toMap() ??
|
||||||
{};
|
{};
|
||||||
|
@ -692,7 +697,7 @@ class _InAppWebViewState extends State<InAppWebView> {
|
||||||
'initialUrlRequest': widget.initialUrlRequest?.toMap(),
|
'initialUrlRequest': widget.initialUrlRequest?.toMap(),
|
||||||
'initialFile': widget.initialFile,
|
'initialFile': widget.initialFile,
|
||||||
'initialData': widget.initialData?.toMap(),
|
'initialData': widget.initialData?.toMap(),
|
||||||
'initialSettings': initialSettings,
|
'initialSettings': settingsMap,
|
||||||
'contextMenu': widget.contextMenu?.toMap() ?? {},
|
'contextMenu': widget.contextMenu?.toMap() ?? {},
|
||||||
'windowId': widget.windowId,
|
'windowId': widget.windowId,
|
||||||
'headlessWebViewId': widget.headlessWebView?.isRunning() ?? false
|
'headlessWebViewId': widget.headlessWebView?.isRunning() ?? false
|
||||||
|
@ -722,7 +727,7 @@ class _InAppWebViewState extends State<InAppWebView> {
|
||||||
'initialUrlRequest': widget.initialUrlRequest?.toMap(),
|
'initialUrlRequest': widget.initialUrlRequest?.toMap(),
|
||||||
'initialFile': widget.initialFile,
|
'initialFile': widget.initialFile,
|
||||||
'initialData': widget.initialData?.toMap(),
|
'initialData': widget.initialData?.toMap(),
|
||||||
'initialSettings': initialSettings,
|
'initialSettings': settingsMap,
|
||||||
'contextMenu': widget.contextMenu?.toMap() ?? {},
|
'contextMenu': widget.contextMenu?.toMap() ?? {},
|
||||||
'windowId': widget.windowId,
|
'windowId': widget.windowId,
|
||||||
'headlessWebViewId': widget.headlessWebView?.isRunning() ?? false
|
'headlessWebViewId': widget.headlessWebView?.isRunning() ?? false
|
||||||
|
@ -801,4 +806,38 @@ class _InAppWebViewState extends State<InAppWebView> {
|
||||||
widget.onWebViewCreated!(_controller!);
|
widget.onWebViewCreated!(_controller!);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _inferInitialSettings(InAppWebViewSettings settings) {
|
||||||
|
if (widget.shouldOverrideUrlLoading != null &&
|
||||||
|
settings.useShouldOverrideUrlLoading == null) {
|
||||||
|
settings.useShouldOverrideUrlLoading = true;
|
||||||
|
}
|
||||||
|
if (widget.onLoadResource != null && settings.useOnLoadResource == null) {
|
||||||
|
settings.useOnLoadResource = true;
|
||||||
|
}
|
||||||
|
if (widget.onDownloadStartRequest != null &&
|
||||||
|
settings.useOnDownloadStart == null) {
|
||||||
|
settings.useOnDownloadStart = true;
|
||||||
|
}
|
||||||
|
if (widget.shouldInterceptAjaxRequest != null &&
|
||||||
|
settings.useShouldInterceptAjaxRequest == null) {
|
||||||
|
settings.useShouldInterceptAjaxRequest = true;
|
||||||
|
}
|
||||||
|
if (widget.shouldInterceptFetchRequest != null &&
|
||||||
|
settings.useShouldInterceptFetchRequest == null) {
|
||||||
|
settings.useShouldInterceptFetchRequest = true;
|
||||||
|
}
|
||||||
|
if (widget.shouldInterceptRequest != null &&
|
||||||
|
settings.useShouldInterceptRequest == null) {
|
||||||
|
settings.useShouldInterceptRequest = true;
|
||||||
|
}
|
||||||
|
if (widget.onRenderProcessGone != null &&
|
||||||
|
settings.useOnRenderProcessGone == null) {
|
||||||
|
settings.useOnRenderProcessGone = true;
|
||||||
|
}
|
||||||
|
if (widget.onNavigationResponse != null &&
|
||||||
|
settings.useOnNavigationResponse == null) {
|
||||||
|
settings.useOnNavigationResponse = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ import 'webview.dart';
|
||||||
import '../android/webview_feature.dart';
|
import '../android/webview_feature.dart';
|
||||||
import '../in_app_webview/in_app_webview_controller.dart';
|
import '../in_app_webview/in_app_webview_controller.dart';
|
||||||
import '../context_menu.dart';
|
import '../context_menu.dart';
|
||||||
|
import '../in_app_browser/in_app_browser.dart';
|
||||||
|
|
||||||
part 'in_app_webview_settings.g.dart';
|
part 'in_app_webview_settings.g.dart';
|
||||||
|
|
||||||
|
@ -51,7 +52,11 @@ List<ContentBlocker> _deserializeContentBlockers(
|
||||||
///This class represents all the WebView settings available.
|
///This class represents all the WebView settings available.
|
||||||
@ExchangeableObject(copyMethod: true)
|
@ExchangeableObject(copyMethod: true)
|
||||||
class InAppWebViewSettings_ {
|
class InAppWebViewSettings_ {
|
||||||
///Set to `true` to be able to listen at the [WebView.shouldOverrideUrlLoading] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.shouldOverrideUrlLoading] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.shouldOverrideUrlLoading] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -59,7 +64,11 @@ class InAppWebViewSettings_ {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool? useShouldOverrideUrlLoading;
|
bool? useShouldOverrideUrlLoading;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.onLoadResource] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.onLoadResource] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.onLoadResource] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -67,7 +76,11 @@ class InAppWebViewSettings_ {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool? useOnLoadResource;
|
bool? useOnLoadResource;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.onDownloadStartRequest] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.onDownloadStartRequest] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.onDownloadStartRequest] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -202,7 +215,11 @@ class InAppWebViewSettings_ {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
UserPreferredContentMode_? preferredContentMode;
|
UserPreferredContentMode_? preferredContentMode;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.shouldInterceptAjaxRequest] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.shouldInterceptAjaxRequest] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.shouldInterceptAjaxRequest] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -210,7 +227,11 @@ class InAppWebViewSettings_ {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool? useShouldInterceptAjaxRequest;
|
bool? useShouldInterceptAjaxRequest;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.shouldInterceptFetchRequest] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.shouldInterceptFetchRequest] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.shouldInterceptFetchRequest] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -630,13 +651,21 @@ class InAppWebViewSettings_ {
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
bool? useHybridComposition;
|
bool? useHybridComposition;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.shouldInterceptRequest] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.shouldInterceptRequest] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.shouldInterceptRequest] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
bool? useShouldInterceptRequest;
|
bool? useShouldInterceptRequest;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.onRenderProcessGone] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.onRenderProcessGone] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.onRenderProcessGone] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -1034,7 +1063,11 @@ class InAppWebViewSettings_ {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool? limitsNavigationsToAppBoundDomains;
|
bool? limitsNavigationsToAppBoundDomains;
|
||||||
|
|
||||||
///Set to `true` to be able to listen to the [WebView.onNavigationResponse] event. The default value is `false`.
|
///Set to `true` to be able to listen to the [WebView.onNavigationResponse] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.onNavigationResponse] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
|
@ -1274,9 +1307,9 @@ class InAppWebViewSettings_ {
|
||||||
|
|
||||||
@ExchangeableObjectConstructor()
|
@ExchangeableObjectConstructor()
|
||||||
InAppWebViewSettings_({
|
InAppWebViewSettings_({
|
||||||
this.useShouldOverrideUrlLoading = false,
|
this.useShouldOverrideUrlLoading,
|
||||||
this.useOnLoadResource = false,
|
this.useOnLoadResource,
|
||||||
this.useOnDownloadStart = false,
|
this.useOnDownloadStart,
|
||||||
this.clearCache = false,
|
this.clearCache = false,
|
||||||
this.userAgent = "",
|
this.userAgent = "",
|
||||||
this.applicationNameForUserAgent = "",
|
this.applicationNameForUserAgent = "",
|
||||||
|
@ -1289,8 +1322,8 @@ class InAppWebViewSettings_ {
|
||||||
this.resourceCustomSchemes = const [],
|
this.resourceCustomSchemes = const [],
|
||||||
this.contentBlockers = const [],
|
this.contentBlockers = const [],
|
||||||
this.preferredContentMode = UserPreferredContentMode_.RECOMMENDED,
|
this.preferredContentMode = UserPreferredContentMode_.RECOMMENDED,
|
||||||
this.useShouldInterceptAjaxRequest = false,
|
this.useShouldInterceptAjaxRequest,
|
||||||
this.useShouldInterceptFetchRequest = false,
|
this.useShouldInterceptFetchRequest,
|
||||||
this.incognito = false,
|
this.incognito = false,
|
||||||
this.cacheEnabled = true,
|
this.cacheEnabled = true,
|
||||||
this.transparentBackground = false,
|
this.transparentBackground = false,
|
||||||
|
@ -1342,8 +1375,8 @@ class InAppWebViewSettings_ {
|
||||||
this.supportMultipleWindows = false,
|
this.supportMultipleWindows = false,
|
||||||
this.regexToCancelSubFramesLoading,
|
this.regexToCancelSubFramesLoading,
|
||||||
this.useHybridComposition = true,
|
this.useHybridComposition = true,
|
||||||
this.useShouldInterceptRequest = false,
|
this.useShouldInterceptRequest,
|
||||||
this.useOnRenderProcessGone = false,
|
this.useOnRenderProcessGone,
|
||||||
this.overScrollMode = OverScrollMode_.IF_CONTENT_SCROLLS,
|
this.overScrollMode = OverScrollMode_.IF_CONTENT_SCROLLS,
|
||||||
this.networkAvailable,
|
this.networkAvailable,
|
||||||
this.scrollBarStyle = ScrollBarStyle_.SCROLLBARS_INSIDE_OVERLAY,
|
this.scrollBarStyle = ScrollBarStyle_.SCROLLBARS_INSIDE_OVERLAY,
|
||||||
|
@ -1390,7 +1423,7 @@ class InAppWebViewSettings_ {
|
||||||
this.mediaType,
|
this.mediaType,
|
||||||
this.pageZoom = 1.0,
|
this.pageZoom = 1.0,
|
||||||
this.limitsNavigationsToAppBoundDomains = false,
|
this.limitsNavigationsToAppBoundDomains = false,
|
||||||
this.useOnNavigationResponse = false,
|
this.useOnNavigationResponse,
|
||||||
this.applePayAPIEnabled = false,
|
this.applePayAPIEnabled = false,
|
||||||
this.allowingReadAccessTo,
|
this.allowingReadAccessTo,
|
||||||
this.disableLongPressContextMenuOnLinks = false,
|
this.disableLongPressContextMenuOnLinks = false,
|
||||||
|
|
|
@ -8,7 +8,11 @@ part of 'in_app_webview_settings.dart';
|
||||||
|
|
||||||
///This class represents all the WebView settings available.
|
///This class represents all the WebView settings available.
|
||||||
class InAppWebViewSettings {
|
class InAppWebViewSettings {
|
||||||
///Set to `true` to be able to listen at the [WebView.shouldOverrideUrlLoading] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.shouldOverrideUrlLoading] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.shouldOverrideUrlLoading] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -16,7 +20,11 @@ class InAppWebViewSettings {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool? useShouldOverrideUrlLoading;
|
bool? useShouldOverrideUrlLoading;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.onLoadResource] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.onLoadResource] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.onLoadResource] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -24,7 +32,11 @@ class InAppWebViewSettings {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool? useOnLoadResource;
|
bool? useOnLoadResource;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.onDownloadStartRequest] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.onDownloadStartRequest] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.onDownloadStartRequest] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -158,7 +170,11 @@ class InAppWebViewSettings {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
UserPreferredContentMode? preferredContentMode;
|
UserPreferredContentMode? preferredContentMode;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.shouldInterceptAjaxRequest] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.shouldInterceptAjaxRequest] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.shouldInterceptAjaxRequest] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -166,7 +182,11 @@ class InAppWebViewSettings {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool? useShouldInterceptAjaxRequest;
|
bool? useShouldInterceptAjaxRequest;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.shouldInterceptFetchRequest] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.shouldInterceptFetchRequest] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.shouldInterceptFetchRequest] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -586,13 +606,21 @@ class InAppWebViewSettings {
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
bool? useHybridComposition;
|
bool? useHybridComposition;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.shouldInterceptRequest] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.shouldInterceptRequest] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.shouldInterceptRequest] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
bool? useShouldInterceptRequest;
|
bool? useShouldInterceptRequest;
|
||||||
|
|
||||||
///Set to `true` to be able to listen at the [WebView.onRenderProcessGone] event. The default value is `false`.
|
///Set to `true` to be able to listen at the [WebView.onRenderProcessGone] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.onRenderProcessGone] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
|
@ -990,7 +1018,11 @@ class InAppWebViewSettings {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool? limitsNavigationsToAppBoundDomains;
|
bool? limitsNavigationsToAppBoundDomains;
|
||||||
|
|
||||||
///Set to `true` to be able to listen to the [WebView.onNavigationResponse] event. The default value is `false`.
|
///Set to `true` to be able to listen to the [WebView.onNavigationResponse] event.
|
||||||
|
///
|
||||||
|
///If the [WebView.onNavigationResponse] event is implemented and this value is `null`,
|
||||||
|
///it will be automatically inferred as `true`, otherwise, the default value is `false`.
|
||||||
|
///This logic will not be applied for [InAppBrowser], where you must set the value manually.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
|
@ -1228,9 +1260,9 @@ class InAppWebViewSettings {
|
||||||
///- Web
|
///- Web
|
||||||
String? iframeCsp;
|
String? iframeCsp;
|
||||||
InAppWebViewSettings(
|
InAppWebViewSettings(
|
||||||
{this.useShouldOverrideUrlLoading = false,
|
{this.useShouldOverrideUrlLoading,
|
||||||
this.useOnLoadResource = false,
|
this.useOnLoadResource,
|
||||||
this.useOnDownloadStart = false,
|
this.useOnDownloadStart,
|
||||||
this.clearCache = false,
|
this.clearCache = false,
|
||||||
this.userAgent = "",
|
this.userAgent = "",
|
||||||
this.applicationNameForUserAgent = "",
|
this.applicationNameForUserAgent = "",
|
||||||
|
@ -1243,8 +1275,8 @@ class InAppWebViewSettings {
|
||||||
this.resourceCustomSchemes = const [],
|
this.resourceCustomSchemes = const [],
|
||||||
this.contentBlockers = const [],
|
this.contentBlockers = const [],
|
||||||
this.preferredContentMode = UserPreferredContentMode.RECOMMENDED,
|
this.preferredContentMode = UserPreferredContentMode.RECOMMENDED,
|
||||||
this.useShouldInterceptAjaxRequest = false,
|
this.useShouldInterceptAjaxRequest,
|
||||||
this.useShouldInterceptFetchRequest = false,
|
this.useShouldInterceptFetchRequest,
|
||||||
this.incognito = false,
|
this.incognito = false,
|
||||||
this.cacheEnabled = true,
|
this.cacheEnabled = true,
|
||||||
this.transparentBackground = false,
|
this.transparentBackground = false,
|
||||||
|
@ -1296,8 +1328,8 @@ class InAppWebViewSettings {
|
||||||
this.supportMultipleWindows = false,
|
this.supportMultipleWindows = false,
|
||||||
this.regexToCancelSubFramesLoading,
|
this.regexToCancelSubFramesLoading,
|
||||||
this.useHybridComposition = true,
|
this.useHybridComposition = true,
|
||||||
this.useShouldInterceptRequest = false,
|
this.useShouldInterceptRequest,
|
||||||
this.useOnRenderProcessGone = false,
|
this.useOnRenderProcessGone,
|
||||||
this.overScrollMode = OverScrollMode.IF_CONTENT_SCROLLS,
|
this.overScrollMode = OverScrollMode.IF_CONTENT_SCROLLS,
|
||||||
this.networkAvailable,
|
this.networkAvailable,
|
||||||
this.scrollBarStyle = ScrollBarStyle.SCROLLBARS_INSIDE_OVERLAY,
|
this.scrollBarStyle = ScrollBarStyle.SCROLLBARS_INSIDE_OVERLAY,
|
||||||
|
@ -1344,7 +1376,7 @@ class InAppWebViewSettings {
|
||||||
this.mediaType,
|
this.mediaType,
|
||||||
this.pageZoom = 1.0,
|
this.pageZoom = 1.0,
|
||||||
this.limitsNavigationsToAppBoundDomains = false,
|
this.limitsNavigationsToAppBoundDomains = false,
|
||||||
this.useOnNavigationResponse = false,
|
this.useOnNavigationResponse,
|
||||||
this.applePayAPIEnabled = false,
|
this.applePayAPIEnabled = false,
|
||||||
this.allowingReadAccessTo,
|
this.allowingReadAccessTo,
|
||||||
this.disableLongPressContextMenuOnLinks = false,
|
this.disableLongPressContextMenuOnLinks = false,
|
||||||
|
@ -1393,7 +1425,12 @@ class InAppWebViewSettings {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final instance = InAppWebViewSettings(
|
final instance = InAppWebViewSettings(
|
||||||
|
useShouldOverrideUrlLoading: map['useShouldOverrideUrlLoading'],
|
||||||
|
useOnLoadResource: map['useOnLoadResource'],
|
||||||
|
useOnDownloadStart: map['useOnDownloadStart'],
|
||||||
minimumFontSize: map['minimumFontSize'],
|
minimumFontSize: map['minimumFontSize'],
|
||||||
|
useShouldInterceptAjaxRequest: map['useShouldInterceptAjaxRequest'],
|
||||||
|
useShouldInterceptFetchRequest: map['useShouldInterceptFetchRequest'],
|
||||||
webViewAssetLoader: WebViewAssetLoader.fromMap(
|
webViewAssetLoader: WebViewAssetLoader.fromMap(
|
||||||
map['webViewAssetLoader']?.cast<String, dynamic>()),
|
map['webViewAssetLoader']?.cast<String, dynamic>()),
|
||||||
mixedContentMode:
|
mixedContentMode:
|
||||||
|
@ -1403,6 +1440,8 @@ class InAppWebViewSettings {
|
||||||
map['disabledActionModeMenuItems']),
|
map['disabledActionModeMenuItems']),
|
||||||
layoutAlgorithm: LayoutAlgorithm.fromNativeValue(map['layoutAlgorithm']),
|
layoutAlgorithm: LayoutAlgorithm.fromNativeValue(map['layoutAlgorithm']),
|
||||||
regexToCancelSubFramesLoading: map['regexToCancelSubFramesLoading'],
|
regexToCancelSubFramesLoading: map['regexToCancelSubFramesLoading'],
|
||||||
|
useShouldInterceptRequest: map['useShouldInterceptRequest'],
|
||||||
|
useOnRenderProcessGone: map['useOnRenderProcessGone'],
|
||||||
networkAvailable: map['networkAvailable'],
|
networkAvailable: map['networkAvailable'],
|
||||||
scrollBarDefaultDelayBeforeFade: map['scrollBarDefaultDelayBeforeFade'],
|
scrollBarDefaultDelayBeforeFade: map['scrollBarDefaultDelayBeforeFade'],
|
||||||
scrollBarFadeDuration: map['scrollBarFadeDuration'],
|
scrollBarFadeDuration: map['scrollBarFadeDuration'],
|
||||||
|
@ -1430,6 +1469,7 @@ class InAppWebViewSettings {
|
||||||
map['requestedWithHeaderMode']),
|
map['requestedWithHeaderMode']),
|
||||||
defaultVideoPoster: map['defaultVideoPoster'],
|
defaultVideoPoster: map['defaultVideoPoster'],
|
||||||
mediaType: map['mediaType'],
|
mediaType: map['mediaType'],
|
||||||
|
useOnNavigationResponse: map['useOnNavigationResponse'],
|
||||||
allowingReadAccessTo: map['allowingReadAccessTo'] != null
|
allowingReadAccessTo: map['allowingReadAccessTo'] != null
|
||||||
? WebUri(map['allowingReadAccessTo'])
|
? WebUri(map['allowingReadAccessTo'])
|
||||||
: null,
|
: null,
|
||||||
|
@ -1451,9 +1491,6 @@ class InAppWebViewSettings {
|
||||||
iframeName: map['iframeName'],
|
iframeName: map['iframeName'],
|
||||||
iframeCsp: map['iframeCsp'],
|
iframeCsp: map['iframeCsp'],
|
||||||
);
|
);
|
||||||
instance.useShouldOverrideUrlLoading = map['useShouldOverrideUrlLoading'];
|
|
||||||
instance.useOnLoadResource = map['useOnLoadResource'];
|
|
||||||
instance.useOnDownloadStart = map['useOnDownloadStart'];
|
|
||||||
instance.clearCache = map['clearCache'];
|
instance.clearCache = map['clearCache'];
|
||||||
instance.userAgent = map['userAgent'];
|
instance.userAgent = map['userAgent'];
|
||||||
instance.applicationNameForUserAgent = map['applicationNameForUserAgent'];
|
instance.applicationNameForUserAgent = map['applicationNameForUserAgent'];
|
||||||
|
@ -1470,10 +1507,6 @@ class InAppWebViewSettings {
|
||||||
_deserializeContentBlockers(map['contentBlockers']);
|
_deserializeContentBlockers(map['contentBlockers']);
|
||||||
instance.preferredContentMode =
|
instance.preferredContentMode =
|
||||||
UserPreferredContentMode.fromNativeValue(map['preferredContentMode']);
|
UserPreferredContentMode.fromNativeValue(map['preferredContentMode']);
|
||||||
instance.useShouldInterceptAjaxRequest =
|
|
||||||
map['useShouldInterceptAjaxRequest'];
|
|
||||||
instance.useShouldInterceptFetchRequest =
|
|
||||||
map['useShouldInterceptFetchRequest'];
|
|
||||||
instance.incognito = map['incognito'];
|
instance.incognito = map['incognito'];
|
||||||
instance.cacheEnabled = map['cacheEnabled'];
|
instance.cacheEnabled = map['cacheEnabled'];
|
||||||
instance.transparentBackground = map['transparentBackground'];
|
instance.transparentBackground = map['transparentBackground'];
|
||||||
|
@ -1522,8 +1555,6 @@ class InAppWebViewSettings {
|
||||||
instance.hardwareAcceleration = map['hardwareAcceleration'];
|
instance.hardwareAcceleration = map['hardwareAcceleration'];
|
||||||
instance.supportMultipleWindows = map['supportMultipleWindows'];
|
instance.supportMultipleWindows = map['supportMultipleWindows'];
|
||||||
instance.useHybridComposition = map['useHybridComposition'];
|
instance.useHybridComposition = map['useHybridComposition'];
|
||||||
instance.useShouldInterceptRequest = map['useShouldInterceptRequest'];
|
|
||||||
instance.useOnRenderProcessGone = map['useOnRenderProcessGone'];
|
|
||||||
instance.overScrollMode =
|
instance.overScrollMode =
|
||||||
OverScrollMode.fromNativeValue(map['overScrollMode']);
|
OverScrollMode.fromNativeValue(map['overScrollMode']);
|
||||||
instance.scrollBarStyle =
|
instance.scrollBarStyle =
|
||||||
|
@ -1577,7 +1608,6 @@ class InAppWebViewSettings {
|
||||||
instance.pageZoom = map['pageZoom'];
|
instance.pageZoom = map['pageZoom'];
|
||||||
instance.limitsNavigationsToAppBoundDomains =
|
instance.limitsNavigationsToAppBoundDomains =
|
||||||
map['limitsNavigationsToAppBoundDomains'];
|
map['limitsNavigationsToAppBoundDomains'];
|
||||||
instance.useOnNavigationResponse = map['useOnNavigationResponse'];
|
|
||||||
instance.applePayAPIEnabled = map['applePayAPIEnabled'];
|
instance.applePayAPIEnabled = map['applePayAPIEnabled'];
|
||||||
instance.disableLongPressContextMenuOnLinks =
|
instance.disableLongPressContextMenuOnLinks =
|
||||||
map['disableLongPressContextMenuOnLinks'];
|
map['disableLongPressContextMenuOnLinks'];
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
export 'print_job_controller.dart';
|
export 'print_job_controller.dart';
|
||||||
export 'print_job_settings.dart';
|
export 'print_job_settings.dart' show PrintJobSettings;
|
||||||
|
|
|
@ -1,12 +1,26 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter_inappwebview_internal_annotations/flutter_inappwebview_internal_annotations.dart';
|
||||||
|
|
||||||
import '../types/main.dart';
|
import '../types/main.dart';
|
||||||
|
import '../types/print_job_color_mode.dart';
|
||||||
|
import '../types/print_job_disposition.dart';
|
||||||
|
import '../types/print_job_duplex_mode.dart';
|
||||||
|
import '../types/print_job_media_size.dart';
|
||||||
|
import '../types/print_job_orientation.dart';
|
||||||
|
import '../types/print_job_output_type.dart';
|
||||||
|
import '../types/print_job_page_order.dart';
|
||||||
|
import '../types/print_job_pagination_mode.dart';
|
||||||
|
import '../types/print_job_rendering_quality.dart';
|
||||||
|
import '../types/print_job_resolution.dart';
|
||||||
import '../util.dart';
|
import '../util.dart';
|
||||||
import '../web_uri.dart';
|
import '../web_uri.dart';
|
||||||
import 'print_job_controller.dart';
|
import 'print_job_controller.dart';
|
||||||
|
|
||||||
|
part 'print_job_settings.g.dart';
|
||||||
|
|
||||||
///Class that represents the settings of a [PrintJobController].
|
///Class that represents the settings of a [PrintJobController].
|
||||||
class PrintJobSettings {
|
@ExchangeableObject(copyMethod: true)
|
||||||
|
class PrintJobSettings_ {
|
||||||
///Set this to `true` to handle the [PrintJobController].
|
///Set this to `true` to handle the [PrintJobController].
|
||||||
///Otherwise, it will be handled and disposed automatically by the system.
|
///Otherwise, it will be handled and disposed automatically by the system.
|
||||||
///The default value is `false`.
|
///The default value is `false`.
|
||||||
|
@ -15,7 +29,7 @@ class PrintJobSettings {
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
///- iOS
|
///- iOS
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool handledByClient;
|
bool? handledByClient;
|
||||||
|
|
||||||
///The name of the print job.
|
///The name of the print job.
|
||||||
///An application should set this property to a name appropriate to the content being printed.
|
///An application should set this property to a name appropriate to the content being printed.
|
||||||
|
@ -31,7 +45,7 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
bool animated;
|
bool? animated;
|
||||||
|
|
||||||
///The orientation of the printed content, portrait or landscape.
|
///The orientation of the printed content, portrait or landscape.
|
||||||
///
|
///
|
||||||
|
@ -39,7 +53,7 @@ class PrintJobSettings {
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
///- iOS
|
///- iOS
|
||||||
///- MacOS
|
///- MacOS
|
||||||
PrintJobOrientation? orientation;
|
PrintJobOrientation_? orientation;
|
||||||
|
|
||||||
///The number of pages to render.
|
///The number of pages to render.
|
||||||
///
|
///
|
||||||
|
@ -54,7 +68,7 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
PrintJobRenderingQuality? forceRenderingQuality;
|
PrintJobRenderingQuality_? forceRenderingQuality;
|
||||||
|
|
||||||
///The margins for each printed page.
|
///The margins for each printed page.
|
||||||
///Margins define the white space around the content where the left margin defines
|
///Margins define the white space around the content where the left margin defines
|
||||||
|
@ -69,14 +83,14 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
PrintJobMediaSize? mediaSize;
|
PrintJobMediaSize_? mediaSize;
|
||||||
|
|
||||||
///The color mode.
|
///The color mode.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
///- MacOS
|
///- MacOS
|
||||||
PrintJobColorMode? colorMode;
|
PrintJobColorMode_? colorMode;
|
||||||
|
|
||||||
///The duplex mode to use for the print job.
|
///The duplex mode to use for the print job.
|
||||||
///
|
///
|
||||||
|
@ -85,19 +99,19 @@ class PrintJobSettings {
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
///- iOS
|
///- iOS
|
||||||
PrintJobDuplexMode? duplexMode;
|
PrintJobDuplexMode_? duplexMode;
|
||||||
|
|
||||||
///The kind of printable content.
|
///The kind of printable content.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
PrintJobOutputType? outputType;
|
PrintJobOutputType_? outputType;
|
||||||
|
|
||||||
///The supported resolution in DPI (dots per inch).
|
///The supported resolution in DPI (dots per inch).
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- Android native WebView
|
///- Android native WebView
|
||||||
PrintJobResolution? resolution;
|
PrintJobResolution_? resolution;
|
||||||
|
|
||||||
///A Boolean value that determines whether the printing options include the number of copies.
|
///A Boolean value that determines whether the printing options include the number of copies.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
|
@ -105,7 +119,7 @@ class PrintJobSettings {
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsNumberOfCopies;
|
bool? showsNumberOfCopies;
|
||||||
|
|
||||||
///A Boolean value that determines whether the paper selection menu displays.
|
///A Boolean value that determines whether the paper selection menu displays.
|
||||||
///The default value of this property is `false`.
|
///The default value of this property is `false`.
|
||||||
|
@ -114,7 +128,7 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
bool showsPaperSelectionForLoadedPapers;
|
bool? showsPaperSelectionForLoadedPapers;
|
||||||
|
|
||||||
///A Boolean value that determines whether the printing options include the paper orientation control when available.
|
///A Boolean value that determines whether the printing options include the paper orientation control when available.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
|
@ -124,49 +138,49 @@ class PrintJobSettings {
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsPaperOrientation;
|
bool? showsPaperOrientation;
|
||||||
|
|
||||||
///A Boolean value that determines whether the print panel includes a control for manipulating the paper size of the printer.
|
///A Boolean value that determines whether the print panel includes a control for manipulating the paper size of the printer.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsPaperSize;
|
bool? showsPaperSize;
|
||||||
|
|
||||||
///A Boolean value that determines whether the Print panel includes a control for scaling the printed output.
|
///A Boolean value that determines whether the Print panel includes a control for scaling the printed output.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsScaling;
|
bool? showsScaling;
|
||||||
|
|
||||||
///A Boolean value that determines whether the Print panel includes a set of fields for manipulating the range of pages being printed.
|
///A Boolean value that determines whether the Print panel includes a set of fields for manipulating the range of pages being printed.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsPageRange;
|
bool? showsPageRange;
|
||||||
|
|
||||||
///A Boolean value that determines whether the Print panel includes a separate accessory view for manipulating the paper size, orientation, and scaling attributes.
|
///A Boolean value that determines whether the Print panel includes a separate accessory view for manipulating the paper size, orientation, and scaling attributes.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsPageSetupAccessory;
|
bool? showsPageSetupAccessory;
|
||||||
|
|
||||||
///A Boolean value that determines whether the Print panel displays a built-in preview of the document contents.
|
///A Boolean value that determines whether the Print panel displays a built-in preview of the document contents.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsPreview;
|
bool? showsPreview;
|
||||||
|
|
||||||
///A Boolean value that determines whether the Print panel includes an additional selection option for paper range.
|
///A Boolean value that determines whether the Print panel includes an additional selection option for paper range.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsPrintSelection;
|
bool? showsPrintSelection;
|
||||||
|
|
||||||
///A Boolean value that determines whether the print operation displays a print panel.
|
///A Boolean value that determines whether the print operation displays a print panel.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
|
@ -177,7 +191,7 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsPrintPanel;
|
bool? showsPrintPanel;
|
||||||
|
|
||||||
///A Boolean value that determines whether the print operation displays a progress panel.
|
///A Boolean value that determines whether the print operation displays a progress panel.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
|
@ -188,7 +202,7 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool showsProgressPanel;
|
bool? showsProgressPanel;
|
||||||
|
|
||||||
///The height of the page footer.
|
///The height of the page footer.
|
||||||
///
|
///
|
||||||
|
@ -239,7 +253,7 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
PrintJobDisposition? jobDisposition;
|
PrintJobDisposition_? jobDisposition;
|
||||||
|
|
||||||
///An URL containing the location to which the job file will be saved when the [jobDisposition] is [PrintJobDisposition.SAVE].
|
///An URL containing the location to which the job file will be saved when the [jobDisposition] is [PrintJobDisposition.SAVE].
|
||||||
///
|
///
|
||||||
|
@ -257,47 +271,47 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
PrintJobPaginationMode? horizontalPagination;
|
PrintJobPaginationMode_? horizontalPagination;
|
||||||
|
|
||||||
///The vertical pagination to the specified mode.
|
///The vertical pagination to the specified mode.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
PrintJobPaginationMode? verticalPagination;
|
PrintJobPaginationMode_? verticalPagination;
|
||||||
|
|
||||||
///Indicates whether the image is centered horizontally.
|
///Indicates whether the image is centered horizontally.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool isHorizontallyCentered;
|
bool? isHorizontallyCentered;
|
||||||
|
|
||||||
///Indicates whether the image is centered vertically.
|
///Indicates whether the image is centered vertically.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool isVerticallyCentered;
|
bool? isVerticallyCentered;
|
||||||
|
|
||||||
///The print order for the pages of the operation.
|
///The print order for the pages of the operation.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
PrintJobPageOrder? pageOrder;
|
PrintJobPageOrder_? pageOrder;
|
||||||
|
|
||||||
///Whether the print operation should spawn a separate thread in which to run itself.
|
///Whether the print operation should spawn a separate thread in which to run itself.
|
||||||
///The default value is `true`.
|
///The default value is `true`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool canSpawnSeparateThread;
|
bool? canSpawnSeparateThread;
|
||||||
|
|
||||||
///How many copies to print.
|
///How many copies to print.
|
||||||
///The default value is `1`.
|
///The default value is `1`.
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
int copies;
|
int? copies;
|
||||||
|
|
||||||
///An integer value that specifies the first page in the print job.
|
///An integer value that specifies the first page in the print job.
|
||||||
///
|
///
|
||||||
|
@ -316,7 +330,7 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool detailedErrorReporting;
|
bool? detailedErrorReporting;
|
||||||
|
|
||||||
///A fax number.
|
///A fax number.
|
||||||
///
|
///
|
||||||
|
@ -329,7 +343,7 @@ class PrintJobSettings {
|
||||||
///
|
///
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool headerAndFooter;
|
bool? headerAndFooter;
|
||||||
|
|
||||||
///If `true`, collates output.
|
///If `true`, collates output.
|
||||||
///
|
///
|
||||||
|
@ -355,7 +369,7 @@ class PrintJobSettings {
|
||||||
///- MacOS
|
///- MacOS
|
||||||
int? time;
|
int? time;
|
||||||
|
|
||||||
PrintJobSettings(
|
PrintJobSettings_(
|
||||||
{this.handledByClient = false,
|
{this.handledByClient = false,
|
||||||
this.jobName,
|
this.jobName,
|
||||||
this.animated = true,
|
this.animated = true,
|
||||||
|
@ -403,128 +417,4 @@ class PrintJobSettings {
|
||||||
this.pagesAcross,
|
this.pagesAcross,
|
||||||
this.pagesDown,
|
this.pagesDown,
|
||||||
this.time});
|
this.time});
|
||||||
|
|
||||||
///Gets a [PrintJobSettings] instance from a [Map] value.
|
|
||||||
factory PrintJobSettings.fromMap(Map<String, dynamic> map) {
|
|
||||||
return PrintJobSettings(
|
|
||||||
handledByClient: map["handledByClient"],
|
|
||||||
jobName: map["jobName"],
|
|
||||||
animated: map["animated"],
|
|
||||||
orientation: PrintJobOrientation.fromNativeValue(map["orientation"]),
|
|
||||||
numberOfPages: map["numberOfPages"],
|
|
||||||
forceRenderingQuality: PrintJobRenderingQuality.fromNativeValue(
|
|
||||||
map["forceRenderingQuality"]),
|
|
||||||
margins: MapEdgeInsets.fromMap(map["margins"]?.cast<String, dynamic>()),
|
|
||||||
mediaSize: PrintJobMediaSize.fromMap(
|
|
||||||
map["mediaSize"]?.cast<String, dynamic>()),
|
|
||||||
colorMode: PrintJobColorMode.fromNativeValue(map["colorMode"]),
|
|
||||||
duplexMode: PrintJobDuplexMode.fromNativeValue(map["duplexMode"]),
|
|
||||||
outputType: PrintJobOutputType.fromNativeValue(map["outputType"]),
|
|
||||||
resolution: PrintJobResolution.fromMap(
|
|
||||||
map["resolution"]?.cast<String, dynamic>()),
|
|
||||||
showsNumberOfCopies: map["showsNumberOfCopies"],
|
|
||||||
showsPaperSelectionForLoadedPapers:
|
|
||||||
map["showsPaperSelectionForLoadedPapers"],
|
|
||||||
showsPaperOrientation: map["showsPaperOrientation"],
|
|
||||||
maximumContentHeight: map["maximumContentHeight"],
|
|
||||||
maximumContentWidth: map["maximumContentWidth"],
|
|
||||||
footerHeight: map["footerHeight"],
|
|
||||||
headerHeight: map["headerHeight"],
|
|
||||||
showsPaperSize: map["showsPaperSize"],
|
|
||||||
showsScaling: map["showsScaling"],
|
|
||||||
showsPageRange: map["showsPageRange"],
|
|
||||||
showsPageSetupAccessory: map["showsPageSetupAccessory"],
|
|
||||||
showsPreview: map["showsPreview"],
|
|
||||||
showsPrintSelection: map["showsPrintSelection"],
|
|
||||||
scalingFactor: map["scalingFactor"],
|
|
||||||
showsPrintPanel: map["showsPrintPanel"],
|
|
||||||
showsProgressPanel: map["showsProgressPanel"],
|
|
||||||
jobDisposition:
|
|
||||||
PrintJobDisposition.fromNativeValue(map["jobDisposition"]),
|
|
||||||
jobSavingURL:
|
|
||||||
map["jobSavingURL"] != null ? WebUri(map["jobSavingURL"]) : null,
|
|
||||||
paperName: map["paperName"],
|
|
||||||
horizontalPagination:
|
|
||||||
PrintJobPaginationMode.fromNativeValue(map["horizontalPagination"]),
|
|
||||||
verticalPagination:
|
|
||||||
PrintJobPaginationMode.fromNativeValue(map["verticalPagination"]),
|
|
||||||
isHorizontallyCentered: map["isHorizontallyCentered"],
|
|
||||||
isVerticallyCentered: map["isVerticallyCentered"],
|
|
||||||
pageOrder: PrintJobPageOrder.fromNativeValue(map["pageOrder"]),
|
|
||||||
canSpawnSeparateThread: map["canSpawnSeparateThread"],
|
|
||||||
copies: map["copies"],
|
|
||||||
firstPage: map["firstPage"],
|
|
||||||
lastPage: map["lastPage"],
|
|
||||||
detailedErrorReporting: map["detailedErrorReporting"],
|
|
||||||
faxNumber: map["faxNumber"],
|
|
||||||
headerAndFooter: map["headerAndFooter"],
|
|
||||||
mustCollate: map["mustCollate"],
|
|
||||||
pagesAcross: map["pagesAcross"],
|
|
||||||
pagesDown: map["pagesDown"],
|
|
||||||
time: map["time"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, dynamic> toMap() {
|
|
||||||
return {
|
|
||||||
"handledByClient": handledByClient,
|
|
||||||
"jobName": jobName,
|
|
||||||
"animated": animated,
|
|
||||||
"orientation": orientation?.toNativeValue(),
|
|
||||||
"numberOfPages": numberOfPages,
|
|
||||||
"forceRenderingQuality": forceRenderingQuality?.toNativeValue(),
|
|
||||||
"margins": margins?.toMap(),
|
|
||||||
"mediaSize": mediaSize?.toMap(),
|
|
||||||
"colorMode": colorMode?.toNativeValue(),
|
|
||||||
"duplexMode": duplexMode?.toNativeValue(),
|
|
||||||
"outputType": outputType?.toNativeValue(),
|
|
||||||
"resolution": resolution?.toMap(),
|
|
||||||
"showsNumberOfCopies": showsNumberOfCopies,
|
|
||||||
"showsPaperSelectionForLoadedPapers": showsPaperSelectionForLoadedPapers,
|
|
||||||
"showsPaperOrientation": showsPaperOrientation,
|
|
||||||
"maximumContentHeight": maximumContentHeight,
|
|
||||||
"maximumContentWidth": maximumContentWidth,
|
|
||||||
"footerHeight": footerHeight,
|
|
||||||
"headerHeight": headerHeight,
|
|
||||||
"showsPaperSize": showsPaperSize,
|
|
||||||
"showsScaling": showsScaling,
|
|
||||||
"showsPageRange": showsPageRange,
|
|
||||||
"showsPageSetupAccessory": showsPageSetupAccessory,
|
|
||||||
"showsPreview": showsPreview,
|
|
||||||
"showsPrintSelection": showsPrintSelection,
|
|
||||||
"scalingFactor": scalingFactor,
|
|
||||||
"showsPrintPanel": showsPrintPanel,
|
|
||||||
"showsProgressPanel": showsProgressPanel,
|
|
||||||
"jobDisposition": jobDisposition?.toNativeValue(),
|
|
||||||
"jobSavingURL": jobSavingURL.toString(),
|
|
||||||
"paperName": paperName,
|
|
||||||
"horizontalPagination": horizontalPagination?.toNativeValue(),
|
|
||||||
"verticalPagination": verticalPagination?.toNativeValue(),
|
|
||||||
"isHorizontallyCentered": isHorizontallyCentered,
|
|
||||||
"isVerticallyCentered": isVerticallyCentered,
|
|
||||||
"pageOrder": pageOrder?.toNativeValue(),
|
|
||||||
"canSpawnSeparateThread": canSpawnSeparateThread,
|
|
||||||
"copies": copies,
|
|
||||||
"firstPage": firstPage,
|
|
||||||
"lastPage": lastPage,
|
|
||||||
"detailedErrorReporting": detailedErrorReporting,
|
|
||||||
"faxNumber": faxNumber,
|
|
||||||
"headerAndFooter": headerAndFooter,
|
|
||||||
"mustCollate": mustCollate,
|
|
||||||
"pagesAcross": pagesAcross,
|
|
||||||
"pagesDown": pagesDown,
|
|
||||||
"time": time
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
PrintJobSettings copy() {
|
|
||||||
return PrintJobSettings.fromMap(toMap());
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
|
||||||
return toMap();
|
|
||||||
}
|
|
||||||
|
|
||||||
String toString() {
|
|
||||||
return toMap().toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,539 @@
|
||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'print_job_settings.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// ExchangeableObjectGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
///Class that represents the settings of a [PrintJobController].
|
||||||
|
class PrintJobSettings {
|
||||||
|
///Set this to `true` to handle the [PrintJobController].
|
||||||
|
///Otherwise, it will be handled and disposed automatically by the system.
|
||||||
|
///The default value is `false`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
|
///- MacOS
|
||||||
|
bool? handledByClient;
|
||||||
|
|
||||||
|
///The name of the print job.
|
||||||
|
///An application should set this property to a name appropriate to the content being printed.
|
||||||
|
///The default job name is the current webpage title concatenated with the "Document" word at the end.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
|
///- MacOS
|
||||||
|
String? jobName;
|
||||||
|
|
||||||
|
///`true` to animate the display of the sheet, `false` to display the sheet immediately.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
bool? animated;
|
||||||
|
|
||||||
|
///The orientation of the printed content, portrait or landscape.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
|
///- MacOS
|
||||||
|
PrintJobOrientation? orientation;
|
||||||
|
|
||||||
|
///The number of pages to render.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
///- MacOS
|
||||||
|
int? numberOfPages;
|
||||||
|
|
||||||
|
///Force rendering quality.
|
||||||
|
///
|
||||||
|
///**NOTE for iOS**: available only on iOS 14.5+.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
PrintJobRenderingQuality? forceRenderingQuality;
|
||||||
|
|
||||||
|
///The margins for each printed page.
|
||||||
|
///Margins define the white space around the content where the left margin defines
|
||||||
|
///the amount of white space on the left of the content and so on.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
///- MacOS
|
||||||
|
EdgeInsets? margins;
|
||||||
|
|
||||||
|
///The media size.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
PrintJobMediaSize? mediaSize;
|
||||||
|
|
||||||
|
///The color mode.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- MacOS
|
||||||
|
PrintJobColorMode? colorMode;
|
||||||
|
|
||||||
|
///The duplex mode to use for the print job.
|
||||||
|
///
|
||||||
|
///**NOTE for Android native WebView**: available only on Android 23+.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
|
PrintJobDuplexMode? duplexMode;
|
||||||
|
|
||||||
|
///The kind of printable content.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
PrintJobOutputType? outputType;
|
||||||
|
|
||||||
|
///The supported resolution in DPI (dots per inch).
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
PrintJobResolution? resolution;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the printing options include the number of copies.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
///- MacOS
|
||||||
|
bool? showsNumberOfCopies;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the paper selection menu displays.
|
||||||
|
///The default value of this property is `false`.
|
||||||
|
///Setting the value to `true` enables a paper selection menu on printers that support different types of paper and have more than one paper type loaded.
|
||||||
|
///On printers where only one paper type is available, no paper selection menu is displayed, regardless of the value of this property.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
bool? showsPaperSelectionForLoadedPapers;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the printing options include the paper orientation control when available.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**NOTE for iOS**: available only on iOS 15.0+.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
///- MacOS
|
||||||
|
bool? showsPaperOrientation;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the print panel includes a control for manipulating the paper size of the printer.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? showsPaperSize;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the Print panel includes a control for scaling the printed output.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? showsScaling;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the Print panel includes a set of fields for manipulating the range of pages being printed.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? showsPageRange;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the Print panel includes a separate accessory view for manipulating the paper size, orientation, and scaling attributes.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? showsPageSetupAccessory;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the Print panel displays a built-in preview of the document contents.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? showsPreview;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the Print panel includes an additional selection option for paper range.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? showsPrintSelection;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the print operation displays a print panel.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///This property does not affect the display of a progress panel;
|
||||||
|
///that operation is controlled by the [showsProgressPanel] property.
|
||||||
|
///Operations that generate EPS or PDF data do no display a progress panel, regardless of the value in the flag parameter.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? showsPrintPanel;
|
||||||
|
|
||||||
|
///A Boolean value that determines whether the print operation displays a progress panel.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///This property does not affect the display of a print panel;
|
||||||
|
///that operation is controlled by the [showsPrintPanel] property.
|
||||||
|
///Operations that generate EPS or PDF data do no display a progress panel, regardless of the value in the flag parameter.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? showsProgressPanel;
|
||||||
|
|
||||||
|
///The height of the page footer.
|
||||||
|
///
|
||||||
|
///The footer is measured in points from the bottom of [printableRect] and is below the content area.
|
||||||
|
///The default footer height is `0.0`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
double? footerHeight;
|
||||||
|
|
||||||
|
///The height of the page header.
|
||||||
|
///
|
||||||
|
///The header is measured in points from the top of [printableRect] and is above the content area.
|
||||||
|
///The default header height is `0.0`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
double? headerHeight;
|
||||||
|
|
||||||
|
///The maximum height of the content area.
|
||||||
|
///
|
||||||
|
///The Print Formatter uses this value to determine where the content rectangle begins on the first page.
|
||||||
|
///It compares the value of this property with the printing rectangle’s height minus the header and footer heights and
|
||||||
|
///the top inset value; it uses the lower of the two values.
|
||||||
|
///The default value of this property is the maximum float value.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
double? maximumContentHeight;
|
||||||
|
|
||||||
|
///The maximum width of the content area.
|
||||||
|
///
|
||||||
|
///The Print Formatter uses this value to determine the maximum width of the content rectangle.
|
||||||
|
///It compares the value of this property with the printing rectangle’s width minus the left and right inset values and uses the lower of the two.
|
||||||
|
///The default value of this property is the maximum float value.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
double? maximumContentWidth;
|
||||||
|
|
||||||
|
///The current scaling factor. From `0.0` to `1.0`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
double? scalingFactor;
|
||||||
|
|
||||||
|
///The action specified for the job.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
PrintJobDisposition? jobDisposition;
|
||||||
|
|
||||||
|
///An URL containing the location to which the job file will be saved when the [jobDisposition] is [PrintJobDisposition.SAVE].
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
WebUri? jobSavingURL;
|
||||||
|
|
||||||
|
///The name of the currently selected paper size.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
String? paperName;
|
||||||
|
|
||||||
|
///The horizontal pagination mode.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
PrintJobPaginationMode? horizontalPagination;
|
||||||
|
|
||||||
|
///The vertical pagination to the specified mode.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
PrintJobPaginationMode? verticalPagination;
|
||||||
|
|
||||||
|
///Indicates whether the image is centered horizontally.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? isHorizontallyCentered;
|
||||||
|
|
||||||
|
///Indicates whether the image is centered vertically.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? isVerticallyCentered;
|
||||||
|
|
||||||
|
///The print order for the pages of the operation.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
PrintJobPageOrder? pageOrder;
|
||||||
|
|
||||||
|
///Whether the print operation should spawn a separate thread in which to run itself.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? canSpawnSeparateThread;
|
||||||
|
|
||||||
|
///How many copies to print.
|
||||||
|
///The default value is `1`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
int? copies;
|
||||||
|
|
||||||
|
///An integer value that specifies the first page in the print job.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
int? firstPage;
|
||||||
|
|
||||||
|
///An integer value that specifies the last page in the print job.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
int? lastPage;
|
||||||
|
|
||||||
|
///If `true`, produce detailed reports when an error occurs.
|
||||||
|
///The default value is `false`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? detailedErrorReporting;
|
||||||
|
|
||||||
|
///A fax number.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
String? faxNumber;
|
||||||
|
|
||||||
|
///If `true`, a standard header and footer are added outside the margins of each page.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? headerAndFooter;
|
||||||
|
|
||||||
|
///If `true`, collates output.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
bool? mustCollate;
|
||||||
|
|
||||||
|
///The number of logical pages to be tiled horizontally on a physical sheet of paper.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
int? pagesAcross;
|
||||||
|
|
||||||
|
///The number of logical pages to be tiled vertically on a physical sheet of paper.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
int? pagesDown;
|
||||||
|
|
||||||
|
///A timestamp that specifies the time at which printing should begin.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- MacOS
|
||||||
|
int? time;
|
||||||
|
PrintJobSettings(
|
||||||
|
{this.handledByClient = false,
|
||||||
|
this.jobName,
|
||||||
|
this.animated = true,
|
||||||
|
this.orientation,
|
||||||
|
this.numberOfPages,
|
||||||
|
this.forceRenderingQuality,
|
||||||
|
this.margins,
|
||||||
|
this.mediaSize,
|
||||||
|
this.colorMode,
|
||||||
|
this.duplexMode,
|
||||||
|
this.outputType,
|
||||||
|
this.resolution,
|
||||||
|
this.showsNumberOfCopies = true,
|
||||||
|
this.showsPaperSelectionForLoadedPapers = false,
|
||||||
|
this.showsPaperOrientation = true,
|
||||||
|
this.showsPaperSize = true,
|
||||||
|
this.showsScaling = true,
|
||||||
|
this.showsPageRange = true,
|
||||||
|
this.showsPageSetupAccessory = true,
|
||||||
|
this.showsPreview = true,
|
||||||
|
this.showsPrintSelection = true,
|
||||||
|
this.showsPrintPanel = true,
|
||||||
|
this.showsProgressPanel = true,
|
||||||
|
this.footerHeight,
|
||||||
|
this.headerHeight,
|
||||||
|
this.maximumContentHeight,
|
||||||
|
this.maximumContentWidth,
|
||||||
|
this.scalingFactor,
|
||||||
|
this.jobDisposition,
|
||||||
|
this.jobSavingURL,
|
||||||
|
this.paperName,
|
||||||
|
this.horizontalPagination,
|
||||||
|
this.verticalPagination,
|
||||||
|
this.isHorizontallyCentered = true,
|
||||||
|
this.isVerticallyCentered = true,
|
||||||
|
this.pageOrder,
|
||||||
|
this.canSpawnSeparateThread = true,
|
||||||
|
this.copies = 1,
|
||||||
|
this.firstPage,
|
||||||
|
this.lastPage,
|
||||||
|
this.detailedErrorReporting = false,
|
||||||
|
this.faxNumber,
|
||||||
|
this.headerAndFooter = true,
|
||||||
|
this.mustCollate,
|
||||||
|
this.pagesAcross,
|
||||||
|
this.pagesDown,
|
||||||
|
this.time});
|
||||||
|
|
||||||
|
///Gets a possible [PrintJobSettings] instance from a [Map] value.
|
||||||
|
static PrintJobSettings? fromMap(Map<String, dynamic>? map) {
|
||||||
|
if (map == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
final instance = PrintJobSettings(
|
||||||
|
jobName: map['jobName'],
|
||||||
|
orientation: PrintJobOrientation.fromNativeValue(map['orientation']),
|
||||||
|
numberOfPages: map['numberOfPages'],
|
||||||
|
forceRenderingQuality: PrintJobRenderingQuality.fromNativeValue(
|
||||||
|
map['forceRenderingQuality']),
|
||||||
|
margins: MapEdgeInsets.fromMap(map['margins']?.cast<String, dynamic>()),
|
||||||
|
mediaSize:
|
||||||
|
PrintJobMediaSize.fromMap(map['mediaSize']?.cast<String, dynamic>()),
|
||||||
|
colorMode: PrintJobColorMode.fromNativeValue(map['colorMode']),
|
||||||
|
duplexMode: PrintJobDuplexMode.fromNativeValue(map['duplexMode']),
|
||||||
|
outputType: PrintJobOutputType.fromNativeValue(map['outputType']),
|
||||||
|
resolution: PrintJobResolution.fromMap(
|
||||||
|
map['resolution']?.cast<String, dynamic>()),
|
||||||
|
footerHeight: map['footerHeight'],
|
||||||
|
headerHeight: map['headerHeight'],
|
||||||
|
maximumContentHeight: map['maximumContentHeight'],
|
||||||
|
maximumContentWidth: map['maximumContentWidth'],
|
||||||
|
scalingFactor: map['scalingFactor'],
|
||||||
|
jobDisposition:
|
||||||
|
PrintJobDisposition.fromNativeValue(map['jobDisposition']),
|
||||||
|
jobSavingURL:
|
||||||
|
map['jobSavingURL'] != null ? WebUri(map['jobSavingURL']) : null,
|
||||||
|
paperName: map['paperName'],
|
||||||
|
horizontalPagination:
|
||||||
|
PrintJobPaginationMode.fromNativeValue(map['horizontalPagination']),
|
||||||
|
verticalPagination:
|
||||||
|
PrintJobPaginationMode.fromNativeValue(map['verticalPagination']),
|
||||||
|
pageOrder: PrintJobPageOrder.fromNativeValue(map['pageOrder']),
|
||||||
|
firstPage: map['firstPage'],
|
||||||
|
lastPage: map['lastPage'],
|
||||||
|
faxNumber: map['faxNumber'],
|
||||||
|
mustCollate: map['mustCollate'],
|
||||||
|
pagesAcross: map['pagesAcross'],
|
||||||
|
pagesDown: map['pagesDown'],
|
||||||
|
time: map['time'],
|
||||||
|
);
|
||||||
|
instance.handledByClient = map['handledByClient'];
|
||||||
|
instance.animated = map['animated'];
|
||||||
|
instance.showsNumberOfCopies = map['showsNumberOfCopies'];
|
||||||
|
instance.showsPaperSelectionForLoadedPapers =
|
||||||
|
map['showsPaperSelectionForLoadedPapers'];
|
||||||
|
instance.showsPaperOrientation = map['showsPaperOrientation'];
|
||||||
|
instance.showsPaperSize = map['showsPaperSize'];
|
||||||
|
instance.showsScaling = map['showsScaling'];
|
||||||
|
instance.showsPageRange = map['showsPageRange'];
|
||||||
|
instance.showsPageSetupAccessory = map['showsPageSetupAccessory'];
|
||||||
|
instance.showsPreview = map['showsPreview'];
|
||||||
|
instance.showsPrintSelection = map['showsPrintSelection'];
|
||||||
|
instance.showsPrintPanel = map['showsPrintPanel'];
|
||||||
|
instance.showsProgressPanel = map['showsProgressPanel'];
|
||||||
|
instance.isHorizontallyCentered = map['isHorizontallyCentered'];
|
||||||
|
instance.isVerticallyCentered = map['isVerticallyCentered'];
|
||||||
|
instance.canSpawnSeparateThread = map['canSpawnSeparateThread'];
|
||||||
|
instance.copies = map['copies'];
|
||||||
|
instance.detailedErrorReporting = map['detailedErrorReporting'];
|
||||||
|
instance.headerAndFooter = map['headerAndFooter'];
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
///Converts instance to a map.
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
"handledByClient": handledByClient,
|
||||||
|
"jobName": jobName,
|
||||||
|
"animated": animated,
|
||||||
|
"orientation": orientation?.toNativeValue(),
|
||||||
|
"numberOfPages": numberOfPages,
|
||||||
|
"forceRenderingQuality": forceRenderingQuality?.toNativeValue(),
|
||||||
|
"margins": margins?.toMap(),
|
||||||
|
"mediaSize": mediaSize?.toMap(),
|
||||||
|
"colorMode": colorMode?.toNativeValue(),
|
||||||
|
"duplexMode": duplexMode?.toNativeValue(),
|
||||||
|
"outputType": outputType?.toNativeValue(),
|
||||||
|
"resolution": resolution?.toMap(),
|
||||||
|
"showsNumberOfCopies": showsNumberOfCopies,
|
||||||
|
"showsPaperSelectionForLoadedPapers": showsPaperSelectionForLoadedPapers,
|
||||||
|
"showsPaperOrientation": showsPaperOrientation,
|
||||||
|
"showsPaperSize": showsPaperSize,
|
||||||
|
"showsScaling": showsScaling,
|
||||||
|
"showsPageRange": showsPageRange,
|
||||||
|
"showsPageSetupAccessory": showsPageSetupAccessory,
|
||||||
|
"showsPreview": showsPreview,
|
||||||
|
"showsPrintSelection": showsPrintSelection,
|
||||||
|
"showsPrintPanel": showsPrintPanel,
|
||||||
|
"showsProgressPanel": showsProgressPanel,
|
||||||
|
"footerHeight": footerHeight,
|
||||||
|
"headerHeight": headerHeight,
|
||||||
|
"maximumContentHeight": maximumContentHeight,
|
||||||
|
"maximumContentWidth": maximumContentWidth,
|
||||||
|
"scalingFactor": scalingFactor,
|
||||||
|
"jobDisposition": jobDisposition?.toNativeValue(),
|
||||||
|
"jobSavingURL": jobSavingURL?.toString(),
|
||||||
|
"paperName": paperName,
|
||||||
|
"horizontalPagination": horizontalPagination?.toNativeValue(),
|
||||||
|
"verticalPagination": verticalPagination?.toNativeValue(),
|
||||||
|
"isHorizontallyCentered": isHorizontallyCentered,
|
||||||
|
"isVerticallyCentered": isVerticallyCentered,
|
||||||
|
"pageOrder": pageOrder?.toNativeValue(),
|
||||||
|
"canSpawnSeparateThread": canSpawnSeparateThread,
|
||||||
|
"copies": copies,
|
||||||
|
"firstPage": firstPage,
|
||||||
|
"lastPage": lastPage,
|
||||||
|
"detailedErrorReporting": detailedErrorReporting,
|
||||||
|
"faxNumber": faxNumber,
|
||||||
|
"headerAndFooter": headerAndFooter,
|
||||||
|
"mustCollate": mustCollate,
|
||||||
|
"pagesAcross": pagesAcross,
|
||||||
|
"pagesDown": pagesDown,
|
||||||
|
"time": time,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
///Converts instance to a map.
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return toMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
///Returns a copy of PrintJobSettings.
|
||||||
|
PrintJobSettings copy() {
|
||||||
|
return PrintJobSettings.fromMap(toMap()) ?? PrintJobSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'PrintJobSettings{handledByClient: $handledByClient, jobName: $jobName, animated: $animated, orientation: $orientation, numberOfPages: $numberOfPages, forceRenderingQuality: $forceRenderingQuality, margins: $margins, mediaSize: $mediaSize, colorMode: $colorMode, duplexMode: $duplexMode, outputType: $outputType, resolution: $resolution, showsNumberOfCopies: $showsNumberOfCopies, showsPaperSelectionForLoadedPapers: $showsPaperSelectionForLoadedPapers, showsPaperOrientation: $showsPaperOrientation, showsPaperSize: $showsPaperSize, showsScaling: $showsScaling, showsPageRange: $showsPageRange, showsPageSetupAccessory: $showsPageSetupAccessory, showsPreview: $showsPreview, showsPrintSelection: $showsPrintSelection, showsPrintPanel: $showsPrintPanel, showsProgressPanel: $showsProgressPanel, footerHeight: $footerHeight, headerHeight: $headerHeight, maximumContentHeight: $maximumContentHeight, maximumContentWidth: $maximumContentWidth, scalingFactor: $scalingFactor, jobDisposition: $jobDisposition, jobSavingURL: $jobSavingURL, paperName: $paperName, horizontalPagination: $horizontalPagination, verticalPagination: $verticalPagination, isHorizontallyCentered: $isHorizontallyCentered, isVerticallyCentered: $isVerticallyCentered, pageOrder: $pageOrder, canSpawnSeparateThread: $canSpawnSeparateThread, copies: $copies, firstPage: $firstPage, lastPage: $lastPage, detailedErrorReporting: $detailedErrorReporting, faxNumber: $faxNumber, headerAndFooter: $headerAndFooter, mustCollate: $mustCollate, pagesAcross: $pagesAcross, pagesDown: $pagesDown, time: $time}';
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,2 +1,3 @@
|
||||||
export 'pull_to_refresh_controller.dart';
|
export 'pull_to_refresh_controller.dart';
|
||||||
export 'pull_to_refresh_settings.dart';
|
export 'pull_to_refresh_settings.dart'
|
||||||
|
show PullToRefreshSettings, PullToRefreshOptions;
|
||||||
|
|
|
@ -1,39 +1,63 @@
|
||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
|
import 'package:flutter_inappwebview_internal_annotations/flutter_inappwebview_internal_annotations.dart';
|
||||||
|
|
||||||
|
import '../types/attributed_string.dart';
|
||||||
|
import '../types/pull_to_refresh_size.dart';
|
||||||
import '../util.dart';
|
import '../util.dart';
|
||||||
import '../types/main.dart';
|
import '../types/main.dart';
|
||||||
|
|
||||||
|
part 'pull_to_refresh_settings.g.dart';
|
||||||
|
|
||||||
///Pull-To-Refresh Settings
|
///Pull-To-Refresh Settings
|
||||||
class PullToRefreshSettings {
|
@ExchangeableObject(copyMethod: true)
|
||||||
|
class PullToRefreshSettings_ {
|
||||||
///Sets whether the pull-to-refresh feature is enabled or not.
|
///Sets whether the pull-to-refresh feature is enabled or not.
|
||||||
bool enabled;
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
|
bool? enabled;
|
||||||
|
|
||||||
///The color of the refresh control.
|
///The color of the refresh control.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
Color? color;
|
Color? color;
|
||||||
|
|
||||||
///The background color of the refresh control.
|
///The background color of the refresh control.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
Color? backgroundColor;
|
Color? backgroundColor;
|
||||||
|
|
||||||
///The distance to trigger a sync in dips.
|
///The distance to trigger a sync in dips.
|
||||||
///
|
///
|
||||||
///**NOTE**: Available only on Android.
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
int? distanceToTriggerSync;
|
int? distanceToTriggerSync;
|
||||||
|
|
||||||
///The distance in pixels that the refresh indicator can be pulled beyond its resting position.
|
///The distance in pixels that the refresh indicator can be pulled beyond its resting position.
|
||||||
///
|
///
|
||||||
///**NOTE**: Available only on Android.
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
int? slingshotDistance;
|
int? slingshotDistance;
|
||||||
|
|
||||||
///The size of the refresh indicator.
|
///The size of the refresh indicator.
|
||||||
///
|
///
|
||||||
///**NOTE**: Available only on Android.
|
///**Supported Platforms/Implementations**:
|
||||||
PullToRefreshSize? size;
|
///- Android native WebView
|
||||||
|
PullToRefreshSize_? size;
|
||||||
|
|
||||||
///The title text to display in the refresh control.
|
///The title text to display in the refresh control.
|
||||||
///
|
///
|
||||||
///**NOTE**: Available only on iOS.
|
///**Supported Platforms/Implementations**:
|
||||||
AttributedString? attributedTitle;
|
///- iOS
|
||||||
|
AttributedString_? attributedTitle;
|
||||||
|
|
||||||
PullToRefreshSettings(
|
PullToRefreshSettings_(
|
||||||
{this.enabled = true,
|
{this.enabled = true,
|
||||||
this.color,
|
this.color,
|
||||||
this.backgroundColor,
|
this.backgroundColor,
|
||||||
|
@ -41,27 +65,6 @@ class PullToRefreshSettings {
|
||||||
this.slingshotDistance,
|
this.slingshotDistance,
|
||||||
this.size,
|
this.size,
|
||||||
this.attributedTitle});
|
this.attributedTitle});
|
||||||
|
|
||||||
Map<String, dynamic> toMap() {
|
|
||||||
return {
|
|
||||||
"enabled": enabled,
|
|
||||||
"color": color?.toHex(),
|
|
||||||
"backgroundColor": backgroundColor?.toHex(),
|
|
||||||
"distanceToTriggerSync": distanceToTriggerSync,
|
|
||||||
"slingshotDistance": slingshotDistance,
|
|
||||||
"size": size?.toNativeValue(),
|
|
||||||
"attributedTitle": attributedTitle?.toMap() ?? {}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
|
||||||
return toMap();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() {
|
|
||||||
return toMap().toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///Use [PullToRefreshSettings] instead.
|
///Use [PullToRefreshSettings] instead.
|
||||||
|
|
|
@ -0,0 +1,114 @@
|
||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'pull_to_refresh_settings.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// ExchangeableObjectGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
///Pull-To-Refresh Settings
|
||||||
|
class PullToRefreshSettings {
|
||||||
|
///Sets whether the pull-to-refresh feature is enabled or not.
|
||||||
|
///The default value is `true`.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
|
bool? enabled;
|
||||||
|
|
||||||
|
///The color of the refresh control.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
|
Color? color;
|
||||||
|
|
||||||
|
///The background color of the refresh control.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
///- iOS
|
||||||
|
Color? backgroundColor;
|
||||||
|
|
||||||
|
///The distance to trigger a sync in dips.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
int? distanceToTriggerSync;
|
||||||
|
|
||||||
|
///The distance in pixels that the refresh indicator can be pulled beyond its resting position.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
int? slingshotDistance;
|
||||||
|
|
||||||
|
///The size of the refresh indicator.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- Android native WebView
|
||||||
|
PullToRefreshSize? size;
|
||||||
|
|
||||||
|
///The title text to display in the refresh control.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
AttributedString? attributedTitle;
|
||||||
|
PullToRefreshSettings(
|
||||||
|
{this.enabled = true,
|
||||||
|
this.color,
|
||||||
|
this.backgroundColor,
|
||||||
|
this.distanceToTriggerSync,
|
||||||
|
this.slingshotDistance,
|
||||||
|
this.size,
|
||||||
|
this.attributedTitle});
|
||||||
|
|
||||||
|
///Gets a possible [PullToRefreshSettings] instance from a [Map] value.
|
||||||
|
static PullToRefreshSettings? fromMap(Map<String, dynamic>? map) {
|
||||||
|
if (map == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
final instance = PullToRefreshSettings(
|
||||||
|
color: map['color'] != null
|
||||||
|
? UtilColor.fromStringRepresentation(map['color'])
|
||||||
|
: null,
|
||||||
|
backgroundColor: map['backgroundColor'] != null
|
||||||
|
? UtilColor.fromStringRepresentation(map['backgroundColor'])
|
||||||
|
: null,
|
||||||
|
distanceToTriggerSync: map['distanceToTriggerSync'],
|
||||||
|
slingshotDistance: map['slingshotDistance'],
|
||||||
|
size: PullToRefreshSize.fromNativeValue(map['size']),
|
||||||
|
attributedTitle: AttributedString.fromMap(
|
||||||
|
map['attributedTitle']?.cast<String, dynamic>()),
|
||||||
|
);
|
||||||
|
instance.enabled = map['enabled'];
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
///Converts instance to a map.
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
"enabled": enabled,
|
||||||
|
"color": color?.toHex(),
|
||||||
|
"backgroundColor": backgroundColor?.toHex(),
|
||||||
|
"distanceToTriggerSync": distanceToTriggerSync,
|
||||||
|
"slingshotDistance": slingshotDistance,
|
||||||
|
"size": size?.toNativeValue(),
|
||||||
|
"attributedTitle": attributedTitle?.toMap(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
///Converts instance to a map.
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return toMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
///Returns a copy of PullToRefreshSettings.
|
||||||
|
PullToRefreshSettings copy() {
|
||||||
|
return PullToRefreshSettings.fromMap(toMap()) ?? PullToRefreshSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'PullToRefreshSettings{enabled: $enabled, color: $color, backgroundColor: $backgroundColor, distanceToTriggerSync: $distanceToTriggerSync, slingshotDistance: $slingshotDistance, size: $size, attributedTitle: $attributedTitle}';
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,2 +1,3 @@
|
||||||
export 'web_authenticate_session.dart';
|
export 'web_authenticate_session.dart';
|
||||||
export 'web_authenticate_session_settings.dart';
|
export 'web_authenticate_session_settings.dart'
|
||||||
|
show WebAuthenticationSessionSettings;
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter_inappwebview_internal_annotations/flutter_inappwebview_internal_annotations.dart';
|
||||||
import 'web_authenticate_session.dart';
|
import 'web_authenticate_session.dart';
|
||||||
|
|
||||||
|
part 'web_authenticate_session_settings.g.dart';
|
||||||
|
|
||||||
///Class that represents the settings that can be used for a [WebAuthenticationSession].
|
///Class that represents the settings that can be used for a [WebAuthenticationSession].
|
||||||
class WebAuthenticationSessionSettings {
|
@ExchangeableObject(copyMethod: true)
|
||||||
|
class WebAuthenticationSessionSettings_ {
|
||||||
///A Boolean value that indicates whether the session should ask the browser for a private authentication session.
|
///A Boolean value that indicates whether the session should ask the browser for a private authentication session.
|
||||||
///
|
///
|
||||||
///Set [prefersEphemeralWebBrowserSession] to `true` to request that the browser
|
///Set [prefersEphemeralWebBrowserSession] to `true` to request that the browser
|
||||||
|
@ -21,9 +24,9 @@ class WebAuthenticationSessionSettings {
|
||||||
///**Supported Platforms/Implementations**:
|
///**Supported Platforms/Implementations**:
|
||||||
///- iOS
|
///- iOS
|
||||||
///- MacOS
|
///- MacOS
|
||||||
bool prefersEphemeralWebBrowserSession;
|
bool? prefersEphemeralWebBrowserSession;
|
||||||
|
|
||||||
WebAuthenticationSessionSettings(
|
WebAuthenticationSessionSettings_(
|
||||||
{this.prefersEphemeralWebBrowserSession = false});
|
{this.prefersEphemeralWebBrowserSession = false});
|
||||||
|
|
||||||
Map<String, dynamic> toMap() {
|
Map<String, dynamic> toMap() {
|
||||||
|
@ -31,28 +34,4 @@ class WebAuthenticationSessionSettings {
|
||||||
"prefersEphemeralWebBrowserSession": prefersEphemeralWebBrowserSession
|
"prefersEphemeralWebBrowserSession": prefersEphemeralWebBrowserSession
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
static WebAuthenticationSessionSettings fromMap(Map<String, dynamic> map) {
|
|
||||||
WebAuthenticationSessionSettings settings =
|
|
||||||
new WebAuthenticationSessionSettings();
|
|
||||||
if (defaultTargetPlatform == TargetPlatform.iOS ||
|
|
||||||
defaultTargetPlatform == TargetPlatform.macOS) {
|
|
||||||
settings.prefersEphemeralWebBrowserSession =
|
|
||||||
map["prefersEphemeralWebBrowserSession"];
|
|
||||||
}
|
|
||||||
return settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
|
||||||
return this.toMap();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() {
|
|
||||||
return toMap().toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
WebAuthenticationSessionSettings copy() {
|
|
||||||
return WebAuthenticationSessionSettings.fromMap(this.toMap());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'web_authenticate_session_settings.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// ExchangeableObjectGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
///Class that represents the settings that can be used for a [WebAuthenticationSession].
|
||||||
|
class WebAuthenticationSessionSettings {
|
||||||
|
///A Boolean value that indicates whether the session should ask the browser for a private authentication session.
|
||||||
|
///
|
||||||
|
///Set [prefersEphemeralWebBrowserSession] to `true` to request that the browser
|
||||||
|
///doesn’t share cookies or other browsing data between the authentication session and the user’s normal browser session.
|
||||||
|
///Whether the request is honored depends on the user’s default web browser.
|
||||||
|
///Safari always honors the request.
|
||||||
|
///
|
||||||
|
///The value of this property is `false` by default.
|
||||||
|
///
|
||||||
|
///Set this property before you call [WebAuthenticationSession.start]. Otherwise it has no effect.
|
||||||
|
///
|
||||||
|
///**NOTE for iOS**: Available only on iOS 13.0+.
|
||||||
|
///
|
||||||
|
///**NOTE for MacOS**: Available only on iOS 10.15+.
|
||||||
|
///
|
||||||
|
///**Supported Platforms/Implementations**:
|
||||||
|
///- iOS
|
||||||
|
///- MacOS
|
||||||
|
bool? prefersEphemeralWebBrowserSession;
|
||||||
|
WebAuthenticationSessionSettings(
|
||||||
|
{this.prefersEphemeralWebBrowserSession = false});
|
||||||
|
|
||||||
|
///Gets a possible [WebAuthenticationSessionSettings] instance from a [Map] value.
|
||||||
|
static WebAuthenticationSessionSettings? fromMap(Map<String, dynamic>? map) {
|
||||||
|
if (map == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
final instance = WebAuthenticationSessionSettings();
|
||||||
|
instance.prefersEphemeralWebBrowserSession =
|
||||||
|
map['prefersEphemeralWebBrowserSession'];
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
"prefersEphemeralWebBrowserSession": prefersEphemeralWebBrowserSession
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
///Converts instance to a map.
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return toMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
///Returns a copy of WebAuthenticationSessionSettings.
|
||||||
|
WebAuthenticationSessionSettings copy() {
|
||||||
|
return WebAuthenticationSessionSettings.fromMap(toMap()) ??
|
||||||
|
WebAuthenticationSessionSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'WebAuthenticationSessionSettings{prefersEphemeralWebBrowserSession: $prefersEphemeralWebBrowserSession}';
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
name: flutter_inappwebview
|
name: flutter_inappwebview
|
||||||
description: A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.
|
description: A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.
|
||||||
version: 6.0.0-beta.14
|
version: 6.0.0-beta.15
|
||||||
homepage: https://inappwebview.dev/
|
homepage: https://inappwebview.dev/
|
||||||
repository: https://github.com/pichillilorenzo/flutter_inappwebview
|
repository: https://github.com/pichillilorenzo/flutter_inappwebview
|
||||||
issue_tracker: https://github.com/pichillilorenzo/flutter_inappwebview/issues
|
issue_tracker: https://github.com/pichillilorenzo/flutter_inappwebview/issues
|
||||||
|
|
Loading…
Reference in New Issue