agentsclimarketplace

Syncfusion aspnetcore chat ui

Skill syncfusion/aspnetcore-ui-components-skills/skills/syncfusion-aspnetcore-chat-ui

Implement the Syncfusion ASP.NET Core Chat-UI control for interactive, real-time messaging components. Use this skill when implementing chat interfaces, message management, file uploads and attachments, appearance customization with templates, message events, typing indicators, or internationalization and RTL layouts in ASP.NET Core applications.From its SKILL.md

Install
npx -y skills add syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-chat-ui

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

11.2 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it

Syncfusion ASP.NET Core Chat-UI Control

Overview

The Chat-UI component provides a complete conversational interface with real-time messaging, file attachments, user presence, and extensive customization options. This skill guides you through implementing chat interfaces for customer support, team collaboration, and interactive applications using ASP.NET Core tag helpers and Razor pages.

The Chat-UI component is an interactive messaging interface featuring:

  • Rich Message Support: Text content, pinned messages, threaded replies, message forwarding
  • User Management: Multi-user conversations, presence status, user configuration
  • File Attachments: Upload, preview, download with file type/size restrictions
  • Event System: Created, message send, user typing, attachment events
  • Templates: Customizable UI for empty chat, messages, typing indicator, suggestions, footer
  • Appearance: Configurable placeholder, width, height, CSS classes
  • Timestamps: Show/hide timestamps with customizable format
  • Advanced Features: Compact mode, globalization, RTL support, speech-to-text

Quick Start Example

@using Syncfusion.EJ2.InteractiveChat;

<div style="height:400px; width:450px">
    <ejs-chatui id="chatUI">
        <e-chatui-user id="user1" user="Albert"></e-chatui-user>
        <e-chatui-messages>
            @foreach (var message in ViewBag.ChatMessagesData)
            {
                <e-chatui-message text="@message.Text" author="@message.Author"></e-chatui-message>
            }
        </e-chatui-messages>
    </ejs-chatui>
</div>

Corresponding C# Controller:

using Syncfusion.EJ2.InteractiveChat;

public ActionResult Default()
{
    var currentUser = new ChatUIUser() { Id = "user1", User = "Albert" };
    var otherUser = new ChatUIUser() { Id = "user2", User = "Michale Suyama" };
    
    var messages = new List<ChatUIMessage>()
    {
        new ChatUIMessage() { Text = "Hi Michale, are we on track?", Author = currentUser },
        new ChatUIMessage() { Text = "Yes, all set!", Author = otherUser }
    };
    
    ViewBag.ChatMessagesData = messages;
    return View();
}

Documentation Navigation

Getting Started

πŸ“„ Read: references/getting-started.md

  • NuGet package installation and dependencies
  • ASP.NET Core project setup with Razor pages
  • Tag helper registration and configuration
  • CDN stylesheet and script setup
  • Script manager registration
  • Basic Chat-UI implementation
  • Initial user and message configuration

Message Configuration

πŸ“„ Read: references/messages-configuration.md

  • Message model setup and properties
  • Adding and managing text messages
  • Message configuration (ID, text, author, timestamp)
  • Pinned messages for important conversations
  • Reply-to for threaded conversations
  • Forwarded messages and message tracking
  • Compact mode for streamlined layouts

User Configuration

πŸ“„ Read: references/user-configuration.md

  • ChatUIUser model setup and properties
  • User identity configuration
  • Setting current user context
  • Multi-user support and management
  • User presence and status indicators
  • Avatar configuration and styling

Appearance & Styling

πŸ“„ Read: references/appearance-styling.md

  • Placeholder text customization
  • Width and height configuration
  • CSS class application and customization
  • Component-level styling
  • Theme customization approaches
  • Responsive design patterns

Events & Interactions

πŸ“„ Read: references/events-interactions.md

  • Created event for initialization
  • Message send event handling
  • User typing event detection
  • Attachment upload events (before, success, failure)
  • Attachment removal and click events
  • Event binding patterns and best practices

Methods & API

πŸ“„ Read: references/methods-api.md

  • addMessage method for programmatic message addition
  • updateMessage method for editing existing messages
  • scrollToBottom method for view navigation
  • Real-time integration with SignalR
  • Best practices for performance and error handling

Templates & Customization

πŸ“„ Read: references/templates-customization.md

  • Empty chat template for initial states
  • Message custom templates with jsrender
  • Time break template for message organization
  • Typing indicator template customization
  • Suggestion template for auto-complete
  • Footer template for custom input areas
  • Advanced template patterns and styling

File Attachments

πŸ“„ Read: references/file-attachments.md

  • Enable attachment support with enableAttachments
  • Configure attachment settings
  • Save and remove URL endpoints
  • File type restrictions (allowedFileTypes)
  • File size limits (maxFileSize)
  • Save format options (Blob vs Base64)
  • Drag-and-drop support configuration
  • Server path and upload handling

Header & Footer

πŸ“„ Read: references/header-footer.md

  • Show/hide header with showHeader property
  • Header text configuration and display
  • Header icon styling with headerIconCss
  • Show/hide footer with showFooter property
  • Footer template customization
  • Input area configuration

