Skip to content

Commit 8926ed9

Browse files
authored
Scheduler: T1322891 — fix Scrolling performance using a large dataset and many resources (#32747)
1 parent c83f4d7 commit 8926ed9

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

packages/devextreme/js/__internal/scheduler/m_subscribes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ const subscribes = {
143143
const groups = this.getViewOption('groups');
144144

145145
if (groups?.length) {
146-
if (allDay || !VERTICAL_VIEW_TYPES.includes(this.currentView.type)) {
146+
if (allDay || this.currentView.type === 'month') {
147147
const horizontalGroupBounds = this._workSpace.getGroupBounds(options.coordinates);
148148
return {
149149
left: horizontalGroupBounds.left,

packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/subscribes.tests.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -912,6 +912,51 @@ module('Grouping By Date', {
912912
assert.roughEqual(result.right, lastCellPosition.left + 1.5 * cellWidth, 3, 'Area right is OK');
913913
});
914914

915+
test('\'getResizableAppointmentArea\' should return undefined for not allDay appointments in grouped timeline view', async function(assert) {
916+
const priorityData = [
917+
{
918+
text: 'Low Priority',
919+
id: 1,
920+
color: '#1e90ff'
921+
}, {
922+
text: 'High Priority',
923+
id: 2,
924+
color: '#ff9747'
925+
}
926+
];
927+
await this.createInstance({
928+
currentView: 'timelineWeek',
929+
views: [{
930+
type: 'timelineWeek',
931+
name: 'timelineWeek',
932+
groupOrientation: 'horizontal'
933+
}],
934+
width: 800,
935+
currentDate: new Date(2018, 4, 21, 9, 0),
936+
groupByDate: true,
937+
groups: ['priorityId'],
938+
resources: [
939+
{
940+
fieldExpr: 'priorityId',
941+
allowMultiple: false,
942+
dataSource: priorityData,
943+
label: 'Priority'
944+
}
945+
],
946+
});
947+
948+
const result = this.instance.fire('getResizableAppointmentArea', {
949+
allDay: false,
950+
coordinates: {
951+
groupIndex: 1,
952+
left: 550,
953+
top: 0
954+
},
955+
});
956+
957+
assert.strictEqual(result, undefined, 'Area is undefined');
958+
});
959+
915960
test('\'getResizableStep\' should return correct step, groupByDate = true, Month view', async function(assert) {
916961
const priorityData = [
917962
{

0 commit comments

Comments
 (0)