Skip to content

Conversation

@protikbiswas100
Copy link

@protikbiswas100 protikbiswas100 commented Nov 17, 2025

Summary

Test Plan

Created a sample DateTimePicker app to demonstrate usage, ran the app using yarn react-native run-windows --arch x64

date_time_picker_demo.mp4

What's required for testing (prerequisites)? NA

What are the steps to reproduce (after prerequisites)? NA

Compatibility

OS Implemented
iOS
Android
Windows

Checklist

  • I have tested this on a device and a simulator
  • [ x] I added the documentation in README.md
  • [ x] I updated the typed files (TS and Flow)
  • I added a sample use of the API in the example project (example/App.js)
  • I have added automated tests, either in JS or e2e tests, as applicable

Protik Biswas added 3 commits November 17, 2025 12:21
- Implement DatePicker TurboModule with promise-based API
- Implement TimePicker TurboModule with promise-based API
- Add JavaScript wrapper (DateTimePickerWindows) for imperative API
- Add TurboModule specs matching Android pattern
- Register TurboModules via AddAttributedModules()
- Update documentation with TurboModule usage examples
- Export DateTimePickerWindows from main index.js

This provides feature parity with Android's imperative DateTimePickerAndroid.open() API.
@protikbiswas100 protikbiswas100 changed the title adding stub file, code gen header and cpp implementation Adding XAML Support and Upgrading to TurboModule for Windows Nov 17, 2025
Protik Biswas added 6 commits November 17, 2025 14:57
- Fix circular import in DateTimePickerWindows.js (was importing from itself instead of .windows file)
- Change TurboModuleRegistry.getEnforcing() to get() for Windows specs to handle test environments
- Update Jest snapshot to include DateTimePickerWindows export

All tests now passing (22/22)
- Created TimePickerFabric.cpp/h implementing ContentIslandComponentView
- Registered RNTimePickerWindows as Fabric component
- Fixed DateTimePickerWindows.open() to return promise result
- Updated ReactPackageProvider to register TimePicker Fabric component
- Added TimePickerFabric files to vcxproj build configuration

This enables XAML TimePicker control to work with React Native's
new architecture (Fabric) on Windows platform.
@anupriya13
Copy link

@protikbiswas100 In the video attached there is no date time picker ui please check and add

@protikbiswas100
Copy link
Author

@protikbiswas100 In the video attached there is no date time picker ui please check and add

added a demo video

Protik Biswas added 3 commits December 15, 2025 18:36
- Add main.cpp with wWinMain entry point for native Win32 window creation
- Remove XAML/IDL dependencies (App.xaml, MainPage.xaml, App.idl, MainPage.idl)
- Update DateTimePickerDemo.vcxproj to use standard Application configuration (not UWP)
- Remove AppContainerApplication and ApplicationType properties
- Simplify project structure: removed UWP manifest and asset references
- Update entry point from App::OnLaunched to wWinMain(HINSTANCE, HINSTANCE, PWSTR, int)
- Implement WindowProc message handler for WM_DESTROY and WM_SIZE events
- Initialize React Native host directly in C++ code
- Use direct Windows API calls (RegisterClass, CreateWindowEx, ShowWindow)
- Maintain full compatibility with DateTimePicker component and React Native Windows
- Update example/index.js entry point to DateTimePickerDemo component

This provides a cleaner, simpler Win32 application structure without UWP overhead,
while maintaining full React Native and DateTimePicker functionality.
@anupriya13
Copy link

@protikbiswas100 why does the video text says "web preview" ?

Can you please record with entire windows app window so that the close button is visible and update the js ui with correct text details.

@protikbiswas100
Copy link
Author

@protikbiswas100 why does the video text says "web preview" ?

Can you please record with entire windows app window so that the close button is visible and update the js ui with correct text details.

I copied and pasted the app.tsx code from some place else, I will do it afresh and reupload the video

…ependencies

- Replaced App/MainPage UWP classes with clean Win32 entry point
- Changed from UWP to Win32 application type in vcxproj
- Updated to use ReactNativeAppBuilder instead of XAML framework
- Converted to use Composition-based CppApp props (not UWP)
- Added proper Win32 headers and resource files
- Removed XAML, IDL, and manifest files
- Clean C++ only codebase
@protikbiswas100 protikbiswas100 marked this pull request as draft December 16, 2025 06:33
Protik Biswas added 6 commits December 16, 2025 12:19
- Added DateTimePickerDemo.rc with version info and icon resources
- Added small.ico application icon (16x16 minimal icon)
- Updated resource.h with proper Win32 resource definitions
- Updated vcxproj to include ResourceCompile and icon
- Updated vcxproj.filters to organize resource files

This completes the UWP to Win32 conversion by adding standard
Win32 resource files that were removed during the migration.
@protikbiswas100
Copy link
Author

/azp run PR

@protikbiswas100 protikbiswas100 marked this pull request as ready for review December 23, 2025 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants