Skip to content

Commit

Permalink
Release 30.32.0
Browse files Browse the repository at this point in the history
commit_hash:f6ac902736f4441192931a0a7892baf2d36b5645
  • Loading branch information
robot-divkit committed Dec 23, 2024
1 parent 940904e commit 5e7bef5
Show file tree
Hide file tree
Showing 36 changed files with 823 additions and 402 deletions.
11 changes: 10 additions & 1 deletion .mapping.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@
"DivKit/Actions/DivVideoAction.swift":"divkit/public-ios/DivKit/Actions/DivVideoAction.swift",
"DivKit/Actions/FocusElementActionHandler.swift":"divkit/public-ios/DivKit/Actions/FocusElementActionHandler.swift",
"DivKit/Actions/HideTooltipActionHandler.swift":"divkit/public-ios/DivKit/Actions/HideTooltipActionHandler.swift",
"DivKit/Actions/OverflowMode.swift":"divkit/public-ios/DivKit/Actions/OverflowMode.swift",
"DivKit/Actions/ScrollActionHandler.swift":"divkit/public-ios/DivKit/Actions/ScrollActionHandler.swift",
"DivKit/Actions/ScrollMode.swift":"divkit/public-ios/DivKit/Actions/ScrollMode.swift",
"DivKit/Actions/SetStateActionHandler.swift":"divkit/public-ios/DivKit/Actions/SetStateActionHandler.swift",
"DivKit/Actions/SetStoredValueActionHandler.swift":"divkit/public-ios/DivKit/Actions/SetStoredValueActionHandler.swift",
"DivKit/Actions/SetVariableActionHandler.swift":"divkit/public-ios/DivKit/Actions/SetVariableActionHandler.swift",
"DivKit/Actions/ShowTooltipActionHandler.swift":"divkit/public-ios/DivKit/Actions/ShowTooltipActionHandler.swift",
"DivKit/Actions/SubmitActionHandler.swift":"divkit/public-ios/DivKit/Actions/SubmitActionHandler.swift",
Expand Down Expand Up @@ -74,6 +75,7 @@
"DivKit/Expressions/Functions/MathOperators.swift":"divkit/public-ios/DivKit/Expressions/Functions/MathOperators.swift",
"DivKit/Expressions/Functions/StringFunctions.swift":"divkit/public-ios/DivKit/Expressions/Functions/StringFunctions.swift",
"DivKit/Expressions/Functions/ToStringFunctions.swift":"divkit/public-ios/DivKit/Expressions/Functions/ToStringFunctions.swift",
"DivKit/Expressions/Functions/TrigonometricFunctions.swift":"divkit/public-ios/DivKit/Expressions/Functions/TrigonometricFunctions.swift",
"DivKit/Expressions/Functions/TryOperator.swift":"divkit/public-ios/DivKit/Expressions/Functions/TryOperator.swift",
"DivKit/Expressions/FunctionsProvider.swift":"divkit/public-ios/DivKit/Expressions/FunctionsProvider.swift",
"DivKit/Expressions/Serialization/DictionaryExtensions.swift":"divkit/public-ios/DivKit/Expressions/Serialization/DictionaryExtensions.swift",
Expand Down Expand Up @@ -398,6 +400,8 @@
"DivKit/generated_sources/DivNinePatchBackgroundTemplate.swift":"divkit/public-ios/DivKit/generated_sources/DivNinePatchBackgroundTemplate.swift",
"DivKit/generated_sources/DivNumberAnimator.swift":"divkit/public-ios/DivKit/generated_sources/DivNumberAnimator.swift",
"DivKit/generated_sources/DivNumberAnimatorTemplate.swift":"divkit/public-ios/DivKit/generated_sources/DivNumberAnimatorTemplate.swift",
"DivKit/generated_sources/DivPageContentSize.swift":"divkit/public-ios/DivKit/generated_sources/DivPageContentSize.swift",
"DivKit/generated_sources/DivPageContentSizeTemplate.swift":"divkit/public-ios/DivKit/generated_sources/DivPageContentSizeTemplate.swift",
"DivKit/generated_sources/DivPageSize.swift":"divkit/public-ios/DivKit/generated_sources/DivPageSize.swift",
"DivKit/generated_sources/DivPageSizeTemplate.swift":"divkit/public-ios/DivKit/generated_sources/DivPageSizeTemplate.swift",
"DivKit/generated_sources/DivPageTransformation.swift":"divkit/public-ios/DivKit/generated_sources/DivPageTransformation.swift",
Expand Down Expand Up @@ -1006,6 +1010,7 @@
"Specs/DivKit/30.3.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.3.0/DivKit.podspec",
"Specs/DivKit/30.30.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.30.0/DivKit.podspec",
"Specs/DivKit/30.31.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.31.0/DivKit.podspec",
"Specs/DivKit/30.32.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.32.0/DivKit.podspec",
"Specs/DivKit/30.4.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.4.0/DivKit.podspec",
"Specs/DivKit/30.5.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.5.0/DivKit.podspec",
"Specs/DivKit/30.6.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.6.0/DivKit.podspec",
Expand Down Expand Up @@ -1089,6 +1094,7 @@
"Specs/DivKitExtensions/30.3.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.3.0/DivKitExtensions.podspec",
"Specs/DivKitExtensions/30.30.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.30.0/DivKitExtensions.podspec",
"Specs/DivKitExtensions/30.31.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.31.0/DivKitExtensions.podspec",
"Specs/DivKitExtensions/30.32.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.32.0/DivKitExtensions.podspec",
"Specs/DivKitExtensions/30.4.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.4.0/DivKitExtensions.podspec",
"Specs/DivKitExtensions/30.5.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.5.0/DivKitExtensions.podspec",
"Specs/DivKitExtensions/30.6.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.6.0/DivKitExtensions.podspec",
Expand Down Expand Up @@ -1154,6 +1160,7 @@
"Specs/DivKit_LayoutKit/30.3.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.3.0/DivKit_LayoutKit.podspec",
"Specs/DivKit_LayoutKit/30.30.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.30.0/DivKit_LayoutKit.podspec",
"Specs/DivKit_LayoutKit/30.31.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.31.0/DivKit_LayoutKit.podspec",
"Specs/DivKit_LayoutKit/30.32.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.32.0/DivKit_LayoutKit.podspec",
"Specs/DivKit_LayoutKit/30.4.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.4.0/DivKit_LayoutKit.podspec",
"Specs/DivKit_LayoutKit/30.5.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.5.0/DivKit_LayoutKit.podspec",
"Specs/DivKit_LayoutKit/30.6.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.6.0/DivKit_LayoutKit.podspec",
Expand Down Expand Up @@ -1219,6 +1226,7 @@
"Specs/DivKit_LayoutKitInterface/30.3.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.3.0/DivKit_LayoutKitInterface.podspec",
"Specs/DivKit_LayoutKitInterface/30.30.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.30.0/DivKit_LayoutKitInterface.podspec",
"Specs/DivKit_LayoutKitInterface/30.31.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.31.0/DivKit_LayoutKitInterface.podspec",
"Specs/DivKit_LayoutKitInterface/30.32.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.32.0/DivKit_LayoutKitInterface.podspec",
"Specs/DivKit_LayoutKitInterface/30.4.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.4.0/DivKit_LayoutKitInterface.podspec",
"Specs/DivKit_LayoutKitInterface/30.5.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.5.0/DivKit_LayoutKitInterface.podspec",
"Specs/DivKit_LayoutKitInterface/30.6.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.6.0/DivKit_LayoutKitInterface.podspec",
Expand Down Expand Up @@ -1284,6 +1292,7 @@
"Specs/DivKit_Serialization/30.3.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.3.0/DivKit_Serialization.podspec",
"Specs/DivKit_Serialization/30.30.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.30.0/DivKit_Serialization.podspec",
"Specs/DivKit_Serialization/30.31.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.31.0/DivKit_Serialization.podspec",
"Specs/DivKit_Serialization/30.32.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.32.0/DivKit_Serialization.podspec",
"Specs/DivKit_Serialization/30.4.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.4.0/DivKit_Serialization.podspec",
"Specs/DivKit_Serialization/30.5.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.5.0/DivKit_Serialization.podspec",
"Specs/DivKit_Serialization/30.6.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.6.0/DivKit_Serialization.podspec",
Expand Down
49 changes: 30 additions & 19 deletions DivKit/Actions/DivActionHandler.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import Foundation

