@siemens/ngx-datatable
Version:
ngx-datatable is an Angular table grid component for presenting large and complex data.
39 lines (38 loc) • 2.23 kB
TypeScript
import { OnDestroy } from '@angular/core';
import { Subscription } from 'rxjs';
import { DraggableDragEvent, TableColumnInternal } from '../types/internal.types';
import * as i0 from "@angular/core";
/**
* Draggable Directive for Angular2
*
* Inspiration:
* https://github.com/AngularClass/angular-examples/blob/master/rx-draggable/directives/draggable.ts
* http://stackoverflow.com/questions/35662530/how-to-implement-drag-and-drop-in-angular2
*
*/
export declare class DraggableDirective implements OnDestroy {
readonly element: HTMLElement;
readonly dragModel: import("@angular/core").InputSignal<TableColumnInternal>;
readonly dragEventTarget: import("@angular/core").InputSignal<MouseEvent | TouchEvent | undefined>;
readonly dragX: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
readonly dragY: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
readonly dragStart: import("@angular/core").OutputEmitterRef<DraggableDragEvent>;
readonly dragging: import("@angular/core").OutputEmitterRef<DraggableDragEvent>;
readonly dragEnd: import("@angular/core").OutputEmitterRef<DraggableDragEvent>;
readonly isDragging: import("@angular/core").WritableSignal<boolean>;
subscription?: Subscription;
private frameId?;
private last?;
constructor();
ngOnDestroy(): void;
onMousedown(event: MouseEvent | TouchEvent): void;
move(event: MouseEvent | TouchEvent, mouseDownPos: {
clientX: number;
clientY: number;
}): void;
onMouseup(event: MouseEvent | TouchEvent): void;
private updatePosition;
private _destroySubscription;
static ɵfac: i0.ɵɵFactoryDeclaration<DraggableDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<DraggableDirective, "[draggable]", never, { "dragModel": { "alias": "dragModel"; "required": true; "isSignal": true; }; "dragEventTarget": { "alias": "dragEventTarget"; "required": false; "isSignal": true; }; "dragX": { "alias": "dragX"; "required": false; "isSignal": true; }; "dragY": { "alias": "dragY"; "required": false; "isSignal": true; }; }, { "dragStart": "dragStart"; "dragging": "dragging"; "dragEnd": "dragEnd"; }, never, never, true, never>;
}