Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
ngx-drag-drop
Advanced tools
This project is currently under development!
Port of angular-drag-drop-lists but without the lists :wink: Credits go to contributors of this repository.
This has dropzones
though :+1:
The idea is that the directive does not handle lists internally so the dndDropzone
can be general purpose.
For touch support please use this polyfill.
npm install ngx-drag-drop
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { DndModule, DndDropEvent } from 'ngx-drag-drop';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
DndModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {
draggable = {
data: "myDragData",
effectAllowed: "all",
disable: false,
handle: false
};
onDragStart(event:DragEvent) {
console.log("drag started");
}
onDragEnd(event:DragEvent) {
console.log("drag ended");
}
onDraggableCopied(event:DragEvent) {
console.log("draggable copied");
}
onDraggableLinked(event:DragEvent) {
console.log("draggable linked");
}
onDraggableMoved(event:DragEvent) {
console.log("draggable moved");
}
onDragCanceled(event:DragEvent) {
console.log("drag cancelled");
}
onDragover(event:DragEvent) {
console.log("dragover");
}
onDrop(event:DndDropEvent) {
console.log("dropped");
}
}
<div [dndDraggable]="draggable.data"
[dndEffectAllowed]="draggable.effectAllowed"
[dndDisableIf]="draggable.disable"
(dndStart)="onDragStart()"
(dndCopied)="onDraggableCopied()"
(dndLinked)="onDraggableLinked()"
(dndMoved)="onDraggableMoved()"
(dndCanceled)="onDragCanceled()"
(dndEnd)="onDragEnd()">
<div *ngIf="draggable.handle"
dndHandle>HANDLE
</div>
draggable ({{draggable.effectAllowed}}) <span [hidden]="!draggable.disable">DISABLED</span>
</div>
<div style="border: 1px orangered solid; border-radius: 5px; padding: 15px;"
#placeholder>
placeholder
</div>
<section dndDropzone
(dndDragover)="onDragover($event)"
(dndDrop)="onDrop($event)">
dropzone
</section>
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/dropEffect
export type DropEffect = "move" | "copy" | "link" | "none";
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/effectAllowed
export type EffectAllowed = DropEffect | "move" | "copy" | "link" | "copyMove" | "copyLink" | "linkMove" | "all";
export declare class DndDraggableDirective {
dndDraggable: any;
dndEffectAllowed: EffectAllowed;
dndType?: string;
dndDisableIf: boolean;
dndDraggingClass: string;
dndDraggingSourceClass: string;
readonly dndStart: EventEmitter<DndEvent>;
readonly dndEnd: EventEmitter<DragEvent>;
readonly dndMoved: EventEmitter<DragEvent>;
readonly dndCopied: EventEmitter<DragEvent>;
readonly dndLinked: EventEmitter<DragEvent>;
readonly dndCanceled: EventEmitter<DragEvent>;
}
export interface DndDropEvent {
event: DragEvent;
dropEffect: DropEffect;
data?: any;
index?: number;
}
export declare class DndDropzoneDirective implements OnInit {
dndDropzone?: string[];
dndEffectAllowed: EffectAllowed;
dndDisableIf: boolean;
dndAllowExternal: boolean;
dndHorizontal: boolean;
dndPlaceholder: Element | null;
dndDragoverClass: string;
readonly dndDragover: EventEmitter<DragEvent>;
readonly dndDrop: EventEmitter<DndDropEvent>;
}
This project was generated with Angular CLI version 1.0.6. For the library build it uses the workflow from generator-angular2-library.
npm run build:lib
npm publish dist
npm run build
docs
to master
FAQs
Angular directives using the native HTML Drag And Drop API
The npm package ngx-drag-drop receives a total of 32,834 weekly downloads. As such, ngx-drag-drop popularity was classified as popular.
We found that ngx-drag-drop demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.