Skip to content

Commit c12f020

Browse files
authored
Chat: implement edited text element render (DevExpress#29759)
1 parent 9c355ac commit c12f020

Some content is hidden

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

49 files changed

+327
-6
lines changed

e2e/testcafe-devextreme/tests/chat/data/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ export const generateMessages = (
4040
useLineBreaks = false,
4141
coefficient = 4,
4242
n = 1,
43+
isEdited = false,
4344
): any => {
4445
const messages = Array.from({ length: length * n }, (_, i) => {
4546
const text = useLongText
@@ -58,6 +59,7 @@ export const generateMessages = (
5859
timestamp,
5960
author: getAuthor(),
6061
text,
62+
isEdited,
6163
};
6264

6365
return item;
20.1 KB
Loading
18.3 KB
Loading
19.6 KB
Loading

e2e/testcafe-devextreme/tests/chat/messageGroup.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,26 @@ test('Messagegroup scenarios in RTL mode', async (t) => {
170170
.expect(compareResults.isValid())
171171
.ok(compareResults.errorMessages());
172172
});
173+
174+
test('MessageGroup with edited messages', async (t) => {
175+
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
176+
177+
await testScreenshot(t, takeScreenshot, 'MessageGroup with edited messages.png', { element: '#chat' });
178+
179+
await t
180+
.expect(compareResults.isValid())
181+
.ok(compareResults.errorMessages());
182+
}).before(async () => {
183+
await appendElementTo('#container', 'div', 'chat');
184+
185+
const userFirst = createUser(1, 'First');
186+
const userSecond = createUser(2, 'Second');
187+
const items = generateMessages(2, userFirst, userSecond, false, false, 2, 2, true);
188+
189+
return createWidget('dxChat', {
190+
width: 400,
191+
height: 600,
192+
user: userSecond,
193+
items,
194+
}, '#chat');
195+
});

packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagegroup/_index.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@
1616
@include dx-overflow();
1717
}
1818

19+
.dx-chat-message-edited {
20+
display: flex;
21+
align-items: center;
22+
}
23+
1924
.dx-chat-messagegroup-time {
2025
white-space: nowrap;
2126
}

packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagegroup/_mixins.scss

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@use "../../../icons" as *;
2+
13
@mixin chat-messagegroup(
24
$messagegroup-gap,
35
$messagegroup-start-template,
@@ -6,7 +8,9 @@
68
$information-font-size,
79
$information-author-name-color,
810
$information-timestamp-color,
9-
$information-gap
11+
$information-gap,
12+
$information-icon-size,
13+
$information-edited-gap,
1014
) {
1115
.dx-chat-messagegroup {
1216
row-gap: $messagegroup-gap;
@@ -38,4 +42,15 @@
3842
font-size: $information-font-size;
3943
color: $information-author-name-color;
4044
}
45+
46+
.dx-chat-message-edited {
47+
font-size: $information-font-size;
48+
color: $information-author-name-color;
49+
column-gap: $information-edited-gap;
50+
51+
.dx-chat-message-edited-icon {
52+
@include dx-icon(edit);
53+
@include dx-icon-sizing($information-icon-size);
54+
}
55+
}
4156
}

packages/devextreme-scss/scss/widgets/fluent/chat/_index.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@
4848
$chat-information-author-name-color,
4949
$chat-information-timestamp-color,
5050
$chat-information-gap,
51+
$chat-information-icon-size,
52+
$chat-information-edited-gap,
5153
);
5254
@include chat-messagelist-empty(
5355
$chat-messagelist-padding,

packages/devextreme-scss/scss/widgets/fluent/chat/_sizes.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ $chat-messagegroup-alignment-start-template: auto 82.5% 1fr !default;
2424
$chat-messagegroup-alignment-start-gap: 12px !default;
2525
$chat-header-padding: 20px !default;
2626
$chat-information-font-size: 12px !default;
27+
$chat-information-icon-size: 12px !default;
28+
$chat-information-edited-gap: 2px !default;
2729

2830
$chat-alerts-padding-block: null !default;
2931
$chat-alerts-padding-inline: 8px !default;

packages/devextreme-scss/scss/widgets/generic/chat/_index.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@
5151
$chat-information-author-name-color,
5252
$chat-information-timestamp-color,
5353
$chat-information-gap,
54+
$chat-information-icon-size,
55+
$chat-information-edited-gap,
5456
);
5557
@include chat-messagelist-empty(
5658
$chat-messagelist-padding,

0 commit comments

Comments
 (0)