igniteui-angular 12.1.4 → 12.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/bundles/igniteui-angular.umd.js +371 -65
  2. package/bundles/igniteui-angular.umd.js.map +1 -1
  3. package/esm2015/lib/core/i18n/resources.js +10 -1
  4. package/esm2015/lib/core/utils.js +2 -1
  5. package/esm2015/lib/date-picker/date-picker.component.js +9 -3
  6. package/esm2015/lib/directives/drag-drop/drag-drop.directive.js +8 -2
  7. package/esm2015/lib/directives/notification/notifications.directive.js +1 -1
  8. package/esm2015/lib/grids/api.service.js +25 -1
  9. package/esm2015/lib/grids/columns/column.component.js +5 -3
  10. package/esm2015/lib/grids/common/crud.service.js +4 -3
  11. package/esm2015/lib/grids/filtering/base/grid-filtering-row.component.js +2 -2
  12. package/esm2015/lib/grids/filtering/excel-style/excel-style-clear-filters.component.js +2 -2
  13. package/esm2015/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.js +2 -2
  14. package/esm2015/lib/grids/filtering/excel-style/excel-style-hiding.component.js +2 -2
  15. package/esm2015/lib/grids/filtering/excel-style/excel-style-pinning.component.js +2 -2
  16. package/esm2015/lib/grids/filtering/excel-style/excel-style-selecting.component.js +2 -2
  17. package/esm2015/lib/grids/grid/grid.component.js +2 -1
  18. package/esm2015/lib/grids/grid/groupby-row.component.js +3 -2
  19. package/esm2015/lib/grids/grid-base.directive.js +99 -4
  20. package/esm2015/lib/grids/tree-grid/tree-grid-api.service.js +25 -1
  21. package/esm2015/lib/grids/tree-grid/tree-grid.component.js +26 -1
  22. package/esm2015/lib/snackbar/snackbar.component.js +63 -26
  23. package/esm2015/lib/tabs/tabs.directive.js +2 -5
  24. package/esm2015/lib/toast/toast.component.js +64 -11
  25. package/esm2015/public_api.js +1 -1
  26. package/fesm2015/igniteui-angular.js +332 -52
  27. package/fesm2015/igniteui-angular.js.map +1 -1
  28. package/igniteui-angular.metadata.json +1 -1
  29. package/lib/core/i18n/resources.d.ts +9 -0
  30. package/lib/core/utils.d.ts +1 -0
  31. package/lib/date-picker/date-picker.component.d.ts +3 -2
  32. package/lib/directives/notification/notifications.directive.d.ts +2 -2
  33. package/lib/grids/api.service.d.ts +14 -0
  34. package/lib/grids/grid-base.directive.d.ts +38 -2
  35. package/lib/grids/tree-grid/tree-grid-api.service.d.ts +14 -0
  36. package/lib/grids/tree-grid/tree-grid.component.d.ts +20 -0
  37. package/lib/snackbar/snackbar.component.d.ts +41 -2
  38. package/lib/tabs/tabs.directive.d.ts +0 -2
  39. package/lib/toast/toast.component.d.ts +40 -2
  40. package/package.json +1 -1
  41. package/public_api.d.ts +2 -0
@@ -13,6 +13,15 @@ export interface IResourceStrings extends IGridResourceStrings, ITimePickerResou
13
13
  }
14
14
  /**
15
15
  * @hidden
16
+ * IF YOU EDIT THIS OBJECT, DO NOT FORGET TO UPDATE
17
+ * projects/igniteui-angular-i18n as well (create the appropriately named files,
18
+ * containing the new/updated component string keys and EN strings for values + create a separate issue + pending-localization label)
19
+ *
20
+ * TODO Add automation tests:
21
+ * 1) each of the folders/languages under \projects\igniteui-angular-i18n\src\ contain resources.ts file with matching components count.
22
+ * \projects\igniteui-angular-i18n\src\BG\resources.ts contains IgxResourceStringsBG.count matching this.CurrentResourceStrings.count
23
+ * 2) \igniteui-angular\projects\igniteui-angular\src\public_api.ts --> Check if the new interface is added
24
+ * to IInputResourceStrings (just a proxy as it is later on imported in the angular-i18n package)
16
25
  */
