Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/devextreme-angular/src/core/tokens/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ export const PROPERTY_TOKEN_alerts = new InjectionToken<string>('property-token-
export const PROPERTY_TOKEN_attachments = new InjectionToken<string>('property-token-attachments');
export const PROPERTY_TOKEN_typingUsers = new InjectionToken<string>('property-token-typingUsers');
export const PROPERTY_TOKEN_ranges = new InjectionToken<string>('property-token-ranges');
export const PROPERTY_TOKEN_groupItems = new InjectionToken<string>('property-token-groupItems');
export const PROPERTY_TOKEN_sortByGroupSummaryInfo = new InjectionToken<string>('property-token-sortByGroupSummaryInfo');
export const PROPERTY_TOKEN_groupItems = new InjectionToken<string>('property-token-groupItems');
export const PROPERTY_TOKEN_totalItems = new InjectionToken<string>('property-token-totalItems');
export const PROPERTY_TOKEN_commands = new InjectionToken<string>('property-token-commands');
export const PROPERTY_TOKEN_connectionPoints = new InjectionToken<string>('property-token-connectionPoints');
Expand Down
56 changes: 46 additions & 10 deletions packages/devextreme-angular/src/ui/data-grid/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@ import { DxiDataGridAsyncRuleModule } from 'devextreme-angular/ui/data-grid/nest
import { DxoDataGridAtModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridBoundaryOffsetModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridButtonModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridButtonItemModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridButtonOptionsModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridChangeModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridColCountByScreenModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridCollisionModule } from 'devextreme-angular/ui/data-grid/nested';
Expand All @@ -147,11 +149,13 @@ import { DxoDataGridDataGridHeaderFilterModule } from 'devextreme-angular/ui/dat
import { DxoDataGridDataGridHeaderFilterSearchModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridDataGridHeaderFilterTextsModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridDataGridSelectionModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridDataGridToolbarItemModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridEditingModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridEditingTextsModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridEditorOptionsModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridEditorOptionsButtonModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridEmailRuleModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridEmptyItemModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridExportModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridExportTextsModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridFieldModule } from 'devextreme-angular/ui/data-grid/nested';
Expand Down Expand Up @@ -200,12 +204,18 @@ import { DxoDataGridSearchModule } from 'devextreme-angular/ui/data-grid/nested'
import { DxoDataGridSearchPanelModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridSelectionModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridShowModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridSimpleItemModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridSortByGroupSummaryInfoModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridSortingModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridStateStoringModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridStringLengthRuleModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridSummaryModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridSummaryGroupItemModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridSummaryTextsModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridTabModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridTabbedItemModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridTabPanelOptionsModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxiDataGridTabPanelOptionsItemModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridTextsModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridToModule } from 'devextreme-angular/ui/data-grid/nested';
import { DxoDataGridToolbarModule } from 'devextreme-angular/ui/data-grid/nested';
Expand All @@ -216,13 +226,14 @@ import { DxoDataGridValueFormatModule } from 'devextreme-angular/ui/data-grid/ne
import {
PROPERTY_TOKEN_validationRules,
PROPERTY_TOKEN_buttons,
PROPERTY_TOKEN_items,
PROPERTY_TOKEN_changes,
PROPERTY_TOKEN_columns,
PROPERTY_TOKEN_customOperations,
PROPERTY_TOKEN_fields,
PROPERTY_TOKEN_groupItems,
PROPERTY_TOKEN_items,
PROPERTY_TOKEN_sortByGroupSummaryInfo,
PROPERTY_TOKEN_groupItems,
PROPERTY_TOKEN_tabs,
PROPERTY_TOKEN_toolbarItems,
PROPERTY_TOKEN_totalItems,
} from 'devextreme-angular/core/tokens';
Expand Down Expand Up @@ -257,6 +268,11 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
this.setChildren('buttons', value);
}

@ContentChildren(PROPERTY_TOKEN_items)
set _itemsContentChildren(value: QueryList<CollectionNestedOption>) {
this.setChildren('items', value);
}

