Skip to content

Commit 8136024

Browse files
authored
CardView: Field Template demo (#30079)
1 parent d74b366 commit 8136024

Some content is hidden

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

46 files changed

+8542
-515
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
::ng-deep .dx-cardview-card-header > div {
2+
width: 100%;
3+
}
Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,44 @@
1-
<dx-card-view id="cardView" [dataSource]="customers" keyExpr="ID">
1+
<dx-card-view [dataSource]="tasks" cardsPerRow="auto" [cardMinWidth]="260">
2+
<dxo-card-view-paging [pageSize]="12" />
3+
<dxo-card-view-card-header [visible]="true" template="headerTemplate" />
4+
25
<dxi-card-view-column
3-
*ngFor="let column of columns"
4-
[dataField]="column"
5-
></dxi-card-view-column>
6+
dataField="Task_Priority"
7+
caption="Priority"
8+
fieldValueTemplate="priorityTemplate"
9+
/>
10+
<dxi-card-view-column
11+
dataField="Task_Start_Date"
12+
caption="Start Date"
13+
dataType="date"
14+
/>
15+
<dxi-card-view-column
16+
dataField="Task_Due_Date"
17+
caption="End Date"
18+
dataType="date"
19+
/>
20+
<dxi-card-view-column
21+
dataField="Task_Assigned_Employee_ID"
22+
caption="Assigned to"
23+
fieldValueTemplate="assignedToTemplate"
24+
/>
25+
<dxi-card-view-column dataField="Task_Status" caption="Status" />
26+
<dxi-card-view-column
27+
dataField="Task_Completion"
28+
caption="Completed"
29+
fieldTemplate="progressTemplate"
30+
/>
31+
32+
<div *dxTemplate="let model of 'headerTemplate'">
33+
<card-header [text]="model.card.data.Task_Subject" />
34+
</div>
35+
<div *dxTemplate="let model of 'priorityTemplate'">
36+
<priority [priorityID]="model.field.value" />
37+
</div>
38+
<div *dxTemplate="let model of 'assignedToTemplate'">
39+
<employee [employeeID]="model.field.value" />
40+
</div>
41+
<div *dxTemplate="let model of 'progressTemplate'">
42+
<progress-bar [value]="model.field.value" />
43+
</div>
644
</dx-card-view>

apps/demos/Demos/CardView/FieldTemplate/Angular/app/app.component.ts

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
import { NgModule, Component, enableProdMode } from '@angular/core';
22
import { BrowserModule } from '@angular/platform-browser';
33
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
4-
import { DxCardViewModule } from 'devextreme-angular';
5-
import { Customer, Service } from './app.service';
4+
import {
5+
DxCardViewModule,
6+
DxTemplateModule,
7+
DxProgressBarModule,
8+
} from 'devextreme-angular';
9+
import { Task, Service } from './app.service';
10+
import { EmployeeService } from './employee.service';
11+
import { PriorityService } from './priority.service';
12+
import { CardHeader } from './card-header/card-header.component';
13+
import { PriorityComponent } from './priority/priority.component';
14+
import { EmployeeComponent } from './employee/employee.component';
15+
import { ProgressComponent } from './progress-bar/progress-bar.component';
616

717
if (!/localhost/.test(document.location.host)) {
818
enableProdMode();
@@ -17,24 +27,32 @@ if (window && window.config?.packageConfigPaths) {
1727
@Component({
1828
selector: 'demo-app',
1929
templateUrl: `.${modulePrefix}/app.component.html`,
30+
styleUrls: [`.${modulePrefix}/app.component.css`],
2031
providers: [Service],
2132
})
2233
export class AppComponent {
23-
customers: Customer[];
24-
25-
columns = ['CompanyName', 'City', 'State', 'Phone', 'Fax'];
34+
tasks: Task[];
2635

2736
constructor(service: Service) {
28-
this.customers = service.getCustomers();
37+
this.tasks = service.getTasks();
2938
}
3039
}
3140

3241
@NgModule({
3342
imports: [
3443
BrowserModule,
3544
DxCardViewModule,
45+
DxProgressBarModule,
46+
DxTemplateModule,
47+
],
48+
declarations: [
49+
AppComponent,
50+
CardHeader,
51+
PriorityComponent,
52+
EmployeeComponent,
53+
ProgressComponent,
3654
],
37-
declarations: [AppComponent],
55+
providers: [EmployeeService, PriorityService],
3856
bootstrap: [AppComponent],
3957
})
4058
export class AppModule { }

0 commit comments

Comments
 (0)