Skip to content

Commit af3d2b4

Browse files
Merge branch '26_1' into 26_1_global_format
2 parents 56681c1 + e3b9a86 commit af3d2b4

22 files changed

Lines changed: 1627 additions & 1592 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
This demo implements the DevExtreme Chat component with [Azure OpenAI](https://azure.microsoft.com/en-us/products/ai-services/openai-service) to stream AI-generated responses in real time. As the AI model produces output token by token, the Chat component renders the response incrementally inside a message bubble. A typing indicator appears while the response is being streamed, and the send button transforms into a stop button so that users can cancel an in-progress stream at any time.
2+
3+
The empty Chat displays custom suggestion cards. Clicking a card sends the corresponding prompt directly to the AI without extra user input.
4+
5+
<!--split-->
6+
7+
## Streaming AI Responses
8+
9+
The demo calls the Azure OpenAI Chat Completions API with `stream: true`. Incoming delta chunks are passed through a `createDelayedRenderer` queue that introduces a short display delay between chunks to produce a smooth typing effect. The demo appends each chunk to a growing buffer and updates the assistant message in the data store with every render cycle via a `dataSource.store().push(...)` call.
10+
11+
## Stopping a Stream
12+
13+
The demo creates an `AbortController` before each request and passes its `signal` (`AbortSignal`) to the Azure OpenAI SDK in the request options. When the user clicks the stop button, the demo calls `abortController.abort()` to cancel the in-progress HTTP request.
14+
15+
The [sendButtonOptions](/Documentation/ApiReference/UI_Components/dxChat/Configuration/#sendButtonOptions) property switches the button's `action` property to `'custom'` and the icon to `'stopfilled'` while streaming is active, then reverts to the default (send) configuration once streaming ends.
16+
17+
## Custom Empty View
18+
19+
The Chat component specifies an [emptyViewTemplate](/Documentation/ApiReference/UI_Components/dxChat/Configuration/#emptyViewTemplate) that replaces the default empty state with custom suggestion cards. Clicking a card creates a message and triggers the demo message sending flow directly, bypassing the text input.

apps/demos/Demos/DataGrid/AutoPopulatedColumns/Angular/app/app.service.ts

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -20,276 +20,276 @@ const orders: Order[] = [{
2020
StoreCity: 'Los Angeles',
2121
StoreState: 'California',
2222
Employee: 'Harv Mudd',
23-
OrderDate: '2014/04/10',
23+
OrderDate: '2024/04/10',
2424
}, {
2525
OrderNumber: 35711,
26-
OrderDate: '2014/01/12',
26+
OrderDate: '2024/01/12',
2727
SaleAmount: 16050,
2828
StoreState: 'California',
2929
StoreCity: 'San Jose',
3030
Employee: 'Jim Packard',
3131
}, {
3232
OrderNumber: 35714,
33-
OrderDate: '2014/01/22',
33+
OrderDate: '2024/01/22',
3434
SaleAmount: 14750,
3535
StoreState: 'Nevada',
3636
StoreCity: 'Las Vegas',
3737
Employee: 'Harv Mudd',
3838
}, {
3939
OrderNumber: 35983,
40-
OrderDate: '2014/02/07',
40+
OrderDate: '2024/02/07',
4141
SaleAmount: 3725,
4242
StoreState: 'Colorado',
4343
StoreCity: 'Denver',
4444
Employee: 'Todd Hoffman',
4545
}, {
4646
OrderNumber: 36987,
47-
OrderDate: '2014/03/11',
47+
OrderDate: '2024/03/11',
4848
SaleAmount: 14200,
4949
StoreState: 'Utah',
5050
StoreCity: 'Salt Lake City',
5151
Employee: 'Clark Morgan',
5252
}, {
5353
OrderNumber: 38466,
54-
OrderDate: '2014/03/01',
54+
OrderDate: '2024/03/01',
5555
SaleAmount: 7800,
5656
StoreState: 'California',
5757
StoreCity: 'Los Angeles',
5858
Employee: 'Harv Mudd',
5959
}, {
6060
OrderNumber: 39420,
61-
OrderDate: '2014/02/15',
61+
OrderDate: '2024/02/15',
6262
SaleAmount: 20500,
6363
StoreState: 'California',
6464
StoreCity: 'San Jose',
6565
Employee: 'Jim Packard',
6666
}, {
6767
OrderNumber: 39874,
68-
OrderDate: '2014/02/04',
68+
OrderDate: '2024/02/04',
6969
SaleAmount: 9050,
7070
StoreState: 'Nevada',
7171
StoreCity: 'Las Vegas',
7272
Employee: 'Harv Mudd',
7373
}, {
7474
OrderNumber: 42847,
75-
OrderDate: '2014/02/15',
75+
OrderDate: '2024/02/15',
7676
SaleAmount: 20400,
7777
StoreState: 'Wyoming',
7878
StoreCity: 'Casper',
7979
Employee: 'Todd Hoffman',
8080
}, {
8181
OrderNumber: 43982,
82-
OrderDate: '2014/05/29',
82+
OrderDate: '2024/05/29',
8383
SaleAmount: 6050,
8484
StoreState: 'Utah',
8585
StoreCity: 'Salt Lake City',
8686
Employee: 'Clark Morgan',
8787
}, {
8888
OrderNumber: 56272,
89-
OrderDate: '2014/05/16',
89+
OrderDate: '2024/05/16',
9090
SaleAmount: 15850,
9191
StoreState: 'Utah',
9292
StoreCity: 'Salt Lake City',
9393
Employee: 'Clark Morgan',
9494
}, {
9595
OrderNumber: 57429,
96-
OrderDate: '2014/04/11',
96+
OrderDate: '2023/12/31',
9797
SaleAmount: 11050,
9898
StoreState: 'Arizona',
9999
StoreCity: 'Phoenix',
100100
Employee: 'Clark Morgan',
101101
}, {
102102
OrderNumber: 58292,
103-
OrderDate: '2014/04/05',
103+
OrderDate: '2024/04/05',
104104
SaleAmount: 13500,
105105
StoreState: 'California',
106106
StoreCity: 'Los Angeles',
107107
Employee: 'Harv Mudd',
108108
}, {
109109
OrderNumber: 62427,
110-
OrderDate: '2014/05/17',
110+
OrderDate: '2024/05/17',
111111
SaleAmount: 23500,
112112
StoreState: 'Nevada',
113113
StoreCity: 'Las Vegas',
114114
Employee: 'Harv Mudd',
115115
}, {
116116
OrderNumber: 65977,
117-
OrderDate: '2014/02/13',
117+
OrderDate: '2024/02/13',
118118
SaleAmount: 2550,
119119
StoreState: 'Wyoming',
120120
StoreCity: 'Casper',
121121
Employee: 'Todd Hoffman',
122122
}, {
123123
OrderNumber: 66947,
124-
OrderDate: '2014/01/06',
124+
OrderDate: '2024/01/06',
125125
SaleAmount: 3500,
126126
StoreState: 'Utah',
127127
StoreCity: 'Salt Lake City',
128128
Employee: 'Clark Morgan',
129129
}, {
130130
OrderNumber: 68428,
131-
OrderDate: '2014/03/13',
131+
OrderDate: '2024/03/13',
132132
SaleAmount: 10500,
133133
StoreState: 'California',
134134
StoreCity: 'Los Angeles',
135135
Employee: 'Harv Mudd',
136136
}, {
137137
OrderNumber: 69477,
138-
OrderDate: '2014/01/22',
138+
OrderDate: '2024/01/22',
139139
SaleAmount: 14200,
140140
StoreState: 'California',
141141
StoreCity: 'Anaheim',
142142
Employee: 'Harv Mudd',
143143
}, {
144144
OrderNumber: 72947,
145-
OrderDate: '2014/03/05',
145+
OrderDate: '2024/03/05',
146146
SaleAmount: 13350,
147147
StoreState: 'Nevada',
148148
StoreCity: 'Las Vegas',
149149
Employee: 'Harv Mudd',
150150
}, {
151151
OrderNumber: 73088,
152-
OrderDate: '2014/01/21',
152+
OrderDate: '2024/01/21',
153153
SaleAmount: 8600,
154154
StoreState: 'Nevada',
155155
StoreCity: 'Reno',
156156
Employee: 'Clark Morgan',
157157
}, {
158158
OrderNumber: 76927,
159-
OrderDate: '2014/04/04',
159+
OrderDate: '2024/04/04',
160160
SaleAmount: 9800,
161161
StoreState: 'Utah',
162162
StoreCity: 'Salt Lake City',
163163
Employee: 'Clark Morgan',
164164
}, {
165165
OrderNumber: 77297,
166-
OrderDate: '2014/01/07',
166+
OrderDate: '2024/01/07',
167167
SaleAmount: 10850,
168168
StoreState: 'Arizona',
169169
StoreCity: 'Phoenix',
170170
Employee: 'Clark Morgan',
171171
}, {
172172
OrderNumber: 84744,
173-
OrderDate: '2014/05/20',
173+
OrderDate: '2024/05/20',
174174
SaleAmount: 4650,
175175
StoreState: 'Nevada',
176176
StoreCity: 'Las Vegas',
177177
Employee: 'Harv Mudd',
178178
}, {
179179
OrderNumber: 85028,
180-
OrderDate: '2014/02/08',
180+
OrderDate: '2024/02/08',
181181
SaleAmount: 2575,
182182
StoreState: 'Nevada',
183183
StoreCity: 'Reno',
184184
Employee: 'Clark Morgan',
185185
}, {
186186
OrderNumber: 87297,
187-
OrderDate: '2014/04/08',
187+
OrderDate: '2024/04/08',
188188
SaleAmount: 14200,
189189
StoreState: 'Wyoming',
190190
StoreCity: 'Casper',
191191
Employee: 'Todd Hoffman',
192192
}, {
193193
OrderNumber: 88027,
194-
OrderDate: '2014/05/18',
194+
OrderDate: '2024/05/18',
195195
SaleAmount: 13650,
196196
StoreState: 'Utah',
197197
StoreCity: 'Salt Lake City',
198198
Employee: 'Clark Morgan',
199199
}, {
200200
OrderNumber: 94726,
201-
OrderDate: '2014/02/23',
201+
OrderDate: '2024/02/23',
202202
SaleAmount: 20500,
203203
StoreState: 'California',
204204
StoreCity: 'San Jose',
205205
Employee: 'Jim Packard',
206206
}, {
207207
OrderNumber: 95266,
208-
OrderDate: '2014/03/18',
208+
OrderDate: '2024/03/18',
209209
SaleAmount: 9050,
210210
StoreState: 'Nevada',
211211
StoreCity: 'Las Vegas',
212212
Employee: 'Harv Mudd',
213213
}, {
214214
OrderNumber: 98477,
215-
OrderDate: '2014/05/08',
215+
OrderDate: '2024/05/08',
216216
SaleAmount: 23500,
217217
StoreState: 'Wyoming',
218218
StoreCity: 'Casper',
219219
Employee: 'Todd Hoffman',
220220
}, {
221221
OrderNumber: 99247,
222-
OrderDate: '2014/02/27',
222+
OrderDate: '2024/02/27',
223223
SaleAmount: 2100,
224224
StoreState: 'Utah',
225225
StoreCity: 'Salt Lake City',
226226
Employee: 'Clark Morgan',
227227
}, {
228228
OrderNumber: 174884,
229-
OrderDate: '2014/03/03',
229+
OrderDate: '2024/03/03',
230230
SaleAmount: 7200,
231231
StoreState: 'Colorado',
232232
StoreCity: 'Denver',
233233
Employee: 'Todd Hoffman',
234234
}, {
235235
OrderNumber: 188877,
236-
OrderDate: '2014/02/14',
236+
OrderDate: '2024/02/14',
237237
SaleAmount: 8750,
238238
StoreState: 'Arizona',
239239
StoreCity: 'Phoenix',
240240
Employee: 'Clark Morgan',
241241
}, {
242242
OrderNumber: 191883,
243-
OrderDate: '2014/02/28',
243+
OrderDate: '2024/02/28',
244244
SaleAmount: 9900,
245245
StoreState: 'California',
246246
StoreCity: 'Los Angeles',
247247
Employee: 'Harv Mudd',
248248
}, {
249249
OrderNumber: 192474,
250-
OrderDate: '2014/02/18',
250+
OrderDate: '2024/02/18',
251251
SaleAmount: 12800,
252252
StoreState: 'California',
253253
StoreCity: 'Anaheim',
254254
Employee: 'Harv Mudd',
255255
}, {
256256
OrderNumber: 193847,
257-
OrderDate: '2014/05/06',
257+
OrderDate: '2024/05/06',
258258
SaleAmount: 14100,
259259
StoreState: 'California',
260260
StoreCity: 'San Diego',
261261
Employee: 'Harv Mudd',
262262
}, {
263263
OrderNumber: 194877,
264-
OrderDate: '2014/03/17',
264+
OrderDate: '2024/03/17',
265265
SaleAmount: 4750,
266266
StoreState: 'California',
267267
StoreCity: 'San Jose',
268268
Employee: 'Jim Packard',
269269
}, {
270270
OrderNumber: 195746,
271-
OrderDate: '2014/02/04',
271+
OrderDate: '2024/02/04',
272272
SaleAmount: 9050,
273273
StoreState: 'Nevada',
274274
StoreCity: 'Las Vegas',
275275
Employee: 'Harv Mudd',
276276
}, {
277277
OrderNumber: 197474,
278-
OrderDate: '2014/01/17',
278+
OrderDate: '2024/01/17',
279279
SaleAmount: 6400,
280280
StoreState: 'Nevada',
281281
StoreCity: 'Reno',
282282
Employee: 'Clark Morgan',
283283
}, {
284284
OrderNumber: 198746,
285-
OrderDate: '2014/02/04',
285+
OrderDate: '2024/02/04',
286286
SaleAmount: 15700,
287287
StoreState: 'Colorado',
288288
StoreCity: 'Denver',
289289
Employee: 'Todd Hoffman',
290290
}, {
291291
OrderNumber: 214222,
292-
OrderDate: '2014/02/03',
292+
OrderDate: '2024/02/03',
293293
SaleAmount: 11050,
294294
StoreState: 'Arizona',
295295
StoreCity: 'Phoenix',

0 commit comments

Comments
 (0)