Skip to content

Commit 5e7bef5

Browse files
author
robot-divkit
committed
Release 30.32.0
commit_hash:f6ac902736f4441192931a0a7892baf2d36b5645
1 parent 940904e commit 5e7bef5

36 files changed

+823
-402
lines changed

.mapping.json

+10-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
"DivKit/Actions/DivVideoAction.swift":"divkit/public-ios/DivKit/Actions/DivVideoAction.swift",
1515
"DivKit/Actions/FocusElementActionHandler.swift":"divkit/public-ios/DivKit/Actions/FocusElementActionHandler.swift",
1616
"DivKit/Actions/HideTooltipActionHandler.swift":"divkit/public-ios/DivKit/Actions/HideTooltipActionHandler.swift",
17-
"DivKit/Actions/OverflowMode.swift":"divkit/public-ios/DivKit/Actions/OverflowMode.swift",
17+
"DivKit/Actions/ScrollActionHandler.swift":"divkit/public-ios/DivKit/Actions/ScrollActionHandler.swift",
1818
"DivKit/Actions/ScrollMode.swift":"divkit/public-ios/DivKit/Actions/ScrollMode.swift",
1919
"DivKit/Actions/SetStateActionHandler.swift":"divkit/public-ios/DivKit/Actions/SetStateActionHandler.swift",
20+
"DivKit/Actions/SetStoredValueActionHandler.swift":"divkit/public-ios/DivKit/Actions/SetStoredValueActionHandler.swift",
2021
"DivKit/Actions/SetVariableActionHandler.swift":"divkit/public-ios/DivKit/Actions/SetVariableActionHandler.swift",
2122
"DivKit/Actions/ShowTooltipActionHandler.swift":"divkit/public-ios/DivKit/Actions/ShowTooltipActionHandler.swift",
2223
"DivKit/Actions/SubmitActionHandler.swift":"divkit/public-ios/DivKit/Actions/SubmitActionHandler.swift",
@@ -74,6 +75,7 @@
7475
"DivKit/Expressions/Functions/MathOperators.swift":"divkit/public-ios/DivKit/Expressions/Functions/MathOperators.swift",
7576
"DivKit/Expressions/Functions/StringFunctions.swift":"divkit/public-ios/DivKit/Expressions/Functions/StringFunctions.swift",
7677
"DivKit/Expressions/Functions/ToStringFunctions.swift":"divkit/public-ios/DivKit/Expressions/Functions/ToStringFunctions.swift",
78+
"DivKit/Expressions/Functions/TrigonometricFunctions.swift":"divkit/public-ios/DivKit/Expressions/Functions/TrigonometricFunctions.swift",
7779
"DivKit/Expressions/Functions/TryOperator.swift":"divkit/public-ios/DivKit/Expressions/Functions/TryOperator.swift",
7880
"DivKit/Expressions/FunctionsProvider.swift":"divkit/public-ios/DivKit/Expressions/FunctionsProvider.swift",
7981
"DivKit/Expressions/Serialization/DictionaryExtensions.swift":"divkit/public-ios/DivKit/Expressions/Serialization/DictionaryExtensions.swift",
@@ -398,6 +400,8 @@
398400
"DivKit/generated_sources/DivNinePatchBackgroundTemplate.swift":"divkit/public-ios/DivKit/generated_sources/DivNinePatchBackgroundTemplate.swift",
399401
"DivKit/generated_sources/DivNumberAnimator.swift":"divkit/public-ios/DivKit/generated_sources/DivNumberAnimator.swift",
400402
"DivKit/generated_sources/DivNumberAnimatorTemplate.swift":"divkit/public-ios/DivKit/generated_sources/DivNumberAnimatorTemplate.swift",
403+
"DivKit/generated_sources/DivPageContentSize.swift":"divkit/public-ios/DivKit/generated_sources/DivPageContentSize.swift",
404+
"DivKit/generated_sources/DivPageContentSizeTemplate.swift":"divkit/public-ios/DivKit/generated_sources/DivPageContentSizeTemplate.swift",
401405
"DivKit/generated_sources/DivPageSize.swift":"divkit/public-ios/DivKit/generated_sources/DivPageSize.swift",
402406
"DivKit/generated_sources/DivPageSizeTemplate.swift":"divkit/public-ios/DivKit/generated_sources/DivPageSizeTemplate.swift",
403407
"DivKit/generated_sources/DivPageTransformation.swift":"divkit/public-ios/DivKit/generated_sources/DivPageTransformation.swift",
@@ -1006,6 +1010,7 @@
10061010
"Specs/DivKit/30.3.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.3.0/DivKit.podspec",
10071011
"Specs/DivKit/30.30.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.30.0/DivKit.podspec",
10081012
"Specs/DivKit/30.31.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.31.0/DivKit.podspec",
1013+
"Specs/DivKit/30.32.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.32.0/DivKit.podspec",
10091014
"Specs/DivKit/30.4.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.4.0/DivKit.podspec",
10101015
"Specs/DivKit/30.5.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.5.0/DivKit.podspec",
10111016
"Specs/DivKit/30.6.0/DivKit.podspec":"divkit/public-ios/Specs/DivKit/30.6.0/DivKit.podspec",
@@ -1089,6 +1094,7 @@
10891094
"Specs/DivKitExtensions/30.3.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.3.0/DivKitExtensions.podspec",
10901095
"Specs/DivKitExtensions/30.30.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.30.0/DivKitExtensions.podspec",
10911096
"Specs/DivKitExtensions/30.31.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.31.0/DivKitExtensions.podspec",
1097+
"Specs/DivKitExtensions/30.32.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.32.0/DivKitExtensions.podspec",
10921098
"Specs/DivKitExtensions/30.4.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.4.0/DivKitExtensions.podspec",
10931099
"Specs/DivKitExtensions/30.5.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.5.0/DivKitExtensions.podspec",
10941100
"Specs/DivKitExtensions/30.6.0/DivKitExtensions.podspec":"divkit/public-ios/Specs/DivKitExtensions/30.6.0/DivKitExtensions.podspec",
@@ -1154,6 +1160,7 @@
11541160
"Specs/DivKit_LayoutKit/30.3.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.3.0/DivKit_LayoutKit.podspec",
11551161
"Specs/DivKit_LayoutKit/30.30.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.30.0/DivKit_LayoutKit.podspec",
11561162
"Specs/DivKit_LayoutKit/30.31.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.31.0/DivKit_LayoutKit.podspec",
1163+
"Specs/DivKit_LayoutKit/30.32.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.32.0/DivKit_LayoutKit.podspec",
11571164
"Specs/DivKit_LayoutKit/30.4.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.4.0/DivKit_LayoutKit.podspec",
11581165
"Specs/DivKit_LayoutKit/30.5.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.5.0/DivKit_LayoutKit.podspec",
11591166
"Specs/DivKit_LayoutKit/30.6.0/DivKit_LayoutKit.podspec":"divkit/public-ios/Specs/DivKit_LayoutKit/30.6.0/DivKit_LayoutKit.podspec",
@@ -1219,6 +1226,7 @@
12191226
"Specs/DivKit_LayoutKitInterface/30.3.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.3.0/DivKit_LayoutKitInterface.podspec",
12201227
"Specs/DivKit_LayoutKitInterface/30.30.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.30.0/DivKit_LayoutKitInterface.podspec",
12211228
"Specs/DivKit_LayoutKitInterface/30.31.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.31.0/DivKit_LayoutKitInterface.podspec",
1229+
"Specs/DivKit_LayoutKitInterface/30.32.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.32.0/DivKit_LayoutKitInterface.podspec",
12221230
"Specs/DivKit_LayoutKitInterface/30.4.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.4.0/DivKit_LayoutKitInterface.podspec",
12231231
"Specs/DivKit_LayoutKitInterface/30.5.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.5.0/DivKit_LayoutKitInterface.podspec",
12241232
"Specs/DivKit_LayoutKitInterface/30.6.0/DivKit_LayoutKitInterface.podspec":"divkit/public-ios/Specs/DivKit_LayoutKitInterface/30.6.0/DivKit_LayoutKitInterface.podspec",
@@ -1284,6 +1292,7 @@
12841292
"Specs/DivKit_Serialization/30.3.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.3.0/DivKit_Serialization.podspec",
12851293
"Specs/DivKit_Serialization/30.30.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.30.0/DivKit_Serialization.podspec",
12861294
"Specs/DivKit_Serialization/30.31.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.31.0/DivKit_Serialization.podspec",
1295+
"Specs/DivKit_Serialization/30.32.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.32.0/DivKit_Serialization.podspec",
12871296
"Specs/DivKit_Serialization/30.4.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.4.0/DivKit_Serialization.podspec",
12881297
"Specs/DivKit_Serialization/30.5.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.5.0/DivKit_Serialization.podspec",
12891298
"Specs/DivKit_Serialization/30.6.0/DivKit_Serialization.podspec":"divkit/public-ios/Specs/DivKit_Serialization/30.6.0/DivKit_Serialization.podspec",

