add ctrl-enter submit
This commit is contained in:
@ -26,6 +26,8 @@ import 'phoenix_html'
|
||||
import { Socket } from 'phoenix'
|
||||
import { LiveSocket } from 'phoenix_live_view'
|
||||
import topbar from 'topbar'
|
||||
|
||||
import CtrlEnter from './ctrlenter'
|
||||
import Date from './date'
|
||||
import DateTime from './datetime'
|
||||
|
||||
@ -34,7 +36,7 @@ let csrfToken
|
||||
if (csrfTokenElement) { csrfToken = csrfTokenElement.getAttribute('content') }
|
||||
const liveSocket = new LiveSocket('/live', Socket, {
|
||||
params: { _csrf_token: csrfToken },
|
||||
hooks: { Date, DateTime }
|
||||
hooks: { CtrlEnter, Date, DateTime }
|
||||
})
|
||||
|
||||
// Show progress bar on live navigation and form submits
|
||||
|
12
assets/js/ctrlenter.js
Normal file
12
assets/js/ctrlenter.js
Normal file
@ -0,0 +1,12 @@
|
||||
export default {
|
||||
addFormSubmit (context) {
|
||||
context.el.addEventListener('keydown', (e) => {
|
||||
if (e.ctrlKey && e.key === 'Enter') {
|
||||
context.el.dispatchEvent(
|
||||
new Event('submit', { bubbles: true, cancelable: true }))
|
||||
}
|
||||
})
|
||||
},
|
||||
mounted () { this.addFormSubmit(this) },
|
||||
updated () { this.addFormSubmit(this) }
|
||||
}
|
Reference in New Issue
Block a user