17
26
  export declare const CurrentResourceStrings: {
18
27
  GridResStrings: any;
@@ -236,6 +236,7 @@ export declare const resolveNestedPath: (obj: any, path: string) => any;
236
236
  */
237
237
  export declare const reverseMapper: (path: string, value: any) => {};
238
238
  export declare const yieldingLoop: (count: number, chunkSize: number, callback: (index: number) => void, done: () => void) => void;
239
+ export declare const isConstructor: (ref: any) => boolean;
239
240
  export declare const reverseAnimationResolver: (animation: AnimationReferenceMetadata) => AnimationReferenceMetadata;
240
241
  export declare const isHorizontalAnimation: (animation: AnimationReferenceMetadata) => boolean;
241
242
  export declare const isVerticalAnimation: (animation: AnimationReferenceMetadata) => boolean;
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnDestroy, ElementRef, NgModuleRef, OnInit, AfterViewInit, Injector, AfterViewChecked, QueryList, Renderer2, PipeTransform } from '@angular/core';
1
+ import { EventEmitter, OnDestroy, ElementRef, NgModuleRef, OnInit, AfterViewInit, Injector, AfterViewChecked, QueryList, Renderer2, PipeTransform, ChangeDetectorRef } from '@angular/core';
2
2
  import { ControlValueAccessor, AbstractControl, ValidationErrors, Validator } from '@angular/forms';
3
3
  import { WEEKDAYS, IFormattingViews, IFormattingOptions } from '../calendar/public_api';
4
4
  import { IgxLabelDirective, IgxInputGroupType } from '../input-group/public_api';
@@ -33,6 +33,7 @@ export declare class IgxDatePickerComponent extends PickerBaseDirective implemen
33
33
  private _injector;
34
34
  private _renderer;
35
35
  private platform;
36
+ private cdr;
36
37
  protected _displayDensityOptions?: IDisplayDensityOptions;
37
38
  protected _inputGroupType?: IgxInputGroupType;
38
39
  /**
@@ -296,7 +297,7 @@ export declare class IgxDatePickerComponent extends PickerBaseDirective implemen
296
297
  private _onChangeCallback;
297
298
  private _onTouchedCallback;
298
299
  private _onValidatorChange;
299
- constructor(element: ElementRef<HTMLElement>, _localeId: string, _overlayService: IgxOverlayService, _moduleRef: NgModuleRef<any>, _injector: Injector, _renderer: Renderer2, platform: PlatformUtil, _displayDensityOptions?: IDisplayDensityOptions, _inputGroupType?: IgxInputGroupType);
300
+ constructor(element: ElementRef<HTMLElement>, _localeId: string, _overlayService: IgxOverlayService, _moduleRef: NgModuleRef<any>, _injector: Injector, _renderer: Renderer2, platform: PlatformUtil, cdr: ChangeDetectorRef, _displayDensityOptions?: IDisplayDensityOptions, _inputGroupType?: IgxInputGroupType);
300
301
  /** @hidden @internal */
301
302
  get required(): boolean;
302
303
  /** @hidden @internal */
@@ -1,7 +1,7 @@
1
1
  import { ElementRef, OnDestroy } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { IToggleView } from '../../core/navigation';
4
- import { IPositionStrategy, OverlaySettings } from '../../services/public_api';
4
+ import { IPositionStrategy } from '../../services/public_api';
5
5
  import { IgxOverlayOutletDirective, IgxToggleDirective } from '../toggle/toggle.directive';
6
6
  export declare abstract class IgxNotificationsDirective extends IgxToggleDirective implements IToggleView, OnDestroy {
7
7
  /**
@@ -37,7 +37,7 @@ export declare abstract class IgxNotificationsDirective extends IgxToggleDirecti
37
37
  * @hidden
38
38
  * @internal
39
39
  */
40
- textMessage: string | OverlaySettings;
40
+ textMessage: string;
41
41
  /**
42
42
  * @hidden
43
43
  */
@@ -28,6 +28,13 @@ export declare class GridBaseAPIService<T extends IgxGridBaseDirective & GridTyp
28
28
  get_row_index_in_data(rowID: any, dataCollection?: any[]): number;
29
29
  get_row_by_key(rowSelector: any): IgxRowDirective<IgxGridBaseDirective & GridType>;
30
30
  get_row_by_index(rowIndex: number): IgxRowDirective<IgxGridBaseDirective & GridType>;
31
+ /**
32
+ * Gets the rowID of the record at the specified data view index
33
+ *
34
+ * @param index
35
+ * @param dataCollection
36
+ */
37
+ get_rec_id_by_index(index: number, dataCollection?: any[]): any;
31
38
  get_cell_by_key(rowSelector: any, field: string): IgxGridCellComponent;
32
39
  get_cell_by_index(rowIndex: number, columnID: number | string): IgxGridCellComponent;
33
40
  get_cell_by_visible_index(rowIndex: number, columnIndex: number): IgxGridCellComponent;
@@ -49,6 +56,13 @@ export declare class GridBaseAPIService<T extends IgxGridBaseDirective & GridTyp
49
56
  get_row_expansion_state(record: any): boolean;
50
57
  set_row_expansion_state(rowID: any, expanded: boolean, event?: Event): void;
51
58
  get_rec_by_id(rowID: any): any;
59
+ /**
60
+ * Returns the index of the record in the data view by pk or -1 if not found or primaryKey is not set.
61
+ *
62
+ * @param pk
63
+ * @param dataCollection
64
+ */
65
+ get_rec_index_by_id(pk: string | number, dataCollection?: any[]): number;
52
66
  allow_expansion_state_change(rowID: any, expanded: any): boolean;
53
67
  prepare_sorting_expression(stateCollections: Array<Array<any>>, expression: ISortingExpression): void;
54
68
  remove_grouping_expression(_fieldName: any): void;
@@ -1869,6 +1869,7 @@ export declare abstract class IgxGridBaseDirective extends DisplayDensityBase im
1869
1869
  private rowEditPositioningStrategy;
1870
1870
  private rowEditSettings;
1871
1871
  private transactionChange$;
1872
+ private _rendered;
1872
1873
  private readonly DRAG_SCROLL_DELTA;
1873
1874
  /**
1874
1875
  * @hidden @internal
@@ -2267,15 +2268,20 @@ export declare abstract class IgxGridBaseDirective extends DisplayDensityBase im
2267
2268
  * @hidden @internal
2268
2269
  */
2269
2270
  get summariesMargin(): number;
2271
+ /**
2272
+ * @hidden
2273
+ * @internal
2274
+ */
2275
+ get columns(): IgxColumnComponent[];
2270
2276
  /**
2271
2277
  * Gets an array of `IgxColumnComponent`s.
2272
2278
  *
2273
2279
  * @example
2274
2280
  * ```typescript
2275
- * const colums = this.grid.columns.
2281
+ * const colums = this.grid.columnsCollection.
2276
2282
  * ```
2277
2283
  */
2278
- get columns(): IgxColumnComponent[];
2284
+ get columnsCollection(): IgxColumnComponent[];
2279
2285
  /**
2280
2286
  * Gets an array of the pinned `IgxColumnComponent`s.
2281
2287
  *
@@ -3200,6 +3206,36 @@ export declare abstract class IgxGridBaseDirective extends DisplayDensityBase im
3200
3206
  * @param commit
3201
3207
  */
3202
3208
  endEdit(commit?: boolean, event?: Event): void;
3209
+ /**
3210
+ * Enters add mode by spawning the UI under the specified row by rowID.
3211
+ *
3212
+ * @remarks
3213
+ * If null is passed as rowID, the row adding UI is spawned as the first record in the data view
3214
+ * @remarks
3215
+ * Spawning the UI to add a child for a record only works if you provide a rowID
3216
+ * @example
3217
+ * ```typescript
3218
+ * this.grid.beginAddRowById('ALFKI');
3219
+ * this.grid.beginAddRowById('ALFKI', true);
3220
+ * this.grid.beginAddRowById(null);
3221
+ * ```
3222
+ * @param rowID - The rowID to spawn the add row UI for, or null to spawn it as the first record in the data view
3223
+ * @param asChild - Whether the record should be added as a child. Only applicable to igxTreeGrid.
3224
+ */
3225
+ beginAddRowById(rowID: any, asChild?: boolean): void;
3226
+ /**
3227
+ * Enters add mode by spawning the UI at the specified index.
3228
+ *
3229
+ * @remarks
3230
+ * Accepted values for index are integers from 0 to this.grid.dataView.length
3231
+ * @example
3232
+ * ```typescript
3233
+ * this.grid.beginAddRowByIndex(0);
3234
+ * ```
3235
+ * @param index - The index to spawn the UI at. Accepts integers from 0 to this.grid.dataView.length
3236
+ */
3237
+ beginAddRowByIndex(index: number): void;
3238
+ protected beginAddRowForIndex(index: number, asChild?: boolean): void;
3203
3239
  protected switchTransactionService(val: boolean): void;
3204
3240
  protected subscribeToTransactions(): void;
3205
3241
  protected transactionStatusUpdate(event: StateUpdateEvent): void;
@@ -15,6 +15,20 @@ export declare class IgxTreeGridAPIService extends GridBaseAPIService<IgxTreeGri
15
15
  get_selected_children(record: ITreeGridRecord, selectedRowIDs: any[]): void;
16
16
  row_deleted_transaction(rowID: any): boolean;
17
17
  get_rec_by_id(rowID: any): ITreeGridRecord;
18
+ /**
19
+ * Gets the rowID of the record at the specified data view index
20
+ *
21
+ * @param index
22
+ * @param dataCollection
23
+ */
24
+ get_rec_id_by_index(index: number, dataCollection?: any[]): any;
25
+ /**
26
+ * Returns the index of the record in the data view by pk or -1 if not found or primaryKey is not set.
27
+ *
28
+ * @param pk
29
+ * @param dataCollection
30
+ */
31
+ get_rec_index_by_id(pk: string | number, dataCollection?: any[]): number;
18
32
  addRowToData(data: any, parentRowID?: any): void;
19
33
  filterDataByExpressions(expressionsTree: IFilteringExpressionsTree): any[];
20
34
  protected update_row_in_array(value: any, rowID: any, index: number): void;
@@ -336,6 +336,26 @@ export declare class IgxTreeGridComponent extends IgxGridBaseDirective implement
336
336
  * @memberof IgxTreeGridComponent
337
337
  */
338
338
  addRow(data: any, parentRowID?: any): void;
339
+ /**
340
+ * Enters add mode by spawning the UI with the context of the specified row by index.
341
+ *
342
+ * @remarks
343
+ * Accepted values for index are integers from 0 to this.grid.dataView.length
344
+ * @remarks
345
+ * When adding the row as a child, the parent row is the specified row.
346
+ * @remarks
347
+ * To spawn the UI on top, call the function with index = null or a negative number.
348
+ * In this case trying to add this row as a child will result in error.
349
+ * @example
350
+ * ```typescript
351
+ * this.grid.beginAddRowByIndex(10);
352
+ * this.grid.beginAddRowByIndex(10, true);
353
+ * this.grid.beginAddRowByIndex(null);
354
+ * ```
355
+ * @param index - The index to spawn the UI at. Accepts integers from 0 to this.grid.dataView.length
356
+ * @param asChild - Whether the record should be added as a child. Only applicable to igxTreeGrid.
357
+ */
358
+ beginAddRowByIndex(index: number, asChild?: boolean): void;
339
359
  /**
340
360
  * @hidden
341
361
  */
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
- import { OverlaySettings } from '../services/public_api';
2
+ import { PositionSettings } from '../services/public_api';
3
3
  import { IgxNotificationsDirective } from '../directives/notification/notifications.directive';
4
4
  import { ToggleViewEventArgs } from '../directives/toggle/toggle.directive';
5
5
  /**
@@ -71,13 +71,52 @@ export declare class IgxSnackbarComponent extends IgxNotificationsDirective impl
71
71
  * ```
72
72
  */
73
73
  animationDone: EventEmitter<ToggleViewEventArgs>;
74
+ /**
75
+ * Get the position and animation settings used by the snackbar.
76
+ * ```typescript
77
+ * @ViewChild('snackbar', { static: true }) public snackbar: IgxSnackbarComponent;
78
+ * let currentPosition: PositionSettings = this.snackbar.positionSettings
79
+ * ```
80
+ */
81
+ get positionSettings(): PositionSettings;
82
+ /**
83
+ * Set the position and animation settings used by the snackbar.
84
+ * ```html
85
+ * <igx-snackbar [positionSettings]="newPositionSettings"></igx-snackbar>
86
+ * ```
87
+ * ```typescript
88
+ * import { slideInTop, slideOutBottom } from 'igniteui-angular';
89
+ * ...
90
+ * @ViewChild('snackbar', { static: true }) public snackbar: IgxSnackbarComponent;
91
+ * public newPositionSettings: PositionSettings = {
92
+ * openAnimation: useAnimation(slideInTop, { params: { duration: '1000ms', fromPosition: 'translateY(100%)'}}),
93
+ * closeAnimation: useAnimation(slideOutBottom, { params: { duration: '1000ms', fromPosition: 'translateY(0)'}}),
94
+ * horizontalDirection: HorizontalAlignment.Left,
95
+ * verticalDirection: VerticalAlignment.Middle,
96
+ * horizontalStartPoint: HorizontalAlignment.Left,
97
+ * verticalStartPoint: VerticalAlignment.Middle,
98
+ * minSize: { height: 100, width: 100 }
99
+ * };
100
+ * this.snackbar.positionSettings = this.newPositionSettings;
101
+ * ```
102
+ */
103
+ set positionSettings(settings: PositionSettings);
104
+ private _positionSettings;
74
105
  /**
75
106
  * Shows the snackbar and hides it after the `displayTime` is over if `autoHide` is set to `true`.
76
107
  * ```typescript
77
108
  * this.snackbar.open();
78
109
  * ```
79
110
  */
80
- open(message?: string | OverlaySettings): void;
111
+ open(message?: string): void;
112
+ /**
113
+ * Opens or closes the snackbar, depending on its current state.
114
+ *
115
+ * ```typescript
116
+ * this.snackbar.toggle();
117
+ * ```
118
+ */
119
+ toggle(): void;
81
120
  /**
82
121
  * @hidden
83
122
  */
@@ -17,8 +17,6 @@ export interface ITabsSelectedItemChangeEventArgs extends ITabsBaseEventArgs {
17
17
  readonly newItem: IgxTabItemDirective;
18
18
  }
19
19
  export declare abstract class IgxTabsDirective extends IgxCarouselComponentBase implements IgxTabsBase, AfterViewInit, OnDestroy {
20
- /** @hidden */
21
- role: string;
22
20
  /**
23
21
  * An @Input property that gets/sets the index of the selected item.
24
22
  * Default value is 0 if contents are defined otherwise defaults to -1.
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit } from '@angular/core';
2
2
  import { IgxNavigationService } from '../core/navigation';
3
- import { IgxOverlayService, OverlaySettings } from '../services/public_api';
3
+ import { IgxOverlayService, PositionSettings } from '../services/public_api';
4
4
  import { IgxNotificationsDirective } from '../directives/notification/notifications.directive';
5
5
  import { ToggleViewEventArgs } from '../directives/toggle/toggle.directive';
6
6
  /**
@@ -78,6 +78,36 @@ export declare class IgxToastComponent extends IgxNotificationsDirective impleme
78
78
  * @memberof IgxToastComponent
79
79
  */
80
80
  position: IgxToastPosition;
81
+ /**
82
+ * Get the position and animation settings used by the toast.
83
+ * ```typescript
84
+ * @ViewChild('toast', { static: true }) public toast: IgxToastComponent;
85
+ * let currentPosition: PositionSettings = this.toast.positionSettings
86
+ * ```
87
+ */
88
+ get positionSettings(): PositionSettings;
89
+ /**
90
+ * Set the position and animation settings used by the toast.
91
+ * ```html
92
+ * <igx-toast [positionSettings]="newPositionSettings"></igx-toast>
93
+ * ```
94
+ * ```typescript
95
+ * import { slideInTop, slideOutBottom } from 'igniteui-angular';
96
+ * ...
97
+ * @ViewChild('toast', { static: true }) public toast: IgxToastComponent;
98
+ * public newPositionSettings: PositionSettings = {
99
+ * openAnimation: useAnimation(slideInTop, { params: { duration: '1000ms', fromPosition: 'translateY(100%)'}}),
100
+ * closeAnimation: useAnimation(slideOutBottom, { params: { duration: '1000ms', fromPosition: 'translateY(0)'}}),
101
+ * horizontalDirection: HorizontalAlignment.Left,
102
+ * verticalDirection: VerticalAlignment.Middle,
103
+ * horizontalStartPoint: HorizontalAlignment.Left,
104
+ * verticalStartPoint: VerticalAlignment.Middle
105
+ * };
106
+ * this.toast.positionSettings = this.newPositionSettings;
107
+ * ```
108
+ */
109
+ set positionSettings(settings: PositionSettings);
110
+ private _positionSettings;
81
111
  /**
82
112
  * Gets the nativeElement of the toast.
83
113
  * ```typescript
@@ -96,7 +126,15 @@ export declare class IgxToastComponent extends IgxNotificationsDirective impleme
96
126
  * this.toast.open();
97
127
  * ```
98
128
  */
99
- open(message?: string | OverlaySettings): void;
129
+ open(message?: string): void;
130
+ /**
131
+ * Opens or closes the toast, depending on its current state.
132
+ *
133
+ * ```typescript
134
+ * this.toast.toggle();
135
+ * ```
136
+ */
137
+ toggle(): void;
100
138
  /**
101
139
  * @hidden
102
140
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-angular",
3
- "version": "12.1.4",
3
+ "version": "12.1.8",
4
4
  "description": "Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps",
5
5
  "author": "Infragistics",
6
6
  "license": "SEE LICENSE IN LICENSE",
package/public_api.d.ts CHANGED
@@ -113,5 +113,7 @@ export { IDatePickerResourceStrings } from './lib/core/i18n/date-picker-resource
113
113
  export { IDateRangePickerResourceStrings } from './lib/core/i18n/date-range-picker-resources';
114
114
  export { IListResourceStrings } from './lib/core/i18n/list-resources';
115
115
  export { ITreeResourceStrings } from './lib/core/i18n/tree-resources';
116
+ export { IInputResourceStrings } from './lib/core/i18n/input-resources';
117
+ export { IChipResourceStrings } from './lib/core/i18n/chip-resources';
116
118
  export { PickerInteractionMode } from './lib/date-common/types';
117
119
  export { SplitterType } from './lib/splitter/splitter.component';