Browse Source

rework to use tick instead of manual timeout

gh-pages
Keviin Åberg Kultalahti 6 years ago
parent
commit
fa08a6211d
  1. 22
      packages/bbui/src/Modal/Modal.svelte

22
packages/bbui/src/Modal/Modal.svelte

@ -2,7 +2,7 @@
import "@spectrum-css/dialog/dist/index-vars.css" import "@spectrum-css/dialog/dist/index-vars.css"
import "@spectrum-css/modal/dist/index-vars.css" import "@spectrum-css/modal/dist/index-vars.css"
import "@spectrum-css/underlay/dist/index-vars.css" import "@spectrum-css/underlay/dist/index-vars.css"
import { createEventDispatcher, setContext } from "svelte" import { createEventDispatcher, setContext, tick } from "svelte"
import { fade, fly } from "svelte/transition" import { fade, fly } from "svelte/transition"
import Portal from "svelte-portal" import Portal from "svelte-portal"
import Context from "../context" import Context from "../context"
@ -31,25 +31,11 @@
} }
} }
function focusFirstInput(node) { async function focusFirstInput(node) {
const inputs = node.querySelectorAll('input') const inputs = node.querySelectorAll('input')
console.log(inputs)
let timer;
if (inputs) { if (inputs) {
timer = setTimeout(() => { await tick()
inputs[0].focus() inputs[0].focus()
}, 20)
}
return {
destroy() {
if (timer) {
clearTimeout(timer)
}
}
} }
} }

Loading…
Cancel
Save