@asoftwareworld/form-builder-pro
Version:
ASW Form Builder Pro helps you with rapid development and designed web forms which includes several controls. The key feature of Form Builder is to make your content attractive and effective. We can customize our control at run time and preview the same b
48 lines • 5.54 kB
JavaScript
import { DOCUMENT } from '@angular/common';
import { Inject, Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class DragDropService {
document;
dropLists = [];
currentHoverDropListId;
constructor(document) {
this.document = document;
}
/**
* Register adds a new drop list to the dropList array that is used by each cdkDropList.
*/
register(dropList) {
this.dropLists.push(dropList);
}
/**
* DragMoved determines the correct cdkDropList beneath the mouse pointer.
*/
dragMoved(event) {
const elementFromPoint = this.document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);
if (!elementFromPoint) {
this.currentHoverDropListId = undefined;
return;
}
const dropList = elementFromPoint.classList.contains('cdk-drop-list') ? elementFromPoint : elementFromPoint.closest('.cdk-drop-list');
if (!dropList) {
this.currentHoverDropListId = undefined;
return;
}
this.currentHoverDropListId = dropList.id;
}
dragReleased(event) {
this.currentHoverDropListId = undefined;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragDropService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragDropService, providedIn: 'root' });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragDropService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: Document, decorators: [{
type: Inject,
args: [DOCUMENT]
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZHJhZy1kcm9wLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sZUFBZTtJQUljO0lBSHRDLFNBQVMsR0FBa0IsRUFBRSxDQUFDO0lBQzlCLHNCQUFzQixDQUFVO0lBRWhDLFlBQXNDLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLFFBQXFCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUF1QjtRQUM3QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUxRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsU0FBUyxDQUFDO1lBQ3hDLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7WUFDeEMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXFCO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7SUFDNUMsQ0FBQzt1R0FwQ1EsZUFBZSxrQkFJSixRQUFROzJHQUpuQixlQUFlLGNBRlosTUFBTTs7MkZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUtnQixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnTW92ZSwgQ2RrRHJhZ1JlbGVhc2UsIENka0Ryb3BMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEcmFnRHJvcFNlcnZpY2Uge1xuICAgIGRyb3BMaXN0czogQ2RrRHJvcExpc3RbXSA9IFtdO1xuICAgIGN1cnJlbnRIb3ZlckRyb3BMaXN0SWQ/OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge31cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIGFkZHMgYSBuZXcgZHJvcCBsaXN0IHRvIHRoZSBkcm9wTGlzdCBhcnJheSB0aGF0IGlzIHVzZWQgYnkgZWFjaCBjZGtEcm9wTGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXIoZHJvcExpc3Q6IENka0Ryb3BMaXN0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcExpc3RzLnB1c2goZHJvcExpc3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERyYWdNb3ZlZCBkZXRlcm1pbmVzIHRoZSBjb3JyZWN0IGNka0Ryb3BMaXN0IGJlbmVhdGggdGhlIG1vdXNlIHBvaW50ZXIuXG4gICAgICovXG4gICAgZHJhZ01vdmVkKGV2ZW50OiBDZGtEcmFnTW92ZTxhbnk+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRGcm9tUG9pbnQgPSB0aGlzLmRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZlbnQucG9pbnRlclBvc2l0aW9uLngsIGV2ZW50LnBvaW50ZXJQb3NpdGlvbi55KTtcblxuICAgICAgICBpZiAoIWVsZW1lbnRGcm9tUG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEhvdmVyRHJvcExpc3RJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRyb3BMaXN0ID0gZWxlbWVudEZyb21Qb2ludC5jbGFzc0xpc3QuY29udGFpbnMoJ2Nkay1kcm9wLWxpc3QnKSA/IGVsZW1lbnRGcm9tUG9pbnQgOiBlbGVtZW50RnJvbVBvaW50LmNsb3Nlc3QoJy5jZGstZHJvcC1saXN0Jyk7XG5cbiAgICAgICAgaWYgKCFkcm9wTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50SG92ZXJEcm9wTGlzdElkID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50SG92ZXJEcm9wTGlzdElkID0gZHJvcExpc3QuaWQ7XG4gICAgfVxuXG4gICAgZHJhZ1JlbGVhc2VkKGV2ZW50OiBDZGtEcmFnUmVsZWFzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRIb3ZlckRyb3BMaXN0SWQgPSB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19