import LayoutKit
import Serialization
import VGSL
Expand Down Expand Up @@ -27,7 +26,9 @@ public final class DivActionHandler {
private let dictSetValueActionHandler = DictSetValueActionHandler()
private let focusElementActionHandler = FocusElementActionHandler()
private let hideTooltipActionHandler: HideTooltipActionHandler
private let scrollActionHandler: ScrollActionHandler
private let setStateActionHandler: SetStateActionHandler
private let setStoredValueActionHandler: SetStoredValueActionHandler
private let setVariableActionHandler = SetVariableActionHandler()
private let showTooltipActionHandler: ShowTooltipActionHandler
private let submitActionHandler: SubmitActionHandler
Expand Down Expand Up @@ -118,18 +119,25 @@ public final class DivActionHandler {
self.reporter = reporter
self.idToPath = idToPath

self.animatorActionHandler = AnimatorActionHandler(animatorController: animatorController)
self.hideTooltipActionHandler = HideTooltipActionHandler(
animatorActionHandler = AnimatorActionHandler(animatorController: animatorController)
hideTooltipActionHandler = HideTooltipActionHandler(
performer: tooltipActionPerformer,
showTooltip: showTooltip
)
self.setStateActionHandler = SetStateActionHandler(stateUpdater: stateUpdater)
self.showTooltipActionHandler = ShowTooltipActionHandler(
scrollActionHandler = ScrollActionHandler(
blockStateStorage: blockStateStorage,
updateCard: updateCard
)
setStateActionHandler = SetStateActionHandler(stateUpdater: stateUpdater)
setStoredValueActionHandler = SetStoredValueActionHandler(
persistentValuesStorage: persistentValuesStorage
)
showTooltipActionHandler = ShowTooltipActionHandler(
performer: tooltipActionPerformer,
showTooltip: showTooltip
)
self.submitActionHandler = SubmitActionHandler(submitter: submitter)
self.timerActionHandler = TimerActionHandler(performer: performTimerAction)
submitActionHandler = SubmitActionHandler(submitter: submitter)
timerActionHandler = TimerActionHandler(performer: performTimerAction)
}

public func handle(
Expand Down Expand Up @@ -213,32 +221,35 @@ public final class DivActionHandler {
arrayActionsHandler.handle(action, context: context)
case let .divActionArraySetValue(action):
arrayActionsHandler.handle(action, context: context)
case let .divActionDictSetValue(action):
dictSetValueActionHandler.handle(action, context: context)
case .divActionClearFocus:
clearFocusActionHandler.handle(context: context)
case let .divActionCopyToClipboard(action):
copyToClipboardActionHandler.handle(action, context: context)
case let .divActionDictSetValue(action):
dictSetValueActionHandler.handle(action, context: context)
case let .divActionFocusElement(action):
focusElementActionHandler.handle(action, context: context)
case let .divActionHideTooltip(action):
hideTooltipActionHandler.handle(action, context: context)
case let .divActionScrollBy(action):
scrollActionHandler.handle(action, context: context)
case let .divActionScrollTo(action):
scrollActionHandler.handle(action, context: context)
case let .divActionSetVariable(action):
setVariableActionHandler.handle(action, context: context)
case let .divActionSetState(action):
setStateActionHandler.handle(action, context: context)
case let .divActionTimer(action):
timerActionHandler.handle(action, context: context)
case let .divActionVideo(action):
videoActionHandler.handle(action, context: context)
case let .divActionSetStoredValue(action):
setStoredValueActionHandler.handle(action, context: context)
case let .divActionShowTooltip(action):
showTooltipActionHandler.handle(action, context: context)
case let .divActionSubmit(action):
submitActionHandler.handle(action, context: context)
case let .divActionHideTooltip(action):
hideTooltipActionHandler.handle(action, context: context)
case .divActionDownload,
.divActionSetStoredValue,
.divActionScrollBy,
.divActionScrollTo:
case let .divActionTimer(action):
timerActionHandler.handle(action, context: context)
case let .divActionVideo(action):
videoActionHandler.handle(action, context: context)
case .divActionDownload:
break
case .none:
isHandled = false
Expand Down
20 changes: 8 additions & 12 deletions DivKit/Actions/DivActionIntent.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ enum DivActionIntent {
case scroll(id: String, mode: ScrollMode)
case timer(id: String, action: DivTimerAction)
case video(id: String, action: DivVideoAction)
case setStoredValue(storedValue: DivStoredValue)
case setStoredValue(DivStoredValue)

public static let scheme = "div-action"

Expand Down Expand Up @@ -65,20 +65,20 @@ enum DivActionIntent {
}
self = .setPreviousItem(id: id, step: url.step ?? 1, overflow: url.overflow)
case "scroll_forward":
guard let id = url.id, let step = url.floatStep else {
guard let id = url.id, let step = url.step else {
return nil
}
self = .scroll(id: id, mode: .forward(step: step, overflow: url.overflow))
self = .scroll(id: id, mode: .forward(step, overflow: url.overflow))
case "scroll_backward":
guard let id = url.id, let step = url.floatStep else {
guard let id = url.id, let step = url.step else {
return nil
}
self = .scroll(id: id, mode: .backward(step: step, overflow: url.overflow))
self = .scroll(id: id, mode: .backward(step, overflow: url.overflow))
case "scroll_to_position":
guard let id = url.id, let step = url.floatStep else {
guard let id = url.id, let step = url.step else {
return nil
}
self = .scroll(id: id, mode: .position(step: step))
self = .scroll(id: id, mode: .position(step))
case "scroll_to_start":
guard let id = url.id else {
return nil
Expand All @@ -103,7 +103,7 @@ enum DivActionIntent {
guard let storedValue = url.storedValue else {
return nil
}
self = .setStoredValue(storedValue: storedValue)
self = .setStoredValue(storedValue)
default:
return nil
}
Expand Down Expand Up @@ -197,10 +197,6 @@ extension URL {
}
}

fileprivate var floatStep: CGFloat? {
step.flatMap(CGFloat.init)
}

fileprivate var step: Int? {
queryParamValue(forName: "step").flatMap(Int.init)
}
Expand Down
Loading

0 comments on commit 5e7bef5

Please sign in to comment.