UNPKG

@progress/kendo-angular-grid

Version:

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

107 lines (106 loc) 4.62 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Component, forwardRef, SkipSelf, Host, Optional, Input, ContentChildren, QueryList } from '@angular/core'; import { ColumnBase } from './column-base'; import { IdService } from '../common/id.service'; import { RowDragHandleTemplateDirective } from '../row-reordering/drag-handle-template.directive'; import { RowDragHintTemplateDirective } from '../row-reordering/drag-hint-template.directive'; import * as i0 from "@angular/core"; import * as i1 from "./column-base"; import * as i2 from "../common/id.service"; /** * Represents the drag handle for reordering rows in the Grid ([see example](slug:reordering_rows_grid)) */ export class RowReorderColumnComponent extends ColumnBase { parent; /** * Defines the name for an existing font icon in the Kendo UI theme. * @hidden */ dragHandleIcon; /** * Defines an SVGIcon to be rendered as a drag handle. * @hidden */ dragHandleSVGIcon; /** * @hidden */ dragHandleTemplate = new QueryList(); /** * @hidden */ dragHintTemplate = new QueryList(); /** * @hidden */ isRowReorderColumn = true; /** * @hidden */ get rowDragHandleTemplateRef() { const rowTemplate = this.dragHandleTemplate.first; return rowTemplate ? rowTemplate.templateRef : undefined; } /** * @hidden */ get rowDragHintTemplateRef() { const rowTemplate = this.dragHintTemplate.first; return rowTemplate ? rowTemplate.templateRef : undefined; } constructor(parent, idService) { super(parent, idService); this.parent = parent; } /** * Defines a function that is used to determine the rowspan of each column cell. */ set cellRowspan(cellRowspan) { super.cellRowspan = cellRowspan; } get cellRowspan() { return super.cellRowspan; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowReorderColumnComponent, deps: [{ token: i1.ColumnBase, host: true, optional: true, skipSelf: true }, { token: i2.IdService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RowReorderColumnComponent, isStandalone: true, selector: "kendo-grid-rowreorder-column", inputs: { dragHandleIcon: "dragHandleIcon", dragHandleSVGIcon: "dragHandleSVGIcon" }, providers: [ { provide: ColumnBase, useExisting: forwardRef(() => RowReorderColumnComponent) } ], queries: [{ propertyName: "dragHandleTemplate", predicate: RowDragHandleTemplateDirective }, { propertyName: "dragHintTemplate", predicate: RowDragHintTemplateDirective }], usesInheritance: true, ngImport: i0, template: ``, isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowReorderColumnComponent, decorators: [{ type: Component, args: [{ providers: [ { provide: ColumnBase, useExisting: forwardRef(() => RowReorderColumnComponent) } ], selector: 'kendo-grid-rowreorder-column', template: ``, standalone: true }] }], ctorParameters: function () { return [{ type: i1.ColumnBase, decorators: [{ type: SkipSelf }, { type: Host }, { type: Optional }] }, { type: i2.IdService, decorators: [{ type: Optional }] }]; }, propDecorators: { dragHandleIcon: [{ type: Input }], dragHandleSVGIcon: [{ type: Input }], dragHandleTemplate: [{ type: ContentChildren, args: [RowDragHandleTemplateDirective, { descendants: false }] }], dragHintTemplate: [{ type: ContentChildren, args: [RowDragHintTemplateDirective, { descendants: false }] }] } });