igniteui-angular 21.1.0-rc.5 → 21.1.0
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.
- package/fesm2022/igniteui-angular-grids-lite.mjs +2 -0
- package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
- package/package.json +4 -4
- package/skills/igniteui-angular-components/SKILL.md +5 -4
- package/skills/igniteui-angular-components/references/data-display.md +89 -22
- package/skills/igniteui-angular-components/references/directives.md +4 -4
- package/skills/igniteui-angular-components/references/feedback.md +3 -3
- package/skills/igniteui-angular-components/references/form-controls.md +12 -4
- package/skills/igniteui-angular-components/references/layout.md +2 -2
- package/skills/igniteui-angular-components/references/setup.md +19 -8
- package/skills/igniteui-angular-grids/SKILL.md +1 -1
- package/skills/igniteui-angular-grids/references/data-operations.md +2 -1
- package/skills/igniteui-angular-grids/references/types.md +3 -1
- package/types/igniteui-angular-grids-lite.d.ts +2 -0
|
@@ -24,6 +24,8 @@ class IgxGridLite extends IgcGridLite {
|
|
|
24
24
|
* @fires sorted - Emitted when a sort operation initiated through the UI has completed.
|
|
25
25
|
* @fires filtering - Emitted when filtering is initiated through the UI.
|
|
26
26
|
* @fires filtered - Emitted when a filter operation initiated through the UI has completed.
|
|
27
|
+
*
|
|
28
|
+
* @developerPreview 21.1.0
|
|
27
29
|
*/
|
|
28
30
|
class IgxGridLiteComponent {
|
|
29
31
|
;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-grids-lite.mjs","sources":["../../../projects/igniteui-angular/grids/lite/src/grid-lite.component.ts","../../../projects/igniteui-angular/grids/lite/src/grid-lite-column.component.ts","../../../projects/igniteui-angular/grids/lite/src/grid-lite-column.component.html","../../../projects/igniteui-angular/grids/lite/src/igniteui-angular-grids-lite.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, effect, ElementRef, inject, input, model, OnInit } from '@angular/core';\nimport { DataPipelineConfiguration, FilterExpression, GridLiteSortingOptions, IgcGridLite, Keys, SortingExpression } from 'igniteui-grid-lite';\nimport { IgxGridLiteColumnConfiguration } from './grid-lite-column.component';\n\nexport type IgxGridLiteSortingOptions = GridLiteSortingOptions;\nexport type IgxGridLiteDataPipelineConfiguration<T extends object = any> = DataPipelineConfiguration<T>;\nexport type IgxGridLiteSortingExpression<T extends object = any> = SortingExpression<T>;\nexport type IgxGridLiteFilteringExpression<T extends object = any> = FilterExpression<T>;\n\n\nclass IgxGridLite<T extends object = any> extends IgcGridLite<T> {\n public static override get tagName() {\n return 'igx-grid-lite' as any;\n }\n public static override register(): void {\n // still call super for child components:\n super.register();\n\n if (!customElements.get(IgxGridLite.tagName)) {\n customElements.define(IgxGridLite.tagName, IgxGridLite);\n }\n }\n}\n\n/**\n * The Grid Lite is a web component for displaying data in a tabular format quick and easy.\n *\n * Out of the box it provides row virtualization, sort and filter operations (client and server side),\n * the ability to template cells and headers and column hiding.\n *\n * @fires sorting - Emitted when sorting is initiated through the UI.\n * @fires sorted - Emitted when a sort operation initiated through the UI has completed.\n * @fires filtering - Emitted when filtering is initiated through the UI.\n * @fires filtered - Emitted when a filter operation initiated through the UI has completed.\n */\n@Component({\n selector: 'igx-grid-lite',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n host: {\n '[data]': \"data()\",\n '[autoGenerate]': \"autoGenerate()\",\n '[sortingOptions]': \"sortingOptions()\",\n '[dataPipelineConfiguration]': \"dataPipelineConfiguration()\",\n '(sorted)': \"onSorted($any($event))\",\n '(filtered)': \"onFiltered($any($event))\",\n 'adopt-root-styles': '',\n },\n template: `<ng-content></ng-content>`\n})\n\nexport class IgxGridLiteComponent<T extends object = any> implements OnInit {\n\n //#region Internal state\n\n private readonly gridRef = inject(ElementRef) as ElementRef<IgxGridLite<T>>;\n\n //#endregion\n\n //#region Inputs\n\n /** The data source for the grid. */\n public readonly data = input<T[]>([]);\n\n /**\n * Whether the grid will try to \"resolve\" its column configuration based on the passed\n * data source.\n *\n * @remarks\n * This property is ignored if any existing column configuration already exists in the grid.\n */\n public readonly autoGenerate = input(false, { transform: booleanAttribute });;\n\n /** Sort configuration property for the grid. */\n public readonly sortingOptions = input<IgxGridLiteSortingOptions>({\n mode: 'multiple'\n });\n\n /**\n * Configuration object which controls remote data operations for the grid.\n */\n public readonly dataPipelineConfiguration = input<IgxGridLiteDataPipelineConfiguration>();\n\n /**\n * The sort state for the grid.\n *\n * @remarks\n * This is a two-way bindable property. It will be updated when sort operations\n * complete through the UI.\n */\n public readonly sortingExpressions = model<IgxGridLiteSortingExpression<T>[]>([]);\n\n /**\n * The filter state for the grid.\n *\n * @remarks\n * This is a two-way bindable property. It will be updated when filter operations\n * complete through the UI.\n */\n public readonly filteringExpressions = model<IgxGridLiteFilteringExpression<T>[]>([]);\n\n //#endregion\n\n //#region Getters / Setters\n\n /**\n * Get the column configuration of the grid.\n */\n public get columns(): IgxGridLiteColumnConfiguration<T>[] {\n return this.gridRef.nativeElement.columns ?? [];\n }\n\n /**\n * Returns the collection of rendered row elements in the grid.\n *\n * @remarks\n * Since the grid has virtualization, this property returns only the currently rendered\n * chunk of elements in the DOM.\n */\n public get rows() {\n return this.gridRef.nativeElement.rows ?? [];\n }\n\n /**\n * Returns the state of the data source after sort/filter operations\n * have been applied.\n */\n public get dataView(): ReadonlyArray<T> {\n return this.gridRef.nativeElement.dataView ?? [];\n }\n\n //#endregion\n\n constructor() {\n // D.P. Temporary guarded assign instead of binding to prevent WC issue with setter logic re-doing sort/filter\n effect(() => {\n const grid = this.gridRef.nativeElement\n if (!grid) return;\n const newValue = this.filteringExpressions();\n if (new Set(newValue).symmetricDifference(new Set(grid.filterExpressions)).size !== 0) {\n grid.clearFilter();\n grid.filterExpressions = newValue;\n }\n });\n effect(() => {\n const grid = this.gridRef.nativeElement\n if (!grid) return;\n const newValue = this.sortingExpressions();\n if (new Set(newValue).symmetricDifference(new Set(grid.sortingExpressions)).size !== 0) {\n grid.clearSort();\n grid.sortingExpressions = newValue;\n }\n });\n }\n\n /**\n * @hidden @internal\n */\n public ngOnInit(): void {\n IgxGridLite.register();\n }\n\n //#region Public API\n\n /**\n * Performs a filter operation in the grid based on the passed expression(s).\n */\n public filter(config: IgxGridLiteFilteringExpression | IgxGridLiteFilteringExpression[]): void {\n this.gridRef.nativeElement.filter(config as FilterExpression<T> | FilterExpression<T>[]);\n }\n\n /**\n * Performs a sort operation in the grid based on the passed expression(s).\n */\n public sort(expressions: IgxGridLiteSortingExpression<T> | IgxGridLiteSortingExpression<T>[]) {\n this.gridRef.nativeElement.sort(expressions);\n }\n\n /**\n * Resets the current sort state of the control.\n */\n public clearSort(key?: Keys<T>): void {\n this.gridRef.nativeElement.clearSort(key);\n }\n\n /**\n * Resets the current filter state of the control.\n */\n public clearFilter(key?: Keys<T>): void {\n this.gridRef.nativeElement.clearFilter(key);\n }\n\n /**\n * Navigates to a position in the grid based on provided row index and column field.\n * @param row The row index to navigate to\n * @param column The column field to navigate to, if any\n * @param activate Optionally also activate the navigated cell\n */\n public async navigateTo(row: number, column?: Keys<T>, activate = false) {\n await this.gridRef.nativeElement.navigateTo(row, column, activate);\n }\n\n /**\n * Returns a {@link IgxGridLiteColumnConfiguration} for a given column.\n */\n public getColumn(id: Keys<T> | number): IgxGridLiteColumnConfiguration<T> | undefined {\n return this.gridRef.nativeElement.getColumn(id);\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected onSorted(_event: CustomEvent<SortingExpression<T>>): void {\n this.sortingExpressions.set(this.gridRef.nativeElement.sortingExpressions ?? []);\n }\n\n protected onFiltered(_event: CustomEvent<FilterExpression<T>>): void {\n this.filteringExpressions.set(this.gridRef.nativeElement.filterExpressions ?? []);\n }\n\n //#endregion\n\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [IgxGridLite.tagName]: IgxGridLite;\n }\n\n interface HTMLElementEventMap {\n 'sorting': CustomEvent<IgxGridLiteSortingExpression<any>>;\n 'sorted': CustomEvent<IgxGridLiteSortingExpression<any>>;\n 'filtering': CustomEvent<IgxGridLiteFilteringExpression<any>>;\n 'filtered': CustomEvent<IgxGridLiteFilteringExpression<any>>;\n }\n}\n\n// see https://github.com/ng-packagr/ng-packagr/issues/3233\nexport {};\n","import { booleanAttribute, ChangeDetectionStrategy, Component, contentChild, CUSTOM_ELEMENTS_SCHEMA, Directive, effect, EmbeddedViewRef, inject, input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ColumnConfiguration, ColumnSortConfiguration, IgcCellContext, IgcHeaderContext, Keys, DataType } from 'igniteui-grid-lite';\n\n/** Configuration object for grid columns. */\nexport type IgxGridLiteColumnConfiguration<T extends object = any> = ColumnConfiguration<T>;\n\nexport type IgxGridLiteColumnSortConfiguration<T extends object = any> = ColumnSortConfiguration<T>;\n\n\n/**\n * Directive providing type information for header template contexts.\n * Use this directive on ng-template elements that render header templates.\n *\n * @example\n * ```html\n * <ng-template igxGridLiteHeader let-column>\n * <div>{{column.header}}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxGridLiteHeader]' })\nexport class IgxGridLiteHeaderTemplateDirective<T extends object = any> {\n public template = inject<TemplateRef<IgxGridLiteHeaderTemplateContext<T>>>(TemplateRef);\n\n public static ngTemplateContextGuard<T extends object = any>(_: IgxGridLiteHeaderTemplateDirective<T>, ctx: any): ctx is IgxGridLiteHeaderTemplateContext<T> {\n return true;\n }\n}\n\n/**\n * Directive providing type information for cell template contexts.\n * Use this directive on ng-template elements that render cell templates.\n *\n * @example\n * ```html\n * <ng-template igxGridLiteCell let-value let-column=\"column\" let-rowIndex=\"rowIndex\" let-data=\"data\">\n * <div>{{value}}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxGridLiteCell]' })\nexport class IgxGridLiteCellTemplateDirective<T extends object = any> {\n public template = inject<TemplateRef<IgxGridLiteCellTemplateContext<T>>>(TemplateRef);\n\n public static ngTemplateContextGuard<T extends object = any>(_: IgxGridLiteCellTemplateDirective<T>, ctx: unknown): ctx is IgxGridLiteCellTemplateContext<T> {\n return true;\n }\n}\n\n@Component({\n selector: 'igx-grid-lite-column',\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './grid-lite-column.component.html'\n})\nexport class IgxGridLiteColumnComponent<T extends object = any> {\n\n //#region Internal state\n\n private readonly _view = inject(ViewContainerRef);\n\n /** Reference to the embedded view for the header template and its template function. */\n private headerViewRef?: EmbeddedViewRef<IgxGridLiteHeaderTemplateContext<T>>;\n protected headerTemplateFunc?: (ctx: IgcHeaderContext<T>) => Node[];\n\n /** Reference to the embedded view for the cell template and its template function. */\n private cellViewRefs? = new Map<T, EmbeddedViewRef<IgxGridLiteCellTemplateContext<T>>>();\n protected cellTemplateFunc?: (ctx: IgcCellContext<T>) => Node[];\n\n /** Template directives used for inline templating */\n private readonly headerTemplateDirective = contentChild(IgxGridLiteHeaderTemplateDirective<T>);\n private readonly cellTemplateDirective = contentChild(IgxGridLiteCellTemplateDirective<T>);\n\n //#endregion\n\n //#region Inputs\n\n /** The field from the data for this column. */\n public readonly field = input<Keys<T>>();\n\n /** The data type of the column's values. */\n public readonly dataType = input<DataType>('string');\n\n /** The header text of the column. */\n public readonly header = input<string>();\n\n /** The width of the column. */\n public readonly width = input<string>();\n\n /** Indicates whether the column is hidden. */\n public readonly hidden = input(false, { transform: booleanAttribute });\n\n /** Indicates whether the column is resizable. */\n public readonly resizable = input(false, { transform: booleanAttribute });\n\n /** Indicates whether the column is sortable. */\n public readonly sortable = input(false, { transform: booleanAttribute });\n\n /** Whether sort operations will be case sensitive. */\n public readonly sortingCaseSensitive = input(false, { transform: booleanAttribute });\n\n /** Sort configuration for the column (e.g., custom comparer). */\n public readonly sortConfiguration = input<IgxGridLiteColumnSortConfiguration<T>>();\n\n /** Indicates whether the column is filterable. */\n public readonly filterable = input(false, { transform: booleanAttribute });\n\n /** Whether filter operations will be case sensitive. */\n public readonly filteringCaseSensitive = input(false, { transform: booleanAttribute });\n\n /** Custom header template for the column. */\n public readonly headerTemplate = input<TemplateRef<IgxGridLiteHeaderTemplateContext<T>>>();\n\n /** Custom cell template for the column. */\n public readonly cellTemplate = input<TemplateRef<IgxGridLiteCellTemplateContext<T>>>();\n\n //#endregion\n\n constructor() {\n effect((onCleanup) => {\n const directive = this.headerTemplateDirective();\n const template = this.headerTemplate() ?? directive?.template;\n if (template) {\n this.headerTemplateFunc = (ctx: IgcHeaderContext<T>) => {\n if (!this.headerViewRef) {\n const angularContext = {\n ...ctx,\n $implicit: ctx.column\n }\n this.headerViewRef = this._view.createEmbeddedView(template, angularContext);\n }\n return this.headerViewRef.rootNodes;\n };\n }\n onCleanup(() => {\n if (this.headerViewRef) {\n this.headerViewRef.destroy();\n this.headerViewRef = undefined;\n }\n })\n });\n\n effect((onCleanup) => {\n const directive = this.cellTemplateDirective();\n const template = this.cellTemplate() ?? directive?.template;\n if (template) {\n this.cellTemplateFunc = (ctx: IgcCellContext<T>) => {\n const oldViewRef = this.cellViewRefs.get(ctx.row.data);\n const angularContext = {\n ...ctx,\n $implicit: ctx.value,\n } as IgxGridLiteCellTemplateContext<T>;\n if (!oldViewRef) {\n const newViewRef = this._view.createEmbeddedView(template, angularContext);\n this.cellViewRefs.set(ctx.row.data, newViewRef);\n return newViewRef.rootNodes;\n }\n Object.assign(oldViewRef.context, angularContext);\n return oldViewRef.rootNodes;\n };\n }\n onCleanup(() => {\n this.cellViewRefs.forEach((viewRef) => {\n viewRef.destroy();\n });\n this.cellViewRefs?.clear();\n });\n });\n }\n}\n\n/**\n * Context provided to the header template.\n */\nexport type IgxGridLiteHeaderTemplateContext<T extends object = any> = IgcHeaderContext<T> & {\n /**\n * The current configuration for the column.\n */\n $implicit: IgcHeaderContext<T>['column'];\n}\n\n/**\n * Context provided to the header template.\n */\nexport type IgxGridLiteCellTemplateContext<T extends object = any> = IgcCellContext<T> & {\n /**\n * The value from the data source for this cell.\n */\n $implicit: IgcCellContext<T>['value'];\n};\n","<igc-grid-lite-column\n [field]=\"field()\"\n [dataType]=\"dataType()\"\n [header]=\"header()\"\n [width]=\"width()\"\n [hidden]=\"hidden()\"\n [resizable]=\"resizable()\"\n [sortable]=\"sortable()\"\n [sortingCaseSensitive]=\"sortingCaseSensitive()\"\n [sortConfiguration]=\"sortConfiguration()\"\n [filterable]=\"filterable()\"\n [filteringCaseSensitive]=\"filteringCaseSensitive()\"\n [headerTemplate]=\"headerTemplateFunc\"\n [cellTemplate]=\"cellTemplateFunc\"\n></igc-grid-lite-column>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-grids-lite.mjs","sources":["../../../projects/igniteui-angular/grids/lite/src/grid-lite.component.ts","../../../projects/igniteui-angular/grids/lite/src/grid-lite-column.component.ts","../../../projects/igniteui-angular/grids/lite/src/grid-lite-column.component.html","../../../projects/igniteui-angular/grids/lite/src/igniteui-angular-grids-lite.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, effect, ElementRef, inject, input, model, OnInit } from '@angular/core';\nimport { DataPipelineConfiguration, FilterExpression, GridLiteSortingOptions, IgcGridLite, Keys, SortingExpression } from 'igniteui-grid-lite';\nimport { IgxGridLiteColumnConfiguration } from './grid-lite-column.component';\n\nexport type IgxGridLiteSortingOptions = GridLiteSortingOptions;\nexport type IgxGridLiteDataPipelineConfiguration<T extends object = any> = DataPipelineConfiguration<T>;\nexport type IgxGridLiteSortingExpression<T extends object = any> = SortingExpression<T>;\nexport type IgxGridLiteFilteringExpression<T extends object = any> = FilterExpression<T>;\n\n\nclass IgxGridLite<T extends object = any> extends IgcGridLite<T> {\n public static override get tagName() {\n return 'igx-grid-lite' as any;\n }\n public static override register(): void {\n // still call super for child components:\n super.register();\n\n if (!customElements.get(IgxGridLite.tagName)) {\n customElements.define(IgxGridLite.tagName, IgxGridLite);\n }\n }\n}\n\n/**\n * The Grid Lite is a web component for displaying data in a tabular format quick and easy.\n *\n * Out of the box it provides row virtualization, sort and filter operations (client and server side),\n * the ability to template cells and headers and column hiding.\n *\n * @fires sorting - Emitted when sorting is initiated through the UI.\n * @fires sorted - Emitted when a sort operation initiated through the UI has completed.\n * @fires filtering - Emitted when filtering is initiated through the UI.\n * @fires filtered - Emitted when a filter operation initiated through the UI has completed.\n *\n * @developerPreview 21.1.0\n */\n@Component({\n selector: 'igx-grid-lite',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n host: {\n '[data]': \"data()\",\n '[autoGenerate]': \"autoGenerate()\",\n '[sortingOptions]': \"sortingOptions()\",\n '[dataPipelineConfiguration]': \"dataPipelineConfiguration()\",\n '(sorted)': \"onSorted($any($event))\",\n '(filtered)': \"onFiltered($any($event))\",\n 'adopt-root-styles': '',\n },\n template: `<ng-content></ng-content>`\n})\n\nexport class IgxGridLiteComponent<T extends object = any> implements OnInit {\n\n //#region Internal state\n\n private readonly gridRef = inject(ElementRef) as ElementRef<IgxGridLite<T>>;\n\n //#endregion\n\n //#region Inputs\n\n /** The data source for the grid. */\n public readonly data = input<T[]>([]);\n\n /**\n * Whether the grid will try to \"resolve\" its column configuration based on the passed\n * data source.\n *\n * @remarks\n * This property is ignored if any existing column configuration already exists in the grid.\n */\n public readonly autoGenerate = input(false, { transform: booleanAttribute });;\n\n /** Sort configuration property for the grid. */\n public readonly sortingOptions = input<IgxGridLiteSortingOptions>({\n mode: 'multiple'\n });\n\n /**\n * Configuration object which controls remote data operations for the grid.\n */\n public readonly dataPipelineConfiguration = input<IgxGridLiteDataPipelineConfiguration>();\n\n /**\n * The sort state for the grid.\n *\n * @remarks\n * This is a two-way bindable property. It will be updated when sort operations\n * complete through the UI.\n */\n public readonly sortingExpressions = model<IgxGridLiteSortingExpression<T>[]>([]);\n\n /**\n * The filter state for the grid.\n *\n * @remarks\n * This is a two-way bindable property. It will be updated when filter operations\n * complete through the UI.\n */\n public readonly filteringExpressions = model<IgxGridLiteFilteringExpression<T>[]>([]);\n\n //#endregion\n\n //#region Getters / Setters\n\n /**\n * Get the column configuration of the grid.\n */\n public get columns(): IgxGridLiteColumnConfiguration<T>[] {\n return this.gridRef.nativeElement.columns ?? [];\n }\n\n /**\n * Returns the collection of rendered row elements in the grid.\n *\n * @remarks\n * Since the grid has virtualization, this property returns only the currently rendered\n * chunk of elements in the DOM.\n */\n public get rows() {\n return this.gridRef.nativeElement.rows ?? [];\n }\n\n /**\n * Returns the state of the data source after sort/filter operations\n * have been applied.\n */\n public get dataView(): ReadonlyArray<T> {\n return this.gridRef.nativeElement.dataView ?? [];\n }\n\n //#endregion\n\n constructor() {\n // D.P. Temporary guarded assign instead of binding to prevent WC issue with setter logic re-doing sort/filter\n effect(() => {\n const grid = this.gridRef.nativeElement\n if (!grid) return;\n const newValue = this.filteringExpressions();\n if (new Set(newValue).symmetricDifference(new Set(grid.filterExpressions)).size !== 0) {\n grid.clearFilter();\n grid.filterExpressions = newValue;\n }\n });\n effect(() => {\n const grid = this.gridRef.nativeElement\n if (!grid) return;\n const newValue = this.sortingExpressions();\n if (new Set(newValue).symmetricDifference(new Set(grid.sortingExpressions)).size !== 0) {\n grid.clearSort();\n grid.sortingExpressions = newValue;\n }\n });\n }\n\n /**\n * @hidden @internal\n */\n public ngOnInit(): void {\n IgxGridLite.register();\n }\n\n //#region Public API\n\n /**\n * Performs a filter operation in the grid based on the passed expression(s).\n */\n public filter(config: IgxGridLiteFilteringExpression | IgxGridLiteFilteringExpression[]): void {\n this.gridRef.nativeElement.filter(config as FilterExpression<T> | FilterExpression<T>[]);\n }\n\n /**\n * Performs a sort operation in the grid based on the passed expression(s).\n */\n public sort(expressions: IgxGridLiteSortingExpression<T> | IgxGridLiteSortingExpression<T>[]) {\n this.gridRef.nativeElement.sort(expressions);\n }\n\n /**\n * Resets the current sort state of the control.\n */\n public clearSort(key?: Keys<T>): void {\n this.gridRef.nativeElement.clearSort(key);\n }\n\n /**\n * Resets the current filter state of the control.\n */\n public clearFilter(key?: Keys<T>): void {\n this.gridRef.nativeElement.clearFilter(key);\n }\n\n /**\n * Navigates to a position in the grid based on provided row index and column field.\n * @param row The row index to navigate to\n * @param column The column field to navigate to, if any\n * @param activate Optionally also activate the navigated cell\n */\n public async navigateTo(row: number, column?: Keys<T>, activate = false) {\n await this.gridRef.nativeElement.navigateTo(row, column, activate);\n }\n\n /**\n * Returns a {@link IgxGridLiteColumnConfiguration} for a given column.\n */\n public getColumn(id: Keys<T> | number): IgxGridLiteColumnConfiguration<T> | undefined {\n return this.gridRef.nativeElement.getColumn(id);\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected onSorted(_event: CustomEvent<SortingExpression<T>>): void {\n this.sortingExpressions.set(this.gridRef.nativeElement.sortingExpressions ?? []);\n }\n\n protected onFiltered(_event: CustomEvent<FilterExpression<T>>): void {\n this.filteringExpressions.set(this.gridRef.nativeElement.filterExpressions ?? []);\n }\n\n //#endregion\n\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [IgxGridLite.tagName]: IgxGridLite;\n }\n\n interface HTMLElementEventMap {\n 'sorting': CustomEvent<IgxGridLiteSortingExpression<any>>;\n 'sorted': CustomEvent<IgxGridLiteSortingExpression<any>>;\n 'filtering': CustomEvent<IgxGridLiteFilteringExpression<any>>;\n 'filtered': CustomEvent<IgxGridLiteFilteringExpression<any>>;\n }\n}\n\n// see https://github.com/ng-packagr/ng-packagr/issues/3233\nexport {};\n","import { booleanAttribute, ChangeDetectionStrategy, Component, contentChild, CUSTOM_ELEMENTS_SCHEMA, Directive, effect, EmbeddedViewRef, inject, input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ColumnConfiguration, ColumnSortConfiguration, IgcCellContext, IgcHeaderContext, Keys, DataType } from 'igniteui-grid-lite';\n\n/** Configuration object for grid columns. */\nexport type IgxGridLiteColumnConfiguration<T extends object = any> = ColumnConfiguration<T>;\n\nexport type IgxGridLiteColumnSortConfiguration<T extends object = any> = ColumnSortConfiguration<T>;\n\n\n/**\n * Directive providing type information for header template contexts.\n * Use this directive on ng-template elements that render header templates.\n *\n * @example\n * ```html\n * <ng-template igxGridLiteHeader let-column>\n * <div>{{column.header}}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxGridLiteHeader]' })\nexport class IgxGridLiteHeaderTemplateDirective<T extends object = any> {\n public template = inject<TemplateRef<IgxGridLiteHeaderTemplateContext<T>>>(TemplateRef);\n\n public static ngTemplateContextGuard<T extends object = any>(_: IgxGridLiteHeaderTemplateDirective<T>, ctx: any): ctx is IgxGridLiteHeaderTemplateContext<T> {\n return true;\n }\n}\n\n/**\n * Directive providing type information for cell template contexts.\n * Use this directive on ng-template elements that render cell templates.\n *\n * @example\n * ```html\n * <ng-template igxGridLiteCell let-value let-column=\"column\" let-rowIndex=\"rowIndex\" let-data=\"data\">\n * <div>{{value}}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxGridLiteCell]' })\nexport class IgxGridLiteCellTemplateDirective<T extends object = any> {\n public template = inject<TemplateRef<IgxGridLiteCellTemplateContext<T>>>(TemplateRef);\n\n public static ngTemplateContextGuard<T extends object = any>(_: IgxGridLiteCellTemplateDirective<T>, ctx: unknown): ctx is IgxGridLiteCellTemplateContext<T> {\n return true;\n }\n}\n\n@Component({\n selector: 'igx-grid-lite-column',\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './grid-lite-column.component.html'\n})\nexport class IgxGridLiteColumnComponent<T extends object = any> {\n\n //#region Internal state\n\n private readonly _view = inject(ViewContainerRef);\n\n /** Reference to the embedded view for the header template and its template function. */\n private headerViewRef?: EmbeddedViewRef<IgxGridLiteHeaderTemplateContext<T>>;\n protected headerTemplateFunc?: (ctx: IgcHeaderContext<T>) => Node[];\n\n /** Reference to the embedded view for the cell template and its template function. */\n private cellViewRefs? = new Map<T, EmbeddedViewRef<IgxGridLiteCellTemplateContext<T>>>();\n protected cellTemplateFunc?: (ctx: IgcCellContext<T>) => Node[];\n\n /** Template directives used for inline templating */\n private readonly headerTemplateDirective = contentChild(IgxGridLiteHeaderTemplateDirective<T>);\n private readonly cellTemplateDirective = contentChild(IgxGridLiteCellTemplateDirective<T>);\n\n //#endregion\n\n //#region Inputs\n\n /** The field from the data for this column. */\n public readonly field = input<Keys<T>>();\n\n /** The data type of the column's values. */\n public readonly dataType = input<DataType>('string');\n\n /** The header text of the column. */\n public readonly header = input<string>();\n\n /** The width of the column. */\n public readonly width = input<string>();\n\n /** Indicates whether the column is hidden. */\n public readonly hidden = input(false, { transform: booleanAttribute });\n\n /** Indicates whether the column is resizable. */\n public readonly resizable = input(false, { transform: booleanAttribute });\n\n /** Indicates whether the column is sortable. */\n public readonly sortable = input(false, { transform: booleanAttribute });\n\n /** Whether sort operations will be case sensitive. */\n public readonly sortingCaseSensitive = input(false, { transform: booleanAttribute });\n\n /** Sort configuration for the column (e.g., custom comparer). */\n public readonly sortConfiguration = input<IgxGridLiteColumnSortConfiguration<T>>();\n\n /** Indicates whether the column is filterable. */\n public readonly filterable = input(false, { transform: booleanAttribute });\n\n /** Whether filter operations will be case sensitive. */\n public readonly filteringCaseSensitive = input(false, { transform: booleanAttribute });\n\n /** Custom header template for the column. */\n public readonly headerTemplate = input<TemplateRef<IgxGridLiteHeaderTemplateContext<T>>>();\n\n /** Custom cell template for the column. */\n public readonly cellTemplate = input<TemplateRef<IgxGridLiteCellTemplateContext<T>>>();\n\n //#endregion\n\n constructor() {\n effect((onCleanup) => {\n const directive = this.headerTemplateDirective();\n const template = this.headerTemplate() ?? directive?.template;\n if (template) {\n this.headerTemplateFunc = (ctx: IgcHeaderContext<T>) => {\n if (!this.headerViewRef) {\n const angularContext = {\n ...ctx,\n $implicit: ctx.column\n }\n this.headerViewRef = this._view.createEmbeddedView(template, angularContext);\n }\n return this.headerViewRef.rootNodes;\n };\n }\n onCleanup(() => {\n if (this.headerViewRef) {\n this.headerViewRef.destroy();\n this.headerViewRef = undefined;\n }\n })\n });\n\n effect((onCleanup) => {\n const directive = this.cellTemplateDirective();\n const template = this.cellTemplate() ?? directive?.template;\n if (template) {\n this.cellTemplateFunc = (ctx: IgcCellContext<T>) => {\n const oldViewRef = this.cellViewRefs.get(ctx.row.data);\n const angularContext = {\n ...ctx,\n $implicit: ctx.value,\n } as IgxGridLiteCellTemplateContext<T>;\n if (!oldViewRef) {\n const newViewRef = this._view.createEmbeddedView(template, angularContext);\n this.cellViewRefs.set(ctx.row.data, newViewRef);\n return newViewRef.rootNodes;\n }\n Object.assign(oldViewRef.context, angularContext);\n return oldViewRef.rootNodes;\n };\n }\n onCleanup(() => {\n this.cellViewRefs.forEach((viewRef) => {\n viewRef.destroy();\n });\n this.cellViewRefs?.clear();\n });\n });\n }\n}\n\n/**\n * Context provided to the header template.\n */\nexport type IgxGridLiteHeaderTemplateContext<T extends object = any> = IgcHeaderContext<T> & {\n /**\n * The current configuration for the column.\n */\n $implicit: IgcHeaderContext<T>['column'];\n}\n\n/**\n * Context provided to the header template.\n */\nexport type IgxGridLiteCellTemplateContext<T extends object = any> = IgcCellContext<T> & {\n /**\n * The value from the data source for this cell.\n */\n $implicit: IgcCellContext<T>['value'];\n};\n","<igc-grid-lite-column\n [field]=\"field()\"\n [dataType]=\"dataType()\"\n [header]=\"header()\"\n [width]=\"width()\"\n [hidden]=\"hidden()\"\n [resizable]=\"resizable()\"\n [sortable]=\"sortable()\"\n [sortingCaseSensitive]=\"sortingCaseSensitive()\"\n [sortConfiguration]=\"sortConfiguration()\"\n [filterable]=\"filterable()\"\n [filteringCaseSensitive]=\"filteringCaseSensitive()\"\n [headerTemplate]=\"headerTemplateFunc\"\n [cellTemplate]=\"cellTemplateFunc\"\n></igc-grid-lite-column>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "igniteui-angular",
|
|
3
|
-
"version": "21.1.0
|
|
3
|
+
"version": "21.1.0",
|
|
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",
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"@angular/forms": "21",
|
|
87
87
|
"hammerjs": "^2.0.8",
|
|
88
88
|
"@types/hammerjs": "^2.0.46",
|
|
89
|
-
"igniteui-webcomponents": "^
|
|
90
|
-
"igniteui-grid-lite": "~0.
|
|
89
|
+
"igniteui-webcomponents": "^7.0.0",
|
|
90
|
+
"igniteui-grid-lite": "~0.6.0"
|
|
91
91
|
},
|
|
92
92
|
"peerDependenciesMeta": {
|
|
93
93
|
"hammerjs": {
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
"igxDevDependencies": {
|
|
107
|
-
"@igniteui/angular-schematics": "~21.1.1490
|
|
107
|
+
"@igniteui/angular-schematics": "~21.1.1490"
|
|
108
108
|
},
|
|
109
109
|
"ng-update": {
|
|
110
110
|
"migrations": "./migrations/migration-collection.json",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: igniteui-angular-components
|
|
3
|
-
description: "All Ignite UI Angular UI components: application setup and architecture, form controls (Input Group, Combo, Select, Date/Time Pickers, Calendar, Checkbox, Radio, Switch, Slider, reactive forms), layout (Tabs, Bottom Navigation, Stepper, Accordion, Splitter, Navigation Drawer, Layout Manager
|
|
3
|
+
description: "All Ignite UI Angular UI components: application setup and architecture, form controls (Input Group, Combo, Select, Date/Time Pickers, Calendar, Checkbox, Radio, Switch, Slider, reactive forms), layout (Tabs, Bottom Navigation, Stepper, Accordion, Splitter, Navigation Drawer, Layout Manager), data display (List, Tree, Card, Chips, Avatar, Badge, Icon, Carousel, Paginator, Progress bar, Linear Progress Bar, Circular Progress Bar, Chat), feedback/overlays (Dialog, Snackbar, Toast, Banner), directives (Button, Ripple, Tooltip, Drag and Drop), Dock Manager, and Charts (Area Chart, Bar Chart, Column Chart, Stock/Financial Chart, Pie Chart, IgxCategoryChart, IgxFinancialChart, IgxDataChart, IgxPieChart). Use for any non-grid Ignite UI Angular UI question."
|
|
4
4
|
user-invokable: true
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -47,11 +47,11 @@ Base your code and explanation exclusively on what you read. If the reference fi
|
|
|
47
47
|
## Prerequisites
|
|
48
48
|
|
|
49
49
|
- Angular 20+ project
|
|
50
|
-
-
|
|
51
|
-
-
|
|
50
|
+
- `@angular/cli` installed
|
|
51
|
+
- `igniteui-angular` or `@infragistics/igniteui-angular` added to the project via `ng add igniteui-angular` (or the `@infragistics` variant) or `npm install` — see [Package Variants](#package-variants) below.
|
|
52
|
+
- A theme applied to the application (see [`igniteui-angular-theming`](../igniteui-angular-theming/SKILL.md)).
|
|
52
53
|
- `provideAnimations()` in `app.config.ts` — **required before using any overlay or animated component**
|
|
53
54
|
|
|
54
|
-
---
|
|
55
55
|
|
|
56
56
|
## Package Variants
|
|
57
57
|
|
|
@@ -61,6 +61,7 @@ Base your code and explanation exclusively on what you read. If the reference fi
|
|
|
61
61
|
| `@infragistics/igniteui-angular` | Requires private `@infragistics` registry | Licensed / enterprise users |
|
|
62
62
|
|
|
63
63
|
Both packages share **identical entry-point paths**. Check `package.json` and use that package name as the prefix for every import. Never import from the root barrel of either package.
|
|
64
|
+
Both packages can be added to the project using `@angular/cli` with the following commands: `ng add igniteui-angular` or `ng add @infragistics/igniteui-angular`.
|
|
64
65
|
|
|
65
66
|
---
|
|
66
67
|
|
|
@@ -64,9 +64,8 @@ Selection modes: `'None'`, `'BiCascade'`, `'Cascade'`.
|
|
|
64
64
|
```typescript
|
|
65
65
|
import { IgxCardComponent, IgxCardHeaderComponent, IgxCardContentDirective, IgxCardActionsComponent, IgxCardMediaDirective, IgxCardHeaderTitleDirective, IgxCardHeaderSubtitleDirective, IgxCardHeaderThumbnailDirective } from 'igniteui-angular/card';
|
|
66
66
|
import { IgxAvatarComponent } from 'igniteui-angular/avatar';
|
|
67
|
-
import { IgxButtonDirective } from 'igniteui-angular/
|
|
68
|
-
import { IgxRippleDirective } from 'igniteui-angular/
|
|
69
|
-
import { IgxIconButtonDirective } from 'igniteui-angular/button';
|
|
67
|
+
import { IgxButtonDirective, IgxIconButtonDirective } from 'igniteui-angular/directives';
|
|
68
|
+
import { IgxRippleDirective } from 'igniteui-angular/directives';
|
|
70
69
|
import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
71
70
|
```
|
|
72
71
|
|
|
@@ -215,8 +214,8 @@ import { IgxPaginatorComponent } from 'igniteui-angular/paginator';
|
|
|
215
214
|
> **Docs:** [Linear Progress](https://www.infragistics.com/products/ignite-ui-angular/angular/components/linear-progress) · [Circular Progress](https://www.infragistics.com/products/ignite-ui-angular/angular/components/circular-progress)
|
|
216
215
|
|
|
217
216
|
```typescript
|
|
218
|
-
import { IgxLinearProgressBarComponent } from 'igniteui-angular/
|
|
219
|
-
import { IgxCircularProgressBarComponent } from 'igniteui-angular/
|
|
217
|
+
import { IgxLinearProgressBarComponent } from 'igniteui-angular/progressbar';
|
|
218
|
+
import { IgxCircularProgressBarComponent } from 'igniteui-angular/progressbar';
|
|
220
219
|
```
|
|
221
220
|
|
|
222
221
|
```html
|
|
@@ -248,26 +247,94 @@ import { IgxChatComponent } from 'igniteui-angular/chat';
|
|
|
248
247
|
```
|
|
249
248
|
|
|
250
249
|
```html
|
|
251
|
-
<igx-chat
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
250
|
+
<igx-chat
|
|
251
|
+
[options]="options()"
|
|
252
|
+
[messages]="messages()"
|
|
253
|
+
[draftMessage]="draftMessage"
|
|
254
|
+
[templates]="templates()"
|
|
255
|
+
(messageCreated)="onMessageCreated($event)">
|
|
256
|
+
</igx-chat>
|
|
257
|
+
|
|
258
|
+
<ng-template #messageHeader let-message>
|
|
259
|
+
@if (message.sender !== 'user') {
|
|
260
|
+
<div>
|
|
261
|
+
<span style="font-weight: bold; color: #c00000;"
|
|
262
|
+
>Developer Support</span
|
|
263
|
+
>
|
|
264
|
+
</div>
|
|
265
|
+
}
|
|
266
|
+
</ng-template>
|
|
267
|
+
|
|
268
|
+
<ng-template #suggestionPrefix>
|
|
269
|
+
<span style="font-weight: bold">💡</span>
|
|
270
|
+
</ng-template>
|
|
271
|
+
|
|
272
|
+
<ng-template #messageContent let-message igxChatMessageContext>
|
|
273
|
+
<div [innerHTML]="message.text | fromMarkdown | async"></div>
|
|
274
|
+
</ng-template>
|
|
256
275
|
```
|
|
257
276
|
|
|
258
277
|
```typescript
|
|
259
|
-
import { IgxChatComponent,
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
278
|
+
import { IgxChatComponent, IgxChatMessageContextDirective, type IgxChatOptions } from 'igniteui-angular/chat';
|
|
279
|
+
import { MarkdownPipe } from 'igniteui-angular/chat-extras';
|
|
280
|
+
|
|
281
|
+
@Component({
|
|
282
|
+
selector: 'app-chat-features-sample',
|
|
283
|
+
styleUrls: ['./features-sample.component.scss'],
|
|
284
|
+
templateUrl: './features-sample.component.html',
|
|
285
|
+
imports: [IgxChatComponent, IgxChatMessageContextDirective, AsyncPipe, MarkdownPipe]
|
|
286
|
+
})
|
|
287
|
+
export class ChatFeaturesSampleComponent {
|
|
288
|
+
private _messageHeader = viewChild.required('messageHeader');
|
|
289
|
+
private _suggestionPrefix = viewChild.required('suggestionPrefix');
|
|
290
|
+
private _messageContent = viewChild.required('messageContent');
|
|
291
|
+
|
|
292
|
+
...
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
public options = signal<IgxChatOptions>({
|
|
296
|
+
disableAutoScroll: false,
|
|
297
|
+
disableInputAttachments: false,
|
|
298
|
+
inputPlaceholder: 'Type your message here...',
|
|
299
|
+
headerText: 'Developer Support',
|
|
300
|
+
suggestionsPosition: "below-input",
|
|
301
|
+
suggestions: [ 'Send me an e-mail when support is available.' ]
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
public templates = signal({});
|
|
305
|
+
|
|
306
|
+
constructor() {
|
|
307
|
+
effect(() => {
|
|
308
|
+
const messageHeader = this._messageHeader();
|
|
309
|
+
const suggestionPrefix = this._suggestionPrefix();
|
|
310
|
+
const messageContent = this._messageContent();
|
|
311
|
+
|
|
312
|
+
if (messageHeader && suggestionPrefix && messageContent) {
|
|
313
|
+
this.templates.set({
|
|
314
|
+
messageHeader: messageHeader,
|
|
315
|
+
suggestionPrefix: suggestionPrefix,
|
|
316
|
+
messageContent: messageContent
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
public onMessageCreated(e: any): void {
|
|
323
|
+
const newMessage = e;
|
|
324
|
+
this.messages.update(messages => [...messages, newMessage]);
|
|
325
|
+
this.options.update(options => ({ ...options, isTyping: true, suggestions: [] }));
|
|
326
|
+
|
|
327
|
+
const responseMessage = {
|
|
328
|
+
id: Date.now().toString(),
|
|
329
|
+
text: 'Our support team is currently unavailable. We\'ll get back to you as soon as possible.',
|
|
330
|
+
sender: 'support',
|
|
331
|
+
timestamp: Date.now().toString()
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
this.draftMessage = { text: '', attachments: [] };
|
|
335
|
+
this.messages.update(messages => [...messages, responseMessage]);
|
|
336
|
+
this.options.update(options => ({ ...options, isTyping: false }));
|
|
337
|
+
}
|
|
271
338
|
```
|
|
272
339
|
|
|
273
340
|
## See Also
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
> **Docs:** [Button Component](https://www.infragistics.com/products/ignite-ui-angular/angular/components/button)
|
|
9
9
|
|
|
10
10
|
```typescript
|
|
11
|
-
import { IgxButtonDirective, IgxIconButtonDirective } from 'igniteui-angular/
|
|
11
|
+
import { IgxButtonDirective, IgxIconButtonDirective } from 'igniteui-angular/directives';
|
|
12
12
|
import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
13
13
|
```
|
|
14
14
|
|
|
@@ -38,7 +38,7 @@ Button variants for `igxIconButton`: `'flat'`, `'outlined'`, `'contained'`.
|
|
|
38
38
|
> **Docs:** [Ripple Directive](https://www.infragistics.com/products/ignite-ui-angular/angular/components/ripple)
|
|
39
39
|
|
|
40
40
|
```typescript
|
|
41
|
-
import { IgxRippleDirective } from 'igniteui-angular/
|
|
41
|
+
import { IgxRippleDirective } from 'igniteui-angular/directives';
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
```html
|
|
@@ -58,7 +58,7 @@ Inputs: `[igxRipple]` (ripple color), `[igxRippleCentered]` (always start from c
|
|
|
58
58
|
> **Docs:** [Tooltip Directive](https://www.infragistics.com/products/ignite-ui-angular/angular/components/tooltip)
|
|
59
59
|
|
|
60
60
|
```typescript
|
|
61
|
-
import { IgxTooltipDirective, IgxTooltipTargetDirective } from 'igniteui-angular/
|
|
61
|
+
import { IgxTooltipDirective, IgxTooltipTargetDirective } from 'igniteui-angular/directives';
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
```html
|
|
@@ -84,7 +84,7 @@ hideTooltip() { this.tooltip().close(); }
|
|
|
84
84
|
> **Docs:** [Drag and Drop](https://www.infragistics.com/products/ignite-ui-angular/angular/components/drag-drop)
|
|
85
85
|
|
|
86
86
|
```typescript
|
|
87
|
-
import { IgxDragDirective, IgxDropDirective, IDragMoveEventArgs, IDropDroppedEventArgs } from 'igniteui-angular/
|
|
87
|
+
import { IgxDragDirective, IgxDropDirective, IDragMoveEventArgs, IDropDroppedEventArgs } from 'igniteui-angular/directives';
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
### Basic drag and drop
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
```typescript
|
|
13
13
|
import { IgxDialogComponent, IgxDialogTitleDirective, IgxDialogActionsDirective } from 'igniteui-angular/dialog';
|
|
14
|
-
import { IgxButtonDirective } from 'igniteui-angular/
|
|
14
|
+
import { IgxButtonDirective } from 'igniteui-angular/directives';
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
```html
|
|
@@ -50,7 +50,7 @@ Events: `(opening)`, `(opened)`, `(closing)`, `(closed)`, `(leftButtonSelect)`,
|
|
|
50
50
|
|
|
51
51
|
```typescript
|
|
52
52
|
import { IgxSnackbarComponent, IgxSnackbarActionDirective } from 'igniteui-angular/snackbar';
|
|
53
|
-
import { IgxButtonDirective } from 'igniteui-angular/
|
|
53
|
+
import { IgxButtonDirective } from 'igniteui-angular/directives';
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
```html
|
|
@@ -98,7 +98,7 @@ Toast vs Snackbar: Toast is non-interactive (no action button), always auto-hide
|
|
|
98
98
|
```typescript
|
|
99
99
|
import { IgxBannerComponent, IgxBannerActionsDirective } from 'igniteui-angular/banner';
|
|
100
100
|
import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
101
|
-
import { IgxButtonDirective } from 'igniteui-angular/
|
|
101
|
+
import { IgxButtonDirective } from 'igniteui-angular/directives';
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
```html
|
|
@@ -109,9 +109,11 @@ Implements `ControlValueAccessor` and `Validator`. Works with both reactive and
|
|
|
109
109
|
> **Docs:** [Date Range Picker](https://www.infragistics.com/products/ignite-ui-angular/angular/components/date-range-picker)
|
|
110
110
|
|
|
111
111
|
```typescript
|
|
112
|
-
import { IgxDateRangePickerComponent } from 'igniteui-angular/date-
|
|
113
|
-
import { IgxDateTimeEditorDirective } from 'igniteui-angular/
|
|
112
|
+
import { IgxDateRangePickerComponent } from 'igniteui-angular/date-picker';
|
|
113
|
+
import { IgxDateTimeEditorDirective } from 'igniteui-angular/directives';
|
|
114
114
|
import { IGX_INPUT_GROUP_DIRECTIVES } from 'igniteui-angular/input-group';
|
|
115
|
+
|
|
116
|
+
// import { IgxDateTimeEditorDirective, IGX_INPUT_GROUP_DIRECTIVES } from '@infragistics/igniteui-angular'; for licensed package
|
|
115
117
|
```
|
|
116
118
|
|
|
117
119
|
```html
|
|
@@ -186,7 +188,13 @@ import { IgxSwitchComponent } from 'igniteui-angular/switch';
|
|
|
186
188
|
> **Docs:** [Slider Component](https://www.infragistics.com/products/ignite-ui-angular/angular/components/slider/slider)
|
|
187
189
|
|
|
188
190
|
```typescript
|
|
189
|
-
import { IgxSliderComponent,
|
|
191
|
+
import { IgxSliderComponent, IgxSliderType } from 'igniteui-angular/slider';
|
|
192
|
+
|
|
193
|
+
public sliderType = IgxSliderType;
|
|
194
|
+
public priceRange = {
|
|
195
|
+
lower: 200,
|
|
196
|
+
upper: 800
|
|
197
|
+
};
|
|
190
198
|
```
|
|
191
199
|
|
|
192
200
|
```html
|
|
@@ -195,7 +203,7 @@ import { IgxSliderComponent, SliderType } from 'igniteui-angular/slider';
|
|
|
195
203
|
|
|
196
204
|
<!-- Range slider -->
|
|
197
205
|
<igx-slider
|
|
198
|
-
[type]="
|
|
206
|
+
[type]="sliderType.RANGE"
|
|
199
207
|
[minValue]="0"
|
|
200
208
|
[maxValue]="100"
|
|
201
209
|
[lowerBound]="20"
|
|
@@ -171,9 +171,9 @@ import { IgxSplitterComponent, IgxSplitterPaneComponent, SplitterType } from 'ig
|
|
|
171
171
|
> **Docs:** [Navigation Drawer](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navdrawer)
|
|
172
172
|
|
|
173
173
|
```typescript
|
|
174
|
-
import {
|
|
174
|
+
import { IgxNavigationDrawerComponent, IgxNavDrawerItemDirective, IgxNavDrawerTemplateDirective, IgxNavDrawerMiniTemplateDirective } from 'igniteui-angular/navigation-drawer';
|
|
175
175
|
import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
176
|
-
import { IgxRippleDirective } from 'igniteui-angular/
|
|
176
|
+
import { IgxRippleDirective } from 'igniteui-angular/directives';
|
|
177
177
|
```
|
|
178
178
|
|
|
179
179
|
```html
|
|
@@ -50,7 +50,7 @@ All Ignite UI components are **standalone** — no NgModules needed. Import them
|
|
|
50
50
|
|
|
51
51
|
```typescript
|
|
52
52
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
53
|
-
import { IgxButtonDirective } from 'igniteui-angular/
|
|
53
|
+
import { IgxButtonDirective } from 'igniteui-angular/directives';
|
|
54
54
|
import { IgxDialogComponent } from 'igniteui-angular/dialog';
|
|
55
55
|
|
|
56
56
|
@Component({
|
|
@@ -94,7 +94,7 @@ import { IgxComboComponent } from 'igniteui-angular';
|
|
|
94
94
|
| Stepper | `igniteui-angular/stepper` |
|
|
95
95
|
| Accordion / Expansion Panel | `igniteui-angular/expansion-panel` |
|
|
96
96
|
| Splitter | `igniteui-angular/splitter` |
|
|
97
|
-
| Navigation Drawer | `igniteui-angular/
|
|
97
|
+
| Navigation Drawer | `igniteui-angular/navigation-drawer` |
|
|
98
98
|
| Bottom Navigation | `igniteui-angular/bottom-nav` |
|
|
99
99
|
| List | `igniteui-angular/list` |
|
|
100
100
|
| Tree | `igniteui-angular/tree` |
|
|
@@ -109,18 +109,29 @@ import { IgxComboComponent } from 'igniteui-angular';
|
|
|
109
109
|
| Icon | `igniteui-angular/icon` |
|
|
110
110
|
| Carousel | `igniteui-angular/carousel` |
|
|
111
111
|
| Paginator | `igniteui-angular/paginator` |
|
|
112
|
-
| Linear Progress | `igniteui-angular/
|
|
113
|
-
| Circular Progress | `igniteui-angular/
|
|
112
|
+
| Linear Progress | `igniteui-angular/progressbar` |
|
|
113
|
+
| Circular Progress | `igniteui-angular/progressbar` |
|
|
114
114
|
| Chat | `igniteui-angular/chat` |
|
|
115
|
-
| Button / Icon Button | `igniteui-angular/
|
|
116
|
-
| Ripple | `igniteui-angular/
|
|
117
|
-
|
|
|
118
|
-
| Drag & Drop | `igniteui-angular/
|
|
115
|
+
| Button / Icon Button | `igniteui-angular/directives` |
|
|
116
|
+
| Ripple | `igniteui-angular/directives` |
|
|
117
|
+
| IgxTooltipDirective, IgxTooltipTargetDirective | `igniteui-angular/directives` |
|
|
118
|
+
| Drag & Drop | `igniteui-angular/directives` |
|
|
119
119
|
| Layout Manager (`igxLayout`, `igxFlex`) | `igniteui-angular/directives` |
|
|
120
|
+
| Core utilities, services, base types | `igniteui-angular/core` |
|
|
120
121
|
| Icon Service | `igniteui-angular/icon` |
|
|
121
122
|
| Overlay Service | `igniteui-angular/core` |
|
|
122
123
|
| **Dock Manager** | `igniteui-dockmanager` *(separate package — `npm install igniteui-dockmanager`)* |
|
|
123
124
|
|
|
125
|
+
**Grid-specific entry points** (tree-shakable imports):
|
|
126
|
+
|
|
127
|
+
| Component / Feature | Entry Point |
|
|
128
|
+
|---|---|
|
|
129
|
+
| Shared grid infrastructure (columns, toolbar, filtering, sorting, etc.) | `igniteui-angular/grids/core` |
|
|
130
|
+
| Standard grid (`IgxGridComponent`) | `igniteui-angular/grids/grid` |
|
|
131
|
+
| Tree grid (`IgxTreeGridComponent`) | `igniteui-angular/grids/tree-grid` |
|
|
132
|
+
| Hierarchical grid (`IgxHierarchicalGridComponent`, `IgxRowIslandComponent`) | `igniteui-angular/grids/hierarchical-grid` |
|
|
133
|
+
| Pivot grid (`IgxPivotGridComponent`, `IgxPivotDataSelectorComponent`) | `igniteui-angular/grids/pivot-grid` |
|
|
134
|
+
|
|
124
135
|
### Convenience Directive Collections
|
|
125
136
|
|
|
126
137
|
For complex components, use the bundled directive arrays instead of listing every sub-directive individually:
|
|
@@ -59,7 +59,7 @@ Ignite UI has **five grid types**. Picking the correct one is the most important
|
|
|
59
59
|
|
|
60
60
|
Ask these questions in order:
|
|
61
61
|
|
|
62
|
-
1. **Does the user need a lightweight, read-only data display** with sorting, filtering, and virtualization but no editing, selection, or paging? → **Grid Lite** (open-source, MIT licensed)
|
|
62
|
+
1. **Does the user need a lightweight, read-only data display** with sorting, filtering, and virtualization but no editing, selection, or paging? → **Grid Lite** (open-source, MIT licensed). **If the user later needs features beyond Grid Lite's capabilities, upgrade strictly to `igx-grid` (`IgxGridComponent`)** — never recommend non-grid components as a substitute.
|
|
63
63
|
2. **Does the user need pivot-table analytics** (rows/columns/values/aggregations that users can drag-and-drop to reshape)? → **Pivot Grid**
|
|
64
64
|
3. **Does the data have parent-child relationships where each level has a DIFFERENT schema** (e.g., Companies → Departments → Employees)? → **Hierarchical Grid**
|
|
65
65
|
4. **Does the data have parent-child relationships within a SINGLE schema** (e.g., Employees with a `managerId` field, or nested children arrays)? → **Tree Grid**
|
|
@@ -145,7 +145,8 @@ Sorting modes:
|
|
|
145
145
|
### Programmatic Sorting
|
|
146
146
|
|
|
147
147
|
```typescript
|
|
148
|
-
import { SortingDirection } from 'igniteui-angular/
|
|
148
|
+
import { SortingDirection } from 'igniteui-angular/core';
|
|
149
|
+
// import { SortingDirection } from '@infragistics/igniteui-angular/core'; for licensed package
|
|
149
150
|
|
|
150
151
|
// Sort a single column
|
|
151
152
|
this.gridRef().sort({ fieldName: 'name', dir: SortingDirection.Asc, ignoreCase: true });
|
|
@@ -161,7 +161,9 @@ onChildGridCreated(event: IGridCreatedEventArgs) {
|
|
|
161
161
|
|
|
162
162
|
The **lightest grid option** — an open-source (MIT licensed) Web Component with an Angular wrapper. Use it for **read-only data display** with sorting, filtering, column hiding/resizing, and row virtualization. It has **no editing, no selection, no paging, no grouping, no summaries, no export**.
|
|
163
163
|
|
|
164
|
-
> **When to recommend Grid Lite vs. Flat Grid**: If the user only needs to display data with basic sorting/filtering and doesn't need editing, batch operations, paging, grouping, summaries, or export, Grid Lite is the lighter, faster choice. If any of those enterprise features are needed,
|
|
164
|
+
> **When to recommend Grid Lite vs. Flat Grid**: If the user only needs to display data with basic sorting/filtering and doesn't need editing, batch operations, paging, grouping, summaries, or export, Grid Lite is the lighter, faster choice. If any of those enterprise features are needed, **upgrade strictly to `igx-grid` (`IgxGridComponent`)** from `igniteui-angular/grids/grid` — do NOT recommend other non-grid components as a substitute.
|
|
165
|
+
|
|
166
|
+
> **AGENT INSTRUCTION — Grid Lite → Grid Upgrade**: When a user is working with `igx-grid-lite` and you identify that their requirements exceed Grid Lite's capabilities (e.g., they need editing, selection, paging, grouping, summaries, export, row operations, or any feature not available in Grid Lite), you MUST recommend upgrading to `igx-grid` (`IgxGridComponent`). Never suggest a different component type — the upgrade path from Grid Lite is always to `igx-grid`. Replace `IgxGridLiteComponent` with `IgxGridComponent`, update imports from `igniteui-angular/grids/lite` to `igniteui-angular/grids/grid`, use `IGX_GRID_DIRECTIVES` instead of individual Grid Lite imports, and remove `CUSTOM_ELEMENTS_SCHEMA`.
|
|
165
167
|
|
|
166
168
|
### Installation
|
|
167
169
|
|
|
@@ -114,6 +114,8 @@ type IgxGridLiteFilteringExpression<T extends object = any> = FilterExpression<T
|
|
|
114
114
|
* @fires sorted - Emitted when a sort operation initiated through the UI has completed.
|
|
115
115
|
* @fires filtering - Emitted when filtering is initiated through the UI.
|
|
116
116
|
* @fires filtered - Emitted when a filter operation initiated through the UI has completed.
|
|
117
|
+
*
|
|
118
|
+
* @developerPreview 21.1.0
|
|
117
119
|
*/
|
|
118
120
|
declare class IgxGridLiteComponent<T extends object = any> implements OnInit {
|
|
119
121
|
private readonly gridRef;
|