New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

drag-me

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

drag-me - npm Package Compare versions

Comparing version 1.1.5 to 1.1.6

drag-me-1.1.6.tgz

179

bundles/drag-me.umd.js

@@ -5,26 +5,17 @@ (function (global, factory) {

(global = global || self, factory(global['drag-me'] = {}, global.ng.core));
}(this, function (exports, core) { 'use strict';
}(this, (function (exports, i0) { 'use strict';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var DragMeService = /** @class */ (function () {
function DragMeService() {
}
DragMeService.decorators = [
{ type: core.Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
DragMeService.ctorParameters = function () { return []; };
/** @nocollapse */ DragMeService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function DragMeService_Factory() { return new DragMeService(); }, token: DragMeService, providedIn: "root" });
return DragMeService;
}());
DragMeService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DragMeService_Factory() { return new DragMeService(); }, token: DragMeService, providedIn: "root" });
DragMeService.decorators = [
{ type: i0.Injectable, args: [{
providedIn: 'root'
},] }
];
DragMeService.ctorParameters = function () { return []; };
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var DraggerDirective = /** @class */ (function () {

@@ -34,89 +25,53 @@ function DraggerDirective(elementRef) {

this.dragdata = {};
this.ondrop = new core.EventEmitter();
this.ondrop = new i0.EventEmitter();
this.dragStart = new i0.EventEmitter();
}
/**
* @return {?}
*/
DraggerDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
DraggerDirective.prototype.ngOnInit = function () {
var _this = this;
/** @type {?} */
var el = this.elementRef.nativeElement;
el.draggable = 'true';
el.addEventListener('dragstart', (/**
* @param {?} e
* @return {?}
*/
function (e) {
el.addEventListener('dragstart', function (e) {
el.classList.add('drag-src');
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text', JSON.stringify(_this.dragdata));
}));
_this.dragStart && (_this.dragStart.emit(_this.dragdata));
});
// Remove the drag-src class
el.addEventListener('dragend', (/**
* @param {?} e
* @return {?}
*/
function (e) {
el.addEventListener('dragend', function (e) {
e.preventDefault();
_this.ondrop && (_this.ondrop.emit(_this.dragdata));
el.classList.remove('drag-src');
}));
});
};
DraggerDirective.decorators = [
{ type: core.Directive, args: [{
selector: '[dragMe]'
},] }
];
/** @nocollapse */
DraggerDirective.ctorParameters = function () { return [
{ type: core.ElementRef }
]; };
DraggerDirective.propDecorators = {
dragdata: [{ type: core.Input }],
ondrop: [{ type: core.Output }]
};
return DraggerDirective;
}());
DraggerDirective.decorators = [
{ type: i0.Directive, args: [{
selector: '[dragMe]'
},] }
];
DraggerDirective.ctorParameters = function () { return [
{ type: i0.ElementRef }
]; };
DraggerDirective.propDecorators = {
dragdata: [{ type: i0.Input }],
ondrop: [{ type: i0.Output }],
dragStart: [{ type: i0.Output }]
};
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var DropperDirective = /** @class */ (function () {
function DropperDirective(elementRef) {
this.elementRef = elementRef;
this.dropped = new core.EventEmitter();
this.dropped = new i0.EventEmitter();
}
/**
* @return {?}
*/
DropperDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
DropperDirective.prototype.ngOnInit = function () {
var _this = this;
/** @type {?} */
var el = this.elementRef.nativeElement;
el.addEventListener('dragenter', (/**
* @param {?} e
* @return {?}
*/
function (e) {
el.addEventListener('dragenter', function (e) {
el.classList.add('over');
}));
el.addEventListener('dragleave', (/**
* @param {?} e
* @return {?}
*/
function (e) {
});
el.addEventListener('dragleave', function (e) {
el.classList.remove('over');
}));
el.addEventListener('dragover', (/**
* @param {?} e
* @return {?}
*/
function (e) {
});
el.addEventListener('dragover', function (e) {
if (e.preventDefault) {

@@ -127,8 +82,4 @@ e.preventDefault();

return false;
}));
el.addEventListener('drop', (/**
* @param {?} e
* @return {?}
*/
function (e) {
});
el.addEventListener('drop', function (e) {
if (e.stopPropagation) {

@@ -138,40 +89,42 @@ e.stopPropagation();

el.classList.remove('over');
/** @type {?} */
var data = JSON.parse(e.dataTransfer.getData('text'));
_this.dropped && (_this.dropped.emit(data));
return false;
}));
});
};
DropperDirective.decorators = [
{ type: core.Directive, args: [{
selector: '[dropHere]'
},] }
];
/** @nocollapse */
DropperDirective.ctorParameters = function () { return [
{ type: core.ElementRef }
]; };
DropperDirective.propDecorators = {
dropped: [{ type: core.Output }]
};
return DropperDirective;
}());
DropperDirective.decorators = [
{ type: i0.Directive, args: [{
selector: '[dropHere]'
},] }
];
DropperDirective.ctorParameters = function () { return [
{ type: i0.ElementRef }
]; };
DropperDirective.propDecorators = {
dropped: [{ type: i0.Output }]
};
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var DragMeModule = /** @class */ (function () {
function DragMeModule() {
}
DragMeModule.decorators = [
{ type: core.NgModule, args: [{
declarations: [DraggerDirective, DropperDirective],
imports: [],
exports: [DraggerDirective, DropperDirective]
},] }
];
return DragMeModule;
}());
DragMeModule.decorators = [
{ type: i0.NgModule, args: [{
declarations: [DraggerDirective, DropperDirective],
imports: [],
exports: [DraggerDirective, DropperDirective]
},] }
];
/*
* Public API Surface of drag-me
*/
/**
* Generated bundle index. Do not edit.
*/
exports.DragMeModule = DragMeModule;

@@ -184,3 +137,3 @@ exports.DragMeService = DragMeService;

}));
})));
//# sourceMappingURL=drag-me.umd.js.map

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("drag-me",["exports","@angular/core"],t):t((e=e||self)["drag-me"]={},e.ng.core)}(this,function(e,t){"use strict";var r=function(){function e(){}return e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),n=function(){function e(e){this.elementRef=e,this.dragdata={},this.ondrop=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this,t=this.elementRef.nativeElement;t.draggable="true",t.addEventListener("dragstart",function(r){t.classList.add("drag-src"),r.dataTransfer.effectAllowed="move",r.dataTransfer.setData("text",JSON.stringify(e.dragdata))}),t.addEventListener("dragend",function(r){r.preventDefault(),e.ondrop&&e.ondrop.emit(e.dragdata),t.classList.remove("drag-src")})},e.decorators=[{type:t.Directive,args:[{selector:"[dragMe]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={dragdata:[{type:t.Input}],ondrop:[{type:t.Output}]},e}(),o=function(){function e(e){this.elementRef=e,this.dropped=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this,t=this.elementRef.nativeElement;t.addEventListener("dragenter",function(e){t.classList.add("over")}),t.addEventListener("dragleave",function(e){t.classList.remove("over")}),t.addEventListener("dragover",function(e){return e.preventDefault&&e.preventDefault(),e.dataTransfer.dropEffect="move",!1}),t.addEventListener("drop",function(r){r.stopPropagation&&r.stopPropagation(),t.classList.remove("over");var n=JSON.parse(r.dataTransfer.getData("text"));return e.dropped&&e.dropped.emit(n),!1})},e.decorators=[{type:t.Directive,args:[{selector:"[dropHere]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={dropped:[{type:t.Output}]},e}(),a=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[n,o],imports:[],exports:[n,o]}]}],e}();e.DragMeModule=a,e.DragMeService=r,e.DraggerDirective=n,e.DropperDirective=o,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("drag-me",["exports","@angular/core"],t):t((e=e||self)["drag-me"]={},e.ng.core)}(this,(function(e,t){"use strict";var r=function(){};r.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new r},token:r,providedIn:"root"}),r.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],r.ctorParameters=function(){return[]};var n=function(){function e(e){this.elementRef=e,this.dragdata={},this.ondrop=new t.EventEmitter,this.dragStart=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this,t=this.elementRef.nativeElement;t.draggable="true",t.addEventListener("dragstart",(function(r){t.classList.add("drag-src"),r.dataTransfer.effectAllowed="move",r.dataTransfer.setData("text",JSON.stringify(e.dragdata)),e.dragStart&&e.dragStart.emit(e.dragdata)})),t.addEventListener("dragend",(function(r){r.preventDefault(),e.ondrop&&e.ondrop.emit(e.dragdata),t.classList.remove("drag-src")}))},e}();n.decorators=[{type:t.Directive,args:[{selector:"[dragMe]"}]}],n.ctorParameters=function(){return[{type:t.ElementRef}]},n.propDecorators={dragdata:[{type:t.Input}],ondrop:[{type:t.Output}],dragStart:[{type:t.Output}]};var a=function(){function e(e){this.elementRef=e,this.dropped=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this,t=this.elementRef.nativeElement;t.addEventListener("dragenter",(function(e){t.classList.add("over")})),t.addEventListener("dragleave",(function(e){t.classList.remove("over")})),t.addEventListener("dragover",(function(e){return e.preventDefault&&e.preventDefault(),e.dataTransfer.dropEffect="move",!1})),t.addEventListener("drop",(function(r){r.stopPropagation&&r.stopPropagation(),t.classList.remove("over");var n=JSON.parse(r.dataTransfer.getData("text"));return e.dropped&&e.dropped.emit(n),!1}))},e}();a.decorators=[{type:t.Directive,args:[{selector:"[dropHere]"}]}],a.ctorParameters=function(){return[{type:t.ElementRef}]},a.propDecorators={dropped:[{type:t.Output}]};var o=function(){};o.decorators=[{type:t.NgModule,args:[{declarations:[n,a],imports:[],exports:[n,a]}]}],e.DragMeModule=o,e.DragMeService=r,e.DraggerDirective=n,e.DropperDirective=a,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=drag-me.umd.min.js.map

