From 8bed7a5954cdc2f6be54ac4e8ef8223fb208905f Mon Sep 17 00:00:00 2001 From: EugeniyKiyashko Date: Thu, 17 Oct 2024 04:22:18 +0400 Subject: [PATCH] Chat: data load indication (#28176) --- ...les with long text (fluent-blue-light).png | Bin 80073 -> 80331 bytes ...Bubbles with long text (generic-light).png | Bin 78773 -> 79030 bytes ...s with long text (material-blue-light).png | Bin 76108 -> 76359 bytes ...t with line breaks (fluent-blue-light).png | Bin 80001 -> 80303 bytes ... text with line breaks (generic-light).png | Bin 78604 -> 78871 bytes ...with line breaks (material-blue-light).png | Bin 76391 -> 76653 bytes ...nvisible container (fluent-blue-light).png | Bin 74660 -> 74479 bytes .../tests/chat/messageBubble.ts | 2 +- .../chat/layout/chat-messagelist/_index.scss | 15 ++ .../tests/data/dependencies.ts | 2 +- .../devextreme/js/__internal/ui/chat/chat.ts | 6 + .../js/__internal/ui/chat/messagelist.ts | 50 ++++-- .../chatParts/chat.tests.js | 165 +++++++++++------- .../chatParts/messageList.markup.tests.js | 38 +++- .../chatParts/messageList.tests.js | 141 +++++++++++---- .../DevExpress.ui/defaultOptions.tests.js | 1 + 16 files changed, 300 insertions(+), 120 deletions(-) diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Bubbles with long text (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Bubbles with long text (fluent-blue-light).png index 6e5284f4985c2a90bfe6694e5a641b64907e671f..50bcc841b5c4be2b1f27b7bed29d4afa8b2d2e3d 100644 GIT binary patch delta 9297 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 diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Bubbles with long text (material-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Bubbles with long text (material-blue-light).png index 07d52fb1389eae6915eb03e9cc497d9eeb241c2c..518530c20907161236f035a136fcc64be2a64034 100644 GIT binary patch delta 5776 zcmcIocT|(vwim}il#WOTF(9ZQT?idC^rB;dL8;PIFp$uTd@2H=OVQ97q$w&$5fZ8t z=>!p^cS4sM5JCy>u|BbL1K4@i02t zLx&EX;9-3G`1FUQ%r6-det9z%%TYJG*-8*u{`}Y>czPx_9*Rc{_dmHLuTma_ ztFBfHaNj)Ho+68-M3sG5+vx3hyPJNLEbr^*7wU!|5yr*EVm{pwMr8hCB5tMat1a@z zq@WhX$0p!2-uF~V8Sni4%!Zf!rg=UE>MPtEGeJ9zblm8pJffFK(Kc@rP5;ar8LR5d zh3dK+f3gi5lNQsG2Yq#N)9vd603m@%m?7po~ybK8tohP-4?01zt zBLX{4t$hxry_A~TV~IMMtKa+C8T;TQ4JTBWqa%Oqs$3LF6l;^Y)Gy5>4>ero<)QQN zyyo}mW&?RYK;m_R*8ZR$SB!G3>$WiSgS*y*N^-+=G>?&H7kv44aZ>UE@-*8qQrm|u zsr^ZAZxsOwPt928nUlq@to)dT&^l~P>BJ01#`Z*objn~9|CBXJN2Mg=@l{9B52ld0 z7L+V7pbMrVq?nO6~{E8H&GH(I|D?l`{Y4HB@|^iB-kB|xm+ zvFaWgGH`K`MCs}24HqqVQkHVdVm=Rkshf7IZfd-6<(G|Ax6n48q>jOgW#ZUMWw?f5 z(7{gUP=c%FG27$EL;p1w^ry+VY`2xjncCMuOm=(U&g7Ke#vtnU&`YX@HQuxW(IHPu zZJXfzd#oT3f;|IzOD9dctcD70`J5@35P3P4g>PBk!`@&>yZh$Xq{DYWOkiHZ6RUax zgP%X9_>ksZx`lYpo#kmF$F;$eajcNy&m6t&^@}9w%scW_OwE!|dE#c2g1s$^nsF$_UA8^vYWQyN6r2e);hHd}Ruog7zQ=Hz-f3oHlbrC2bn?wNed8puF3$ez(%xRK z7=FD7j~hXrmv~3qu~%T7MdNXP`vth&s3Ck&Ih)rtHcpFm)fWfeXU2M<3vZCKv+5Qt z&#@h!mOQVc?w#qAtO%w2(Ww{~rV#Ry5bx{Vmd@=`a|uqbf`gM@V<=@)6Vpj!{mGXG z)lKWC3WW204%AB33!me{*01gCk}bBRXVYi8)0?JFOPo7*tZc|=IClD=6&l;5r%b1F zcJV`@S8sXJ)ZkoHqo!87s+k8U4JMQ4TMgz{X1zw5QlO;HJ`~=3xQb#r{IF@s+{_{r zlu5V*S)dK7jQx|BU1N1gKHd-29B#Bbd|kM>?XSj$H1kkaKbY6guXL6`mL-Q7h~WbU zjD(-o+XU=3YcD_n>#_uSLT%tt+f41qO9W#bAxyKGU|ZWckGapM8DKCN#~&YP6Io2N zwIdf7t>POzBTS|l&-hcFpyS1|Knw#K8A4<8tT?IjXC|1;uZoX4KRuFaHtT?odkMh; zZ+v8Iw9()qzQuk!O#N5}dDI`0ppDQZy3Gr$R(#Y%5Zsx@y)KuB&`fI+A@az$G|PP8 z-BTNfA4(&L4Ay+EG!jSsC0u!FQ+Q(nhG~asSz~Hi1!1r|wSW5o{m9_|z*y+-yZ#?o zy;czVq3Hd%3(ybb?#EZZQw#lVi0pFoVrRUC{P^00Kc^S4)rH+w)&1krJhB4l8>t+jZv{wWlb?y?rZw zgyAQT~TR&)?V!;^GJUghVDu+Y7C8B-%lGW_&gc6Lye-Z-xw)Y^oX=sg_gy84pzQAD6_=iV<-vmsnL5!T5`0X>9*ZWU zkk2eX*j-C!XKrcfi>^$a6P)3nyeEP-gR*i6%`F3lV)Y_eGz8c+1c@4ZxQ{+ z+Vk@nI9x);<&gCd^}WZ+%ecU&3ZveEj%hx@y}c$y#l^4Rz01boxLC=)KpVPyda@l4 zTJ^0ua+s#lQZiSzo;$y?GUfYsPm%8{V^`|(Eh?G`1c#nizX;38%LCNcGb#*!EVGVbJHILN?7G!k3{`5OqP%2MdBWVaDD0T*M+bG z0yJDk+KB2zpsV40Ghmk`rKKQ3KuD%U4W~?q7^mpozklAPYLi1tOKW3uv(Rq~>Cm2_ z30==M&Mq%c!iAm?{nFJ{OGs6I{q}7GiVtgZiiY>FHyrF_?mX?G{9}Vv!onQd-^7_qOsY|~ZPm8Nf0_iii&m$=ujd$Mvuqo! z@=H{Es1zq+1Ve(_bRMltw3gDnb&CgZkp0faykU}DD9)xnxX_2>@T6Ao-o1O@28u%l ziXGj$v>;Aa1vF82)SqND>bIh*9l@mu2u#`YoApA^Yw=&-Kcc#i2E3=Xw|e>C`w@=u zR|ZEDfD|PqC0%1HFR#8g!8}j{sb^fp6cx$rkf7cD4bxk< z^siq(QEUB7SNM_?S5`?${E;TqS#j|!JU&sf_|B)}J0x!vfX7Q2ELNgt&ID0pWMp&= z4C<%RG0$GS(ALp8in?&&0;oNG0|Py99;&Oml$4wtDkd&Y1o06P5()(PAt=uB0dyH& zvavZ`Q1zV$5JG%>Jmd=O@4eUVu$jF5RTBc*92DqTc3A$qcac}mHe~6=%}Ih4p8{xt z&}C<53&W!>gBdzHIxx+qZSC#CY@we=MvMRf@>TohtI&iZ=^fhKWq7fJhg zeI0EXK(+^N4SaCo#N+W1T+&Yp;*y{w{b3N{x#eY%{Oam7N&PEVX4?Qmy??mt>A5m$ zB*i7n6Nx_m>5lXyh$`kyLBVYJm+tP++m+tZooc({k&%%qJ9C*4e2TGodFR3Y|IIIp zb92_a-!IOou~&u zxUU6cg~iZ;D7Cj6Mo8~v;<&M-(=_KHH@vxjqQ_#dO~gd`V!jYyqO2@olYH}**E5^G zp%pVpPR)R})Uj<^DSeCC0K-X1JZk$J*Liq(Ul$bQ=I2K}d2$%g&BcosdwP0S=X2Ak z)d%>(!^4A}o&7y>L@7er+-t-G(8ja)_=eW!VtN1pLK5u9*KSr?LXxOHb2mmZnY;lG zDl9Pt9O0iZ2pHhe6QKxFNk@eqf<{mXgx0o@Db3H~xg)d+9?T98IJHWi=6A zHzBoOwYyva`e|%Tj3yE((bCdVQd05^i`B8T6aejq`b%PB3#W&tCwlxN4XE+j1ZmsV z-Tj75Xk)`QZ+d1XHYLT-zoeE08S?-r%Zri0>RkV*B8*$hGPUZ0I8`)CMFzUb16*23~WGuIFD7Q zf^H(~K6kZxZmZ@%74#%(%)M4Dlai8f--_C#8m%KT0F@af%TJ*3XC)+Zs;W{uk`=C- zm^425nSM?Z0`sP&5!^aeL)xZag3Ac3rEh4Q=#?)cBOR}ao)xe2^BsV40h|^V9)8co z#gR1A5&!%-iad=yaXhFWhY|vbr%H#Oo~K}fSFbQY;DBo9RX~EM2gk>=15aG>=Ikd= zveF&V1vP@7O#|iMH8j*_AX(J_wZw_egAyWe)dOl9D6*$NckWySuR_$;7?iF~S&Pof z%{?*uzxq*VU3(Zo970u$0FnX0j+$~UN6G3^u?FbH%#7PA2ed%-19B&5d0+ban%Wa( z@f%+Z^j^Js^>J~t$QEj10!ZeTv7@7seqLUfB$_Y8zU{?Yzil+?V1FwvHujRe{TaZH zfJcl!goPakSO+BgTVY|$>C3@V9t$_}^75n_-}{r%rOpF&KQXIl$nn@WU|7X1%HxNJ z%_m<-S`l7cxa~du_$a_Ll{~Tyu(8R>2E#@6ZQfGf3Y%~TlwEL-kx^6>dshw+0sXOJ zhYlF1kBYJVs8nSy^r+9Qw0$c(6CYgT5?133xVOPHD}eg|%L1&1;G@39Y4;gE6>ll| z`#ookvq3Evy3b#uq%jGoH1m56*Did0)6(4hTTOYnQfpfqnX*+A-5;u*2~x_}bb4aB zVx@6v?Y;AW41yp6RE+KXm+X}DO;P-rxw%Jc#;ypme4Iw3%9Vj$M-p5`jZ>_Fbd{$f z4`ePbCgyR9@9k3OiS8@v_PuY-0QHOp>^`8jKCtg7%-(}**RTJ#s>4Qz(8xm_+{iCk zdT%W%UKD_R@(^9(l9F1#np#C-bpNjIv^fM+w{evBn_)FJJ+;ELJ%mK0F8Q zTaZPN&~c!zrw1-q!J!f1>#HOXeKfi$ux%Qg8VPEk440RYfE2;(cJ}sEMse-NGM}U2 s62Z0wHBHq{tvyRmkDh{WY#q=<5YlcqjQ!dV?wt?mX&EE(FIhkNFPd7+IRF3v delta 5662 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%0ArHF_KU@7Or2g2rGxHpi=zoZOm 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 diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Bubbles with long text with line breaks (generic-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Bubbles with long text with line breaks (generic-light).png index c59f6b41f731f543a1129b7d0de43bef3646eeb7..b013c66e7ebb6b6d56f3de51097c54bcc2ba3670 100644 GIT binary patch delta 7785 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 ycg|dKh$#4H411#3d`6{QmuQi`~`H<{JNtOJikX zzz|HUAg`WWBgv~QG7U?bXsKui-(@2%9-bMevc*xXa9mv65$EwCp_w57@JTldvAx(6 z0ElY=nCl8gk}IQFl>bHIA7#!qb`nfgUOQ=^yUa2!A@Q~9?mWZqk zAf}E~wSD!9n}g%LB{?f9*tRzl?y&(qwE$>o!B+1GUZoy7_3%?zJW0&cz{vf>-Oc#m%%!ff124?J)#HxrJ%hO zO39CzwzlR0fCmjY*j?3dbc7EN4>tf^x=syIhiV`YKtKEwz#!7r zmQU7wExih?5s?MZ`)ai0p`oGr?Hk-TBDZkr2n0`;JvJsG;XWE3be~H}Q-mQM(Bz}6 z`wvqco$E~uO;IfE#B4q_c_tMt9UbXrI6sg~o<^91dVMx(iO--3_vZ{XrQL4-&44&nB-Q^Zvn5in?(toG%*dGmLh?v&UMADn70 z(^JxeJ;?uaJQ`6y%`Pbk#dF*X+Q5NRZjNDL5Gc;N3mw|K1j>G^l`OG|8nTlZ0Ra&m z^|!mvZbr)73nEX|#wai=_#}Xieh@TjisjQ??EgalmtTNJSal|eTUlF+0%oBRyxiQ} zb|XchyMS`Tc96sjAU)U{z!5qs>58HrRkf+#1C}RoiVnDA3F2$4T$ESd0qq=Xjp4Pm zv*Q9mHsRpFYs_8}u7E*-k=zJbpi=3$JpkaU`0d-2q=5`FE;qp#I3X;Iv|8Xl-=n3a z#l_7He_C^nh@9b$sVT&INLbG@$Tz($E*>2l+wl7QMFx?l=R7?8v4ENOXC%i z@Bku;wBLV!&8Zee8L7(0&p(@sok+{ciO>bjGsljCPdINx>KGe$Y|b{Hk&5{$zWc`Q z=ahg8%+gM80sjmQ86B#2=si`umUZiD$@oTpl05X`i6cmU8=mBqIR`f#;3_Plv76B8@hzN4G^$9I0=FGgjDBr_f zszE^ga+jsLfm|b7dwU+{tA)?n=?3!6P$5SzR|P)*4wjGMtzVxH`{tYAW@=WR<+*s1 z8GRWrpt8TK($F&H?6`p%E`?)5RPCf81YaqkTri`OajpDlpl9 zpPa0rs!9Z>=Fwyq7DfT|oSBK&js=i22<$A6W&%J0D+n#6#zI~@zZw^NJ^|CyOc3#3 z9mU3AFxsG+L>bpxUkviCmwse)B#H&&yA?5!Op;s8iYHXK$?iWMetKNtCI}=oAzZjR zLC~mVqlwAkDRy*eqDnS~M@varCWsuD>|EHpbe0GH9_%-tK>$@Se*SRb_GUIn6Abq0 zO+7dq!7lskO$T>;l%XCc&N7_mp$^{{C#8IGDDBHjk~i zoVEB5aQ;Pp_gDG!Fp5RC>E!sZY^#kwTCC9T*bD4q46k-3m~Uz;?7!{kfHVPdU_Umk z_Qui49}z%2Y%UVB49Tun-UG<5drJb8mqc1@wi#uEpYIefDW?Itg0&xKQ1p|7{rL9p z9-{`2#Tl5kE}Q`vShcExnUj+!Fbx%DnG)NDojE(Jzc`Kmhx}cA0q_*LCP_g-0f>Hy-0VES1BgB1;^KgOAmzGEBNG6qZ!j@!?)zMk+9L(# z04xd^^VXKrzok&18UA<9{h2~T>Zfbg39|&~kcuigpY6ZRiT`+l@DH-{tcwgua6One z_)twF8M1mqH$CJ)CI+FrIt2JQsHJIn=SLr+PgzTg0^9-0=mih-_4R>B6VkmH!&Q`(f9fH!sIjA3e@5ifbG0bL@TH#==HL&?=hRgY%6Upp-~0;~3)p!8 delta 7516 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 C6q4Kk diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-blue-light).png index b17fa73d8c462ba92b2441786a584f7ee5ee41c6..27149b15c5f8c2dc8b10dfa2888b60e2af93b658 100644 GIT binary patch literal 74479 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

  • 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 NbnNNA#mzhDe*qbnztR8z diff --git a/e2e/testcafe-devextreme/tests/chat/messageBubble.ts b/e2e/testcafe-devextreme/tests/chat/messageBubble.ts index 98a1325b5abc..a39af085db57 100644 --- a/e2e/testcafe-devextreme/tests/chat/messageBubble.ts +++ b/e2e/testcafe-devextreme/tests/chat/messageBubble.ts @@ -35,6 +35,6 @@ test('Chat: messagebubble', async (t) => { return createWidget('dxChat', { width: 400, - height: 600, + height: 650, }, '#chat'); }); diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagelist/_index.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagelist/_index.scss index 674dcad5d7b3..fed1d5fc00c5 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagelist/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagelist/_index.scss @@ -22,6 +22,21 @@ } } } + + .dx-scrollview-bottom-pocket { + width: 100%; + } + + .dx-scrollview-scrollbottom-text { + margin: 0; + } +} + +.dx-chat-messagelist-empty { + .dx-scrollable-content { + align-items: center; + justify-content: center; + } } .dx-chat-messagelist-empty-view { diff --git a/packages/devextreme-themebuilder/tests/data/dependencies.ts b/packages/devextreme-themebuilder/tests/data/dependencies.ts index f99b1965535f..50227f3a43bf 100644 --- a/packages/devextreme-themebuilder/tests/data/dependencies.ts +++ b/packages/devextreme-themebuilder/tests/data/dependencies.ts @@ -16,7 +16,7 @@ export const dependencies: FlatStylesDependencies = { buttongroup: ['validation', 'button'], dropdownbutton: ['validation', 'button', 'buttongroup', 'popup', 'loadindicator', 'loadpanel', 'scrollview', 'list'], calendar: ['validation', 'button'], - chat: ['button', 'loadindicator', 'textbox', 'validation'], + chat: ['button', 'loadindicator', 'loadpanel', 'scrollview', 'textbox', 'validation'], checkbox: ['validation'], numberbox: ['validation', 'button', 'loadindicator'], colorbox: ['validation', 'button', 'loadindicator', 'numberbox', 'textbox', 'popup'], diff --git a/packages/devextreme/js/__internal/ui/chat/chat.ts b/packages/devextreme/js/__internal/ui/chat/chat.ts index 008235cbbbaf..dcbac0f0d6cc 100644 --- a/packages/devextreme/js/__internal/ui/chat/chat.ts +++ b/packages/devextreme/js/__internal/ui/chat/chat.ts @@ -67,6 +67,10 @@ class Chat extends Widget { this.option('items', newItems.slice()); } + _dataSourceLoadingChangedHandler(isLoading: boolean): void { + this._messageList?.option('isLoading', isLoading); + } + _dataSourceOptions(): DataSourceOptions { return { paginate: false }; } @@ -110,6 +114,8 @@ class Chat extends Widget { items, currentUserId, showDayHeaders, + // @ts-expect-error + isLoading: this._dataController.isLoading(), }); } diff --git a/packages/devextreme/js/__internal/ui/chat/messagelist.ts b/packages/devextreme/js/__internal/ui/chat/messagelist.ts index 549ac4bd8434..ab4c72f33e92 100644 --- a/packages/devextreme/js/__internal/ui/chat/messagelist.ts +++ b/packages/devextreme/js/__internal/ui/chat/messagelist.ts @@ -2,6 +2,7 @@ import Guid from '@js/core/guid'; import type { dxElementWrapper } from '@js/core/renderer'; import $ from '@js/core/renderer'; import resizeObserverSingleton from '@js/core/resize_observer'; +import { noop } from '@js/core/utils/common'; import dateUtils from '@js/core/utils/date'; import dateSerialization from '@js/core/utils/date_serialization'; import { isElementInDom } from '@js/core/utils/dom'; @@ -9,7 +10,7 @@ import { isDate, isDefined } from '@js/core/utils/type'; import messageLocalization from '@js/localization/message'; import { getScrollTopMax } from '@js/renovation/ui/scroll_view/utils/get_scroll_top_max'; import type { Message } from '@js/ui/chat'; -import Scrollable from '@js/ui/scroll_view/ui.scrollable'; +import ScrollView from '@js/ui/scroll_view'; import type { WidgetOptions } from '@js/ui/widget/ui.widget'; import type { OptionChanged } from '@ts/core/widget/types'; import Widget from '@ts/core/widget/widget'; @@ -19,6 +20,7 @@ import type { MessageGroupAlignment } from './messagegroup'; import MessageGroup from './messagegroup'; const CHAT_MESSAGELIST_CLASS = 'dx-chat-messagelist'; +const CHAT_MESSAGELIST_EMPTY_CLASS = 'dx-chat-messagelist-empty'; const CHAT_MESSAGELIST_EMPTY_VIEW_CLASS = 'dx-chat-messagelist-empty-view'; const CHAT_MESSAGELIST_EMPTY_IMAGE_CLASS = 'dx-chat-messagelist-empty-image'; @@ -33,6 +35,7 @@ export interface Properties extends WidgetOptions { items: Message[]; currentUserId: number | string | undefined; showDayHeaders: boolean; + isLoading?: boolean; } class MessageList extends Widget { @@ -42,7 +45,7 @@ class MessageList extends Widget { private _containerClientHeight!: number; - private _scrollable!: Scrollable; + private _scrollView!: ScrollView; _getDefaultOptions(): Properties { return { @@ -50,6 +53,7 @@ class MessageList extends Widget { items: [], currentUserId: '', showDayHeaders: true, + isLoading: false, }; } @@ -65,7 +69,7 @@ class MessageList extends Widget { super._initMarkup(); - this._renderScrollable(); + this._renderScrollView(); this._renderMessageListContent(); this._updateAria(); } @@ -97,12 +101,12 @@ class MessageList extends Widget { const heightChange = this._containerClientHeight - newHeight; const isHeightDecreasing = heightChange > 0; - let scrollTop = this._scrollable.scrollTop(); + let scrollTop = this._scrollView.scrollTop(); if (isHeightDecreasing) { scrollTop += heightChange; - this._scrollable.scrollTo({ top: scrollTop }); + this._scrollView.scrollTo({ top: scrollTop }); } } @@ -136,6 +140,7 @@ class MessageList extends Widget { } _removeEmptyView(): void { + this.$element().removeClass(CHAT_MESSAGELIST_EMPTY_CLASS); this._$content().empty(); } @@ -166,13 +171,16 @@ class MessageList extends Widget { this._messageGroups?.push(messageGroup); } - _renderScrollable(): void { + _renderScrollView(): void { const $scrollable = $('
    ') .appendTo(this.$element()); - this._scrollable = this._createComponent($scrollable, Scrollable, { + this._scrollView = this._createComponent($scrollable, ScrollView, { useKeyboard: false, bounceEnabled: false, + onReachBottom: noop, + reachBottomText: '', + indicateLoading: false, }); } @@ -218,9 +226,23 @@ class MessageList extends Widget { .appendTo(this._$content()); } + _updateLoadingState(isLoading: boolean): void { + if (!this._scrollView) { + return; + } + + // eslint-disable-next-line @typescript-eslint/no-floating-promises + this._scrollView.release(!isLoading); + } + _renderMessageListContent(): void { - if (this._isEmpty()) { + const { isLoading } = this.option(); + + this.$element().toggleClass(CHAT_MESSAGELIST_EMPTY_CLASS, this._isEmpty() && !isLoading); + + if (this._isEmpty() && !isLoading) { this._renderEmptyViewContent(); + this._updateLoadingState(false); return; } @@ -261,6 +283,10 @@ class MessageList extends Widget { this._createMessageGroupComponent(currentMessageGroupItems, currentMessageGroupUserId); } }); + + // @ts-expect-error + this._updateLoadingState(isLoading); + this._scrollContentToLastMessage(); } _renderMessage(message: Message): void { @@ -293,17 +319,17 @@ class MessageList extends Widget { } _$content(): dxElementWrapper { - return $(this._scrollable.content()); + return $(this._scrollView.content()); } _scrollContentToLastMessage(): void { - this._scrollable.scrollTo({ + this._scrollView.scrollTo({ top: getScrollTopMax(this._scrollableContainer()), }); } _scrollableContainer(): Element { - return $(this._scrollable.element()).find(`.${SCROLLABLE_CONTAINER_CLASS}`).get(0); + return $(this._scrollView.element()).find(`.${SCROLLABLE_CONTAINER_CLASS}`).get(0); } _isMessageAddedToEnd(value: Message[], previousValue: Message[]): boolean { @@ -391,6 +417,8 @@ class MessageList extends Widget { case 'showDayHeaders': this._invalidate(); break; + case 'isLoading': + break; default: super._optionChanged(args); } diff --git a/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/chat.tests.js b/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/chat.tests.js index 0dc5c61b5fc4..555881911e56 100644 --- a/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/chat.tests.js +++ b/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/chat.tests.js @@ -20,6 +20,7 @@ const CHAT_MESSAGEBOX_CLASS = 'dx-chat-messagebox'; const CHAT_MESSAGEBOX_BUTTON_CLASS = 'dx-chat-messagebox-button'; const CHAT_MESSAGEBOX_TEXTAREA_CLASS = 'dx-chat-messagebox-textarea'; const CHAT_MESSAGELIST_EMPTY_VIEW_CLASS = 'dx-chat-messagelist-empty-view'; +const SCROLLVIEW_REACHBOTTOM_INDICATOR = 'dx-scrollview-scrollbottom'; const TEXTEDITOR_INPUT_CLASS = 'dx-texteditor-input'; @@ -29,6 +30,8 @@ export const MOCK_COMPANION_USER_ID = 'COMPANION_USER_ID'; export const MOCK_CURRENT_USER_ID = 'CURRENT_USER_ID'; export const NOW = '1721747399083'; +const RELEASE_TIMEOUT = 800; + export const userFirst = { id: MOCK_COMPANION_USER_ID, name: 'First', @@ -454,13 +457,19 @@ QUnit.module('Chat', moduleConfig, () => { QUnit.module('Data Layer Integration', moduleConfig, () => { QUnit.test('Should render empty view container if dataSource is empty', function(assert) { + const done = assert.async(); + this.reinit({ dataSource: { store: new ArrayStore([]) } }); - assert.strictEqual(this.$element.find(`.${CHAT_MESSAGELIST_EMPTY_VIEW_CLASS}`).length, 1); + setTimeout(() => { + assert.strictEqual(this.$element.find(`.${CHAT_MESSAGELIST_EMPTY_VIEW_CLASS}`).length, 1); + + done(); + }, RELEASE_TIMEOUT); }); QUnit.test('Should remove or render empty view container after dataSource is updated at runtime', function(assert) { @@ -585,87 +594,115 @@ QUnit.module('Chat', moduleConfig, () => { }); QUnit.test('should render all messages correctly when using an asynchronous data source', function(assert) { - const clock = sinon.useFakeTimers(); - - try { - const messages = [{ text: 'message_1' }, { text: 'message_2' }]; - const timeout = 1000; - - const store = new CustomStore({ - load: function() { - const d = $.Deferred(); - setTimeout(function() { - d.resolve(messages); - }, timeout); - return d.promise(); - }, - }); + const done = assert.async(); + const messages = [{ text: 'message_1' }, { text: 'message_2' }]; + const timeout = 1000; + + const store = new CustomStore({ + load: function() { + const d = $.Deferred(); + setTimeout(function() { + d.resolve(messages); + }, timeout); + return d.promise(); + }, + }); - this.reinit({ - dataSource: store, - }); + this.reinit({ + dataSource: store, + }); - assert.strictEqual(this.getEmptyView().length, 1, 'empty messagelist view should be rendered'); - assert.strictEqual(this.getBubbles().length, 0, 'there should be no message bubbles rendered'); + const $indicator = this.$element.find(`.${SCROLLVIEW_REACHBOTTOM_INDICATOR}`); - clock.tick(timeout / 2); + assert.strictEqual(this.getEmptyView().length, 0, 'Empty view should not be rendered'); + assert.strictEqual(this.getBubbles().length, 0, 'No message bubbles should be rendered initially'); + assert.strictEqual($indicator.is(':visible'), true, 'Loading indicator is visible'); - assert.strictEqual(this.getEmptyView().length, 1, 'empty messagelist view should still be visible while data is loading'); + setTimeout(() => { + assert.strictEqual(this.getEmptyView().length, 0, 'empty messagelist view should still be not rendered while data is loading'); assert.strictEqual(this.getBubbles().length, 0, 'should still be no message bubbles rendered while data is loading'); + assert.strictEqual($indicator.is(':visible'), true, 'Loading indicator is visible'); - clock.tick(timeout / 2); - - assert.strictEqual(this.getEmptyView().length, 0, 'empty messagelist view should not be visible when data is loaded'); - assert.strictEqual(this.getBubbles().length, 2, 'message bubbles should be rendered when data is loaded'); + setTimeout(() => { + assert.strictEqual(this.getEmptyView().length, 0, 'empty messagelist view should not be rendered when data is loaded'); + assert.strictEqual(this.getBubbles().length, 2, 'Message bubbles rendered'); + assert.strictEqual($indicator.is(':visible'), false, 'Loading indicator is hidden'); - } finally { - clock.restore(); - } + done(); + }, timeout / 2); + }, timeout / 2); }); QUnit.test('new message should be rendered when using an asynchronous custom store', function(assert) { - const clock = sinon.useFakeTimers(); - - try { - const messages = [{ text: 'message_1' }, { text: 'message_2' }]; - const timeout = 1000; - - const store = new CustomStore({ - load: function() { - const d = $.Deferred(); - setTimeout(function() { - d.resolve(messages); - }, timeout); - return d.promise(); - }, - insert: function(values) { - const d = $.Deferred(); - - setTimeout(() => { - messages.push(values); - d.resolve(values); - }, timeout); + const done = assert.async(); + const messages = [{ text: 'message_1' }, { text: 'message_2' }]; + const timeout = 1000; + + const store = new CustomStore({ + load: function() { + const d = $.Deferred(); + setTimeout(function() { + d.resolve(messages); + }, timeout); + return d.promise(); + }, + insert: function(values) { + const d = $.Deferred(); - return d.promise(); - }, - }); + setTimeout(() => { + messages.push(values); + d.resolve(values); + }, timeout); - this.reinit({ - dataSource: store, - }); + return d.promise(); + }, + }); - clock.tick(timeout); + this.reinit({ + dataSource: store, + }); + setTimeout(() => { const newMessage = { text: 'message_3' }; this.instance.renderMessage(newMessage); - clock.tick(timeout * 2); + setTimeout(() => { + assert.deepEqual(this.instance.option('items'), messages, 'items option should contain all messages including the new one'); + assert.strictEqual(this.getBubbles().length, 3, 'new message should be rendered in list'); - assert.deepEqual(this.instance.option('items'), messages, 'items option should contain all messages including the new one'); - assert.strictEqual(this.getBubbles().length, 3, 'new message should be rendered in list'); - } finally { - clock.restore(); - } + done(); + }, timeout * 2); + }, timeout); + }); + + QUnit.test('Loading and Empty view should not be shown at the same time when the dataSource option changes', function(assert) { + const done = assert.async(); + const messages = [{ text: 'message_1' }, { text: 'message_2' }]; + const timeout = 400; + + const store = new CustomStore({ + load: function() { + const d = $.Deferred(); + setTimeout(function() { + d.resolve(messages); + }, timeout); + return d.promise(); + }, + }); + + this.reinit({ dataSource: store }); + + assert.strictEqual(this.getEmptyView().length, 0, 'empty view is not rendered'); + let $indicator = this.$element.find(`.${SCROLLVIEW_REACHBOTTOM_INDICATOR}`); + assert.strictEqual($indicator.is(':visible'), true, 'loading indicator is visible'); + + setTimeout(() => { + $indicator = this.$element.find(`.${SCROLLVIEW_REACHBOTTOM_INDICATOR}`); + assert.strictEqual($indicator.is(':visible'), false, 'loading indicator is hidden'); + assert.strictEqual(this.getEmptyView().length, 0, 'empty view was removed'); + + done(); + }, timeout * 2); }); }); }); diff --git a/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/messageList.markup.tests.js b/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/messageList.markup.tests.js index a7b08cf29732..d06844b66033 100644 --- a/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/messageList.markup.tests.js +++ b/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/messageList.markup.tests.js @@ -4,8 +4,8 @@ import MessageList from '__internal/ui/chat/messagelist'; const CHAT_MESSAGELIST_CLASS = 'dx-chat-messagelist'; const SCROLLABLE_CLASS = 'dx-scrollable'; -const SCROLLABLE_CONTENT_CLASS = 'dx-scrollable-content'; - +const SCROLLVIEW_CONTENT_CLASS = 'dx-scrollview-content'; +const CHAT_MESSAGELIST_EMPTY_CLASS = 'dx-chat-messagelist-empty'; const CHAT_MESSAGELIST_EMPTY_VIEW_CLASS = 'dx-chat-messagelist-empty-view'; const CHAT_MESSAGELIST_EMPTY_IMAGE_CLASS = 'dx-chat-messagelist-empty-image'; const CHAT_MESSAGELIST_EMPTY_MESSAGE_CLASS = 'dx-chat-messagelist-empty-message'; @@ -40,13 +40,39 @@ QUnit.module('MessageList', moduleConfig, () => { QUnit.test('should contain scrollable element', function(assert) { assert.strictEqual(this.$element.children().first().hasClass(SCROLLABLE_CLASS), true); }); - }); - QUnit.module('Empty view', () => { - QUnit.test('element should be placed inside of a scrollable content', function(assert) { - assert.strictEqual(this.$element.find(`.${SCROLLABLE_CONTENT_CLASS}`).children().first().hasClass(CHAT_MESSAGELIST_EMPTY_VIEW_CLASS), true); + QUnit.test('should have empty class if there are no messages', function(assert) { + this.reinit({ + items: [] + }); + + assert.strictEqual(this.$element.hasClass(CHAT_MESSAGELIST_EMPTY_CLASS), true); + }); + + QUnit.test('should not have empty class if there are no messages', function(assert) { + this.reinit({ + items: [{}] + }); + + assert.strictEqual(this.$element.hasClass(CHAT_MESSAGELIST_EMPTY_CLASS), false); }); + QUnit.test('empty should be toggled after items are updated at runtime', function(assert) { + this.instance.option('items', [{}]); + + assert.strictEqual(this.$element.hasClass(CHAT_MESSAGELIST_EMPTY_CLASS), false, 'messagelist empty class is removed'); + + this.instance.option('items', []); + + assert.strictEqual(this.$element.hasClass(CHAT_MESSAGELIST_EMPTY_CLASS), true, 'messagelist empty class is added'); + + this.instance.option('items', [{}, {}, {}]); + + assert.strictEqual(this.$element.hasClass(CHAT_MESSAGELIST_EMPTY_CLASS), false, 'messagelist empty class is removed'); + }); + }); + + QUnit.module('Empty view', () => { QUnit.test('container should be rendered if there are no messages', function(assert) { assert.strictEqual(this.$element.find(`.${CHAT_MESSAGELIST_EMPTY_VIEW_CLASS}`).length, 1); }); diff --git a/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/messageList.tests.js b/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/messageList.tests.js index aedaa33de593..5f688a9b9db8 100644 --- a/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/messageList.tests.js +++ b/packages/devextreme/testing/tests/DevExpress.ui.widgets/chatParts/messageList.tests.js @@ -1,7 +1,7 @@ import $ from 'jquery'; import MessageList, { MESSAGEGROUP_TIMEOUT } from '__internal/ui/chat/messagelist'; -import Scrollable from 'ui/scroll_view/ui.scrollable'; +import ScrollView from 'ui/scroll_view'; import { generateMessages, userFirst, @@ -19,7 +19,7 @@ const CHAT_MESSAGELIST_EMPTY_MESSAGE_CLASS = 'dx-chat-messagelist-empty-message' const CHAT_MESSAGELIST_EMPTY_PROMPT_CLASS = 'dx-chat-messagelist-empty-prompt'; const CHAT_MESSAGELIST_DAY_HEADER_CLASS = 'dx-chat-messagelist-day-header'; -const SCROLLABLE_CLASS = 'dx-scrollable'; +const SCROLLVIEW_REACHBOTTOM_INDICATOR = 'dx-scrollview-scrollbottom'; const MS_IN_DAY = 86400000; @@ -30,6 +30,7 @@ const getStringDate = (date) => { year: 'numeric', }).replace(/[/-]/g, '.'); }; +const SCROLLVIEW_CLASS = 'dx-scrollview'; const moduleConfig = { beforeEach: function() { @@ -40,10 +41,10 @@ const moduleConfig = { this.instance = new MessageList($(selector), options); this.$element = $(this.instance.$element()); - this.getScrollable = () => Scrollable.getInstance(this.$element.find(`.${SCROLLABLE_CLASS}`)); - this.getDayHeaders = () => $(this.getScrollable().content()).find(`.${CHAT_MESSAGELIST_DAY_HEADER_CLASS}`); + this.getScrollView = () => ScrollView.getInstance(this.$element.find(`.${SCROLLVIEW_CLASS}`)); + this.getDayHeaders = () => $(this.getScrollView().content()).find(`.${CHAT_MESSAGELIST_DAY_HEADER_CLASS}`); - this.scrollable = this.getScrollable(); + this.scrollView = this.getScrollView(); }; this.reinit = (options, selector) => { @@ -78,11 +79,11 @@ QUnit.module('MessageList', moduleConfig, () => { } }); - QUnit.test('scrollable should be rendered inside root element', function(assert) { - assert.ok(Scrollable.getInstance(this.$element.children().first()) instanceof Scrollable); + QUnit.test('scrollView should be rendered inside root element', function(assert) { + assert.ok(ScrollView.getInstance(this.$element.children().first()) instanceof ScrollView); }); - QUnit.test('Message Group should be rendered in the scrollable content', function(assert) { + QUnit.test('Message Group should be rendered in the scrollView content', function(assert) { const newMessage = { author: { id: MOCK_CURRENT_USER_ID }, timestamp: NOW, @@ -91,7 +92,7 @@ QUnit.module('MessageList', moduleConfig, () => { this.reinit({ items: [newMessage] }); - const $messageGroups = $(this.scrollable.content()).find(`.${CHAT_MESSAGEGROUP_CLASS}`); + const $messageGroups = $(this.scrollView.content()).find(`.${CHAT_MESSAGEGROUP_CLASS}`); assert.strictEqual($messageGroups.length, 1); }); @@ -105,7 +106,7 @@ QUnit.module('MessageList', moduleConfig, () => { this.instance.option({ items: [newMessage] }); - const $messageGroups = $(this.scrollable.content()).find(`.${CHAT_MESSAGEGROUP_CLASS}`); + const $messageGroups = $(this.scrollView.content()).find(`.${CHAT_MESSAGEGROUP_CLASS}`); assert.strictEqual($messageGroups.length, 1); }); @@ -123,7 +124,7 @@ QUnit.module('MessageList', moduleConfig, () => { this.instance.option({ items: [...items, newMessage] }); - const $messageGroups = $(this.scrollable.content()).find(`.${CHAT_MESSAGEGROUP_CLASS}`); + const $messageGroups = $(this.scrollView.content()).find(`.${CHAT_MESSAGEGROUP_CLASS}`); assert.strictEqual($messageGroups.length, 27); }); @@ -131,7 +132,7 @@ QUnit.module('MessageList', moduleConfig, () => { QUnit.test('Message Group should be rendered in the scrollable content after updating items at runtime', function(assert) { this.instance.option({ items: generateMessages(52) }); - const scrollableContent = this.getScrollable().content(); + const scrollableContent = this.getScrollView().content(); const $messageGroups = $(scrollableContent).find(`.${CHAT_MESSAGEGROUP_CLASS}`); assert.strictEqual($messageGroups.length, 26); @@ -302,7 +303,7 @@ QUnit.module('MessageList', moduleConfig, () => { }] }); - const $scrollableContent = $(this.scrollable.content()); + const $scrollableContent = $(this.getScrollView().content()); const $firstChild = $scrollableContent.children().first(); assert.strictEqual($firstChild.hasClass(CHAT_MESSAGEGROUP_CLASS), true, 'first message group is added before day header'); @@ -367,6 +368,50 @@ QUnit.module('MessageList', moduleConfig, () => { assert.strictEqual($dayHeaders.length, 1, 'day header is not removed after invalidate'); }); + + QUnit.test('loading indicator should be hidden if isLoading is set to false', function(assert) { + this.reinit({ + items: [], + isLoading: false + }); + + const $indicator = this.$element.find(`.${SCROLLVIEW_REACHBOTTOM_INDICATOR}`); + assert.strictEqual($indicator.is(':visible'), false); + }); + + QUnit.test('loading indicator should be shown if isLoading is set to true', function(assert) { + this.reinit({ + items: [], + isLoading: true + }); + + const $indicator = this.$element.find(`.${SCROLLVIEW_REACHBOTTOM_INDICATOR}`); + assert.strictEqual($indicator.is(':visible'), true); + }); + + QUnit.test('loading indicator should be hidden if isLoading is set to false and items is not empty', function(assert) { + this.reinit({ + items: [ + { author: { id: 'UserID' } }, + ], + isLoading: false + }); + + const $indicator = this.$element.find(`.${SCROLLVIEW_REACHBOTTOM_INDICATOR}`); + assert.strictEqual($indicator.is(':visible'), false); + }); + + QUnit.test('loading indicator should be shown if isLoading is set to true and items is not empty', function(assert) { + this.reinit({ + items: [ + { author: { id: 'UserID' } }, + ], + isLoading: true + }); + + const $indicator = this.$element.find(`.${SCROLLVIEW_REACHBOTTOM_INDICATOR}`); + assert.strictEqual($indicator.is(':visible'), true); + }); }); QUnit.module('MessageGroup integration', () => { @@ -716,11 +761,11 @@ QUnit.module('MessageList', moduleConfig, () => { }); }); - QUnit.module('Scrollable', { + QUnit.module('ScrollView', { beforeEach: function() { this.getScrollOffsetMax = () => { - const scrollable = this.getScrollable(); - return $(scrollable.content()).height() - $(scrollable.container()).height(); + const scrollView = this.getScrollView(); + return $(scrollView.content()).height() - $(scrollView.container()).height(); }; this._resizeTimeout = 40; }, @@ -729,10 +774,12 @@ QUnit.module('MessageList', moduleConfig, () => { const expectedOptions = { bounceEnabled: false, useKeyboard: false, + indicateLoading: false, + reachBottomText: '', }; Object.entries(expectedOptions).forEach(([key, value]) => { - assert.deepEqual(value, this.scrollable.option(key), `${key} value is correct`); + assert.deepEqual(value, this.scrollView.option(key), `${key} value is correct`); }); }); @@ -746,7 +793,7 @@ QUnit.module('MessageList', moduleConfig, () => { }); setTimeout(() => { - const scrollTop = this.scrollable.scrollTop(); + const scrollTop = this.scrollView.scrollTop(); assert.notEqual(scrollTop, 0, 'scroll position should not be 0 after initialization'); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after initialization'); @@ -764,7 +811,7 @@ QUnit.module('MessageList', moduleConfig, () => { this.instance.option('items', generateMessages(52)); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.notEqual(scrollTop, 0, 'scroll position should not be 0 after items are updated at runtime'); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after items are updated at runtime'); @@ -772,10 +819,30 @@ QUnit.module('MessageList', moduleConfig, () => { }); }); + QUnit.test('should be scrolled to last message if items changed at runtime with an invalidate call', function(assert) { + const done = assert.async(); + this.reinit({ + width: 300, + height: 500, + items: generateMessages(52) + }); + + setTimeout(() => { + this.instance.option('items', generateMessages(30)); + + const scrollTop = this.getScrollView().scrollTop(); + + assert.notEqual(scrollTop, 0, 'scroll position should not be 0 after items are updated at runtime'); + assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after items are updated at runtime'); + + done(); + }, this._resizeTimeout); + }); + [MOCK_CURRENT_USER_ID, MOCK_COMPANION_USER_ID].forEach(id => { const isCurrentUser = id === MOCK_CURRENT_USER_ID; - QUnit.test(`Scrollable should be scrolled to last message after render ${isCurrentUser ? 'current user' : 'companion'} message`, function(assert) { + QUnit.test(`ScrollView should be scrolled to last message after render ${isCurrentUser ? 'current user' : 'companion'} message`, function(assert) { const done = assert.async(); assert.expect(2); const items = generateMessages(31); @@ -796,7 +863,7 @@ QUnit.module('MessageList', moduleConfig, () => { this.instance.option('items', [...items, newMessage]); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.notEqual(scrollTop, 0, 'scroll position should not be 0 after a new message is rendered'); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after rendering the new message'); @@ -820,14 +887,14 @@ QUnit.module('MessageList', moduleConfig, () => { this.$element.css('height', 400); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.strictEqual(scrollTop, 0, 'scroll position should be 0 when the element is hidden'); $('#qunit-fixture').css('display', 'block'); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.notEqual(scrollTop, 0, 'scroll position should change after the element is made visible'); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after element becomes visible'); @@ -852,14 +919,14 @@ QUnit.module('MessageList', moduleConfig, () => { this.$element.css('height', 400); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.strictEqual(scrollTop, 0, 'scroll position should be 0 while the element is detached'); $messageList.appendTo('#qunit-fixture'); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.notEqual(scrollTop, 0, 'scroll position should change after the element is attached to the DOM'); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after attachment'); @@ -881,14 +948,14 @@ QUnit.module('MessageList', moduleConfig, () => { }); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after initialization'); this.instance.option('height', 300); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'max scroll position should be saved after reducing height'); @@ -909,14 +976,14 @@ QUnit.module('MessageList', moduleConfig, () => { }); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after initialization'); this.instance.option('height', 700); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'max scroll position should be saved after increasing height'); @@ -937,15 +1004,15 @@ QUnit.module('MessageList', moduleConfig, () => { }); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after initialization'); - this.getScrollable().scrollTo({ top: this.getScrollOffsetMax() - 200 }); + this.getScrollView().scrollTo({ top: this.getScrollOffsetMax() - 200 }); this.instance.option('height', 300); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, this.getScrollOffsetMax() - 200, 1, 'scroll position should be set correctly after reducing height'); @@ -966,16 +1033,16 @@ QUnit.module('MessageList', moduleConfig, () => { }); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1, 'scroll position should be at the bottom after initialization'); const newScrollTop = this.getScrollOffsetMax() - 200; - this.getScrollable().scrollTo({ top: newScrollTop }); + this.getScrollView().scrollTo({ top: newScrollTop }); this.instance.option('height', 600); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, newScrollTop, 1, 'scroll position should be saved correctly after increasing height'); @@ -998,11 +1065,11 @@ QUnit.module('MessageList', moduleConfig, () => { setTimeout(() => { const newScrollTop = this.getScrollOffsetMax() - 200; - this.getScrollable().scrollTo({ top: newScrollTop }); + this.getScrollView().scrollTo({ top: newScrollTop }); this.instance.option('height', 800); setTimeout(() => { - const scrollTop = this.getScrollable().scrollTop(); + const scrollTop = this.getScrollView().scrollTop(); assert.roughEqual(scrollTop, this.getScrollOffsetMax(), 1.01, 'scroll position should be limited to the max scrollable offset after increasing height'); diff --git a/packages/devextreme/testing/tests/DevExpress.ui/defaultOptions.tests.js b/packages/devextreme/testing/tests/DevExpress.ui/defaultOptions.tests.js index 1aead88821af..29b7d51eee39 100644 --- a/packages/devextreme/testing/tests/DevExpress.ui/defaultOptions.tests.js +++ b/packages/devextreme/testing/tests/DevExpress.ui/defaultOptions.tests.js @@ -1396,6 +1396,7 @@ testComponentDefaults(ChatMessageList, { currentUserId: '', showDayHeaders: true, + isLoading: false, } );