MessageBubbleConfigService is the centralized Angular service for configuring how message bubbles are rendered across the CometChat Angular UIKit. It lets you customize individual sections of any message bubble — globally or per message type — without touching component templates.
The service is providedIn: 'root' (singleton by default). All cometchat-message-list instances share the same configuration unless you scope the service.
Import
Priority Logic
When the message bubble resolves a view for a given message type and part, it follows this order:- Component
@Inputtemplate (passed directly tocometchat-message-bubble) - Type-specific service view (
setBubbleView()) - Global service view (
setGlobalView()/setGlobalViews()) - Default rendering
Types
BubblePart
The sections of a message bubble that can be customized:MessageTypeKey
A string in the format{type}_{category}. Standard keys:
For custom message types, use
{yourType}_custom (e.g., location_custom).
BubblePartMap
Methods
setBubbleView
Sets a custom view for one or more bubble parts for a specific message type. Merges with any existing configuration for that type.setGlobalView
Sets a single global view that applies to all message types as a fallback.setGlobalViews
Sets multiple global views at once. Merges with existing global configuration.setMessageTemplates
Batch-configures multiple message types in a single call.getView
Retrieves the resolved view for a message type and bubble part, applying the priority chain.null if no view is configured (component uses default rendering).
clearAll
Clears all type-specific and global configurations, resetting to default rendering.clearType
Clears configuration for a specific message type. Global views and other types are unaffected.clearGlobalViews
Clears all global views. Type-specific configurations are unaffected.Reactive Properties
Usage Examples
Customize a Specific Message Type
Apply a Global View to All Message Types
Batch Configure Multiple Types
React to Configuration Changes (OnPush)
Scoping for Multiple Instances
By default,MessageBubbleConfigService is a root-level singleton — all message lists share the same configuration. To give a specific component subtree its own independent configuration (e.g., a thread panel with different bubble styles), provide the service at the wrapper component level:
Each
cometchat-message-list provides its own MessageListService internally. The scoping technique above applies only to customization services like MessageBubbleConfigService and FormatterConfigService.See Also
- CometChatMessageList — The primary consumer of this service
- CometChatMessageBubble — Individual bubble component
- Custom Message Types — Register templates for custom message types
- State Management Guide — Scoping — DI scoping patterns
- API Reference Introduction — Overview of all services