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