
Security News
Knip Hits 500 Releases with v5.62.0, Improving TypeScript Config Detection and Plugin Integrations
Knip hits 500 releases with v5.62.0, refining TypeScript config detection and updating plugins as monthly npm downloads approach 12M.
@matrx/dragster
Advanced tools
Port of Ben Smithett's dragster to ES6. Wraps native dragenter/dragleave to behave like mouse event when hovering over child DOM elements.
@matrx/dragster
@matrx/dragster
is a port of Ben Smithett's dragster to ES6.
It wraps the native dragenter/dragleave to behave like mouse event when hovering over child DOM elements.
reset()
destroy()
method that can be used as a callback to
remove said instances. If you use this with Svelte's use:
directive, then Svelte will automatically call destroy()
as
something is removed from the DOM.To install with npm
npm install --save @matrx/dragster
In a .svelte file
<script>
import {Dragster} from '@matrx/dragster'
function addDragster(node) {
return new Dragster(node)
}
let thingBeingDragged
function dragStart(event) {
thingBeingDragged = event.target.id
event.target.style.opacity = .5
}
function drop(event) {
const id = event.target.id
Dragster.reset(event.target) // Very important!
console.log('id of drop zone', id)
console.log('id of thing being dragged', thingBeingDragged)
}
function enter(event) {
event.target.style.background = 'grey'
}
function leave(event) {
event.target.style.background = ''
}
function over(event) {
event.preventDefault() // Very important!
}
function dragEnd(event) {
event.target.style.opacity = ""
}
</script>
<style>
.draggable {
width: 200px;
height: 20px;
text-align: center;
background: blue;
}
.dropzone {
width: 200px;
height: 20px;
text-align: center;
background: purple;
}
</style>
<div use:addDragster id="must-be-unique" class="dropzone" on:drop={drop} on:dragster-enter={enter} on:dragster-leave={leave} on:dragover={over}>
Drop something on me
</div>
<div id='must-also-be-unique' draggable='true' class="draggable" on:dragstart={dragStart} on:dragend={dragEnd}>
Drag me
</div>
React's JSX and I suspect Angular, Vue, etc. have a similar syntax to above. In JSX, it's onDragster-start
. You may also have to
create Dragster instances yourself if your UI tech doesn't have
the equivalent to Svelte's use:
and you should probably manually
call destroy()
.
Plain HTML/JavaScript is essentially the same except you'll specify
the event listeners with addEventListener()
like in the
MDN web docs example except that you have to instantiate the
Dragster instances yourself and you should probably manually call
destroy()
.
FAQs
Port of Ben Smithett's dragster to ES6. Wraps native dragenter/dragleave to behave like mouse event when hovering over child DOM elements.
The npm package @matrx/dragster receives a total of 0 weekly downloads. As such, @matrx/dragster popularity was classified as not popular.
We found that @matrx/dragster demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
Knip hits 500 releases with v5.62.0, refining TypeScript config detection and updating plugins as monthly npm downloads approach 12M.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.