@@ -0,0 +0,0 @@ /**

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"DragMeService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"DraggerDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[dragMe]"}]}],"members":{"dragdata":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3}}]}],"ondrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}]}},"DropperDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[dropHere]"}]}],"members":{"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":6,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":7,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}]}},"DragMeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"DraggerDirective"},{"__symbolic":"reference","name":"DropperDirective"}],"imports":[],"exports":[{"__symbolic":"reference","name":"DraggerDirective"},{"__symbolic":"reference","name":"DropperDirective"}]}]}],"members":{}}},"origins":{"DragMeService":"./lib/drag-me.service","DraggerDirective":"./lib/Directive/dragger.directive","DropperDirective":"./lib/Directive/dropper.directive","DragMeModule":"./lib/drag-me.module"},"importAs":"drag-me"}
{"__symbolic":"module","version":4,"metadata":{"DragMeService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ɵprov":{}}},"DraggerDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[dragMe]"}]}],"members":{"dragdata":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3}}]}],"ondrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"dragStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":9,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}]}},"DropperDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[dropHere]"}]}],"members":{"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":6,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":7,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}]}},"DragMeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"DraggerDirective"},{"__symbolic":"reference","name":"DropperDirective"}],"imports":[],"exports":[{"__symbolic":"reference","name":"DraggerDirective"},{"__symbolic":"reference","name":"DropperDirective"}]}]}],"members":{}}},"origins":{"DragMeService":"./lib/drag-me.service","DraggerDirective":"./lib/Directive/dragger.directive","DropperDirective":"./lib/Directive/dropper.directive","DragMeModule":"./lib/drag-me.module"},"importAs":"drag-me"}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { DragMeService, DraggerDirective, DropperDirective, DragMeModule } from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1tZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2RyYWctbWUvIiwic291cmNlcyI6WyJkcmFnLW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxnRkFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
export * from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1tZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RyYWctbWUvc3JjL2RyYWctbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==

@@ -1,10 +0,3 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, ElementRef, Output, EventEmitter } from '@angular/core';
export class DraggerDirective {
/**
* @param {?} elementRef
*/
constructor(elementRef) {

@@ -14,29 +7,19 @@ this.elementRef = elementRef;

this.ondrop = new EventEmitter();
this.dragStart = new EventEmitter();
}
/**
* @return {?}
*/
ngOnInit() {
/** @type {?} */
const el = this.elementRef.nativeElement;
el.draggable = 'true';
el.addEventListener('dragstart', (/**
* @param {?} e
* @return {?}
*/
(e) => {
el.addEventListener('dragstart', (e) => {
el.classList.add('drag-src');
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text', JSON.stringify(this.dragdata));
}));
this.dragStart && (this.dragStart.emit(this.dragdata));
});
// Remove the drag-src class
el.addEventListener('dragend', (/**
* @param {?} e
* @return {?}
*/
(e) => {
el.addEventListener('dragend', (e) => {
e.preventDefault();
this.ondrop && (this.ondrop.emit(this.dragdata));
el.classList.remove('drag-src');
}));
});
}

