From c8a8be8a2ac3c242d2dc3509f4ce478c79e73539 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Tue, 25 Jun 2024 11:53:50 +0200 Subject: [PATCH 1/3] fix: make sure that `channelListSetter` respects the order of channels, and make sure it only accepts a watched channel BREAKING CHANGE: the `channelListSetter` no longer accepts a `ChannelResponse`, for more information follow: https://getstream.io/chat/docs/sdk/angular/5/basics/upgrade-v4/#signature-change-for-custom-channel-list-event-handlers --- .../version-5/basics/upgrade-v4.mdx | 40 +++ .../code-examples/channel-invites.mdx | 33 +- .../components/AttachmentListComponent.mdx | 8 +- .../AttachmentPreviewListComponent.mdx | 6 +- .../AutocompleteTextareaComponent.mdx | 18 +- .../version-5/components/AvatarComponent.mdx | 16 +- .../components/AvatarPlaceholderComponent.mdx | 16 +- .../components/ChannelPreviewComponent.mdx | 2 +- .../version-5/components/IconComponent.mdx | 2 +- .../components/IconPlaceholderComponent.mdx | 2 +- .../components/MessageActionsBoxComponent.mdx | 8 +- .../version-5/components/MessageComponent.mdx | 12 +- .../components/MessageInputComponent.mdx | 24 +- .../components/MessageListComponent.mdx | 20 +- .../components/MessageReactionsComponent.mdx | 8 +- .../MessageReactionsSelectorComponent.mdx | 4 +- .../version-5/components/ModalComponent.mdx | 6 +- .../components/NotificationComponent.mdx | 4 +- .../components/TextareaComponent.mdx | 12 +- .../components/VoiceRecordingComponent.mdx | 2 +- .../VoiceRecordingWavebarComponent.mdx | 6 +- .../AttachmentConfigurationService.mdx | 18 +- .../version-5/services/AttachmentService.mdx | 18 +- .../version-5/services/ChannelService.mdx | 312 +++++++++--------- .../version-5/services/ChatClientService.mdx | 22 +- .../services/CustomTemplatesService.mdx | 82 ++--- .../version-5/services/DateParserService.mdx | 12 +- .../version-5/services/EmojiInputService.mdx | 2 +- .../services/MessageActionsService.mdx | 10 +- .../services/MessageInputConfigService.mdx | 10 +- .../services/MessageReactionsService.mdx | 8 +- .../version-5/services/MessageService.mdx | 4 +- .../services/NotificationService.mdx | 6 +- .../version-5/services/StreamI18nService.mdx | 2 +- .../version-5/services/ThemeService.mdx | 2 +- .../services/TransliterationService.mdx | 2 +- .../src/lib/channel.service.spec.ts | 34 +- .../src/lib/channel.service.ts | 198 +++++++---- .../src/lib/chat-client.service.spec.ts | 55 ++- .../src/lib/chat-client.service.ts | 9 +- .../src/lib/mocks/index.ts | 17 +- 41 files changed, 643 insertions(+), 429 deletions(-) diff --git a/docusaurus/angular_versioned_docs/version-5/basics/upgrade-v4.mdx b/docusaurus/angular_versioned_docs/version-5/basics/upgrade-v4.mdx index 2c937ac4..7d1ff730 100644 --- a/docusaurus/angular_versioned_docs/version-5/basics/upgrade-v4.mdx +++ b/docusaurus/angular_versioned_docs/version-5/basics/upgrade-v4.mdx @@ -201,6 +201,46 @@ The `stream-message-input` still has all inputs/outputs you need to create a cus > ``` +### Signature change for custom channel list event handlers + +The `channelListSetter`'s signature changed for the following custom event handlers of the `ChannelService`: + +- `customNewMessageNotificationHandler` +- `customAddedToChannelNotificationHandler` +- `customRemovedFromChannelNotificationHandler` +- `customChannelDeletedHandler` +- `customChannelUpdatedHandler` +- `customChannelTruncatedHandler` +- `customChannelHiddenHandler` +- `customChannelVisibleHandler` +- `customNewMessageHandler` + +If you're adding a new channel to the list from these handlers, you need to make sure to provide a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. + +Example code: + +```typescript +private async customEventHandler( + clientEvent: ClientEvent, + channelListSetter: (channels: Channel[]) => void +) { + const channelResponse = clientEvent!.event!.channel!; + // Change 1: create a channel from `ChannelResponse` + const newChanel = this.chatService.chatClient.channel( + channelResponse.type, + channelResponse.id + ); + try { + // Change 2: call .watch() before adding it to the channel list + await newChanel.watch(); + const existingChannels = this.channelService.channels; + channelListSetter([newChanel, ...existingChannels]); + } catch (error) { + console.error('Failed to watch channel', error); + } +} +``` + ### Removed deprecated features #### `MessageListComponent` diff --git a/docusaurus/angular_versioned_docs/version-5/code-examples/channel-invites.mdx b/docusaurus/angular_versioned_docs/version-5/code-examples/channel-invites.mdx index d77d5ce7..137cf5b5 100644 --- a/docusaurus/angular_versioned_docs/version-5/code-examples/channel-invites.mdx +++ b/docusaurus/angular_versioned_docs/version-5/code-examples/channel-invites.mdx @@ -459,19 +459,26 @@ It's important to note that the filtering set above is not applied to [events](h To override the default behavior create a custom event handler in `app.component.ts` that checks if the user was invited to the channel or added directly and only adds the channel to the list if the user was added directly: ```typescript -private customAddedToChannelNotificationHandler( - clientEvent: ClientEvent, - channelListSetter: (channels: (Channel | ChannelResponse)[]) => void - ): void { - let channels!: Channel[]; - this.channelService.channels$ - .pipe(take(1)) - .subscribe((c) => (channels = c || [])); - if (clientEvent.event.member?.invited) { - return; - } - channelListSetter([clientEvent!.event!.channel!, ...channels]); +private async customAddedToChannelNotificationHandler( + clientEvent: ClientEvent, + channelListSetter: (channels: Channel[]) => void +) { + if (clientEvent.event.member?.invited) { + return; + } + const channelResponse = clientEvent!.event!.channel!; + const newChanel = this.chatService.chatClient.channel( + channelResponse.type, + channelResponse.id + ); + try { + await newChanel.watch(); + const existingChannels = this.channelService.channels; + channelListSetter([newChanel, ...existingChannels]); + } catch (error) { + console.error('Failed to watch channel', error); } +} ``` Now register the handler to the [channel service](../services/ChannelService.mdx) in the constructor of `app.component.ts`: @@ -497,3 +504,5 @@ this.chatService.events$ }); }); ``` + +If you're doing this in a component other than `AppComponent`, don't forget to unsubscribe from the `events$` Observable. diff --git a/docusaurus/angular_versioned_docs/version-5/components/AttachmentListComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AttachmentListComponent.mdx index 66ed0bd4..c0e18fc8 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AttachmentListComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AttachmentListComponent.mdx @@ -122,7 +122,7 @@ The id of the message the attachments belong to #### Defined in -[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L39) +[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L39) --- @@ -134,7 +134,7 @@ The parent id of the message the attachments belong to #### Defined in -[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L43) +[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L43) --- @@ -146,7 +146,7 @@ The attachments to display #### Defined in -[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L47) +[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L47) --- @@ -158,6 +158,6 @@ Emits the state of the image carousel window #### Defined in -[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L51) +[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L51) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/AttachmentPreviewListComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AttachmentPreviewListComponent.mdx index d1676c73..a5962fe0 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AttachmentPreviewListComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AttachmentPreviewListComponent.mdx @@ -47,7 +47,7 @@ A stream that emits the current file uploads and their states #### Defined in -[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:17](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L17) +[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:17](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L17) --- @@ -59,7 +59,7 @@ An output to notify the parent component if the user tries to retry a failed upl #### Defined in -[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:21](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L21) +[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:21](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L21) --- @@ -71,6 +71,6 @@ An output to notify the parent component if the user wants to delete a file #### Defined in -[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:25](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L25) +[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:25](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L25) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/AutocompleteTextareaComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AutocompleteTextareaComponent.mdx index 807ab7cf..7176a6ad 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AutocompleteTextareaComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AutocompleteTextareaComponent.mdx @@ -51,7 +51,7 @@ TextareaInterface.value #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:49](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L49) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:49](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L49) --- @@ -67,7 +67,7 @@ TextareaInterface.placeholder #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L53) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L53) --- @@ -83,7 +83,7 @@ TextareaInterface.areMentionsEnabled #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:57](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L57) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:57](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L57) --- @@ -99,7 +99,7 @@ TextareaInterface.inputMode #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:61](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L61) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:61](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L61) --- @@ -115,7 +115,7 @@ TextareaInterface.mentionScope #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:65](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L65) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:65](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L65) --- @@ -131,7 +131,7 @@ TextareaInterface.autoFocus #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:69](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L69) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:69](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L69) --- @@ -147,7 +147,7 @@ TextareaInterface.valueChange #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:73](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L73) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:73](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L73) --- @@ -163,7 +163,7 @@ TextareaInterface.send #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:77](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L77) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:77](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L77) --- @@ -179,6 +179,6 @@ TextareaInterface.userMentions #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:81](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L81) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:81](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L81) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/AvatarComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AvatarComponent.mdx index eac00395..58b0aa6e 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AvatarComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AvatarComponent.mdx @@ -71,7 +71,7 @@ An optional name of the image, used for fallback image or image title (if `image #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L35) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L35) --- @@ -83,7 +83,7 @@ The URL of the image to be displayed. If the image can't be displayed the first #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L39) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L39) --- @@ -95,7 +95,7 @@ The location the avatar will be displayed in #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L43) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L43) --- @@ -107,7 +107,7 @@ The channel the avatar belongs to (if avatar of a channel is displayed) #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L47) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L47) --- @@ -119,7 +119,7 @@ The user the avatar belongs to (if avatar of a user is displayed) #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L51) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L51) --- @@ -131,7 +131,7 @@ The type of the avatar: channel if channel avatar is displayed, user if user ava #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:55](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L55) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:55](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L55) --- @@ -143,7 +143,7 @@ If a channel avatar is displayed, and if the channel has exactly two members a g #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:59](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L59) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:59](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L59) --- @@ -155,6 +155,6 @@ If channel/user image isn't provided the initials of the name of the channel/use #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:63](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L63) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:63](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L63) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/AvatarPlaceholderComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AvatarPlaceholderComponent.mdx index 4b7d90a6..e105f669 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AvatarPlaceholderComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AvatarPlaceholderComponent.mdx @@ -12,7 +12,7 @@ An optional name of the image, used for fallback image or image title (if `image #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:23](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L23) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:23](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L23) --- @@ -24,7 +24,7 @@ The URL of the image to be displayed. If the image can't be displayed the first #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:27](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L27) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:27](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L27) --- @@ -36,7 +36,7 @@ The location the avatar will be displayed in #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:31](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L31) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:31](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L31) --- @@ -48,7 +48,7 @@ The channel the avatar belongs to (if avatar of a channel is displayed) #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L35) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L35) --- @@ -60,7 +60,7 @@ The user the avatar belongs to (if avatar of a user is displayed) #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L39) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L39) --- @@ -72,7 +72,7 @@ The type of the avatar: channel if channel avatar is displayed, user if user ava #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L43) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L43) --- @@ -84,7 +84,7 @@ If channel/user image isn't provided the initials of the name of the channel/use #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L47) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L47) --- @@ -96,6 +96,6 @@ If a channel avatar is displayed, and if the channel has exactly two members a g #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L53) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L53) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/ChannelPreviewComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/ChannelPreviewComponent.mdx index a38ab782..39542893 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/ChannelPreviewComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/ChannelPreviewComponent.mdx @@ -37,6 +37,6 @@ The channel to be displayed #### Defined in -[projects/stream-chat-angular/src/lib/channel-preview/channel-preview.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel-preview/channel-preview.component.ts#L28) +[projects/stream-chat-angular/src/lib/channel-preview/channel-preview.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel-preview/channel-preview.component.ts#L28) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/IconComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/IconComponent.mdx index 032841d5..5d4a70d6 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/IconComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/IconComponent.mdx @@ -33,6 +33,6 @@ The icon to display, the list of [supported icons](https://github.com/GetStream/ #### Defined in -[projects/stream-chat-angular/src/lib/icon/icon.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/icon/icon.component.ts#L37) +[projects/stream-chat-angular/src/lib/icon/icon.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/icon/icon.component.ts#L37) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/IconPlaceholderComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/IconPlaceholderComponent.mdx index ec26537c..d9dcce8c 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/IconPlaceholderComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/IconPlaceholderComponent.mdx @@ -12,6 +12,6 @@ The icon to display, the list of [supported icons](https://github.com/GetStream/ #### Defined in -[projects/stream-chat-angular/src/lib/icon-placeholder/icon-placeholder.component.ts:18](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/icon-placeholder/icon-placeholder.component.ts#L18) +[projects/stream-chat-angular/src/lib/icon-placeholder/icon-placeholder.component.ts:18](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/icon-placeholder/icon-placeholder.component.ts#L18) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageActionsBoxComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageActionsBoxComponent.mdx index ba83f692..9c92d92b 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageActionsBoxComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageActionsBoxComponent.mdx @@ -48,7 +48,7 @@ Indicates if the message actions are belonging to a message that was sent by the #### Defined in -[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L37) +[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L37) --- @@ -60,7 +60,7 @@ The message the actions will be executed on #### Defined in -[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:41](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L41) +[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:41](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L41) --- @@ -72,7 +72,7 @@ The HTML element which contains the message text, it's used for the "copy messag #### Defined in -[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:45](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L45) +[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:45](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L45) --- @@ -84,6 +84,6 @@ The list of [channel capabilities](https://getstream.io/chat/docs/javascript/cha #### Defined in -[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:49](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L49) +[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:49](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L49) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageComponent.mdx index 7f67a385..74bab575 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageComponent.mdx @@ -73,7 +73,7 @@ The message to be displayed #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:64](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message/message.component.ts#L64) +[projects/stream-chat-angular/src/lib/message/message.component.ts:64](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L64) --- @@ -85,7 +85,7 @@ The list of [channel capabilities](https://getstream.io/chat/docs/javascript/cha #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:68](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message/message.component.ts#L68) +[projects/stream-chat-angular/src/lib/message/message.component.ts:68](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L68) --- @@ -97,7 +97,7 @@ If `true`, the message status (sending, sent, who read the message) is displayed #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:72](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message/message.component.ts#L72) +[projects/stream-chat-angular/src/lib/message/message.component.ts:72](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L72) --- @@ -109,7 +109,7 @@ Determines if the message is being dispalyed in a channel or in a [thread](https #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:76](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message/message.component.ts#L76) +[projects/stream-chat-angular/src/lib/message/message.component.ts:76](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L76) --- @@ -121,7 +121,7 @@ Highlighting is used to add visual emphasize to a message when jumping to the me #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:80](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message/message.component.ts#L80) +[projects/stream-chat-angular/src/lib/message/message.component.ts:80](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L80) --- @@ -133,6 +133,6 @@ An Observable that emits when the message list is scrolled, it's used to prevent #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:84](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message/message.component.ts#L84) +[projects/stream-chat-angular/src/lib/message/message.component.ts:84](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L84) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageInputComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageInputComponent.mdx index eaff2c54..b471d102 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageInputComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageInputComponent.mdx @@ -59,7 +59,7 @@ If file upload is enabled, the user can open a file selector from the input. Ple #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:61](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L61) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:60](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L60) --- @@ -71,7 +71,7 @@ If true, users can mention other users in messages. You also [need to use the `A #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:65](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L65) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:64](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L64) --- @@ -83,7 +83,7 @@ The scope for user mentions, either members of the current channel of members of #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:69](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L69) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:68](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L68) --- @@ -95,7 +95,7 @@ Determines if the message is being dispalyed in a channel or in a [thread](https #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:73](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L73) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:72](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L72) --- @@ -107,7 +107,7 @@ If true, users can select multiple files to upload. If no value is provided, it #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:77](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L77) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:76](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L76) --- @@ -119,7 +119,7 @@ The message to edit #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:81](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L81) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:80](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L80) --- @@ -131,7 +131,7 @@ An observable that can be used to trigger message sending from the outside #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:85](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L85) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:84](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L84) --- @@ -143,7 +143,7 @@ In `desktop` mode the `Enter` key will trigger message sending, in `mobile` mode #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:89](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L89) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:88](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L88) --- @@ -155,7 +155,7 @@ Enables or disables auto focus on the textarea element #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:93](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L93) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:92](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L92) --- @@ -169,7 +169,7 @@ If you don't need that behavior, you can turn this of with this flag. In that ca #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:99](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L99) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:98](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L98) --- @@ -181,7 +181,7 @@ Use this input to control wether a send button is rendered or not. If you don't #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:103](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L103) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:102](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L102) --- @@ -193,6 +193,6 @@ Emits when a message was successfuly sent or updated #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:107](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L107) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:106](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L106) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageListComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageListComponent.mdx index 846db632..ecb19e1d 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageListComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageListComponent.mdx @@ -33,7 +33,7 @@ Determines if the message list should display channel messages or [thread messag #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L53) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L53) --- @@ -45,7 +45,7 @@ The direction of the messages in the list, `bottom-to-top` means newest message #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:57](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L57) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:57](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L57) --- @@ -57,7 +57,7 @@ You can hide the "jump to latest" button while scrolling. A potential use-case f #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:62](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L62) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:62](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L62) --- @@ -69,7 +69,7 @@ If `true` date separators will be displayed #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:66](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L66) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:66](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L66) --- @@ -81,7 +81,7 @@ If `true` unread indicator will be displayed #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:70](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L70) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:70](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L70) --- @@ -93,7 +93,7 @@ If date separators are displayed, you can set the horizontal position of the dat #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:74](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L74) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:74](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L74) --- @@ -105,7 +105,7 @@ If date separators are displayed, you can set the horizontal position of the dat #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:78](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L78) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:78](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L78) --- @@ -119,7 +119,7 @@ This is only applicable for `main` mode, as threads doesn't have read infromatio #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:85](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L85) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:85](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L85) --- @@ -131,7 +131,7 @@ You can turn on and off the loading indicator that signals to users that more me #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:89](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L89) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:89](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L89) --- @@ -141,6 +141,6 @@ You can turn on and off the loading indicator that signals to users that more me #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:93](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L93) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:93](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L93) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsComponent.mdx index 05b2fe0e..5c8dcef8 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsComponent.mdx @@ -53,7 +53,7 @@ The id of the message the reactions belong to #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L33) +[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L33) --- @@ -65,7 +65,7 @@ The number of reactions grouped by [reaction types](https://github.com/GetStream #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L37) +[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L37) --- @@ -77,7 +77,7 @@ List of reactions of a [message](../types/stream-message.mdx), used to display t #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:42](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L42) +[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:42](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L42) --- @@ -89,6 +89,6 @@ List of the user's own reactions of a [message](../types/stream-message.mdx), us #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:46](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L46) +[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:46](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L46) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsSelectorComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsSelectorComponent.mdx index fb94938d..c2eb0b99 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsSelectorComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsSelectorComponent.mdx @@ -46,7 +46,7 @@ List of the user's own reactions of a [message](../types/stream-message.mdx), us #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts:29](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts#L29) +[projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts:29](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts#L29) --- @@ -58,6 +58,6 @@ The id of the message the reactions belong to #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts#L33) +[projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts#L33) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/ModalComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/ModalComponent.mdx index 1487134d..8014a4b3 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/ModalComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/ModalComponent.mdx @@ -28,7 +28,7 @@ If `true` the modal will be displayed, if `false` the modal will be hidden #### Defined in -[projects/stream-chat-angular/src/lib/modal/modal.component.ts:25](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L25) +[projects/stream-chat-angular/src/lib/modal/modal.component.ts:25](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L25) --- @@ -40,7 +40,7 @@ The content of the modal (can also be provided using `ng-content`) #### Defined in -[projects/stream-chat-angular/src/lib/modal/modal.component.ts:29](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L29) +[projects/stream-chat-angular/src/lib/modal/modal.component.ts:29](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L29) --- @@ -52,6 +52,6 @@ Emits `true` if the modal becomes visible, and `false` if the modal is closed. #### Defined in -[projects/stream-chat-angular/src/lib/modal/modal.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L33) +[projects/stream-chat-angular/src/lib/modal/modal.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L33) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/NotificationComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/NotificationComponent.mdx index 29a43350..254b7e73 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/NotificationComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/NotificationComponent.mdx @@ -24,7 +24,7 @@ The type of the notification #### Defined in -[projects/stream-chat-angular/src/lib/notification/notification.component.ts:16](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/notification/notification.component.ts#L16) +[projects/stream-chat-angular/src/lib/notification/notification.component.ts:16](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification/notification.component.ts#L16) --- @@ -36,6 +36,6 @@ The content of the notification (can also be provided using `ng-content`) #### Defined in -[projects/stream-chat-angular/src/lib/notification/notification.component.ts:20](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/notification/notification.component.ts#L20) +[projects/stream-chat-angular/src/lib/notification/notification.component.ts:20](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification/notification.component.ts#L20) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/TextareaComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/TextareaComponent.mdx index 9b0c0045..9d1888dd 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/TextareaComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/TextareaComponent.mdx @@ -48,7 +48,7 @@ TextareaInterface.value #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L35) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L35) --- @@ -64,7 +64,7 @@ TextareaInterface.placeholder #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L39) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L39) --- @@ -80,7 +80,7 @@ TextareaInterface.inputMode #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L43) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L43) --- @@ -96,7 +96,7 @@ TextareaInterface.autoFocus #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L47) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L47) --- @@ -112,7 +112,7 @@ TextareaInterface.valueChange #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L51) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L51) --- @@ -128,6 +128,6 @@ TextareaInterface.send #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:55](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L55) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:55](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L55) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingComponent.mdx index 21ef740b..53e0201a 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingComponent.mdx @@ -82,6 +82,6 @@ The voice recording attachment #### Defined in -[projects/stream-chat-angular/src/lib/voice-recording/voice-recording.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/voice-recording/voice-recording.component.ts#L28) +[projects/stream-chat-angular/src/lib/voice-recording/voice-recording.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/voice-recording/voice-recording.component.ts#L28) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingWavebarComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingWavebarComponent.mdx index 6bf42329..6e73c301 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingWavebarComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingWavebarComponent.mdx @@ -34,7 +34,7 @@ The audio element that plays the voice recording #### Defined in -[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L28) +[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L28) --- @@ -46,7 +46,7 @@ The waveform data to visualize #### Defined in -[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:32](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L32) +[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:32](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L32) --- @@ -58,6 +58,6 @@ The duration of the voice recording in seconds #### Defined in -[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:36](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L36) +[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:36](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L36) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/services/AttachmentConfigurationService.mdx b/docusaurus/angular_versioned_docs/version-5/services/AttachmentConfigurationService.mdx index 954f915c..b31ee329 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/AttachmentConfigurationService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/AttachmentConfigurationService.mdx @@ -32,7 +32,7 @@ A custom handler can be provided to override the default giphy attachment (GIFs #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:37](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L37) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L37) --- @@ -60,7 +60,7 @@ A custom handler can be provided to override the default image attachment (image #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:22](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L22) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:22](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L22) --- @@ -86,7 +86,7 @@ A custom handler can be provided to override the default scraped image attachmen #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:43](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L43) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L43) --- @@ -113,7 +113,7 @@ A custom handler can be provided to override the default video attachment (video #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L30) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L30) --- @@ -125,7 +125,7 @@ You can turn on/off thumbnail generation for video attachments #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:49](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L49) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:49](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L49) ## Methods @@ -147,7 +147,7 @@ Handles the configuration for giphy attachments, it's possible to provide your o #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:180](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L180) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:180](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L180) --- @@ -171,7 +171,7 @@ Handles the configuration for image attachments, it's possible to provide your o #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:57](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L57) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:57](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L57) --- @@ -193,7 +193,7 @@ Handles the configuration for scraped image attachments, it's possible to provid #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:200](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L200) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:200](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L200) --- @@ -216,4 +216,4 @@ Handles the configuration for video attachments, it's possible to provide your o #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L123) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L123) diff --git a/docusaurus/angular_versioned_docs/version-5/services/AttachmentService.mdx b/docusaurus/angular_versioned_docs/version-5/services/AttachmentService.mdx index a8cc6a7e..dbe0d59e 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/AttachmentService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/AttachmentService.mdx @@ -20,7 +20,7 @@ Emits the number of uploads in progress. #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:25](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L25) +[projects/stream-chat-angular/src/lib/attachment.service.ts:25](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L25) --- @@ -32,7 +32,7 @@ Emits the state of the uploads ([`AttachmentUpload[]`](https://github.com/GetStr #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:29](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L29) +[projects/stream-chat-angular/src/lib/attachment.service.ts:29](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L29) ## Methods @@ -56,7 +56,7 @@ Note: If you just want to use your own CDN for file uploads, you don't necessary #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:120](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L120) +[projects/stream-chat-angular/src/lib/attachment.service.ts:120](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L120) --- @@ -78,7 +78,7 @@ Maps attachments received from the Stream API to uploads. This is useful when ed #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:206](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L206) +[projects/stream-chat-angular/src/lib/attachment.service.ts:206](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L206) --- @@ -100,7 +100,7 @@ Deletes an attachment, the attachment can have any state (`error`, `uploading` o #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:145](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L145) +[projects/stream-chat-angular/src/lib/attachment.service.ts:145](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L145) --- @@ -124,7 +124,7 @@ A promise with true or false. If false is returned the upload was canceled becau #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:62](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L62) +[projects/stream-chat-angular/src/lib/attachment.service.ts:62](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L62) --- @@ -142,7 +142,7 @@ the attachments #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:175](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L175) +[projects/stream-chat-angular/src/lib/attachment.service.ts:175](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L175) --- @@ -158,7 +158,7 @@ Resets the attachments uploads (for example after the message with the attachmen #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:53](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L53) +[projects/stream-chat-angular/src/lib/attachment.service.ts:53](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L53) --- @@ -182,4 +182,4 @@ A promise with the result #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:130](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/attachment.service.ts#L130) +[projects/stream-chat-angular/src/lib/attachment.service.ts:130](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L130) diff --git a/docusaurus/angular_versioned_docs/version-5/services/ChannelService.mdx b/docusaurus/angular_versioned_docs/version-5/services/ChannelService.mdx index 201e4dc5..e65aea5c 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/ChannelService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/ChannelService.mdx @@ -24,7 +24,7 @@ The active channel will always be marked as read when a new message is received #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:97](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L97) +[projects/stream-chat-angular/src/lib/channel.service.ts:96](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L96) --- @@ -38,7 +38,7 @@ This property isn't always updated, please use `channel.read` to display up-to-d #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:149](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L149) +[projects/stream-chat-angular/src/lib/channel.service.ts:148](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L148) --- @@ -50,7 +50,7 @@ Emits the list of currently loaded messages of the active channel. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:101](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L101) +[projects/stream-chat-angular/src/lib/channel.service.ts:100](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L100) --- @@ -62,7 +62,7 @@ Emits the list of pinned messages of the active channel. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:105](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L105) +[projects/stream-chat-angular/src/lib/channel.service.ts:104](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L104) --- @@ -76,7 +76,7 @@ This property isn't always updated, please use `channel.read` to display up-to-d #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:155](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L155) +[projects/stream-chat-angular/src/lib/channel.service.ts:154](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L154) --- @@ -88,7 +88,7 @@ Emits the currently selected parent message. If no message is selected, it emits #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:117](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L117) +[projects/stream-chat-angular/src/lib/channel.service.ts:116](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L116) --- @@ -100,7 +100,7 @@ Emits the id of the currently selected parent message. If no message is selected #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:109](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L109) +[projects/stream-chat-angular/src/lib/channel.service.ts:108](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L108) --- @@ -112,7 +112,7 @@ Emits the list of currently loaded thread replies belonging to the selected pare #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:113](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L113) +[projects/stream-chat-angular/src/lib/channel.service.ts:112](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L112) --- @@ -138,7 +138,7 @@ The provided method will be called before a new message is sent to Stream's API. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:304](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L304) +[projects/stream-chat-angular/src/lib/channel.service.ts:321](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L321) --- @@ -164,7 +164,7 @@ The provided method will be called before a message is sent to Stream's API for #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:310](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L310) +[projects/stream-chat-angular/src/lib/channel.service.ts:327](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L327) --- @@ -178,7 +178,7 @@ If a message is bounced, it will be emitted via this `Observable`. The built-in #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:143](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L143) +[projects/stream-chat-angular/src/lib/channel.service.ts:142](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L142) --- @@ -190,7 +190,7 @@ The result of the latest channel query request. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:87](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L87) +[projects/stream-chat-angular/src/lib/channel.service.ts:86](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L86) --- @@ -224,15 +224,17 @@ Our platform documentation covers the topic of [channel events](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:83](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L83) +[projects/stream-chat-angular/src/lib/channel.service.ts:82](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L82) --- ### customAddedToChannelNotificationHandler -• `Optional` **customAddedToChannelNotificationHandler**: (`clientEvent`: `ClientEvent`\<`DefaultStreamChatGenerics`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`) => `void` +• `Optional` **customAddedToChannelNotificationHandler**: (`clientEvent`: `ClientEvent`\<`DefaultStreamChatGenerics`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`) => `void` -Custom event handler to call when the user is added to a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +Custom event handler to call when the user is added to a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. #### Type declaration @@ -240,10 +242,10 @@ Custom event handler to call when the user is added to a channel, provide an eve ##### Parameters -| Name | Type | -| :------------------ | :------------------------------------------------------------------------------------------------------------------------ | -| `clientEvent` | `ClientEvent`\<`DefaultStreamChatGenerics`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| Name | Type | +| :------------------ | :------------------------------------------------------------------------------------------ | +| `clientEvent` | `ClientEvent`\<`DefaultStreamChatGenerics`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | ##### Returns @@ -251,15 +253,17 @@ Custom event handler to call when the user is added to a channel, provide an eve #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:169](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L169) +[projects/stream-chat-angular/src/lib/channel.service.ts:172](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L172) --- ### customChannelDeletedHandler -• `Optional` **customChannelDeletedHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` +• `Optional` **customChannelDeletedHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` + +Custom event handler to call when a channel is deleted, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). -Custom event handler to call when a channel is deleted, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. #### Type declaration @@ -267,14 +271,14 @@ Custom event handler to call when a channel is deleted, provide an event handler ##### Parameters -| Name | Type | -| :-------------------- | :------------------------------------------------------------------------------------------------------------------------ | -| `event` | `Event`\<`DefaultGenerics`\> | -| `channel` | `Channel`\<`T`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | -| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | +| Name | Type | +| :-------------------- | :------------------------------------------------------------------------------------------ | +| `event` | `Event`\<`DefaultGenerics`\> | +| `channel` | `Channel`\<`T`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | ##### Returns @@ -282,15 +286,17 @@ Custom event handler to call when a channel is deleted, provide an event handler #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:189](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L189) +[projects/stream-chat-angular/src/lib/channel.service.ts:196](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L196) --- ### customChannelHiddenHandler -• `Optional` **customChannelHiddenHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` +• `Optional` **customChannelHiddenHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` + +Custom event handler to call when a channel becomes hidden, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). -Custom event handler to call when a channel becomes hidden, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. #### Type declaration @@ -298,14 +304,14 @@ Custom event handler to call when a channel becomes hidden, provide an event han ##### Parameters -| Name | Type | -| :-------------------- | :------------------------------------------------------------------------------------------------------------------------ | -| `event` | `Event`\<`DefaultGenerics`\> | -| `channel` | `Channel`\<`T`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | -| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | +| Name | Type | +| :-------------------- | :------------------------------------------------------------------------------------------ | +| `event` | `Event`\<`DefaultGenerics`\> | +| `channel` | `Channel`\<`T`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | ##### Returns @@ -313,15 +319,17 @@ Custom event handler to call when a channel becomes hidden, provide an event han #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:231](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L231) +[projects/stream-chat-angular/src/lib/channel.service.ts:244](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L244) --- ### customChannelTruncatedHandler -• `Optional` **customChannelTruncatedHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` +• `Optional` **customChannelTruncatedHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` -Custom event handler to call when a channel is truncated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +Custom event handler to call when a channel is truncated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. #### Type declaration @@ -329,14 +337,14 @@ Custom event handler to call when a channel is truncated, provide an event handl ##### Parameters -| Name | Type | -| :-------------------- | :------------------------------------------------------------------------------------------------------------------------ | -| `event` | `Event`\<`DefaultGenerics`\> | -| `channel` | `Channel`\<`T`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | -| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | +| Name | Type | +| :-------------------- | :------------------------------------------------------------------------------------------ | +| `event` | `Event`\<`DefaultGenerics`\> | +| `channel` | `Channel`\<`T`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | ##### Returns @@ -344,15 +352,17 @@ Custom event handler to call when a channel is truncated, provide an event handl #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:217](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L217) +[projects/stream-chat-angular/src/lib/channel.service.ts:228](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L228) --- ### customChannelUpdatedHandler -• `Optional` **customChannelUpdatedHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`DefaultStreamChatGenerics`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`DefaultStreamChatGenerics`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`DefaultStreamChatGenerics`\>) => `void`) => `void` +• `Optional` **customChannelUpdatedHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`DefaultStreamChatGenerics`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`DefaultStreamChatGenerics`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`DefaultStreamChatGenerics`\>) => `void`) => `void` + +Custom event handler to call when a channel is updated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). -Custom event handler to call when a channel is updated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. #### Type declaration @@ -360,14 +370,14 @@ Custom event handler to call when a channel is updated, provide an event handler ##### Parameters -| Name | Type | -| :-------------------- | :------------------------------------------------------------------------------------------------------------------------ | -| `event` | `Event`\<`DefaultGenerics`\> | -| `channel` | `Channel`\<`T`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | -| `messageListSetter` | (`messages`: `StreamMessage`\<`DefaultStreamChatGenerics`\>[]) => `void` | -| `threadListSetter` | (`messages`: `StreamMessage`\<`DefaultStreamChatGenerics`\>[]) => `void` | -| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`DefaultStreamChatGenerics`\>) => `void` | +| Name | Type | +| :-------------------- | :------------------------------------------------------------------------------------------ | +| `event` | `Event`\<`DefaultGenerics`\> | +| `channel` | `Channel`\<`T`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| `messageListSetter` | (`messages`: `StreamMessage`\<`DefaultStreamChatGenerics`\>[]) => `void` | +| `threadListSetter` | (`messages`: `StreamMessage`\<`DefaultStreamChatGenerics`\>[]) => `void` | +| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`DefaultStreamChatGenerics`\>) => `void` | ##### Returns @@ -375,15 +385,17 @@ Custom event handler to call when a channel is updated, provide an event handler #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:203](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L203) +[projects/stream-chat-angular/src/lib/channel.service.ts:212](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L212) --- ### customChannelVisibleHandler -• `Optional` **customChannelVisibleHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` +• `Optional` **customChannelVisibleHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` -Custom event handler to call when a channel becomes visible, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +Custom event handler to call when a channel becomes visible, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. #### Type declaration @@ -391,14 +403,14 @@ Custom event handler to call when a channel becomes visible, provide an event ha ##### Parameters -| Name | Type | -| :-------------------- | :------------------------------------------------------------------------------------------------------------------------ | -| `event` | `Event`\<`DefaultGenerics`\> | -| `channel` | `Channel`\<`T`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | -| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | +| Name | Type | +| :-------------------- | :------------------------------------------------------------------------------------------ | +| `event` | `Event`\<`DefaultGenerics`\> | +| `channel` | `Channel`\<`T`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | ##### Returns @@ -406,7 +418,7 @@ Custom event handler to call when a channel becomes visible, provide an event ha #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:245](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L245) +[projects/stream-chat-angular/src/lib/channel.service.ts:260](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L260) --- @@ -433,7 +445,7 @@ You can override the default file delete request - override this if you use your #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:287](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L287) +[projects/stream-chat-angular/src/lib/channel.service.ts:304](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L304) --- @@ -460,7 +472,7 @@ You can override the default file upload request - you can use this to upload fi #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:273](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L273) +[projects/stream-chat-angular/src/lib/channel.service.ts:290](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L290) --- @@ -487,7 +499,7 @@ You can override the default image delete request - override this if you use you #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:291](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L291) +[projects/stream-chat-angular/src/lib/channel.service.ts:308](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L308) --- @@ -514,15 +526,17 @@ You can override the default image upload request - you can use this to upload i #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:280](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L280) +[projects/stream-chat-angular/src/lib/channel.service.ts:297](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L297) --- ### customNewMessageHandler -• `Optional` **customNewMessageHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` +• `Optional` **customNewMessageHandler**: (`event`: `Event`\<`DefaultGenerics`\>, `channel`: `Channel`\<`T`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`, `messageListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `threadListSetter`: (`messages`: `StreamMessage`\<`T`\>[]) => `void`, `parentMessageSetter`: (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void`) => `void` + +Custom event handler to call if a new message received from a channel that is being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). -Custom event handler to call if a new message received from a channel that is being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. #### Type declaration @@ -530,14 +544,14 @@ Custom event handler to call if a new message received from a channel that is be ##### Parameters -| Name | Type | -| :-------------------- | :------------------------------------------------------------------------------------------------------------------------ | -| `event` | `Event`\<`DefaultGenerics`\> | -| `channel` | `Channel`\<`T`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | -| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | -| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | +| Name | Type | +| :-------------------- | :------------------------------------------------------------------------------------------ | +| `event` | `Event`\<`DefaultGenerics`\> | +| `channel` | `Channel`\<`T`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| `messageListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `threadListSetter` | (`messages`: `StreamMessage`\<`T`\>[]) => `void` | +| `parentMessageSetter` | (`message`: `undefined` \| `StreamMessage`\<`T`\>) => `void` | ##### Returns @@ -545,26 +559,28 @@ Custom event handler to call if a new message received from a channel that is be #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:259](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L259) +[projects/stream-chat-angular/src/lib/channel.service.ts:276](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L276) --- ### customNewMessageNotificationHandler -• `Optional` **customNewMessageNotificationHandler**: (`clientEvent`: `ClientEvent`\<`DefaultStreamChatGenerics`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`) => `void` +• `Optional` **customNewMessageNotificationHandler**: (`clientEvent`: `ClientEvent`\<`DefaultStreamChatGenerics`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`) => `void` Custom event handler to call if a new message received from a channel that is not being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. + #### Type declaration ▸ (`clientEvent`, `channelListSetter`): `void` ##### Parameters -| Name | Type | -| :------------------ | :------------------------------------------------------------------------------------------------------------------------ | -| `clientEvent` | `ClientEvent`\<`DefaultStreamChatGenerics`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| Name | Type | +| :------------------ | :------------------------------------------------------------------------------------------ | +| `clientEvent` | `ClientEvent`\<`DefaultStreamChatGenerics`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | ##### Returns @@ -572,7 +588,7 @@ Custom event handler to call if a new message received from a channel that is no #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:159](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L159) +[projects/stream-chat-angular/src/lib/channel.service.ts:160](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L160) --- @@ -602,15 +618,17 @@ You can return either an offset, or a filter using the [`$lte`/`$gte` operator]( #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:320](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L320) +[projects/stream-chat-angular/src/lib/channel.service.ts:337](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L337) --- ### customRemovedFromChannelNotificationHandler -• `Optional` **customRemovedFromChannelNotificationHandler**: (`clientEvent`: `ClientEvent`\<`DefaultStreamChatGenerics`\>, `channelListSetter`: (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`) => `void` +• `Optional` **customRemovedFromChannelNotificationHandler**: (`clientEvent`: `ClientEvent`\<`DefaultStreamChatGenerics`\>, `channelListSetter`: (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void`) => `void` + +Custom event handler to call when the user is removed from a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). -Custom event handler to call when the user is removed from a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) +If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. #### Type declaration @@ -618,10 +636,10 @@ Custom event handler to call when the user is removed from a channel, provide an ##### Parameters -| Name | Type | -| :------------------ | :------------------------------------------------------------------------------------------------------------------------ | -| `clientEvent` | `ClientEvent`\<`DefaultStreamChatGenerics`\> | -| `channelListSetter` | (`channels`: (`Channel`\<`T`\> \| `ChannelResponse`\<`T`\>)[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | +| Name | Type | +| :------------------ | :------------------------------------------------------------------------------------------ | +| `clientEvent` | `ClientEvent`\<`DefaultStreamChatGenerics`\> | +| `channelListSetter` | (`channels`: `Channel`\<`T`\>[], `shouldStopWatchingRemovedChannels?`: `boolean`) => `void` | ##### Returns @@ -629,7 +647,7 @@ Custom event handler to call when the user is removed from a channel, provide an #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:179](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L179) +[projects/stream-chat-angular/src/lib/channel.service.ts:184](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L184) --- @@ -641,7 +659,7 @@ Emits `false` if there are no more pages of channels that can be loaded. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:56](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L56) +[projects/stream-chat-angular/src/lib/channel.service.ts:55](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L55) --- @@ -653,7 +671,7 @@ Emits the ID of the message the message list should jump to (can be a channel me #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:125](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L125) +[projects/stream-chat-angular/src/lib/channel.service.ts:124](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L124) --- @@ -665,7 +683,7 @@ Emits a map that contains the date of the latest message sent by the current use #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:137](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L137) +[projects/stream-chat-angular/src/lib/channel.service.ts:136](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L136) --- @@ -691,7 +709,7 @@ The provided method will be called before deleting a message. If the returned Pr #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:298](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L298) +[projects/stream-chat-angular/src/lib/channel.service.ts:315](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L315) --- @@ -703,7 +721,7 @@ Emits the currently selected message to quote #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:121](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L121) +[projects/stream-chat-angular/src/lib/channel.service.ts:120](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L120) --- @@ -715,7 +733,7 @@ Emits the list of users that are currently typing in the channel (current user i #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:129](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L129) +[projects/stream-chat-angular/src/lib/channel.service.ts:128](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L128) --- @@ -727,7 +745,7 @@ Emits the list of users that are currently typing in the active thread (current #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:133](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L133) +[projects/stream-chat-angular/src/lib/channel.service.ts:132](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L132) --- @@ -737,7 +755,7 @@ Emits the list of users that are currently typing in the active thread (current #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:324](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L324) +[projects/stream-chat-angular/src/lib/channel.service.ts:341](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L341) --- @@ -747,7 +765,7 @@ Emits the list of users that are currently typing in the active thread (current #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:328](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L328) +[projects/stream-chat-angular/src/lib/channel.service.ts:345](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L345) ## Accessors @@ -763,7 +781,7 @@ The current active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1568](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1568) +[projects/stream-chat-angular/src/lib/channel.service.ts:1629](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1629) --- @@ -779,7 +797,7 @@ The current active channel messages #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1575](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1575) +[projects/stream-chat-angular/src/lib/channel.service.ts:1636](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1636) --- @@ -795,7 +813,7 @@ The current list of channels #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1561](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1561) +[projects/stream-chat-angular/src/lib/channel.service.ts:1622](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1622) --- @@ -811,7 +829,7 @@ If set to false, read events won't be sent as new messages are received. If set #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:522](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L522) +[projects/stream-chat-angular/src/lib/channel.service.ts:575](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L575) • `set` **shouldMarkActiveChannelAsRead**(`shouldMarkActiveChannelAsRead`): `void` @@ -829,7 +847,7 @@ If set to false, read events won't be sent as new messages are received. If set #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:529](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L529) +[projects/stream-chat-angular/src/lib/channel.service.ts:582](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L582) ## Methods @@ -852,7 +870,7 @@ The channel will be added to the beginning of the channel list #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1092](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1092) +[projects/stream-chat-angular/src/lib/channel.service.ts:1145](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1145) --- @@ -876,7 +894,7 @@ Adds a reaction to a message. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:769](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L769) +[projects/stream-chat-angular/src/lib/channel.service.ts:822](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L822) --- @@ -900,7 +918,7 @@ The list of members matching the search filter #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1019](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1019) +[projects/stream-chat-angular/src/lib/channel.service.ts:1072](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1072) --- @@ -916,7 +934,7 @@ Clears the currently selected message to jump #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1216](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1216) +[projects/stream-chat-angular/src/lib/channel.service.ts:1269](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1269) --- @@ -938,7 +956,7 @@ Deletes an uploaded file by URL. If you want to know more about [file uploads](h #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1003](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1003) +[projects/stream-chat-angular/src/lib/channel.service.ts:1056](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1056) --- @@ -961,7 +979,7 @@ Deletes the message from the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:891](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L891) +[projects/stream-chat-angular/src/lib/channel.service.ts:944](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L944) --- @@ -977,7 +995,7 @@ Deselects the currently active (if any) channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:576](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L576) +[projects/stream-chat-angular/src/lib/channel.service.ts:629](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L629) --- @@ -1001,7 +1019,7 @@ all reactions of a message #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1584](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1584) +[projects/stream-chat-angular/src/lib/channel.service.ts:1645](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1645) --- @@ -1028,7 +1046,7 @@ the list of channels found by the query #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:706](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L706) +[projects/stream-chat-angular/src/lib/channel.service.ts:759](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L759) --- @@ -1051,7 +1069,7 @@ Jumps to the selected message inside the message list, if the message is not yet #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1188](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1188) +[projects/stream-chat-angular/src/lib/channel.service.ts:1241](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1241) --- @@ -1067,7 +1085,7 @@ Loads the next page of channels. The page size can be set in the [query option]( #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:759](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L759) +[projects/stream-chat-angular/src/lib/channel.service.ts:812](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L812) --- @@ -1089,7 +1107,7 @@ Loads the next page of messages of the active channel. The page size can be set #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:637](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L637) +[projects/stream-chat-angular/src/lib/channel.service.ts:690](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L690) --- @@ -1111,7 +1129,7 @@ Loads the next page of messages of the active thread. The page size can be set i #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:676](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L676) +[projects/stream-chat-angular/src/lib/channel.service.ts:729](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L729) --- @@ -1135,7 +1153,7 @@ the result of the request #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1617](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1617) +[projects/stream-chat-angular/src/lib/channel.service.ts:1678](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1678) --- @@ -1157,7 +1175,7 @@ Pins the given message in the channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1224](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1224) +[projects/stream-chat-angular/src/lib/channel.service.ts:1277](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1277) --- @@ -1173,7 +1191,7 @@ internal #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:500](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L500) +[projects/stream-chat-angular/src/lib/channel.service.ts:553](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L553) --- @@ -1196,7 +1214,7 @@ Removes a reaction from a message. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:785](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L785) +[projects/stream-chat-angular/src/lib/channel.service.ts:838](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L838) --- @@ -1218,7 +1236,7 @@ Resends the given message to the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:839](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L839) +[projects/stream-chat-angular/src/lib/channel.service.ts:892](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L892) --- @@ -1234,7 +1252,7 @@ Resets the `activeChannel$`, `channels$` and `activeChannelMessages$` Observable #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:742](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L742) +[projects/stream-chat-angular/src/lib/channel.service.ts:795](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L795) --- @@ -1256,7 +1274,7 @@ Selects or deselects the current message to quote reply to #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1083](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1083) +[projects/stream-chat-angular/src/lib/channel.service.ts:1136](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1136) --- @@ -1280,7 +1298,7 @@ Selects or deselects the current message to quote reply to #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1046](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1046) +[projects/stream-chat-angular/src/lib/channel.service.ts:1099](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1099) --- @@ -1307,7 +1325,7 @@ Sends a message to the active channel. The message is immediately added to the m #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:800](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L800) +[projects/stream-chat-angular/src/lib/channel.service.ts:853](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L853) --- @@ -1330,7 +1348,7 @@ If the channel wasn't previously part of the channel, it will be added to the be #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:544](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L544) +[projects/stream-chat-angular/src/lib/channel.service.ts:597](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L597) --- @@ -1353,7 +1371,7 @@ Sets the given `message` as an active parent message. If `undefined` is provided #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:602](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L602) +[projects/stream-chat-angular/src/lib/channel.service.ts:655](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L655) --- @@ -1375,7 +1393,7 @@ Call this method if user started typing in the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1544](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1544) +[projects/stream-chat-angular/src/lib/channel.service.ts:1605](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1605) --- @@ -1397,7 +1415,7 @@ Call this method if user stopped typing in the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1553](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1553) +[projects/stream-chat-angular/src/lib/channel.service.ts:1614](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1614) --- @@ -1419,7 +1437,7 @@ Removes the given message from pinned messages #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1243](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L1243) +[projects/stream-chat-angular/src/lib/channel.service.ts:1296](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1296) --- @@ -1441,7 +1459,7 @@ Updates the message in the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:856](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L856) +[projects/stream-chat-angular/src/lib/channel.service.ts:909](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L909) --- @@ -1465,4 +1483,4 @@ the result of file upload requests #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:923](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/channel.service.ts#L923) +[projects/stream-chat-angular/src/lib/channel.service.ts:976](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L976) diff --git a/docusaurus/angular_versioned_docs/version-5/services/ChatClientService.mdx b/docusaurus/angular_versioned_docs/version-5/services/ChatClientService.mdx index 0ce10937..139a1d64 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/ChatClientService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/ChatClientService.mdx @@ -18,7 +18,7 @@ Emits the current [application settings](https://getstream.io/chat/docs/javascri #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:49](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L49) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:50](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L50) --- @@ -30,7 +30,7 @@ The [StreamChat client](https://github.com/GetStream/stream-chat-js/blob/master/ #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:38](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L38) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L39) --- @@ -42,7 +42,7 @@ Emits the current connection state of the user (`online` or `offline`) #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:53](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L53) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:54](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L54) --- @@ -57,7 +57,7 @@ For performance reasons this Observable operates outside of the Angular change d #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:45](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L45) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:46](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L46) --- @@ -69,7 +69,7 @@ Emits the list of pending invites of the user. It emits every pending invitation #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:57](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L57) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:58](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L58) --- @@ -81,7 +81,7 @@ Emits the current chat user #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:61](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L61) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:62](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L62) ## Methods @@ -105,7 +105,7 @@ The users matching the search #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:215](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L215) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:227](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L227) --- @@ -121,7 +121,7 @@ Disconnects the current user, and closes the WebSocket connection. Useful when d #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:184](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L184) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:189](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L189) --- @@ -143,7 +143,7 @@ Flag the message with the given ID. If you want to know [more about flags](https #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:206](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L206) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:218](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L218) --- @@ -159,7 +159,7 @@ Loads the current [application settings](https://getstream.io/chat/docs/javascri #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:194](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L194) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:199](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L199) --- @@ -184,4 +184,4 @@ Creates a [`StreamChat`](https://github.com/GetStream/stream-chat-js/blob/668b3e #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:99](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/chat-client.service.ts#L99) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:101](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L101) diff --git a/docusaurus/angular_versioned_docs/version-5/services/CustomTemplatesService.mdx b/docusaurus/angular_versioned_docs/version-5/services/CustomTemplatesService.mdx index ed6c5c09..9319dcd9 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/CustomTemplatesService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/CustomTemplatesService.mdx @@ -22,7 +22,7 @@ The template that can be used to override how attachment actions are displayed i #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:276](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L276) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:276](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L276) --- @@ -34,7 +34,7 @@ The template used to display attachments of a [message](../components/MessageCom #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:109](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L109) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:109](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L109) --- @@ -46,7 +46,7 @@ The template used to display attachments in the [message input](../components/Me #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:116](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L116) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:116](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L116) --- @@ -58,7 +58,7 @@ The template used to display avatars for channels and users (instead of the [def #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L123) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L123) --- @@ -70,7 +70,7 @@ The template that can be used to override how a card attachment is displayed ins #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:270](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L270) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:270](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L270) --- @@ -82,7 +82,7 @@ The template for channel actions displayed in the [channel header](../components #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:102](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L102) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:102](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L102) --- @@ -94,7 +94,7 @@ The template used to display additional information about a channel under the ch #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:227](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L227) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:227](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L227) --- @@ -106,7 +106,7 @@ Template used to display the channel information inside the [channel list item]( #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:329](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L329) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:329](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L329) --- @@ -118,7 +118,7 @@ Template used to display an item in the [channel list](../components/ChannelList #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:67](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L67) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:67](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L67) --- @@ -130,7 +130,7 @@ The autocomplete list item template for commands (used in the [`AutocompleteText #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:60](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L60) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:60](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L60) --- @@ -142,7 +142,7 @@ The template used for displaying file upload/attachment selector inside the [mes #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:234](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L234) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:234](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L234) --- @@ -154,7 +154,7 @@ Template to display custom metadata inside [message component](../components/Mes #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:220](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L220) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:220](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L220) --- @@ -166,7 +166,7 @@ The template used to display the date separator inside the [message list](../com #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:288](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L288) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:288](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L288) --- @@ -180,7 +180,7 @@ Displayed for the last message sent by the current user, if the message isn't ye #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:195](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L195) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:195](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L195) --- @@ -192,7 +192,7 @@ The template for [emoji picker](../code-examples/emoji-picker.mdx) #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:81](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L81) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:81](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L81) --- @@ -204,7 +204,7 @@ The template to show if the main message list is empty #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:310](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L310) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:310](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L310) --- @@ -216,7 +216,7 @@ The template to show if the thread message list is empty #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:316](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L316) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:316](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L316) --- @@ -228,7 +228,7 @@ The template that can be used to override how a file attachment is displayed ins #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:264](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L264) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:264](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L264) --- @@ -240,7 +240,7 @@ The template that can be used to override how image gallery is displayed inside #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:258](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L258) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:258](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L258) --- @@ -252,7 +252,7 @@ Template for displaying icons (instead of the [default icon component](../compon #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:130](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L130) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:130](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L130) --- @@ -264,7 +264,7 @@ The template that can be used to override how a single image attachment is displ #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:240](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L240) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:240](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L240) --- @@ -276,7 +276,7 @@ Template for displaying the loading indicator (instead of the [default loading i #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:137](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L137) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:137](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L137) --- @@ -288,7 +288,7 @@ The autocomplete list item template for mentioning users (used in the [`Autocomp #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:54](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L54) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:54](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L54) --- @@ -300,7 +300,7 @@ The template used for displaying a [mention inside a message](../code-examples/m #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:74](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L74) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:74](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L74) --- @@ -312,7 +312,7 @@ The template used for displaying an item in the [message actions box](../compone #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:151](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L151) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:151](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L151) --- @@ -324,7 +324,7 @@ Template for displaying the message actions box (instead of the [default message #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:144](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L144) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:144](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L144) --- @@ -336,7 +336,7 @@ The template used to display the [message bounce prompt](../components/MessageBo #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:322](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L322) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:322](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L322) --- @@ -348,7 +348,7 @@ The template used to display the reactions of a [message](../components/MessageC #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:165](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L165) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:165](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L165) --- @@ -360,7 +360,7 @@ The template used to display the reactions of a [message](../components/MessageC #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:158](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L158) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:158](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L158) --- @@ -372,7 +372,7 @@ The template used to display a message in the [message list](../components/Messa #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:95](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L95) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:95](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L95) --- @@ -384,7 +384,7 @@ The template used to display a modal window (instead of the [default modal](../c #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:172](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L172) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:172](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L172) --- @@ -398,7 +398,7 @@ This UI element is used to separate unread messages from read messages #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:296](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L296) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:296](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L296) --- @@ -412,7 +412,7 @@ Users can use this notification to jump to the first unread message when it's cl #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:304](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L304) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:304](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L304) --- @@ -424,7 +424,7 @@ The template used to override the [default notification component](../components #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:179](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L179) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:179](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L179) --- @@ -438,7 +438,7 @@ Displayed for the last message sent by the current user, if the message is read #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:213](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L213) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:213](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L213) --- @@ -452,7 +452,7 @@ Displayed for the last message sent by the current user, if the message is curre #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:204](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L204) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:204](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L204) --- @@ -464,7 +464,7 @@ The template used to display [system messages](https://getstream.io/chat/docs/ja #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:282](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L282) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:282](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L282) --- @@ -476,7 +476,7 @@ The template used for header of a [thread](../components/ThreadComponent.mdx) #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:186](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L186) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:186](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L186) --- @@ -488,7 +488,7 @@ The typing indicator template used in the [message list](../components/MessageLi #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:88](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L88) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:88](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L88) --- @@ -500,7 +500,7 @@ The template that can be used to override how a video attachment is displayed in #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:252](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L252) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:252](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L252) --- @@ -512,4 +512,4 @@ The template that can be used to override how a voice recording attachment is di #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:246](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L246) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:246](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L246) diff --git a/docusaurus/angular_versioned_docs/version-5/services/DateParserService.mdx b/docusaurus/angular_versioned_docs/version-5/services/DateParserService.mdx index a1b67c0f..6904b8ac 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/DateParserService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/DateParserService.mdx @@ -26,7 +26,7 @@ Custom parser to override `parseDate` #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:18](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/date-parser.service.ts#L18) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:18](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L18) --- @@ -52,7 +52,7 @@ Custom parser to override `parseDateTime` #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:22](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/date-parser.service.ts#L22) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:22](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L22) --- @@ -78,7 +78,7 @@ Custom parser to override `parseTime` #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/date-parser.service.ts#L14) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L14) ## Methods @@ -102,7 +102,7 @@ The parsed date #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:43](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/date-parser.service.ts#L43) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L43) --- @@ -126,7 +126,7 @@ The parsed date #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:55](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/date-parser.service.ts#L55) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:55](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L55) --- @@ -150,4 +150,4 @@ The parsed time #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:31](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/date-parser.service.ts#L31) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:31](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L31) diff --git a/docusaurus/angular_versioned_docs/version-5/services/EmojiInputService.mdx b/docusaurus/angular_versioned_docs/version-5/services/EmojiInputService.mdx index 66782871..65629db9 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/EmojiInputService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/EmojiInputService.mdx @@ -12,4 +12,4 @@ If you have an emoji picker in your application, you can propagate the selected #### Defined in -[projects/stream-chat-angular/src/lib/message-input/emoji-input.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/emoji-input.service.ts#L14) +[projects/stream-chat-angular/src/lib/message-input/emoji-input.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/emoji-input.service.ts#L14) diff --git a/docusaurus/angular_versioned_docs/version-5/services/MessageActionsService.mdx b/docusaurus/angular_versioned_docs/version-5/services/MessageActionsService.mdx index 72f77c1d..9a6baa24 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/MessageActionsService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/MessageActionsService.mdx @@ -32,7 +32,7 @@ By default the [`MessageComponent`](../../components/MessageComponent) will disp #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:188](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions.service.ts#L188) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:188](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L188) --- @@ -44,7 +44,7 @@ You can pass your own custom actions that will be displayed inside the built-in #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:184](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions.service.ts#L184) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:184](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L184) --- @@ -56,7 +56,7 @@ Default actions - these are the actions that are handled by the built-in compone #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:28](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions.service.ts#L28) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:28](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L28) --- @@ -68,7 +68,7 @@ The built-in components will handle changes to this observable. #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:180](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions.service.ts#L180) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:180](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L180) ## Methods @@ -93,4 +93,4 @@ the count #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:220](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-actions.service.ts#L220) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:220](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L220) diff --git a/docusaurus/angular_versioned_docs/version-5/services/MessageInputConfigService.mdx b/docusaurus/angular_versioned_docs/version-5/services/MessageInputConfigService.mdx index db5b643a..b08c4bd4 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/MessageInputConfigService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/MessageInputConfigService.mdx @@ -12,7 +12,7 @@ If true, users can mention other users in messages. You also [need to use the `A #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:17](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L17) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:17](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L17) --- @@ -24,7 +24,7 @@ In `desktop` mode the `Enter` key will trigger message sending, in `mobile` mode #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L30) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L30) --- @@ -36,7 +36,7 @@ If file upload is enabled, the user can open a file selector from the input. Ple #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:13](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L13) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:13](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L13) --- @@ -48,7 +48,7 @@ If `false`, users can only upload one attachment per message #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:21](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L21) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:21](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L21) --- @@ -60,4 +60,4 @@ The scope for user mentions, either members of the current channel of members of #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:25](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L25) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:25](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L25) diff --git a/docusaurus/angular_versioned_docs/version-5/services/MessageReactionsService.mdx b/docusaurus/angular_versioned_docs/version-5/services/MessageReactionsService.mdx index 435c3241..7ee573d5 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/MessageReactionsService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/MessageReactionsService.mdx @@ -28,7 +28,7 @@ The event handler can retrieve all reactions of a message inside the active chan #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L30) +[projects/stream-chat-angular/src/lib/message-reactions.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L30) --- @@ -42,7 +42,7 @@ You can provide any string as a reaction. The emoji can be provided as a string, #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions.service.ts:18](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L18) +[projects/stream-chat-angular/src/lib/message-reactions.service.ts:18](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L18) ## Accessors @@ -58,7 +58,7 @@ Get the currently enabled reactions #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions.service.ts:44](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L44) +[projects/stream-chat-angular/src/lib/message-reactions.service.ts:44](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L44) • `set` **reactions**(`reactions`): `void` @@ -76,4 +76,4 @@ Sets the enabled reactions #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions.service.ts:37](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L37) +[projects/stream-chat-angular/src/lib/message-reactions.service.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L37) diff --git a/docusaurus/angular_versioned_docs/version-5/services/MessageService.mdx b/docusaurus/angular_versioned_docs/version-5/services/MessageService.mdx index a365cf22..8e861b6b 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/MessageService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/MessageService.mdx @@ -26,7 +26,7 @@ You can provide a custom method to display links #### Defined in -[projects/stream-chat-angular/src/lib/message.service.ts:24](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message.service.ts#L24) +[projects/stream-chat-angular/src/lib/message.service.ts:24](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message.service.ts#L24) --- @@ -43,4 +43,4 @@ If you display messages as text the following parts are still be displayed as HT #### Defined in -[projects/stream-chat-angular/src/lib/message.service.ts:17](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/message.service.ts#L17) +[projects/stream-chat-angular/src/lib/message.service.ts:17](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message.service.ts#L17) diff --git a/docusaurus/angular_versioned_docs/version-5/services/NotificationService.mdx b/docusaurus/angular_versioned_docs/version-5/services/NotificationService.mdx index d2da20f3..9965bc29 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/NotificationService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/NotificationService.mdx @@ -12,7 +12,7 @@ Emits the currently active [notifications](https://github.com/GetStream/stream-c #### Defined in -[projects/stream-chat-angular/src/lib/notification.service.ts:15](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/notification.service.ts#L15) +[projects/stream-chat-angular/src/lib/notification.service.ts:15](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification.service.ts#L15) ## Methods @@ -51,7 +51,7 @@ A method to clear the notification. #### Defined in -[projects/stream-chat-angular/src/lib/notification.service.ts:68](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/notification.service.ts#L68) +[projects/stream-chat-angular/src/lib/notification.service.ts:68](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification.service.ts#L68) --- @@ -91,4 +91,4 @@ A method to clear the notification (before the timeout). #### Defined in -[projects/stream-chat-angular/src/lib/notification.service.ts:31](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/notification.service.ts#L31) +[projects/stream-chat-angular/src/lib/notification.service.ts:31](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification.service.ts#L31) diff --git a/docusaurus/angular_versioned_docs/version-5/services/StreamI18nService.mdx b/docusaurus/angular_versioned_docs/version-5/services/StreamI18nService.mdx index 34ac284f..c0f28293 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/StreamI18nService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/StreamI18nService.mdx @@ -23,4 +23,4 @@ Registers the translation to the [ngx-translate](https://github.com/ngx-translat #### Defined in -[projects/stream-chat-angular/src/lib/stream-i18n.service.ts:19](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/stream-i18n.service.ts#L19) +[projects/stream-chat-angular/src/lib/stream-i18n.service.ts:19](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/stream-i18n.service.ts#L19) diff --git a/docusaurus/angular_versioned_docs/version-5/services/ThemeService.mdx b/docusaurus/angular_versioned_docs/version-5/services/ThemeService.mdx index 06a74bae..afa2cad9 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/ThemeService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/ThemeService.mdx @@ -12,4 +12,4 @@ A Subject that can be used to get or set the currently active theme. By default #### Defined in -[projects/stream-chat-angular/src/lib/theme.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/theme.service.ts#L14) +[projects/stream-chat-angular/src/lib/theme.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/theme.service.ts#L14) diff --git a/docusaurus/angular_versioned_docs/version-5/services/TransliterationService.mdx b/docusaurus/angular_versioned_docs/version-5/services/TransliterationService.mdx index 16178a54..bffe15b9 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/TransliterationService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/TransliterationService.mdx @@ -22,4 +22,4 @@ the result of the transliteration #### Defined in -[projects/stream-chat-angular/src/lib/transliteration.service.ts:16](https://github.com/GetStream/stream-chat-angular/blob/f43d2078f2bb47e5525dc36e606606b4b5dfac61/projects/stream-chat-angular/src/lib/transliteration.service.ts#L16) +[projects/stream-chat-angular/src/lib/transliteration.service.ts:16](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/transliteration.service.ts#L16) diff --git a/projects/stream-chat-angular/src/lib/channel.service.spec.ts b/projects/stream-chat-angular/src/lib/channel.service.spec.ts index 17cb2c94..c27ae6c4 100644 --- a/projects/stream-chat-angular/src/lib/channel.service.spec.ts +++ b/projects/stream-chat-angular/src/lib/channel.service.spec.ts @@ -1061,7 +1061,7 @@ describe('ChannelService', () => { const spy = jasmine.createSpy(); service.channels$.subscribe(spy); mockChatClient.activeChannels[channel.cid] = channel; - spyOn(channel, 'stopWatching'); + spyOn(channel, 'stopWatching').and.callThrough(); spyOn(service, 'setAsActiveChannel'); events$.next({ @@ -2555,4 +2555,36 @@ describe('ChannelService', () => { expect(activeChannel.markRead).toHaveBeenCalledWith(); }); + + it('channel list setter should respect channel order', async () => { + await init(); + const currentChannels = service.channels; + const newChannel = generateMockChannels()[0]; + const newChannels = [currentChannels[0], newChannel, currentChannels[1]]; + // @ts-expect-error this is how we can differentiate between Channel and ChannelResponse + newChannels.forEach((c) => (c._client = {})); + const spy = jasmine.createSpy(); + service.channels$.subscribe(spy); + spy.calls.reset(); + + service['channelListSetter'](newChannels); + + expect(spy).toHaveBeenCalledOnceWith(newChannels); + }); + + it('channel list setter should watch for channel events', async () => { + await init(); + const currentChannels = service.channels; + const newChannel = generateMockChannels()[0]; + newChannel.cid = 'new-channel'; + const unsubscribeSpy = jasmine.createSpy(); + spyOn(newChannel, 'on').and.returnValue({ unsubscribe: unsubscribeSpy }); + const newChannels = [currentChannels[0], newChannel, currentChannels[1]]; + // @ts-expect-error this is how we can differentiate between Channel and ChannelResponse + newChannels.forEach((c) => (c._client = {})); + + service['channelListSetter'](newChannels); + + expect(newChannel.on).toHaveBeenCalledWith(jasmine.any(Function)); + }); }); diff --git a/projects/stream-chat-angular/src/lib/channel.service.ts b/projects/stream-chat-angular/src/lib/channel.service.ts index 1e117983..5137bdc9 100644 --- a/projects/stream-chat-angular/src/lib/channel.service.ts +++ b/projects/stream-chat-angular/src/lib/channel.service.ts @@ -19,7 +19,6 @@ import { FormatMessageResponse, Message, MessageResponse, - QueryChannelAPIResponse, ReactionResponse, UpdatedMessage, UserFilters, @@ -155,42 +154,50 @@ export class ChannelService< activeChannelUnreadCount?: number; /** * Custom event handler to call if a new message received from a channel that is not being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customNewMessageNotificationHandler?: ( clientEvent: ClientEvent, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void ) => void; /** - * Custom event handler to call when the user is added to a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * Custom event handler to call when the user is added to a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customAddedToChannelNotificationHandler?: ( clientEvent: ClientEvent, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void ) => void; /** - * Custom event handler to call when the user is removed from a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * Custom event handler to call when the user is removed from a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customRemovedFromChannelNotificationHandler?: ( clientEvent: ClientEvent, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void ) => void; /** - * Custom event handler to call when a channel is deleted, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * Custom event handler to call when a channel is deleted, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customChannelDeletedHandler?: ( event: Event, channel: Channel, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void, messageListSetter: (messages: StreamMessage[]) => void, @@ -198,13 +205,15 @@ export class ChannelService< parentMessageSetter: (message: StreamMessage | undefined) => void ) => void; /** - * Custom event handler to call when a channel is updated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * Custom event handler to call when a channel is updated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customChannelUpdatedHandler?: ( event: Event, channel: Channel, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void, messageListSetter: (messages: StreamMessage[]) => void, @@ -212,13 +221,15 @@ export class ChannelService< parentMessageSetter: (message: StreamMessage | undefined) => void ) => void; /** - * Custom event handler to call when a channel is truncated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * Custom event handler to call when a channel is truncated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customChannelTruncatedHandler?: ( event: Event, channel: Channel, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void, messageListSetter: (messages: StreamMessage[]) => void, @@ -226,13 +237,15 @@ export class ChannelService< parentMessageSetter: (message: StreamMessage | undefined) => void ) => void; /** - * Custom event handler to call when a channel becomes hidden, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * Custom event handler to call when a channel becomes hidden, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customChannelHiddenHandler?: ( event: Event, channel: Channel, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void, messageListSetter: (messages: StreamMessage[]) => void, @@ -240,13 +253,15 @@ export class ChannelService< parentMessageSetter: (message: StreamMessage | undefined) => void ) => void; /** - * Custom event handler to call when a channel becomes visible, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * Custom event handler to call when a channel becomes visible, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customChannelVisibleHandler?: ( event: Event, channel: Channel, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void, messageListSetter: (messages: StreamMessage[]) => void, @@ -254,13 +269,15 @@ export class ChannelService< parentMessageSetter: (message: StreamMessage | undefined) => void ) => void; /** - * Custom event handler to call if a new message received from a channel that is being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels) + * Custom event handler to call if a new message received from a channel that is being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels). + * + * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel. */ customNewMessageHandler?: ( event: Event, channel: Channel, channelListSetter: ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels?: boolean ) => void, messageListSetter: (messages: StreamMessage[]) => void, @@ -377,23 +394,59 @@ export class ChannelService< >(undefined); private channelListSetter = ( - channels: (Channel | ChannelResponse)[], + channels: Channel[], shouldStopWatchingRemovedChannels = true ) => { const currentChannels = this.channelsSubject.getValue() || []; - const newChannels = channels.filter( - (c) => !currentChannels.find((channel) => channel.cid === c.cid) - ); const deletedChannels = currentChannels.filter( (c) => !channels?.find((channel) => channel.cid === c.cid) ); - void this.addChannelsFromNotification(newChannels as ChannelResponse[]); - this.removeChannelsFromChannelList( - deletedChannels.map((c) => c.cid), - shouldStopWatchingRemovedChannels - ); + + for (let i = 0; i < channels.length; i++) { + const channel = channels[i]; + if (!this.channelSubscriptions[channel.cid]) { + this.watchForChannelEvents(channel); + } + if (deletedChannels.includes(channel)) { + if (shouldStopWatchingRemovedChannels) { + if (this.channelSubscriptions[channel.cid]) { + this.channelSubscriptions[channel.cid](); + delete this.channelSubscriptions.cid; + } + void this.chatClientService.chatClient.activeChannels[channel.cid] + ?.stopWatching() + .catch((err) => + this.chatClientService.chatClient.logger( + 'warn', + 'Failed to unwatch channel', + err + ) + ); + } + } + } + + const nextChannels = channels as Channel[]; + this.channelsSubject.next(nextChannels); + if ( + !nextChannels.find( + (c) => c.cid === this.activeChannelSubject.getValue()?.cid + ) + ) { + if (nextChannels.length > 0) { + this.setAsActiveChannel(nextChannels[0]); + } else { + this.activeChannelSubject.next(undefined); + } + } }; + private isChannelResponse( + c: Channel | ChannelResponse + ): c is ChannelResponse { + return c._client === undefined; + } + private messageListSetter = (messages: StreamMessage[]) => { this.activeChannelMessagesSubject.next(messages); }; @@ -1374,66 +1427,74 @@ export class ChannelService< private handleRemovedFromChannelNotification(clientEvent: ClientEvent) { const channelIdToBeRemoved = clientEvent.event.channel!.cid; - this.removeChannelsFromChannelList([channelIdToBeRemoved], true); + this.removeChannelFromChannelList(channelIdToBeRemoved, true); } private handleNewMessageNotification(clientEvent: ClientEvent) { if (clientEvent.event.channel) { - void this.addChannelsFromNotification([clientEvent.event.channel]); + void this.addChannelFromNotification(clientEvent.event.channel); } } private handleAddedToChannelNotification(clientEvent: ClientEvent) { if (clientEvent.event.channel) { - void this.addChannelsFromNotification([clientEvent.event.channel]); + void this.addChannelFromNotification(clientEvent.event.channel); } } - private async addChannelsFromNotification( - channelResponses: ChannelResponse[] + private async addChannelFromNotification( + channelResponse: ChannelResponse ) { - let newChannels: Channel[] = []; - const watchRequests: Promise>[] = []; - channelResponses.forEach((channelResponse) => { - const channel = this.chatClientService.chatClient.channel( - channelResponse.type, - channelResponse.id + let newChannel = this.chatClientService.chatClient.channel( + channelResponse.type, + channelResponse.id + ); + let currentChannels = this.channelsSubject.getValue() || []; + if (currentChannels.find((c) => c.cid === newChannel.cid)) { + return; + } + await newChannel.watch().catch((err) => { + this.chatClientService.chatClient.logger( + 'error', + 'Failed to add channel to channel list because watch request failed', + err ); - watchRequests.push(channel.watch()); - newChannels.push(channel); }); - await Promise.all(watchRequests); - const currentChannels = this.channelsSubject.getValue() || []; - newChannels = newChannels.filter( - (newChannel) => !currentChannels.find((c) => c.cid === newChannel.cid) - ); - if (newChannels.length > 0) { - newChannels.forEach((c) => this.watchForChannelEvents(c)); - this.channelsSubject.next([...newChannels, ...currentChannels]); + currentChannels = this.channelsSubject.getValue() || []; + if (currentChannels.find((c) => c.cid === newChannel.cid)) { + return; } + this.watchForChannelEvents(newChannel); + this.channelsSubject.next([newChannel, ...currentChannels]); } - private removeChannelsFromChannelList( - cids: string[], + private removeChannelFromChannelList( + cid: string, shouldStopWatching: boolean ) { - const channels = this.channels.filter((c) => !cids.includes(c.cid || '')); + const remainingChannels = this.channels.filter((c) => c.cid !== cid); + if (shouldStopWatching) { - cids.forEach((cid) => { - if (this.channelSubscriptions[cid]) { - this.channelSubscriptions[cid](); - delete this.channelSubscriptions.cid; - } - void this.chatClientService.chatClient.activeChannels[ - cid - ]?.stopWatching(); - }); + if (this.channelSubscriptions[cid]) { + this.channelSubscriptions[cid](); + delete this.channelSubscriptions.cid; + } + void this.chatClientService.chatClient.activeChannels[cid] + ?.stopWatching() + .catch((err) => + this.chatClientService.chatClient.logger( + 'warn', + 'Failed to unwatch channel', + err + ) + ); } - if (channels.length < this.channels.length) { - this.channelsSubject.next(channels); - if (cids.includes(this.activeChannelSubject.getValue()?.cid || '')) { - if (channels.length > 0) { - this.setAsActiveChannel(channels[0]); + + if (remainingChannels.length < this.channels.length) { + this.channelsSubject.next(remainingChannels); + if (cid === this.activeChannelSubject.getValue()?.cid) { + if (remainingChannels.length > 0) { + this.setAsActiveChannel(remainingChannels[0]); } else { this.activeChannelSubject.next(undefined); } @@ -1836,6 +1897,9 @@ export class ChannelService< } private watchForChannelEvents(channel: Channel) { + if (this.channelSubscriptions[channel.cid]) { + this.channelSubscriptions[channel.cid](); + } const unsubscribe = channel.on((event: Event) => { // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion const type = event.type as EventTypes | 'capabilities.changed'; @@ -1972,11 +2036,11 @@ export class ChannelService< } private handleChannelHidden(event: Event) { - this.removeChannelsFromChannelList([event.channel!.cid], false); + this.removeChannelFromChannelList(event.channel!.cid, false); } private handleChannelDeleted(event: Event) { - this.removeChannelsFromChannelList([event.channel!.cid], false); + this.removeChannelFromChannelList(event.channel!.cid, false); } private handleChannelVisible(event: Event, channel: Channel) { diff --git a/projects/stream-chat-angular/src/lib/chat-client.service.spec.ts b/projects/stream-chat-angular/src/lib/chat-client.service.spec.ts index d301867b..cdb47f5c 100644 --- a/projects/stream-chat-angular/src/lib/chat-client.service.spec.ts +++ b/projects/stream-chat-angular/src/lib/chat-client.service.spec.ts @@ -362,40 +362,75 @@ describe('ChatClientService', () => { const event1 = { id: 'mockevent', type: 'notification.invited', - channel: { cid: 'what-i-ate-for-lunch' }, + channel: { + cid: 'messaging:what-i-ate-for-lunch', + type: 'messaging', + id: 'what-i-ate-for-lunch', + }, member: { user: mockChatClient.user }, } as any as Event; mockChatClient.handleEvent(event1.type, event1); - expect(invitesSpy).toHaveBeenCalledWith([event1.channel]); + expect(invitesSpy).toHaveBeenCalledWith([ + jasmine.objectContaining({ + type: 'messaging', + id: 'what-i-ate-for-lunch', + }), + ]); invitesSpy.calls.reset(); const event2 = { id: 'mockevent', type: 'notification.invited', - channel: { cid: 'gardening' }, + channel: { + cid: 'messaging:gardening', + type: 'messaging', + id: 'gardening', + }, member: { user: mockChatClient.user }, } as any as Event; mockChatClient.handleEvent(event2.type, event2); - expect(invitesSpy).toHaveBeenCalledWith([event1.channel, event2.channel]); + expect(invitesSpy).toHaveBeenCalledWith([ + jasmine.objectContaining({ + type: 'messaging', + id: 'what-i-ate-for-lunch', + }), + jasmine.objectContaining({ + type: 'messaging', + id: 'gardening', + }), + ]); invitesSpy.calls.reset(); const event3 = { id: 'mockevent', type: 'notification.invite_accepted', - channel: { cid: 'what-i-ate-for-lunch' }, + channel: { + cid: 'messaging:what-i-ate-for-lunch', + type: 'messaging', + id: 'what-i-ate-for-lunch', + }, member: { user: mockChatClient.user }, } as any as Event; mockChatClient.handleEvent(event3.type, event3); - expect(invitesSpy).toHaveBeenCalledWith([event2.channel]); + expect(invitesSpy).toHaveBeenCalledWith([ + jasmine.objectContaining({ + type: 'messaging', + id: 'gardening', + }), + ]); invitesSpy.calls.reset(); const event4 = { id: 'mockevent', type: 'notification.invite_rejected', - channel: { cid: 'gardening' }, + channel: { + cid: 'messaging:gardening', + type: 'messaging', + id: 'gardening', + }, member: { user: mockChatClient.user }, } as any as Event; mockChatClient.handleEvent(event4.type, event4); @@ -406,7 +441,11 @@ describe('ChatClientService', () => { const event5 = { id: 'mockevent', type: 'notification.invite_rejected', - channel: { cid: 'gardening' }, + channel: { + cid: 'messaging:gardening', + type: 'messaging', + id: 'gardening', + }, member: { user: { id: `not${mockChatClient.user.id}` }, }, diff --git a/projects/stream-chat-angular/src/lib/chat-client.service.ts b/projects/stream-chat-angular/src/lib/chat-client.service.ts index 25f2ecb1..f664b9d9 100644 --- a/projects/stream-chat-angular/src/lib/chat-client.service.ts +++ b/projects/stream-chat-angular/src/lib/chat-client.service.ts @@ -55,7 +55,7 @@ export class ChatClientService< /** * Emits the list of pending invites of the user. It emits every pending invitation during initialization and then extends the list when a new invite is received. More information can be found in the [channel invitations](../code-examples/channel-invites.mdx) guide. */ - pendingInvites$: Observable<(ChannelResponse | Channel)[]>; + pendingInvites$: Observable[]>; /** * Emits the current chat user */ @@ -65,9 +65,7 @@ export class ChatClientService< private appSettingsSubject = new BehaviorSubject( undefined ); - private pendingInvitesSubject = new BehaviorSubject< - (ChannelResponse | Channel)[] - >([]); + private pendingInvitesSubject = new BehaviorSubject[]>([]); private userSubject = new ReplaySubject< OwnUserResponse | UserResponse | undefined >(1); @@ -245,7 +243,8 @@ export class ChatClientService< if (e.member?.user?.id === this.chatClient.user?.id && e.channel) { const pendingInvites = this.pendingInvitesSubject.getValue(); if (e.type === 'notification.invited') { - this.pendingInvitesSubject.next([...pendingInvites, e.channel]); + const channel = this.chatClient.channel(e.channel?.type, e.channel?.id); + this.pendingInvitesSubject.next([...pendingInvites, channel]); } else if ( e.type === 'notification.invite_accepted' || e.type === 'notification.invite_rejected' diff --git a/projects/stream-chat-angular/src/lib/mocks/index.ts b/projects/stream-chat-angular/src/lib/mocks/index.ts index c94136fc..a20ceb7a 100644 --- a/projects/stream-chat-angular/src/lib/mocks/index.ts +++ b/projects/stream-chat-angular/src/lib/mocks/index.ts @@ -87,8 +87,8 @@ export const generateMockChannels = (length = 25) => { () => {}), }; }, - watch: () => {}, - stopWatching: () => {}, + watch: () => Promise.resolve(), + stopWatching: () => Promise.resolve(), sendMessage: (m: any) => { // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment return Promise.resolve({ message: m }); @@ -208,6 +208,14 @@ export const generateMockChannels = (length = 25) => { return channels; }; +export const generateMockChannel = (type: string, id: string) => { + const channel = generateMockChannels(1)[0]; + channel.type = type; + channel.id = id; + + return channel; +}; + export type MockChannelService = { hasMoreChannels$: Subject; channels$: Subject[] | undefined>; @@ -323,6 +331,7 @@ export const mockChannelService = (): MockChannelService => { }; export type MockStreamChatClient = { + channel: (type: string, id: string) => MockChannel; appSettings$: Subject; user: UserResponse; connectUser: jasmine.Spy; @@ -388,6 +397,9 @@ export const mockStreamChatClient = (): MockStreamChatClient => { } }; const appSettings$ = new Subject(); + const channel = (type: string, id: string) => { + return generateMockChannel(type, id); + }; return { connectUser, @@ -404,6 +416,7 @@ export const mockStreamChatClient = (): MockStreamChatClient => { queryChannels, setGuestUser, connectAnonymousUser, + channel, }; }; From 244f27932aada2ea0908253f36e5a3fc9adf71d8 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Tue, 25 Jun 2024 16:30:58 +0200 Subject: [PATCH 2/3] refactor: channel query extracted into --- .../src/lib/channel-query.spec.ts | 2 + .../src/lib/channel-query.ts | 115 +++++++++++ .../src/lib/channel.service.spec.ts | 4 +- .../src/lib/channel.service.ts | 181 ++++++++---------- .../src/lib/chat-client.service.ts | 1 - .../src/lib/mocks/index.ts | 1 + projects/stream-chat-angular/src/lib/types.ts | 9 + .../stream-chat-angular/src/public-api.ts | 1 + 8 files changed, 211 insertions(+), 103 deletions(-) create mode 100644 projects/stream-chat-angular/src/lib/channel-query.spec.ts create mode 100644 projects/stream-chat-angular/src/lib/channel-query.ts diff --git a/projects/stream-chat-angular/src/lib/channel-query.spec.ts b/projects/stream-chat-angular/src/lib/channel-query.spec.ts new file mode 100644 index 00000000..66417449 --- /dev/null +++ b/projects/stream-chat-angular/src/lib/channel-query.spec.ts @@ -0,0 +1,2 @@ +// Tests are inside ChannelService +describe('ChannelQuery', () => {}); diff --git a/projects/stream-chat-angular/src/lib/channel-query.ts b/projects/stream-chat-angular/src/lib/channel-query.ts new file mode 100644 index 00000000..5a25e694 --- /dev/null +++ b/projects/stream-chat-angular/src/lib/channel-query.ts @@ -0,0 +1,115 @@ +import { + Channel, + ChannelFilters, + ChannelOptions, + ChannelSort, +} from 'stream-chat'; +import { ChannelService } from './channel.service'; +import { + ChannelQueryResult, + ChannelQueryType, + DefaultStreamChatGenerics, + NextPageConfiguration, +} from './types'; +import { ChatClientService } from './chat-client.service'; + +/** + * This class allows you to make paginated channel query requests. + */ +export class ChannelQuery< + T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics +> { + /** + * By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method. + * + * The method will be called with the result of the latest channel query. + * + * You can return either an offset, or a filter using the [`$lte`/`$gte` operator](https://getstream.io/chat/docs/javascript/query_syntax_operators/). If you return a filter, it will be merged with the filter provided for the `init` method. + */ + customPaginator?: (channelQueryResult: Channel[]) => NextPageConfiguration; + private nextPageConfiguration?: NextPageConfiguration; + + constructor( + private chatService: ChatClientService, + private channelService: ChannelService, + private filters: ChannelFilters, + private sort: ChannelSort = { last_message_at: -1 }, + private options: ChannelOptions = { + limit: 25, + state: true, + presence: true, + watch: true, + } + ) {} + + async query(queryType: ChannelQueryType): Promise> { + if (queryType === 'first-page' || queryType === 'recover-state') { + this.nextPageConfiguration = undefined; + } + const prevChannels = + queryType === 'recover-state' ? [] : this.channelService.channels; + let filters: ChannelFilters; + let options: ChannelOptions; + if (this.nextPageConfiguration) { + if (this.nextPageConfiguration.type === 'filter') { + filters = { + ...this.filters, + ...this.nextPageConfiguration.paginationFilter, + }; + options = this.options; + } else { + options = { + ...this.options, + offset: this.nextPageConfiguration.offset, + }; + filters = this.filters; + } + } else { + filters = this.filters; + options = this.options; + } + const channels = await this.chatService.chatClient.queryChannels( + filters, + this.sort || {}, + options + ); + this.setNextPageConfiguration(channels); + + const currentActiveChannel = this.channelService.activeChannel; + if ( + queryType === 'recover-state' && + currentActiveChannel && + !channels.find((c) => c.cid === currentActiveChannel?.cid) + ) { + try { + await currentActiveChannel.watch(); + channels.unshift(currentActiveChannel); + } catch (error) { + this.chatService.chatClient.logger( + 'warn', + 'Unable to refetch active channel after state recover', + error as Record + ); + } + } + + return { + channels: [...prevChannels, ...channels], + hasMorePage: channels.length >= this.options.limit!, + }; + } + + setNextPageConfiguration(channelQueryResult: Channel[]) { + if (this.customPaginator) { + this.nextPageConfiguration = this.customPaginator(channelQueryResult); + } else { + this.nextPageConfiguration = { + type: 'offset', + offset: + (this.nextPageConfiguration?.type === 'offset' + ? this.nextPageConfiguration.offset + : 0) + channelQueryResult.length, + }; + } + } +} diff --git a/projects/stream-chat-angular/src/lib/channel.service.spec.ts b/projects/stream-chat-angular/src/lib/channel.service.spec.ts index c27ae6c4..3a5610c9 100644 --- a/projects/stream-chat-angular/src/lib/channel.service.spec.ts +++ b/projects/stream-chat-angular/src/lib/channel.service.spec.ts @@ -269,7 +269,7 @@ describe('ChannelService', () => { await init(); - expect(service['nextPageConfiguration']).toEqual({ + expect(service['channelQuery']?.['nextPageConfiguration']).toEqual({ type: 'filter', paginationFilter: { cid: { $gte: jasmine.any(String) }, @@ -408,7 +408,7 @@ describe('ChannelService', () => { await init(); // Check that offset is set properly after query - expect(service['nextPageConfiguration']).toEqual({ + expect(service['channelQuery']?.['nextPageConfiguration']).toEqual({ type: 'offset', offset: service.channels.length, }); diff --git a/projects/stream-chat-angular/src/lib/channel.service.ts b/projects/stream-chat-angular/src/lib/channel.service.ts index 5137bdc9..f29b68dd 100644 --- a/projects/stream-chat-angular/src/lib/channel.service.ts +++ b/projects/stream-chat-angular/src/lib/channel.service.ts @@ -33,12 +33,14 @@ import { AttachmentUpload, AttachmentUploadErrorReason, ChannelQueryState, + ChannelQueryType, DefaultStreamChatGenerics, MessageInput, MessageReactionType, NextPageConfiguration, StreamMessage, } from './types'; +import { ChannelQuery } from './channel-query'; /** * The `ChannelService` provides data and interaction for the channel list and message list. @@ -327,14 +329,6 @@ export class ChannelService< beforeUpdateMessage?: ( message: StreamMessage ) => StreamMessage | Promise>; - /** - * By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method. - * - * The method will be called with the result of the latest channel query. - * - * You can return either an offset, or a filter using the [`$lte`/`$gte` operator](https://getstream.io/chat/docs/javascript/query_syntax_operators/). If you return a filter, it will be merged with the filter provided for the `init` method. - */ - customPaginator?: (channelQueryResult: Channel[]) => NextPageConfiguration; /** * @internal */ @@ -371,10 +365,7 @@ export class ChannelService< private latestMessageDateByUserByChannelsSubject = new BehaviorSubject<{ [key: string]: Date; }>({}); - private filters: ChannelFilters | undefined; - private sort: ChannelSort | undefined; - private options: ChannelOptions | undefined; - private readonly messagePageSize = 25; + private messagePageSize = 25; private readonly attachmentMaxSizeFallbackInMB = 100; private messageToQuoteSubject = new BehaviorSubject< StreamMessage | undefined @@ -392,6 +383,10 @@ export class ChannelService< private channelQueryStateSubject = new BehaviorSubject< ChannelQueryState | undefined >(undefined); + private channelQuery?: ChannelQuery; + private _customPaginator: + | ((channelQueryResult: Channel[]) => NextPageConfiguration) + | undefined; private channelListSetter = ( channels: Channel[], @@ -419,14 +414,13 @@ export class ChannelService< this.chatClientService.chatClient.logger( 'warn', 'Failed to unwatch channel', - err + err as Record ) ); } } } - - const nextChannels = channels as Channel[]; + const nextChannels = channels; this.channelsSubject.next(nextChannels); if ( !nextChannels.find( @@ -459,7 +453,6 @@ export class ChannelService< this.activeParentMessageIdSubject.next(message?.id); }; private dismissErrorNotification?: () => void; - private nextPageConfiguration?: NextPageConfiguration; private areReadEventsPaused = false; constructor( @@ -589,6 +582,24 @@ export class ChannelService< this._shouldMarkActiveChannelAsRead = shouldMarkActiveChannelAsRead; } + /** + * By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method. + * + * The method will be called with the result of the latest channel query. + * + * You can return either an offset, or a filter using the [`$lte`/`$gte` operator](https://getstream.io/chat/docs/javascript/query_syntax_operators/). If you return a filter, it will be merged with the filter provided for the `init` method. + */ + set customPaginator( + paginator: + | ((channelQueryResult: Channel[]) => NextPageConfiguration) + | undefined + ) { + this._customPaginator = paginator; + if (this.channelQuery) { + this.channelQuery.customPaginator = this._customPaginator; + } + } + /** * Sets the given `channel` as active and marks it as read. * If the channel wasn't previously part of the channel, it will be added to the beginning of the list. @@ -672,7 +683,7 @@ export class ChannelService< const activeChannel = this.activeChannelSubject.getValue(); if (loadMessagesForm === 'request') { const result = await activeChannel?.getReplies(message.id, { - limit: this.options?.message_limit, + limit: this.messagePageSize, }); this.activeThreadMessagesSubject.next(result?.messages || []); } else { @@ -702,7 +713,7 @@ export class ChannelService< return activeChnannel ?.query({ messages: { - limit: this.options?.message_limit, + limit: this.messagePageSize, [direction === 'older' ? 'id_lt' : 'id_gt']: lastMessageId, }, members: { limit: 0 }, @@ -740,7 +751,7 @@ export class ChannelService< const lastMessageId = threadMessages[direction === 'older' ? 0 : threadMessages.length - 1]?.id; await activeChnannel?.getReplies(parentMessageId, { - limit: this.options?.message_limit, + limit: this.messagePageSize, [direction === 'older' ? 'id_lt' : 'id_gt']: lastMessageId, }); this.activeThreadMessagesSubject.next( @@ -762,22 +773,34 @@ export class ChannelService< options?: ChannelOptions, shouldSetActiveChannel: boolean = true ) { - this.filters = filters; - this.options = { - limit: 25, - state: true, - presence: true, - watch: true, - message_limit: this.messagePageSize, - ...options, - }; - this.sort = sort || { last_message_at: -1 }; + this.channelQuery = new ChannelQuery( + this.chatClientService, + this, + filters, + sort || { last_message_at: -1 }, + { + limit: 25, + state: true, + presence: true, + watch: true, + message_limit: this.messagePageSize, + ...options, + } + ); + this.channelQuery.customPaginator = this._customPaginator; + + if (options?.message_limit) { + this.messagePageSize = options.member_limit!; + } this.shouldSetActiveChannel = shouldSetActiveChannel; this.clientEventsSubscription = this.chatClientService.events$.subscribe( (notification) => void this.handleNotification(notification) ); try { - const result = await this.queryChannels(this.shouldSetActiveChannel); + const result = await this.queryChannels( + this.shouldSetActiveChannel, + 'first-page' + ); return result; } catch (error) { this.dismissErrorNotification = @@ -803,14 +826,13 @@ export class ChannelService< this.channelSubscriptions[cid](); }); this.channelSubscriptions = {}; - this.nextPageConfiguration = undefined; } /** * Loads the next page of channels. The page size can be set in the [query option](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript#query-options) object. */ async loadMoreChannels() { - await this.queryChannels(false); + await this.queryChannels(false, 'next-page'); } /** @@ -1317,12 +1339,14 @@ export class ChannelService< } this.isStateRecoveryInProgress = true; try { - this.nextPageConfiguration = undefined; // If channel list is not inited, we set the active channel const shoulSetActiveChannel = this.shouldSetActiveChannel && !this.activeChannelSubject.getValue(); - await this.queryChannels(shoulSetActiveChannel || false, true); + await this.queryChannels( + shoulSetActiveChannel || false, + 'recover-state' + ); if (this.activeChannelSubject.getValue()) { // Thread messages are not refetched so active thread gets deselected to avoid displaying stale messages void this.setAsActiveParentMessage(undefined); @@ -1445,7 +1469,7 @@ export class ChannelService< private async addChannelFromNotification( channelResponse: ChannelResponse ) { - let newChannel = this.chatClientService.chatClient.channel( + const newChannel = this.chatClientService.chatClient.channel( channelResponse.type, channelResponse.id ); @@ -1457,7 +1481,7 @@ export class ChannelService< this.chatClientService.chatClient.logger( 'error', 'Failed to add channel to channel list because watch request failed', - err + err as Record ); }); currentChannels = this.channelsSubject.getValue() || []; @@ -1485,7 +1509,7 @@ export class ChannelService< this.chatClientService.chatClient.logger( 'warn', 'Failed to unwatch channel', - err + err as Record ) ); } @@ -1815,63 +1839,35 @@ export class ChannelService< private async queryChannels( shouldSetActiveChannel: boolean, - recoverState = false + queryType: ChannelQueryType ) { + if (!this.channelQuery) { + throw new Error( + 'Query channels called before initializing ChannelQuery instance' + ); + } try { this.channelQueryStateSubject.next({ state: 'in-progress' }); - let filters: ChannelFilters; - let options: ChannelOptions; - if (this.nextPageConfiguration) { - if (this.nextPageConfiguration.type === 'filter') { - filters = { - ...this.filters!, - ...this.nextPageConfiguration.paginationFilter, - }; - options = this.options as ChannelOptions; - } else { - options = { - ...this.options, - offset: this.nextPageConfiguration.offset, - }; - filters = this.filters!; - } - } else { - filters = this.filters!; - options = this.options as ChannelOptions; - } - const channels = await this.chatClientService.chatClient.queryChannels( - filters, - this.sort || {}, - options + + const { channels, hasMorePage } = await this.channelQuery.query( + queryType ); - this.setNextPageConfiguration(channels); - channels.forEach((c) => this.watchForChannelEvents(c)); - const prevChannels = recoverState - ? [] - : this.channelsSubject.getValue() || []; const filteredChannels = channels.filter( - (channel) => - !prevChannels.find( - (existingChannel) => existingChannel.cid === channel.cid - ) + (channel, index) => + !channels.slice(0, index).find((c) => c.cid === channel.cid) ); - let currentActiveChannel = this.activeChannelSubject.getValue(); - let isCurrentActiveChannelDeselected = false; - const nextChannels = [...prevChannels, ...filteredChannels]; + filteredChannels.forEach((c) => { + if (!this.channelSubscriptions[c.cid]) { + this.watchForChannelEvents(c); + } + }); + + this.channelsSubject.next(filteredChannels); + const currentActiveChannel = this.activeChannelSubject.getValue(); if ( - recoverState && currentActiveChannel && !filteredChannels.find((c) => c.cid === currentActiveChannel?.cid) ) { - try { - await currentActiveChannel.watch(); - nextChannels.unshift(currentActiveChannel); - } catch (e) { - isCurrentActiveChannelDeselected = true; - } - } - this.channelsSubject.next(nextChannels); - if (isCurrentActiveChannelDeselected) { this.deselectActiveChannel(); } if ( @@ -1880,9 +1876,8 @@ export class ChannelService< shouldSetActiveChannel ) { this.setAsActiveChannel(filteredChannels[0]); - currentActiveChannel = this.activeChannelSubject.getValue(); } - this.hasMoreChannelsSubject.next(channels.length >= this.options!.limit!); + this.hasMoreChannelsSubject.next(hasMorePage); this.channelQueryStateSubject.next({ state: 'success' }); this.dismissErrorNotification?.(); return channels; @@ -2267,18 +2262,4 @@ export class ChannelService< void channel.markRead(); } } - - private setNextPageConfiguration(channelQueryResult: Channel[]) { - if (this.customPaginator) { - this.nextPageConfiguration = this.customPaginator(channelQueryResult); - } else { - this.nextPageConfiguration = { - type: 'offset', - offset: - (this.nextPageConfiguration?.type === 'offset' - ? this.nextPageConfiguration.offset - : 0) + channelQueryResult.length, - }; - } - } } diff --git a/projects/stream-chat-angular/src/lib/chat-client.service.ts b/projects/stream-chat-angular/src/lib/chat-client.service.ts index f664b9d9..635c2c62 100644 --- a/projects/stream-chat-angular/src/lib/chat-client.service.ts +++ b/projects/stream-chat-angular/src/lib/chat-client.service.ts @@ -4,7 +4,6 @@ import { AppSettingsAPIResponse, Channel, ChannelFilters, - ChannelResponse, ConnectAPIResponse, OwnUserResponse, StreamChatOptions, diff --git a/projects/stream-chat-angular/src/lib/mocks/index.ts b/projects/stream-chat-angular/src/lib/mocks/index.ts index a20ceb7a..941193e2 100644 --- a/projects/stream-chat-angular/src/lib/mocks/index.ts +++ b/projects/stream-chat-angular/src/lib/mocks/index.ts @@ -212,6 +212,7 @@ export const generateMockChannel = (type: string, id: string) => { const channel = generateMockChannels(1)[0]; channel.type = type; channel.id = id; + channel.cid = `${type}:${id}`; return channel; }; diff --git a/projects/stream-chat-angular/src/lib/types.ts b/projects/stream-chat-angular/src/lib/types.ts index d98ffd59..720dcdc7 100644 --- a/projects/stream-chat-angular/src/lib/types.ts +++ b/projects/stream-chat-angular/src/lib/types.ts @@ -442,3 +442,12 @@ export type GroupStyleOptions = { lastReadMessageId?: string; noGroupByReadState?: boolean; }; + +export type ChannelQueryType = 'first-page' | 'next-page' | 'recover-state'; + +export type ChannelQueryResult< + T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics +> = { + channels: Channel[]; + hasMorePage: boolean; +}; diff --git a/projects/stream-chat-angular/src/public-api.ts b/projects/stream-chat-angular/src/public-api.ts index 650a23b2..e75e0166 100644 --- a/projects/stream-chat-angular/src/public-api.ts +++ b/projects/stream-chat-angular/src/public-api.ts @@ -62,3 +62,4 @@ export * from './lib/voice-recording/voice-recording.component'; export * from './lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component'; export * from './lib/is-on-separate-date'; export * from './lib/message-reactions-selector/message-reactions-selector.component'; +export * from './lib/channel-query'; From 78b35a53c272167bc20032509efe8c9be6a74c06 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Wed, 26 Jun 2024 13:08:10 +0200 Subject: [PATCH 3/3] feat: allow providing custom channel list query --- .../version-5/assets/channel-list.png | Bin 0 -> 734463 bytes .../components/AttachmentListComponent.mdx | 8 +- .../AttachmentPreviewListComponent.mdx | 6 +- .../AutocompleteTextareaComponent.mdx | 18 +- .../version-5/components/AvatarComponent.mdx | 16 +- .../components/AvatarPlaceholderComponent.mdx | 16 +- .../components/ChannelHeaderComponent.mdx | 2 +- .../components/ChannelListComponent.mdx | 10 + .../components/ChannelPreviewComponent.mdx | 2 +- .../version-5/components/IconComponent.mdx | 2 +- .../components/IconPlaceholderComponent.mdx | 2 +- .../components/MessageActionsBoxComponent.mdx | 8 +- .../version-5/components/MessageComponent.mdx | 12 +- .../components/MessageInputComponent.mdx | 24 +- .../components/MessageListComponent.mdx | 20 +- .../components/MessageReactionsComponent.mdx | 8 +- .../MessageReactionsSelectorComponent.mdx | 4 +- .../version-5/components/ModalComponent.mdx | 6 +- .../components/NotificationComponent.mdx | 4 +- .../components/TextareaComponent.mdx | 12 +- .../components/VoiceRecordingComponent.mdx | 2 +- .../VoiceRecordingWavebarComponent.mdx | 6 +- .../version-5/concepts/channel-list.mdx | 279 ++++++++++++++++++ .../AttachmentConfigurationService.mdx | 18 +- .../version-5/services/AttachmentService.mdx | 18 +- .../version-5/services/ChannelService.mdx | 231 ++++++++------- .../version-5/services/ChatClientService.mdx | 24 +- .../services/CustomTemplatesService.mdx | 82 ++--- .../version-5/services/DateParserService.mdx | 12 +- .../version-5/services/EmojiInputService.mdx | 2 +- .../services/MessageActionsService.mdx | 10 +- .../services/MessageInputConfigService.mdx | 10 +- .../services/MessageReactionsService.mdx | 8 +- .../version-5/services/MessageService.mdx | 4 +- .../services/NotificationService.mdx | 6 +- .../version-5/services/StreamI18nService.mdx | 2 +- .../version-5/services/ThemeService.mdx | 2 +- .../services/TransliterationService.mdx | 2 +- .../src/lib/channel.service.spec.ts | 34 +++ .../src/lib/channel.service.ts | 188 ++++++------ projects/stream-chat-angular/src/lib/types.ts | 3 +- 41 files changed, 737 insertions(+), 386 deletions(-) create mode 100644 docusaurus/angular_versioned_docs/version-5/assets/channel-list.png create mode 100644 docusaurus/angular_versioned_docs/version-5/concepts/channel-list.mdx diff --git a/docusaurus/angular_versioned_docs/version-5/assets/channel-list.png b/docusaurus/angular_versioned_docs/version-5/assets/channel-list.png new file mode 100644 index 0000000000000000000000000000000000000000..901d93b9428e45ac46f12ea13eefff9548afc8ca GIT binary patch literal 734463 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

