mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-25 09:20:36 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56230ea915 | ||
|
|
126b5fcfd4 | ||
|
|
d3536d8768 | ||
|
|
59f62d322f | ||
|
|
b85a8e7203 |
@@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
|
### [1.2.11](https://github.com/nuxtlabs/ui/compare/v1.2.10...v1.2.11) (2023-05-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **defineShortcuts:** use `useEventListener` ([#150](https://github.com/nuxtlabs/ui/issues/150)) ([59f62d3](https://github.com/nuxtlabs/ui/commit/59f62d322f07919d16a8d35340c3aa038cd09520))
|
||||||
|
|
||||||
### [1.2.10](https://github.com/nuxtlabs/ui/compare/v1.2.9...v1.2.10) (2023-04-07)
|
### [1.2.10](https://github.com/nuxtlabs/ui/compare/v1.2.9...v1.2.10) (2023-04-07)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@nuxthq/ui",
|
"name": "@nuxthq/ui",
|
||||||
"version": "1.2.10",
|
"version": "1.2.11",
|
||||||
"repository": "https://github.com/nuxtlabs/ui",
|
"repository": "https://github.com/nuxtlabs/ui",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"exports": {
|
"exports": {
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
import type { Ref, ComputedRef } from 'vue'
|
import type { ComputedRef, WatchSource } from 'vue'
|
||||||
import { logicAnd, logicNot } from '@vueuse/math'
|
import { logicAnd, logicNot } from '@vueuse/math'
|
||||||
import { computed, onMounted, onBeforeUnmount } from 'vue'
|
import { useEventListener } from '@vueuse/core'
|
||||||
|
import { computed } from 'vue'
|
||||||
import { useShortcuts } from './useShortcuts'
|
import { useShortcuts } from './useShortcuts'
|
||||||
|
|
||||||
export interface ShortcutConfig {
|
export interface ShortcutConfig {
|
||||||
handler: Function
|
handler: Function
|
||||||
usingInput?: string | boolean
|
usingInput?: string | boolean
|
||||||
whenever?: Ref<Boolean>[]
|
whenever?: WatchSource<Boolean>[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ShortcutsConfig {
|
export interface ShortcutsConfig {
|
||||||
@@ -52,7 +53,6 @@ export const defineShortcuts = (config: ShortcutsConfig) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
// Map config to full detailled shortcuts
|
// Map config to full detailled shortcuts
|
||||||
shortcuts = Object.entries(config).map(([key, shortcutConfig]) => {
|
shortcuts = Object.entries(config).map(([key, shortcutConfig]) => {
|
||||||
if (!shortcutConfig) {
|
if (!shortcutConfig) {
|
||||||
@@ -83,13 +83,12 @@ export const defineShortcuts = (config: ShortcutsConfig) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!shortcut.handler) {
|
if (!shortcut.handler) {
|
||||||
// eslint-disable-next-line no-console
|
|
||||||
console.trace('[Shortcut] Invalid value')
|
console.trace('[Shortcut] Invalid value')
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create shortcut computed
|
// Create shortcut computed
|
||||||
const conditions = []
|
const conditions: ComputedRef<Boolean>[] = []
|
||||||
if (!(shortcutConfig as ShortcutConfig).usingInput) {
|
if (!(shortcutConfig as ShortcutConfig).usingInput) {
|
||||||
conditions.push(logicNot(usingInput))
|
conditions.push(logicNot(usingInput))
|
||||||
} else if (typeof (shortcutConfig as ShortcutConfig).usingInput === 'string') {
|
} else if (typeof (shortcutConfig as ShortcutConfig).usingInput === 'string') {
|
||||||
@@ -100,10 +99,5 @@ export const defineShortcuts = (config: ShortcutsConfig) => {
|
|||||||
return shortcut as Shortcut
|
return shortcut as Shortcut
|
||||||
}).filter(Boolean) as Shortcut[]
|
}).filter(Boolean) as Shortcut[]
|
||||||
|
|
||||||
document.addEventListener('keydown', onKeyDown)
|
useEventListener('keydown', onKeyDown)
|
||||||
})
|
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
|
||||||
document.removeEventListener('keydown', onKeyDown)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user