forked from tsai/budibase
16 changed files with 135 additions and 35 deletions
@ -0,0 +1,2 @@ |
|||||
|
export { default as drag } from "./drag.js" |
||||
|
export { default as keyevents } from "./key-events.js" |
||||
@ -0,0 +1,41 @@ |
|||||
|
//events: Array<{trigger: fn}>
|
||||
|
export default function(node, events = []) { |
||||
|
const ev = Object.entries(events) |
||||
|
let fns = [] |
||||
|
|
||||
|
for (let [trigger, fn] of ev) { |
||||
|
let f = addEvent(trigger, fn) |
||||
|
fns = [...fns, f] |
||||
|
} |
||||
|
|
||||
|
function _scaffold(trigger, fn) { |
||||
|
return () => { |
||||
|
let trig = parseInt(trigger) |
||||
|
if (trig) { |
||||
|
if (event.keyCode === trig) { |
||||
|
fn(event) |
||||
|
} |
||||
|
} else { |
||||
|
if (event.key === trigger) { |
||||
|
fn(event) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function addEvent(trigger, fn) { |
||||
|
let f = _scaffold(trigger, fn) |
||||
|
node.addEventListener("keydown", f) |
||||
|
return f |
||||
|
} |
||||
|
|
||||
|
function removeEvents() { |
||||
|
fns.forEach(f => node.removeEventListener("keypress", f)) |
||||
|
} |
||||
|
|
||||
|
return { |
||||
|
destroy() { |
||||
|
removeEvents() |
||||
|
}, |
||||
|
} |
||||
|
} |
||||
@ -1,5 +1,5 @@ |
|||||
<script> |
<script> |
||||
import { buildStyle } from "./helpers.js" |
import {buildStyle} from "../helpers.js" |
||||
import { fade } from "svelte/transition" |
import { fade } from "svelte/transition" |
||||
|
|
||||
export let backgroundSize = "10px" |
export let backgroundSize = "10px" |
||||
@ -1,2 +1,2 @@ |
|||||
import Colorpreview from "./Colorpreview.svelte" |
import Colorpreview from "./components/Colorpreview.svelte" |
||||
export default Colorpreview |
export default Colorpreview |
||||
|
|||||
Loading…
Reference in new issue