TP-52584 | modifier refactor fixes (#303)
This commit is contained in:
committed by
GitHub
parent
23386c5bcb
commit
bf4ab0c0b7
@@ -15,7 +15,7 @@ import setVerticalScroll
|
||||
|
||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||
class BoxModifierBuilder(
|
||||
private var modifier: Modifier,
|
||||
modifier: Modifier,
|
||||
private val property: BoxProperty,
|
||||
uiTronData: UiTronData?,
|
||||
uiTronViewModel: UiTronViewModel
|
||||
@@ -24,18 +24,18 @@ class BoxModifierBuilder(
|
||||
override fun build(): Modifier {
|
||||
setIdModifiers()
|
||||
setSizeModifiers()
|
||||
modifier = modifier
|
||||
finalModifier = finalModifier
|
||||
.setVerticalScroll(property.verticalScroll)
|
||||
.setHorizontalScroll(property.horizontalScroll)
|
||||
setBorderModifiers()
|
||||
modifier = modifier.setShimmerEffect(property.isShimmerEnabled)
|
||||
finalModifier = finalModifier.setShimmerEffect(property.isShimmerEnabled)
|
||||
setClickableModifiers()
|
||||
modifier = modifier.shadow(
|
||||
finalModifier = finalModifier.shadow(
|
||||
elevation = property.elevation?.toInt()?.dp ?: 0.dp,
|
||||
spotColor = property.spotColor?.hexToComposeColor ?: Color.Transparent,
|
||||
ambientColor = property.ambientColor?.hexToComposeColor ?: Color.Transparent
|
||||
)
|
||||
return modifier
|
||||
return finalModifier
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,7 +8,7 @@ import com.navi.uitron.viewmodel.UiTronViewModel
|
||||
|
||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||
class ButtonModifierBuilder(
|
||||
private var modifier: Modifier,
|
||||
modifier: Modifier,
|
||||
property: ButtonProperty,
|
||||
uiTronData: UiTronData?,
|
||||
uiTronViewModel: UiTronViewModel
|
||||
@@ -20,7 +20,7 @@ class ButtonModifierBuilder(
|
||||
setMargin()
|
||||
setPadding()
|
||||
setEffectModifiers()
|
||||
return modifier
|
||||
return finalModifier
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,7 +14,7 @@ import hexToComposeColor
|
||||
|
||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||
class CardModifierBuilder(
|
||||
private var modifier: Modifier,
|
||||
modifier: Modifier,
|
||||
private val property: CardProperty,
|
||||
uiTronData: UiTronData?,
|
||||
uiTronViewModel: UiTronViewModel
|
||||
@@ -25,7 +25,7 @@ class CardModifierBuilder(
|
||||
setSizeModifiers()
|
||||
setPadding()
|
||||
setClipShape()
|
||||
modifier = modifier.composed {
|
||||
finalModifier = finalModifier.composed {
|
||||
shadow(
|
||||
elevation = property.elevation?.dp ?: 0.dp,
|
||||
ambientColor = property.ambientColor?.hexToComposeColor
|
||||
@@ -36,7 +36,7 @@ class CardModifierBuilder(
|
||||
}
|
||||
setClickableModifiers()
|
||||
setEffectModifiers()
|
||||
return modifier
|
||||
return finalModifier
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,15 +2,19 @@ package com.navi.uitron.modifer
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import androidx.compose.ui.Modifier
|
||||
import clip
|
||||
import com.navi.uitron.model.data.UiTronData
|
||||
import com.navi.uitron.model.ui.ColumnProperty
|
||||
import com.navi.uitron.viewmodel.UiTronViewModel
|
||||
import setBackground
|
||||
import setBorderStroke
|
||||
import setHorizontalScroll
|
||||
import setPadding
|
||||
import setVerticalScroll
|
||||
|
||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||
class ColumnModifierBuilder(
|
||||
private var modifier: Modifier,
|
||||
modifier: Modifier,
|
||||
private val property: ColumnProperty,
|
||||
uiTronData: UiTronData?,
|
||||
uiTronViewModel: UiTronViewModel
|
||||
@@ -18,14 +22,14 @@ class ColumnModifierBuilder(
|
||||
|
||||
override fun build(): Modifier {
|
||||
setIdModifiers()
|
||||
modifier = modifier
|
||||
finalModifier = finalModifier
|
||||
.setVerticalScroll(property.verticalScroll)
|
||||
.setHorizontalScroll(property.horizontalScroll)
|
||||
setSizeModifiers()
|
||||
setBorderModifiers()
|
||||
setClickableModifiers()
|
||||
setEffectModifiers()
|
||||
return modifier
|
||||
return finalModifier
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import setVerticalScroll
|
||||
|
||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||
class ConstraintModifierBuilder(
|
||||
private var modifier: Modifier,
|
||||
modifier: Modifier,
|
||||
private val property: ConstraintProperty,
|
||||
uiTronData: UiTronData?,
|
||||
uiTronViewModel: UiTronViewModel
|
||||
@@ -19,13 +19,13 @@ class ConstraintModifierBuilder(
|
||||
override fun build(): Modifier {
|
||||
setIdModifiers()
|
||||
setSizeModifiers()
|
||||
modifier = modifier
|
||||
finalModifier = finalModifier
|
||||
.setVerticalScroll(property.verticalScroll)
|
||||
.setHorizontalScroll(property.horizontalScroll)
|
||||
setBorderModifiers()
|
||||
setClickableModifiers()
|
||||
setEffectModifiers()
|
||||
return modifier
|
||||
return finalModifier
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,44 +23,46 @@ import setWidthRange
|
||||
|
||||
@Suppress("UNCHECKED_CAST", "MemberVisibilityCanBePrivate")
|
||||
open class ModifierBuilder<T : ModifierBuilder<T>>(
|
||||
private var modifier: Modifier,
|
||||
modifier: Modifier,
|
||||
private val property: BaseProperty,
|
||||
private val uiTronData: UiTronData?,
|
||||
private val uiTronViewModel: UiTronViewModel
|
||||
open val uiTronData: UiTronData?,
|
||||
open val uiTronViewModel: UiTronViewModel
|
||||
) {
|
||||
|
||||
open var finalModifier = modifier
|
||||
|
||||
fun setCustomOffset(): T {
|
||||
modifier = modifier.customOffset(property.offset)
|
||||
finalModifier = finalModifier.customOffset(property.offset)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setWidth(): T {
|
||||
modifier = modifier.setWidth(property.width)
|
||||
finalModifier = finalModifier.setWidth(property.width)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setHeight(): T {
|
||||
modifier = modifier.setHeight(property.height)
|
||||
finalModifier = finalModifier.setHeight(property.height)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setWidthRange(): T {
|
||||
modifier = modifier.setWidthRange(property.widthRange)
|
||||
finalModifier = finalModifier.setWidthRange(property.widthRange)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setHeightRange(): T {
|
||||
modifier = modifier.setHeightRange(property.heightRange)
|
||||
finalModifier = finalModifier.setHeightRange(property.heightRange)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setMargin(): T {
|
||||
modifier = modifier.setPadding(property.margin)
|
||||
finalModifier = finalModifier.setPadding(property.margin)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setBackground(): T {
|
||||
modifier = modifier.setBackground(
|
||||
finalModifier = finalModifier.setBackground(
|
||||
property.backgroundColor,
|
||||
property.shape,
|
||||
property.backGroundBrushData
|
||||
@@ -69,32 +71,32 @@ open class ModifierBuilder<T : ModifierBuilder<T>>(
|
||||
}
|
||||
|
||||
fun setPadding(): T {
|
||||
modifier = modifier.setPadding(property.padding)
|
||||
finalModifier = finalModifier.setPadding(property.padding)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setBorderStroke(): T {
|
||||
modifier = modifier.setBorderStroke(property.borderStrokeData)
|
||||
finalModifier = finalModifier.setBorderStroke(property.borderStrokeData)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setClipShape(): T {
|
||||
modifier = modifier.clip(property.clipShape)
|
||||
finalModifier = finalModifier.clip(property.clipShape)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setTag(): T {
|
||||
modifier = modifier.setTag(property)
|
||||
finalModifier = finalModifier.setTag(property)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setLayoutId(): T {
|
||||
modifier = modifier.layoutId(property.layoutId.orEmpty())
|
||||
finalModifier = finalModifier.layoutId(property.layoutId.orEmpty())
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setCustomClickable(): T {
|
||||
modifier = modifier.customClickable(
|
||||
finalModifier = finalModifier.customClickable(
|
||||
{
|
||||
uiTronViewModel.handleActions(uiTronData?.onClick)
|
||||
},
|
||||
@@ -105,19 +107,19 @@ open class ModifierBuilder<T : ModifierBuilder<T>>(
|
||||
}
|
||||
|
||||
fun setCustomCombinedClick(): T {
|
||||
modifier = modifier.customCombinedClick(property, uiTronData) {
|
||||
finalModifier = finalModifier.customCombinedClick(property, uiTronData) {
|
||||
uiTronViewModel.handleActions(it)
|
||||
}
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setAlpha(): T {
|
||||
modifier = modifier.alpha(property.alpha ?: 1.0f)
|
||||
finalModifier = finalModifier.alpha(property.alpha ?: 1.0f)
|
||||
return this as T
|
||||
}
|
||||
|
||||
fun setBlur(): T {
|
||||
modifier = modifier.setBlur(property.blurData)
|
||||
finalModifier = finalModifier.setBlur(property.blurData)
|
||||
return this as T
|
||||
}
|
||||
|
||||
@@ -168,7 +170,7 @@ open class ModifierBuilder<T : ModifierBuilder<T>>(
|
||||
|
||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||
open fun build(): Modifier {
|
||||
return modifier
|
||||
return finalModifier
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import setVerticalScroll
|
||||
|
||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||
class RowModifierBuilder(
|
||||
private var modifier: Modifier,
|
||||
modifier: Modifier,
|
||||
private val property: RowProperty,
|
||||
uiTronData: UiTronData?,
|
||||
uiTronViewModel: UiTronViewModel
|
||||
@@ -18,14 +18,14 @@ class RowModifierBuilder(
|
||||
|
||||
override fun build(): Modifier {
|
||||
setIdModifiers()
|
||||
modifier = modifier
|
||||
finalModifier = finalModifier
|
||||
.setVerticalScroll(property.verticalScroll)
|
||||
.setHorizontalScroll(property.horizontalScroll)
|
||||
setSizeModifiers()
|
||||
setBorderModifiers()
|
||||
setClickableModifiers()
|
||||
setEffectModifiers()
|
||||
return modifier
|
||||
return finalModifier
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,7 +9,7 @@ import com.navi.uitron.viewmodel.UiTronViewModel
|
||||
|
||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||
class SliderModifierBuilder(
|
||||
private var modifier: Modifier,
|
||||
modifier: Modifier,
|
||||
private val property: SliderProperty,
|
||||
uiTronData: UiTronData?,
|
||||
uiTronViewModel: UiTronViewModel
|
||||
@@ -20,8 +20,8 @@ class SliderModifierBuilder(
|
||||
setSizeModifiers()
|
||||
setPadding()
|
||||
setEffectModifiers()
|
||||
modifier = modifier.rotate(property.rotation ?: 0f)
|
||||
return modifier
|
||||
finalModifier = finalModifier.rotate(property.rotation ?: 0f)
|
||||
return finalModifier
|
||||
}
|
||||
|
||||
}
|
||||
@@ -61,7 +61,12 @@ class SpacerRenderer : Renderer<SpacerProperty> {
|
||||
Spacer(
|
||||
modifier = if (UiTronSdkManager.isModifierBuilderEnabled()) {
|
||||
ModifierBuilder(modifier ?: Modifier, property, uiTronData, uiTronViewModel)
|
||||
.setDefaultModifiers()
|
||||
.setIdModifiers()
|
||||
.setSizeModifiers()
|
||||
.setClickableModifiers()
|
||||
.setClipShape()
|
||||
.setAlpha()
|
||||
.setBorderModifiers()
|
||||
.build()
|
||||
} else {
|
||||
(modifier ?: Modifier)
|
||||
|
||||
Reference in New Issue
Block a user