DivKit/Actions/DivActionHandler.swift

+30-19
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import Foundation
2-
32
import LayoutKit
43
import Serialization
54
import VGSL
@@ -27,7 +26,9 @@ public final class DivActionHandler {
2726
private let dictSetValueActionHandler = DictSetValueActionHandler()
2827
private let focusElementActionHandler = FocusElementActionHandler()
2928
private let hideTooltipActionHandler: HideTooltipActionHandler
29+
private let scrollActionHandler: ScrollActionHandler
3030
private let setStateActionHandler: SetStateActionHandler
31+
private let setStoredValueActionHandler: SetStoredValueActionHandler
3132
private let setVariableActionHandler = SetVariableActionHandler()
3233
private let showTooltipActionHandler: ShowTooltipActionHandler
3334
private let submitActionHandler: SubmitActionHandler
@@ -118,18 +119,25 @@ public final class DivActionHandler {
118119
self.reporter = reporter
119120
self.idToPath = idToPath
120121

121-
self.animatorActionHandler = AnimatorActionHandler(animatorController: animatorController)
122-
self.hideTooltipActionHandler = HideTooltipActionHandler(
122+
animatorActionHandler = AnimatorActionHandler(animatorController: animatorController)
123+
hideTooltipActionHandler = HideTooltipActionHandler(
123124
performer: tooltipActionPerformer,
124125
showTooltip: showTooltip
125126
)
126-
self.setStateActionHandler = SetStateActionHandler(stateUpdater: stateUpdater)
127-
self.showTooltipActionHandler = ShowTooltipActionHandler(
127+
scrollActionHandler = ScrollActionHandler(
128+
blockStateStorage: blockStateStorage,
129+
updateCard: updateCard
130+
)
131+
setStateActionHandler = SetStateActionHandler(stateUpdater: stateUpdater)
132+
setStoredValueActionHandler = SetStoredValueActionHandler(
133+
persistentValuesStorage: persistentValuesStorage
134+
)
135+
showTooltipActionHandler = ShowTooltipActionHandler(
128136
performer: tooltipActionPerformer,
129137
showTooltip: showTooltip
130138
)
131-
self.submitActionHandler = SubmitActionHandler(submitter: submitter)
132-
self.timerActionHandler = TimerActionHandler(performer: performTimerAction)
139+
submitActionHandler = SubmitActionHandler(submitter: submitter)
140+
timerActionHandler = TimerActionHandler(performer: performTimerAction)
133141
}
134142

135143
public func handle(
@@ -213,32 +221,35 @@ public final class DivActionHandler {
213221
arrayActionsHandler.handle(action, context: context)
214222
case let .divActionArraySetValue(action):
215223
arrayActionsHandler.handle(action, context: context)
216-
case let .divActionDictSetValue(action):
217-
dictSetValueActionHandler.handle(action, context: context)
218224
case .divActionClearFocus:
219225
clearFocusActionHandler.handle(context: context)
220226
case let .divActionCopyToClipboard(action):
221227
copyToClipboardActionHandler.handle(action, context: context)
228+
case let .divActionDictSetValue(action):
229+
dictSetValueActionHandler.handle(action, context: context)
222230
case let .divActionFocusElement(action):
223231
focusElementActionHandler.handle(action, context: context)
232+
case let .divActionHideTooltip(action):
233+
hideTooltipActionHandler.handle(action, context: context)
234+
case let .divActionScrollBy(action):
235+
scrollActionHandler.handle(action, context: context)
236+
case let .divActionScrollTo(action):
237+
scrollActionHandler.handle(action, context: context)
224238
case let .divActionSetVariable(action):
225239
setVariableActionHandler.handle(action, context: context)
226240
case let .divActionSetState(action):
227241
setStateActionHandler.handle(action, context: context)
228-
case let .divActionTimer(action):
229-
timerActionHandler.handle(action, context: context)
230-
case let .divActionVideo(action):
231-
videoActionHandler.handle(action, context: context)
242+
case let .divActionSetStoredValue(action):
243+
setStoredValueActionHandler.handle(action, context: context)
232244
case let .divActionShowTooltip(action):
233245
showTooltipActionHandler.handle(action, context: context)
234246
case let .divActionSubmit(action):
235247
submitActionHandler.handle(action, context: context)
236-
case let .divActionHideTooltip(action):
237-
hideTooltipActionHandler.handle(action, context: context)
238-
case .divActionDownload,
239-
.divActionSetStoredValue,
240-
.divActionScrollBy,
241-
.divActionScrollTo:
248+
case let .divActionTimer(action):
249+
timerActionHandler.handle(action, context: context)
250+
case let .divActionVideo(action):
251+
videoActionHandler.handle(action, context: context)
252+
case .divActionDownload:
242253
break
243254
case .none:
244255
isHandled = false

DivKit/Actions/DivActionIntent.swift

+8-12
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ enum DivActionIntent {
1414
case scroll(id: String, mode: ScrollMode)
1515
case timer(id: String, action: DivTimerAction)
1616
case video(id: String, action: DivVideoAction)
17-
case setStoredValue(storedValue: DivStoredValue)
17+
case setStoredValue(DivStoredValue)
1818

1919
public static let scheme = "div-action"
2020

@@ -65,20 +65,20 @@ enum DivActionIntent {
6565
}
6666
self = .setPreviousItem(id: id, step: url.step ?? 1, overflow: url.overflow)
6767
case "scroll_forward":
68-
guard let id = url.id, let step = url.floatStep else {
68+
guard let id = url.id, let step = url.step else {
6969
return nil
7070
}
71-
self = .scroll(id: id, mode: .forward(step: step, overflow: url.overflow))
71+
self = .scroll(id: id, mode: .forward(step, overflow: url.overflow))
7272
case "scroll_backward":
73-
guard let id = url.id, let step = url.floatStep else {
73+
guard let id = url.id, let step = url.step else {
7474
return nil
7575
}
76-
self = .scroll(id: id, mode: .backward(step: step, overflow: url.overflow))
76+
self = .scroll(id: id, mode: .backward(step, overflow: url.overflow))
7777
case "scroll_to_position":
78-
guard let id = url.id, let step = url.floatStep else {
78+
guard let id = url.id, let step = url.step else {
7979
return nil
8080
}
81-
self = .scroll(id: id, mode: .position(step: step))
81+
self = .scroll(id: id, mode: .position(step))
8282
case "scroll_to_start":
8383
guard let id = url.id else {
8484
return nil
@@ -103,7 +103,7 @@ enum DivActionIntent {
103103
guard let storedValue = url.storedValue else {
104104
return nil
105105
}
106-
self = .setStoredValue(storedValue: storedValue)
106+
self = .setStoredValue(storedValue)
107107
default:
108108
return nil
109109
}
@@ -197,10 +197,6 @@ extension URL {
197197
}
198198
}
199199

200-
fileprivate var floatStep: CGFloat? {
201-
step.flatMap(CGFloat.init)
202-
}
203-
204200
fileprivate var step: Int? {
205201
queryParamValue(forName: "step").flatMap(Int.init)
206202
}

0 commit comments

Comments
 (0)