UNPKG

@uex/web-extensions

Version:

Uex extensions for Angular 6+ web projects

145 lines 10.7 kB
/** * @fileoverview added by tsickle * Generated from: lib/modules/drag-and-drop/classes/drop-zone.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { EventEmitter } from '@angular/core'; export class DropZone { /** * @param {?} _service * @param {?} id * @param {?} element */ constructor(_service, id, element) { this._service = _service; this.id = id; this.element = element; this.enabled = true; this.dragging_over = false; this.children = []; this.restriction = null; this.onEnter = new EventEmitter(); this.onLeave = new EventEmitter(); this.onDrop = new EventEmitter(); this.onRemove = new EventEmitter(); this.$onEnter = new EventEmitter(); this.$onLeave = new EventEmitter(); this.$onDrop = new EventEmitter(); this._onDragEnter = (/** * @param {?} event * @return {?} */ (event) => { if (!this.enabled) { return; } if (this.element === event.target || this.element.contains((/** @type {?} */ (event.target)))) { this.$onEnter.emit(event); } }); this._onDragOver = (/** * @param {?} event * @return {?} */ (event) => { if (!this._service.isDropZoneRestricted(this)) { event.preventDefault(); } }); this._onDrop = (/** * @param {?} event * @return {?} */ (event) => { this.$onDrop.emit(event); }); this._service.addEventListener(this.element, 'dragenter', this._onDragEnter); this._service.addEventListener(this.element, 'dragover', this._onDragOver, true); this._service.addEventListener(this.element, 'drop', this._onDrop); } /** * @param {?} enabled * @return {?} */ setEnabled(enabled) { this.enabled = !!enabled; } /** * @param {?} dragging_over * @return {?} */ setDraggingOver(dragging_over) { this.dragging_over = !!dragging_over; } /** * @param {?} restriction * @return {?} */ setRestriction(restriction) { this.restriction = restriction; } /** * @param {?} children * @return {?} */ setDraggableChildren(children) { this.children = children; } /** * @return {?} */ destroy() { this._service.removeEventListener(this.element, 'dragenter', this._onDragEnter); this._service.removeEventListener(this.element, 'dragover', this._onDragOver); this._service.removeEventListener(this.element, 'drop', this._onDrop); } } if (false) { /** @type {?} */ DropZone.prototype.enabled; /** @type {?} */ DropZone.prototype.dragging_over; /** @type {?} */ DropZone.prototype.children; /** @type {?} */ DropZone.prototype.restriction; /** @type {?} */ DropZone.prototype.onEnter; /** @type {?} */ DropZone.prototype.onLeave; /** @type {?} */ DropZone.prototype.onDrop; /** @type {?} */ DropZone.prototype.onRemove; /** @type {?} */ DropZone.prototype.$onEnter; /** @type {?} */ DropZone.prototype.$onLeave; /** @type {?} */ DropZone.prototype.$onDrop; /** * @type {?} * @private */ DropZone.prototype._onDragEnter; /** * @type {?} * @private */ DropZone.prototype._onDragOver; /** * @type {?} * @private */ DropZone.prototype._onDrop; /** * @type {?} * @private */ DropZone.prototype._service; /** @type {?} */ DropZone.prototype.id; /** @type {?} */ DropZone.prototype.element; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC16b25lLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVleC93ZWItZXh0ZW5zaW9ucy8iLCJzb3VyY2VzIjpbImxpYi9tb2R1bGVzL2RyYWctYW5kLWRyb3AvY2xhc3Nlcy9kcm9wLXpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTdDLE1BQU0sT0FBTyxRQUFROzs7Ozs7SUFDbkIsWUFDVSxRQUE0QixFQUNwQixFQUFVLEVBQ1YsT0FBb0I7UUFGNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDcEIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFPL0IsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGFBQVEsR0FBcUIsRUFBRSxDQUFDO1FBRWhDLGdCQUFXLEdBQXNCLElBQUksQ0FBQztRQUV0QyxZQUFPLEdBQW1DLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0QsWUFBTyxHQUFtQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELFdBQU0sR0FBbUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RCxhQUFRLEdBQW1DLElBQUksWUFBWSxFQUFFLENBQUM7UUFFOUQsYUFBUSxHQUE0QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZELGFBQVEsR0FBNEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RCxZQUFPLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUM7UUF3QnJELGlCQUFZOzs7O1FBQUcsQ0FBQyxLQUFnQixFQUFRLEVBQUU7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQUUsT0FBTzthQUFFO1lBRTlCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLG1CQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUEsQ0FBQyxFQUFFO2dCQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzQjtRQUNILENBQUMsRUFBQTtRQUVPLGdCQUFXOzs7O1FBQUcsQ0FBQyxLQUFnQixFQUFRLEVBQUU7WUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQUU7UUFDNUUsQ0FBQyxFQUFBO1FBRU8sWUFBTzs7OztRQUFHLENBQUMsS0FBZ0IsRUFBUSxFQUFFO1lBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsRUFBQTtRQXhEQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs7Ozs7SUFpQk0sVUFBVSxDQUFDLE9BQWdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDOzs7OztJQUVNLGVBQWUsQ0FBQyxhQUFzQjtRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQzs7Ozs7SUFFTSxjQUFjLENBQUMsV0FBOEI7UUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQzs7Ozs7SUFFTSxvQkFBb0IsQ0FBQyxRQUEwQjtRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzs7O0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FpQkY7OztJQXBEQywyQkFBc0I7O0lBQ3RCLGlDQUE2Qjs7SUFDN0IsNEJBQXVDOztJQUV2QywrQkFBNkM7O0lBRTdDLDJCQUFvRTs7SUFDcEUsMkJBQW9FOztJQUNwRSwwQkFBbUU7O0lBQ25FLDRCQUFxRTs7SUFFckUsNEJBQThEOztJQUM5RCw0QkFBOEQ7O0lBQzlELDJCQUE2RDs7Ozs7SUF3QjdELGdDQU1DOzs7OztJQUVELCtCQUVDOzs7OztJQUVELDJCQUVDOzs7OztJQTVEQyw0QkFBb0M7O0lBQ3BDLHNCQUEwQjs7SUFDMUIsMkJBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEcmFnQW5kRHJvcFNlcnZpY2UsIERyYWdBbmREcm9wRXZlbnQgfSBmcm9tICcuLi9kcmFnLWFuZC1kcm9wLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRHJhZ2dhYmxlIH0gZnJvbSAnLi9kcmFnZ2FibGUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERyb3Bab25lIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IERyYWdBbmREcm9wU2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSBpZDogbnVtYmVyLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQ6IEhUTUxFbGVtZW50XHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5lbGVtZW50LCAnZHJhZ2VudGVyJywgdGhpcy5fb25EcmFnRW50ZXIpO1xyXG4gICAgdGhpcy5fc2VydmljZS5hZGRFdmVudExpc3RlbmVyKHRoaXMuZWxlbWVudCwgJ2RyYWdvdmVyJywgdGhpcy5fb25EcmFnT3ZlciwgdHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5lbGVtZW50LCAnZHJvcCcsIHRoaXMuX29uRHJvcCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5hYmxlZCA9IHRydWU7XHJcbiAgcHVibGljIGRyYWdnaW5nX292ZXIgPSBmYWxzZTtcclxuICBwdWJsaWMgY2hpbGRyZW46IEFycmF5PERyYWdnYWJsZT4gPSBbXTtcclxuXHJcbiAgcHVibGljIHJlc3RyaWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXSA9IG51bGw7XHJcblxyXG4gIHB1YmxpYyBvbkVudGVyOiBFdmVudEVtaXR0ZXI8RHJhZ0FuZERyb3BFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIG9uTGVhdmU6IEV2ZW50RW1pdHRlcjxEcmFnQW5kRHJvcEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwdWJsaWMgb25Ecm9wOiBFdmVudEVtaXR0ZXI8RHJhZ0FuZERyb3BFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIG9uUmVtb3ZlOiBFdmVudEVtaXR0ZXI8RHJhZ0FuZERyb3BFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyAkb25FbnRlcjogRXZlbnRFbWl0dGVyPERyYWdFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljICRvbkxlYXZlOiBFdmVudEVtaXR0ZXI8RHJhZ0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwdWJsaWMgJG9uRHJvcDogRXZlbnRFbWl0dGVyPERyYWdFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZW5hYmxlZCA9ICEhZW5hYmxlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREcmFnZ2luZ092ZXIoZHJhZ2dpbmdfb3ZlcjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kcmFnZ2luZ19vdmVyID0gISFkcmFnZ2luZ19vdmVyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJlc3RyaWN0aW9uKHJlc3RyaWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXN0cmljdGlvbiA9IHJlc3RyaWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERyYWdnYWJsZUNoaWxkcmVuKGNoaWxkcmVuOiBBcnJheTxEcmFnZ2FibGU+KSB7XHJcbiAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3NlcnZpY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLmVsZW1lbnQsICdkcmFnZW50ZXInLCB0aGlzLl9vbkRyYWdFbnRlcik7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5lbGVtZW50LCAnZHJhZ292ZXInLCB0aGlzLl9vbkRyYWdPdmVyKTtcclxuICAgIHRoaXMuX3NlcnZpY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLmVsZW1lbnQsICdkcm9wJywgdGhpcy5fb25Ecm9wKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29uRHJhZ0VudGVyID0gKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkID0+IHtcclxuICAgIGlmICghdGhpcy5lbmFibGVkKSB7IHJldHVybjsgfVxyXG5cclxuICAgIGlmICh0aGlzLmVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCB8fCB0aGlzLmVsZW1lbnQuY29udGFpbnMoPE5vZGU+ZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLiRvbkVudGVyLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb25EcmFnT3ZlciA9IChldmVudDogRHJhZ0V2ZW50KTogdm9pZCA9PiB7XHJcbiAgICBpZiAoIXRoaXMuX3NlcnZpY2UuaXNEcm9wWm9uZVJlc3RyaWN0ZWQodGhpcykpIHsgZXZlbnQucHJldmVudERlZmF1bHQoKTsgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb25Ecm9wID0gKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkID0+IHtcclxuICAgIHRoaXMuJG9uRHJvcC5lbWl0KGV2ZW50KTtcclxuICB9XHJcbn1cclxuIl19