_`fT`c$D&pLP+qy-Nx3m9T z=(zv;lgQ7bZIcrRP=wf6HxmdiGmlh*V+^_N^2$+PspLwbV)9lGp1Adn4CVcppoSIY zXDUR>zbYmws6X{Q9ijBEa9-|%t7vT_W!{mI%USFV3mV%MTl)Bk- zqQ~?on3Zd92Z9=Qwi-CV_G zF2;H514FnASU34==?@)0g)V(De*_%#LV_m@E@TX}OAU=jSjP7VmaZZ7j+5i7Qm zWc2ex&M&3kt@4%ROcxuuM9B&WNhTui0ay}?kr;868$6M5Wdr`&}-vJu` zFu#XwFt6pP+7!0r;pns)?@x=nFvXLTGN*JG%+DAz@W0-Fw9+~hH9+gI4Du5raBPH| zRZmN1QdYKhpRpqNT}>9_{%F0}S5oQS{PcLwMC*4(j>j|kIR?Mz_UN;Gt~B+s=5zLg z7imUR*N&!A)b$o(V$$_`b^>KY=I;Lr|4rJTSNG=~Eny~G1WaPxLFTX%ND%EDb*SE1 z7;aWoAhjtb=rX+!WSDYOc6|BP(L+v8OW zAj3f9&8H2fx*#NU%|e^`dip6KvP&jQ;~5pwt{Zt%PjhV?5P#q_%5pUii=Nf3>#c#3 zt?Mv_F*|Dsqx~i>vA}8<1Cwh*LAQNXoD-4HqD-ty7G&zPpdGB#$5^HZuwecN&= z`H0m!RP0e_RRjxatMOCyvJU?n8K8}-I@J9OPe}5(ut13BoEOB`{Jz1Z^KO&MH3jBQ zD1P^=M?-Q>(@M^l#`Er&<51sbNpmI-wonkUpc=8sHz95}m(711aDOPc-~+1|^9UI) zhzAUpuSMVZkpkTl^{hmno5A-cO?V$QBm1haCCDlllwmxr{KN64S_AIJ zSIK~1)0SP`r^-ulZgT{A7m#}LBV_=!E@XSW z&^i}2Au2Ni1F7r^TyVXT737EyubuzN1-wWz48M8#^AfviisZWFf5@{!>cNJVCeLs0 ze?cZrR?&0GB3R)0qBetE_7jDi(-S2w=c5mm)7b+zZYVj>Z2yciDbcSE=dNd$=Kj>yx9j=V6ZT=y~VJbtPz%435az1X2v0HTueFU z-d_bl?Av`XgX;u~`NlA}I_@tFHhisGVU?|0#%V^jb4#bumEYCGAIQ{x#wS;G+_^GW z4|yr}D=+p>jD#IST$1-a(}he!q6*pBI8r2joEIt=u{EhdL_9bhytLp&wKm;=j6V34l@_{eF=uB7 z+se76<fPH__U9?2{X|tD2-HAB&iauaimQEALmyL9mgu-K1LgZkqCUc8SQ5ZFl<8; z+XN#|SafJKP%;AX*pM^clH?3G!)G|pr5`aq zT2de@WnfBs;FC&-s6fk4oU9&LOWsmTHN;i0fO6Yi*o$tgrUSuE$93JO zM&Y_ja_?(}zpwN9S*pnb#pD7jOX0#Gr-t+3i}EomMo#aX@oWHjwdZ;;`tWV6bJ7oI z$pVO@He|^k9>p6(Pj(9~ia7r#f@f+eWzX{3u5a9qKPFOnNtYdmO)U4f7k~i~i>f1u z3OV*Zh6je1ezci;&NpWDMu3n-yeC|uku!g_uI(wKG(|3pZ@DD6cCRLWeWrApw3d$1 zkd#Ddu~RN=X<#5pEyCNK#96ua@X6#I``Gs@SugiJW+=I?m8ov|t7!jmKEjk3|Ef-9CCX>n~J-7~LB?oHQu6~;_ihtPKeKUGkjhH~#*IE!q9Xfiu6nf{*abr+{JClcQjFOrZPzDs5>XxA+N8Dc!f zq9_f5IA&&mUr(4V(>oNUfptCe#~i9bS0w1`K9vMY3F%@VrJ@d`;>eIe9I-dMOL*A@HLK z=p~R_d)Wp>*wl}I)h-TK|3F{_jByi2X%z}Wd=yM+omd3@>J5EQ#?EtKZVm!O{o7^3FDf5cf<%<5xTk?V8=$Hgs?Xi#+M1$XL8avma zM)w#{GqvlF0JPCxtu$*tL9d*6MjGI8e%{?Ymip3;7(t)=@+x^E1K<|H@WS0m=KW&- zjk|k%jUITt1p$O7dWN#U#3>L5KvG!J)%w|&w#I#&IzWA@R+r9yfuXM^eyr=qy4df* zKhn5*-8Dn-4L^QO>HVsZX2b66D^AhJa!dciXzk#Z1-G4HGc{4W4#Bzr8tT-Vv3@1q z_inT@;Q-14wx1oB1gFg+haVvp>jH_NT&!pVJUee%GDkfZHw2CBI*OO>FYdE^PL8jP z!0zl-x6_f6=7+*_!)9Y`^B4UFKhrU0=MQVDvX6S^{r`N7|C5HGtA#p;F|%^De5>~)m-B$zt#-b}(7+2do&g}gB--Tc}ILP#7#LO!;C{E?b@^U+< zA0cCuard2D!Tk>B}*T3|-Ko_f>pQY*+P@DhR^nRs19VO|utguFjoM&aVXL z`1J|Eo*zxTUW6Cg5jj34#_quF{A(M~T)na$oob60a z{9kwk^*0`A(@6|uoj&f{ai2LpZ}Y}hUU^wr2QRP)54gy&j~iF3)A(#Xce{i4sd_^t z$u-pFgBm7QeFx!%OZ!dKYfl~sNp_`>TOLHmK#IC^0_fZ0e3}h8(^8XEwg}`K{wv!| z*K@)yDH!<>S1Rt`kPwO&Bl@YQCIZotz%s{w=lPUVnfS?dn(;_URVUw?R)kStQK7&b zV!+8B6qjmP%Ao^R*}R0;w_YHWRxog;$v>QA7c@-6yyX6HsSfq3?wv#n1!6)s*cbQ#r_wa;!<93y4!SR=* z@LrhN!H%WU9FgIN-tc(=IM=hkAeDihcf}*DcfTZBThaI*h3LP@4sgc*AsPrfHD&lb zz8#H>R9dCwX%LYk9Kn(16-tqe8nY`#kvsPkA+!~Bnd)#vVa62TKq9Ph-aO$Hl2bW( zj{_G)k1(^c&^bO=+}wyU!zGYz3q#5Mimjuk5%uZ^+$Ch$FwY>0N2cxhmZCxu9Tli; zuZzcD=zT}KSBze)8yIo87rCp(gSzo{)BnpCAf1e^PDCcVE*f&u2MjeWC(bwVhf-9? z=+s@N2&Z%n0$A+}c#jKb!KT>y zBjndc&vu4gRcy`x=1RcL9xKrV*-BK(0BxXQfYiM}gUCj{nM3nOxgYYMUXmVhho~;C z`kaoH*iB&W8+mU(6-L*HwZFePPv&{NHRh89!O0ih8FmeQa>lMAKpXesnrzUV-lVQt z$VE!e6niNG{V-rSLRRNpp8T^(kE8C1;>NrPs@dBOU?c&1Bog?%6>jd>7qaw-#QUWswbGc zO;4zNc0O&Qx{BTWGZsxFu1=I5898-0R~Z#%w$+MXIH)0O=80lcy+38P(V}0lpf7H= zKK|qFd}IGn%fPQ^&H*Rt9*Pm;JTrraf{=zZqdEj=$w~VC70(gJW|i%;k9T@VlCv-y z_u*0VE@|#45xMQh#d!!i-(CDj=8vDPR{L)4%&0oNb|rS){_^?$?l(Fw?#9;E5kGQt9orx$TH4}1cU5g&@?zxTot>y*tf)d$yiKuT zhr#|)Y~@TejEcNG6;@V9JDbEe^zT#|ETSUW>in?=+##05}Es8^{IAPy*E-FknlFu6vHL1hS zW!NA{%Hb^tfNpPk@${2Uky6JHK1%yl03G6lWv40GiE~b&m2ez-jN;lrSe3)?K;3_6 zu;{w4NW80XH`ABjgHRnPKLbU24#l`J$ZvbNv&Ja?hxcz42j>tBLI^!*pw-wZ__D&> z!XiM-^qaj2?qp;idy5~g8(u-bqPA8=PuOdF*w3sUu#OC`Gs&ih>R~Iq8spk+{`-$1 zHDzDL)2%iyKh>IH<}ejw9o#IiW3l~icG@@8hyEi;112K@JB*b|ZsdyeqbPvpZH_)8}3LgJ) zlVV@Ym5V++OfR#-!o7p6hwnMBbiWtJyail87_)^uo71Y|`f8h=YrdJ@lDG^y#$Psc z@ZATr>=1xtw`y#8x#@g6rvKTp-3U{yk9`*Ex!V>s%HpC=YO#_2#ZA=gk*%u)=rGPr zcWmB&BLB{F_!Iss)-bW9ze<^91;>a#u5v4aQ4aSdcA z2mT;g0Qq8EO!PPmPLhLDUOKFU1e?1EBv$^ot?&>lOe$e!$B$mO2-=S@~FMiDxN@c?J22D1%v#s%(X3s)O~n){82%)cwCR6ybDZB_;m^k@D$@)60hQ$m6hwD%W&V>1lw z2c@aV%`jm#RkdGVl+%8Cv%60ke|XntVA_=|cB7=c*)K0>@eAqUs(k6at-AJw?W~z| z79<^=cOB;T>Hc`s9#79Ld)f8*af0Qj`FzaOkFhz|KG^a3ZM1o+HJSWdUtqJX!yyZ! zI1JF0#*)uef3pWbXM`4AH>a$|1JU!pax2kaysxoo0K`Rjw9HcY_WlV0LY84_m(=RE zz9t*^>9cz{sCpxlzVo;-fLC3xrLnkKaXoHhB(6Rm<3S|~vjP|flTcA88ooI}T{52; z?qr0Q5J2U3b3_b5)S=jS|xKN`4% zX4lxH`LjgK6CoEt8XT&gJ3ZGuNzTm;YHVmLHu-*LpNnZ3eK^d=xzy(pceR?GlHFmL zP)}1L=XF#!*$hSn`Hj^SqURXc)7DBgenfpgo{X3~^siA(PrWxCNurd0x_*&I1k?O` z4PiyiRmbvPvpe}XWbO9++%Y#MxBT+|v@3Ddtd*>zs)qL1Olp}J&W?&kJ3;PUGwH%s ztDcz=7QZq#cVseJtbFMP;pC`h{B#Eg6HKV*1+*q19yaK9y(~4bFp-a#83s?st&@A< zZH&YlyPg*?%lKwZ=D!R%>v5$uKR3mb^ilKhEP>Ttioo`Kppww@A+~wS6SbVSXXw*s z(pGz=(SQJox8FfFT9p819yvJF;GRf!4uwZsNCb5So1GY=bzO+aKA6dM-*6>O@zUxl z`d>$rzS-Agb)6-o?b86Vg^pe|Ej5c}FSbx%b&X!*IDUiXmu7s4!T440yVO+H%vQHt zV>2Ik7S`*26x6v8( zR1f>A$9<(g9rhlKp>bcAz7`Lg3^ z!_QHPe##YRK2In8bN>s8f5MdinZJF)QvPEaPl*Dt%l+IgyV6orlCJ)cJD1B?r0=^f{qWIEvV^AaI&Mxolq7N=V4aVk7*&JK zIHV(t931HKj^fMiP7A^7Nk+W+Yx;;B#2ZOEm(|^9fgqw}MyDv*l$*pzU{H9vOS&Jc z=?&{;C2j0hFagFn3d|4-740;jyua*)Z1)p1X<}?5@m$`(F3%eEPT-CFxeJTJX~uzk zbQcqs?~-^h+tc2IR=ZbI@$GDr}LEVJhj8C8$of$PS z8976QxiZe}g1ZBXUP0zqU#yklqy+Y`g>#3U=ffOl3qW^Gj7=+C26|y~TI+*6B9(RZ z%k%OOCW=INxZh{Q$=CdI{NR(a0>H5r*x_9ASskIwdj#R>+I_o#E*P~9*gpqGr8axG zuDW2gM>Ghy8@9?&EpF=^xN7TI88o#_u>Wlc&>PR7|kIB3EOPWwIUz<4>0 z`x7MRFa3VuH!M!55Ob^P&rMvWj`wai(6RzSF)=K(wd~7O1zg=_Yr(gr$o(3VtC3r! z!1=Ku6fi}8zNF}zWq-Y>Vgo!R1W*Dphkl_K*ZO)O1<{1~j}FS2I&F2yfP)Fil&rK{KWSf zjV7uXJuyBlz!LVFh|q~CQQX1t%=k2ivWW7!kbzzpfkMaC9uWR$*(P_GdJWSkJTxSo z2RBTzlb(=F>CSb_>b)of)1?z;X&3fmENXtlShLl*%0I}45HF~a#*?mG3Z?G+N zc>3?jDf>S&9-FN;+?M~l7x@Rf=?}>kY!O;PHd`Y}=h@9xOCzYLL4co+eo33*R@u0r z6PkU|mA@m@R>j#PQ2_I8G#XFOUG%|EgXed9%LPGWIRipRYVcdTKtx;WuvG-CTut~y zUD0i_1;Yq0Frb1Vo3C#{e}Ey9%%E)cKsn>A8XKR&aGTyTcSM?&e9TI(1l5}zE(r$wM}tFQEbVXRO9|e-Y#xiKE8c4z=ALIXyzoP+yBYK36gfd zd|*bJ->p3D?hP^XA=v1=>9V^FKJi&E6Ooc9>d@oO(uFyVO>cHdD97+#fI-qw(qdQz zCpsOk>e_HVOYG0EH5lpqLi-p2q^D}c9w(i9ks3TlXkfhxN$ci4lE2}=lZHR*oWy!_jW%i8NF{upH6$i$0yl^$oq zcE=q9eFa|R;y&5k(?%G$33_6-Q<$TNB27Gmf#HEMNb9?-P6ec~)BJfS!N|#?A|6?No+Ukp7;HGgxABbdnFwuKrcCM z1OWyW;b1#j1Wio0iE~gwHd^Mvi{nmuzr{ozrna~GQBGui{(vb07iah)xyHCN=XSEm zG6P88KBaw-^dY)#Ic(~0KU-qP+8$4KG@&KYeUB}+(){WnPnzA3d00`P5||df9UL`m zHT91q;E6Q#fPzcb! zsc6N1BVbQwNI3;_fh+OZy>29hM;&u27G@n2W}0<-J@6_qHlGr+2w8F>XPeb%ALZ8j zOa-jW-l2%cOw4S=vA`j}L#7qS^n--Z+q?eI+G326L61&XQF#nrT~~6DRZ?C)VPxc^ zq|^y%0G47#agj3~nv|~W*R3tr7+OcEt?M-(5h9-H<=hA+4a9~FZQIazSwWJP{{lL(ywFEH|?6q_&f@}!R?kw}p#{4X*dkBQQD zO*JQxlGcgZja_#~Qyo@Y7vArtJ1Q$<2z^V*2FrY-C>`bu@9Yn6DH@QN$AoSAHK$pm zoIB)e^m35q1+0)D1_r{@6cUo+b!PhmtJ^=GBmDE_|9J4f2a^ngSDIHmK}2zWIbdTV zE(dHgxlA&+a`@g@N7A#gFNaKVz(_60)v$ss~AVv6DJpO zV{?kx=XTh+TuhJ%ZoJ8GypXUkFCdy$JeHHh?atcg%Z?_F{*Lr4`aV8qV^oxqihRLX z$>m$VR00JY3oNi#ygR}>GccqSi+5RP;OdMO4*p>xO~v!r`-02ma2|r$8$QWJOGm8t zI$U!1a0AX2U7nEd3D4sST3*IG9+O~dWtDb!>oBrJBW)op8Q@1kf`kMY(2)!A!*Gte z!})fK4EOhoe|_!0Jn%{&RLe|TFEtPeb!LY)5{W}u&3ZswI7CE32s4b!?cU10`7N?6 zzcvQAW62t_6=2P_m^BDFM2tXhOuAOR`)R*vgWNnkbFEvx&DUG=*{q;Z#WKIBaH&8- z4+EE!!yoGCoEnc4)2L>DTu`OzSUV;Q2opSaIR(df1%o{JUI{5y&3muQV>4>uH`oTp z4%LdI55TuWraqqek`5SA|9(@Kt`%yoZ(TLaV5Bb(2%~Eo$Q6 zY@7t|v6uOBEmur1zuWyb^&m?8w0rE|7UeHa2ulhjK1F5d#zOe}#s6t^Zdpji$wjHB zmw5BF?pUdmNWAadFX8a!)a-@wIXeOqw5k^seyWjNYvGH z@f3fI?vG*dLjRoBB7K85ng6uJ|6*-_eaj#74E)DweMgXJw0%YitXl~W)eb{?)hY*8 zr|Y#iCxt5`>CJK^xzr?F(EnoeD?pS+t(C;%!ULDXM$F&<5(u`z5f!fHlW~!=qnJrc zkK^l-e7!3Kt*;hE?PTXit2nw``Ust=6je)sov-ocuu?iytW}Uy zDN;eRUaIZN7P&t;*l^#QIhUm95zEqydpVFfj!G$wEj}1aS!Fg(oW|z~VmYmlkaQ*y z)hDH($Y1w3d2Q0I8Ck|?yMos3|LD1wmSabr!}PEtJ3sM*JOn-4EQ(l4^Loj4Sg~A7 z^`rGFq2ultx#1+S3B8J7aCpMcuYGQV0-+MppVmK=zuRJqYyQjAA^7VA0;jfVM@d5b z|F$~}gfkL2O)BVEIu8Vp-tC^<3T|t8?z%n4lX#8yb*CJGE5=`(;#2Km~q`LyTQcqnrPnm;KX-Vs+6g;fR9E ziDnb5G_Fg$w;ziT&CJZ^7Z)+@@dIqz9}|$8I6vA<>hxx{Y`DJWka*LN`wb24it}lX zrFx*%ZyrD>j`HzUS4E_-SnZ&s6fBD^3)?4cS6KzD3d0CUkfA$fbAtZk8HjA`;|ZU$NzjM$)injn7$oSn~kP~ z#)DnUp1ct&bWtgswXn5nD`XKgh?11zVv;@uTEZG=G@4VkqTni))bH)lkWE)~FAOF# zP!9jv=%qJKMW&$4$CNY^7NScO_(2e37!&$cn(AH(FK8Jl5H-fAj$pdy!}xW9o0BI@ zxc=_m7Q|xaAPY=NHbBFq+fz<(W4*vkqt}CajP8xa5m2cl(=rUK+~kk38#7LQBeGdn zxaY*L(eA+Lqg{ta#O*BZq=OQkKofzIP)f?qpD`r5+2QYPXHT^eZ8&$U-yV=F9@UY6 z?LwG4M(xXwpo8iMPjo$~5A!vZt$&k<+i>OXHCTarijzK91y(%LtEI9}UGHCZC;s-2 z$J-yK5B&dnypBH}Z}Z9PdCF-SMYhwHKCB3}@e8=RpiH&!BeA7g2vP+?$5znKRC`Y6 zK6GOK-u+059`K5o)ih%`sq5>6p~R53^4Ej|Ppp}R=!aH>7&tf)mZVQetsuV~QK=2F z0qgmsLrMGHFH$q~>%oco9q5j}0i}uP9s<{7HbJ5r>qoz7#xNmY>%#=Yw2avF7wGfbzX{TL2YTAG6uHZwozuEiTL$$CmnP6#t4yMjak@;TZ zssPqmsLn6;;_Xd#gu{vin$x1|moRRgo`5>Q2QajEA}Q{)Z@odWRL@&!UzCJ$5Y{I# zV508xi&`s{M_7IKgPG%%7QCf;YmpE%qMt>I{!$v2d3 z3qhngKW~8ZRUUxpHAZx^o7=PPVU1dIP>D)KBv6Sn*2q8&3JwOvqzWjTHkHYgYv#@{;*savA#$H3`+_S7r3LHqGtbwudp#R0b|84YT zJe^6N2uZ;+(QVM=3QsLVPw`YQQ5 zQIJ9hWn%;DbZ#Qzzv%`SI=k@N?C9o@9D+($ph z{wRVF`-=~crIqhLb@(}HA1pO6t1;+9E(zGPWK-Gqzt!>L%R{@pR##6>PO|0$IsSZ5 z$%8$>e0r`~rJiwAGfDT^n(s3oKQUW4_BW1CMn-W4?zDfxELZZA{=V}0YHMn}qiaG7 zl}Zm+f5dn!Da!|IkECql!HtWPz)e2w)AJwUl|LSl6X;Ys4l1vtm5=66<1`xG-h@wx z;EAkxe;BQj&hyH+>>js};jO=y6^}~q$e|pbXwx?PXnQsPsCF$l7L{|H$C4>4JVTdo z0;PX$56}*6Ms!HdSNi|BI{#-RxCJucqTu^F7}wvuIuR`KUVDC#XOccTC01sr8r;+0 zL&nC23>nKfVN!sF9F1}M?!%qo42YLB(>NVZ;uwj0M{+J&)z;Mr<@UeL9#&paXf|fC zTB!w5%cXZ}E_yi^+&BZHhTKx|bRyss9*~3JE84BuN=@n1>KVm~APxxOvLtR|okEk+ zXQg$@Ko59@splqFBsS^^MWyb1$UY7@aCf!#;zl236npLIUJUxm>Hy`hxdyc#j ze|}f|z}e!q&PsczR<0QW(QWBi9Yv;=&kzRUnssp15undE*gOSluw49sd~iae6S{-mGET^6g|ZusKv`nXcXdEa@)kK*LkrlKP0gR70ls0QCR z)ts^5@4MIpc+}u@RWPM8#sI$mYl4PP2lcvc`@Lq0HDYy<@&nnJ(muLj-Qp0V6Ya|U zQUz&Q+1?QH{*n;#cKm0_lvz9mEio3bd`atR=2t0^o2qK7d&tV(?M0mVnMU`=U6b8F z3};Po+0f=Pqbr(>PK*1zEo=uhiGm-93$whzPXMUHc9WhdZa>0G_1`{If8TeoJ{e1W zeYh_5wdCfmyEChu8N$%{&ee?g7yk}gdHn?ILxCYFo@2DGawM|F(7YN~yPQ!~o}Oq~ zV@kqV>&{_2cUotwcXd zOpGi(pd4Y3GjY?s?Cfliuy@6(J75R%YT6U?yCfN|G;N5PGXRa;U}b9g9EDCei<${>T9U{c^PHeFpoS4>R4o1!NN>w4@Bun4Vpl0+|saT8yKU{ef zFWdqZ6qiXa0H<`8j*@6es-Pfx`74Dj+C{CDuoYqPSQiK@F=!7#n<6<@Axnaklanip zu9vb@uNbqwYzfBfF6ULN&uatFFFW$CQiJY3@EzCYOOT6Pg$?*nwd31wp6NK2;0Rn% zR_mABvH_XD5zCW5Qd*=fN^Cp@D0CdWIA z*$RxT~PTTucDwpz5DtB%dju|&kjLXJ%xGaWg$-4IJgs=qE#gk0 zPK&Me4q7UfdL{jWC7_iuI3U*%k~Y4Xkgtd%4`iE`(5+oN$gToys+ z4C+dbuQZWL1RrO}$8^nO+1FCZWpHCnT>N}lx_!g>yt~(ncjve1rzOqf`nxy9nc(z7 zS@&nzXCu|1gN%v<7r;EaEba^Iy zNq&D_9=BJ6v1Y-ZFg0ntM>c(ZI&(eMhMGdkwEQ0*7t!Q}5LD z=e44Pj}L7PUmr%=K{-q{5`5g-Nomp~iLg(<@PGWvk^Plu`!7er#JP-(L7>mxa^Pi2 z%)jFt2ZBF`%IooAB7YY(e3~q#X)%6#&p-|h^1kX3)cZx6RD0z6fLo(Sb2iO_R&#Sp z*B5qb0*q4=X?cT0inHGr$y1Gcu5TC@YjfspL2eIWa*c2CCG0mVHlTF}NXV~y2RD7Q zMGs~hg$TYO+p`oYm*N7TOX%ba>ljQtDFV?6a4jWSFvGV{dSPQH%rOjFpeQ4XU|?{# z+y>vS?mf|H!b6s}j6=O#OJt~N>3c(6HtXq0n-ho$auuHDRlIh7WB5>HrLQlm$D-(Rb-2(1O}@RH zy9phrqNzq>lV9_>Ci;VtC73XZ0gHPgCZ3Ns36!mg`fdzyq zc)Z$gYL#klNJ%*os=p5VvU>zAwq{-rW9sBOr_JF}eOV4wI9M#^<0DiA&zRlPZ}rKF z98-3qR!N*dH+eLg4Lcv-(ST#0&LHKyRkh zGDc9}N=9s_u$mC>+kL0^$0*>EIq1X9vl1Pux_0y8KE1x>SQ`~9Pnr2yd0fNIGgT=( zZSuB+S3erL`Q`^QH&N~4%F$??oinAST<186mhHQ)9wt=`RZ&tvYpz$Y@Ni7#MMf^e|| zD3m&^*Q$uT?=MBq*%_x_nkgxvET}YN4I&b9dj-X7?0%Bgo3b(1-G^>~?SJQlBFTt7 zdN}`zCJZNDS)6!Dk5kV=N=lo+9xVfev;w_F5#T^E#`WKE=u>7gA_JqJuxV9s*{2JY zD5cgf!m!+$JzaaIOm`KP9A~I4r6K+zBgByshR_s@e4$Jt+dOOui-AksYjMm zgI;|9@zh*$+FrXn%x}92mvYht*m+ulHg zm+Gjt?TKd0*Dp!(*IB9alSYgj%rB_lMgRVuO4s0ifTq+>EY7Snqe`Q%wr#>LmQK7f z5Y<1yZ5?56#IK~eHj?sMU#Zo8xp|vjz0}Q>T!1j#E3aa;)dZ2>c=g*qr~O?(7gq|;y+cCL`g<9o#Xy`8IvIMz{SNS z6z9IvqlMk;@@Tl>^xoY}ZrWt0+1_g+CNq+nb+VU)$NhU*?UL_0h8}hACrYJ56E)YJX>^ZhJ_} zcz~eGPnOn;9YkZ#WT_HV?a7&i=vc^Mv^jZy$h0P!9Fv{HH8_kl|C7A^9+aajDkm8A z7m#Ae5%Y(4`#yzXQc7nT&Pb^gAXvBVkROy|R~zeu1q6pHlr>=}4O3=efy9RNSh+C? z<|+eGHO(C!a=fg~ znV)2_+xL}#Mz3M zIjJJwMFE0Luet#>I*{8ewzF)?$Ieru{_kN{%-Yf3`EtH7D92U(#LDl=LC&3|q{eaA z@;b#R+rxn~UfT6GFR+-$?m~rb?L-Z{9mc6IHJDy2QaVPQpyAiGdyhUv~L(Jciz|xWaNe=&Hx2 zs?v)@_VDqH78tW}-424vA2L10T%u%WZXYZ%CE2McG`(+TJJb`(3l)nO2q2^V#v4K7 zV#SCY7uf>n#IQ^DDOk>TN!z8{&QqHNcSosGCIj0|L|DZu{UFFg&}X$cAf6Xxuua&V zceKB7C5m(UAJK+5GHiYK79Talgj(`%1HIt@H8STwc%BCF^o?$h4?yzZH~qHsy3HRe z^wHJwmT;=4nu&-)OpPry!^$S+@6ND693)G_+TgC45KoYX`t7-d^A z{&1d*oZN12z@XX=6-=t+v_hpcKDrW^QEML(S3__8Z7~;NL2#8K=kTHFgB{ty@XYW| z)~~gpxI;Y|+3A@wO)NxO_H;R)Jcd%O{P60$*0*;37GI<6y~rDWY%;Dy6d46Xg|+|Y zaltoEuDDJ%%jkrvmX^^$yFv#(L~Zx5Z0Y&_X0wZIq*X3l%`ckjA(|_{&sq94XOUNN zetAjBGg&*ExMLxx`&7=c)|1BNsKU?=)WV9aNTDCO&*+eh-}#qeIIDX-V(;f!(T8nq zy!L1x=aNl!3%L+*c|ZWtsfx2CJHr=5ST1aqD$-a+jHTdoswK`@B5l60I|HVS!%5h3 zEp}z}fcN(5`3|D3cT)N|nGkFGH3Dvl%Rolv1&`P`j`GKyFl)-D%(9WqMmrg#ddnru zbZ%Z7y;qACQz^jtDbU*!3tge_ix@I*=!NYO8I;v=g-Ne9^4K>eWH!i5z3bAVgKgyI z4iN_{8oBR~0!TFjwN^Q){g*)-hMO@G=m!4|bN{MZ6N@4w+lh?W|e>Bb4m%X4&e7PN2(ARD)d3r>FBn?|qn{e3tNEdul6z^jYv-iyz1G2_GV zF9ul4WRfTM=9{n#u?(YScJJ@>MHWzIFt9AU;s>n?H3E>hnd9m8Q3~ZV{Yq=7g>8dk zq^b7L2ehX$3^ALU8gqo3&fbF*_cnF{%9q%&I(Pj7uu}*7CO}u%j?APi$#?rvsd;_$ zDve0q?kyzm*GsDP4ra>vsJyrj+bc7v{()paG+QMruFaIHe}->}t&ZmvQv0?eiKUT3 zSfeui+4=2~yIN87?AYPs^;-Yj2eVbtY5V0y0uI|0jz9o!8~m0CkBHWjI90GBI-O4H zIdXRijhW0VBio!zlX=HoYa0b;0_Umn*g_;}2OA#43$0Mc(MOKN6 z2B@FXRCAcPsb1#x%YlDuv8e!m=(sz?7=5s6nRE1J2NCDm=4a}&GJGa@2SuHQLbgCs>oq8B7rk3 zn7CGJ!c!dDKmgV?UD`cgkUDt?mgclOdC#QRSXRcsm8t4r)jx=vXf&u5w>ejp@{@O^ z^-Xw~vS}VrMD|>1Tv0Uk9h^L23HalYCh6<`}Ry?rd4tX`> z(?w;3S*28pgn=4kV{{4=$$OY=;{%OWJA+z^(w>-iUZJ>*solY$-117TGo{+8@izC0 z@$pt;;AqNTN|N|8khN@a=qvQ@9f8>mu@g2jIAuxML>NR*aqPV2a9m~?<4l5-kCy%= zY|u$68=4qCfzJLV#Ec9k3Au35oAT7W$YJqsQIuid9YqXvFk5-sK*9v0!Nm|2i(H9Q zG9U`^LromRIu)nmt6p;=D;*9EHD9JE{RmX0s$bNQJEs$*5fV=0-Bd5cDdZ_U-M71> z6df#-;^8uAe42I@0P8NXTdO=Y1NN5XlFn0A;M5x^LB!#Cbx24G4G0KOfJks#QoL(W zkJ{L?Pve#rP2bjN0=!*h0EH0AE(o}X`?nM*dhr_)vG#pwqY<2(n?ZZ8MfB(Jv z6XqpJ4^JQ>4UY^Yx1Uass8T+&5XXOKHc_+5MyAI>Uo-6HcNrJZdA%zFE%>g3L%F?8 zh|}kID0B&9oM@xQvWzMI133`nMtZNgE9aRgckxXAZ%CnAj6^(?d$lK>#S^qMk}m$( zK)N(Q5)PWfkaybuG5{uU!#NQ;`T7av+%!=3U^bhzxCK}h|0;F1lDcIu2dVi@B(*1R zFrzlRa$4gCjb1H2AuT)M8@<>PreKL?yOF0S9-Ss&hSAt4ISB(*{_d=nWg!NIG;HJN zN&&tbAC2IH5a54i!_xj#O@ZO$Vc(yn}hjE1FcR_>d z=EyHZ)$$@gXeRE=M5Q=2czJBE=n<|n#}1cy%KKZ5DpEgq@neQ$Mvl;6C8?wigjs}>{u z`al9gG&CD?+uBC^#Z;ZVBDucYI2JOmmK&fYOK?T50N2IqfR*kvob-qE_KePFiH4YJ+-v$(-rddxhz{F5RL0?RuH%^a4?=~g_%n}IUyP=F zRNK~Axp?t4v)@>5djB-fb;U`fvlFZ$cb^i!xZSCiWc57Ap0ywgq|JCu%kIQWI%09w zO*H!syO%L~|2=i)0&Tg@Y;+#@Xi8+c4nuy7>K<&PrDpdU0kC-2h8@#qHop(|4^@rSJu+}9sRIX`1>`7|#uGLuRrA~&)Wf35mxeHL_SkU!=K=Ia@|fH)?bfW&IL+*HX|b#4G4vViK1va%$6yji0I#% zo!{7)*L*uC3FU?e^;hkME6cPAgt?8#8*S8@URqq-@;qtFVL0pT0>#uX$eaDSK&ka6 zp^UZ79A1E(9k;UeEId58-{dHY#e)f&)QMWgD|=k`>oqUI~M$ z8FuoFa!#9o#wDD#Dj+7_j&cj9Dg5-_vzAXg0=KHnO1=q-_U0u^l?X$ zy}iytRsHdohMf#I@3ocuH1#%nA-pef-&sQGOcLY!BFf}*g)@ipI6?1I7F1gy3e&lfH09+pxn1mqMR59r~GUr zta(I_V}|B2<-Pseu6@sxDQfaH>dU4OkIZy^!1@sDmfhu~r08Ots=nY@9v$XiNd27& z{C(HiA${KrMGS-2F!*^LF4jk%3 zylO#2DQb-03!sG_tgxuVBz%?PY%%9gAL9;aywBGeQPW~~(N-ubzVfgnfyQhw^D-q% zG^qqFH--fwM*aNa%xMkf?t=8OT*fv05_L)CN+3p1?Dw9+O_Z5!ld#{hiB8xf>{2UC zBZJzkH3!#QFVRIvt8LFz>c110(Cw$=NgqoWkU#w&Ve5Gos zniOf#LA*L}WCsZ0e65zl8JApEYwS3bQtGTG;*q{{jy$=;YFze)%~*IvGEy7u3B9oP z9%PxuWz>U2Bv#-%J9stkhP|TKuPBS@&zl=R$1CM@NgF(!D^V@CB5b(&BFR?oz18!Z zWza0+hz*)#}n^SkB_q8gUMu<4k5ad_SJfv%6( zcgN{&gsV*R9#MGECmE}M?O^JhR@9gk5=mVMn3-ylkM&YJ>cR7T4g>pw#ko%`hVylx z-Vt}AB)89=WbA*iQ78Ih9lgC_1I=km=l9G;v_^RUEO!HM6_?bseOx6PVYpEtbCz7X z$9G3NF+n@d)^j|;Y{TC5m~q5p zcEs)R5QN*uM*`EIcalP04A#7gkE^$5ofCtwuis9KFR+?m;1P)IQW-2vQqm~rPy|TM ztjq4Y0t1vz?nk1H(OZ1q#xBo>LWUE)KiAyCHP>55?nKRu6Luvt)H&|TIUW9l9p}Ag z@Oip5+hichtuP%;;dI-Jjv2R|_lZ;1c}SP7JKgLvAbga0hSI;nw=>&h10V=;aY)Z3 zrL^7oj;w0CbRv_K$#plnfbrm+!^x7Z(PW+^-4{&lRn0|XR$30z3vhpDiUVzp{W_dC1OeJ)=DlSLGxnvoE=VAD)hN`?Maf;{e&7#^WQK{bxk_fV*Rv zAzNw>P6}#e(?xl*R3Wti7T84MF`1tHXq?)R7SCqgkwfRHtDHBz=h6*TKhRMW6W_!; z_$Iq~G}6WrSI7Q~r2C7Odzb^QGg4DQZ=S>c9bbp|3qr7*foWd1-R=oapACkJ*xtMl zSJIDEU40Y1I7h3u3I)QV;p$F)R`{sVv5c^ZW9h*>#d~DrHoq!!#c@CYjTFkBHx^DU z{DpFtR)vZ8f=aXMcKs|E6{(pRNgUA=`%`t41UCUe9B|fG&_uvs&fWq?s+6&pV{%MR z%l@JH2zd&TTzErfGeplS#Y!)b!7yKnwzQt{Z6`oTCF;Z&xf!Z zVPIpWC}ps59_WLViSaKyTmBCdNl~F{YC=+f^@9eu;SBOdTEOV(4BAyv<@vb+#2HLN zNy)fDMZ>S8np$3A?JMRLNar>Fj|LO05KQgyp5VQX&Gq9mWv9~LzJA~p9GBd*eXbSG z0zma}Iy_(>60J;RORG;;sAo<)p<$OY;hK%7iwAyr{Y!>o*;z>wzz8K{941cfL&<`* zr*KClgv<&hK5$f*MUqF-|oy zhE|-{I4qCCf7T1;w3hL}((Jj4WKr=YtlJc#iZLQ64go}7xOyBHj5Xnt3PZ_?Hy^pwz9=Kg}ftdfh z;~W#YJ`hO$6V&tqz#MKhVB+bAPmx0VvbU>nX!HG-6a7lR-%JZvO8@DiNRS=^{dk(J znwnSbYwoDkSN|28aYc2&lR_I)pVZ+`R5IH+y~psV$U3xQgpY~~JuyId5pcmM}S4Q;jtBP}SU zi%Q1_F!nM@<*DJgx8@y7CMP226z^*h94BDT}R#&K3eZi02#rjH8Q9 zA!B`-4O+37#1?w8(C?1q_p&^mJZ>@GInQ;ab~&;`D&eMy!u8QT<1sG^h+^E4rm7M?~}p8%m5tcznv2?9|CapmgYV} zo{qwXa;x@bsKO-}SS-)45aL&NwGign1vqS^c4mFH7g1@6?&mO~o9-%wm|vs9aY11E zOC0TEG@QB6%2a6nNfbxF^hX44Kxs)yNkE9pU!&TKQqjRk0xx7%LA?X|x`_*KsU{vwDAZZU~ zlj-hZB!$vYlkx)>hnaX9zYn&M`eU>d9gn!jdhg62F$8;niHa_^j6FRp&5_Dx9IX@k zd~9Jf_>g&1B4IZx9>8%Hu%zh(>PL;4EfBeF&!)owJq^#dKexKuK)SQxXAwcm()QRIZTy$O+1f~P>Q7!1P5FF& zNOUiCe7CU3M5&o;HM4wYfM|pwFb5s-^FA^apTp%98u0^G;HnSe??#@B9VIZ*l`>O0 zv72l*aoy{a%)P5;>8AIQQ5qx!5di_|Zc!TP z?rw${7*GLeQ0eX*8tFzUi4g`E8exQiA%^aFH@DCIJiq_9_oLUb@tD0=Tx*@{Tx+E( z8j-91(I6Dl8u3bx<+FdkiWxn~*X{X;1 z_Iwos#uQ!{?Om79A$i+>f7si0?3-SyMYUxD9SvDNUH)_RT+37o>g%cZ2opc86$rN* zPp02h$g95VauTk?jY!(rhNXb>AJxgob%t-C^(!zp4U^CVEq9$=5Ir z$2c>Y?=l7MQyh-sUhEBuPE2RC9FJbN{S^HcQ{;__rQK(qmKmpm3TkBPWk>B7|=-8dE z!;MMpX;n}l6|Z%Gh29S|N>!XL+*bnDV-R%D;sl4OEU|j16+xA$xu|e)zap!$(!Tyx z`5mu=&RS-v-yLDMLKy+;O|A(^R1117jugF3R} z8gOnHj*VYDo5?+u{Qefnh!)Afz^Ttx1svS&++UVnD@HLDWZc;d`^8kLEGX163P+US z5|GGX^_aW4gQW1MS=`b^6c|xo*v7?E(@2^-O_40&Zw<|9-1ZaP9X{dQ*N z>FqcU{G^iiWH>rC-w&RC<-FyVUp8pciVGAq?kh|tTS4E+Oh;(lCw&wN4Dij9AO2}s zp7LG>hqxOP!4)wY*GGI1uR}9!*xMuf;8Akag*csM0i{B{%C02}Sz?Y1(THl1WxO(f zEroic`n<(gO&r2$QvXW6_4u)#v-nZ=P9pe!Ja&A5$G*3{;!jbZwCFGPFpedlBK~2m z4NN&Noq&X-?;Jza^%(p)GQp5lC6hbzor+7XcmpG+tdVmY&sb$^u%vP8@xzA?)xXfu zt$YJ-fvtv1#QV9RxEJJM!q7XgCz@f+gtxwa|Jd0P^*%0+sa3Sc_qRzq;aKZmzTYb> zl8j=wZKfy)A1RR)Wi^QSOj~$|Qg==3>Y;PS_t82}CT|6>Q z?ev%_rp!$q^2uf5((B zgO;X$l_zF1*gWiFpVhrmcG|tzpn=$UZJr1M_8gm!yUDZvgIe@sV*%&}R=%M=^NWjm z@cVTsugbS5VnMn3KbTe#GMUgeZyn85)s5>KSMF3k2NkdMrHIyZ(-S|_y1Bw(g9+bl zGSpOx`9lwLxyDF*7e6N|V3D9?nyy8Z^ zdlN7i2?ImdGm~~ve6nX@KpoQkfyI8iRWMPK)l(}&!xx4|^J{%tVi(>^-FFLqzR;|X zqKfs+Nbz-Hw2A)x+qA~3%-Skz5PylOlYi1Bh3vuShQaWDX#@&z`@T|?WO%>>0MS< z*8Lo-lZCxh6V{|G=qrJriR`i6A=m1!S>SQK?cc0}7g|du-5pAuqf?TS1m+cpz3YZ| z=Ty^A-VP((-$^755UM9l^NHqRn6~d9@4lF4)hd0b>>;r}vS)~khbPr{wDs*(%{r6wVYU?Ssj`PVI5-UdwBFP8r*gEtp%gr37xg4@4 zgkM)PXJia;n3=7g)q_(Uy- zoh`bR&Kz>3)yngOl?M$obS|H27z@;Lq#FT>N%CB6;uJu9t8A;lO|#e9{!u9GbCO*B zp|l(oaAHTSeR)MaSzZv@b)`Z?#s34bIHW;6|9vr#W9cCG3v_B($08LBF@KK9$=f;5ZVT5k0ZO#lX>P!$Qvl84{ z^e0gL=8z|D!y<2_Vm=gY{g|2)ii~s1N(nw$j)X<;?z_d@J)CaDi}<|^qb%Ta&}Nr@ zJzI(1yF6=)QtgZ4dyPMWKwdddlIYg>ka}&;cUVHrFi z;RWiW3dUv-X=a}ixWRGyjZMjUBnFsEin#tDut;HQhyoUR(HS+1m&9BiBHXO{`rODs z%f9dmCy}UJzrpmd-#nsODHck zf5%FKA>x6nN9+oqOCaaH?*;XhK5XE18zU3lmG#Rg zF!tSt^y*1sX!7KG!-ZYPbfGoNZF5b6zsp})*mE3;ARf?q5t0kecQ}Vbf zZk(C%%|+PR|quf!>YH!leXd^iW! znZJ0ziobNZseLnJouR+yVHc zaB_b|IUKSV8d%lpqm7Ex!T<*MftHb!mQ+!EwC6rG^*s?*>UcJTh^ykVn0NT*Ny)B} zxJ@r>dJb5zV4?gU)_CmjX7C8*{+zakOphs`AaH`maUkpx;vmJ$r!6#ZIMEGzc= zwZ7Hm!ZsEqz(~$vT$(wjTB)pE@4vVE3_wUIe>`@ncL!gEv`0jlTWNu1XM`-v!X{v%|@>MXHx$CkTMub_R!WT1qepMBkL@in6kblDn(<9wzB- zP54w4%(H@ zV!*ubx8ABfIB91qp2+>Sg%?0#Dj#r=BRu30r>MWsxiSn^G0NJMXGXs`%nV$2Bj?b6 z$5tsAi~9ADR@ijsw|D#l9w;JYqYA*(($0T`pMSTcgenXPObC4a8L#!SIf|v!^O_>6zFtTerk<<=ArjL`NG)CzzwFwpb$lQdh}-@30}MXC%MLX@Hwgp_z8XyqjlyFOWY;c! zjlEV>nmJT)TPeF$Y)x6toGv%?{tJNv6W=EKdZ+o1w_RFG%(L83h)RRV4=$}0p#|F* z-u$m)9;YcbS(>s1+H{K~>P0AW0c-K=S}>PGZp_B$F)zZXSxL`AdDS8^=^~;qzh+Xg z5@^YoC(nxQ^IiCr744bz04cM(q%&Hc1_lKCU%w(UlxfC0)_*2Djh@Q|SA#^=088;kpgaQrHYME7K&@2KtvJo+W9&~ zyzQNDy8y6>CJbn#rgC63Nm@4=ap`Gy(|*f4)Rx%}t{O0~86!qVTy!TQdQ z1GQ+GL}cI}BuJ?Hj<-cjmqncecd~&V4i19`>aEtJ4utY;#K&>&-hjP7Y`xs#7+_KZ zQgq)fr30oIRU0vE;6lW6Hi!w5k=6?2GT!5B+aI})oGO9az=1*ShxZ>&HzVJaStIV`YCkKSn%igZT z^bXf)Tbat6eje^U<3OkP;gzIGD}FM_{>xNBw;FYFw!(3tI2L8@y`jE51gSAKs6Er$ zFsbe|D}mcR2#CVI#mc%C`;f+p2>0Zx8gmT44`hG4?*y zofig0`9tPz?&94`^Q(FD_V%4Nn*hhX_!9Z^*2n8$(5%Pmh2tN)OPR(9$mS2dh*x(%%FWv5 zDy7m5;2HBxe(BukV%Y};qbhs%dfG4F(Sr}sPIFNIp^KLJi`2FKA(PXV*h<>iEL81j z>$2OLuY~_eXzBdT4Zy8+up{Bn@kBQhhs1I$k!1oOl z`TEEjG+wNY#|KR+m?B(JuXA7V)8ab)A0f$=9ycs^TfFm}TveIzX@9xF7m@;;vX8zN zoesU4o6YJ0xmTyC^IV(Ch2KSghT-(olNOyD*LNhA0)GFN@Nza}VUo+>n{DJTPh|%Y z%_aeGU5&3MS`iXpZo=+&lCAALSD72Lb$@y?4jHZ2n?A}V;Q6Y6jP8^P+?L~Q9bd;J{@qAC{KW|efqeBDx7+m(44TZF zo~LEHzkZZ$qOX_ukizB>b$KyTs2bCm^J-F)#sli!<6fG^9%!H(5qYn9P}@Xk`@tnD z!cl=BzxwWlG4Uu@b2 zJEyXLXiwd(tI7UTBV4WVSxYqiXiLH;sm2xnb%AbJ^6_1QB>#knp48l!aw5Ix?)8&! zxSivbAO@}~zl3V?*jbL`GMfvA2@zBt1uE(d9YU(-vovN z;HxMykYh^UWWuW5YSel%53rL*l0)~KEN!Z=RZUHsWyr6uCP|A0F(;0jwigFTl2S+O zZ31nqYAfa<8HJdF@an_~U-64eGu>v(>Y7ul7L$w<@s;xgE!{HyuvjEg7uElmokHI!mkXUc<@$fjL zKk=*6tXKu{2FQ2gD5F?1LQZ9dXG)*uT|11LuNeCC(s%7y1Q}cIg2A~}0Dbkx6ek%F zPi5a8okfC20lt-%`hH!XhPsV&oV{J>0Bdbc3W8E)HKKX5VhNz?`v>kpe(ndX*F3VD zRMQUidOB;Ttq`DWzs#zrH56VcciHUyLhTsdY!GEWz8;@(YSZ4kdrTH+lESJzq8C8F zq1)hSA$+psJsb(WddgZfSC?4CCQCnr=*l1i7bvCh*hTC#e@89}@$9Ez#;Z32R1bVt z^^`LAtWwXeFZOSp9iVgeIM0oh_uJwMv;F%IaREd&ziv_-ajYr)Z`nnFwEs}nXdze& z%<(V2eIamzeYzOifEkk=Tj+?@`*3$zRw^iHMEq-|BPl8B)c5t1#sK7_vqv4U3+9-TCfR6*@Witxe zo+1Xg3-7g^eqw}PPkqzkgCC#TBxtRK#mX;5f3Q&1(~9h?30 zeyWn9*@afnxzR41&f%R&`O2zxMxrdO0iTyoZifBYT*#oeSYsE?fv^S8L*z}=AV0p2 z!|Ow|(&(HRj=*CX5Zs;(Ws)!bzD^37P6-4@BXK|{3pGl4;#40@0#X#JH|{;#&=nUy zgU51vk2q?@BgcX4{!yJhqCGOXzHIP$fGo5yZ4i-x)+ojrvxbIfxNql z>Cl$VU25g=6c%b7P|7M4uEvrY*5X*4zc?OEcH##$7(jK zaxlQECljKc1fee1y#pa1Ft|`C#A4U2?5RhAK`PdPl!buZ-aA(%Uf{16BpXB#GpND# ztLI0WaeY*!-zURJ98hk?e-*557Z`@6$9Aq;2MrgFS?_DqdtT(31!P6M9wwHu<3J2k zR9KkHw$#hq-X1HYqFYYo{jP5{qAhCMWq-dOGZpQ=GPszOJ2G>DNVc+yT9ut|8<$f$ ztD&mVL~$k`UdEPEDks|Ia{f@_E;@Is)QQRH$DV4_kU#$7Y=E>iR<#ZjrVV`A=4bHG zZdKMu9&uvq(8!mog0NcfcEAW-Wol;?DvYn6Z698mJ6)~wjimn)z4x~_O67u-WPrMEEYcDRJW>a|y>_V-?C- z4#1dgN@+&c@a8h}I89mFS%V|=G;NVe=DU}FSkDLh=p1q@@SyjnpMTZ_dJ6!gdE$M7 z3Hae`>I#&zLhD5twuPLoJoa~1`q&?>S*T^>`Vhm)_6q$1o9JTrp{uXMKG*Z-_yR5q zvZwAV+~7@J*}0fo56#od^yW(LXa^K{V^C!3h!zxF&}T=rs*ai6^94Ld24@ti;GK|> za?U80%L(02r_K;}dR_<-ns{OnXwZa(Y3J1~r&mf`&sV(kn_o0DGb`39DtzAV027br zG+O-tbW+h;=;w}PIo_f@_#B1c5~q&^`d;MObn71FunYn%YDzOZGxjM5sZ)i@BBED6 zXhX`ZD6i5-A^Ec-oa#l0@PqBGF3Y$uMCf@>s--*idOljn&T_ z^MVNU?FXDmbm~PLgFi3e4u;xc!rM6Pd?a5XfAr7jEJ0Tj(5v+FF}N7m{O7pc`ivqP zL*h^$-%PiUNWaPigibTxdegkn3c1Wb{ws8^8wqdeygp<7uh7kJj(W&hGb+Rgfqoj( zCr8_}GH#>kV?Xq3Hxuh~kW(5o77?0&7Lddh^TrD0pAS!((kO(+1$Kfmhz6raZEG3; zP)sG=vYymJy0dF3i)j7$6R~DXclYnMuwoW)YV=ToLEMO=hs$Ob7zm*LxKNr zx`|WX;<3vC3%`xSxke=8z0*>QDJ$8RRb$~O{jC{L6;QAmM86~KiC7sd_Sa6Y-W$5P zb}HZQUR5#tH2&;1s5JH_57>fK@b+smB4MEo00=TzKIk{tMf&cOCks?A1PX!h+fxHr zd*4}aNBZ43Xw=+ov7%&IanBQqFAkSlWgR!Q{t=_?A6`gzFcG(osav~>k~|OF0Dn*s zEL~^c(7+_M@6Y(kFtWT{uiY$6?nk%1P3H~LdT6qW;B9ee?2Wak;ZcMsvLAhF zI~HFEu<1A2G8lXvTRb@OkA8#;54LklogzsVp*}JGN>Ejf!F5>bCcn-k+G5h!fBAQA=w)LWa37MY>Zpay1a^Zyga{bYfVYnocKDM{+ z+C=6=@7OXk+`Ww0?k5pQev7 zp$}Mul4`#-FE^S-KQktBAzq9uKK}#f_Bjl!++BZO{nR)btrf3T%r_{$V7b_0)9`#Y zy=;(%mNp@T!XUhQeukb}07`V;0lkAbw!coQcG`HHkO26gHllN&&1AZZr6>&OK zSA6(LsFV4FZ?o%?Xr?Vf-pVQw_>>@S7x+cn!jIKf085wb2;fSi?+t$#xHQ0-@ou4a z*g(DD%>-eBBn>PE#mgGwq}$~F=+OAu{4NQ*uVA&+Q)n7s|3#`9(kPWJt)~B!l+kTh zJ^aDIX)qKDC1u~_h#+c6H2+Zt0I-YKg4Ff(_059j78Y9mvMgAF+xl^Z-mlky+yEdM z`;2%D38*Bxp}%PrZrlD>C7b6n#WK4AbhuNy;yUjt?sjKjEhuydA)Z#hsXEZ%l9HV{mC2)d~`r1D{kEl+j5 zR35I~v?wBt@^uFlbQ#RkVJ zt%63$;iBzaKjS%y%C!F~b+qR~;G${n=?+ zk@6twfbWw3SPtG>P?>gAL2o@%YZhj=^tC~m9RYiF7bgp1TgA-6k|OOKEVh#cP{LEv zGt!k3o@?`z>+brc9*vkZ0z9GGB;gS&Vme`S8k08bj4u-2+oGDTuZ!I_BQRRXsqi?P zsEbrS`_cbH+%b#$ |xgo+7nxjH+gsKR{ZIpBPfT` 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�a^Ois$*1mhJ$y5zRiej_lp7 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 z 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≦t#)k8Yb{bPU`D#3^cIpN95 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%0Aito5O1m>ljc5fhpQ+?`& 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

$9j`1iypmLN`AHCEc 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�kfAq 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 literal 0 HcmV?d00001 diff --git a/docusaurus/angular_versioned_docs/version-5/components/AttachmentListComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AttachmentListComponent.mdx index c0e18fc8..4e2f73f7 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AttachmentListComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AttachmentListComponent.mdx @@ -122,7 +122,7 @@ The id of the message the attachments belong to #### Defined in -[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L39) +[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L39) --- @@ -134,7 +134,7 @@ The parent id of the message the attachments belong to #### Defined in -[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L43) +[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L43) --- @@ -146,7 +146,7 @@ The attachments to display #### Defined in -[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L47) +[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L47) --- @@ -158,6 +158,6 @@ Emits the state of the image carousel window #### Defined in -[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L51) +[projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-list/attachment-list.component.ts#L51) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/AttachmentPreviewListComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AttachmentPreviewListComponent.mdx index a5962fe0..3deb32cd 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AttachmentPreviewListComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AttachmentPreviewListComponent.mdx @@ -47,7 +47,7 @@ A stream that emits the current file uploads and their states #### Defined in -[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:17](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L17) +[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:17](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L17) --- @@ -59,7 +59,7 @@ An output to notify the parent component if the user tries to retry a failed upl #### Defined in -[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:21](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L21) +[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:21](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L21) --- @@ -71,6 +71,6 @@ An output to notify the parent component if the user wants to delete a file #### Defined in -[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:25](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L25) +[projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts:25](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-preview-list/attachment-preview-list.component.ts#L25) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/AutocompleteTextareaComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AutocompleteTextareaComponent.mdx index 7176a6ad..5aa39d71 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AutocompleteTextareaComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AutocompleteTextareaComponent.mdx @@ -51,7 +51,7 @@ TextareaInterface.value #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:49](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L49) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:49](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L49) --- @@ -67,7 +67,7 @@ TextareaInterface.placeholder #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L53) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L53) --- @@ -83,7 +83,7 @@ TextareaInterface.areMentionsEnabled #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:57](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L57) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:57](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L57) --- @@ -99,7 +99,7 @@ TextareaInterface.inputMode #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:61](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L61) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:61](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L61) --- @@ -115,7 +115,7 @@ TextareaInterface.mentionScope #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:65](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L65) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:65](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L65) --- @@ -131,7 +131,7 @@ TextareaInterface.autoFocus #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:69](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L69) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:69](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L69) --- @@ -147,7 +147,7 @@ TextareaInterface.valueChange #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:73](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L73) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:73](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L73) --- @@ -163,7 +163,7 @@ TextareaInterface.send #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:77](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L77) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:77](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L77) --- @@ -179,6 +179,6 @@ TextareaInterface.userMentions #### Defined in -[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:81](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L81) +[projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts:81](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.ts#L81) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/AvatarComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AvatarComponent.mdx index 58b0aa6e..29af9edd 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AvatarComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AvatarComponent.mdx @@ -71,7 +71,7 @@ An optional name of the image, used for fallback image or image title (if `image #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L35) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L35) --- @@ -83,7 +83,7 @@ The URL of the image to be displayed. If the image can't be displayed the first #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L39) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L39) --- @@ -95,7 +95,7 @@ The location the avatar will be displayed in #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L43) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L43) --- @@ -107,7 +107,7 @@ The channel the avatar belongs to (if avatar of a channel is displayed) #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L47) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L47) --- @@ -119,7 +119,7 @@ The user the avatar belongs to (if avatar of a user is displayed) #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L51) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L51) --- @@ -131,7 +131,7 @@ The type of the avatar: channel if channel avatar is displayed, user if user ava #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:55](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L55) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:55](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L55) --- @@ -143,7 +143,7 @@ If a channel avatar is displayed, and if the channel has exactly two members a g #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:59](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L59) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:59](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L59) --- @@ -155,6 +155,6 @@ If channel/user image isn't provided the initials of the name of the channel/use #### Defined in -[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:63](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L63) +[projects/stream-chat-angular/src/lib/avatar/avatar.component.ts:63](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar/avatar.component.ts#L63) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/AvatarPlaceholderComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/AvatarPlaceholderComponent.mdx index e105f669..6b1e2282 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/AvatarPlaceholderComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/AvatarPlaceholderComponent.mdx @@ -12,7 +12,7 @@ An optional name of the image, used for fallback image or image title (if `image #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:23](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L23) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:23](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L23) --- @@ -24,7 +24,7 @@ The URL of the image to be displayed. If the image can't be displayed the first #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:27](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L27) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:27](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L27) --- @@ -36,7 +36,7 @@ The location the avatar will be displayed in #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:31](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L31) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:31](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L31) --- @@ -48,7 +48,7 @@ The channel the avatar belongs to (if avatar of a channel is displayed) #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L35) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L35) --- @@ -60,7 +60,7 @@ The user the avatar belongs to (if avatar of a user is displayed) #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L39) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L39) --- @@ -72,7 +72,7 @@ The type of the avatar: channel if channel avatar is displayed, user if user ava #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L43) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L43) --- @@ -84,7 +84,7 @@ If channel/user image isn't provided the initials of the name of the channel/use #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L47) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L47) --- @@ -96,6 +96,6 @@ If a channel avatar is displayed, and if the channel has exactly two members a g #### Defined in -[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L53) +[projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/avatar-placeholder/avatar-placeholder.component.ts#L53) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/ChannelHeaderComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/ChannelHeaderComponent.mdx index c4c19eee..e20dbd02 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/ChannelHeaderComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/ChannelHeaderComponent.mdx @@ -18,7 +18,7 @@ The `ChannelHeader` component displays the avatar and name of the currently acti ### Channel information -You can provide your own template for displaying channel information using the (`CustomTemplatesService`)(../services/CustomTemplatesService/#channelheaderinfotemplate) +You can provide your own template for displaying channel information using the [`CustomTemplatesService`](../services/CustomTemplatesService/#channelheaderinfotemplate) ### Channel actions diff --git a/docusaurus/angular_versioned_docs/version-5/components/ChannelListComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/ChannelListComponent.mdx index 9295c48f..13e71fef 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/ChannelListComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/ChannelListComponent.mdx @@ -1,11 +1,17 @@ +import ChannelList from "../assets/channel-list.png"; + The `ChannelList` component renders the list of channels. The `ChannelList` displays channels using pagination, new channels are loaded if the user clicks the "Load more" button. The channel list is always visible on desktop devices, on mobile devices, the list can be opened or closed controlled by a button in the [`ChannelHeader`](./ChannelHeaderComponent.mdx) component. + + ## Customization +### UI customization + **Example 1** - Using a custom channel list component See our [customization guide](../concepts/customization.mdx) on how to provide your own channel list component. @@ -27,5 +33,9 @@ It's possible to inject your own content to the top or to the bottom of the chan Use the `channel-list-top` attribute to inject content at the top of the channel list, and the `channel-list-bottom` to display content at the bottom of the channel list. +### Behavior customization + +Please refer to the [channel list guide](../../concepts/channel-list/) + [//]: # "Start of generated content" [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/ChannelPreviewComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/ChannelPreviewComponent.mdx index 39542893..7b0d9d8b 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/ChannelPreviewComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/ChannelPreviewComponent.mdx @@ -37,6 +37,6 @@ The channel to be displayed #### Defined in -[projects/stream-chat-angular/src/lib/channel-preview/channel-preview.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel-preview/channel-preview.component.ts#L28) +[projects/stream-chat-angular/src/lib/channel-preview/channel-preview.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel-preview/channel-preview.component.ts#L28) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/IconComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/IconComponent.mdx index 5d4a70d6..cabe388a 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/IconComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/IconComponent.mdx @@ -33,6 +33,6 @@ The icon to display, the list of [supported icons](https://github.com/GetStream/ #### Defined in -[projects/stream-chat-angular/src/lib/icon/icon.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/icon/icon.component.ts#L37) +[projects/stream-chat-angular/src/lib/icon/icon.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/icon/icon.component.ts#L37) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/IconPlaceholderComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/IconPlaceholderComponent.mdx index d9dcce8c..19223084 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/IconPlaceholderComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/IconPlaceholderComponent.mdx @@ -12,6 +12,6 @@ The icon to display, the list of [supported icons](https://github.com/GetStream/ #### Defined in -[projects/stream-chat-angular/src/lib/icon-placeholder/icon-placeholder.component.ts:18](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/icon-placeholder/icon-placeholder.component.ts#L18) +[projects/stream-chat-angular/src/lib/icon-placeholder/icon-placeholder.component.ts:18](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/icon-placeholder/icon-placeholder.component.ts#L18) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageActionsBoxComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageActionsBoxComponent.mdx index 9c92d92b..b4b4a118 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageActionsBoxComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageActionsBoxComponent.mdx @@ -48,7 +48,7 @@ Indicates if the message actions are belonging to a message that was sent by the #### Defined in -[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L37) +[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L37) --- @@ -60,7 +60,7 @@ The message the actions will be executed on #### Defined in -[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:41](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L41) +[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:41](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L41) --- @@ -72,7 +72,7 @@ The HTML element which contains the message text, it's used for the "copy messag #### Defined in -[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:45](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L45) +[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:45](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L45) --- @@ -84,6 +84,6 @@ The list of [channel capabilities](https://getstream.io/chat/docs/javascript/cha #### Defined in -[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:49](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L49) +[projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts:49](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.ts#L49) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageComponent.mdx index 74bab575..3c886467 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageComponent.mdx @@ -73,7 +73,7 @@ The message to be displayed #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:64](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L64) +[projects/stream-chat-angular/src/lib/message/message.component.ts:64](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message/message.component.ts#L64) --- @@ -85,7 +85,7 @@ The list of [channel capabilities](https://getstream.io/chat/docs/javascript/cha #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:68](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L68) +[projects/stream-chat-angular/src/lib/message/message.component.ts:68](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message/message.component.ts#L68) --- @@ -97,7 +97,7 @@ If `true`, the message status (sending, sent, who read the message) is displayed #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:72](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L72) +[projects/stream-chat-angular/src/lib/message/message.component.ts:72](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message/message.component.ts#L72) --- @@ -109,7 +109,7 @@ Determines if the message is being dispalyed in a channel or in a [thread](https #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:76](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L76) +[projects/stream-chat-angular/src/lib/message/message.component.ts:76](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message/message.component.ts#L76) --- @@ -121,7 +121,7 @@ Highlighting is used to add visual emphasize to a message when jumping to the me #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:80](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L80) +[projects/stream-chat-angular/src/lib/message/message.component.ts:80](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message/message.component.ts#L80) --- @@ -133,6 +133,6 @@ An Observable that emits when the message list is scrolled, it's used to prevent #### Defined in -[projects/stream-chat-angular/src/lib/message/message.component.ts:84](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message/message.component.ts#L84) +[projects/stream-chat-angular/src/lib/message/message.component.ts:84](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message/message.component.ts#L84) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageInputComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageInputComponent.mdx index b471d102..d6c04d4d 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageInputComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageInputComponent.mdx @@ -59,7 +59,7 @@ If file upload is enabled, the user can open a file selector from the input. Ple #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:60](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L60) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:60](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L60) --- @@ -71,7 +71,7 @@ If true, users can mention other users in messages. You also [need to use the `A #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:64](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L64) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:64](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L64) --- @@ -83,7 +83,7 @@ The scope for user mentions, either members of the current channel of members of #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:68](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L68) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:68](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L68) --- @@ -95,7 +95,7 @@ Determines if the message is being dispalyed in a channel or in a [thread](https #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:72](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L72) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:72](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L72) --- @@ -107,7 +107,7 @@ If true, users can select multiple files to upload. If no value is provided, it #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:76](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L76) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:76](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L76) --- @@ -119,7 +119,7 @@ The message to edit #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:80](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L80) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:80](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L80) --- @@ -131,7 +131,7 @@ An observable that can be used to trigger message sending from the outside #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:84](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L84) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:84](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L84) --- @@ -143,7 +143,7 @@ In `desktop` mode the `Enter` key will trigger message sending, in `mobile` mode #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:88](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L88) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:88](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L88) --- @@ -155,7 +155,7 @@ Enables or disables auto focus on the textarea element #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:92](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L92) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:92](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L92) --- @@ -169,7 +169,7 @@ If you don't need that behavior, you can turn this of with this flag. In that ca #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:98](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L98) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:98](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L98) --- @@ -181,7 +181,7 @@ Use this input to control wether a send button is rendered or not. If you don't #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:102](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L102) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:102](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L102) --- @@ -193,6 +193,6 @@ Emits when a message was successfuly sent or updated #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:106](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L106) +[projects/stream-chat-angular/src/lib/message-input/message-input.component.ts:106](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input.component.ts#L106) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageListComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageListComponent.mdx index ecb19e1d..570405a6 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageListComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageListComponent.mdx @@ -33,7 +33,7 @@ Determines if the message list should display channel messages or [thread messag #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L53) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:53](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L53) --- @@ -45,7 +45,7 @@ The direction of the messages in the list, `bottom-to-top` means newest message #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:57](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L57) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:57](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L57) --- @@ -57,7 +57,7 @@ You can hide the "jump to latest" button while scrolling. A potential use-case f #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:62](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L62) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:62](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L62) --- @@ -69,7 +69,7 @@ If `true` date separators will be displayed #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:66](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L66) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:66](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L66) --- @@ -81,7 +81,7 @@ If `true` unread indicator will be displayed #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:70](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L70) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:70](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L70) --- @@ -93,7 +93,7 @@ If date separators are displayed, you can set the horizontal position of the dat #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:74](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L74) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:74](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L74) --- @@ -105,7 +105,7 @@ If date separators are displayed, you can set the horizontal position of the dat #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:78](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L78) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:78](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L78) --- @@ -119,7 +119,7 @@ This is only applicable for `main` mode, as threads doesn't have read infromatio #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:85](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L85) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:85](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L85) --- @@ -131,7 +131,7 @@ You can turn on and off the loading indicator that signals to users that more me #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:89](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L89) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:89](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L89) --- @@ -141,6 +141,6 @@ You can turn on and off the loading indicator that signals to users that more me #### Defined in -[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:93](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L93) +[projects/stream-chat-angular/src/lib/message-list/message-list.component.ts:93](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-list/message-list.component.ts#L93) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsComponent.mdx index 5c8dcef8..9bfa8050 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsComponent.mdx @@ -53,7 +53,7 @@ The id of the message the reactions belong to #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L33) +[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L33) --- @@ -65,7 +65,7 @@ The number of reactions grouped by [reaction types](https://github.com/GetStream #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L37) +[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:37](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L37) --- @@ -77,7 +77,7 @@ List of reactions of a [message](../types/stream-message.mdx), used to display t #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:42](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L42) +[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:42](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L42) --- @@ -89,6 +89,6 @@ List of the user's own reactions of a [message](../types/stream-message.mdx), us #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:46](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L46) +[projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts:46](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions/message-reactions.component.ts#L46) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsSelectorComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsSelectorComponent.mdx index c2eb0b99..3ac052e9 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsSelectorComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/MessageReactionsSelectorComponent.mdx @@ -46,7 +46,7 @@ List of the user's own reactions of a [message](../types/stream-message.mdx), us #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts:29](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts#L29) +[projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts:29](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts#L29) --- @@ -58,6 +58,6 @@ The id of the message the reactions belong to #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts#L33) +[projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions-selector/message-reactions-selector.component.ts#L33) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/ModalComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/ModalComponent.mdx index 8014a4b3..e83daef2 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/ModalComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/ModalComponent.mdx @@ -28,7 +28,7 @@ If `true` the modal will be displayed, if `false` the modal will be hidden #### Defined in -[projects/stream-chat-angular/src/lib/modal/modal.component.ts:25](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L25) +[projects/stream-chat-angular/src/lib/modal/modal.component.ts:25](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L25) --- @@ -40,7 +40,7 @@ The content of the modal (can also be provided using `ng-content`) #### Defined in -[projects/stream-chat-angular/src/lib/modal/modal.component.ts:29](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L29) +[projects/stream-chat-angular/src/lib/modal/modal.component.ts:29](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L29) --- @@ -52,6 +52,6 @@ Emits `true` if the modal becomes visible, and `false` if the modal is closed. #### Defined in -[projects/stream-chat-angular/src/lib/modal/modal.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L33) +[projects/stream-chat-angular/src/lib/modal/modal.component.ts:33](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/modal/modal.component.ts#L33) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/NotificationComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/NotificationComponent.mdx index 254b7e73..460a2aea 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/NotificationComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/NotificationComponent.mdx @@ -24,7 +24,7 @@ The type of the notification #### Defined in -[projects/stream-chat-angular/src/lib/notification/notification.component.ts:16](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification/notification.component.ts#L16) +[projects/stream-chat-angular/src/lib/notification/notification.component.ts:16](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/notification/notification.component.ts#L16) --- @@ -36,6 +36,6 @@ The content of the notification (can also be provided using `ng-content`) #### Defined in -[projects/stream-chat-angular/src/lib/notification/notification.component.ts:20](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification/notification.component.ts#L20) +[projects/stream-chat-angular/src/lib/notification/notification.component.ts:20](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/notification/notification.component.ts#L20) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/TextareaComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/TextareaComponent.mdx index 9d1888dd..bed6b6c9 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/TextareaComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/TextareaComponent.mdx @@ -48,7 +48,7 @@ TextareaInterface.value #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L35) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:35](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L35) --- @@ -64,7 +64,7 @@ TextareaInterface.placeholder #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L39) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:39](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L39) --- @@ -80,7 +80,7 @@ TextareaInterface.inputMode #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L43) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:43](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L43) --- @@ -96,7 +96,7 @@ TextareaInterface.autoFocus #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L47) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:47](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L47) --- @@ -112,7 +112,7 @@ TextareaInterface.valueChange #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L51) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:51](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L51) --- @@ -128,6 +128,6 @@ TextareaInterface.send #### Defined in -[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:55](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L55) +[projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts:55](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/textarea/textarea.component.ts#L55) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingComponent.mdx index 53e0201a..cfcdc9fc 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingComponent.mdx @@ -82,6 +82,6 @@ The voice recording attachment #### Defined in -[projects/stream-chat-angular/src/lib/voice-recording/voice-recording.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/voice-recording/voice-recording.component.ts#L28) +[projects/stream-chat-angular/src/lib/voice-recording/voice-recording.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/voice-recording/voice-recording.component.ts#L28) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingWavebarComponent.mdx b/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingWavebarComponent.mdx index 6e73c301..e8752d56 100644 --- a/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingWavebarComponent.mdx +++ b/docusaurus/angular_versioned_docs/version-5/components/VoiceRecordingWavebarComponent.mdx @@ -34,7 +34,7 @@ The audio element that plays the voice recording #### Defined in -[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L28) +[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:28](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L28) --- @@ -46,7 +46,7 @@ The waveform data to visualize #### Defined in -[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:32](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L32) +[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:32](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L32) --- @@ -58,6 +58,6 @@ The duration of the voice recording in seconds #### Defined in -[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:36](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L36) +[projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts:36](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.ts#L36) [//]: # "End of generated content" diff --git a/docusaurus/angular_versioned_docs/version-5/concepts/channel-list.mdx b/docusaurus/angular_versioned_docs/version-5/concepts/channel-list.mdx new file mode 100644 index 00000000..8436d5c1 --- /dev/null +++ b/docusaurus/angular_versioned_docs/version-5/concepts/channel-list.mdx @@ -0,0 +1,279 @@ +--- +id: channel-list +sidebar_position: 4 +title: Channel list state +--- + +import ChannelList from "../assets/channel-list.png"; + +This guide describes the behaviour of the channel list, and shows how you can customize it. The channel list is controlled by the [`ChannelService`](../../services/ChannelService/). + + + +On the screenshot you can see the [built-in channel list component](../../components/ChannelListComponent) that integrates with the `ChannelService`. + +## Querying channels + +The `ChannelService` will initialize the channel list when you call either of the following methods: + +```ts +channelService.init(/* see details below */); +channelService.initWithCustomQuery(/* see details below */); +``` + +To load more pages: + +```ts +channelService.loadMoreChannels(); +``` + +To clear the list: + +```ts +channelService.reset(); +``` + +The current state of the channel list and the latest query can be accessed via theese variables: + +```ts +// Reactive value of the current channel list, you'll be notified when it changes +channelService.channels$.subscribe((channels) => console.log(channels)); + +// The current value of the channel list +console.log(channelService.channels); + +// Reactive value of the latest channel query request, it could be: 'in-progress' | 'success' | 'error' +channelService.channelQueryState$.subscribe((state) => console.log(state)); + +// Reactive value that tells if there are more pages to load +channelService.hasMoreChannels$.subscribe((hasMoreChannels) => + console.log(hasMoreChannels) +); +``` + +### Built-in queries + +The easiest way to initialize the channel list is to use a built-in query, a typical configuration could look like this: + +```ts +channelService.init({ type: "messaging", members: { $in: [""] } }); + +// If you want, you can add sort configuration and other options +channelService.init( + { type: "messaging", members: { $in: [""] } }, + { name: 1 }, + { limit: 20 } +); +``` + +For the full list of capabilities please refer the [query channel API documentation](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript). + +### Custom queries + +If built-in quieries aren't enough for you use-case, you can provide a custom query function that has this signature: `(queryType: ChannelQueryType) => Promise`. `ChannelQueryType` can be `'first-page' | 'next-page' | 'recover-state'`, the result is expected to be this format: + +```ts +{ + channels: Channel[]; // Ordered list of all channels that are displayed + hasMorePage: boolean; // Are there any more pages to load? +}; +``` + +Let's say you're using the [channel invites](../../code-examples/channel-invites/) to add members to a channel. In that case you might want to do a channel list where you display the channels the user is invited to, but not yet joined, at the top. And then all other chanenls, the user already joined. To do this you need to combine two query channel requests. Here is how you can do that: + +```ts +notJoinedChannelsQuery = new ChannelQuery( + this.chatService, + this.channelService, + { + type: 'messaging', + members: { $in: [""] }, + joined: false, + } +); +joinedChannelsQuery = new ChannelQuery( + this.chatService, + this.channelService, + { + type: 'messaging', + members: { $in: [""] }, + joined: true, + } +); +areAllNotJoinedChannelsQueried = false; + +async myCustomChannelQuery(queryType: ChannelQueryType) { + if (queryType === 'first-page' || queryType === 'recover-state') { + this.areAllNotJoinedChannelsQueried = false; + } + + if (!this.areAllNotJoinedChannelsQueried) { + const notJoinedQueryResult = await this.notJoinedChannelsQuery.query( + queryType + ); + if (notJoinedQueryResult.hasMorePage) { + return { + channels: notJoinedQueryResult.channels, + hasMorePage: notJoinedQueryResult.hasMorePage, + }; + } else { + this.areAllNotJoinedChannelsQueried = true; + const joinedQueryResult = await this.joinedChannelsQuery.query( + 'first-page' + ); + return { + channels: [ + ...notJoinedQueryResult.channels, + ...joinedQueryResult.channels, + ], + hasMorePage: joinedQueryResult.hasMorePage, + }; + } + } else { + return this.joinedChannelsQuery.query(queryType); + } +} +``` + +And then provide your query to the `ChannelService`: + +```ts +this.channelService.initWithCustomQuery((queryType) => + this.myCustomChannelQuery(queryType) +); +``` + +The above example used the `ChannelQuery` class that's exported by the SDK, but you can use any implementation you like, as long as your custom query follows this method signature: `(queryType: ChannelQueryType) => Promise`. You can reference the [`ChannelQuery` implementation](https://github.com/GetStream/stream-chat-angular/blob/master/projects/stream-chat-angular/src/lib/channel-query.ts) for the details. + +### Pagination + +By default the SDK will use an offset based pagination, where the offset will start from 0, and will be incremented with the number of channels returned from each query request. + +However, it's possible to provide your own pagination logic. Let's see the below example which sorts the channels alphabetically by their names, and then paginates using the following filter: `{name: $gt: }` + +```ts +this.channelService.customPaginator = ( + channelQueryResult: Channel[] +) => { + const lastChannel = channelQueryResult[channelQueryResult.length - 1]; + if (!lastChannel) { + return undefined; + } else { + return { + type: "filter", + paginationFilter: { + name: { $gt: lastChannel.data?.name || "" }, + }, + }; + } +}; +this.channelService.init( + { + type: "messaging", + members: { $in: [""] }, + }, + { name: 1 } +); +``` + +## Active channel + +The currently selected channel is called the active channel. + +```ts +// Reactive value of the current active channel, you'll be notified when it changes +channelService.activeChannel$.subscribe((channel) => console.log(channel)); + +// The current value of the active channel +console.log(channelService.activeChannel); +``` + +Here is how you can select/deselect the active channel: + +```ts +channelService.setAsActiveChannel(); +channelService.deselectActiveChannel(); +``` + +Selecting a channel as active will immediately mark the channel as read. + +By default the SDK will set the first channel as active when initializing the channel list. If you wish to turn off that behvior, set the `shouldSetActiveChannel` flag to `false`: + +```ts +channelService.init(, , , false); +channelService.initWithCustomQuery(, {shouldSetActiveChannel: false}); +``` + +## WebSocket events + +Apart from channel queries, the channel list is also updated on the following WebSocket events: + +| Event type | Default behavior | Custom handler to override | +| ----------------------------------- | ------------------------------------------------------------------ | --------------------------------------------- | +| `channel.deleted` | Remove channel from the list | `customChannelDeletedHandler` | +| `channel.hidden` | Remove channel from the list | `customChannelHiddenHandler` | +| `channel.truncated` | Updates the channel | `customChannelTruncatedHandler` | +| `channel.updated` | Updates the channel | `customChannelUpdatedHandler` | +| `channel.visible` | Adds the channel to the list | `customChannelVisibleHandler` | +| `message.new` | Moves the channel to top of the list | `customNewMessageHandler` | +| `notification.added_to_channel` | Adds the new channel to the top of the list and starts watching it | `customAddedToChannelNotificationHandler` | +| `notification.message_new` | Adds the new channel to the top of the list and starts watching it | `customNewMessageNotificationHandler` | +| `notification.removed_from_channel` | Removes the channel from the list | `customRemovedFromChannelNotificationHandler` | + +Our platform documentation covers the topic of [channel events](https://getstream.io/chat/docs/javascript/event_object/?language=javascript#events) in depth. + +It's important to note that filters don't apply to updates to the list from events. So if you initialize the channel list with this filter: + +```ts +{ + type: 'messaging', + members: { $in: [''] }, +} +``` + +And the user receives a message from a `team` channel, that channel will be added to the channel list by the default `notification.message_new` handler. If you don't want that behavior, you will need to provide your custom event handler to all relevant events. Here is an example event handler: + +```ts +customNewMessageNotificationHandler = async ( + clientEvent: ClientEvent, + channelListSetter: (channels: Channel[]) => void +) => { + const channelResponse = clientEvent!.event!.channel!; + if (channelResponse.type !== "messaging") { + return; + } + const newChanel = this.chatService.chatClient.channel( + channelResponse.type, + channelResponse.id + ); + try { + // We can only add watched channels to the channel list, so make sure to call `watch` + await newChanel.watch(); + const existingChannels = this.channelService.channels; + channelListSetter([newChanel, ...existingChannels]); + } catch (error) { + console.error("Failed to watch channel", error); + } +}; + +this.channelService.customNewMessageNotificationHandler = + this.customNewMessageNotificationHandler; +this.channelService.init(/* ... */); +``` + +## Adding and removing channels + +While the SDK doesn't come with built-in components to [create](https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript) or [delete](https://getstream.io/chat/docs/javascript/channel_delete/?language=javascript) channels it's easy to create these components should you need them. The SDK even provides a few component hooks to inject you custom UI ([channel list](../../components/ChannelListComponent/#ui-customization), [channel preview](../../components/ChannelPreviewComponent/#customization), [channel header](../../components/ChannelHeaderComponent/#channel-actions)). But of course you can also create a completely custom UI. + +The channel list will be automatically updated on the `notification.added_to_channel` and `channel.deleted` events, however it's also possible to add and remove channels manually from the list: + +```ts +// Make sure to watch the channel before adding it +channelService.addChannel(); + +channelService.removeChannel(''); +// This will automatically unwatch the chennel, unless you provide the following flag: +channelService.removeChannel('', false); +``` + +It's important to note that you should make sure that the channel you add is watched, more information about [watching channels](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) can be found in our API documentation. diff --git a/docusaurus/angular_versioned_docs/version-5/services/AttachmentConfigurationService.mdx b/docusaurus/angular_versioned_docs/version-5/services/AttachmentConfigurationService.mdx index b31ee329..cff35e6b 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/AttachmentConfigurationService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/AttachmentConfigurationService.mdx @@ -32,7 +32,7 @@ A custom handler can be provided to override the default giphy attachment (GIFs #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L37) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:37](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L37) --- @@ -60,7 +60,7 @@ A custom handler can be provided to override the default image attachment (image #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:22](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L22) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:22](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L22) --- @@ -86,7 +86,7 @@ A custom handler can be provided to override the default scraped image attachmen #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L43) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:43](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L43) --- @@ -113,7 +113,7 @@ A custom handler can be provided to override the default video attachment (video #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L30) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L30) --- @@ -125,7 +125,7 @@ You can turn on/off thumbnail generation for video attachments #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:49](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L49) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:49](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L49) ## Methods @@ -147,7 +147,7 @@ Handles the configuration for giphy attachments, it's possible to provide your o #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:180](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L180) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:180](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L180) --- @@ -171,7 +171,7 @@ Handles the configuration for image attachments, it's possible to provide your o #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:57](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L57) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:57](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L57) --- @@ -193,7 +193,7 @@ Handles the configuration for scraped image attachments, it's possible to provid #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:200](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L200) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:200](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L200) --- @@ -216,4 +216,4 @@ Handles the configuration for video attachments, it's possible to provide your o #### Defined in -[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L123) +[projects/stream-chat-angular/src/lib/attachment-configuration.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment-configuration.service.ts#L123) diff --git a/docusaurus/angular_versioned_docs/version-5/services/AttachmentService.mdx b/docusaurus/angular_versioned_docs/version-5/services/AttachmentService.mdx index dbe0d59e..7aec113c 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/AttachmentService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/AttachmentService.mdx @@ -20,7 +20,7 @@ Emits the number of uploads in progress. #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:25](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L25) +[projects/stream-chat-angular/src/lib/attachment.service.ts:25](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L25) --- @@ -32,7 +32,7 @@ Emits the state of the uploads ([`AttachmentUpload[]`](https://github.com/GetStr #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:29](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L29) +[projects/stream-chat-angular/src/lib/attachment.service.ts:29](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L29) ## Methods @@ -56,7 +56,7 @@ Note: If you just want to use your own CDN for file uploads, you don't necessary #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:120](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L120) +[projects/stream-chat-angular/src/lib/attachment.service.ts:120](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L120) --- @@ -78,7 +78,7 @@ Maps attachments received from the Stream API to uploads. This is useful when ed #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:206](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L206) +[projects/stream-chat-angular/src/lib/attachment.service.ts:206](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L206) --- @@ -100,7 +100,7 @@ Deletes an attachment, the attachment can have any state (`error`, `uploading` o #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:145](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L145) +[projects/stream-chat-angular/src/lib/attachment.service.ts:145](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L145) --- @@ -124,7 +124,7 @@ A promise with true or false. If false is returned the upload was canceled becau #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:62](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L62) +[projects/stream-chat-angular/src/lib/attachment.service.ts:62](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L62) --- @@ -142,7 +142,7 @@ the attachments #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:175](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L175) +[projects/stream-chat-angular/src/lib/attachment.service.ts:175](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L175) --- @@ -158,7 +158,7 @@ Resets the attachments uploads (for example after the message with the attachmen #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:53](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L53) +[projects/stream-chat-angular/src/lib/attachment.service.ts:53](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L53) --- @@ -182,4 +182,4 @@ A promise with the result #### Defined in -[projects/stream-chat-angular/src/lib/attachment.service.ts:130](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/attachment.service.ts#L130) +[projects/stream-chat-angular/src/lib/attachment.service.ts:130](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/attachment.service.ts#L130) diff --git a/docusaurus/angular_versioned_docs/version-5/services/ChannelService.mdx b/docusaurus/angular_versioned_docs/version-5/services/ChannelService.mdx index e65aea5c..6dde793f 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/ChannelService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/ChannelService.mdx @@ -24,7 +24,7 @@ The active channel will always be marked as read when a new message is received #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:96](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L96) +[projects/stream-chat-angular/src/lib/channel.service.ts:99](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L99) --- @@ -38,7 +38,7 @@ This property isn't always updated, please use `channel.read` to display up-to-d #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:148](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L148) +[projects/stream-chat-angular/src/lib/channel.service.ts:151](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L151) --- @@ -50,7 +50,7 @@ Emits the list of currently loaded messages of the active channel. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:100](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L100) +[projects/stream-chat-angular/src/lib/channel.service.ts:103](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L103) --- @@ -62,7 +62,7 @@ Emits the list of pinned messages of the active channel. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:104](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L104) +[projects/stream-chat-angular/src/lib/channel.service.ts:107](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L107) --- @@ -76,7 +76,7 @@ This property isn't always updated, please use `channel.read` to display up-to-d #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:154](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L154) +[projects/stream-chat-angular/src/lib/channel.service.ts:157](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L157) --- @@ -88,7 +88,7 @@ Emits the currently selected parent message. If no message is selected, it emits #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:116](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L116) +[projects/stream-chat-angular/src/lib/channel.service.ts:119](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L119) --- @@ -100,7 +100,7 @@ Emits the id of the currently selected parent message. If no message is selected #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:108](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L108) +[projects/stream-chat-angular/src/lib/channel.service.ts:111](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L111) --- @@ -112,7 +112,7 @@ Emits the list of currently loaded thread replies belonging to the selected pare #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:112](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L112) +[projects/stream-chat-angular/src/lib/channel.service.ts:115](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L115) --- @@ -138,7 +138,7 @@ The provided method will be called before a new message is sent to Stream's API. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:321](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L321) +[projects/stream-chat-angular/src/lib/channel.service.ts:324](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L324) --- @@ -164,7 +164,7 @@ The provided method will be called before a message is sent to Stream's API for #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:327](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L327) +[projects/stream-chat-angular/src/lib/channel.service.ts:330](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L330) --- @@ -178,7 +178,7 @@ If a message is bounced, it will be emitted via this `Observable`. The built-in #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:142](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L142) +[projects/stream-chat-angular/src/lib/channel.service.ts:145](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L145) --- @@ -190,7 +190,7 @@ The result of the latest channel query request. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:86](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L86) +[projects/stream-chat-angular/src/lib/channel.service.ts:89](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L89) --- @@ -224,7 +224,7 @@ Our platform documentation covers the topic of [channel events](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:82](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L82) +[projects/stream-chat-angular/src/lib/channel.service.ts:85](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L85) --- @@ -253,7 +253,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:172](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L172) +[projects/stream-chat-angular/src/lib/channel.service.ts:175](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L175) --- @@ -286,7 +286,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:196](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L196) +[projects/stream-chat-angular/src/lib/channel.service.ts:199](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L199) --- @@ -319,7 +319,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:244](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L244) +[projects/stream-chat-angular/src/lib/channel.service.ts:247](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L247) --- @@ -352,7 +352,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:228](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L228) +[projects/stream-chat-angular/src/lib/channel.service.ts:231](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L231) --- @@ -385,7 +385,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:212](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L212) +[projects/stream-chat-angular/src/lib/channel.service.ts:215](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L215) --- @@ -418,7 +418,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:260](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L260) +[projects/stream-chat-angular/src/lib/channel.service.ts:263](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L263) --- @@ -445,7 +445,7 @@ You can override the default file delete request - override this if you use your #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:304](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L304) +[projects/stream-chat-angular/src/lib/channel.service.ts:307](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L307) --- @@ -472,7 +472,7 @@ You can override the default file upload request - you can use this to upload fi #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:290](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L290) +[projects/stream-chat-angular/src/lib/channel.service.ts:293](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L293) --- @@ -499,7 +499,7 @@ You can override the default image delete request - override this if you use you #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:308](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L308) +[projects/stream-chat-angular/src/lib/channel.service.ts:311](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L311) --- @@ -526,7 +526,7 @@ You can override the default image upload request - you can use this to upload i #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:297](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L297) +[projects/stream-chat-angular/src/lib/channel.service.ts:300](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L300) --- @@ -559,7 +559,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:276](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L276) +[projects/stream-chat-angular/src/lib/channel.service.ts:279](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L279) --- @@ -588,37 +588,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:160](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L160) - ---- - -### customPaginator - -• `Optional` **customPaginator**: (`channelQueryResult`: `Channel`\<`T`\>[]) => `NextPageConfiguration` - -By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method. - -The method will be called with the result of the latest channel query. - -You can return either an offset, or a filter using the [`$lte`/`$gte` operator](https://getstream.io/chat/docs/javascript/query_syntax_operators/). If you return a filter, it will be merged with the filter provided for the `init` method. - -#### Type declaration - -▸ (`channelQueryResult`): `NextPageConfiguration` - -##### Parameters - -| Name | Type | -| :------------------- | :----------------- | -| `channelQueryResult` | `Channel`\<`T`\>[] | - -##### Returns - -`NextPageConfiguration` - -#### Defined in - -[projects/stream-chat-angular/src/lib/channel.service.ts:337](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L337) +[projects/stream-chat-angular/src/lib/channel.service.ts:163](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L163) --- @@ -647,7 +617,7 @@ If you're adding a new channel, make sure that it's a [watched](https://getstrea #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:184](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L184) +[projects/stream-chat-angular/src/lib/channel.service.ts:187](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L187) --- @@ -659,7 +629,7 @@ Emits `false` if there are no more pages of channels that can be loaded. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:55](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L55) +[projects/stream-chat-angular/src/lib/channel.service.ts:58](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L58) --- @@ -671,7 +641,7 @@ Emits the ID of the message the message list should jump to (can be a channel me #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:124](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L124) +[projects/stream-chat-angular/src/lib/channel.service.ts:127](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L127) --- @@ -683,7 +653,7 @@ Emits a map that contains the date of the latest message sent by the current use #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:136](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L136) +[projects/stream-chat-angular/src/lib/channel.service.ts:139](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L139) --- @@ -709,7 +679,7 @@ The provided method will be called before deleting a message. If the returned Pr #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:315](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L315) +[projects/stream-chat-angular/src/lib/channel.service.ts:318](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L318) --- @@ -721,7 +691,7 @@ Emits the currently selected message to quote #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:120](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L120) +[projects/stream-chat-angular/src/lib/channel.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L123) --- @@ -733,7 +703,7 @@ Emits the list of users that are currently typing in the channel (current user i #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:128](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L128) +[projects/stream-chat-angular/src/lib/channel.service.ts:131](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L131) --- @@ -745,7 +715,7 @@ Emits the list of users that are currently typing in the active thread (current #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:132](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L132) +[projects/stream-chat-angular/src/lib/channel.service.ts:135](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L135) --- @@ -755,7 +725,7 @@ Emits the list of users that are currently typing in the active thread (current #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:341](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L341) +[projects/stream-chat-angular/src/lib/channel.service.ts:336](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L336) --- @@ -765,7 +735,7 @@ Emits the list of users that are currently typing in the active thread (current #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:345](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L345) +[projects/stream-chat-angular/src/lib/channel.service.ts:340](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L340) ## Accessors @@ -781,7 +751,7 @@ The current active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1629](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1629) +[projects/stream-chat-angular/src/lib/channel.service.ts:1650](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1650) --- @@ -797,7 +767,7 @@ The current active channel messages #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1636](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1636) +[projects/stream-chat-angular/src/lib/channel.service.ts:1657](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1657) --- @@ -813,7 +783,33 @@ The current list of channels #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1622](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1622) +[projects/stream-chat-angular/src/lib/channel.service.ts:1643](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1643) + +--- + +### customPaginator + +• `set` **customPaginator**(`paginator`): `void` + +By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method. + +The method will be called with the result of the latest channel query. + +You can return either an offset, or a filter using the [`$lte`/`$gte` operator](https://getstream.io/chat/docs/javascript/query_syntax_operators/). If you return a filter, it will be merged with the filter provided for the `init` method. + +#### Parameters + +| Name | Type | +| :---------- | :----------------------------------------------------------------------------------- | +| `paginator` | `undefined` \| (`channelQueryResult`: `Channel`\<`T`\>[]) => `NextPageConfiguration` | + +#### Returns + +`void` + +#### Defined in + +[projects/stream-chat-angular/src/lib/channel.service.ts:589](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L589) --- @@ -829,7 +825,7 @@ If set to false, read events won't be sent as new messages are received. If set #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:575](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L575) +[projects/stream-chat-angular/src/lib/channel.service.ts:565](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L565) • `set` **shouldMarkActiveChannelAsRead**(`shouldMarkActiveChannelAsRead`): `void` @@ -847,7 +843,7 @@ If set to false, read events won't be sent as new messages are received. If set #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:582](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L582) +[projects/stream-chat-angular/src/lib/channel.service.ts:572](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L572) ## Methods @@ -870,7 +866,7 @@ The channel will be added to the beginning of the channel list #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1145](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1145) +[projects/stream-chat-angular/src/lib/channel.service.ts:1164](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1164) --- @@ -894,7 +890,7 @@ Adds a reaction to a message. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:822](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L822) +[projects/stream-chat-angular/src/lib/channel.service.ts:841](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L841) --- @@ -918,7 +914,7 @@ The list of members matching the search filter #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1072](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1072) +[projects/stream-chat-angular/src/lib/channel.service.ts:1091](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1091) --- @@ -934,7 +930,7 @@ Clears the currently selected message to jump #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1269](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1269) +[projects/stream-chat-angular/src/lib/channel.service.ts:1288](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1288) --- @@ -956,7 +952,7 @@ Deletes an uploaded file by URL. If you want to know more about [file uploads](h #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1056](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1056) +[projects/stream-chat-angular/src/lib/channel.service.ts:1075](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1075) --- @@ -979,7 +975,7 @@ Deletes the message from the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:944](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L944) +[projects/stream-chat-angular/src/lib/channel.service.ts:963](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L963) --- @@ -995,7 +991,7 @@ Deselects the currently active (if any) channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:629](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L629) +[projects/stream-chat-angular/src/lib/channel.service.ts:637](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L637) --- @@ -1019,7 +1015,7 @@ all reactions of a message #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1645](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1645) +[projects/stream-chat-angular/src/lib/channel.service.ts:1666](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1666) --- @@ -1031,12 +1027,12 @@ Queries the channels with the given filters, sorts and options. More info about #### Parameters -| Name | Type | Default value | Description | -| :----------------------- | :---------------------- | :------------ | :----------------------------------------------------------------------------------------------------------------------- | -| `filters` | `ChannelFilters`\<`T`\> | `undefined` | | -| `sort?` | `ChannelSort`\<`T`\> | `undefined` | | -| `options?` | `ChannelOptions` | `undefined` | | -| `shouldSetActiveChannel` | `boolean` | `true` | Decides if the first channel in the result should be made as an active channel, or no channel should be marked as active | +| Name | Type | Default value | Description | +| :----------------------- | :---------------------- | :------------ | :------------------------------------------------------------------------------------- | +| `filters` | `ChannelFilters`\<`T`\> | `undefined` | | +| `sort?` | `ChannelSort`\<`T`\> | `undefined` | | +| `options?` | `ChannelOptions` | `undefined` | | +| `shouldSetActiveChannel` | `boolean` | `true` | Decides if the first channel in the result should be made as an active channel or not. | #### Returns @@ -1046,7 +1042,32 @@ the list of channels found by the query #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:759](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L759) +[projects/stream-chat-angular/src/lib/channel.service.ts:767](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L767) + +--- + +### initWithCustomQuery + +▸ **initWithCustomQuery**(`query`, `options?`): `Promise`\<`Channel`\<`T`\>[]\> + +Queries the channels with the given query function. More info about [channel querying](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript) can be found in the platform documentation. + +#### Parameters + +| Name | Type | Description | +| :------------------------------- | :---------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- | +| `query` | (`queryType`: `ChannelQueryType`) => `Promise`\<`ChannelQueryResult`\<`T`\>\> | | +| `options` | `Object` | The `shouldSetActiveChannel` specifies if the first channel in the result should be selected as the active channel or not. Default is `true`. | +| `options.messagePageSize` | `number` | - | +| `options.shouldSetActiveChannel` | `boolean` | - | + +#### Returns + +`Promise`\<`Channel`\<`T`\>[]\> + +#### Defined in + +[projects/stream-chat-angular/src/lib/channel.service.ts:801](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L801) --- @@ -1069,7 +1090,7 @@ Jumps to the selected message inside the message list, if the message is not yet #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1241](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1241) +[projects/stream-chat-angular/src/lib/channel.service.ts:1260](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1260) --- @@ -1085,7 +1106,7 @@ Loads the next page of channels. The page size can be set in the [query option]( #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:812](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L812) +[projects/stream-chat-angular/src/lib/channel.service.ts:831](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L831) --- @@ -1107,7 +1128,7 @@ Loads the next page of messages of the active channel. The page size can be set #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:690](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L690) +[projects/stream-chat-angular/src/lib/channel.service.ts:698](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L698) --- @@ -1129,7 +1150,7 @@ Loads the next page of messages of the active thread. The page size can be set i #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:729](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L729) +[projects/stream-chat-angular/src/lib/channel.service.ts:737](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L737) --- @@ -1153,7 +1174,7 @@ the result of the request #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1678](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1678) +[projects/stream-chat-angular/src/lib/channel.service.ts:1699](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1699) --- @@ -1175,7 +1196,7 @@ Pins the given message in the channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1277](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1277) +[projects/stream-chat-angular/src/lib/channel.service.ts:1296](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1296) --- @@ -1191,7 +1212,7 @@ internal #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:553](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L553) +[projects/stream-chat-angular/src/lib/channel.service.ts:543](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L543) --- @@ -1214,7 +1235,7 @@ Removes a reaction from a message. #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:838](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L838) +[projects/stream-chat-angular/src/lib/channel.service.ts:857](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L857) --- @@ -1236,7 +1257,7 @@ Resends the given message to the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:892](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L892) +[projects/stream-chat-angular/src/lib/channel.service.ts:911](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L911) --- @@ -1252,7 +1273,7 @@ Resets the `activeChannel$`, `channels$` and `activeChannelMessages$` Observable #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:795](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L795) +[projects/stream-chat-angular/src/lib/channel.service.ts:815](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L815) --- @@ -1274,7 +1295,7 @@ Selects or deselects the current message to quote reply to #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1136](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1136) +[projects/stream-chat-angular/src/lib/channel.service.ts:1155](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1155) --- @@ -1298,7 +1319,7 @@ Selects or deselects the current message to quote reply to #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1099](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1099) +[projects/stream-chat-angular/src/lib/channel.service.ts:1118](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1118) --- @@ -1325,7 +1346,7 @@ Sends a message to the active channel. The message is immediately added to the m #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:853](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L853) +[projects/stream-chat-angular/src/lib/channel.service.ts:872](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L872) --- @@ -1348,7 +1369,7 @@ If the channel wasn't previously part of the channel, it will be added to the be #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:597](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L597) +[projects/stream-chat-angular/src/lib/channel.service.ts:605](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L605) --- @@ -1371,7 +1392,7 @@ Sets the given `message` as an active parent message. If `undefined` is provided #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:655](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L655) +[projects/stream-chat-angular/src/lib/channel.service.ts:663](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L663) --- @@ -1393,7 +1414,7 @@ Call this method if user started typing in the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1605](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1605) +[projects/stream-chat-angular/src/lib/channel.service.ts:1626](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1626) --- @@ -1415,7 +1436,7 @@ Call this method if user stopped typing in the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1614](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1614) +[projects/stream-chat-angular/src/lib/channel.service.ts:1635](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1635) --- @@ -1437,7 +1458,7 @@ Removes the given message from pinned messages #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:1296](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L1296) +[projects/stream-chat-angular/src/lib/channel.service.ts:1315](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L1315) --- @@ -1459,7 +1480,7 @@ Updates the message in the active channel #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:909](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L909) +[projects/stream-chat-angular/src/lib/channel.service.ts:928](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L928) --- @@ -1483,4 +1504,4 @@ the result of file upload requests #### Defined in -[projects/stream-chat-angular/src/lib/channel.service.ts:976](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/channel.service.ts#L976) +[projects/stream-chat-angular/src/lib/channel.service.ts:995](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/channel.service.ts#L995) diff --git a/docusaurus/angular_versioned_docs/version-5/services/ChatClientService.mdx b/docusaurus/angular_versioned_docs/version-5/services/ChatClientService.mdx index 139a1d64..5d1668fc 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/ChatClientService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/ChatClientService.mdx @@ -18,7 +18,7 @@ Emits the current [application settings](https://getstream.io/chat/docs/javascri #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:50](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L50) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:49](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L49) --- @@ -30,7 +30,7 @@ The [StreamChat client](https://github.com/GetStream/stream-chat-js/blob/master/ #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:39](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L39) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:38](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L38) --- @@ -42,7 +42,7 @@ Emits the current connection state of the user (`online` or `offline`) #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:54](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L54) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:53](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L53) --- @@ -57,19 +57,19 @@ For performance reasons this Observable operates outside of the Angular change d #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:46](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L46) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:45](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L45) --- ### pendingInvites$ -• **pendingInvites$**: `Observable`\<(`ChannelResponse`\<`T`\> \| `Channel`\<`T`\>)[]\> +• **pendingInvites$**: `Observable`\<`Channel`\<`T`\>[]\> Emits the list of pending invites of the user. It emits every pending invitation during initialization and then extends the list when a new invite is received. More information can be found in the [channel invitations](../code-examples/channel-invites.mdx) guide. #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:58](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L58) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:57](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L57) --- @@ -81,7 +81,7 @@ Emits the current chat user #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:62](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L62) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:61](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L61) ## Methods @@ -105,7 +105,7 @@ The users matching the search #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:227](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L227) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:224](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L224) --- @@ -121,7 +121,7 @@ Disconnects the current user, and closes the WebSocket connection. Useful when d #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:189](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L189) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:186](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L186) --- @@ -143,7 +143,7 @@ Flag the message with the given ID. If you want to know [more about flags](https #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:218](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L218) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:215](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L215) --- @@ -159,7 +159,7 @@ Loads the current [application settings](https://getstream.io/chat/docs/javascri #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:199](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L199) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:196](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L196) --- @@ -184,4 +184,4 @@ Creates a [`StreamChat`](https://github.com/GetStream/stream-chat-js/blob/668b3e #### Defined in -[projects/stream-chat-angular/src/lib/chat-client.service.ts:101](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/chat-client.service.ts#L101) +[projects/stream-chat-angular/src/lib/chat-client.service.ts:98](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/chat-client.service.ts#L98) diff --git a/docusaurus/angular_versioned_docs/version-5/services/CustomTemplatesService.mdx b/docusaurus/angular_versioned_docs/version-5/services/CustomTemplatesService.mdx index 9319dcd9..29bcee47 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/CustomTemplatesService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/CustomTemplatesService.mdx @@ -22,7 +22,7 @@ The template that can be used to override how attachment actions are displayed i #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:276](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L276) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:276](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L276) --- @@ -34,7 +34,7 @@ The template used to display attachments of a [message](../components/MessageCom #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:109](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L109) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:109](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L109) --- @@ -46,7 +46,7 @@ The template used to display attachments in the [message input](../components/Me #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:116](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L116) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:116](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L116) --- @@ -58,7 +58,7 @@ The template used to display avatars for channels and users (instead of the [def #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L123) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:123](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L123) --- @@ -70,7 +70,7 @@ The template that can be used to override how a card attachment is displayed ins #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:270](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L270) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:270](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L270) --- @@ -82,7 +82,7 @@ The template for channel actions displayed in the [channel header](../components #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:102](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L102) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:102](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L102) --- @@ -94,7 +94,7 @@ The template used to display additional information about a channel under the ch #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:227](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L227) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:227](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L227) --- @@ -106,7 +106,7 @@ Template used to display the channel information inside the [channel list item]( #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:329](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L329) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:329](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L329) --- @@ -118,7 +118,7 @@ Template used to display an item in the [channel list](../components/ChannelList #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:67](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L67) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:67](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L67) --- @@ -130,7 +130,7 @@ The autocomplete list item template for commands (used in the [`AutocompleteText #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:60](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L60) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:60](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L60) --- @@ -142,7 +142,7 @@ The template used for displaying file upload/attachment selector inside the [mes #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:234](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L234) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:234](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L234) --- @@ -154,7 +154,7 @@ Template to display custom metadata inside [message component](../components/Mes #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:220](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L220) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:220](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L220) --- @@ -166,7 +166,7 @@ The template used to display the date separator inside the [message list](../com #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:288](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L288) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:288](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L288) --- @@ -180,7 +180,7 @@ Displayed for the last message sent by the current user, if the message isn't ye #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:195](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L195) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:195](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L195) --- @@ -192,7 +192,7 @@ The template for [emoji picker](../code-examples/emoji-picker.mdx) #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:81](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L81) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:81](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L81) --- @@ -204,7 +204,7 @@ The template to show if the main message list is empty #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:310](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L310) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:310](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L310) --- @@ -216,7 +216,7 @@ The template to show if the thread message list is empty #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:316](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L316) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:316](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L316) --- @@ -228,7 +228,7 @@ The template that can be used to override how a file attachment is displayed ins #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:264](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L264) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:264](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L264) --- @@ -240,7 +240,7 @@ The template that can be used to override how image gallery is displayed inside #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:258](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L258) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:258](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L258) --- @@ -252,7 +252,7 @@ Template for displaying icons (instead of the [default icon component](../compon #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:130](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L130) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:130](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L130) --- @@ -264,7 +264,7 @@ The template that can be used to override how a single image attachment is displ #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:240](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L240) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:240](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L240) --- @@ -276,7 +276,7 @@ Template for displaying the loading indicator (instead of the [default loading i #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:137](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L137) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:137](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L137) --- @@ -288,7 +288,7 @@ The autocomplete list item template for mentioning users (used in the [`Autocomp #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:54](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L54) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:54](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L54) --- @@ -300,7 +300,7 @@ The template used for displaying a [mention inside a message](../code-examples/m #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:74](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L74) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:74](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L74) --- @@ -312,7 +312,7 @@ The template used for displaying an item in the [message actions box](../compone #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:151](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L151) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:151](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L151) --- @@ -324,7 +324,7 @@ Template for displaying the message actions box (instead of the [default message #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:144](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L144) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:144](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L144) --- @@ -336,7 +336,7 @@ The template used to display the [message bounce prompt](../components/MessageBo #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:322](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L322) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:322](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L322) --- @@ -348,7 +348,7 @@ The template used to display the reactions of a [message](../components/MessageC #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:165](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L165) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:165](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L165) --- @@ -360,7 +360,7 @@ The template used to display the reactions of a [message](../components/MessageC #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:158](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L158) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:158](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L158) --- @@ -372,7 +372,7 @@ The template used to display a message in the [message list](../components/Messa #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:95](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L95) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:95](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L95) --- @@ -384,7 +384,7 @@ The template used to display a modal window (instead of the [default modal](../c #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:172](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L172) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:172](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L172) --- @@ -398,7 +398,7 @@ This UI element is used to separate unread messages from read messages #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:296](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L296) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:296](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L296) --- @@ -412,7 +412,7 @@ Users can use this notification to jump to the first unread message when it's cl #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:304](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L304) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:304](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L304) --- @@ -424,7 +424,7 @@ The template used to override the [default notification component](../components #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:179](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L179) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:179](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L179) --- @@ -438,7 +438,7 @@ Displayed for the last message sent by the current user, if the message is read #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:213](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L213) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:213](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L213) --- @@ -452,7 +452,7 @@ Displayed for the last message sent by the current user, if the message is curre #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:204](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L204) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:204](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L204) --- @@ -464,7 +464,7 @@ The template used to display [system messages](https://getstream.io/chat/docs/ja #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:282](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L282) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:282](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L282) --- @@ -476,7 +476,7 @@ The template used for header of a [thread](../components/ThreadComponent.mdx) #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:186](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L186) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:186](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L186) --- @@ -488,7 +488,7 @@ The typing indicator template used in the [message list](../components/MessageLi #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:88](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L88) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:88](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L88) --- @@ -500,7 +500,7 @@ The template that can be used to override how a video attachment is displayed in #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:252](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L252) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:252](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L252) --- @@ -512,4 +512,4 @@ The template that can be used to override how a voice recording attachment is di #### Defined in -[projects/stream-chat-angular/src/lib/custom-templates.service.ts:246](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L246) +[projects/stream-chat-angular/src/lib/custom-templates.service.ts:246](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L246) diff --git a/docusaurus/angular_versioned_docs/version-5/services/DateParserService.mdx b/docusaurus/angular_versioned_docs/version-5/services/DateParserService.mdx index 6904b8ac..580063c9 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/DateParserService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/DateParserService.mdx @@ -26,7 +26,7 @@ Custom parser to override `parseDate` #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:18](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L18) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:18](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/date-parser.service.ts#L18) --- @@ -52,7 +52,7 @@ Custom parser to override `parseDateTime` #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:22](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L22) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:22](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/date-parser.service.ts#L22) --- @@ -78,7 +78,7 @@ Custom parser to override `parseTime` #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L14) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/date-parser.service.ts#L14) ## Methods @@ -102,7 +102,7 @@ The parsed date #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:43](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L43) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:43](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/date-parser.service.ts#L43) --- @@ -126,7 +126,7 @@ The parsed date #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:55](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L55) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:55](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/date-parser.service.ts#L55) --- @@ -150,4 +150,4 @@ The parsed time #### Defined in -[projects/stream-chat-angular/src/lib/date-parser.service.ts:31](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/date-parser.service.ts#L31) +[projects/stream-chat-angular/src/lib/date-parser.service.ts:31](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/date-parser.service.ts#L31) diff --git a/docusaurus/angular_versioned_docs/version-5/services/EmojiInputService.mdx b/docusaurus/angular_versioned_docs/version-5/services/EmojiInputService.mdx index 65629db9..84d29442 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/EmojiInputService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/EmojiInputService.mdx @@ -12,4 +12,4 @@ If you have an emoji picker in your application, you can propagate the selected #### Defined in -[projects/stream-chat-angular/src/lib/message-input/emoji-input.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/emoji-input.service.ts#L14) +[projects/stream-chat-angular/src/lib/message-input/emoji-input.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/emoji-input.service.ts#L14) diff --git a/docusaurus/angular_versioned_docs/version-5/services/MessageActionsService.mdx b/docusaurus/angular_versioned_docs/version-5/services/MessageActionsService.mdx index 9a6baa24..825cdb48 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/MessageActionsService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/MessageActionsService.mdx @@ -32,7 +32,7 @@ By default the [`MessageComponent`](../../components/MessageComponent) will disp #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:188](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L188) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:188](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions.service.ts#L188) --- @@ -44,7 +44,7 @@ You can pass your own custom actions that will be displayed inside the built-in #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:184](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L184) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:184](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions.service.ts#L184) --- @@ -56,7 +56,7 @@ Default actions - these are the actions that are handled by the built-in compone #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:28](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L28) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:28](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions.service.ts#L28) --- @@ -68,7 +68,7 @@ The built-in components will handle changes to this observable. #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:180](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L180) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:180](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions.service.ts#L180) ## Methods @@ -93,4 +93,4 @@ the count #### Defined in -[projects/stream-chat-angular/src/lib/message-actions.service.ts:220](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-actions.service.ts#L220) +[projects/stream-chat-angular/src/lib/message-actions.service.ts:220](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-actions.service.ts#L220) diff --git a/docusaurus/angular_versioned_docs/version-5/services/MessageInputConfigService.mdx b/docusaurus/angular_versioned_docs/version-5/services/MessageInputConfigService.mdx index b08c4bd4..6d689b82 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/MessageInputConfigService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/MessageInputConfigService.mdx @@ -12,7 +12,7 @@ If true, users can mention other users in messages. You also [need to use the `A #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:17](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L17) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:17](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L17) --- @@ -24,7 +24,7 @@ In `desktop` mode the `Enter` key will trigger message sending, in `mobile` mode #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L30) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L30) --- @@ -36,7 +36,7 @@ If file upload is enabled, the user can open a file selector from the input. Ple #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:13](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L13) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:13](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L13) --- @@ -48,7 +48,7 @@ If `false`, users can only upload one attachment per message #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:21](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L21) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:21](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L21) --- @@ -60,4 +60,4 @@ The scope for user mentions, either members of the current channel of members of #### Defined in -[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:25](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L25) +[projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts:25](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-input/message-input-config.service.ts#L25) diff --git a/docusaurus/angular_versioned_docs/version-5/services/MessageReactionsService.mdx b/docusaurus/angular_versioned_docs/version-5/services/MessageReactionsService.mdx index 7ee573d5..75f34609 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/MessageReactionsService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/MessageReactionsService.mdx @@ -28,7 +28,7 @@ The event handler can retrieve all reactions of a message inside the active chan #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L30) +[projects/stream-chat-angular/src/lib/message-reactions.service.ts:30](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L30) --- @@ -42,7 +42,7 @@ You can provide any string as a reaction. The emoji can be provided as a string, #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions.service.ts:18](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L18) +[projects/stream-chat-angular/src/lib/message-reactions.service.ts:18](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L18) ## Accessors @@ -58,7 +58,7 @@ Get the currently enabled reactions #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions.service.ts:44](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L44) +[projects/stream-chat-angular/src/lib/message-reactions.service.ts:44](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L44) • `set` **reactions**(`reactions`): `void` @@ -76,4 +76,4 @@ Sets the enabled reactions #### Defined in -[projects/stream-chat-angular/src/lib/message-reactions.service.ts:37](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L37) +[projects/stream-chat-angular/src/lib/message-reactions.service.ts:37](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message-reactions.service.ts#L37) diff --git a/docusaurus/angular_versioned_docs/version-5/services/MessageService.mdx b/docusaurus/angular_versioned_docs/version-5/services/MessageService.mdx index 8e861b6b..2f680f38 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/MessageService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/MessageService.mdx @@ -26,7 +26,7 @@ You can provide a custom method to display links #### Defined in -[projects/stream-chat-angular/src/lib/message.service.ts:24](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message.service.ts#L24) +[projects/stream-chat-angular/src/lib/message.service.ts:24](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message.service.ts#L24) --- @@ -43,4 +43,4 @@ If you display messages as text the following parts are still be displayed as HT #### Defined in -[projects/stream-chat-angular/src/lib/message.service.ts:17](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/message.service.ts#L17) +[projects/stream-chat-angular/src/lib/message.service.ts:17](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/message.service.ts#L17) diff --git a/docusaurus/angular_versioned_docs/version-5/services/NotificationService.mdx b/docusaurus/angular_versioned_docs/version-5/services/NotificationService.mdx index 9965bc29..1d0cb375 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/NotificationService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/NotificationService.mdx @@ -12,7 +12,7 @@ Emits the currently active [notifications](https://github.com/GetStream/stream-c #### Defined in -[projects/stream-chat-angular/src/lib/notification.service.ts:15](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification.service.ts#L15) +[projects/stream-chat-angular/src/lib/notification.service.ts:15](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/notification.service.ts#L15) ## Methods @@ -51,7 +51,7 @@ A method to clear the notification. #### Defined in -[projects/stream-chat-angular/src/lib/notification.service.ts:68](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification.service.ts#L68) +[projects/stream-chat-angular/src/lib/notification.service.ts:68](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/notification.service.ts#L68) --- @@ -91,4 +91,4 @@ A method to clear the notification (before the timeout). #### Defined in -[projects/stream-chat-angular/src/lib/notification.service.ts:31](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/notification.service.ts#L31) +[projects/stream-chat-angular/src/lib/notification.service.ts:31](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/notification.service.ts#L31) diff --git a/docusaurus/angular_versioned_docs/version-5/services/StreamI18nService.mdx b/docusaurus/angular_versioned_docs/version-5/services/StreamI18nService.mdx index c0f28293..08a9fb6e 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/StreamI18nService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/StreamI18nService.mdx @@ -23,4 +23,4 @@ Registers the translation to the [ngx-translate](https://github.com/ngx-translat #### Defined in -[projects/stream-chat-angular/src/lib/stream-i18n.service.ts:19](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/stream-i18n.service.ts#L19) +[projects/stream-chat-angular/src/lib/stream-i18n.service.ts:19](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/stream-i18n.service.ts#L19) diff --git a/docusaurus/angular_versioned_docs/version-5/services/ThemeService.mdx b/docusaurus/angular_versioned_docs/version-5/services/ThemeService.mdx index afa2cad9..a26e4f69 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/ThemeService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/ThemeService.mdx @@ -12,4 +12,4 @@ A Subject that can be used to get or set the currently active theme. By default #### Defined in -[projects/stream-chat-angular/src/lib/theme.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/theme.service.ts#L14) +[projects/stream-chat-angular/src/lib/theme.service.ts:14](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/theme.service.ts#L14) diff --git a/docusaurus/angular_versioned_docs/version-5/services/TransliterationService.mdx b/docusaurus/angular_versioned_docs/version-5/services/TransliterationService.mdx index bffe15b9..71ac6551 100644 --- a/docusaurus/angular_versioned_docs/version-5/services/TransliterationService.mdx +++ b/docusaurus/angular_versioned_docs/version-5/services/TransliterationService.mdx @@ -22,4 +22,4 @@ the result of the transliteration #### Defined in -[projects/stream-chat-angular/src/lib/transliteration.service.ts:16](https://github.com/GetStream/stream-chat-angular/blob/3edb3a00ac99d243563a0ba3efab897b5d67137e/projects/stream-chat-angular/src/lib/transliteration.service.ts#L16) +[projects/stream-chat-angular/src/lib/transliteration.service.ts:16](https://github.com/GetStream/stream-chat-angular/blob/150739c52b02ee3abdefefc5763069d28442052d/projects/stream-chat-angular/src/lib/transliteration.service.ts#L16) diff --git a/projects/stream-chat-angular/src/lib/channel.service.spec.ts b/projects/stream-chat-angular/src/lib/channel.service.spec.ts index 3a5610c9..48203c3b 100644 --- a/projects/stream-chat-angular/src/lib/channel.service.spec.ts +++ b/projects/stream-chat-angular/src/lib/channel.service.spec.ts @@ -269,6 +269,7 @@ describe('ChannelService', () => { await init(); + // @ts-expect-error we know channelQuery exists, TS doesn't expect(service['channelQuery']?.['nextPageConfiguration']).toEqual({ type: 'filter', paginationFilter: { @@ -408,6 +409,7 @@ describe('ChannelService', () => { await init(); // Check that offset is set properly after query + // @ts-expect-error we know channelQuery exists, TS doesn't expect(service['channelQuery']?.['nextPageConfiguration']).toEqual({ type: 'offset', offset: service.channels.length, @@ -2587,4 +2589,36 @@ describe('ChannelService', () => { expect(newChannel.on).toHaveBeenCalledWith(jasmine.any(Function)); }); + + it('init with custom query', async () => { + const mockChannels = generateMockChannels(); + const customQuery = jasmine + .createSpy() + .and.resolveTo({ channels: mockChannels, hasMorePage: true }); + const result = await service.initWithCustomQuery(customQuery, { + shouldSetActiveChannel: false, + messagePageSize: 30, + }); + const hasMoreSpy = jasmine.createSpy(); + service.hasMoreChannels$.subscribe(hasMoreSpy); + + expect(result).toBe(mockChannels); + expect(customQuery).toHaveBeenCalledWith('first-page'); + expect(service['shouldSetActiveChannel']).toBeFalse(); + expect(service['messagePageSize']).toBe(30); + expect(hasMoreSpy).toHaveBeenCalledWith(true); + + customQuery.calls.reset(); + hasMoreSpy.calls.reset(); + const nextPage = generateMockChannels(5); + customQuery.and.resolveTo({ + channels: [...mockChannels, ...nextPage], + hasMorePage: false, + }); + + await service.loadMoreChannels(); + + expect(customQuery).toHaveBeenCalledWith('next-page'); + expect(hasMoreSpy).toHaveBeenCalledWith(false); + }); }); diff --git a/projects/stream-chat-angular/src/lib/channel.service.ts b/projects/stream-chat-angular/src/lib/channel.service.ts index f29b68dd..64655f97 100644 --- a/projects/stream-chat-angular/src/lib/channel.service.ts +++ b/projects/stream-chat-angular/src/lib/channel.service.ts @@ -32,6 +32,7 @@ import { getReadBy } from './read-by'; import { AttachmentUpload, AttachmentUploadErrorReason, + ChannelQueryResult, ChannelQueryState, ChannelQueryType, DefaultStreamChatGenerics, @@ -61,25 +62,6 @@ export class ChannelService< * :::important * If you want to subscribe to channel events, you need to manually reenter Angular's change detection zone, our [Change detection guide](../concepts/change-detection.mdx) explains this in detail. * ::: - * - * Apart from pagination, the channel list is also updated on the following events: - * - * | Event type | Default behavior | Custom handler to override | - * | ----------------------------------- | ------------------------------------------------------------------ | --------------------------------------------- | - * | `channel.deleted` | Remove channel from the list | `customChannelDeletedHandler` | - * | `channel.hidden` | Remove channel from the list | `customChannelHiddenHandler` | - * | `channel.truncated` | Updates the channel | `customChannelTruncatedHandler` | - * | `channel.updated` | Updates the channel | `customChannelUpdatedHandler` | - * | `channel.visible` | Adds the channel to the list | `customChannelVisibleHandler` | - * | `message.new` | Moves the channel to top of the list | `customNewMessageHandler` | - * | `notification.added_to_channel` | Adds the new channel to the top of the list and starts watching it | `customAddedToChannelNotificationHandler` | - * | `notification.message_new` | Adds the new channel to the top of the list and starts watching it | `customNewMessageNotificationHandler` | - * | `notification.removed_from_channel` | Removes the channel from the list | `customRemovedFromChannelNotificationHandler` | - * - * It's important to note that filters don't apply to updates to the list from events. - * - * Our platform documentation covers the topic of [channel events](https://getstream.io/chat/docs/javascript/event_object/?language=javascript#events) in depth. - * */ channels$: Observable[] | undefined>; /** @@ -383,7 +365,9 @@ export class ChannelService< private channelQueryStateSubject = new BehaviorSubject< ChannelQueryState | undefined >(undefined); - private channelQuery?: ChannelQuery; + private channelQuery?: + | ChannelQuery + | ((queryType: ChannelQueryType) => Promise>); private _customPaginator: | ((channelQueryResult: Channel[]) => NextPageConfiguration) | undefined; @@ -435,12 +419,6 @@ export class ChannelService< } }; - private isChannelResponse( - c: Channel | ChannelResponse - ): c is ChannelResponse { - return c._client === undefined; - } - private messageListSetter = (messages: StreamMessage[]) => { this.activeChannelMessagesSubject.next(messages); }; @@ -595,7 +573,7 @@ export class ChannelService< | undefined ) { this._customPaginator = paginator; - if (this.channelQuery) { + if (this.channelQuery && 'customPaginator' in this.channelQuery) { this.channelQuery.customPaginator = this._customPaginator; } } @@ -764,10 +742,10 @@ export class ChannelService< * @param filters * @param sort * @param options - * @param shouldSetActiveChannel Decides if the first channel in the result should be made as an active channel, or no channel should be marked as active + * @param shouldSetActiveChannel Decides if the first channel in the result should be made as an active channel or not. * @returns the list of channels found by the query */ - async init( + init( filters: ChannelFilters, sort?: ChannelSort, options?: ChannelOptions, @@ -789,27 +767,29 @@ export class ChannelService< ); this.channelQuery.customPaginator = this._customPaginator; - if (options?.message_limit) { - this.messagePageSize = options.member_limit!; - } - this.shouldSetActiveChannel = shouldSetActiveChannel; - this.clientEventsSubscription = this.chatClientService.events$.subscribe( - (notification) => void this.handleNotification(notification) - ); - try { - const result = await this.queryChannels( - this.shouldSetActiveChannel, - 'first-page' - ); - return result; - } catch (error) { - this.dismissErrorNotification = - this.notificationService.addPermanentNotification( - 'streamChat.Error loading channels', - 'error' - ); - throw error; + return this._init({ + shouldSetActiveChannel, + messagePageSize: options?.message_limit ?? this.messagePageSize, + }); + } + + /** + * Queries the channels with the given query function. More info about [channel querying](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript) can be found in the platform documentation. + * @param query + * @param options + * @param options.shouldSetActiveChannel The `shouldSetActiveChannel` specifies if the first channel in the result should be selected as the active channel or not. Default is `true`. + * @param options.messagePageSize How many messages should we load? The default is 25 + * @returns the channels that were loaded + */ + initWithCustomQuery( + query: (queryType: ChannelQueryType) => Promise>, + options: { shouldSetActiveChannel: boolean; messagePageSize: number } = { + shouldSetActiveChannel: true, + messagePageSize: this.messagePageSize, } + ) { + this.channelQuery = query; + return this._init(options); } /** @@ -1171,6 +1151,42 @@ export class ChannelService< } } + /** + * + * @param cid + * @param shouldStopWatching + */ + removeChannel(cid: string, shouldStopWatching = true) { + const remainingChannels = this.channels.filter((c) => c.cid !== cid); + + if (shouldStopWatching) { + if (this.channelSubscriptions[cid]) { + this.channelSubscriptions[cid](); + delete this.channelSubscriptions.cid; + } + void this.chatClientService.chatClient.activeChannels[cid] + ?.stopWatching() + .catch((err) => + this.chatClientService.chatClient.logger( + 'warn', + 'Failed to unwatch channel', + err as Record + ) + ); + } + + if (remainingChannels.length < this.channels.length) { + this.channelsSubject.next(remainingChannels); + if (cid === this.activeChannelSubject.getValue()?.cid) { + if (remainingChannels.length > 0) { + this.setAsActiveChannel(remainingChannels[0]); + } else { + this.activeChannelSubject.next(undefined); + } + } + } + } + private async sendMessageRequest( preview: MessageResponse | StreamMessage, customData?: Partial, @@ -1451,7 +1467,7 @@ export class ChannelService< private handleRemovedFromChannelNotification(clientEvent: ClientEvent) { const channelIdToBeRemoved = clientEvent.event.channel!.cid; - this.removeChannelFromChannelList(channelIdToBeRemoved, true); + this.removeChannel(channelIdToBeRemoved, true); } private handleNewMessageNotification(clientEvent: ClientEvent) { @@ -1492,40 +1508,6 @@ export class ChannelService< this.channelsSubject.next([newChannel, ...currentChannels]); } - private removeChannelFromChannelList( - cid: string, - shouldStopWatching: boolean - ) { - const remainingChannels = this.channels.filter((c) => c.cid !== cid); - - if (shouldStopWatching) { - if (this.channelSubscriptions[cid]) { - this.channelSubscriptions[cid](); - delete this.channelSubscriptions.cid; - } - void this.chatClientService.chatClient.activeChannels[cid] - ?.stopWatching() - .catch((err) => - this.chatClientService.chatClient.logger( - 'warn', - 'Failed to unwatch channel', - err as Record - ) - ); - } - - if (remainingChannels.length < this.channels.length) { - this.channelsSubject.next(remainingChannels); - if (cid === this.activeChannelSubject.getValue()?.cid) { - if (remainingChannels.length > 0) { - this.setAsActiveChannel(remainingChannels[0]); - } else { - this.activeChannelSubject.next(undefined); - } - } - } - } - private watchForActiveChannelEvents(channel: Channel) { this.activeChannelSubscriptions.push( channel.on('message.new', (event) => { @@ -1849,9 +1831,9 @@ export class ChannelService< try { this.channelQueryStateSubject.next({ state: 'in-progress' }); - const { channels, hasMorePage } = await this.channelQuery.query( - queryType - ); + const { channels, hasMorePage } = await ('query' in this.channelQuery + ? this.channelQuery.query(queryType) + : this.channelQuery(queryType)); const filteredChannels = channels.filter( (channel, index) => !channels.slice(0, index).find((c) => c.cid === channel.cid) @@ -1869,8 +1851,7 @@ export class ChannelService< !filteredChannels.find((c) => c.cid === currentActiveChannel?.cid) ) { this.deselectActiveChannel(); - } - if ( + } else if ( filteredChannels.length > 0 && !currentActiveChannel && shouldSetActiveChannel @@ -2031,11 +2012,11 @@ export class ChannelService< } private handleChannelHidden(event: Event) { - this.removeChannelFromChannelList(event.channel!.cid, false); + this.removeChannel(event.channel!.cid, false); } private handleChannelDeleted(event: Event) { - this.removeChannelFromChannelList(event.channel!.cid, false); + this.removeChannel(event.channel!.cid, false); } private handleChannelVisible(event: Event, channel: Channel) { @@ -2262,4 +2243,29 @@ export class ChannelService< void channel.markRead(); } } + + private async _init(settings: { + shouldSetActiveChannel: boolean; + messagePageSize: number; + }) { + this.shouldSetActiveChannel = settings.shouldSetActiveChannel; + this.messagePageSize = settings.messagePageSize; + this.clientEventsSubscription = this.chatClientService.events$.subscribe( + (notification) => void this.handleNotification(notification) + ); + try { + const result = await this.queryChannels( + this.shouldSetActiveChannel, + 'first-page' + ); + return result; + } catch (error) { + this.dismissErrorNotification = + this.notificationService.addPermanentNotification( + 'streamChat.Error loading channels', + 'error' + ); + throw error; + } + } } diff --git a/projects/stream-chat-angular/src/lib/types.ts b/projects/stream-chat-angular/src/lib/types.ts index 720dcdc7..c1274fbd 100644 --- a/projects/stream-chat-angular/src/lib/types.ts +++ b/projects/stream-chat-angular/src/lib/types.ts @@ -426,7 +426,8 @@ export type FiltertNextPageConfiguration< export type NextPageConfiguration = | OffsetNextPageConfiguration - | FiltertNextPageConfiguration; + | FiltertNextPageConfiguration + | undefined; export type MessageReactionClickDetails = { messageId: string;