@modos189/nativescript-webview-x 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -45,15 +45,14 @@ _Available in both `@modos189/nativescript-webview-x` and `@modos189/nativescrip
45
45
 
46
46
  ### Static properties
47
47
 
48
- | Static property | Type | Description |
49
- | --- | --- | --- |
50
- | `userAgentTransform` | `((defaultUA: string \| null) => string \| null) \| null` | Set once at app startup before any `WebViewX` is created. Applied automatically during native view initialization, before the first URL loads. `defaultUA` is the platform default UA string on Android system WebView, `null` on iOS/GeckoView (unavailable synchronously). Return the desired UA string, or `null` to leave the platform default unchanged. |
48
+ _None._
51
49
 
52
50
  ### Properties
53
51
 
54
52
  | Property | Type | Description |
55
53
  | --- | --- | --- |
56
54
  | `src` | `string` | URL to load (data-binding supported) |
55
+ | `userAgent` | `string` | Set a custom User-Agent string |
57
56
  | `debugMode` | `boolean` | Enable remote WebView debugging |
58
57
  | `supportPopups` | `boolean` | Open `window.open()` / `target="_blank"` links in a native popup. Default: `true` |
59
58
 
@@ -61,14 +60,16 @@ _Available in both `@modos189/nativescript-webview-x` and `@modos189/nativescrip
61
60
 
62
61
  | Method | Returns | Description |
63
62
  | --- | --- | --- |
64
- | `getUserAgentOverride()` | `string \| null` | Return the active UA override, or `null` if none is set (platform default is used) |
65
- | `setUserAgentOverride(ua: string \| null)` | `void` | Set a custom UA string for this instance; pass `null` or empty string to clear the override and restore the platform default. Applies to subsequent navigations |
66
- | `getDefaultUserAgent()` | `string` | **Android only.** Return the system default UA string for this device, unaffected by any override. Useful as the input to `userAgentTransform` |
63
+ | `getTitle()` | `Promise<string | undefined>` | Return the current page title |
67
64
 
68
65
  ### Events
69
66
 
70
67
  | Event | Description |
71
68
  | --- | --- |
69
+ | `loadStarted` | Navigation started. `args.url` contains the target URL |
70
+ | `loadFinished` | Navigation finished. `args.error` is set on failure |
71
+ | `loadProgress` | Android: page load progress. `args.progress` is 0–100 |
72
+ | `titleChanged` | Page title changed. `args.title` contains the new title |
72
73
  | `popupNavigate` | Android: fired on each navigation inside a popup; set `args.cancel = true` to intercept and dismiss the popup (e.g. capture OAuth redirect). `args.url` contains the target URL. |
73
74
 
74
75
 
@@ -1,14 +1,9 @@
1
1
  export * from '@nativescript-community/ui-webview/index.android';
2
2
  import { AWebView } from '@nativescript-community/ui-webview/index.android';
3
3
  export declare class WebViewX extends AWebView {
4
- static userAgentTransform: ((defaultUA: string | null) => string | null) | null;
5
4
  static get popupNavigateEvent(): string;
6
5
  private _popupClient;
7
- private _userAgentOverride;
8
6
  _onPopupNavigate(url: string): boolean;
9
7
  initNativeView(): void;
10
8
  disposeNativeView(): void;
11
- getUserAgentOverride(): string | null;
12
- setUserAgentOverride(ua: string | null): void;
13
- getDefaultUserAgent(): string;
14
9
  }