Timestamps & Time Breaks

πŸ“„ Read: references/timestamps-timebreaks.md

  • Show/hide timestamps with showTimeStamp
  • Timestamp format customization (timeStampFormat)
  • Time break separators for message organization
  • Date-wise message grouping
  • Timestamp template patterns

Typing Indicators

πŸ“„ Read: references/typing-indicator.md

  • Show/hide typing indicator
  • Multi-user typing display
  • Typing indicator template customization
  • User presence detection
  • Styling typing indicator UI

Mentions & User References

πŸ“„ Read: references/mentions-integration.md

  • Configure mentionable users
  • Mention trigger character customization
  • Predefined mentions in messages
  • Mention selection and events
  • Mention item template and styling

Globalization & RTL

πŸ“„ Read: references/globalization-rtl.md

  • Localization and multi-language support
  • Setting culture and locale
  • RTL (Right-to-Left) layout support
  • Language-specific templates
  • Speech-to-text localization

Toolbar Configuration

πŸ“„ Read: references/toolbar-configuration.md

  • Header toolbar configuration and items
  • Message toolbar settings and customization
  • Toolbar item configuration and events
  • Custom toolbar actions and handlers
  • Toolbar visibility and styling

Advanced Features

πŸ“„ Read: references/advanced-features.md

  • Load on demand with scroll handling
  • Auto-scroll to bottom behavior
  • Enable persistence for state management
  • Performance optimization techniques
  • Server-side data loading strategies

Suggestions Feature

πŸ“„ Read: references/suggestions-feature.md

  • Enable suggestions with suggestions property
  • Suggestion template customization
  • Context-based suggestion filtering
  • Suggestion selection and handling
  • Custom suggestion UI and styling

Common Patterns

Create a Basic Chat Interface

<div style="height:400px; width:500px">
    <ejs-chatui id="chatUI" 
                 placeholder="Type a message..."
                 showHeader="true"
                 headerText="Support Chat">
        <e-chatui-user id="user1" user="Support Agent"></e-chatui-user>
    </ejs-chatui>
</div>

Add Messages with Events

<ejs-chatui id="chatUI" messageSend="onMessageSend">
    <e-chatui-user id="user1" user="Albert"></e-chatui-user>
    <e-chatui-messages>
        @foreach (var message in ViewBag.ChatMessagesData)
        {
            <e-chatui-message text="@message.Text" 
                            author="@message.Author"
                            timeStamp="@message.TimeStamp"></e-chatui-message>
        }
    </e-chatui-messages>
</ejs-chatui>

<script>
    function onMessageSend(args) {
        // Handle message send event
        console.log("Message sent:", args);
    }
</script>

Enable File Attachments

<ejs-chatui id="chatUI" enableAttachments="true">
    <e-chatui-user id="user1" user="Albert"></e-chatui-user>
    <e-chatui-attachmentsettings 
        [email protected]("https://services.syncfusion.com/aspnet/production/api/FileUploader/Save")
        [email protected]("https://services.syncfusion.com/aspnet/production/api/FileUploader/Remove")
        maxFileSize="5000000"
        allowedFileTypes=".pdf,.docx,.xlsx">
    </e-chatui-attachmentsettings>
</ejs-chatui>

Key Properties

PropertyTypePurpose
idstringUnique identifier for the ChatUI component
placeholderstringInput field hint text (default: "Type your message…")
widthstringChat UI width (default: 100%)
heightstringChat UI height (default: 100%)
showHeaderbooleanDisplay header section (default: true)
headerTextstringHeader title/name display
headerToolbarobjectConfigure toolbar items in header
showFooterbooleanDisplay input footer (default: true)
showTimeStampbooleanDisplay message timestamps (default: true)
timeStampFormatstringTimestamp format pattern (default: "dd/MM/yyyy hh:mm a")
cssClassstringCSS classes for styling
enableAttachmentsbooleanEnable file upload support (default: false)
enableCompactModebooleanAlign all messages left (default: false)
loadOnDemandbooleanEnable lazy loading of messages (default: false)
autoScrollToBottombooleanAutomatically scroll to latest message (default: true)
enablePersistencebooleanPersist chat state across sessions (default: false)
suggestionsarrayQuick reply suggestions for users
messageToolbarSettingsobjectConfigure message-level toolbar actions

Common Use Cases

Use Case 1: Customer Support Chat

  • Multiple support agents handling customer queries
  • File attachment for screenshots/documents
  • Message history with timestamps
  • Typing indicators to show agent engagement
  • Header with support agent name and status

Use Case 2: Team Collaboration

  • Mention team members with @ mentions
  • Pin important discussion points
  • Forward messages for reference
  • Message editing and deletion
  • Multi-user presence indicators

Use Case 3: Multilingual Support

  • RTL support for Arabic/Hebrew languages
  • Localized UI strings via globalization
  • Culture-specific timestamp formats
  • Support for multiple character sets

What ships with it: 16 files

176.9 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,499. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.