@tencent-rtc/mcp 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/package.json +1 -1
- package/resource/doc/chatuikit/react/components/chat.md +44 -0
- package/resource/doc/chatuikit/react/components/chatheader.md +189 -0
- package/resource/doc/chatuikit/react/components/conversation-list.md +1017 -0
- package/resource/doc/chatuikit/react/components/message-input.md +950 -0
- package/resource/doc/chatuikit/react/components/message-list.md +485 -0
- package/resource/doc/chatuikit/react/components/tuikit.md +80 -0
- package/resource/doc/chatuikit/react/create-group.md +23 -0
- package/resource/doc/chatuikit/react/login.md +26 -0
- package/resource/doc/chatuikit/vue/components/avatar.md +137 -0
- package/resource/doc/chatuikit/vue/components/chat.md +42 -0
- package/resource/doc/chatuikit/vue/components/chatheader.md +189 -0
- package/resource/doc/chatuikit/vue/components/component-list.md +102 -0
- package/resource/doc/chatuikit/vue/components/conversation-list.md +765 -0
- package/resource/doc/chatuikit/vue/components/message-input.md +1272 -0
- package/resource/doc/chatuikit/vue/components/message-list.md +662 -0
- package/resource/doc/chatuikit/vue/components/tuikit.md +45 -0
- package/resource/doc/chatuikit/vue/components/userpicker.md +315 -0
- package/resource/doc/chatuikit/vue/create-group.md +25 -0
- package/resource/doc/chatuikit/vue/integration.md +256 -0
- package/resource/doc/chatuikit/vue/login.md +31 -0
- package/tools/call/get-native-call-integration.js +35 -0
- package/tools/call/get-native-call-integration.js.map +1 -0
- package/tools/call/get-web-call-integration.js +35 -0
- package/tools/call/get-web-call-integration.js.map +1 -0
- package/tools/chat/create-group.js +30 -0
- package/tools/chat/create-group.js.map +1 -0
- package/tools/chat/get-native-chat-integration.js +34 -0
- package/tools/chat/get-native-chat-integration.js.map +1 -0
- package/tools/chat/get-web-chat-component-detail.js +8 -5
- package/tools/chat/get-web-chat-component-detail.js.map +1 -1
- package/tools/chat/get-web-chat-integration.js +37 -0
- package/tools/chat/get-web-chat-integration.js.map +1 -0
- package/tools/chat/get-web-chat-uikit-login.js +30 -0
- package/tools/chat/get-web-chat-uikit-login.js.map +1 -0
- package/tools/common/present-framework-choice.js +9 -19
- package/tools/common/present-framework-choice.js.map +1 -1
- package/tools/common/record-prompt.js +3 -4
- package/tools/common/record-prompt.js.map +1 -1
- package/tools/common/record-result.js +7 -7
- package/tools/common/record-result.js.map +1 -1
- package/tools/index.js +12 -8
- package/tools/index.js.map +1 -1
- package/utils/handle-component-name.js +12 -0
- package/utils/handle-component-name.js.map +1 -0
- package/utils/handle-framework.js +9 -0
- package/utils/handle-framework.js.map +1 -0
|
@@ -0,0 +1,1017 @@
|
|
|
1
|
+
# Component Overview
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
The `ConversationList` component is primarily responsible for the List function. It contains the Header part and List part, and has features such as conversation search, session creation, session pinning, and conversation deletion.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
This document introduces in detail the foundation usage, component customization, freely combine and the props parameter list of the component.
|
|
8
|
+
<table>
|
|
9
|
+
<tr>
|
|
10
|
+
<td rowspan="1" colSpan="1" >**Conversation List**</td>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<td rowspan="1" colSpan="1" >**Session Operation**</td>
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<td rowspan="1" colSpan="1" >**Conversation Search**</td>
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<td rowspan="1" colSpan="1" >**Create Session**</td>
|
|
20
|
+
</tr>
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<tr>
|
|
24
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
34
|
+
</tr>
|
|
35
|
+
</table>
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Component composition
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
The `ConversationList` component contains the following content:
|
|
44
|
+
-`ConversationSearch` - Conversation Search
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
- `ConversationList UI` - Conversation List Container
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
- `ConversationPreview` - Show Session Information
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
- `ConversationActions` - Conversation Action
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+

