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