/// <summary> /// Instantiates a <see cref="UIManagerModule"/>. /// </summary> /// <param name="reactContext">The React context.</param> /// <param name="viewManagers">The view managers.</param> /// <param name="uiImplementationProvider">The UI implementation provider.</param> /// <param name="layoutActionQueue">The layout action queue.</param> /// <param name="options">Options for the <see cref="UIManagerModule"/>.</param> public UIManagerModule( ReactContext reactContext, IReadOnlyList <IViewManager> viewManagers, UIImplementationProvider uiImplementationProvider, IActionQueue layoutActionQueue, UIManagerModuleOptions options) : base(reactContext, layoutActionQueue) { if (viewManagers == null) { throw new ArgumentNullException(nameof(viewManagers)); } if (uiImplementationProvider == null) { throw new ArgumentNullException(nameof(uiImplementationProvider)); } if (layoutActionQueue == null) { throw new ArgumentNullException(nameof(layoutActionQueue)); } _eventDispatcher = new EventDispatcher(reactContext); _uiImplementation = uiImplementationProvider.Create(reactContext, viewManagers, _eventDispatcher); var lazyViewManagersEnabled = IsLazyViewManagersEnabled(options); _customDirectEvents = lazyViewManagersEnabled ? GetDirectEventTypeConstants() : new JObject(); _moduleConstants = CreateConstants(viewManagers, null, _customDirectEvents, IsLazyViewManagersEnabled(options)); _layoutActionQueue = layoutActionQueue; reactContext.AddLifecycleEventListener(this); }
/// <summary> /// Instantiates a <see cref="UIManagerModule"/>. /// </summary> /// <param name="reactContext">The React context.</param> /// <param name="viewManagers">The view managers.</param> /// <param name="uiImplementationProvider">The UI implementation provider.</param> /// <param name="layoutActionQueue">The layout action queue.</param> public UIManagerModule( ReactContext reactContext, IReadOnlyList <IViewManager> viewManagers, UIImplementationProvider uiImplementationProvider, IActionQueue layoutActionQueue) : base(reactContext, layoutActionQueue) { if (viewManagers == null) { throw new ArgumentNullException(nameof(viewManagers)); } if (uiImplementationProvider == null) { throw new ArgumentNullException(nameof(uiImplementationProvider)); } if (layoutActionQueue == null) { throw new ArgumentNullException(nameof(layoutActionQueue)); } _eventDispatcher = new EventDispatcher(reactContext); _uiImplementation = uiImplementationProvider.Create(reactContext, viewManagers, _eventDispatcher); _moduleConstants = CreateConstants(viewManagers); _layoutActionQueue = layoutActionQueue; reactContext.AddLifecycleEventListener(this); }
/// <summary> /// Instantiates a <see cref="UIManagerModule"/>. /// </summary> /// <param name="reactContext">The React context.</param> /// <param name="viewManagers">The view managers.</param> /// <param name="uiImplementationProvider">The UI implementation provider.</param> /// <param name="window">The Framework Element.</param> public UIManagerModule( ReactContext reactContext, IReadOnlyList <IViewManager> viewManagers, UIImplementationProvider uiImplementationProvider, FrameworkElement window) : base(reactContext) { if (viewManagers == null) { throw new ArgumentNullException(nameof(viewManagers)); } if (uiImplementationProvider == null) { throw new ArgumentNullException(nameof(uiImplementationProvider)); } if (window == null) { throw new ArgumentNullException(nameof(window)); } _window = window; _eventDispatcher = new EventDispatcher(reactContext); _uiImplementation = uiImplementationProvider.Create(reactContext, viewManagers, _eventDispatcher); _moduleConstants = CreateConstants(viewManagers); reactContext.AddLifecycleEventListener(this); }