-
Notifications
You must be signed in to change notification settings - Fork 31
997029 : UG for MAUI Smart Scheduler #3856
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 3 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
61da9cb
Added overview and getting started
Harish-SF4429 7e021ef
Cleared ci errors
Harish-SF4429 b394db3
Added working with smart scheduler md file
Harish-SF4429 f6e8cdd
Cleared ci
Harish-SF4429 5bc5db4
Added Working with smart scheduler
Harish-SF4429 a9d2873
Merge branch 'development' into 997029-Smart-Scheduler
Harish-SF4429 e5c0e6f
Register the smart components handler
Harish-SF4429 30d0aa7
Cleared ci issues
Harish-SF4429 500a6c4
Added events and styles md files
Harish-SF4429 99a3579
Added moc html
Harish-SF4429 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,285 @@ | ||
| --- | ||
| layout: post | ||
| title: Getting Started with .NET MAUI Smart Scheduler control | Syncfusion® | ||
| description: Learn here all about getting started with Syncfusion<sup>®</sup> .NET MAUI Smart Scheduler (SfSmartScheduler) control. | ||
| platform: maui | ||
| control: SfSmartScheduler | ||
| documentation: ug | ||
| keywords : .net maui smart scheduler | ||
| --- | ||
|
|
||
| # Getting Started with the .NET MAUI Smart Scheduler | ||
|
|
||
| This section explains how to add the smart scheduler as well as the essential aspects for getting started with the Smart Scheduler and also provides a walk-through to configure the `.NET MAUI Smart Scheduler` control in a real-time scenario. Follow the steps below to add a .NET Smart Scheduler control to your project. | ||
|
|
||
| {% tabcontents %} | ||
| {% tabcontent Visual Studio %} | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before proceeding, ensure the following are set up: | ||
| 1. Install [.NET 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) or later is installed. | ||
| 2. Set up a .NET MAUI environment with Visual Studio 2022 (v17.3 or later) or Visual Studio Code. For Visual Studio Code users, ensure that the .NET MAUI workload is installed and configured as described [here.](https://learn.microsoft.com/en-us/dotnet/maui/get-started/installation?view=net-maui-9.0&tabs=visual-studio-code) | ||
|
|
||
| ## Step 1: Create a New .NET MAUI Project | ||
|
|
||
| 1. Go to **File > New > Project** and choose the **.NET MAUI App** template. | ||
| 2. Name the project and choose a location. Then click **Next**. | ||
| 3. Select the .NET framework version and click **Create**. | ||
|
|
||
| ## Step 2: Install the Syncfusion<sup>®</sup> .NET MAUI Smart Scheduler NuGet Package | ||
|
|
||
| 1. In **Solution Explorer,** right-click the project and choose **Manage NuGet Packages.** | ||
| 2. Search for `Syncfusion.Maui.SmartComponents` and install the latest version. | ||
| 3. Ensure the necessary dependencies are installed correctly, and the project is restored. | ||
|
|
||
| ## Step 3: Register the handler | ||
|
|
||
| The [Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) NuGet is a dependent package for all Syncfusion<sup>®</sup> controls of .NET MAUI. In the **MauiProgram.cs** file, register the handler for Syncfusion<sup>®</sup> core. | ||
|
|
||
| {% tabs %} | ||
| {% highlight C# tabtitle="MauiProgram.cs" hl_lines="1 10" %} | ||
|
|
||
| using Syncfusion.Maui.Core.Hosting; | ||
| namespace GettingStarted | ||
| { | ||
| public static class MauiProgram | ||
| { | ||
| public static MauiApp CreateMauiApp() | ||
| { | ||
| var builder = MauiApp.CreateBuilder(); | ||
|
|
||
| builder.ConfigureSyncfusionCore(); | ||
| builder | ||
| .UseMauiApp<App>() | ||
| .ConfigureFonts(fonts => | ||
| { | ||
| fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); | ||
| fonts.AddFont("Segoe-mdl2.ttf", "SegoeMDL2"); | ||
| }); | ||
|
|
||
| return builder.Build(); | ||
| } | ||
| } | ||
| } | ||
|
|
||
| {% endhighlight %} | ||
| {% endtabs %} | ||
|
|
||
| ## Step 4: Add .NET MAUI Smart Scheduler | ||
|
|
||
| 1. To initialize the control, import the `Syncfusion.Maui.SmartComponents` namespace into your code. | ||
| 2. Initialize `SfSmartScheduler` | ||
|
|
||
| {% tabs %} | ||
| {% highlight XAML hl_lines="3 5" %} | ||
|
|
||
| <ContentPage | ||
| . . . | ||
| xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents"> | ||
|
|
||
| <smartScheduler:SfSmartScheduler /> | ||
| </ContentPage> | ||
|
|
||
| {% endhighlight %} | ||
| {% highlight C# hl_lines="1 9 10" %} | ||
|
|
||
| using Syncfusion.Maui.SmartComponents; | ||
| . . . | ||
|
|
||
| public partial class MainPage : ContentPage | ||
| { | ||
| public MainPage() | ||
| { | ||
| InitializeComponent(); | ||
| SfSmartScheduler smartScheduler = new SfSmartScheduler(); | ||
| this.Content = smartScheduler; | ||
| } | ||
| } | ||
|
|
||
| {% endhighlight %} | ||
| {% endtabs %} | ||
|
|
||
| {% endtabcontent %} | ||
| {% tabcontent Visual Studio Code %} | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before proceeding, ensure the following are set up: | ||
| 1. Install [.NET 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) or later is installed. | ||
| 2. Set up a .NET MAUI environment with Visual Studio Code. | ||
| 3. Ensure that the .NET MAUI extension is installed and configured as described [here.](https://learn.microsoft.com/en-us/dotnet/maui/get-started/installation?view=net-maui-9.0&tabs=visual-studio-code) | ||
|
|
||
| ## Step 1: Create a New .NET MAUI Project | ||
|
|
||
| 1. Open the command palette by pressing `Ctrl+Shift+P` and type **.NET:New Project** and enter. | ||
| 2. Choose the **.NET MAUI App** template. | ||
| 3. Select the project location, type the project name and press **Enter**. | ||
| 4. Then choose **Create project.** | ||
|
|
||
| {% endtabcontent %} | ||
| {% tabcontent JetBrains Rider %} | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before proceeding, ensure the following are set up: | ||
|
|
||
| 1. Ensure you have the latest version of JetBrains Rider. | ||
| 2. Install [.NET 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) or later is installed. | ||
| 3. Make sure the MAUI workloads are installed and configured as described [here.](https://www.jetbrains.com/help/rider/MAUI.html#before-you-start) | ||
|
|
||
| ## Step 1: Create a new .NET MAUI Project | ||
|
|
||
| 1. Go to **File > New Solution,** Select .NET (C#) and choose the .NET MAUI App template. | ||
| 2. Enter the Project Name, Solution Name, and Location. | ||
| 3. Select the .NET framework version and click Create. | ||
|
|
||
| ## Step 2: Install the Syncfusion<sup>®</sup> MAUI Smart Scheduler NuGet Package | ||
|
|
||
| 1. In **Solution Explorer,** right-click the project and choose **Manage NuGet Packages.** | ||
| 2. Search for `Syncfusion.Maui.SmartComponents` and install the latest version. | ||
| 3. Ensure the necessary dependencies are installed correctly, and the project is restored. If not, Open the Terminal in Rider and manually run: `dotnet restore` | ||
|
|
||
| ## Step 3: Register the handler | ||
|
|
||
| The [Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) NuGet is a dependent package for all Syncfusion<sup>®</sup> controls of .NET MAUI. In the **MauiProgram.cs** file, register the handler for Syncfusion<sup>®</sup> core. | ||
|
|
||
| {% tabs %} | ||
| {% highlight C# tabtitle="MauiProgram.cs" hl_lines="1 10" %} | ||
|
|
||
| using Syncfusion.Maui.Core.Hosting; | ||
| namespace GettingStarted | ||
| { | ||
| public static class MauiProgram | ||
| { | ||
| public static MauiApp CreateMauiApp() | ||
| { | ||
| var builder = MauiApp.CreateBuilder(); | ||
|
|
||
| builder.ConfigureSyncfusionCore(); | ||
| builder | ||
| .UseMauiApp<App>() | ||
| .ConfigureFonts(fonts => | ||
| { | ||
| fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); | ||
| fonts.AddFont("Segoe-mdl2.ttf", "SegoeMDL2"); | ||
| }); | ||
|
|
||
| return builder.Build(); | ||
| } | ||
| } | ||
| } | ||
|
|
||
| {% endhighlight %} | ||
| {% endtabs %} | ||
|
|
||
| ## Step 4: Add .NET MAUI Smart Scheduler | ||
|
|
||
| 1. To initialize the control, import the `Syncfusion.Maui.SmartComponents` namespace into your code. | ||
| 2. Initialize `SfSmartScheduler`. | ||
|
|
||
| {% tabs %} | ||
| {% highlight XAML hl_lines="3 5" %} | ||
|
|
||
| <ContentPage | ||
| . . . | ||
| xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents"> | ||
|
|
||
| <smartScheduler:SfSmartScheduler /> | ||
| </ContentPage> | ||
|
|
||
| {% endhighlight %} | ||
| {% highlight C# hl_lines="1 9 10" %} | ||
|
|
||
| using Syncfusion.Maui.SmartComponents; | ||
| . . . | ||
|
|
||
| public partial class MainPage : ContentPage | ||
| { | ||
| public MainPage() | ||
| { | ||
| InitializeComponent(); | ||
| SfSmartScheduler smartScheduler = new SfSmartScheduler(); | ||
| this.Content = smartScheduler; | ||
| } | ||
| } | ||
|
|
||
| {% endhighlight %} | ||
| {% endtabs %} | ||
|
|
||
| {% endtabcontent %} | ||
| {% endtabcontents %} | ||
|
|
||
| ## Step 2: Install the Syncfusion<sup>®</sup> .NET MAUI Smart Scheduler NuGet Package | ||
|
|
||
| 1. Press <kbd>Ctrl</kbd> + <kbd>`</kbd> (backtick) to open the integrated terminal in Visual Studio Code. | ||
| 2. Ensure you're in the project root directory where your .csproj file is located. | ||
| 3. Run the command `dotnet add package Syncfusion.Maui.SmartComponents` to install the Syncfusion<sup>®</sup> .NET MAUI Smart Scheduler NuGet package. | ||
| 4. To ensure all dependencies are installed, run `dotnet restore`. | ||
|
|
||
| ## Step 3: Register the handler | ||
|
|
||
| The [Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) NuGet is a dependent package for all Syncfusion<sup>®</sup> controls of .NET MAUI. In the **MauiProgram.cs** file, register the handler for Syncfusion<sup>®</sup> core. | ||
|
|
||
| {% tabs %} | ||
| {% highlight C# tabtitle="MauiProgram.cs" hl_lines="1 10" %} | ||
|
|
||
| using Syncfusion.Maui.Core.Hosting; | ||
| namespace GettingStarted | ||
| { | ||
| public static class MauiProgram | ||
| { | ||
| public static MauiApp CreateMauiApp() | ||
| { | ||
| var builder = MauiApp.CreateBuilder(); | ||
|
|
||
| builder.ConfigureSyncfusionCore(); | ||
| builder | ||
| .UseMauiApp<App>() | ||
| .ConfigureFonts(fonts => | ||
| { | ||
| fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); | ||
| fonts.AddFont("Segoe-mdl2.ttf", "SegoeMDL2"); | ||
| }); | ||
|
|
||
| return builder.Build(); | ||
| } | ||
| } | ||
| } | ||
|
|
||
| {% endhighlight %} | ||
| {% endtabs %} | ||
|
|
||
| ## Step 4: Add .NET MAUI Smart Scheduler view | ||
|
|
||
| 1. To initialize the control, import the `Syncfusion.Maui.SmartComponents` namespace into your code. | ||
| 2. Initialize `SfSmartScheduler`. | ||
|
|
||
| {% tabs %} | ||
| {% highlight XAML hl_lines="3 5" %} | ||
|
|
||
| <ContentPage | ||
| . . . | ||
| xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents"> | ||
|
|
||
| <smartScheduler:SfSmartScheduler /> | ||
| </ContentPage> | ||
|
|
||
| {% endhighlight %} | ||
| {% highlight C# hl_lines="1 9 10" %} | ||
|
|
||
| using Syncfusion.Maui.SmartComponents; | ||
| . . . | ||
|
|
||
| public partial class MainPage : ContentPage | ||
| { | ||
| public MainPage() | ||
| { | ||
| InitializeComponent(); | ||
| SfSmartScheduler smartScheduler = new SfSmartScheduler(); | ||
| this.Content = smartScheduler; | ||
| } | ||
| } | ||
|
|
||
| {% endhighlight %} | ||
| {% endtabs %} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| --- | ||
| layout: post | ||
| title: About .NET MAUI Smart Scheduler control | Syncfusion | ||
| description: Learn here all about introduction of Syncfusion .NET MAUI Smart Scheduler(SfSmartScheduler) control. | ||
| platform: maui | ||
| control: SfSmartScheduler | ||
| documentation: ug | ||
| keywords : .net maui smartScheduler, maui smart scheduler, ai scheduling, natural language scheduling, resource-aware booking, free time finder, appointment summarization. | ||
| --- | ||
|
|
||
| # Overview of .NET MAUI Smart Scheduler (SfSmartScheduler) | ||
|
|
||
| The Syncfusion<sup>®</sup> .NET MAUI Smart Scheduler (SfSmartScheduler) combines the power of the Scheduler with AI-driven intent understanding. Users can create, update, delete, and explore appointments using plain language—reducing clicks and turning scheduling into a conversation. It respects current view context, resources, and availability, and can detect conflicts, find free time, and summarize schedules. | ||
|
|
||
| ## Key features | ||
|
|
||
| * **Natural-language CRUD:** Create, update, and delete appointments by typing what you want. The SmartScheduler understands time, date, subject, recurrence, and even resource references without requiring structured forms. | ||
|
|
||
| * **Resource-aware booking:** Book rooms, equipment, or people while respecting their availability and the scheduler’s current filters. When a requested resource is unavailable, the control can suggest alternatives or adjacent time slots. | ||
|
|
||
| * **Conflict detection:** Instantly detect overlapping appointments for selected dates, ranges, or resources. The smart scheduler can highlight conflicts and propose resolutions (e.g., reschedule, reassign, or extend buffer times)() | ||
|
|
||
| * **Smart summarization:** Generate concise summaries for upcoming or selected appointments, helping users understand what’s next at a glance (e.g., “Summarize my meetings tomorrow”). | ||
|
|
||
| * **Adaptive assist panel:** The assist view opens in compact or expanded layouts with configurable height and width, providing a comfortable experience on phone, tablet, and desktop. | ||
|
|
||
| * **Assist access button:** The assist button can be enabled or disabled and replaced with a custom data template to match the app’s design. | ||
|
|
||
| * **Event Support:** Users can choose whether appointment changes are applied automatically by the Smart Scheduler or handled manually using events. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| --- | ||
| layout: post | ||
| title: Working with .NET MAUI Smart Scheduler control | Syncfusion® | ||
| description: Working with Syncfusion<sup>®</sup> .NET MAUI Smart Scheduler(SfSmartScheduler) control. | ||
| platform: maui | ||
| control: SfSmartScheduler | ||
| documentation: ug | ||
| keywords : .net maui smart scheduler | ||
| --- | ||
|
|
||
| # Working with .NET MAUI Smart Scheduler (SfSmartScheduler) | ||
|
|
||
| ## Enable assist button | ||
|
|
||
| The `.NET MAUI Smart Scheduler` assist button interaction can be enabled or disabled by setting the `EnableAssistButton` property of the `SfSmartScheduler` control. By default, the `EnableAssistButton` property is set to true. | ||
|
|
||
| {% tabs %} | ||
| {% highlight XAML hl_lines="2" %} | ||
|
|
||
| <smartScheduler:SfSmartScheduler x:Name="Scheduler" EnableAssistButton="False"/> | ||
|
|
||
| {% endhighlight %} | ||
| {% highlight C# hl_lines="3" %} | ||
|
|
||
| SfSmartScheduler scheduler = new SfSmartScheduler(); | ||
| smartScheduler.EnableAssistButton = false; | ||
| this.Content = scheduler; | ||
|
|
||
| {% endhighlight %} | ||
| {% endtabs %} | ||
|
|
||
| ## Customize assist button appearance using DataTemplate | ||
|
|
||
| The assist button appearance can be customized by using the `AssistButtonTemplate` property of `SfSmartScheduler` control. | ||
|
|
||
| {% tabs %} | ||
| {% highlight xaml tabtitle="MainPage.xaml" hl_lines="3 4 5 6 7 8 9 10 11 12 13" %} | ||
|
|
||
| <smartScheduler:SfSmartScheduler x:Name="Scheduler"> | ||
| <smartScheduler:SfSmartScheduler.AssistButtonTemplate> | ||
| <DataTemplate> | ||
| <Grid BackgroundColor="#6750A4"> | ||
| <Label Text="AI" | ||
| FontAttributes="Bold" | ||
| TextColor="#FFFFFF" | ||
| VerticalOptions="Center" | ||
| HorizontalOptions="Center" /> | ||
| </Grid> | ||
| </DataTemplate> | ||
| </smartScheduler:SfSmartScheduler.AssistButtonTemplate> | ||
| </scheduler:SfSmartScheduler> | ||
|
|
||
| {% endhighlight %} | ||
| {% highlight c# tabtitle="MainPage.xaml.cs" %} | ||
|
|
||
| SfSmartScheduler smartScheduler = new SfSmartScheduler(); | ||
| smartScheduler.AssistButtonTemplate = new DataTemplate(() => | ||
| { | ||
| var grid = new Grid | ||
| { | ||
| BackgroundColor = Color.FromArgb("#6750A4") | ||
| }; | ||
|
|
||
| var label = new Label | ||
| { | ||
| Text = "AI", | ||
| FontAttributes = FontAttributes.Bold, | ||
| TextColor = Color.FromArgb("#FFFFFF"), | ||
| HorizontalOptions = LayoutOptions.Center, | ||
| VerticalOptions = LayoutOptions.Center | ||
| }; | ||
|
|
||
| grid.Add(label); | ||
| return grid; | ||
| }); | ||
| this.Content = smartScheduler; | ||
|
|
||
| {% endhighlight %} | ||
| {% endtabs %} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.