Skip to content

Commit 7e0bc99

Browse files
authored
Merge branch 'vnext' into mdragnev/fix-3850
2 parents 2c7dde5 + daf18b7 commit 7e0bc99

24 files changed

Lines changed: 630 additions & 74 deletions

live-editing/configs/BadgeConfigGenerator.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ export class BadgeConfigGenerator implements IConfigGenerator {
4040
shortenComponentPathBy: "/data-display/badge/"
4141
}));
4242

43+
configs.push(new Config({
44+
component: 'BadgeDotSampleComponent',
45+
additionalFiles: ["src/app/data-display/badge/model/member.model.ts", "src/app/data-display/badge/badge-dot-sample/badge-dot-sample.component.scss"],
46+
appConfig: BaseAppConfig,
47+
shortenComponentPathBy: "/data-display/badge/"
48+
}));
49+
4350
return configs;
4451
}
4552
}

projects/app-lob/src/app/grid-finjs/grid-finjs.component.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
<igx-grid-toolbar-actions>
2222
<igx-grid-toolbar-hiding title="Indicators"></igx-grid-toolbar-hiding>
2323
<igx-grid-toolbar-pinning></igx-grid-toolbar-pinning>
24-
<igx-grid-toolbar-exporter [exportCSV]="false">
24+
<igx-grid-toolbar-exporter [exportCSV]="false" (exportStarted)="exportStarted($event)">
2525
<span excelText>Export to Excel</span>
26+
<span pdfText>Export to PDF</span>
2627
</igx-grid-toolbar-exporter>
2728
</igx-grid-toolbar-actions>
2829
</igx-grid-toolbar>