@ContentChildren(PROPERTY_TOKEN_changes)
set _changesContentChildren(value: QueryList<CollectionNestedOption>) {
this.setChildren('changes', value);
Expand All @@ -277,19 +293,19 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
this.setChildren('fields', value);
}

@ContentChildren(PROPERTY_TOKEN_sortByGroupSummaryInfo)
set _sortByGroupSummaryInfoContentChildren(value: QueryList<CollectionNestedOption>) {
this.setChildren('sortByGroupSummaryInfo', value);
}

@ContentChildren(PROPERTY_TOKEN_groupItems)
set _groupItemsContentChildren(value: QueryList<CollectionNestedOption>) {
this.setChildren('groupItems', value);
}

@ContentChildren(PROPERTY_TOKEN_items)
set _itemsContentChildren(value: QueryList<CollectionNestedOption>) {
this.setChildren('items', value);
}

@ContentChildren(PROPERTY_TOKEN_sortByGroupSummaryInfo)
set _sortByGroupSummaryInfoContentChildren(value: QueryList<CollectionNestedOption>) {
this.setChildren('sortByGroupSummaryInfo', value);
@ContentChildren(PROPERTY_TOKEN_tabs)
set _tabsContentChildren(value: QueryList<CollectionNestedOption>) {
this.setChildren('tabs', value);
}

@ContentChildren(PROPERTY_TOKEN_toolbarItems)
Expand Down Expand Up @@ -2422,6 +2438,8 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
DxoDataGridAtModule,
DxoDataGridBoundaryOffsetModule,
DxiDataGridButtonModule,
DxiDataGridButtonItemModule,
DxoDataGridButtonOptionsModule,
DxiDataGridChangeModule,
DxoDataGridColCountByScreenModule,
DxoDataGridCollisionModule,
Expand All @@ -2443,11 +2461,13 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
DxoDataGridDataGridHeaderFilterSearchModule,
DxoDataGridDataGridHeaderFilterTextsModule,
DxoDataGridDataGridSelectionModule,
DxiDataGridDataGridToolbarItemModule,
DxoDataGridEditingModule,
DxoDataGridEditingTextsModule,
DxoDataGridEditorOptionsModule,
DxiDataGridEditorOptionsButtonModule,
DxiDataGridEmailRuleModule,
DxiDataGridEmptyItemModule,
DxoDataGridExportModule,
DxoDataGridExportTextsModule,
DxiDataGridFieldModule,
Expand Down Expand Up @@ -2496,12 +2516,18 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
DxoDataGridSearchPanelModule,
DxoDataGridSelectionModule,
DxoDataGridShowModule,
DxiDataGridSimpleItemModule,
DxiDataGridSortByGroupSummaryInfoModule,
DxoDataGridSortingModule,
DxoDataGridStateStoringModule,
DxiDataGridStringLengthRuleModule,
DxoDataGridSummaryModule,
DxiDataGridSummaryGroupItemModule,
DxoDataGridSummaryTextsModule,
DxiDataGridTabModule,
DxiDataGridTabbedItemModule,
DxoDataGridTabPanelOptionsModule,
DxiDataGridTabPanelOptionsItemModule,
DxoDataGridTextsModule,
DxoDataGridToModule,
DxoDataGridToolbarModule,
Expand Down Expand Up @@ -2585,6 +2611,8 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
DxoDataGridAtModule,
DxoDataGridBoundaryOffsetModule,
DxiDataGridButtonModule,
DxiDataGridButtonItemModule,
DxoDataGridButtonOptionsModule,
DxiDataGridChangeModule,
DxoDataGridColCountByScreenModule,
DxoDataGridCollisionModule,
Expand All @@ -2606,11 +2634,13 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
DxoDataGridDataGridHeaderFilterSearchModule,
DxoDataGridDataGridHeaderFilterTextsModule,
DxoDataGridDataGridSelectionModule,
DxiDataGridDataGridToolbarItemModule,
DxoDataGridEditingModule,
DxoDataGridEditingTextsModule,
DxoDataGridEditorOptionsModule,
DxiDataGridEditorOptionsButtonModule,
DxiDataGridEmailRuleModule,
DxiDataGridEmptyItemModule,
DxoDataGridExportModule,
DxoDataGridExportTextsModule,
DxiDataGridFieldModule,
Expand Down Expand Up @@ -2659,12 +2689,18 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
DxoDataGridSearchPanelModule,
DxoDataGridSelectionModule,
DxoDataGridShowModule,
DxiDataGridSimpleItemModule,
DxiDataGridSortByGroupSummaryInfoModule,
DxoDataGridSortingModule,
DxoDataGridStateStoringModule,
DxiDataGridStringLengthRuleModule,
DxoDataGridSummaryModule,
DxiDataGridSummaryGroupItemModule,
DxoDataGridSummaryTextsModule,
DxiDataGridTabModule,
DxiDataGridTabbedItemModule,
DxoDataGridTabPanelOptionsModule,
DxiDataGridTabPanelOptionsItemModule,
DxoDataGridTextsModule,
DxoDataGridToModule,
DxoDataGridToolbarModule,
Expand Down
145 changes: 145 additions & 0 deletions packages/devextreme-angular/src/ui/data-grid/nested/button-item-dxi.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
/* tslint:disable:max-line-length */


import {
Component,
NgModule,
Host,
SkipSelf,
Input
} from '@angular/core';




import { dxButtonOptions } from 'devextreme/ui/button';
import { HorizontalAlignment, VerticalAlignment } from 'devextreme/common';
import { FormItemType, FormPredefinedButtonItem } from 'devextreme/ui/form';

import {
DxIntegrationModule,
NestedOptionHost,
} from 'devextreme-angular/core';
import { CollectionNestedOption } from 'devextreme-angular/core';

import { PROPERTY_TOKEN_items } from 'devextreme-angular/core/tokens';

@Component({
selector: 'dxi-data-grid-button-item',
standalone: true,
template: '',
styles: [''],
imports: [ DxIntegrationModule ],
providers: [
NestedOptionHost,
{
provide: PROPERTY_TOKEN_items,
useExisting: DxiDataGridButtonItemComponent,
}
]
})
export class DxiDataGridButtonItemComponent extends CollectionNestedOption {
@Input()
get buttonOptions(): dxButtonOptions | undefined {
return this._getOption('buttonOptions');
}
set buttonOptions(value: dxButtonOptions | undefined) {
this._setOption('buttonOptions', value);
}

@Input()
get colSpan(): number | undefined {
return this._getOption('colSpan');
}
set colSpan(value: number | undefined) {
this._setOption('colSpan', value);
}

@Input()
get cssClass(): string | undefined {
return this._getOption('cssClass');
}
set cssClass(value: string | undefined) {
this._setOption('cssClass', value);
}

@Input()
get horizontalAlignment(): HorizontalAlignment {
return this._getOption('horizontalAlignment');
}
set horizontalAlignment(value: HorizontalAlignment) {
this._setOption('horizontalAlignment', value);
}

@Input()
get itemType(): FormItemType {
return this._getOption('itemType');
}
set itemType(value: FormItemType) {
this._setOption('itemType', value);
}

@Input()
get name(): FormPredefinedButtonItem | string | undefined {
return this._getOption('name');
}
set name(value: FormPredefinedButtonItem | string | undefined) {
this._setOption('name', value);
}

@Input()
get verticalAlignment(): VerticalAlignment {
return this._getOption('verticalAlignment');
}
set verticalAlignment(value: VerticalAlignment) {
this._setOption('verticalAlignment', value);
}

@Input()
get visible(): boolean {
return this._getOption('visible');
}
set visible(value: boolean) {
this._setOption('visible', value);
}

@Input()
get visibleIndex(): number | undefined {
return this._getOption('visibleIndex');
}
set visibleIndex(value: number | undefined) {
this._setOption('visibleIndex', value);
}


protected get _optionPath() {
return 'items';
}


constructor(@SkipSelf() @Host() parentOptionHost: NestedOptionHost,
@Host() optionHost: NestedOptionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
this.itemType = 'button';

}



ngOnDestroy() {
this._deleteRemovedOptions(this._fullOptionPath());
}

}

@NgModule({
imports: [
DxiDataGridButtonItemComponent
],
exports: [
DxiDataGridButtonItemComponent
],
})
export class DxiDataGridButtonItemModule { }
Loading
Loading