Skip to content

Commit e69936d

Browse files
Merge branch '26_1' into chore/26_1_fix_alerts
2 parents f5bbfd9 + b1d8bab commit e69936d

471 files changed

Lines changed: 13812 additions & 9400 deletions

File tree

Some content is hidden

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

‎apps/demos/Demos/Accordion/Overview/Angular/app/app.component.html‎

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<div id="accordion">
22
<dx-accordion
3-
#accordion
43
[dataSource]="companies"
5-
[collapsible]="false"
6-
[multiple]="false"
7-
[animationDuration]="300"
8-
[selectedItems]="[companies[0]]"
4+
[collapsible]="collapsible"
5+
[multiple]="multiple"
6+
[animationDuration]="animationDuration"
7+
[selectedItems]="selectedItems"
8+
(selectedItemsChange)="onSelectedItemsChange($event)"
99
id="accordion-container"
1010
>
1111
<div *dxTemplate="let company of 'title'">
@@ -41,20 +41,17 @@
4141
<div class="options">
4242
<div class="caption">Options</div>
4343
<div class="option">
44-
<dx-check-box
45-
text="Multiple enabled"
46-
[(value)]="accordion.multiple"
47-
></dx-check-box>
44+
<dx-check-box text="Multiple enabled" [(value)]="multiple"></dx-check-box>
4845
</div>
4946
<div class="option">
5047
<dx-check-box
5148
text="Collapsible enabled"
52-
[(value)]="accordion.collapsible"
49+
[(value)]="collapsible"
5350
></dx-check-box>
5451
</div>
5552
<div class="option">
5653
<span>Animation duration</span>
57-
<dx-slider [min]="0" [max]="1000" [(value)]="accordion.animationDuration">
54+
<dx-slider [min]="0" [max]="1000" [(value)]="animationDuration">
5855
<dxo-slider-tooltip
5956
[enabled]="true"
6057
position="bottom"
@@ -67,8 +64,8 @@
6764
<dx-tag-box
6865
[dataSource]="companies"
6966
displayExpr="CompanyName"
70-
[(value)]="accordion.selectedItems"
71-
[disabled]="!accordion.multiple"
67+
[(value)]="selectedItems"
68+
[disabled]="!multiple"
7269
[inputAttr]="{ 'aria-label': 'Company' }"
7370
></dx-tag-box>
7471
</div>

