TP-53391 | Added support for default action and common action in Exec… (#9235)

This commit is contained in:
Soumya Ranjan Patra
2024-01-09 19:04:08 +05:30
committed by GitHub
parent f5a69ef965
commit 2ac3e2a82a

View File

@@ -31,7 +31,9 @@ import org.mvel2.MVEL
data class ExecuteActionsCorrespondingToKey(
@SerializedName("key") var key: String? = null,
@SerializedName("data") val data: HashMap<String?, UiTronActionData?>? = null,
@SerializedName("mvelExpression") val mvelExpression: String? = null
@SerializedName("mvelExpression") val mvelExpression: String? = null,
@SerializedName("defaultAction") val defaultAction: UiTronActionData? = null,
@SerializedName("commonAction") val commonAction: UiTronActionData? = null,
) : UiTronAction(), Parcelable {
override suspend fun manageAction(actionDetails: ActionDetails) {
val action = actionDetails.uiTronAction as ExecuteActionsCorrespondingToKey
@@ -56,10 +58,11 @@ data class ExecuteActionsCorrespondingToKey(
}
}
actionDetails.actionCallbackFlow?.let { actionCallbackFlow ->
if (action.key != null) {
action.data?.get(action.key)?.let {
actionDetails.actionHandler.handleActions(it, actionCallbackFlow)
}
action.data?.get(action.key)?.let {
actionDetails.actionHandler.handleActions(commonAction, actionCallbackFlow)
actionDetails.actionHandler.handleActions(it, actionCallbackFlow)
} ?: run {
actionDetails.actionHandler.handleActions(defaultAction, actionCallbackFlow)
}
}
}