@applicaster/quick-brick-native-apple 6.19.0 → 6.19.1-alpha.1
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "QuickBrickApple",
|
|
3
|
-
"version": "6.19.
|
|
3
|
+
"version": "6.19.1-alpha.1",
|
|
4
4
|
"platforms": {
|
|
5
5
|
"ios": "16.0",
|
|
6
6
|
"tvos": "16.0"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"authors": "Applicaster LTD.",
|
|
17
17
|
"source": {
|
|
18
18
|
"git": "https://github.com/applicaster/Zapp-Frameworks.git",
|
|
19
|
-
"tag": "@@applicaster/quick-brick-native-apple/6.19.
|
|
19
|
+
"tag": "@@applicaster/quick-brick-native-apple/6.19.1-alpha.1"
|
|
20
20
|
},
|
|
21
21
|
"requires_arc": true,
|
|
22
22
|
"source_files": "universal/**/*.{m,swift}",
|
|
@@ -19,7 +19,12 @@ public class FocusableGroupView: RCTTVView {
|
|
|
19
19
|
let preferredFocusDisabledDesc = isPreferredFocusDisabled ? "preferred-focus-disabled" : "preferred-focus-enabled"
|
|
20
20
|
let dependentGroupsDesc = dependantGroupIds?.joined(separator: ",") ?? "NO_DEPS"
|
|
21
21
|
let reactTagDesc = reactTag?.stringValue ?? "NO_TAG"
|
|
22
|
-
let preferredFocusEnvDesc = preferredFocusEnvironments.first.map {
|
|
22
|
+
let preferredFocusEnvDesc = preferredFocusEnvironments.first.map {
|
|
23
|
+
if let view = $0 as? FocusableView {
|
|
24
|
+
return "FocusableView(itemId: \(view.itemId ?? "NO_ID"), groupId: \(view.groupId ?? "NO_GROUP"), reactTag: \(view.reactTag?.stringValue ?? "NO_TAG"))"
|
|
25
|
+
}
|
|
26
|
+
return "N/A"
|
|
27
|
+
} ?? "N/A"
|
|
23
28
|
|
|
24
29
|
return """
|
|
25
30
|
FocusableGroupView[
|
|
@@ -205,6 +210,7 @@ public class FocusableGroupView: RCTTVView {
|
|
|
205
210
|
private func setupFocus() {
|
|
206
211
|
addLayoutGuide(groupFocusGuide)
|
|
207
212
|
|
|
213
|
+
backgroundColor = UIColor.yellow
|
|
208
214
|
groupFocusGuide.leftAnchor.constraint(equalTo: leftAnchor).isActive = true
|
|
209
215
|
groupFocusGuide.topAnchor.constraint(equalTo: topAnchor).isActive = true
|
|
210
216
|
groupFocusGuide.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
|
|
@@ -259,6 +265,7 @@ public class FocusableGroupView: RCTTVView {
|
|
|
259
265
|
}
|
|
260
266
|
|
|
261
267
|
/// Update preferred Focus View for focus guide if next focusable view is part of this focus guide
|
|
268
|
+
/// and directly belongs to this group (not to a nested child group).
|
|
262
269
|
///
|
|
263
270
|
/// - Parameter nextFocusItem: next focus item instance
|
|
264
271
|
@MainActor func updatePreferredFocusView(nextFocusItem: UIFocusEnvironment?) {
|
|
@@ -269,6 +276,17 @@ public class FocusableGroupView: RCTTVView {
|
|
|
269
276
|
return
|
|
270
277
|
}
|
|
271
278
|
|
|
279
|
+
if let focusableView = nextFocusView as? FocusableView,
|
|
280
|
+
let childGroupId = focusableView.groupId,
|
|
281
|
+
childGroupId != itemId {
|
|
282
|
+
if let nestedProxy = GroupProxyManager.shared.getProxy(forGroupId: childGroupId),
|
|
283
|
+
let nestedGroup = nestedProxy.getGroup(),
|
|
284
|
+
nestedGroup.isDescendant(of: self) {
|
|
285
|
+
updatePreferredFocusEnv(with: nestedGroup)
|
|
286
|
+
}
|
|
287
|
+
return
|
|
288
|
+
}
|
|
289
|
+
|
|
272
290
|
updatePreferredFocusEnv(with: nextFocusView)
|
|
273
291
|
}
|
|
274
292
|
|
|
@@ -243,7 +243,7 @@ public class FocusableView: ParallaxView {
|
|
|
243
243
|
/// Define if this view is preffered tv focused View
|
|
244
244
|
@objc public var forceFocus: Bool = false {
|
|
245
245
|
didSet {
|
|
246
|
-
guard forceFocus else {
|
|
246
|
+
guard forceFocus, oldValue != forceFocus else {
|
|
247
247
|
return
|
|
248
248
|
}
|
|
249
249
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applicaster/quick-brick-native-apple",
|
|
3
|
-
"version": "6.19.
|
|
3
|
+
"version": "6.19.1-alpha.1",
|
|
4
4
|
"description": "iOS and tvOS native code for QuickBrick applications. This package is used to provide native logic for QuickBrick",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "echo \"Error: no test specified\" && exit 1"
|