@@ -49,3 +32,2 @@ }

];
/** @nocollapse */
DraggerDirective.ctorParameters = () => [

@@ -56,15 +38,5 @@ { type: ElementRef }

dragdata: [{ type: Input }],
ondrop: [{ type: Output }]
ondrop: [{ type: Output }],
dragStart: [{ type: Output }]
};
if (false) {
/** @type {?} */
DraggerDirective.prototype.dragdata;
/** @type {?} */
DraggerDirective.prototype.ondrop;
/**
* @type {?}
* @private
*/
DraggerDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kcmFnLW1lLyIsInNvdXJjZXMiOlsibGliL0RpcmVjdGl2ZS9kcmFnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0YsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUkzQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGpDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbEIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRVgsQ0FBQzs7OztJQUUvQyxRQUFROztjQUVBLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFDeEMsRUFBRSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7UUFDdEIsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7Ozs7UUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztZQUN0QyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLEVBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUzs7OztRQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtZQUNoRCxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNqQyxDQUFDLEVBQUMsQ0FBQztJQUVMLENBQUM7OztZQTFCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7YUFDckI7Ozs7WUFKMEIsVUFBVTs7O3VCQU1sQyxLQUFLO3FCQUNMLE1BQU07Ozs7SUFEUCxvQ0FBNEI7O0lBQzVCLGtDQUF5RDs7Ozs7SUFFN0Msc0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZHJhZ01lXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRyYWdkYXRhOiBhbnkgPSB7fTtcbiAgQE91dHB1dCgpIG9uZHJvcDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgZWwuZHJhZ2dhYmxlID0gJ3RydWUnO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdzdGFydCcsIChlKSA9PiB7XG4gICAgICBlbC5jbGFzc0xpc3QuYWRkKCdkcmFnLXNyYycpO1xuICAgICAgZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdtb3ZlJztcbiAgICAgIGUuZGF0YVRyYW5zZmVyLnNldERhdGEoJ3RleHQnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmRyYWdkYXRhKSk7XG4gICAgfSk7XG5cbiAgICAvLyBSZW1vdmUgdGhlIGRyYWctc3JjIGNsYXNzXG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2VuZCcsIChlKSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm9uZHJvcCAmJiAodGhpcy5vbmRyb3AuZW1pdCh0aGlzLmRyYWdkYXRhKSlcbiAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoJ2RyYWctc3JjJylcbiAgICB9KTtcblxuICB9XG5cblxuXG5cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcmFnLW1lL3NyYy9saWIvRGlyZWN0aXZlL2RyYWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNGLE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUhqQyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQyxjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRS9DLFFBQVE7UUFFTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxFQUFFLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUN0QixFQUFFLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtZQUNoRCxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7YUFDckI7OztZQUowQixVQUFVOzs7dUJBTWxDLEtBQUs7cUJBQ0wsTUFBTTt3QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZHJhZ01lXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRyYWdkYXRhOiBhbnkgPSB7fTtcbiAgQE91dHB1dCgpIG9uZHJvcDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkcmFnU3RhcnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgY29uc3QgZWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBlbC5kcmFnZ2FibGUgPSAndHJ1ZSc7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ3N0YXJ0JywgKGUpID0+IHtcbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoJ2RyYWctc3JjJyk7XG4gICAgICBlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkID0gJ21vdmUnO1xuICAgICAgZS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dCcsIEpTT04uc3RyaW5naWZ5KHRoaXMuZHJhZ2RhdGEpKTtcbiAgICAgIHRoaXMuZHJhZ1N0YXJ0ICYmICh0aGlzLmRyYWdTdGFydC5lbWl0KHRoaXMuZHJhZ2RhdGEpKVxuICAgIH0pO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSBkcmFnLXNyYyBjbGFzc1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbmQnLCAoZSkgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5vbmRyb3AgJiYgKHRoaXMub25kcm9wLmVtaXQodGhpcy5kcmFnZGF0YSkpXG4gICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnLXNyYycpXG4gICAgfSk7XG5cbiAgfVxuXG5cblxuXG59XG4iXX0=

@@ -1,10 +0,3 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, EventEmitter, Output, ElementRef } from '@angular/core';
export class DropperDirective {
/**
* @param {?} elementRef
*/
constructor(elementRef) {

@@ -14,27 +7,11 @@ this.elementRef = elementRef;

}
/**
* @return {?}
*/
ngOnInit() {
/** @type {?} */
const el = this.elementRef.nativeElement;
el.addEventListener('dragenter', (/**
* @param {?} e
* @return {?}
*/
(e) => {
el.addEventListener('dragenter', (e) => {
el.classList.add('over');
}));
el.addEventListener('dragleave', (/**
* @param {?} e
* @return {?}
*/
(e) => {
});
el.addEventListener('dragleave', (e) => {
el.classList.remove('over');
}));
el.addEventListener('dragover', (/**
* @param {?} e
* @return {?}
*/
(e) => {
});
el.addEventListener('dragover', (e) => {
if (e.preventDefault) {

@@ -45,8 +22,4 @@ e.preventDefault();

return false;
}));
el.addEventListener('drop', (/**
* @param {?} e
* @return {?}
*/
(e) => {
});
el.addEventListener('drop', (e) => {
if (e.stopPropagation) {

@@ -56,7 +29,6 @@ e.stopPropagation();

el.classList.remove('over');
/** @type {?} */
const data = JSON.parse(e.dataTransfer.getData('text'));
this.dropped && (this.dropped.emit(data));
return false;
}));
});
}

@@ -69,3 +41,2 @@ }

];
/** @nocollapse */
DropperDirective.ctorParameters = () => [

@@ -77,11 +48,2 @@ { type: ElementRef }

};
if (false) {
/** @type {?} */
DropperDirective.prototype.dropped;
/**
* @type {?}
* @private
*/
DropperDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kcmFnLW1lLyIsInNvdXJjZXMiOlsibGliL0RpcmVjdGl2ZS9kcm9wcGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtwRixNQUFNLE9BQU8sZ0JBQWdCOzs7O0lBRTNCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFEaEMsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ1osQ0FBQzs7OztJQUMvQyxRQUFROztjQUNBLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFHeEMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7Ozs7UUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLENBQUMsRUFBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7Ozs7UUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLENBQUMsRUFBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVU7Ozs7UUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRTtnQkFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3BCO1lBQ0QsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUFDLENBQUM7UUFHSCxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTTs7OztRQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFO2dCQUNyQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDckI7WUFFRCxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzs7a0JBQ3RCLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQ3pDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFyQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2FBQ3ZCOzs7O1lBSmlELFVBQVU7OztzQkFNekQsTUFBTTs7OztJQUFQLG1DQUEwRDs7Ozs7SUFDOUMsc0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkcm9wSGVyZV0nXG59KVxuZXhwb3J0IGNsYXNzIERyb3BwZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgZHJvcHBlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cblxuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIChlKSA9PiB7XG4gICAgICBlbC5jbGFzc0xpc3QuYWRkKCdvdmVyJyk7XG4gICAgfSk7XG5cbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCAoZSkgPT4ge1xuICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnb3ZlcicpO1xuICAgIH0pO1xuXG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCAoZSkgPT4ge1xuICAgICAgaWYgKGUucHJldmVudERlZmF1bHQpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgICAgZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdtb3ZlJztcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcblxuXG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIChlKSA9PiB7XG4gICAgICBpZiAoZS5zdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cblxuICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnb3ZlcicpO1xuICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoZS5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dCcpKTtcbiAgICAgIHRoaXMuZHJvcHBlZCAmJiAodGhpcy5kcm9wcGVkLmVtaXQoZGF0YSkpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcmFnLW1lL3NyYy9saWIvRGlyZWN0aXZlL2Ryb3BwZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLcEYsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRGhDLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDL0MsUUFBUTtRQUNOLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3pDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUU7Z0JBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUNwQjtZQUNELENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUNuQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRTtnQkFDckIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQ3JCO1lBQ0QsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQ3pDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE5QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2FBQ3ZCOzs7WUFKaUQsVUFBVTs7O3NCQU16RCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkcm9wSGVyZV0nXG59KVxuZXhwb3J0IGNsYXNzIERyb3BwZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgZHJvcHBlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2VudGVyJywgKGUpID0+IHtcbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoJ292ZXInKTtcbiAgICB9KTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCAoZSkgPT4ge1xuICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnb3ZlcicpO1xuICAgIH0pO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgKGUpID0+IHtcbiAgICAgIGlmIChlLnByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICAgIGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbW92ZSc7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIChlKSA9PiB7XG4gICAgICBpZiAoZS5zdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoJ292ZXInKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGUuZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQnKSk7XG4gICAgICB0aGlzLmRyb3BwZWQgJiYgKHRoaXMuZHJvcHBlZC5lbWl0KGRhdGEpKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG59XG4iXX0=

@@ -1,5 +0,1 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from '@angular/core';

@@ -17,2 +13,2 @@ import { DraggerDirective } from './Directive/dragger.directive';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1tZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kcmFnLW1lLyIsInNvdXJjZXMiOlsibGliL2RyYWctbWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBUWpFLE1BQU0sT0FBTyxZQUFZOzs7WUFOeEIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO2dCQUNsRCxPQUFPLEVBQUUsRUFDUjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQzthQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcmFnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9EaXJlY3RpdmUvZHJhZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJvcHBlckRpcmVjdGl2ZSB9IGZyb20gJy4vRGlyZWN0aXZlL2Ryb3BwZXIuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRHJhZ2dlckRpcmVjdGl2ZSwgRHJvcHBlckRpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtcbiAgXSxcbiAgZXhwb3J0czogW0RyYWdnZXJEaXJlY3RpdmUsIERyb3BwZXJEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdNZU1vZHVsZSB7IH1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1tZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kcmFnLW1lL3NyYy9saWIvZHJhZy1tZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVFqRSxNQUFNLE9BQU8sWUFBWTs7O1lBTnhCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztnQkFDbEQsT0FBTyxFQUFFLEVBQ1I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7YUFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJhZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vRGlyZWN0aXZlL2RyYWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyb3BwZXJEaXJlY3RpdmUgfSBmcm9tICcuL0RpcmVjdGl2ZS9kcm9wcGVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0RyYWdnZXJEaXJlY3RpdmUsIERyb3BwZXJEaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbXG4gIF0sXG4gIGV4cG9ydHM6IFtEcmFnZ2VyRGlyZWN0aXZlLCBEcm9wcGVyRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBEcmFnTWVNb2R1bGUgeyB9XG4iXX0=

@@ -1,5 +0,1 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';

@@ -10,2 +6,3 @@ import * as i0 from "@angular/core";

}
DragMeService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DragMeService_Factory() { return new DragMeService(); }, token: DragMeService, providedIn: "root" });
DragMeService.decorators = [

@@ -16,5 +13,3 @@ { type: Injectable, args: [{

];
/** @nocollapse */
DragMeService.ctorParameters = () => [];
/** @nocollapse */ DragMeService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DragMeService_Factory() { return new DragMeService(); }, token: DragMeService, providedIn: "root" });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1tZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZHJhZy1tZS8iLCJzb3VyY2VzIjpbImxpYi9kcmFnLW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLGdCQUFnQixDQUFDOzs7WUFMbEIsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEcmFnTWVTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1tZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZHJhZy1tZS9zcmMvbGliL2RyYWctbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sYUFBYTtJQUV4QixnQkFBZ0IsQ0FBQzs7OztZQUxsQixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERyYWdNZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=

@@ -1,12 +0,8 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* Public API Surface of drag-me
*/
export { DragMeService } from './lib/drag-me.service';
export { DraggerDirective } from './lib/Directive/dragger.directive';
export { DropperDirective } from './lib/Directive/dropper.directive';
export { DragMeModule } from './lib/drag-me.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2RyYWctbWUvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw4QkFBYyx1QkFBdUIsQ0FBQztBQUN0QyxpQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxpQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCw2QkFBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZHJhZy1tZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYWctbWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9EaXJlY3RpdmUvZHJhZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvRGlyZWN0aXZlL2Ryb3BwZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYWctbWUubW9kdWxlJztcbiJdfQ==
export * from './lib/drag-me.service';
export * from './lib/Directive/dragger.directive';
export * from './lib/Directive/dropper.directive';
export * from './lib/drag-me.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RyYWctbWUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBkcmFnLW1lXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJhZy1tZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL0RpcmVjdGl2ZS9kcmFnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9EaXJlY3RpdmUvZHJvcHBlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJhZy1tZS5tb2R1bGUnO1xuIl19

@@ -1,10 +0,7 @@

import { Injectable, ɵɵdefineInjectable, EventEmitter, Directive, ElementRef, Input, Output, NgModule } from '@angular/core';
import { ɵɵdefineInjectable, Injectable, EventEmitter, Directive, ElementRef, Input, Output, NgModule } from '@angular/core';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class DragMeService {
constructor() { }
}
DragMeService.ɵprov = ɵɵdefineInjectable({ factory: function DragMeService_Factory() { return new DragMeService(); }, token: DragMeService, providedIn: "root" });
DragMeService.decorators = [

@@ -15,14 +12,5 @@ { type: Injectable, args: [{

];
/** @nocollapse */
DragMeService.ctorParameters = () => [];
/** @nocollapse */ DragMeService.ngInjectableDef = ɵɵdefineInjectable({ factory: function DragMeService_Factory() { return new DragMeService(); }, token: DragMeService, providedIn: "root" });
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class DraggerDirective {
/**
* @param {?} elementRef
*/
constructor(elementRef) {

@@ -32,29 +20,19 @@ this.elementRef = elementRef;

this.ondrop = new EventEmitter();
this.dragStart = new EventEmitter();
}
/**
* @return {?}
*/
ngOnInit() {
/** @type {?} */
const el = this.elementRef.nativeElement;
el.draggable = 'true';
el.addEventListener('dragstart', (/**
* @param {?} e
* @return {?}
*/
(e) => {
el.addEventListener('dragstart', (e) => {
el.classList.add('drag-src');
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text', JSON.stringify(this.dragdata));
}));
this.dragStart && (this.dragStart.emit(this.dragdata));
});
// Remove the drag-src class
el.addEventListener('dragend', (/**
* @param {?} e
* @return {?}
*/
(e) => {
el.addEventListener('dragend', (e) => {
e.preventDefault();
this.ondrop && (this.ondrop.emit(this.dragdata));
el.classList.remove('drag-src');
}));
});
}

@@ -67,3 +45,2 @@ }

];
/** @nocollapse */
DraggerDirective.ctorParameters = () => [

@@ -74,13 +51,7 @@ { type: ElementRef }

dragdata: [{ type: Input }],
ondrop: [{ type: Output }]
ondrop: [{ type: Output }],
dragStart: [{ type: Output }]
};
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class DropperDirective {
/**
* @param {?} elementRef
*/
constructor(elementRef) {

@@ -90,27 +61,11 @@ this.elementRef = elementRef;

}
/**
* @return {?}
*/
ngOnInit() {
/** @type {?} */
const el = this.elementRef.nativeElement;
el.addEventListener('dragenter', (/**
* @param {?} e
* @return {?}
*/
(e) => {
el.addEventListener('dragenter', (e) => {
el.classList.add('over');
}));
el.addEventListener('dragleave', (/**
* @param {?} e
* @return {?}
*/
(e) => {
});
el.addEventListener('dragleave', (e) => {
el.classList.remove('over');
}));
el.addEventListener('dragover', (/**
* @param {?} e
* @return {?}
*/
(e) => {
});
el.addEventListener('dragover', (e) => {
if (e.preventDefault) {

@@ -121,8 +76,4 @@ e.preventDefault();

return false;
}));
el.addEventListener('drop', (/**
* @param {?} e
* @return {?}
*/
(e) => {
});
el.addEventListener('drop', (e) => {
if (e.stopPropagation) {

@@ -132,7 +83,6 @@ e.stopPropagation();

el.classList.remove('over');
/** @type {?} */
const data = JSON.parse(e.dataTransfer.getData('text'));
this.dropped && (this.dropped.emit(data));
return false;
}));
});
}

@@ -145,3 +95,2 @@ }

];
/** @nocollapse */
DropperDirective.ctorParameters = () => [

@@ -154,6 +103,2 @@ { type: ElementRef }

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class DragMeModule {

@@ -169,3 +114,11 @@ }

/*
* Public API Surface of drag-me
*/
/**
* Generated bundle index. Do not edit.
*/
export { DragMeModule, DragMeService, DraggerDirective, DropperDirective };
//# sourceMappingURL=drag-me.js.map

@@ -6,4 +6,5 @@ import { ElementRef, OnInit, EventEmitter } from '@angular/core';

ondrop: EventEmitter<any>;
dragStart: EventEmitter<any>;
constructor(elementRef: ElementRef);
ngOnInit(): void;
}

@@ -0,0 +0,0 @@ import { OnInit, EventEmitter, ElementRef } from '@angular/core';

export declare class DragMeModule {
}
export declare class DragMeService {
constructor();
}
{
"name": "drag-me",
"version": "1.1.5",
"description": "Drag and drop using angular",
"version": "1.1.6",
"description": " Custom Drag and drop using angular",
"keywords": [
"Angular",
"Angular drag and drop",
"Library",

@@ -17,18 +17,16 @@ "Drag",

"peerDependencies": {
"@angular/common": "^8.0.1",
"@angular/core": "^8.0.1"
"@angular/common": "~10.0.14",
"@angular/core": "~10.0.14"
},
"dependencies": {
"tslib": "^2.0.0"
},
"main": "bundles/drag-me.umd.js",
"module": "fesm5/drag-me.js",
"module": "fesm2015/drag-me.js",
"es2015": "fesm2015/drag-me.js",
"esm5": "esm5/drag-me.js",
"esm2015": "esm2015/drag-me.js",
"fesm5": "fesm5/drag-me.js",
"fesm2015": "fesm2015/drag-me.js",
"typings": "drag-me.d.ts",
"metadata": "drag-me.metadata.json",
"sideEffects": false,
"dependencies": {
"tslib": "^1.9.0"
}
"sideEffects": false
}

@@ -0,0 +0,0 @@ export * from './lib/drag-me.service';

# drag-me
`drag-me` is a custom drag and drop module for angular applications provideing features like
A a custom drag and drop module for angular.
#### Features
- darg and drop any where in the dom
- custom callbacks for each event
- able to carry data in drag element
- custom callbacks for `drag-start`, `drag-end`, `drop` events
- Pass data in Dragging element
- custom styling
## How to use
![grab-landing-page](https://github.com/edisonaugusthy/ng7-DragAndDrop/blob/master/tes.gif)
- add to project using `npm i drag-me --save`
Angular compatibility
| Angular Version | package version |
| -------------------------------- | :-------------: |
| angular 8 and below | 1.1.5 and below |
| angular 9 and above(ivy version) | 1.1.6 and above |
- Add `import { DragMeModule } from 'drag-me';` in App Module
## Usage steps
#### Then add it to imports
- Run `npm i drag-me --save` in command prompt from root of your project folder
- Add import to App Module like this `import { DragMeModule } from 'drag-me';`
- Add to imports array in app module
```js
imports: [
BrowserModule,
DragMeModule
],
StorageModule
],
```
- Add `dragMe` Directive to the element to drag
#### And in html use like
###### Add `dragMe` Directive to the element to drag
```html
<div dragMe [dragdata]="item" (ondrop)="onDrop($event)"></div>
```
>NB:`[dragdata]` is the data to carry,`(ondrop)` is callback on drop
NB:`[dragdata]` is the data to carry,`(ondrop)` is callback on drop
- Add `dropHere` Directive to the Container to Drop
###### Add `dropHere` Directive to the Container to Drop
```html
<div dropHere (dropped)='onDrop($event)'></div>
```
NB:`(dropped)` is callback on drop
>NB:`(dropped)` is callback on drop
#### Adding style

@@ -38,1 +51,37 @@

#### All Available methods
- `dragStart()`
- `dropped()`
- `ondrop()`
## Browsers support
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/vivaldi/vivaldi_48x48.png" alt="Vivaldi" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Vivaldi |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| IE11, Edge | last 8 versions | last 8 versions | last 5 versions |
## Built with 🔧
* Angular
## Developing 👷
1. [Clone this repo](https://github.com/edisonaugusthy/ng7-DragAndDrop.git) with git.
1. Install dependencies by running `npm install` within the directory that you cloned (probably `ng-ng7-DragAndDrop`).
1. Start the development server with `ng serve --o`.
1. Open development site by going to [http://localhost:4200](http://localhost:4200) in your browser.
## Author 🔮
<table>
<tr>
<td align="center"><a href="https://github.com/edisonaugusthy"><img src="https://github.com/edisonaugusthy.png?size=100" width="100px;" alt="Edison"/><br /><sub><b>Edison Augusthy</b></sub></a><br /><a href="https://github.com/edisonaugusthy/ng7-DragAndDrop/commits?author=edisonaugusthy" title="Edison">💻</a></td>
</tr>
</table>

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc