diff --git a/ReactWindows/ReactNative.Net46/ReactNative.Net46.csproj b/ReactWindows/ReactNative.Net46/ReactNative.Net46.csproj index 79dd1f9d42c..004a741bb1e 100644 --- a/ReactWindows/ReactNative.Net46/ReactNative.Net46.csproj +++ b/ReactWindows/ReactNative.Net46/ReactNative.Net46.csproj @@ -1,4 +1,4 @@ - + @@ -61,6 +61,7 @@ True + @@ -89,6 +90,7 @@ ..\packages\PCLStorage.1.0.2\lib\net45\PCLStorage.Abstractions.dll True + @@ -125,4 +127,4 @@ --> - + \ No newline at end of file diff --git a/ReactWindows/ReactNative.Shared/ReactNative.Shared.projitems b/ReactWindows/ReactNative.Shared/ReactNative.Shared.projitems index f84fe379d10..d31b840178e 100644 --- a/ReactWindows/ReactNative.Shared/ReactNative.Shared.projitems +++ b/ReactWindows/ReactNative.Shared/ReactNative.Shared.projitems @@ -105,19 +105,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ReactWindows/ReactNative/UIManager/BorderExtensions.cs b/ReactWindows/ReactNative.Shared/UIManager/BorderExtensions.cs similarity index 92% rename from ReactWindows/ReactNative/UIManager/BorderExtensions.cs rename to ReactWindows/ReactNative.Shared/UIManager/BorderExtensions.cs index 6b5a65c3f82..dff8e319b65 100644 --- a/ReactWindows/ReactNative/UIManager/BorderExtensions.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/BorderExtensions.cs @@ -1,6 +1,11 @@ using Facebook.CSSLayout; +#if WINDOWS_UWP using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; +#else +using System.Windows; +using System.Windows.Controls; +#endif namespace ReactNative.UIManager { diff --git a/ReactWindows/ReactNative/UIManager/ColorHelpers.cs b/ReactWindows/ReactNative.Shared/UIManager/ColorHelpers.cs similarity index 86% rename from ReactWindows/ReactNative/UIManager/ColorHelpers.cs rename to ReactWindows/ReactNative.Shared/UIManager/ColorHelpers.cs index 7d01c6ed528..4bb6e376831 100644 --- a/ReactWindows/ReactNative/UIManager/ColorHelpers.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/ColorHelpers.cs @@ -1,4 +1,8 @@ -using Windows.UI; +#if WINDOWS_UWP +using Windows.UI; +#else +using System.Windows.Media; +#endif namespace ReactNative.UIManager { diff --git a/ReactWindows/ReactNative/UIManager/DependencyObjectExtensions.cs b/ReactWindows/ReactNative.Shared/UIManager/DependencyObjectExtensions.cs similarity index 99% rename from ReactWindows/ReactNative/UIManager/DependencyObjectExtensions.cs rename to ReactWindows/ReactNative.Shared/UIManager/DependencyObjectExtensions.cs index 4ebce7b03aa..124f8b29c60 100644 --- a/ReactWindows/ReactNative/UIManager/DependencyObjectExtensions.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/DependencyObjectExtensions.cs @@ -1,6 +1,10 @@ using System; using System.Runtime.CompilerServices; +#if WINDOWS_UWP using Windows.UI.Xaml; +#else +using System.Windows; +#endif using static System.FormattableString; namespace ReactNative.UIManager diff --git a/ReactWindows/ReactNative/UIManager/Events/EventDispatcher.cs b/ReactWindows/ReactNative.Shared/UIManager/Events/EventDispatcher.cs similarity index 99% rename from ReactWindows/ReactNative/UIManager/Events/EventDispatcher.cs rename to ReactWindows/ReactNative.Shared/UIManager/Events/EventDispatcher.cs index 27255f7c158..ba4c0847ccc 100644 --- a/ReactWindows/ReactNative/UIManager/Events/EventDispatcher.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/Events/EventDispatcher.cs @@ -3,7 +3,11 @@ using System; using System.Collections.Generic; using System.Threading; +#if WINDOWS_UWP using Windows.UI.Xaml.Media; +#else +using System.Windows.Media; +#endif using static System.FormattableString; namespace ReactNative.UIManager.Events diff --git a/ReactWindows/ReactNative/UIManager/IReactCompoundView.cs b/ReactWindows/ReactNative.Shared/UIManager/IReactCompoundView.cs similarity index 95% rename from ReactWindows/ReactNative/UIManager/IReactCompoundView.cs rename to ReactWindows/ReactNative.Shared/UIManager/IReactCompoundView.cs index 7c97ff99731..2ce8730c5fc 100644 --- a/ReactWindows/ReactNative/UIManager/IReactCompoundView.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/IReactCompoundView.cs @@ -3,8 +3,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +#if WINDOWS_UWP using Windows.Foundation; using Windows.UI.Xaml; +#else +using System.Windows; +#endif namespace ReactNative.UIManager { diff --git a/ReactWindows/ReactNative/UIManager/IRootView.cs b/ReactWindows/ReactNative.Shared/UIManager/IRootView.cs similarity index 83% rename from ReactWindows/ReactNative/UIManager/IRootView.cs rename to ReactWindows/ReactNative.Shared/UIManager/IRootView.cs index d441bac6ae6..348b8c07ad1 100644 --- a/ReactWindows/ReactNative/UIManager/IRootView.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/IRootView.cs @@ -1,4 +1,8 @@ -using Windows.UI.Xaml; +#if WINDOWS_UWP +using Windows.UI.Xaml; +#else +using System.Windows; +#endif namespace ReactNative.UIManager { diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/AnimatedPropertyType.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/AnimatedPropertyType.cs similarity index 100% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/AnimatedPropertyType.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/AnimatedPropertyType.cs diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/BaseLayoutAnimation.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/BaseLayoutAnimation.cs similarity index 93% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/BaseLayoutAnimation.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/BaseLayoutAnimation.cs index 72c42d2b072..38cd92693df 100644 --- a/ReactWindows/ReactNative/UIManager/LayoutAnimation/BaseLayoutAnimation.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/BaseLayoutAnimation.cs @@ -1,7 +1,12 @@ using System; using System.Reactive; +#if WINDOWS_UWP using Windows.UI.Xaml; using Windows.UI.Xaml.Media.Animation; +#else +using System.Windows; +using System.Windows.Media.Animation; +#endif namespace ReactNative.UIManager.LayoutAnimation { @@ -77,7 +82,11 @@ private Timeline CreateOpacityAnimation(FrameworkElement view, double from, doub }; Storyboard.SetTarget(timeline, view); +#if WINDOWS_UWP Storyboard.SetTargetProperty(timeline, "Opacity"); +#else + Storyboard.SetTargetProperty(timeline, new PropertyPath("Opacity")); +#endif return timeline; } diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/InterpolationType.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/InterpolationType.cs similarity index 100% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/InterpolationType.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/InterpolationType.cs diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/InterpolationTypeExtensions.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/InterpolationTypeExtensions.cs similarity index 96% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/InterpolationTypeExtensions.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/InterpolationTypeExtensions.cs index bd039626e21..5a73e10ccc9 100644 --- a/ReactWindows/ReactNative/UIManager/LayoutAnimation/InterpolationTypeExtensions.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/InterpolationTypeExtensions.cs @@ -1,6 +1,10 @@ using Newtonsoft.Json.Linq; using System; +#if WINDOWS_UWP using Windows.UI.Xaml.Media.Animation; +#else +using System.Windows.Media.Animation; +#endif namespace ReactNative.UIManager.LayoutAnimation { diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutAnimation.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutAnimation.cs similarity index 97% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutAnimation.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutAnimation.cs index ef2ed4759bf..a71e865b093 100644 --- a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutAnimation.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutAnimation.cs @@ -3,8 +3,13 @@ using ReactNative.Reflection; using System; using System.Reactive; +#if WINDOWS_UWP using Windows.UI.Xaml; using Windows.UI.Xaml.Media.Animation; +#else +using System.Windows; +using System.Windows.Media.Animation; +#endif namespace ReactNative.UIManager.LayoutAnimation { diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutAnimationController.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutAnimationController.cs similarity index 98% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutAnimationController.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutAnimationController.cs index 9061215d528..bf8f3b17f0a 100644 --- a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutAnimationController.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutAnimationController.cs @@ -5,8 +5,13 @@ using System.Reactive.Disposables; using System.Reactive.Linq; using System.Runtime.CompilerServices; +#if WINDOWS_UWP using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; +#else +using System.Windows; +using System.Windows.Controls; +#endif namespace ReactNative.UIManager.LayoutAnimation { diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutCreateAnimation.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutCreateAnimation.cs similarity index 95% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutCreateAnimation.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutCreateAnimation.cs index 52a0123a190..ed512501b69 100644 --- a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutCreateAnimation.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutCreateAnimation.cs @@ -1,8 +1,13 @@ using System; using System.Reactive; using System.Reactive.Linq; +#if WINDOWS_UWP using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; +#else +using System.Windows; +using System.Windows.Controls; +#endif namespace ReactNative.UIManager.LayoutAnimation { diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutDeleteAnimation.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutDeleteAnimation.cs similarity index 100% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutDeleteAnimation.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutDeleteAnimation.cs diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutUpdateAnimation.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutUpdateAnimation.cs similarity index 92% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutUpdateAnimation.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutUpdateAnimation.cs index 5d7706b2e1e..e92f01cf50d 100644 --- a/ReactWindows/ReactNative/UIManager/LayoutAnimation/LayoutUpdateAnimation.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/LayoutUpdateAnimation.cs @@ -1,8 +1,14 @@ using System; using System.Reactive; +#if WINDOWS_UWP using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Media.Animation; +#else +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media.Animation; +#endif namespace ReactNative.UIManager.LayoutAnimation { @@ -62,14 +68,18 @@ protected override IObservable CreateAnimationCore(FrameworkElement view, if (currentWidth != dimensions.Width) { var timeline = CreateTimeline(view, "Width", currentWidth, dimensions.Width); +#if WINDOWS_UWP timeline.EnableDependentAnimation = true; +#endif storyboard.Children.Add(timeline); } if (currentHeight != dimensions.Height) { var timeline = CreateTimeline(view, "Height", currentHeight, dimensions.Height); +#if WINDOWS_UWP timeline.EnableDependentAnimation = true; +#endif storyboard.Children.Add(timeline); } @@ -94,7 +104,11 @@ private DoubleAnimation CreateTimeline(FrameworkElement view, string path, doubl }; Storyboard.SetTarget(timeline, view); +#if WINDOWS_UWP Storyboard.SetTargetProperty(timeline, path); +#else + Storyboard.SetTargetProperty(timeline, new PropertyPath(path)); +#endif return timeline; } diff --git a/ReactWindows/ReactNative/UIManager/LayoutAnimation/StoryboardObservable.cs b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/StoryboardObservable.cs similarity index 84% rename from ReactWindows/ReactNative/UIManager/LayoutAnimation/StoryboardObservable.cs rename to ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/StoryboardObservable.cs index f2e2afa71ab..bc25a6a60f3 100644 --- a/ReactWindows/ReactNative/UIManager/LayoutAnimation/StoryboardObservable.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/LayoutAnimation/StoryboardObservable.cs @@ -1,7 +1,11 @@ using System; using System.Reactive; using System.Reactive.Linq; +#if WINDOWS_UWP using Windows.UI.Xaml.Media.Animation; +#else +using System.Windows.Media.Animation; +#endif namespace ReactNative.UIManager.LayoutAnimation { @@ -26,8 +30,13 @@ public IDisposable Subscribe(IObserver observer) _storyboard.Begin(); return Observable.FromEventPattern( +#if WINDOWS_UWP h => _storyboard.Completed += h, h => _storyboard.Completed -= h) +#else + h => _storyboard.Completed += new EventHandler(h), + h => _storyboard.Completed -= new EventHandler(h)) +#endif .Select(v => default(Unit)) .Finally(() => { diff --git a/ReactWindows/ReactNative/UIManager/MatrixMathHelper.cs b/ReactWindows/ReactNative.Shared/UIManager/MatrixMathHelper.cs similarity index 98% rename from ReactWindows/ReactNative/UIManager/MatrixMathHelper.cs rename to ReactWindows/ReactNative.Shared/UIManager/MatrixMathHelper.cs index 8a8f004513f..fc56ef284f4 100644 --- a/ReactWindows/ReactNative/UIManager/MatrixMathHelper.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/MatrixMathHelper.cs @@ -1,5 +1,9 @@ using System; +#if WINDOWS_UWP using Windows.UI.Xaml.Media.Media3D; +#else +using System.Windows.Media.Media3D; +#endif namespace ReactNative.UIManager { diff --git a/ReactWindows/ReactNative/UIManager/ReactDefaultCompoundView.cs b/ReactWindows/ReactNative.Shared/UIManager/ReactDefaultCompoundView.cs similarity index 88% rename from ReactWindows/ReactNative/UIManager/ReactDefaultCompoundView.cs rename to ReactWindows/ReactNative.Shared/UIManager/ReactDefaultCompoundView.cs index 25daaddb1e4..318ddb82d57 100644 --- a/ReactWindows/ReactNative/UIManager/ReactDefaultCompoundView.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/ReactDefaultCompoundView.cs @@ -3,8 +3,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +#if WINDOWS_UWP using Windows.Foundation; using Windows.UI.Xaml; +#else +using System.Windows; +#endif namespace ReactNative.UIManager { diff --git a/ReactWindows/ReactNative/UIManager/SizeMonitoringCanvas.cs b/ReactWindows/ReactNative.Shared/UIManager/SizeMonitoringCanvas.cs similarity index 94% rename from ReactWindows/ReactNative/UIManager/SizeMonitoringCanvas.cs rename to ReactWindows/ReactNative.Shared/UIManager/SizeMonitoringCanvas.cs index d56f8a38d9b..64560f41d1b 100644 --- a/ReactWindows/ReactNative/UIManager/SizeMonitoringCanvas.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/SizeMonitoringCanvas.cs @@ -1,6 +1,11 @@ using System; +#if WINDOWS_UWP using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; +#else +using System.Windows; +using System.Windows.Controls; +#endif namespace ReactNative.UIManager { diff --git a/ReactWindows/ReactNative/UIManager/TransformHelper.cs b/ReactWindows/ReactNative.Shared/UIManager/TransformHelper.cs similarity index 98% rename from ReactWindows/ReactNative/UIManager/TransformHelper.cs rename to ReactWindows/ReactNative.Shared/UIManager/TransformHelper.cs index 137bb524896..b566e5ed26e 100644 --- a/ReactWindows/ReactNative/UIManager/TransformHelper.cs +++ b/ReactWindows/ReactNative.Shared/UIManager/TransformHelper.cs @@ -1,7 +1,11 @@ using Newtonsoft.Json.Linq; using System; using System.Linq; +#if WINDOWS_UWP using Windows.UI.Xaml.Media.Media3D; +#else +using System.Windows.Media.Media3D; +#endif using static System.FormattableString; namespace ReactNative.UIManager diff --git a/ReactWindows/ReactNative/ReactNative.csproj b/ReactWindows/ReactNative/ReactNative.csproj index b4bc3edf132..23493ad9d84 100644 --- a/ReactWindows/ReactNative/ReactNative.csproj +++ b/ReactWindows/ReactNative/ReactNative.csproj @@ -169,8 +169,7 @@ True LoggingActivityBuilderExtensions.tt - - + @@ -180,25 +179,11 @@ - - - - - - - - - - - - - - @@ -210,7 +195,6 @@ - @@ -234,15 +218,12 @@ - - - @@ -267,7 +248,6 @@ -