Skip to content

Commit 6f8fe2d

Browse files
feat(summaries): new design for disabled summaries samples with full refactor
1 parent 53d76b0 commit 6f8fe2d

9 files changed

Lines changed: 815 additions & 414 deletions

src/app/grid/grid-disable-summaries/grid-disable-summaries.component.html

Lines changed: 50 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,60 @@
1-
<div class="grid__wrapper">
2-
<div class="summary-chooser">
3-
<igx-buttongroup
4-
[selectionMode]="'multi'"
5-
[values]="defaultSummaries"
6-
(selected)="disableDefaultSummary($event)"
7-
(deselected)="enableDefaultSummary($event)"
8-
></igx-buttongroup>
9-
</div>
1+
<div class="grid-wrapper">
2+
<div class="summaries">
3+
<h5 class="summaries-title">Disable Summaries for Column:</h5>
4+
<ng-container *ngFor="let column of columns; let i = index">
5+
<div class="summary-column-button">
6+
<button
7+
#toggleButton
8+
igxButton="outlined"
9+
(click)="toggle(i)"
10+
>
11+
{{ column.label }} ({{ getCheckedSummariesCount(column.summaries) }})
12+
</button>
13+
<div igxToggle>
14+
<div class="summaries-dropdown">
15+
<div>
16+
<p class="summaries-dropdown-title">
17+
Disabled Summaries
18+
</p>
19+
</div>
1020

11-
<div class="summary-chooser">
12-
<igx-buttongroup
13-
[selectionMode]="'multi'"
14-
[values]="customSummaries"
15-
(selected)="disableCustomSummary($event)"
16-
(deselected)="enableCustomSummary($event)"
17-
></igx-buttongroup>
18-
</div>
21+
<div class="summaries-dropdown-items">
22+
<igx-checkbox
23+
*ngFor="let summary of column.summaries; let i = index"
24+
class="summaries-dropdown-item"
25+
[checked]="summary.checked"
26+
(change)="toggleCheckbox($event, i, column)"
27+
>
28+
{{ summary.summaryLabel }}
29+
</igx-checkbox>
30+
</div>
1931

32+
<div class="summaries-dropdown-buttons">
33+
<button igxButton="flat" (click)="checkAllColumns(column)">
34+
Disable All
35+
</button>
36+
<button igxButton="flat" (click)="uncheckAllColumns(column)">
37+
Enable All
38+
</button>
39+
</div>
40+
</div>
41+
</div>
42+
</div>
43+
</ng-container>
44+
</div>
2045
<igx-grid
2146
[igxPreventDocumentScroll]="true"
2247
#grid1
2348
[data]="data"
2449
[autoGenerate]="false"
25-
height="600px"
50+
height="700px"
2651
width="100%"
2752
>
28-
<igx-column field="ProductID" header="Product ID"> </igx-column>
53+
<igx-column
54+
field="ProductID"
55+
header="Product ID"
56+
[hasSummary]="true"
57+
></igx-column>
2958
<igx-column
3059
field="ProductName"
3160
header="Product Name"
@@ -37,23 +66,22 @@
3766
header="Unit Price"
3867
dataType="number"
3968
[hasSummary]="true"
40-
[disabledSummaries]="['count', 'sum', 'average']"
4169
>
4270
</igx-column>
4371
<igx-column
4472
field="UnitsInStock"
4573
header="Units In Stock"
4674
dataType="number"
4775
[hasSummary]="true"
48-
[summaries]="discontinuedSummary"
49-
[disabledSummaries]="['total', 'totalDiscontinued']"
76+
[summaries]="unitsInStockSummary"
5077
>
5178
</igx-column>
5279
<igx-column
5380
field="Discontinued"
5481
header="Discontinued"
5582
[dataType]="'boolean'"
5683
[hasSummary]="true"
84+
[summaries]="discontinuedSummary"
5785
>
5886
</igx-column>
5987
<igx-column
Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,48 @@
1-
.grid__wrapper {
1+
.grid-wrapper {
22
margin: 0 auto;
33
padding: 16px;
4-
}
54

6-
.summary-chooser {
7-
margin-bottom: 16px;
5+
.summaries {
6+
margin-bottom: 3rem;
7+
display: flex;
8+
align-items: center;
9+
flex-wrap: wrap;
10+
11+
&-title {
12+
margin: 0 1rem 0 0;
13+
}
14+
15+
.summary-column-button {
16+
margin-right: 1rem;
17+
margin-bottom: 0.5rem;
18+
}
19+
}
820
}
921

10-
igx-buttongroup{
11-
display: block;
22+
.summaries-dropdown {
23+
background-color: white;
24+
border: 1px solid #e0e0e0;
25+
border-radius: 8px;
26+
27+
&-title {
28+
color: #40B3FF;
29+
margin: 0.5rem 1.1rem;
30+
}
31+
32+
&-items {
33+
display: flex;
34+
flex-direction: column;
35+
36+
.summaries-dropdown-item {
37+
display: flex;
38+
align-items: center;
39+
padding: 0 1rem;
40+
}
41+
}
42+
43+
&-buttons {
44+
display: flex;
45+
justify-content: space-between;
46+
padding: 0.2rem;
47+
}
1248
}

0 commit comments

Comments
 (0)