Skip to content

Commit 9cf642b

Browse files
authored
Scheduler: remove data prop in loader (#31087)
1 parent 4cdac4c commit 9cf642b

File tree

8 files changed

+26
-47
lines changed

8 files changed

+26
-47
lines changed

packages/devextreme/js/__internal/scheduler/r1/utils/__tests__/base.test.ts

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -473,32 +473,32 @@ describe('base utils', () => {
473473
.toEqual({
474474
groupPanelItems: [[{
475475
...groupsBase[0].items[0],
476-
data: groupsBase[0].data[0],
476+
data: groupsBase[0].items[0],
477477
resourceName: groupsBase[0].resourceName,
478478
key: '0_group1_1',
479479
}, {
480480
...groupsBase[0].items[1],
481-
data: groupsBase[0].data[1],
481+
data: groupsBase[0].items[1],
482482
resourceName: groupsBase[0].resourceName,
483483
key: '0_group1_2',
484484
}], [{
485485
...groupsBase[1].items[0],
486-
data: groupsBase[1].data[0],
486+
data: groupsBase[1].items[0],
487487
resourceName: groupsBase[1].resourceName,
488488
key: '0_group2_1',
489489
}, {
490490
...groupsBase[1].items[1],
491-
data: groupsBase[1].data[1],
491+
data: groupsBase[1].items[1],
492492
resourceName: groupsBase[1].resourceName,
493493
key: '0_group2_2',
494494
}, {
495495
...groupsBase[1].items[0],
496-
data: groupsBase[1].data[0],
496+
data: groupsBase[1].items[0],
497497
resourceName: groupsBase[1].resourceName,
498498
key: '1_group2_1',
499499
}, {
500500
...groupsBase[1].items[1],
501-
data: groupsBase[1].data[1],
501+
data: groupsBase[1].items[1],
502502
resourceName: groupsBase[1].resourceName,
503503
key: '1_group2_2',
504504
}]],
@@ -522,10 +522,12 @@ describe('base utils', () => {
522522
.toEqual({
523523
groupPanelItems: [[{
524524
...groups[0].items[0],
525+
data: groups[0].items[0],
525526
resourceName: groups[0].resourceName,
526527
key: '0_group1_1',
527528
}, {
528529
...groups[0].items[1],
530+
data: groups[0].items[1],
529531
resourceName: groups[0].resourceName,
530532
key: '0_group1_2',
531533
}]],
@@ -551,6 +553,7 @@ describe('base utils', () => {
551553
.toEqual({
552554
groupPanelItems: [[{
553555
...groups[0].items[0],
556+
data: groups[0].items[0],
554557
resourceName: groups[0].resourceName,
555558
key: '0_group1_1',
556559
}]],
@@ -565,84 +568,84 @@ describe('base utils', () => {
565568
.toEqual({
566569
groupPanelItems: [[{
567570
...groupsBase[0].items[0],
568-
data: groupsBase[0].data[0],
571+
data: groupsBase[0].items[0],
569572
resourceName: groupsBase[0].resourceName,
570573
key: '0_group1_1_group_by_date_0',
571574
isFirstGroupCell: true,
572575
isLastGroupCell: false,
573576
}, {
574577
...groupsBase[0].items[1],
575-
data: groupsBase[0].data[1],
578+
data: groupsBase[0].items[1],
576579
resourceName: groupsBase[0].resourceName,
577580
key: '0_group1_2_group_by_date_0',
578581
isFirstGroupCell: false,
579582
isLastGroupCell: true,
580583
}, {
581584
...groupsBase[0].items[0],
582-
data: groupsBase[0].data[0],
585+
data: groupsBase[0].items[0],
583586
resourceName: groupsBase[0].resourceName,
584587
key: '0_group1_1_group_by_date_1',
585588
isFirstGroupCell: true,
586589
isLastGroupCell: false,
587590
}, {
588591
...groupsBase[0].items[1],
589-
data: groupsBase[0].data[1],
592+
data: groupsBase[0].items[1],
590593
resourceName: groupsBase[0].resourceName,
591594
key: '0_group1_2_group_by_date_1',
592595
isFirstGroupCell: false,
593596
isLastGroupCell: true,
594597
}], [{
595598
...groupsBase[1].items[0],
596-
data: groupsBase[1].data[0],
599+
data: groupsBase[1].items[0],
597600
resourceName: groupsBase[1].resourceName,
598601
key: '0_group2_1_group_by_date_0',
599602
isFirstGroupCell: true,
600603
isLastGroupCell: false,
601604
}, {
602605
...groupsBase[1].items[1],
603-
data: groupsBase[1].data[1],
606+
data: groupsBase[1].items[1],
604607
resourceName: groupsBase[1].resourceName,
605608
key: '0_group2_2_group_by_date_0',
606609
isFirstGroupCell: false,
607610
isLastGroupCell: false,
608611
}, {
609612
...groupsBase[1].items[0],
610-
data: groupsBase[1].data[0],
613+
data: groupsBase[1].items[0],
611614
resourceName: groupsBase[1].resourceName,
612615
key: '1_group2_1_group_by_date_0',
613616
isFirstGroupCell: false,
614617
isLastGroupCell: false,
615618
}, {
616619
...groupsBase[1].items[1],
617-
data: groupsBase[1].data[1],
620+
data: groupsBase[1].items[1],
618621
resourceName: groupsBase[1].resourceName,
619622
key: '1_group2_2_group_by_date_0',
620623
isFirstGroupCell: false,
621624
isLastGroupCell: true,
622625
}, {
623626
...groupsBase[1].items[0],
624-
data: groupsBase[1].data[0],
627+
data: groupsBase[1].items[0],
625628
resourceName: groupsBase[1].resourceName,
626629
key: '0_group2_1_group_by_date_1',
627630
isFirstGroupCell: true,
628631
isLastGroupCell: false,
629632
}, {
630633
...groupsBase[1].items[1],
631-
data: groupsBase[1].data[1],
634+
data: groupsBase[1].items[1],
632635
resourceName: groupsBase[1].resourceName,
633636
key: '0_group2_2_group_by_date_1',
634637
isFirstGroupCell: false,
635638
isLastGroupCell: false,
636639
}, {
637640
...groupsBase[1].items[0],
638-
data: groupsBase[1].data[0],
641+
data: groupsBase[1].items[0],
639642
resourceName: groupsBase[1].resourceName,
640643
key: '1_group2_1_group_by_date_1',
641644
isFirstGroupCell: false,
642645
isLastGroupCell: false,
643646
}, {
644647
...groupsBase[1].items[1],
645-
data: groupsBase[1].data[1],
648+
data: groupsBase[1].items[1],
646649
resourceName: groupsBase[1].resourceName,
647650
key: '1_group2_2_group_by_date_1',
648651
isFirstGroupCell: false,

packages/devextreme/js/__internal/scheduler/r1/utils/base.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ export const getGroupPanelData = (
472472
.map((group) => {
473473
const result = [] as GroupRenderItem[];
474474
const {
475-
resourceName, resourceIndex, items, data,
475+
resourceName, resourceIndex, items,
476476
} = group;
477477

478478
for (let i = 0; i < repeatCount; i += 1) {
@@ -482,7 +482,7 @@ export const getGroupPanelData = (
482482
color,
483483
key: `${i}_${resourceIndex}_${stringifyId(id)}`,
484484
resourceName,
485-
data: data?.[index],
485+
data: items[index],
486486
}) as GroupRenderItem));
487487
}
488488

packages/devextreme/js/__internal/scheduler/utils/loader/loader.test.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,8 @@ describe('resource loader', () => {
3131

3232
await loader.load();
3333
expect(loader.items).toEqual(transformedData);
34-
expect(loader.data).toEqual(data);
3534
loader.dispose();
3635
expect(loader.items).toEqual([]);
37-
expect(loader.data).toEqual([]);
3836
expect(loader.dataSource?.items()).toBe(undefined);
3937
});
4038
});
@@ -50,10 +48,8 @@ describe('resource loader', () => {
5048

5149
await loader.load();
5250
expect(loader.items).toEqual(transformedData);
53-
expect(loader.data).toEqual(data);
5451
loader.dispose();
5552
expect(loader.items).toEqual([]);
56-
expect(loader.data).toEqual([]);
5753
expect(loader.dataSource?.items()).toBe(data);
5854
});
5955

@@ -72,7 +68,6 @@ describe('resource loader', () => {
7268
expect(loader.isLoaded()).toBe(false);
7369
await Promise.all([loader.load(), loader.load()]);
7470
await loader.load();
75-
expect(loader.data).toEqual(data);
7671
expect(loader.items).toEqual(transformedData);
7772
expect(loader.isLoaded()).toBe(true);
7873
expect(loadCount).toBe(1);
@@ -88,7 +83,6 @@ describe('resource loader', () => {
8883
const loader = new BaseLoader({ dataSource });
8984

9085
expect(loader.isLoaded()).toBe(true);
91-
expect(loader.data).toEqual(data);
9286
expect(loader.items).toEqual(transformedData);
9387
});
9488

@@ -100,7 +94,6 @@ describe('resource loader', () => {
10094

10195
await dataSource.load();
10296
expect(loader.isLoaded()).toBe(true);
103-
expect(loader.data).toEqual(data);
10497
expect(loader.items).toEqual(transformedData);
10598
});
10699
});

packages/devextreme/js/__internal/scheduler/utils/loader/loader.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ export abstract class Loader<T, Data, Config extends BaseConfig<T> = BaseConfig<
1414

1515
public items: Data[] = [];
1616

17-
public data: T[] = []; // TODO(9): probably we dont need it. Used in getGroupPanelData
18-
1917
protected readonly isSharedDataSource: boolean;
2018

2119
protected loadingStatePromise?: Promise<T[]>;
@@ -87,9 +85,8 @@ export abstract class Loader<T, Data, Config extends BaseConfig<T> = BaseConfig<
8785
}
8886

8987
protected applyChanges(items: T[]): void {
90-
if (items && items !== this.data) {
91-
this.data = items;
92-
this.items = this.onLoadTransform(this.data);
88+
if (items) {
89+
this.items = this.onLoadTransform(items);
9390
}
9491
}
9592

@@ -101,7 +98,6 @@ export abstract class Loader<T, Data, Config extends BaseConfig<T> = BaseConfig<
10198
} else {
10299
this.dataSource.dispose();
103100
}
104-
this.data = [];
105101
this.items = [];
106102
}
107103
}

packages/devextreme/js/__internal/scheduler/utils/loader/resource_loader.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ describe('resource loader', () => {
2727

2828
expect(loader.isLoaded()).toBe(false);
2929
await loader.load();
30-
expect(loader.data).toEqual(assigneeData);
3130
expect(loader.items).toEqual([
3231
{ id: 1, text: 'Samantha Bright', color: '#727bd2' },
3332
{ id: 2, text: 'John Heart', color: '#32c9ed' },
@@ -46,7 +45,6 @@ describe('resource loader', () => {
4645

4746
expect(loader.isLoaded()).toBe(false);
4847
await loader.load();
49-
expect(loader.data).toEqual(assigneeData);
5048
expect(loader.items).toEqual([
5149
{ id: 1, text: 'Samantha Bright', color: '#727bd2' },
5250
{ id: 2, text: 'John Heart', color: '#32c9ed' },

packages/devextreme/js/__internal/scheduler/utils/resource_manager/agenda_group_utils.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,11 @@ export const convertToOldTree = (
5959
const convert = (item: GroupNode): DeprecatedGroupNode => {
6060
const value = item.grouped[item.resourceIndex];
6161
const resource = resourceById[item.resourceIndex];
62-
const resourceData = resource?.data
63-
.find((rItem) => resource.dataAccessor.get('id', rItem) === value);
6462
const resourceItem = resource?.items
6563
.find((rItem) => rItem.id === value);
6664

6765
return {
68-
data: resourceData,
66+
data: resourceItem,
6967
name: item.resourceIndex,
7068
title: item.resourceText,
7169
value,

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,6 @@ QUnit.module('View with configuration', () => {
479479

480480
const groups = scheduler.instance._workSpace.option('groups');
481481
assert.equal(groups.length, 1, 'only one grouped resource');
482-
assert.deepEqual(groups[0].data, dataSource2, 'data is correct');
483482
assert.deepEqual(groups[0].items, dataSource2, 'items is correct');
484483
assert.equal(groups[0].resourceIndex, 'test2', 'index is correct');
485484
});

packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/integration.workSpace.tests.js

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -309,10 +309,6 @@ module('Integration: Work space', { ...moduleConfig }, () => {
309309
{ id: 1, text: 'One', color: undefined },
310310
{ id: 2, text: 'Two', color: undefined }
311311
], 'Groups items are OK');
312-
assert.deepEqual(workSpace.option('groups')[0].data, [
313-
{ key: 1, name: 'One' },
314-
{ key: 2, name: 'Two' }
315-
], 'Groups data are OK');
316312

317313
scheduler.instance.option('groups', ['resource2']);
318314
await waitAsync(0);
@@ -323,9 +319,6 @@ module('Integration: Work space', { ...moduleConfig }, () => {
323319
assert.deepEqual(workSpace.option('groups')[0].items, [
324320
{ id: 1, text: 'Room 1', color: undefined }
325321
], 'Groups items are OK');
326-
assert.deepEqual(workSpace.option('groups')[0].data, [
327-
{ id: 1, text: 'Room 1' }
328-
], 'Groups data are OK');
329322
});
330323

331324
test('updateScrollPosition should work correctly when groups were not set (T946739)', async function(assert) {
@@ -1705,7 +1698,6 @@ module('Resource Cell Template', () => {
17051698

17061699
assert.equal(templateOptions.id, 1, 'id option is OK');
17071700
assert.equal(templateOptions.text, 'John', 'text option is OK');
1708-
assert.deepEqual(templateOptions.data, { text: 'John', id: 1 }, 'data option is OK');
17091701
});
17101702

17111703
test('resourceCellTemplate should work correct in timeline view', async function(assert) {

0 commit comments

Comments
 (0)