mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-15 10:46:32 +00:00
cmd+enter to confirm modal
This commit is contained in:
@@ -9,11 +9,16 @@ import ArticleDetail from './ArticleDetail'
|
|||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
import { isModalOpen, closeModal } from 'browser/lib/modal'
|
import { isModalOpen, closeModal } from 'browser/lib/modal'
|
||||||
|
|
||||||
|
const electron = require('electron')
|
||||||
|
const remote = electron.remote
|
||||||
|
|
||||||
const TEXT_FILTER = 'TEXT_FILTER'
|
const TEXT_FILTER = 'TEXT_FILTER'
|
||||||
const FOLDER_FILTER = 'FOLDER_FILTER'
|
const FOLDER_FILTER = 'FOLDER_FILTER'
|
||||||
const FOLDER_EXACT_FILTER = 'FOLDER_EXACT_FILTER'
|
const FOLDER_EXACT_FILTER = 'FOLDER_EXACT_FILTER'
|
||||||
const TAG_FILTER = 'TAG_FILTER'
|
const TAG_FILTER = 'TAG_FILTER'
|
||||||
|
|
||||||
|
const OSX = global.process.platform === 'darwin'
|
||||||
|
|
||||||
class HomePage extends React.Component {
|
class HomePage extends React.Component {
|
||||||
componentDidMount () {
|
componentDidMount () {
|
||||||
// React自体のKey入力はfocusされていないElementからは動かないため、
|
// React自体のKey入力はfocusされていないElementからは動かないため、
|
||||||
@@ -28,6 +33,9 @@ class HomePage extends React.Component {
|
|||||||
|
|
||||||
handleKeyDown (e) {
|
handleKeyDown (e) {
|
||||||
if (isModalOpen()) {
|
if (isModalOpen()) {
|
||||||
|
if (e.keyCode === 13 && (OSX ? e.metaKey : e.ctrlKey)) {
|
||||||
|
remote.getCurrentWebContents().send('modal-confirm')
|
||||||
|
}
|
||||||
if (e.keyCode === 27) closeModal()
|
if (e.keyCode === 27) closeModal()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,23 @@ import ReactDOM from 'react-dom'
|
|||||||
import store from '../store'
|
import store from '../store'
|
||||||
import { destroyArticle } from '../actions'
|
import { destroyArticle } from '../actions'
|
||||||
|
|
||||||
|
const electron = require('electron')
|
||||||
|
const ipc = electron.ipcRenderer
|
||||||
|
|
||||||
export default class DeleteArticleModal extends React.Component {
|
export default class DeleteArticleModal extends React.Component {
|
||||||
|
constructor (props) {
|
||||||
|
super(props)
|
||||||
|
|
||||||
|
this.confirmHandler = e => this.handleYesButtonClick()
|
||||||
|
}
|
||||||
|
|
||||||
componentDidMount () {
|
componentDidMount () {
|
||||||
ReactDOM.findDOMNode(this.refs.no).focus()
|
ReactDOM.findDOMNode(this.refs.no).focus()
|
||||||
|
ipc.on('modal-confirm', this.confirmHandler)
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount () {
|
||||||
|
ipc.removeListener('modal-confirm', this.confirmHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
handleNoButtonClick (e) {
|
handleNoButtonClick (e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user