Skip to content

Commit bcd0aa6

Browse files
DataGrid FilteringAPI demo - remove odata
replace OData with local array
1 parent 8247784 commit bcd0aa6

File tree

11 files changed

+8378
-133
lines changed

11 files changed

+8378
-133
lines changed

apps/demos/Demos/DataGrid/FilteringAPI/Angular/app/app.component.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
id="gridContainer"
1717
[columnAutoWidth]="true"
1818
[dataSource]="tasks"
19+
keyExpr="Task_ID"
1920
[showBorders]="true"
2021
>
2122
<dxo-pager [visible]="true"></dxo-pager>
@@ -27,7 +28,7 @@
2728
></dxi-column>
2829
<dxi-column
2930
cssClass="employee"
30-
dataField="ResponsibleEmployee.Employee_Full_Name"
31+
dataField="Employee_Full_Name"
3132
dataType="string"
3233
caption="Assigned To"
3334
[allowSorting]="false"

apps/demos/Demos/DataGrid/FilteringAPI/Angular/app/app.component.ts

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
import {
2-
NgModule, Component, ViewChild, enableProdMode,
3-
} from '@angular/core';
1+
import { NgModule, Component, ViewChild, enableProdMode } from '@angular/core';
42
import { BrowserModule } from '@angular/platform-browser';
53
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
6-
7-
import { DataSourceOptions } from 'devextreme-angular/common/data';
84
import { DxDataGridComponent, DxDataGridModule, DxSelectBoxModule } from 'devextreme-angular';
5+
import { type DxSelectBoxTypes } from 'devextreme-angular/ui/select-box';
6+
7+
import { Service, Task } from './app.service';
98

109
if (!/localhost/.test(document.location.host)) {
1110
enableProdMode();
@@ -22,37 +21,25 @@ if (window && window.config?.packageConfigPaths) {
2221
templateUrl: `.${modulePrefix}/app.component.html`,
2322
styleUrls: [`.${modulePrefix}/app.component.css`],
2423
preserveWhitespaces: true,
24+
providers: [Service],
2525
})
26-
2726
export class AppComponent {
2827
@ViewChild(DxDataGridComponent, { static: false }) dataGrid: DxDataGridComponent;
2928

30-
statuses = ['All', 'Not Started', 'In Progress', 'Need Assistance', 'Deferred', 'Completed'];
29+
statuses: string[];
3130

32-
tasks: DataSourceOptions = {
33-
store: {
34-
type: 'odata',
35-
version: 2,
36-
url: 'https://js.devexpress.com/Demos/DevAV/odata/Tasks',
37-
key: 'Task_ID',
38-
},
39-
expand: 'ResponsibleEmployee',
40-
select: [
41-
'Task_ID',
42-
'Task_Subject',
43-
'Task_Start_Date',
44-
'Task_Due_Date',
45-
'Task_Status',
46-
'Task_Priority',
47-
'ResponsibleEmployee/Employee_Full_Name',
48-
],
49-
};
31+
tasks: Task[];
32+
33+
constructor(private service: Service) {
34+
this.statuses = this.service.getStatuses();
35+
this.tasks = this.service.getTasks();
36+
}
5037

51-
selectStatus({ value }) {
52-
if (value === 'All') {
38+
selectStatus(e: DxSelectBoxTypes.ValueChangedEvent) {
39+
if (e.value === 'All') {
5340
this.dataGrid.instance.clearFilter();
5441
} else {
55-
this.dataGrid.instance.filter(['Task_Status', '=', value]);
42+
this.dataGrid.instance.filter(['Task_Status', '=', e.value]);
5643
}
5744
}
5845
}

0 commit comments

Comments
 (0)