TP-55640 | buy sell spread new changes (#9572)
This commit is contained in:
@@ -57,6 +57,8 @@ data class HeaderData(
|
||||
val leftTitleTag: TagData? = null,
|
||||
@SerializedName("rightTitleLottie")
|
||||
val rightTitleLottie: String? = null,
|
||||
@SerializedName("rightTitleEndIcon")
|
||||
val rightTitleEndIcon: String? = null,
|
||||
@SerializedName("rightTitle")
|
||||
var rightTitle: NaviTextComponent? = null,
|
||||
@SerializedName("actionData")
|
||||
|
||||
@@ -9,6 +9,7 @@ package com.navi.naviwidgets.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import com.navi.base.model.ActionData
|
||||
import com.navi.design.common.Padding
|
||||
import com.navi.design.textview.model.TextWithStyle
|
||||
import com.navi.design.textview.model.TextWithStyleVariation
|
||||
import com.navi.naviwidgets.models.response.Gradient
|
||||
@@ -46,7 +47,9 @@ data class GraphWidgetData(
|
||||
@SerializedName("fundDuration")
|
||||
val fundDuration: List<GraphDuration>? = null,
|
||||
@SerializedName("graphBgColor")
|
||||
val graphBgColor: String? = null
|
||||
val graphBgColor: String? = null,
|
||||
@SerializedName("rootLayoutPadding")
|
||||
val rootLayoutPadding: Padding? = null
|
||||
) : Serializable
|
||||
|
||||
data class GraphData(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.navi.naviwidgets.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import com.navi.design.common.Padding
|
||||
import com.navi.naviwidgets.models.response.WidgetError
|
||||
|
||||
|
||||
@@ -8,6 +9,7 @@ data class GridWidget(
|
||||
@SerializedName("widgetId") override val widgetId: String? = null,
|
||||
@SerializedName("widgetName") override var widgetNameForBaseAdapter: String? = WIDGET_NAME,
|
||||
@SerializedName("widgetData") val widgetData: GridWidgetData? = null,
|
||||
@SerializedName("widgetLayoutParams") val widgetLayoutParams: WidgetLayoutParams? = null,
|
||||
@SerializedName("isDependentWidget") override val isDependentWidget: Boolean? = null,
|
||||
@SerializedName("dependencyWidgetId") override val dependencyWidgetId: String? = null,
|
||||
override var isDependencyWidgetShowing: Boolean? = null,
|
||||
@@ -21,7 +23,8 @@ data class GridWidget(
|
||||
data class GridWidgetData(
|
||||
@SerializedName("gridItems") val gridItems: List<NaviWidget>? = null,
|
||||
@SerializedName("spanCount") val spanCount: Int? = null,
|
||||
@SerializedName("removeDefaultSize") val removeDefaultSize: Boolean? = false
|
||||
@SerializedName("removeDefaultSize") val removeDefaultSize: Boolean? = false,
|
||||
@SerializedName("rvPadding") val rvPadding: Padding? = null
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.navi.naviwidgets.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import com.navi.base.model.ActionData
|
||||
import com.navi.design.common.Padding
|
||||
import com.navi.naviwidgets.models.response.WidgetError
|
||||
import com.navi.naviwidgets.widgets.textdisplay.Margin
|
||||
import java.io.Serializable
|
||||
|
||||
data class TextWithCardWidget(
|
||||
@@ -31,11 +33,18 @@ data class TextWithCardWidgetData(
|
||||
val actionData: ActionData? = null,
|
||||
@SerializedName("bgColor")
|
||||
val bgColor: String? = null,
|
||||
@SerializedName("borderWidth")
|
||||
val borderWidth: Int? = null,
|
||||
@SerializedName("borderColor")
|
||||
val borderColor: String? = null,
|
||||
@SerializedName("topIconCode")
|
||||
val topIconCode: String? = null,
|
||||
@SerializedName("isDisabled")
|
||||
var isDisabled: Boolean? = null,
|
||||
@SerializedName("bottomSheetData")
|
||||
var bottomSheetData: List<NaviWidget>? = null
|
||||
|
||||
var bottomSheetData: List<NaviWidget>? = null,
|
||||
@SerializedName("topIconMargin")
|
||||
val topIconMargin: Margin? = null,
|
||||
@SerializedName("containerPadding")
|
||||
val containerPadding: Padding? = null
|
||||
)
|
||||
|
||||
@@ -156,10 +156,10 @@ class GoldPortfolioCardWidgetLayout @JvmOverloads constructor(
|
||||
binding.headerCl.visibility = View.VISIBLE
|
||||
headerData.headerPadding?.let {
|
||||
binding.headerCl.setPadding(
|
||||
dpToPxInInt(it.start ?: 16),
|
||||
dpToPxInInt(it.top ?: 8),
|
||||
dpToPxInInt(it.end ?: 16),
|
||||
dpToPxInInt(it.bottom ?: 8)
|
||||
dpToPxInInt(it.start ?: 8),
|
||||
dpToPxInInt(it.top ?: 12),
|
||||
dpToPxInInt(it.end ?: 8),
|
||||
dpToPxInInt(it.bottom ?: 12)
|
||||
)
|
||||
}
|
||||
binding.leftLottie.showWhenDataIsAvailable(headerData.leftTitleLottie, true)
|
||||
@@ -174,6 +174,7 @@ class GoldPortfolioCardWidgetLayout @JvmOverloads constructor(
|
||||
context = context,
|
||||
span = headerData.rightTitle?.span
|
||||
)
|
||||
binding.rightTitleEndIcon.showWhenDataIsAvailable(headerData.rightTitleEndIcon)
|
||||
headerData.leftTitleTag?.let { tagData ->
|
||||
binding.leftTitleTag.text = tagData.title?.text.spannedText(
|
||||
context = context,
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.google.android.material.chip.ChipGroup
|
||||
import com.navi.base.model.NaviWidgetClickWithActionData
|
||||
import com.navi.base.utils.orFalse
|
||||
import com.navi.base.utils.orZero
|
||||
import com.navi.design.utils.dpToPxInInt
|
||||
import com.navi.design.utils.parseColorSafe
|
||||
import com.navi.design.utils.setSpannableString
|
||||
import com.navi.naviwidgets.R
|
||||
@@ -68,6 +69,12 @@ class GraphWidgetLayout @JvmOverloads constructor(
|
||||
private fun setProperties() {
|
||||
binding.apply {
|
||||
setWidgetLayoutParams(graphWidget?.widgetData?.widgetLayoutParams, root)
|
||||
binding.root.setPadding(
|
||||
dpToPxInInt(graphWidget?.widgetData?.rootLayoutPadding?.start ?: 0),
|
||||
dpToPxInInt(graphWidget?.widgetData?.rootLayoutPadding?.top ?: 14),
|
||||
dpToPxInInt(graphWidget?.widgetData?.rootLayoutPadding?.end ?: 0),
|
||||
dpToPxInInt(graphWidget?.widgetData?.rootLayoutPadding?.bottom ?: 14),
|
||||
)
|
||||
binding.options.setOnCheckedStateChangeListener(::updateSelectedChips)
|
||||
graphWidget?.widgetData?.let { data ->
|
||||
data.graphBgColor?.let { bgColor ->
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.navi.naviwidgets.callbacks.WidgetCallback
|
||||
import com.navi.naviwidgets.databinding.GridWidgetLayoutBinding
|
||||
import com.navi.naviwidgets.models.GridWidget
|
||||
import com.navi.naviwidgets.models.NaviWidget
|
||||
import com.navi.naviwidgets.utils.setWidgetLayoutParams
|
||||
import com.navi.naviwidgets.viewholder.BaseViewHolder
|
||||
import com.navi.naviwidgets.viewholder.ViewHolderFactoryImpl
|
||||
|
||||
@@ -84,6 +85,17 @@ class GridWidgetLayout @JvmOverloads constructor(
|
||||
|
||||
private fun setProperties() {
|
||||
binding.rvGrid.apply {
|
||||
widgetInfo.widgetLayoutParams?.let {
|
||||
setWidgetLayoutParams(it, binding.root)
|
||||
}
|
||||
widgetInfo.widgetData?.rvPadding?.let { padding ->
|
||||
setPadding(
|
||||
dpToPxInInt(padding.start ?: 0),
|
||||
dpToPxInInt(padding.top ?: 16),
|
||||
dpToPxInInt(padding.end ?: 0),
|
||||
dpToPxInInt(padding.bottom ?: 16),
|
||||
)
|
||||
}
|
||||
widgetInfo.widgetData?.let { widgetData ->
|
||||
widgetData.gridItems?.let { list ->
|
||||
layoutManager = widgetData.spanCount?.let { spanCount ->
|
||||
|
||||
@@ -6,8 +6,10 @@ import android.graphics.Color
|
||||
import android.util.AttributeSet
|
||||
import androidx.cardview.widget.CardView
|
||||
import com.navi.base.utils.orFalse
|
||||
import com.navi.design.utils.dpToPxInInt
|
||||
import com.navi.design.utils.getNaviDrawable
|
||||
import com.navi.design.utils.isValidHexColor
|
||||
import com.navi.design.utils.parseColorSafe
|
||||
import com.navi.design.utils.spannedText
|
||||
import com.navi.naviwidgets.R
|
||||
import com.navi.naviwidgets.actions.NaviWidgetClick
|
||||
@@ -15,6 +17,7 @@ import com.navi.naviwidgets.callbacks.WidgetCallback
|
||||
import com.navi.naviwidgets.databinding.TextWithCardWidgetLayoutBinding
|
||||
import com.navi.naviwidgets.extensions.showWhenDataIsAvailable
|
||||
import com.navi.naviwidgets.models.TextWithCardWidget
|
||||
import com.navi.naviwidgets.utils.setMargin
|
||||
import com.navi.naviwidgets.utils.setWidgetLayoutParams
|
||||
|
||||
class TextWithCardWidgetLayout @JvmOverloads constructor(
|
||||
@@ -52,9 +55,12 @@ class TextWithCardWidgetLayout @JvmOverloads constructor(
|
||||
span = data.title.span
|
||||
)
|
||||
topIcon.showWhenDataIsAvailable(data.topIconCode)
|
||||
topIcon.setMargin(data.topIconMargin)
|
||||
if (isValidHexColor(data.bgColor)) {
|
||||
root.background = getNaviDrawable(
|
||||
cornerRadius = resources.getDimension(DesignR.dimen.dp_8).toInt(),
|
||||
strokeWidth = dpToPxInInt(data.borderWidth ?: 0),
|
||||
strokeColor = data.borderColor.parseColorSafe(),
|
||||
backgroundColor = Color.parseColor(data.bgColor)
|
||||
)
|
||||
} else {
|
||||
@@ -66,6 +72,12 @@ class TextWithCardWidgetLayout @JvmOverloads constructor(
|
||||
root.isEnabled = false
|
||||
}
|
||||
}
|
||||
containerCl.setPadding(
|
||||
dpToPxInInt(data.containerPadding?.start ?: 16),
|
||||
dpToPxInInt(data.containerPadding?.top ?: 0),
|
||||
dpToPxInInt(data.containerPadding?.end ?: 16),
|
||||
dpToPxInInt(data.containerPadding?.bottom ?: 14),
|
||||
)
|
||||
setOnClickListener {
|
||||
widgetCallback.onClick(
|
||||
NaviWidgetClick(
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
android:id="@+id/header_cl"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="@dimen/dp_16"
|
||||
android:paddingHorizontal="@dimen/dp_8"
|
||||
android:paddingVertical="@dimen/dp_8"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/body_cl"
|
||||
@@ -102,12 +102,27 @@
|
||||
android:id="@+id/right_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_8"
|
||||
app:layout_goneMarginEnd="@dimen/dp_0"
|
||||
app:layout_constraintStart_toEndOf="@id/right_lottie"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/right_title_end_icon"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
tools:text="349.45 gm"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/right_title_end_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toEndOf="@id/right_title"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
tools:src="@drawable/image_placeholder_small"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
app:cardElevation="@dimen/dp_10">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/container_cl"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="@dimen/dp_16"
|
||||
|
||||
Reference in New Issue
Block a user