package/index.android.js CHANGED
@@ -5,7 +5,6 @@ export class WebViewX extends AWebView {
5
5
  constructor() {
6
6
  super(...arguments);
7
7
  this._popupClient = null;
8
- this._userAgentOverride = null;
9
8
  }
10
9
  static get popupNavigateEvent() {
11
10
  return POPUP_NAVIGATE_EVENT;
@@ -25,14 +24,6 @@ export class WebViewX extends AWebView {
25
24
  if (!nv)
26
25
  return;
27
26
  const wv = nv;
28
- if (WebViewX.userAgentTransform) {
29
- const defaultUA = android.webkit.WebSettings.getDefaultUserAgent(this._context);
30
- const newUA = WebViewX.userAgentTransform(defaultUA);
31
- if (newUA !== null) {
32
- wv.getSettings().setUserAgentString(newUA);
33
- this._userAgentOverride = newUA;
34
- }
35
- }
36
27
  const existing = wv.getWebChromeClient();
37
28
  this._popupClient = new com.modos189.webviewx.PopupWebChromeClient(existing, true, this._context);
38
29
  const interceptor = new com.modos189.webviewx.PopupWebChromeClient.PopupUrlInterceptor({
@@ -50,18 +41,6 @@ export class WebViewX extends AWebView {
50
41
  this._popupClient = null;
51
42
  super.disposeNativeView();
52
43
  }
53
- getUserAgentOverride() {
54
- return this._userAgentOverride;
55
- }
56
- setUserAgentOverride(ua) {
57
- this._userAgentOverride = ua || null;
58
- const wv = this.nativeViewProtected;
59
- if (wv)
60
- wv.getSettings().setUserAgentString(this._userAgentOverride);
61
- }
62
- getDefaultUserAgent() {
63
- return android.webkit.WebSettings.getDefaultUserAgent(this._context);
64
- }
65
44
  [supportPopupsProperty.setNative](value) {
66
45
  const nv = this.nativeViewProtected;
67
46
  if (!nv)
@@ -72,5 +51,4 @@ export class WebViewX extends AWebView {
72
51
  this._popupClient?.setSupportPopups(value);
73
52
  }
74
53
  }
75
- WebViewX.userAgentTransform = null;
76
54
  //# sourceMappingURL=index.android.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../packages/webview-x/index.android.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../packages/webview-x/index.android.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAEnG,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAE7C,MAAM,OAAO,QAAS,SAAQ,QAAQ;IAAtC;;QAKU,iBAAY,GAAsD,IAAI,CAAC;IAgDjF,CAAC;IApDC,MAAM,KAAK,kBAAkB;QAC3B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAID,gBAAgB,CAAC,GAAW;QAC1B,MAAM,IAAI,GAAQ;YAChB,SAAS,EAAE,oBAAoB;YAC/B,GAAG;YACH,MAAM,EAAE,KAAK;SACd,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,cAAc;QACZ,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpC,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,MAAM,EAAE,GAAG,EAAuC,CAAC;QAEnD,MAAM,QAAQ,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClG,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YACrF,sBAAsB,EAAE,CAAC,GAAW,EAAE,EAAE;gBACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACjD,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAClC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC;QACxD,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5B,CAAC;IAED,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,KAAc;QAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,QAAQ,GAAI,EAAwC,CAAC,WAAW,EAAE,CAAC;QACzE,QAAQ,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAC;QACzD,QAAQ,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACF"}
package/index.d.ts CHANGED
@@ -7,10 +7,5 @@ export declare class WebViewX extends AWebView {
7
7
  * Receives the platform default UA (string on Android WebView, null on iOS/GeckoView where it is unavailable synchronously).
8
8
  * Return the desired UA string, or null to leave the platform default unchanged.
9
9
  */
10
- static userAgentTransform: ((defaultUA: string | null) => string | null) | null;
11
10
  static readonly popupNavigateEvent: string;
12
- getUserAgentOverride(): string | null;
13
- setUserAgentOverride(ua: string | null): void;
14
- /** Android system WebView only: returns the device default UA string (unaffected by any override). */
15
- getDefaultUserAgent(): string;
16
11
  }
package/index.ios.d.ts CHANGED
@@ -1,8 +1,4 @@
1
1
  export * from '@nativescript-community/ui-webview/index.ios';
2
2
  import { AWebView } from '@nativescript-community/ui-webview/index.ios';
3
3
  export declare class WebViewX extends AWebView {
4
- static userAgentTransform: ((defaultUA: string | null) => string | null) | null;
5
- initNativeView(): void;
6
- getUserAgentOverride(): string | null;
7
- setUserAgentOverride(ua: string | null): void;
8
4
  }
package/index.ios.js CHANGED
@@ -1,23 +1,5 @@
1
1
  export * from '@nativescript-community/ui-webview/index.ios';
2
2
  import { AWebView } from '@nativescript-community/ui-webview/index.ios';
3
3
  export class WebViewX extends AWebView {
4
- initNativeView() {
5
- super.initNativeView();
6
- if (WebViewX.userAgentTransform) {
7
- const newUA = WebViewX.userAgentTransform(null);
8
- if (newUA !== null && this.nativeViewProtected) {
9
- this.nativeViewProtected.customUserAgent = newUA;
10
- }
11
- }
12
- }
13
- getUserAgentOverride() {
14
- return this.nativeViewProtected?.customUserAgent ?? null;
15
- }
16
- setUserAgentOverride(ua) {
17
- if (this.nativeViewProtected) {
18
- this.nativeViewProtected.customUserAgent = ua || null;
19
- }
20
- }
21
4
  }
22
- WebViewX.userAgentTransform = null;
23
5
  //# sourceMappingURL=index.ios.js.map
package/index.ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/webview-x/index.ios.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAExE,MAAM,OAAO,QAAS,SAAQ,QAAQ;IAGpC,cAAc;QACZ,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC/C,IAAI,CAAC,mBAAmB,CAAC,eAAe,GAAG,KAAK,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,mBAAmB,EAAE,eAAe,IAAI,IAAI,CAAC;IAC3D,CAAC;IAED,oBAAoB,CAAC,EAAiB;QACpC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,eAAe,GAAG,EAAE,IAAI,IAAI,CAAC;QACxD,CAAC;IACH,CAAC;;AApBM,2BAAkB,GAAyD,IAAI,CAAC"}
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/webview-x/index.ios.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAExE,MAAM,OAAO,QAAS,SAAQ,QAAQ;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modos189/nativescript-webview-x",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Add a plugin description",
5
5
  "main": "index",
6
6
  "types": "index.d.ts",