package com.blaze.rtnblazesdk import com.blaze.rtnblazesdk.base.BaseViewManager import com.blaze.rtnblazesdk.stories.BlazeRowViewManagerImp import com.blaze.rtnblazesdk.stories.BlazeStoriesRowView import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeStoriesRowViewManagerDelegate import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeStoriesRowViewManagerInterface 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 BlazeStoriesRowViewManager(context: ReactApplicationContext?) : BaseViewManager(context), RTNBlazeStoriesRowViewManagerInterface { private val mDelegate: ViewManagerDelegate = RTNBlazeStoriesRowViewManagerDelegate(this) override fun getDelegate(): ViewManagerDelegate { return mDelegate } override fun getName(): String { return BlazeRowViewManagerImp.NAME } override fun createViewInstance(context: ThemedReactContext): BlazeStoriesRowView { return BlazeRowViewManagerImp.createViewInstance(context) } override fun updateProperties(viewToUpdate: BlazeStoriesRowView, props: ReactStylesDiffMap) { super.updateProperties(viewToUpdate, props) viewToUpdate.onPropsUpdate(props) } @ReactProp(name = "dataSource") override fun setDataSource(view: BlazeStoriesRowView, value: ReadableMap?) { view.setDataSourceTypeFromMap(value) } @ReactProp(name = "presetWidgetLayout") override fun setPresetWidgetLayout(view: BlazeStoriesRowView, value: String?) { view.presetWidgetLayoutString = value } @ReactProp(name = "appOverridesCTAHandling") override fun setAppOverridesCTAHandling(view: BlazeStoriesRowView, value: Boolean) { view.appOverridesCTAHandling = value } @ReactProp(name = "blazeWidgetLayout") override fun setBlazeWidgetLayout(view: BlazeStoriesRowView, value: ReadableMap?) { view.reactWidgetLayoutStyleMap = value } @ReactProp(name = "blazeStoryPlayerStyle") override fun setBlazeStoryPlayerStyle(view: BlazeStoriesRowView, value: ReadableMap?) { view.reactWidgetPlayerStyleMap = value } @ReactProp(name = "shouldOrderWidgetByReadStatus") override fun setShouldOrderWidgetByReadStatus(view: BlazeStoriesRowView, value: Boolean) { view.shouldOrderWidgetByReadStatus = value } @ReactProp(name = "perItemStyleOverridesInternal") override fun setPerItemStyleOverrides(view: BlazeStoriesRowView, value: ReadableMap?) { view.perItemStyleOverridesReadableMap = value } @ReactProp(name = "cachingLevel") override fun setCachingLevel(view: BlazeStoriesRowView, value: String?) { view.reactCachingLevel = value } }