UNPKG

@progress/kendo-angular-grid

Version:

Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.

473 lines (472 loc) 21.1 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ // DRAGGABLE COLUMN import { DraggableColumnDirective } from "./dragdrop/draggable-column.directive"; import { DropTargetDirective } from "./dragdrop/drop-target.directive"; // SHARED import { ColumnComponent } from './columns/column.component'; import { SpanColumnComponent } from './columns/span-column.component'; import { ColumnGroupComponent } from './columns/column-group.component'; import { FooterTemplateDirective } from './rendering/footer/footer-template.directive'; import { ColGroupComponent } from './rendering/common/col-group.component'; import { LoadingComponent } from './rendering/common/loading.component'; import { ResizableContainerDirective } from './layout/resizable.directive'; import { DetailTemplateDirective } from './rendering/details/detail-template.directive'; import { LogicalCellDirective } from './navigation/logical-cell.directive'; import { LogicalRowDirective } from './navigation/logical-row.directive'; import { FieldAccessorPipe } from "./rendering/common/field-accessor.pipe"; import { FocusableDirective } from "./navigation/focusable.directive"; import { GridTableDirective } from './rendering/grid-table.directive'; // GROUPING import { GroupHeaderTemplateDirective } from './grouping/group-header-template.directive'; import { GroupHeaderColumnTemplateDirective } from './grouping/group-header-column-template.directive'; import { GroupHeaderComponent } from './grouping/group-header.component'; import { GroupFooterTemplateDirective } from './grouping/group-footer-template.directive'; import { GroupPanelComponent } from './grouping/group-panel.component'; // FILTERING import { ContainsFilterOperatorComponent } from './filtering/operators/contains-filter-operator.component'; import { DoesNotContainFilterOperatorComponent } from './filtering/operators/not-contains-filter-operator.component'; import { EndsWithFilterOperatorComponent } from './filtering/operators/ends-with-filter-operator.component'; import { EqualFilterOperatorComponent } from './filtering/operators/eq-filter-operator.component'; import { IsEmptyFilterOperatorComponent } from './filtering/operators/is-empty-filter-operator.component'; import { IsNotEmptyFilterOperatorComponent } from './filtering/operators/is-not-empty-filter-operator.component'; import { IsNotNullFilterOperatorComponent } from './filtering/operators/is-not-null-filter-operator.component'; import { IsNullFilterOperatorComponent } from './filtering/operators/isnull-filter-operator.component'; import { NotEqualFilterOperatorComponent } from './filtering/operators/neq-filter-operator.component'; import { StartsWithFilterOperatorComponent } from './filtering/operators/starts-with-filter-operator.component'; import { GreaterFilterOperatorComponent } from './filtering/operators/gt-filter-operator.component'; import { GreaterOrEqualToFilterOperatorComponent } from './filtering/operators/gte-filter-operator.component'; import { LessFilterOperatorComponent } from './filtering/operators/lt-filter-operator.component'; import { LessOrEqualToFilterOperatorComponent } from './filtering/operators/lte-filter-operator.component'; import { AfterFilterOperatorComponent } from './filtering/operators/after-filter-operator.component'; import { AfterEqFilterOperatorComponent } from './filtering/operators/after-eq-filter-operator.component'; import { BeforeEqFilterOperatorComponent } from './filtering/operators/before-eq-filter-operator.component'; import { BeforeFilterOperatorComponent } from './filtering/operators/before-filter-operator.component'; import { FilterCellOperatorsComponent } from "./filtering/cell/filter-cell-operators.component"; import { FilterInputDirective } from "./filtering/filter-input.directive"; import { FilterMenuComponent } from "./filtering/menu/filter-menu.component"; import { FilterMenuContainerComponent } from "./filtering/menu/filter-menu-container.component"; import { FilterMenuInputWrapperComponent } from "./filtering/menu/filter-menu-input-wrapper.component"; import { StringFilterMenuInputComponent } from "./filtering/menu/string-filter-menu-input.component"; import { StringFilterMenuComponent } from "./filtering/menu/string-filter-menu.component"; import { FilterMenuTemplateDirective } from "./filtering/menu/filter-menu-template.directive"; import { NumericFilterMenuComponent } from "./filtering/menu/numeric-filter-menu.component"; import { NumericFilterMenuInputComponent } from "./filtering/menu/numeric-filter-menu-input.component"; import { DateFilterMenuInputComponent } from "./filtering/menu/date-filter-menu-input.component"; import { DateFilterMenuComponent } from "./filtering/menu/date-filter-menu.component"; import { FilterMenuHostDirective } from "./filtering/menu/filter-menu-host.directive"; import { BooleanFilterMenuComponent } from "./filtering/menu/boolean-filter-menu.component"; import { FilterMenuDropDownListDirective } from "./filtering/menu/filter-menu-dropdownlist.directive"; import { BooleanFilterRadioButtonDirective } from "./filtering/menu/filter-radio-button.directive"; import { AutoCompleteFilterCellComponent } from "./filtering/cell/autocomplete-filter-cell.component"; import { BooleanFilterCellComponent } from "./filtering/cell/boolean-filter-cell.component"; import { DateFilterCellComponent } from "./filtering/cell/date-filter-cell.component"; import { FilterCellHostDirective } from "./filtering/cell/filter-cell-host.directive"; import { FilterCellTemplateDirective } from "./filtering/cell/filter-cell-template.directive"; import { FilterCellWrapperComponent } from "./filtering/cell/filter-cell-wrapper.component"; import { FilterCellComponent } from "./filtering/cell/filter-cell.component"; import { NumericFilterCellComponent } from "./filtering/cell/numeric-filter-cell.component"; import { StringFilterCellComponent } from "./filtering/cell/string-filter-cell.component"; import { FilterRowComponent } from "./filtering/filter-row.component"; // COLUMN MENU import { ColumnMenuChooserItemCheckedDirective } from "./column-menu/column-chooser-item-checked.directive"; import { ColumnChooserComponent } from "./column-menu/column-chooser.component"; import { ColumnChooserToolbarDirective } from "./column-menu/column-chooser-tool.directive"; import { ColumnListComponent } from "./column-menu/column-list.component"; import { ColumnMenuAutoSizeAllColumnsComponent } from "./column-menu/column-menu-autosize-all.component"; import { ColumnMenuAutoSizeColumnComponent } from "./column-menu/column-menu-autosize.component"; import { ColumnMenuChooserComponent } from "./column-menu/column-menu-chooser.component"; import { ColumnMenuContainerComponent } from "./column-menu/column-menu-container.component"; import { ColumnMenuFilterComponent } from "./column-menu/column-menu-filter.component"; import { ColumnMenuItemContentTemplateDirective } from "./column-menu/column-menu-item-content-template.directive"; import { ColumnMenuItemComponent } from "./column-menu/column-menu-item.component"; import { ColumnMenuItemDirective } from "./column-menu/column-menu-item.directive"; import { ColumnMenuLockComponent } from "./column-menu/column-menu-lock.component"; import { ColumnMenuPositionComponent } from "./column-menu/column-menu-position.component"; import { ColumnMenuSortComponent } from "./column-menu/column-menu-sort.component"; import { ColumnMenuStickComponent } from "./column-menu/column-menu-stick.component"; import { ColumnMenuTemplateDirective } from "./column-menu/column-menu-template.directive"; import { ColumnMenuComponent } from "./column-menu/column-menu.component"; // EXCEL EXPORT import { ExcelComponent } from "./excel/excel.component"; import { ExcelCommandDirective } from "./excel/excel-command.directive"; import { ColumnComponent as ExcelColumnComponent, ColumnGroupComponent as ExcelColumnGroupComponent, FooterTemplateDirective as ExcelFooterTemplateDirective, GroupFooterTemplateDirective as ExcelGroupFooterTemplateDirective, GroupHeaderTemplateDirective as ExcelGroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective as ExcelGroupHeaderColumnTemplateDirective } from '@progress/kendo-angular-excel-export'; // PDF EXPORT import { PDFComponent } from "./pdf/pdf.component"; import { PDFMarginComponent } from "./pdf/pdf-margin.component"; import { PDFCommandDirective } from "./pdf/pdf-command.directive"; import { PDFTemplateDirective } from "./pdf/pdf-template.directive"; // HEADER import { HeaderComponent } from "./rendering/header/header.component"; import { HeaderTemplateDirective } from "./rendering/header/header-template.directive"; import { ColumnHandleDirective } from "./column-resizing/column-handle.directive"; import { SelectAllCheckboxDirective } from "./selection/selectall-checkbox.directive"; import { FooterComponent } from "./rendering/footer/footer.component"; import { CommandColumnComponent } from "./columns/command-column.component"; import { CheckboxColumnComponent } from "./columns/checkbox-column.component"; import { SelectionCheckboxDirective } from "./selection/selection-checkbox.directive"; import { CellTemplateDirective } from "./rendering/cell-template.directive"; import { EditTemplateDirective } from "./editing/edit-template.directive"; import { TableBodyComponent } from "./rendering/table-body.component"; import { NoRecordsTemplateDirective } from "./rendering/no-records-template.directive"; import { CellComponent } from "./rendering/cell.component"; import { EditCommandDirective } from "./editing/edit-command.directive"; import { CancelCommandDirective } from "./editing/cancel-command.directive"; import { SaveCommandDirective } from "./editing/save-command.directive"; import { RemoveCommandDirective } from "./editing/remove-command.directive"; import { AddCommandDirective } from "./editing/add-command.directive"; import { CellLoadingTemplateDirective } from "./rendering/cell-loading.template.directive"; import { LoadingTemplateDirective } from "./rendering/loading-template.directive"; import { RowReorderColumnComponent } from "./columns/reorder-column.component"; import { GridComponent } from "./grid.component"; import { ListComponent } from "./rendering/list.component"; import { ToolbarComponent } from "./rendering/toolbar/toolbar.component"; import { LocalizedMessagesDirective } from "./localization/localized-messages.directive"; import { CustomMessagesComponent } from "./localization/custom-messages.component"; import { DataBindingDirective } from "./databinding.directive"; import { ToolbarTemplateDirective } from "./rendering/toolbar/toolbar-template.directive"; import { SelectionDirective } from "./selection/selection.directive"; import { TemplateEditingDirective } from "./editing-directives/template-editing.directive"; import { ReactiveEditingDirective } from "./editing-directives/reactive-editing.directive"; import { InCellEditingDirective } from "./editing-directives/in-cell-editing.directive"; import { ExternalEditingDirective } from "./editing-directives/external-editing.directive"; import { ExpandDetailsDirective } from "./rendering/details-expand.directive"; import { ExpandGroupDirective } from "./rendering/groups-expand.directive"; import { GroupBindingDirective } from "./grouping/group-scroll-binding.directive"; import { GridMarqueeDirective } from "./selection/marquee.directive"; import { GridSpacerComponent } from "./rendering/common/spacer.component"; import { GridToolbarFocusableDirective } from "./rendering/toolbar/toolbar-focusable.directive"; import { StatusBarComponent } from "./aggregates/status-bar.component"; import { StatusBarTemplateDirective } from "./aggregates/status-bar-template.directive"; import { GridClipboardDirective } from "./common/clipboard.directive"; import { TemplateContextDirective } from "@progress/kendo-angular-common"; import { PDFCommandToolbarDirective } from "./pdf/pdf-command-tool.directive"; import { ExcelCommandToolbarDirective } from "./excel/excel-command-tool.directive"; import { AddCommandToolbarDirective } from "./editing/add-command-tool.directive"; import { RowDragHandleTemplateDirective } from "./row-reordering/drag-handle-template.directive"; import { RowDragHintTemplateDirective } from "./row-reordering/drag-hint-template.directive"; import { DialogFormComponent, FormComponent, FormFormFieldComponent } from "./editing/form"; /** * @hidden * * Utility array that contains all column dragging components and directives */ export const KENDO_GRID_COLUMN_DRAGANDDROP = [ DraggableColumnDirective, DropTargetDirective ]; /** * @hidden * * Utility array that contains the former Shared module exports */ export const KENDO_GRID_SHARED = [ ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective ]; /** * @hidden * * Utility array that contains the former Group module exports */ export const KENDO_GRID_GROUP_EXPORTS = [ GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ]; /** * @hidden * * Utility array that contains the filter operator components */ export const KENDO_GRID_FILTER_OPERATORS = [ FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent ]; /** * @hidden * * Utility array that contains the former SharedFilterModule exports */ export const KENDO_GRID_FILTER_SHARED = [ ...KENDO_GRID_SHARED, ...KENDO_GRID_FILTER_OPERATORS, FilterInputDirective, ]; /** * @hidden * * Utility array that contains the former FilterMenuModule declarations */ export const KENDO_GRID_FILTER_MENU_EXPORTS = [ FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective ]; /** * @hidden * * Utility array that contains the former FilterMenuModule exports */ export const KENDO_GRID_FILTER_MENU = [ ...KENDO_GRID_FILTER_SHARED, ...KENDO_GRID_FILTER_MENU_EXPORTS ]; /** * @hidden * * Utility array that contains the former RowFilterModule declarations */ export const KENDO_GRID_FILTER_ROW_EXPORTS = [ FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent ]; /** * @hidden * * Utility array that contains the former RowFilterModule exports */ export const KENDO_GRID_FILTER_ROW = [ ...KENDO_GRID_FILTER_ROW_EXPORTS, ...KENDO_GRID_FILTER_SHARED ]; /** * @hidden * * Utility array that contains the former ColumnMenu module declarations */ export const KENDO_GRID_COLUMN_MENU_DECLARATIONS = [ ColumnMenuChooserItemCheckedDirective, ColumnListComponent, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent ]; /** * @hidden * * Utility array that contains the former ColumnMenu module exports */ export const KENDO_GRID_COLUMN_MENU_EXPORTS = [ ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent ]; /** * @hidden */ export const KENDO_GRID_HEADER_EXPORTS = [ HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective ]; /** * @hidden * * Utility array that contains the Footer module exports */ export const KENDO_GRID_FOOTER_EXPORTS = [FooterComponent]; /** * @hidden * * Utility array that contains the Body module exports */ export const KENDO_GRID_BODY_EXPORTS = [ CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent ]; /** * @hidden * * Utility array that contains the Grid module declarations */ export const KENDO_GRID_DECLARATIONS = [ GridComponent, ListComponent, ToolbarComponent, LocalizedMessagesDirective, CustomMessagesComponent, DataBindingDirective, ToolbarTemplateDirective, SelectionDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GroupBindingDirective, GridMarqueeDirective, GridSpacerComponent, GridToolbarFocusableDirective, StatusBarComponent, StatusBarTemplateDirective, GridClipboardDirective, FormComponent, DialogFormComponent, FormFormFieldComponent ]; /** * @hidden * * Utility array that contains the Grid module exports */ export const KENDO_GRID_EXPORTS = [ GridComponent, ToolbarTemplateDirective, ToolbarComponent, GridSpacerComponent, StatusBarTemplateDirective, DataBindingDirective, SelectionDirective, CustomMessagesComponent, GroupBindingDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GridToolbarFocusableDirective, ...KENDO_GRID_GROUP_EXPORTS, ...KENDO_GRID_SHARED, ...KENDO_GRID_BODY_EXPORTS, ...KENDO_GRID_HEADER_EXPORTS, ...KENDO_GRID_FILTER_ROW_EXPORTS, ...KENDO_GRID_FILTER_OPERATORS, ...KENDO_GRID_FILTER_MENU_EXPORTS, ...KENDO_GRID_COLUMN_MENU_EXPORTS, GridClipboardDirective ]; /** * @hidden * * Utility array that contains the ExcelExport module exports */ export const KENDO_GRID_EXCEL_EXPORT = [ ExcelComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, ExcelColumnComponent, ExcelColumnGroupComponent, ExcelFooterTemplateDirective, ExcelGroupFooterTemplateDirective, ExcelGroupHeaderColumnTemplateDirective, ExcelGroupHeaderTemplateDirective ]; /** * @hidden * * Utility array that contains the PDFModule declarations and exports */ export const KENDO_GRID_PDF_EXPORT = [ PDFComponent, PDFMarginComponent, PDFCommandDirective, PDFTemplateDirective, PDFCommandToolbarDirective ]; /** * Utility array that contains all `Grid` related components and directives */ export const KENDO_GRID = [ ...KENDO_GRID_EXPORTS, ...KENDO_GRID_EXCEL_EXPORT, ...KENDO_GRID_PDF_EXPORT ];