primeng
Version: 
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primeng) [
{"version":3,"file":"primeng-dragdrop.mjs","sources":["../../src/app/components/dragdrop/dragdrop.ts","../../src/app/components/dragdrop/primeng-dragdrop.ts"],"sourcesContent":["import {NgModule,Directive,OnDestroy,AfterViewInit,ElementRef,HostListener,Input,Output,EventEmitter,NgZone} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from 'primeng/dom';\n\n@Directive({\n    selector: '[pDraggable]',\n    host: {\n        'class': 'p-element'\n    }\n})\nexport class Draggable implements AfterViewInit, OnDestroy {\n\n    @Input('pDraggable') scope: string;\n\n    @Input() dragEffect: string;\n\n    @Input() dragHandle: string;\n\n    @Output() onDragStart: EventEmitter<any> = new EventEmitter();\n\n    @Output() onDragEnd: EventEmitter<any> = new EventEmitter();\n\n    @Output() onDrag: EventEmitter<any> = new EventEmitter();\n\n    handle: any;\n\n    dragListener: any;\n\n    mouseDownListener: any;\n\n    mouseUpListener: any;\n\n    _pDraggableDisabled: boolean;\n\n    constructor(public el: ElementRef, public zone: NgZone) {}\n\n    @Input() get pDraggableDisabled(): boolean {\n        return this._pDraggableDisabled;\n    }\n    set pDraggableDisabled(_pDraggableDisabled:boolean) {\n        this._pDraggableDisabled = _pDraggableDisabled;\n\n        if (this._pDraggableDisabled) {\n            this.unbindMouseListeners();\n        }\n        else {\n            this.el.nativeElement.draggable = true;\n            this.bindMouseListeners();\n        }\n    }\n\n    ngAfterViewInit() {\n        if (!this.pDraggableDisabled) {\n            this.el.nativeElement.draggable = true;\n            this.bindMouseListeners();\n        }\n    }\n\n    bindDragListener() {\n        if (!this.dragListener) {\n            this.zone.runOutsideAngular(() => {\n                this.dragListener = this.drag.bind(this);\n                this.el.nativeElement.addEventListener('drag', this.dragListener);\n            });\n        }\n    }\n\n    unbindDragListener() {\n        if (this.dragListener) {\n            this.zone.runOutsideAngular(() => {\n                this.el.nativeElement.removeEventListener('drag', this.dragListener);\n                this.dragListener = null;\n            });\n        }\n    }\n\n    bindMouseListeners() {\n        if (!this.mouseDownListener && !this.mouseUpListener) {\n            this.zone.runOutsideAngular(() => {\n                this.mouseDownListener = this.mousedown.bind(this);\n                this.mouseUpListener = this.mouseup.bind(this);\n                this.el.nativeElement.addEventListener('mousedown', this.mouseDownListener);\n                this.el.nativeElement.addEventListener('mouseup', this.mouseUpListener);\n            });\n        }\n    }\n\n    unbindMouseListeners() {\n        if (this.mouseDownListener && this.mouseUpListener) {\n            this.zone.runOutsideAngular(() => {\n                this.el.nativeElement.removeEventListener('mousedown', this.mouseDownListener);\n                this.el.nativeElement.removeEventListener('mouseup', this.mouseUpListener);\n                this.mouseDownListener = null;\n                this.mouseUpListener = null;\n            });\n        }\n    }\n\n    drag(event) {\n        this.onDrag.emit(event);\n    }\n\n    @HostListener('dragstart', ['$event'])\n    dragStart(event) {\n        if (this.allowDrag() && !this.pDraggableDisabled) {\n            if (this.dragEffect) {\n                event.dataTransfer.effectAllowed = this.dragEffect;\n            }\n            event.dataTransfer.setData('text', this.scope);\n\n            this.onDragStart.emit(event);\n\n            this.bindDragListener();\n        }\n        else {\n            event.preventDefault();\n        }\n    }\n\n    @HostListener('dragend', ['$event'])\n    dragEnd(event) {\n        this.onDragEnd.emit(event);\n        this.unbindDragListener();\n    }\n\n    mousedown(event) {\n        this.handle = event.target;\n    }\n\n    mouseup(event) {\n        this.handle = null;\n    }\n\n    allowDrag() : boolean {\n        if (this.dragHandle && this.handle)\n            return DomHandler.matches(this.handle, this.dragHandle);\n        else\n            return true;\n    }\n\n    ngOnDestroy() {\n        this.unbindDragListener();\n        this.unbindMouseListeners();\n    }\n\n}\n\n@Directive({\n    selector: '[pDroppable]',\n    host: {\n        'class': 'p-element'\n    }\n})\nexport class Droppable implements AfterViewInit, OnDestroy {\n\n    @Input('pDroppable') scope: string|string[];\n\n    @Input() pDroppableDisabled: boolean;\n\n    @Input() dropEffect: string;\n\n    @Output() onDragEnter: EventEmitter<any> = new EventEmitter();\n\n    @Output() onDragLeave: EventEmitter<any> = new EventEmitter();\n\n    @Output() onDrop: EventEmitter<any> = new EventEmitter();\n\n    constructor(public el: ElementRef, public zone: NgZone) {}\n\n    dragOverListener: any;\n\n    ngAfterViewInit() {\n        if (!this.pDroppableDisabled) {\n            this.bindDragOverListener();\n        }\n    }\n\n    bindDragOverListener() {\n        if (!this.dragOverListener) {\n            this.zone.runOutsideAngular(() => {\n                this.dragOverListener = this.dragOver.bind(this);\n                this.el.nativeElement.addEventListener('dragover', this.dragOverListener);\n            });\n        }\n    }\n\n    unbindDragOverListener() {\n        if (this.dragOverListener) {\n            this.zone.runOutsideAngular(() => {\n                this.el.nativeElement.removeEventListener('dragover', this.dragOverListener);\n                this.dragOverListener = null;\n            });\n        }\n    }\n\n    dragOver(event) {\n        event.preventDefault();\n    }\n\n    @HostListener('drop', ['$event'])\n    drop(event) {\n        if (this.allowDrop(event)) {\n            DomHandler.removeClass(this.el.nativeElement, 'p-draggable-enter');\n            event.preventDefault();\n            this.onDrop.emit(event);\n        }\n    }\n\n    @HostListener('dragenter', ['$event'])\n    dragEnter(event) {\n        event.preventDefault();\n\n        if (this.dropEffect) {\n            event.dataTransfer.dropEffect = this.dropEffect;\n        }\n\n        DomHandler.addClass(this.el.nativeElement, 'p-draggable-enter');\n        this.onDragEnter.emit(event);\n    }\n\n    @HostListener('dragleave', ['$event'])\n    dragLeave(event) {\n        event.preventDefault();\n\n        DomHandler.removeClass(this.el.nativeElement, 'p-draggable-enter');\n        this.onDragLeave.emit(event);\n    }\n\n    allowDrop(event): boolean {\n        let dragScope = event.dataTransfer.getData('text');\n        if (typeof (this.scope) == \"string\" && dragScope == this.scope) {\n            return true;\n        }\n        else if (this.scope instanceof Array) {\n            for(let j = 0; j < this.scope.length; j++) {\n                if (dragScope == this.scope[j]) {\n                    return true;\n                }\n            }\n        }\n        return false;\n    }\n\n    ngOnDestroy() {\n        this.unbindDragOverListener();\n    }\n}\n\n@NgModule({\n    imports: [CommonModule],\n    exports: [Draggable,Droppable],\n    declarations: [Draggable,Droppable]\n})\nexport class DragDropModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}