From 79172e3549714eb1a16cb703646cfb48bad4bc1a Mon Sep 17 00:00:00 2001 From: Joseph Pender Date: Fri, 22 Nov 2024 13:11:13 -0600 Subject: [PATCH 1/3] adding global initialFocus option --- .../src/main/java/com/getcapacitor/CapConfig.java | 2 +- cli/src/declarations.ts | 8 ++++++++ ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java b/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java index c621a9b69..71217a688 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java +++ b/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java @@ -299,7 +299,7 @@ private void deserializeConfig(@Nullable Context context) { loggingEnabled = isDebug; } - initialFocus = JSONUtils.getBoolean(configJSON, "android.initialFocus", initialFocus); + initialFocus = JSONUtils.getBoolean(configJSON, "android.initialFocus", JSONUtils.getBoolean(configJSON, "initialFocus", initialFocus)); // Plugins pluginsConfiguration = deserializePluginsConfig(JSONUtils.getObject(configJSON, "plugins")); diff --git a/cli/src/declarations.ts b/cli/src/declarations.ts index a0975a6be..09e6312de 100644 --- a/cli/src/declarations.ts +++ b/cli/src/declarations.ts @@ -77,6 +77,14 @@ export interface CapacitorConfig { */ zoomEnabled?: boolean; + /** + * Whether to give the webview initial focus. + * + * @since 7.0.0 + * @default true + */ + initialFocus?: boolean; + android?: { /** * Specify a custom path to the native Android project. diff --git a/ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift b/ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift index 75b990b72..68344d194 100644 --- a/ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift +++ b/ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift @@ -141,7 +141,7 @@ internal extension InstanceDescriptor { isWebDebuggable = true #endif } - if let initialFocus = config[keyPath: "ios.initialFocus"] as? Bool { + if let initialFocus = (config[keyPath: "ios.initialFocus"] as? Bool) ?? (config[keyPath: "initialFocus"] as? Bool) { hasInitialFocus = initialFocus } } From b0074bc683fb938804a2c7b8fe39beed8c34a1e1 Mon Sep 17 00:00:00 2001 From: Joseph Pender Date: Fri, 22 Nov 2024 13:11:41 -0600 Subject: [PATCH 2/3] fmt --- .../capacitor/src/main/java/com/getcapacitor/CapConfig.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java b/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java index 71217a688..5b0e22a6e 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java +++ b/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java @@ -299,7 +299,11 @@ private void deserializeConfig(@Nullable Context context) { loggingEnabled = isDebug; } - initialFocus = JSONUtils.getBoolean(configJSON, "android.initialFocus", JSONUtils.getBoolean(configJSON, "initialFocus", initialFocus)); + initialFocus = JSONUtils.getBoolean( + configJSON, + "android.initialFocus", + JSONUtils.getBoolean(configJSON, "initialFocus", initialFocus) + ); // Plugins pluginsConfiguration = deserializePluginsConfig(JSONUtils.getObject(configJSON, "plugins")); From bcab1f263f4bbfb0fd159ee5683457c199423a60 Mon Sep 17 00:00:00 2001 From: Joseph Pender Date: Mon, 25 Nov 2024 10:19:23 -0600 Subject: [PATCH 3/3] Adding override description --- cli/src/declarations.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cli/src/declarations.ts b/cli/src/declarations.ts index 09e6312de..1199463d6 100644 --- a/cli/src/declarations.ts +++ b/cli/src/declarations.ts @@ -199,6 +199,8 @@ export interface CapacitorConfig { /** * Whether to give the webview initial focus. * + * Overrides global `initialFocus` option. + * * @since 3.5.1 * @default true */ @@ -461,6 +463,8 @@ export interface CapacitorConfig { /** * Whether to give the webview initial focus. * + * Overrides global `initialFocus` option. + * * @since 7.0.0 * @default true */