Skip to content

Commit d33e092

Browse files
Merge branch '25_1' of https://github.com/DevExpress/DevExtreme into 25_1
2 parents 0ee06c5 + 3524b57 commit d33e092

File tree

1,701 files changed

+5496
-1825
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,701 files changed

+5496
-1825
lines changed

.github/workflows/build_all.yml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,34 @@ jobs:
4949
run: pnpm run all:build
5050

5151
- name: Copy build artifacts
52-
uses: actions/upload-artifact@v3
52+
uses: actions/upload-artifact@v4
5353
with:
5454
name: devextreme-npm-packages
5555
path: |
5656
artifacts/npm/*.tgz
5757
retention-days: 1
58+
59+
custom_bundles:
60+
runs-on: devextreme-shr2
61+
needs: build
62+
63+
steps:
64+
- name: Download npm packages
65+
uses: actions/download-artifact@v4
66+
with:
67+
name: devextreme-npm-packages
68+
path: npm
69+
70+
- name: Move devextreme package
71+
run: mv ./npm/devextreme-2*.tgz ./devextreme.tgz
72+
73+
- name: Setup deps
74+
run: |
75+
npm init -y
76+
npm i webpack terser-webpack-plugin
77+
npm i ./devextreme.tgz
78+
79+
- name: Build bundle
80+
run: |
81+
npx devextreme-bundler-init custom-bundle
82+
npx devextreme-bundler custom-bundle

.github/workflows/demos_visual_tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ env:
2020

2121
jobs:
2222
build:
23-
runs-on: ubuntu-latest
23+
runs-on: ubuntu-22.04
2424
name: Build devextreme
2525
timeout-minutes: 20
2626

@@ -73,7 +73,7 @@ jobs:
7373
env:
7474
ACCESSIBILITY_TESTCAFE_REPORT_PATH: "accessibility_testcafe_report"
7575

76-
runs-on: ubuntu-latest
76+
runs-on: ubuntu-22.04
7777
name: ${{ matrix.CONSTEL }}-${{ matrix.STRATEGY }}-${{ matrix.THEME }}
7878
timeout-minutes: 30
7979

.github/workflows/demos_visual_tests_frameworks.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ env:
2020

2121
jobs:
2222
build-devextreme:
23-
runs-on: ubuntu-latest
23+
runs-on: ubuntu-22.04
2424
name: Build DevExtreme
2525
timeout-minutes: 40
2626

@@ -84,7 +84,7 @@ jobs:
8484
retention-days: 1
8585

8686
build-demos:
87-
runs-on: ubuntu-latest
87+
runs-on: ubuntu-22.04
8888
name: Build Demos
8989
timeout-minutes: 20
9090
needs: build-devextreme
@@ -156,7 +156,7 @@ jobs:
156156
retention-days: 1
157157

158158
get-changes:
159-
runs-on: ubuntu-latest
159+
runs-on: ubuntu-22.04
160160
name: Get changed demos
161161
timeout-minutes: 5
162162

@@ -185,7 +185,7 @@ jobs:
185185
- build-devextreme
186186
- get-changes
187187

188-
runs-on: ubuntu-latest
188+
runs-on: ubuntu-22.04
189189
timeout-minutes: 60
190190

191191
strategy:
@@ -271,7 +271,7 @@ jobs:
271271

272272
check_generated_demos:
273273
name: ${{ matrix.name }}
274-
runs-on: ubuntu-latest
274+
runs-on: ubuntu-22.04
275275
timeout-minutes: 10
276276
needs: build-demos
277277

@@ -361,7 +361,7 @@ jobs:
361361
CONSTEL: [react(1/4), react(2/4), react(3/4), react(4/4), vue(1/4), vue(2/4), vue(3/4), vue(4/4), angular(1/4), angular(2/4), angular(3/4), angular(4/4)]
362362
THEME: ['generic.light', 'material.blue.light', 'fluent.blue.light']
363363

364-
runs-on: ubuntu-latest
364+
runs-on: ubuntu-22.04
365365
name: testcafe-${{ matrix.CONSTEL }}-${{ matrix.THEME }}
366366
timeout-minutes: 60
367367

.github/workflows/testcafe_tests.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,10 @@ jobs:
124124
{ componentFolder: "scheduler/timezones", name: "scheduler (America/Los_Angeles)", timezone: "America/Los_Angeles" },
125125
{ componentFolder: "form", name: "form (1/2)", indices: "1/2" },
126126
{ componentFolder: "form", name: "form (2/2)", indices: "2/2" },
127-
{ componentFolder: "form", name: "form - material (1/2)", theme: 'material.blue.light', indices: "1/2" },
128-
{ componentFolder: "form", name: "form - material (2/2)", theme: 'material.blue.light', indices: "2/2" },
127+
{ componentFolder: "form", name: "form - material (1/4)", theme: 'material.blue.light', indices: "1/4" },
128+
{ componentFolder: "form", name: "form - material (2/4)", theme: 'material.blue.light', indices: "2/4" },
129+
{ componentFolder: "form", name: "form - material (3/4)", theme: 'material.blue.light', indices: "3/4" },
130+
{ componentFolder: "form", name: "form - material (4/4)", theme: 'material.blue.light', indices: "4/4" },
129131
{ componentFolder: "form", name: "form - fluent (1/2)", theme: 'fluent.blue.light', indices: "1/2" },
130132
{ componentFolder: "form", name: "form - fluent (2/2)", theme: 'fluent.blue.light', indices: "2/2" },
131133
{ componentFolder: "editors", name: "editors (1/2)", indices: "1/2" },

apps/demos/Demos/Chat/AIAndChatbotIntegration/Angular/app/app.component.css

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@
4444
margin-bottom: 0;
4545
}
4646

47-
::ng-deep .dx-chat-messagebubble-content ol,
48-
::ng-deep .dx-chat-messagebubble-content ul {
49-
white-space: normal;
50-
}
51-
5247
::ng-deep .dx-chat-messagebubble-content h1,
5348
::ng-deep .dx-chat-messagebubble-content h2,
5449
::ng-deep .dx-chat-messagebubble-content h3,

apps/demos/Demos/Chat/AIAndChatbotIntegration/Angular/app/app.service.ts

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import { unified } from 'unified';
55
import remarkParse from 'remark-parse';
66
import remarkRehype from 'remark-rehype';
77
import rehypeStringify from 'rehype-stringify';
8+
import rehypeMinifyWhitespace from 'rehype-minify-whitespace';
89
import {
910
User,
1011
Alert,
11-
MessageEnteredEvent
12+
MessageEnteredEvent,
1213
} from 'devextreme/ui/chat';
1314
import DataSource from 'devextreme/data/data_source';
1415
import CustomStore from 'devextreme/data/custom_store';
@@ -26,9 +27,10 @@ export class AppService {
2627
apiVersion: '2024-02-01',
2728
endpoint: 'https://public-api.devexpress.com/demo-openai',
2829
apiKey: 'DEMO',
29-
}
30+
};
3031

3132
REGENERATION_TEXT = 'Regeneration...';
33+
3234
ALERT_TIMEOUT = 1000 * 60;
3335

3436
user: User = {
@@ -41,7 +43,9 @@ export class AppService {
4143
};
4244

4345
store: any[] = [];
46+
4447
messages: any[] = [];
48+
4549
alerts: Alert[] = [];
4650

4751
customStore: CustomStore;
@@ -54,7 +58,7 @@ export class AppService {
5458

5559
constructor() {
5660
this.chatService = new AzureOpenAI(this.AzureOpenAIConfig);
57-
this.initDataSource()
61+
this.initDataSource();
5862
this.typingUsersSubject.next([]);
5963
this.alertsSubject.next([]);
6064
}
@@ -73,28 +77,24 @@ export class AppService {
7377
'dxChat-emptyListMessage': 'Chat is Empty',
7478
'dxChat-emptyListPrompt': 'AI Assistant is ready to answer your questions.',
7579
'dxChat-textareaPlaceholder': 'Ask AI Assistant...',
76-
}
77-
}
80+
},
81+
};
7882
}
7983

8084
initDataSource() {
8185
this.customStore = new CustomStore({
8286
key: 'id',
83-
load: () => {
84-
return new Promise((resolve) => {
85-
setTimeout(() => {
86-
resolve([...this.store]);
87-
}, 0);
87+
load: () => new Promise((resolve) => {
88+
setTimeout(() => {
89+
resolve([...this.store]);
90+
}, 0);
91+
}),
92+
insert: (message) => new Promise((resolve) => {
93+
setTimeout(() => {
94+
this.store.push(message);
95+
resolve(message);
8896
});
89-
},
90-
insert: (message) => {
91-
return new Promise((resolve) => {
92-
setTimeout(() => {
93-
this.store.push(message);
94-
resolve(message);
95-
});
96-
});
97-
},
97+
}),
9898
});
9999

100100
this.dataSource = new DataSource({
@@ -160,7 +160,7 @@ export class AppService {
160160

161161
alertLimitReached() {
162162
this.setAlerts([{
163-
message: 'Request limit reached, try again in a minute.'
163+
message: 'Request limit reached, try again in a minute.',
164164
}]);
165165

166166
setTimeout(() => {
@@ -189,6 +189,7 @@ export class AppService {
189189
const result = unified()
190190
.use(remarkParse)
191191
.use(remarkRehype)
192+
.use(rehypeMinifyWhitespace)
192193
.use(rehypeStringify)
193194
.processSync(value)
194195
.toString();

apps/demos/Demos/Chat/AIAndChatbotIntegration/React/Message.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import Button from 'devextreme-react/button';
33
import { unified } from 'unified';
44
import remarkParse from 'remark-parse';
55
import remarkRehype from 'remark-rehype';
6+
import rehypeMinifyWhitespace from 'rehype-minify-whitespace';
67
import rehypeStringify from 'rehype-stringify';
78
import HTMLReactParser from 'html-react-parser';
89

@@ -13,6 +14,7 @@ function convertToHtml(value: string): string {
1314
const result = unified()
1415
.use(remarkParse)
1516
.use(remarkRehype)
17+
.use(rehypeMinifyWhitespace)
1618
.use(rehypeStringify)
1719
.processSync(value)
1820
.toString();

apps/demos/Demos/Chat/AIAndChatbotIntegration/React/styles.css

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@
4444
margin-bottom: 0;
4545
}
4646

47-
.dx-chat-messagebubble-content ol,
48-
.dx-chat-messagebubble-content ul {
49-
white-space: normal;
50-
}
51-
5247
.dx-chat-messagebubble-content h1,
5348
.dx-chat-messagebubble-content h2,
5449
.dx-chat-messagebubble-content h3,

apps/demos/Demos/Chat/AIAndChatbotIntegration/ReactJs/Message.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import Button from 'devextreme-react/button';
33
import { unified } from 'unified';
44
import remarkParse from 'remark-parse';
55
import remarkRehype from 'remark-rehype';
6+
import rehypeMinifyWhitespace from 'rehype-minify-whitespace';
67
import rehypeStringify from 'rehype-stringify';
78
import HTMLReactParser from 'html-react-parser';
89
import { REGENERATION_TEXT } from './data.js';
@@ -11,6 +12,7 @@ function convertToHtml(value) {
1112
const result = unified()
1213
.use(remarkParse)
1314
.use(remarkRehype)
15+
.use(rehypeMinifyWhitespace)
1416
.use(rehypeStringify)
1517
.processSync(value)
1618
.toString();

apps/demos/Demos/Chat/AIAndChatbotIntegration/ReactJs/styles.css

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@
4444
margin-bottom: 0;
4545
}
4646

47-
.dx-chat-messagebubble-content ol,
48-
.dx-chat-messagebubble-content ul {
49-
white-space: normal;
50-
}
51-
5247
.dx-chat-messagebubble-content h1,
5348
.dx-chat-messagebubble-content h2,
5449
.dx-chat-messagebubble-content h3,

apps/demos/Demos/Chat/AIAndChatbotIntegration/Vue/App.vue

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@
2626
<div
2727
v-html="convertToHtml(data.message.text)"
2828
class="dx-chat-messagebubble-text"
29-
>
30-
</div>
29+
/>
3130
<div class="dx-bubble-button-container">
3231
<DxButton
3332
:icon="copyButtonIcon"
@@ -99,7 +98,7 @@ function toggleDisabledState(disabled, event = undefined) {
9998
} else {
10099
event?.target.focus();
101100
}
102-
};
101+
}
103102
104103
function updateLastMessage(text = REGENERATION_TEXT) {
105104
const items = dataSource.items();
@@ -148,7 +147,7 @@ async function processMessageSending(message, event) {
148147
149148
function alertLimitReached() {
150149
alerts.value = [{
151-
message: 'Request limit reached, try again in a minute.'
150+
message: 'Request limit reached, try again in a minute.',
152151
}];
153152
154153
setTimeout(() => {
@@ -185,7 +184,7 @@ function onCopyButtonClick(message) {
185184
copyButtonIcon.value = 'check';
186185
187186
setTimeout(() => {
188-
copyButtonIcon.value = 'copy';
187+
copyButtonIcon.value = 'copy';
189188
}, 2500);
190189
}
191190
@@ -245,11 +244,6 @@ function onRegenerateButtonClick() {
245244
margin-bottom: 0;
246245
}
247246
248-
.dx-chat-messagebubble-content ol,
249-
.dx-chat-messagebubble-content ul {
250-
white-space: normal;
251-
}
252-
253247
.dx-chat-messagebubble-content h1,
254248
.dx-chat-messagebubble-content h2,
255249
.dx-chat-messagebubble-content h3,

0 commit comments

Comments
 (0)