‎apps/demos/Demos/Accordion/Overview/Angular/app/app.component.ts‎

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {
2-
ChangeDetectionStrategy,
2+
ChangeDetectorRef,
33
Component,
44
enableProdMode,
55
provideZoneChangeDetection,
@@ -16,7 +16,6 @@ if (!/localhost/.test(document.location.host)) {
1616
}
1717

1818
@Component({
19-
changeDetection: ChangeDetectionStrategy.Eager,
2019
selector: 'demo-app',
2120
templateUrl: './app.component.html',
2221
styleUrls: ['./app.component.css'],
@@ -32,8 +31,22 @@ if (!/localhost/.test(document.location.host)) {
3231
export class AppComponent {
3332
companies: Company[];
3433

35-
constructor(service: Service) {
34+
selectedItems: Company[];
35+
36+
multiple = false;
37+
38+
collapsible = false;
39+
40+
animationDuration = 300;
41+
42+
constructor(service: Service, private changeDetectorRef: ChangeDetectorRef) {
3643
this.companies = service.getCompanies();
44+
this.selectedItems = [this.companies[0]];
45+
}
46+
47+
onSelectedItemsChange(items: Company[]) {
48+
this.selectedItems = items;
49+
this.changeDetectorRef.detectChanges();
3750
}
3851
}
3952

‎apps/demos/Demos/Charts/ClientSideDataProcessing/Angular/app/app.component.ts‎

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import {
2-
ChangeDetectionStrategy,
32
Component,
4-
AfterViewInit,
53
enableProdMode,
64
provideZoneChangeDetection,
75
inject,
@@ -19,7 +17,6 @@ if (!/localhost/.test(document.location.host)) {
1917
}
2018

2119
@Component({
22-
changeDetection: ChangeDetectionStrategy.Eager,
2320
selector: 'demo-app',
2421
templateUrl: './app.component.html',
2522
styleUrls: ['./app.component.css'],
@@ -28,28 +25,24 @@ if (!/localhost/.test(document.location.host)) {
2825
DxSelectBoxModule,
2926
],
3027
})
31-
export class AppComponent implements AfterViewInit {
28+
export class AppComponent {
3229
temperature: number[] = [2, 4, 6, 8, 9, 10, 11];
3330

3431
palette: string[] = ['#c3a2cc', '#b7b5e0', '#e48cba'];
3532

3633
paletteIndex = 0;
3734

38-
monthWeather = {} as DataSource;
39-
4035
http = inject(HttpClient);
4136

42-
ngAfterViewInit() {
43-
this.monthWeather = new DataSource({
44-
store: new CustomStore({
45-
load: () => lastValueFrom(this.http.get('../../../../data/monthWeather.json'))
46-
.catch(() => { throw new Error('Data Loading Error'); }),
47-
loadMode: 'raw',
48-
}),
49-
filter: ['t', '>', '2'],
50-
paginate: false,
51-
});
52-
}
37+
monthWeather = new DataSource({
38+
store: new CustomStore({
39+
load: () => lastValueFrom(this.http.get('../../../../data/monthWeather.json'))
40+
.catch(() => { throw new Error('Data Loading Error'); }),
41+
loadMode: 'raw',
42+
}),
43+
filter: ['t', '>', '2'],
44+
paginate: false,
45+
});
5346

5447
customizePoint = () => {
5548
const color = this.palette[this.paletteIndex];

‎apps/demos/Demos/Charts/SignalRService/Angular/app/app.component.html‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
<div ng-if="connectionStarted">
1+
@if (connectionStarted) {
2+
<div>
23
<dx-chart
34
id="chart"
45
[dataSource]="dataSource"
@@ -74,3 +75,4 @@
7475
</div>
7576
</dx-chart>
7677
</div>
78+
}

‎apps/demos/Demos/DataGrid/DeferredSelection/Angular/app/app.component.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
AfterViewInit,
55
enableProdMode,
66
provideZoneChangeDetection,
7-
ChangeDetectionStrategy,
7+
ChangeDetectorRef,
88
} from '@angular/core';
99
import { DxDataGridModule, DxDataGridComponent, DxButtonModule } from 'devextreme-angular';
1010
import { query } from 'devextreme-angular/common/data';
@@ -16,7 +16,6 @@ if (!/localhost/.test(document.location.host)) {
1616
}
1717

1818
@Component({
19-
changeDetection: ChangeDetectionStrategy.Eager,
2019
selector: 'demo-app',
2120
templateUrl: './app.component.html',
2221
styleUrls: ['./app.component.css'],
@@ -41,7 +40,7 @@ export class AppComponent implements AfterViewInit {
4140

4241
avgDuration = 0;
4342

44-
constructor() {
43+
constructor(private changeDetectorRef: ChangeDetectorRef) {
4544
const url = 'https://js.devexpress.com/Demos/NetCore/api/TreeListTasks';
4645

4746
this.tasksDataSource = AspNetData.createStore({
@@ -82,6 +81,7 @@ export class AppComponent implements AfterViewInit {
8281
.groupBy('Task_Assigned_Employee_ID')
8382
.toArray().length;
8483
this.avgDuration = Math.round(averageDurationInDays) || 0;
84+
this.changeDetectorRef.markForCheck();
8585
}
8686
}
8787

‎apps/demos/Demos/DataGrid/MultipleRecordSelectionModes/Angular/app/app.component.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { bootstrapApplication } from '@angular/platform-browser';
22
import { Component, enableProdMode, provideZoneChangeDetection } from '@angular/core';
33
import { DxDataGridModule, DxSelectBoxModule } from 'devextreme-angular';
4-
import themes, { isGeneric } from 'devextreme/ui/themes';
4+
import themes from 'devextreme/ui/themes';
55
import { Service, Sale } from './app.service';
66

77
if (!/localhost/.test(document.location.host)) {
@@ -29,7 +29,7 @@ export class AppComponent {
2929
constructor(service: Service) {
3030
this.sales = service.getSales();
3131
this.allMode = 'allPages';
32-
this.checkBoxesMode = isGeneric(themes.current()) ? 'onClick' : 'always';
32+
this.checkBoxesMode = themes.current().startsWith('generic') ? 'onClick' : 'always';
3333
}
3434
}
3535

‎apps/demos/Demos/DataGrid/MultipleRecordSelectionModes/React/App.tsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import DataGrid, {
88
Pager,
99
} from 'devextreme-react/data-grid';
1010
import { SelectBox } from 'devextreme-react/select-box';
11-
import themes, { isGeneric } from 'devextreme/ui/themes';
11+
import themes from 'devextreme/ui/themes';
1212
import { sales } from './data.ts';
1313

1414
const selectAllFieldLabel = { 'aria-label': 'Select All Mode' };
@@ -20,7 +20,7 @@ const selectAllModes = ['allPages', 'page'];
2020
const App = () => {
2121
const [allMode, setAllMode] = useState<DataGridTypes.SelectAllMode>('allPages');
2222
const [checkBoxesMode, setCheckBoxesMode] = useState<DataGridTypes.SelectionColumnDisplayMode>(
23-
isGeneric(themes.current()) ? 'onClick' : 'always',
23+
() => themes.current().startsWith('generic') ? 'onClick' : 'always',
2424
);
2525

2626
const onCheckBoxesModeChanged = useCallback(({ value }) => {

‎apps/demos/Demos/DataGrid/MultipleRecordSelectionModes/ReactJs/App.js‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import DataGrid, {
33
Column, Selection, FilterRow, Paging, Pager,
44
} from 'devextreme-react/data-grid';
55
import { SelectBox } from 'devextreme-react/select-box';
6-
import themes, { isGeneric } from 'devextreme/ui/themes';
6+
import themes from 'devextreme/ui/themes';
77
import { sales } from './data.js';
88

99
const selectAllFieldLabel = { 'aria-label': 'Select All Mode' };
@@ -12,8 +12,8 @@ const showCheckBoxesModes = ['none', 'onClick', 'onLongTap', 'always'];
1212
const selectAllModes = ['allPages', 'page'];
1313
const App = () => {
1414
const [allMode, setAllMode] = useState('allPages');
15-
const [checkBoxesMode, setCheckBoxesMode] = useState(
16-
isGeneric(themes.current()) ? 'onClick' : 'always',
15+
const [checkBoxesMode, setCheckBoxesMode] = useState(() =>
16+
themes.current().startsWith('generic') ? 'onClick' : 'always',
1717
);
1818
const onCheckBoxesModeChanged = useCallback(({ value }) => {
1919
setCheckBoxesMode(value);

‎apps/demos/Demos/DataGrid/MultipleRecordSelectionModes/Vue/App.vue‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,13 @@ import {
7272
DxPager,
7373
type DxDataGridTypes,
7474
} from 'devextreme-vue/data-grid';
75-
import themes, { isGeneric } from 'devextreme/ui/themes';
75+
import themes from 'devextreme/ui/themes';
7676
import { sales } from './data.ts';
7777
7878
const selectAllModes: DxDataGridTypes.SelectAllMode[] = ['allPages', 'page'];
7979
const showCheckBoxesModes: DxDataGridTypes.SelectionColumnDisplayMode[] = ['none', 'onClick', 'onLongTap', 'always'];
8080
const allMode = ref(selectAllModes[0]);
81-
const checkBoxesMode = ref<DxDataGridTypes.SelectionColumnDisplayMode>(isGeneric(themes.current()) ? 'onClick' : 'always');
81+
const checkBoxesMode = ref<DxDataGridTypes.SelectionColumnDisplayMode>(themes.current().startsWith('generic') ? 'onClick' : 'always');
8282
</script>
8383
<style>
8484
.options {

‎apps/demos/Demos/DataGrid/NewRecordPosition/Angular/app/app.component.ts‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import { ChangeDetectionStrategy, Component, enableProdMode, provideZoneChangeDetection } from '@angular/core';
1+
import {
2+
ChangeDetectorRef, Component, enableProdMode, provideZoneChangeDetection,
3+
} from '@angular/core';
24
import { bootstrapApplication } from '@angular/platform-browser';
35
import Guid from 'devextreme/core/guid';
46
import { CustomStore } from 'devextreme-angular/common/data';
@@ -13,7 +15,6 @@ if (!/localhost/.test(document.location.host)) {
1315
type FirstArgument<T> = T extends (...args: any) => any ? Parameters<T>[0] : never;
1416

1517
@Component({
16-
changeDetection: ChangeDetectionStrategy.Eager,
1718
selector: 'demo-app',
1819
templateUrl: './app.component.html',
1920
styleUrls: ['./app.component.css'],
@@ -38,7 +39,7 @@ export class AppComponent {
3839

3940
scrollingModeOptions: DxDataGridTypes.DataGridScrollMode[] = ['standard', 'virtual'];
4041

41-
constructor(service: Service) {
42+
constructor(service: Service, private changeDetectorRef: ChangeDetectorRef) {
4243
this.dataSource = service.getDataSource();
4344
}
4445

@@ -50,6 +51,7 @@ export class AppComponent {
5051
insertAfterKey: row.key,
5152
}];
5253
this.editRowKey = key;
54+
this.changeDetectorRef.markForCheck();
5355
};
5456

5557
isAddButtonVisible({ row }: FirstArgument<DxDataGridTypes.ColumnButton['visible']>) {

0 commit comments

Comments
 (0)