@ng-formworks/core
Version:
Angular ng-formworks - JSON Schema Form builder core
42 lines (41 loc) • 2.01 kB
TypeScript
import { OnDestroy, OnInit } from '@angular/core';
import * as i0 from "@angular/core";
/**
* OrderableDirective
*
* Enables array elements to be reordered by dragging and dropping.
*
* Only works for arrays that have at least two elements.
*
* Also detects arrays-within-arrays, and correctly moves either
* the child array element or the parent array element,
* depending on the drop targert.
*
* Listeners for movable element being dragged:
* - dragstart: add 'dragging' class to element, set effectAllowed = 'move'
* - dragover: set dropEffect = 'move'
* - dragend: remove 'dragging' class from element
*
* Listeners for stationary items being dragged over:
* - dragenter: add 'drag-target-...' classes to element
* - dragleave: remove 'drag-target-...' classes from element
* - drop: remove 'drag-target-...' classes from element, move dropped array item
*/
export declare class OrderableDirective implements OnInit, OnDestroy {
private elementRef;
private jsf;
private ngZone;
arrayLayoutIndex: string;
element: any;
overParentElement: boolean;
overChildElement: boolean;
readonly orderable: import("@angular/core").InputSignal<boolean>;
readonly layoutNode: import("@angular/core").InputSignal<any>;
readonly layoutIndex: import("@angular/core").InputSignal<number[]>;
readonly dataIndex: import("@angular/core").InputSignal<number[]>;
private draggableStateSubscription;
ngOnInit(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<OrderableDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<OrderableDirective, "[orderable]", never, { "orderable": { "alias": "orderable"; "required": false; "isSignal": true; }; "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
}