package com.blaze.rtnblazesdk import com.blaze.rtnblazesdk.base.BaseViewManager import com.blaze.rtnblazesdk.moments.BlazeMomentsRowView import com.blaze.rtnblazesdk.moments.BlazeRowViewManagerImp import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeMomentsRowViewManagerDelegate import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeMomentsRowViewManagerInterface import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReadableMap import com.facebook.react.module.annotations.ReactModule import com.facebook.react.uimanager.ReactStylesDiffMap import com.facebook.react.uimanager.ThemedReactContext import com.facebook.react.uimanager.ViewManagerDelegate import com.facebook.react.uimanager.annotations.ReactProp @ReactModule(name = BlazeRowViewManagerImp.NAME) class BlazeMomentsRowViewManager(context: ReactApplicationContext?) : BaseViewManager(context), RTNBlazeMomentsRowViewManagerInterface { private val mDelegate: ViewManagerDelegate = RTNBlazeMomentsRowViewManagerDelegate(this) override fun getDelegate(): ViewManagerDelegate { return mDelegate } override fun getName(): String { return BlazeRowViewManagerImp.NAME } override fun createViewInstance(context: ThemedReactContext): BlazeMomentsRowView { return BlazeRowViewManagerImp.createViewInstance(context) } override fun updateProperties(viewToUpdate: BlazeMomentsRowView, props: ReactStylesDiffMap) { super.updateProperties(viewToUpdate, props) viewToUpdate.onPropsUpdate(props) } @ReactProp(name = "dataSource") override fun setDataSource(view: BlazeMomentsRowView, value: ReadableMap?) { view.setDataSourceTypeFromMap(value) } @ReactProp(name = "presetWidgetLayout") override fun setPresetWidgetLayout(view: BlazeMomentsRowView, value: String?) { view.presetWidgetLayoutString = value } @ReactProp(name = "appOverridesCTAHandling") override fun setAppOverridesCTAHandling(view: BlazeMomentsRowView, value: Boolean) { view.appOverridesCTAHandling = value } @ReactProp(name = "blazeWidgetLayout") override fun setBlazeWidgetLayout(view: BlazeMomentsRowView, value: ReadableMap?) { view.reactWidgetLayoutStyleMap = value } @ReactProp(name = "blazeMomentsPlayerStyle") override fun setBlazeMomentsPlayerStyle(view: BlazeMomentsRowView, value: ReadableMap?) { view.reactWidgetPlayerStyleMap = value } @ReactProp(name = "shouldOrderWidgetByReadStatus") override fun setShouldOrderWidgetByReadStatus(view: BlazeMomentsRowView, value: Boolean) { view.shouldOrderWidgetByReadStatus = value } @ReactProp(name = "perItemStyleOverridesInternal") override fun setPerItemStyleOverrides(view: BlazeMomentsRowView, value: ReadableMap?) { view.perItemStyleOverridesReadableMap = value } @ReactProp(name = "cachingLevel") override fun setCachingLevel(view: BlazeMomentsRowView, value: String?) { view.reactCachingLevel = value } }