|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
## Basic usage
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
The `ConversationList` component has no required properties. You can use `ConversationList` with the following code.
|
|
65
|
+
``` typescript
|
|
66
|
+
import { UIKitProvider, ConversationList } from '@tencentcloud/chat-uikit-react';
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
const App = () => {
|
|
70
|
+
return (
|
|
71
|
+
<UIKitProvider>
|
|
72
|
+
<ConversationList />
|
|
73
|
+
</UIKitProvider>
|
|
74
|
+
);
|
|
75
|
+
};
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
## Custom components
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
`ConversationList` provides various dimensional Props APIs for user customization, allowing users to customize features, UI, modules and more.
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
The `ConversationList` component provides multiple replaceable subcomponents, allowing users to customize `Header`, `List`, `ConversationPreview`, `ConversationCreate`, `ConversationSearch`, `ConversationActions`, `Avatar`, `Placeholder`, and more. Meanwhile, users can also use default subcomponents for secondary development customization.
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### Basic feature switch
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
By setting the `enableSearch`, `enableCreate`, and `enableActions` parameters, you can flexibly control the display of conversation search, session creation, and conversation action features in `ConversationList`.
|
|
92
|
+
``` typescript
|
|
93
|
+
<ConversationList enableSearch={false} />
|
|
94
|
+
```
|
|
95
|
+
``` typescript
|
|
96
|
+
<ConversationList enableCreate={false} />
|
|
97
|
+
```
|
|
98
|
+
``` typescript
|
|
99
|
+
<ConversationList enableActions={false} />
|
|
100
|
+
```
|
|
101
|
+
<table>
|
|
102
|
+
<tr>
|
|
103
|
+
<td rowspan="1" colSpan="1" >`enableSearch={false}`</td>
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
<td rowspan="1" colSpan="1" >`enableCreate={false}`</td>
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
<td rowspan="1" colSpan="1" >`enableActions={false}`</td>
|
|
110
|
+
</tr>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
<tr>
|
|
114
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
121
|
+
</tr>
|
|
122
|
+
</table>
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
### Data filtering and sorting
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
The `ConversationList` component provides the `filterConversation` and `sortConversation` properties, allowing you to filter and sort the conversation list data.
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
#### Filter conversations
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
To filter conversation list data, you can pass a filter function to the `filterConversation` property. This function receives an array of `ConversationModel` as parameter and should return a new array that only contains conversations meeting your filter criteria.
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
Here is an example of using the `filterConversation` property to only display conversations with "unread messages":
|
|
140
|
+
``` typescript
|
|
141
|
+
import { ConversationList } from '@tencentcloud/chat-uikit-react';
|
|
142
|
+
import type { ConversationModel } from '@tencentcloud/chat-uikit-react';
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
<ConversationList
|
|
146
|
+
filter={(conversationList: ConversationModel[]) =>
|
|
147
|
+
conversationList.filter(conversation => conversation.unreadCount > 0)}
|
|
148
|
+
/>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
#### Sort conversations
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
To sort conversation list data, you can pass a sorting function to the `sortConversation` property. This function receives an array of `ConversationModel` as parameter and should return a new array with sessions sorted by your sorting criteria.
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
Here is an example of using the `sortConversation` property to sort the session list by "latest news time" in descending order:
|
|
159
|
+
``` typescript
|
|
160
|
+
import { ConversationList } from '@tencentcloud/chat-uikit-react';
|
|
161
|
+
import type { ConversationModel } from '@tencentcloud/chat-uikit-react';
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
<ConversationList
|
|
165
|
+
sort={(conversationList: ConversationModel[]) =>
|
|
166
|
+
conversationList.sort(
|
|
167
|
+
(a, b) => (+(b?.lastMessage?.lastTime || 0)) - (+(a?.lastMessage?.lastTime || 0)),
|
|
168
|
+
)}
|
|
169
|
+
/>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
By using the `filter` and `sort` properties, you can effectively filter and sort the conversation list data according to your needs.
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
### Custom actionsConfig
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
Leverages [actionsConfig](https://write.woa.com/document/157860973841612800) to control the basic feature of ConversationActions.
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
For more customization, see the [ConversationActions](https://write.woa.com/document/157860973841612800) chapter.
|
|
183
|
+
``` typescript
|
|
184
|
+
import { ConversationList } from '@tencentcloud/chat-uikit-react';
|
|
185
|
+
import type { ConversationModel } from '@tencentcloud/chat-uikit-react';
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
<ConversationList
|
|
189
|
+
actionsConfig={{
|
|
190
|
+
enablePin: false,
|
|
191
|
+
onConversationDelete: (conversation: ConversationModel) => { console.log('Delete conversation success'); },
|
|
192
|
+
customConversationActions: {
|
|
193
|
+
'custom-actions-1': {
|
|
194
|
+
label: 'custom-actions',
|
|
195
|
+
onClick: (conversation: ConversationModel) => { console.log(conversation); },
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
}}
|
|
199
|
+
/>
|
|
200
|
+
```
|
|
201
|
+
<table>
|
|
202
|
+
<tr>
|
|
203
|
+
<td rowspan="1" colSpan="1" >`enablePin: false`</td>
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
<td rowspan="1" colSpan="1" >`enableDelete: false`</td>
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
<td rowspan="1" colSpan="1" >`enableMute: false`</td>
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
<td rowspan="1" colSpan="1" >`customConversationActions`</td>
|
|
213
|
+
</tr>
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
<tr>
|
|
217
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
227
|
+
</tr>
|
|
228
|
+
</table>
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
### Custom Placeholder
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
You can customize the list display in different statuses by importing `PlaceholderEmptyList`, `PlaceholderLoading`, and `PlaceholderLoadError`.
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
Here is a custom `PlaceholderLoading` example:
|
|
240
|
+
``` typescript
|
|
241
|
+
import { ConversationList } from '@tencentcloud/chat-uikit-react';
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
<ConversationList
|
|
245
|
+
PlaceholderEmptyList={<div>Empty List!!!</div>}
|
|
246
|
+
/>
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
### Custom Header
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
`ConversationListHeader` is responsible for rendering the header part of `ConversationList`, serving as a wrapping layer to render the default `ConversationSearch` and `ConversationCreate`. You can customize it by importing left, right and other attributes, and you can also customize the entire component.
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
#### Props
|
|
257
|
+
<table>
|
|
258
|
+
<tr>
|
|
259
|
+
<td rowspan="1" colSpan="1" >**Parameter Name**</td>
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
<td rowspan="1" colSpan="1" >**Default Value**</td>
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
269
|
+
</tr>
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
<tr>
|
|
273
|
+
<td rowspan="1" colSpan="1" >children</td>
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
<td rowspan="1" colSpan="1" >`ReactNode`</td>
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
<td rowspan="1" colSpan="1" >Custom session list header center component.<br>When used in `<ConversationList>`, it imports `<ConversationSearch>` and `<ConversationCreate>` by default.</td>
|
|
283
|
+
</tr>
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
<tr>
|
|
287
|
+
<td rowspan="1" colSpan="1" >left</td>
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
<td rowspan="1" colSpan="1" >Custom session list header left-side component.</td>
|
|
297
|
+
</tr>
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
<tr>
|
|
301
|
+
<td rowspan="1" colSpan="1" >right</td>
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
<td rowspan="1" colSpan="1" >Custom session list header right-side component.</td>
|
|
311
|
+
</tr>
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
<tr>
|
|
315
|
+
<td rowspan="1" colSpan="1" >className</td>
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
<td rowspan="1" colSpan="1" >`String`</td>
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
<td rowspan="1" colSpan="1" >Specify the custom name for the root element's CSS class.</td>
|
|
325
|
+
</tr>
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
<tr>
|
|
329
|
+
<td rowspan="1" colSpan="1" >style</td>
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
<td rowspan="1" colSpan="1" >`React.CSSProperties`</td>
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
<td rowspan="1" colSpan="1" >Specify the custom style for the root element.</td>
|
|
339
|
+
</tr>
|
|
340
|
+
</table>
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
### Basic customization
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
Here is an example of adding a new function button on the right side of the Header Component.
|
|
347
|
+
``` typescript
|
|
348
|
+
import {
|
|
349
|
+
ConversationList,
|
|
350
|
+
ConversationListHeader,
|
|
351
|
+
} from '@tencentcloud/chat-uikit-react';
|
|
352
|
+
import type { ConversationListHeaderProps } from '@tencentcloud/chat-uikit-react';
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
const CustomConversationListHeader = (props: ConversationListHeaderProps) => {
|
|
356
|
+
const CustomIcon = <div>Custom Icon</div>;
|
|
357
|
+
return (
|
|
358
|
+
<ConversationListHeader {...props} right={CustomIcon} />
|
|
359
|
+
);
|
|
360
|
+
};
|
|
361
|
+
|
|
362
|
+
<ConversationList Header={CustomConversationListHeader} />
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
#### Advanced customization
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
Here is how to implement a simplified conversation grouping feature, distinguishing by All conversations, unread conversations, one-on-one chat sessions, and group chats across four key dimensions. Click different group buttons to execute different filtering rules.
|
|
370
|
+
<table>
|
|
371
|
+
<tr>
|
|
372
|
+
<td rowspan="1" colSpan="1" >**Before modification**</td>
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
<td rowspan="1" colSpan="1" >**Modified**</td>
|
|
376
|
+
</tr>
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
<tr>
|
|
380
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
384
|
+
</tr>
|
|
385
|
+
</table>
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
[React]
|
|
395
|
+
``` typescript
|
|
396
|
+
import { useState } from 'react';
|
|
397
|
+
import TUIChatEngine from '@tencentcloud/chat-uikit-engine';
|
|
398
|
+
import { ConversationList, UIKitProvider } from '@tencentcloud/chat-uikit-react';
|
|
399
|
+
import type { ConversationListHeaderProps, ConversationModel } from '@tencentcloud/chat-uikit-react';
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
const App = () => {
|
|
403
|
+
const [currentFilter, setCurrentFilter] = useState<string>('all');
|
|
404
|
+
const conversationGroupFilter: Record<string, (conversationList: ConversationModel[]) => ConversationModel[]> = {
|
|
405
|
+
all: (conversationList: ConversationModel[]) => conversationList,
|
|
406
|
+
unread: (conversationList: ConversationModel[]) => conversationList?.filter((item: ConversationModel) => item.unreadCount > 0),
|
|
407
|
+
c2c: (conversationList: ConversationModel[]) => conversationList?.filter((item: ConversationModel) => item.type === TUIChatEngine.TYPES.CONV_C2C),
|
|
408
|
+
group: (conversationList: ConversationModel[]) => conversationList?.filter((item: ConversationModel) => item.type === TUIChatEngine.TYPES.CONV_GROUP),
|
|
409
|
+
};
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
const CustomConversationListHeader = (props: IConversationListHeaderProps) => {
|
|
413
|
+
return (
|
|
414
|
+
<div className="conversation-group-wrapper">
|
|
415
|
+
<button className={currentFilter === 'all' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('all')}>All</button>
|
|
416
|
+
<button className={currentFilter === 'unread' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('unread')}>Unread</button>
|
|
417
|
+
<button className={currentFilter === 'c2c' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('c2c')}>C2C</button>
|
|
418
|
+
<button className={currentFilter === 'group' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('group')}>Group</button>
|
|
419
|
+
</div>
|
|
420
|
+
);
|
|
421
|
+
};
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
return (
|
|
425
|
+
<UIKitProvider>
|
|
426
|
+
<ConversationList
|
|
427
|
+
style={{ maxWidth: '300px', height: '600px' }}
|
|
428
|
+
Header={CustomConversationListHeader}
|
|
429
|
+
filter={conversationGroupFilter[currentFilter]}
|
|
430
|
+
/>
|
|
431
|
+
</UIKitProvider>
|
|
432
|
+
);
|
|
433
|
+
};
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
[CSS]
|
|
438
|
+
``` scss
|
|
439
|
+
.conversation-group-wrapper {
|
|
440
|
+
display: flex;
|
|
441
|
+
justify-content: space-around;
|
|
442
|
+
align-items: center;
|
|
443
|
+
margin: 10px;
|
|
444
|
+
font-size: 14px;
|
|
445
|
+
.btn-default{
|
|
446
|
+
display: flex;
|
|
447
|
+
padding: 5px 10px;
|
|
448
|
+
border: 1px solid #b3b3b4;
|
|
449
|
+
color: #3b3d43;
|
|
450
|
+
background-color: transparent;
|
|
451
|
+
border-radius: 2px;
|
|
452
|
+
}
|
|
453
|
+
.btn-active{
|
|
454
|
+
display: flex;
|
|
455
|
+
padding: 5px 10px;
|
|
456
|
+
border: 1px solid #1c66e5;
|
|
457
|
+
color: #1c66e5;
|
|
458
|
+
background-color: transparent;
|
|
459
|
+
border-radius: 2px;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
Custom List
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
`ConversationListContent` is responsible for the rendering work of the main list part in `ConversationList`.
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
Render the precomputed current session list `filteredAndSortedConversationList` from Context as the default wrapping layer.
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
#### Props
|
|
475
|
+
<table>
|
|
476
|
+
<tr>
|
|
477
|
+
<td rowspan="1" colSpan="1" >**Parameter Name**</td>
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
<td rowspan="1" colSpan="1" >**Default Value**</td>
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
487
|
+
</tr>
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
<tr>
|
|
491
|
+
<td rowspan="1" colSpan="1" >children</td>
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
<td rowspan="1" colSpan="1" >`ReactNode`</td>
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
<td rowspan="1" colSpan="1" >Custom session list content area component.<br>When used in `<ConversationList>`, it imports the `<Preview>` list traversed by `filteredAndSortedConversationList` by default.</td>
|
|
501
|
+
</tr>
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
<tr>
|
|
505
|
+
<td rowspan="1" colSpan="1" >empty</td>
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
<td rowspan="1" colSpan="1" >`false`</td>
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
<td rowspan="1" colSpan="1" >Conversation list identifier bit. When used in `<ConversationList>`, it judges `filteredAndSortedConversationList.length === 0` and imports it.</td>
|
|
515
|
+
</tr>
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
<tr>
|
|
519
|
+
<td rowspan="1" colSpan="1" >loading</td>
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
<td rowspan="1" colSpan="1" >`false`</td>
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
<td rowspan="1" colSpan="1" >Conversation list loading flag bit. When used in `<ConversationList>`, it uses `useConversationList()` to get `isLoading` and imports it.</td>
|
|
529
|
+
</tr>
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
<tr>
|
|
533
|
+
<td rowspan="1" colSpan="1" >error</td>
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
<td rowspan="1" colSpan="1" >`false`</td>
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
<td rowspan="1" colSpan="1" >Conversation list load error flag bit. When used in `<ConversationList>`, it uses `useConversationList()` to get `isLoadError` and imports it.</td>
|
|
543
|
+
</tr>
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
<tr>
|
|
547
|
+
<td rowspan="1" colSpan="1" >PlaceholderEmptyList</td>
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
<td rowspan="1" colSpan="1" >`ReactNode`</td>
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
<td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.NO_CONVERSATIONS} />`</td>
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
<td rowspan="1" colSpan="1" >Placeholder element when the custom session list is empty.</td>
|
|
557
|
+
</tr>
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
<tr>
|
|
561
|
+
<td rowspan="1" colSpan="1" >PlaceholderLoading</td>
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
<td rowspan="1" colSpan="1" >`ReactNode`</td>
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
<td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.LOADING} />`</td>
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
<td rowspan="1" colSpan="1" >Placeholder element for custom session list loading.</td>
|
|
571
|
+
</tr>
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
<tr>
|
|
575
|
+
<td rowspan="1" colSpan="1" >PlaceholderLoadError</td>
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
<td rowspan="1" colSpan="1" >`ReactNode`</td>
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
<td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.WRONG} />`</td>
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
<td rowspan="1" colSpan="1" >Placeholder element for custom session list load error.</td>
|
|
585
|
+
</tr>
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
<tr>
|
|
589
|
+
<td rowspan="1" colSpan="1" >className</td>
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
<td rowspan="1" colSpan="1" >`String`</td>
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
<td rowspan="1" colSpan="1" >Specify the custom name for the root element's CSS class.</td>
|
|
599
|
+
</tr>
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
<tr>
|
|
603
|
+
<td rowspan="1" colSpan="1" >style</td>
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
<td rowspan="1" colSpan="1" >`React.CSSProperties`</td>
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
<td rowspan="1" colSpan="1" >Specify the custom style for the root element.</td>
|
|
613
|
+
</tr>
|
|
614
|
+
</table>
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
Basic customization
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
The UI effects of the `List` component in different statuses are as follows. The trigger timing for each state is handled inside the `ConversationList`.
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
Meanwhile, you can control the component status through custom input of `empty`, `loading`, and `error`.
|
|
626
|
+
``` typescript
|
|
627
|
+
import { ConversationList, ConversationListContent } from '@tencentcloud/chat-uikit-react';
|
|
628
|
+
import type { ConversationListContentProps } from '@tencentcloud/chat-uikit-react';
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
const CustomConversationListContent = (props: ConversationListContentProps) => {
|
|
632
|
+
return <ConversationListContent {...props} loading={true} />;
|
|
633
|
+
};
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
<ConversationList List={CustomConversationListContent} />
|
|
637
|
+
```
|
|
638
|
+
<table>
|
|
639
|
+
<tr>
|
|
640
|
+
<td rowspan="1" colSpan="1" >`default`</td>
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
<td rowspan="1" colSpan="1" >`empty={true}`</td>
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
<td rowspan="1" colSpan="1" >`loading={true}`</td>
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
<td rowspan="1" colSpan="1" >`error={true}`</td>
|
|
650
|
+
</tr>
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
<tr>
|
|
654
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
664
|
+
</tr>
|
|
665
|
+
</table>
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
Custom ConversationPreview
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
For details, see the [ConversationPreview](https://write.woa.com/document/157860950620008448) chapter.
|
|
674
|
+
``` typescript
|
|
675
|
+
<ConversationList ConversationPreview={CustomConversationPreview} />
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
Custom ConversationActions
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
For details, see the [ConversationActions](https://write.woa.com/document/157860973841612800) chapter.
|
|
683
|
+
``` typescript
|
|
684
|
+
<ConversationList ConversationActions={CustomConversationActions} />
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
|
|
688
|
+
Custom ConversationSearch
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
For details, see the [ConversationSearch](https://write.woa.com/document/157860965047783424) chapter.
|
|
692
|
+
``` typescript
|
|
693
|
+
<ConversationList ConversationSearch={CustomConversationSearch} />
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
Create and Bind Policy Query Instance Reset Instance Access Password
|
|
698
|
+
``` typescript
|
|
699
|
+
<ConversationList ConversationCreate={CustomConversationCreate} />
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
Custom Avatar
|
|
704
|
+
``` typescript
|
|
705
|
+
<ConversationList Avatar={CustomAvatar} />
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
## APIs/Props
|
|
710
|
+
<table>
|
|
711
|
+
<tr>
|
|
712
|
+
<td rowspan="1" colSpan="1" >**Parameter Name**</td>
|
|
713
|
+
|
|
714
|
+
|
|
715
|
+
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
<td rowspan="1" colSpan="1" >**Default Value**</td>
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
722
|
+
</tr>
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
<tr>
|
|
726
|
+
<td rowspan="1" colSpan="1" >enableSearch</td>
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
<td rowspan="1" colSpan="1" >`true`</td>
|
|
733
|
+
|
|
734
|
+
|
|
735
|
+
<td rowspan="1" colSpan="1" >Whether to display the control session search feature.</td>
|
|
736
|
+
</tr>
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
<tr>
|
|
740
|
+
<td rowspan="1" colSpan="1" >enableCreate</td>
|
|
741
|
+
|
|
742
|
+
|
|
743
|
+
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
<td rowspan="1" colSpan="1" >`true`</td>
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
<td rowspan="1" colSpan="1" >Whether to display the control session creation feature.</td>
|
|
750
|
+
</tr>
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
<tr>
|
|
754
|
+
<td rowspan="1" colSpan="1" >enableActions</td>
|
|
755
|
+
|
|
756
|
+
|
|
757
|
+
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
758
|
+
|
|
759
|
+
|
|
760
|
+
<td rowspan="1" colSpan="1" >`true`</td>
|
|
761
|
+
|
|
762
|
+
|
|
763
|
+
<td rowspan="1" colSpan="1" >Whether to display the conversation action feature.</td>
|
|
764
|
+
</tr>
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
<tr>
|
|
768
|
+
<td rowspan="1" colSpan="1" >actionsConfig</td>
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
<td rowspan="1" colSpan="1" >`ConversationActionsConfig`</td>
|
|
772
|
+
|
|
773
|
+
|
|
774
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
<td rowspan="1" colSpan="1" >For custom session operation configuration.</td>
|
|
778
|
+
</tr>
|
|
779
|
+
|
|
780
|
+
|
|
781
|
+
<tr>
|
|
782
|
+
<td rowspan="1" colSpan="1" >Header</td>
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
<td rowspan="1" colSpan="1" >`Header`</td>
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
<td rowspan="1" colSpan="1" >Custom Header component.</td>
|
|
792
|
+
</tr>
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
<tr>
|
|
796
|
+
<td rowspan="1" colSpan="1" >List</td>
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
<td rowspan="1" colSpan="1" >`List`</td>
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
<td rowspan="1" colSpan="1" >Custom session list component.</td>
|
|
806
|
+
</tr>
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
<tr>
|
|
810
|
+
<td rowspan="1" colSpan="1" >Preview</td>
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
<td rowspan="1" colSpan="1" >[ConversationPreview](https://write.woa.com/document/157860950620008448)</td>
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
<td rowspan="1" colSpan="1" >Session preview component.</td>
|
|
820
|
+
</tr>
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
<tr>
|
|
824
|
+
<td rowspan="1" colSpan="1" >ConversationCreate</td>
|
|
825
|
+
|
|
826
|
+
|
|
827
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
<td rowspan="1" colSpan="1" >`ConversationCreate`</td>
|
|
831
|
+
|
|
832
|
+
|
|
833
|
+
<td rowspan="1" colSpan="1" >Custom conversation component.</td>
|
|
834
|
+
</tr>
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
<tr>
|
|
838
|
+
<td rowspan="1" colSpan="1" >ConversationSearch</td>
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
<td rowspan="1" colSpan="1" >[ConversationSearch](https://write.woa.com/document/157860965047783424)</td>
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
<td rowspan="1" colSpan="1" >Custom session search component.</td>
|
|
848
|
+
</tr>
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
<tr>
|
|
852
|
+
<td rowspan="1" colSpan="1" >ConversationActions</td>
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
<td rowspan="1" colSpan="1" >[ConversationActions](https://write.woa.com/document/157860973841612800)</td>
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
<td rowspan="1" colSpan="1" >Custom Conversation Operation Component.</td>
|
|
862
|
+
</tr>
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
<tr>
|
|
866
|
+
<td rowspan="1" colSpan="1" >Avatar</td>
|
|
867
|
+
|
|
868
|
+
|
|
869
|
+
<td rowspan="1" colSpan="1" >`ReactElement`</td>
|
|
870
|
+
|
|
871
|
+
|
|
872
|
+
<td rowspan="1" colSpan="1" >`Avatar`</td>
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
<td rowspan="1" colSpan="1" >Custom avatar component.</td>
|
|
876
|
+
</tr>
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
<tr>
|
|
880
|
+
<td rowspan="1" colSpan="1" >PlaceholderEmptyList</td>
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
<td rowspan="1" colSpan="1" >`ReactNode`</td>
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
<td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.NO_CONVERSATIONS} />`</td>
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
<td rowspan="1" colSpan="1" >Placeholder element when the custom session list is empty.</td>
|
|
890
|
+
</tr>
|
|
891
|
+
|
|
892
|
+
|
|
893
|
+
<tr>
|
|
894
|
+
<td rowspan="1" colSpan="1" >PlaceholderLoading</td>
|
|
895
|
+
|
|
896
|
+
|
|
897
|
+
<td rowspan="1" colSpan="1" >`ReactNode`</td>
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
<td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.LOADING} />`</td>
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
<td rowspan="1" colSpan="1" >Placeholder element for custom session list loading.</td>
|
|
904
|
+
</tr>
|
|
905
|
+
|
|
906
|
+
|
|
907
|
+
<tr>
|
|
908
|
+
<td rowspan="1" colSpan="1" >PlaceholderLoadError</td>
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
<td rowspan="1" colSpan="1" >`ReactNode`</td>
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
<td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.WRONG} />`</td>
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
<td rowspan="1" colSpan="1" >Placeholder element for custom session list load error.</td>
|
|
918
|
+
</tr>
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
<tr>
|
|
922
|
+
<td rowspan="1" colSpan="1" >filter</td>
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
<td rowspan="1" colSpan="1" >`(conversationList: ConversationModel[]) => ConversationModel[]`</td>
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
<td rowspan="1" colSpan="1" >Functions for filtering session list.</td>
|
|
932
|
+
</tr>
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
<tr>
|
|
936
|
+
<td rowspan="1" colSpan="1" >sort</td>
|
|
937
|
+
|
|
938
|
+
|
|
939
|
+
<td rowspan="1" colSpan="1" >`(conversationList: ConversationModel[]) => ConversationModel[]`</td>
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
<td rowspan="1" colSpan="1" >Functions for sorting session list.</td>
|
|
946
|
+
</tr>
|
|
947
|
+
|
|
948
|
+
|
|
949
|
+
<tr>
|
|
950
|
+
<td rowspan="1" colSpan="1" >onConversationSelect</td>
|
|
951
|
+
|
|
952
|
+
|
|
953
|
+
<td rowspan="1" colSpan="1" >`(conversation: ConversationModel) => void;`</td>
|
|
954
|
+
|
|
955
|
+
|
|
956
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
<td rowspan="1" colSpan="1" >Callback function when clicking a session, with the clicked conversation object as parameter.</td>
|
|
960
|
+
</tr>
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
<tr>
|
|
964
|
+
<td rowspan="1" colSpan="1" >onBeforeCreateConversation</td>
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
<td rowspan="1" colSpan="1" >`(params: CreateParams) => CreateParams;`</td>
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
971
|
+
|
|
972
|
+
|
|
973
|
+
<td rowspan="1" colSpan="1" >Custom action executed before session creation, with required parameters for creating a session.</td>
|
|
974
|
+
</tr>
|
|
975
|
+
|
|
976
|
+
|
|
977
|
+
<tr>
|
|
978
|
+
<td rowspan="1" colSpan="1" >onConversationCreate</td>
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
<td rowspan="1" colSpan="1" >`(conversation: ConversationModel) => void;`</td>
|
|
982
|
+
|
|
983
|
+
|
|
984
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
985
|
+
|
|
986
|
+
|
|
987
|
+
<td rowspan="1" colSpan="1" >Callback function after session creation, with the created session object as parameter.</td>
|
|
988
|
+
</tr>
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
<tr>
|
|
992
|
+
<td rowspan="1" colSpan="1" >className</td>
|
|
993
|
+
|
|
994
|
+
|
|
995
|
+
<td rowspan="1" colSpan="1" >`String`</td>
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
999
|
+
|
|
1000
|
+
|
|
1001
|
+
<td rowspan="1" colSpan="1" >Specify the custom name for the root element's CSS class.</td>
|
|
1002
|
+
</tr>
|
|
1003
|
+
|
|
1004
|
+
|
|
1005
|
+
<tr>
|
|
1006
|
+
<td rowspan="1" colSpan="1" >style</td>
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
<td rowspan="1" colSpan="1" >`React.CSSProperties`</td>
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
<td rowspan="1" colSpan="1" >-</td>
|
|
1013
|
+
|
|
1014
|
+
|
|
1015
|
+
<td rowspan="1" colSpan="1" >Specify the custom style for the root element.</td>
|
|
1016
|
+
</tr>
|
|
1017
|
+
</table>
|