projects/app-lob/src/app/grid-finjs/grid-finjs.component.ts

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-disable max-len */
22
import { AsyncPipe, CurrencyPipe } from '@angular/common';
33
import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, DOCUMENT, inject } from '@angular/core';
4-
import { CellType, GridSelectionMode, IGridKeydownEventArgs, IRowSelectionEventArgs, IgxCellEditorTemplateDirective, IgxCellTemplateDirective, IgxColumnComponent, IgxExcelTextDirective, IgxGridToolbarActionsComponent, IgxGridToolbarComponent, IgxGridToolbarExporterComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent } from 'igniteui-angular/grids/core';
4+
import { CellType, GridSelectionMode, IColumnExportingEventArgs, IGridKeydownEventArgs, IRowSelectionEventArgs, IgxCellEditorTemplateDirective, IgxCellTemplateDirective, IgxColumnComponent, IgxExcelTextDirective, IgxExporterEvent, IgxGridToolbarActionsComponent, IgxGridToolbarComponent, IgxGridToolbarExporterComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxPdfExporterOptions, IgxPdfExporterService, IgxPdfTextDirective } from 'igniteui-angular/grids/core';
55
import { DefaultSortingStrategy, IgxOverlayOutletDirective, OverlaySettings, SortingDirection } from 'igniteui-angular/core';
66
import { IgxGridComponent } from 'igniteui-angular/grids/grid';
77
import { IgxSelectComponent, IgxSelectItemComponent } from 'igniteui-angular/select';
@@ -17,11 +17,12 @@ import { FormsModule } from '@angular/forms';
1717
selector: 'app-finjs-grid',
1818
templateUrl: './grid-finjs.component.html',
1919
styleUrls: ['./grid-finjs.component.scss'],
20-
imports: [IgxGridComponent, IgxPreventDocumentScrollDirective, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxColumnComponent, IgxCellEditorTemplateDirective, IgxSelectComponent, FormsModule, IgxFocusDirective, IgxSelectItemComponent, IgxCellTemplateDirective, IgxIconComponent, IgxIconButtonDirective, IgxOverlayOutletDirective, AsyncPipe, CurrencyPipe]
20+
imports: [IgxGridComponent, IgxPreventDocumentScrollDirective, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxPdfTextDirective, IgxColumnComponent, IgxCellEditorTemplateDirective, IgxSelectComponent, FormsModule, IgxFocusDirective, IgxSelectItemComponent, IgxCellTemplateDirective, IgxIconComponent, IgxIconButtonDirective, IgxOverlayOutletDirective, AsyncPipe, CurrencyPipe]
2121
})
2222
export class GridFinJSComponent implements OnInit {
2323
private el = inject(ElementRef);
2424
private document = inject<Document>(DOCUMENT);
25+
private pdfExportService = inject(IgxPdfExporterService);
2526
dataService = inject(SignalRService);
2627

2728
@ViewChild('grid1', { static: true }) public grid: IgxGridComponent;
@@ -116,6 +117,34 @@ export class GridFinJSComponent implements OnInit {
116117
this.chartColumnKeyDown.emit(target.row.data);
117118
}
118119

120+
public exportStarted(args: IgxExporterEvent) {
121+
(args.options as IgxPdfExporterOptions).pageSize = "A3";
122+
123+
const includedFields = new Set([
124+
'id',
125+
'category',
126+
'type',
127+
'contract',
128+
'settlement',
129+
'country',
130+
'region',
131+
'lastupdated',
132+
'openprice',
133+
'price',
134+
'change',
135+
'buy',
136+
'sell'
137+
]);
138+
139+
this.pdfExportService.columnExporting.subscribe((exportArgs: IColumnExportingEventArgs) => {
140+
const field = exportArgs.field.toLowerCase();
141+
if (!includedFields.has(field)) {
142+
exportArgs.cancel = true;
143+
}
144+
});
145+
146+
}
147+
119148
get gridWrapper(): HTMLElement {
120149
return this.el.nativeElement.querySelector('.grid__wrapper') as HTMLElement;
121150
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<div class="wrapper">
2+
<igx-avatar icon="face" shape="rounded" size="small"></igx-avatar>
3+
<igx-badge dot type="success"></igx-badge>
4+
</div>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
.wrapper {
2+
display: flex;
3+
position: relative;
4+
margin-top: 15px;
5+
6+
igx-avatar {
7+
anchor-name: --avatar;
8+
}
9+
10+
igx-badge {
11+
position: absolute;
12+
position-anchor: --avatar;
13+
bottom: anchor(--avatar top);
14+
left: anchor(right);
15+
transform: translate(-75%, 75%);
16+
}
17+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Component } from '@angular/core';
2+
import { IgxAvatarComponent } from 'igniteui-angular/avatar';
3+
import { IgxBadgeComponent } from 'igniteui-angular/badge';
4+
5+
@Component({
6+
selector: 'app-badge-dot-sample',
7+
styleUrls: ['./badge-dot-sample.component.scss'],
8+
templateUrl: './badge-dot-sample.component.html',
9+
imports: [IgxAvatarComponent, IgxBadgeComponent]
10+
})
11+
export class BadgeDotSampleComponent { }

src/app/data-display/data-display-routes-data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export const dataDisplayRoutesData = {
44
"badge-icon": { displayName: "Badge Icon Sample", parentName: "Badge" },
55
"badge-sample-2": { displayName: "Simple Badge", parentName: "Badge" },
66
"badge-sample-3": { displayName: "Badge for List Items", parentName: "Badge" },
7+
"badge-dot-sample": { displayName: "Badge Dot Sample", parentName: "Badge" },
78
"badge-styling-sample": { displayName: "Badge Styling Sample", parentName: "Badge" },
89
"badge-tailwind-styling-sample": { displayName: "Badge Tailwind Styling Sample", parentName: "Badge" },
910
"chip-simple": { displayName: "Chip Simple", parentName: "Chip" },

src/app/data-display/data-display.routes.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { BadgeIconComponent } from './badge/badge-icon/badge-icon.component';
22
import { BadgeSample2Component } from './badge/badge-sample-2/badge-sample-2.component';
33
import { BadgeSample3Component } from './badge/badge-sample-3/badge-sample-3.component';
4+
import { BadgeDotSampleComponent } from './badge/badge-dot-sample/badge-dot-sample.component';
45
import { BadgeStylingSampleComponent } from './badge/badge-styling-sample/badge-styling-sample.component';
56
import { BadgeTailwindStylingSampleComponent } from './badge/badge-tailwind-styling-sample/badge-tailwind-styling-sample.component';
67
import { ChipAreaSampleComponent } from './chip/chip-area-sample/chip-area-sample.component';
@@ -61,6 +62,11 @@ export const DataDisplayRoutes: Routes = [
6162
data: dataDisplayRoutesData['badge-sample-3'],
6263
path: 'badge-sample-3'
6364
},
65+
{
66+
component: BadgeDotSampleComponent,
67+
data: dataDisplayRoutesData['badge-dot-sample'],
68+
path: 'badge-dot-sample'
69+
},
6470
{
6571
component: BadgeStylingSampleComponent,
6672
data: dataDisplayRoutesData['badge-styling-sample'],

0 commit comments

Comments
 (0)