From 3fbc749395b7c90643d05ee09b8e7f74e00eb190 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Fri, 24 Nov 2017 17:00:03 +0100 Subject: [PATCH] fixed eslint warnings --- .eslintrc | 5 ++ browser/components/CodeEditor.js | 11 +-- browser/components/MarkdownEditor.js | 31 ++++--- browser/components/MarkdownPreview.js | 26 +++--- browser/components/RealtimeNotification.js | 2 +- browser/components/SnippetTab.js | 2 +- browser/finder/NoteDetail.js | 16 ++-- browser/finder/NoteList.js | 16 ++-- browser/finder/StorageSection.js | 8 +- browser/finder/index.js | 33 ++++---- browser/finder/ipcClient.js | 4 +- browser/finder/store.js | 6 +- browser/lib/Mutable.js | 8 +- browser/lib/findNoteTitle.js | 6 +- browser/lib/getTodoStatus.js | 4 +- browser/lib/markdown.js | 14 ++-- browser/lib/search.js | 4 +- browser/main/Detail/FolderSelect.js | 34 ++++---- browser/main/Detail/MarkdownNoteDetail.js | 42 +++++----- browser/main/Detail/SnippetNoteDetail.js | 76 ++++++++--------- browser/main/Detail/StarButton.js | 2 +- browser/main/Detail/TagSelect.js | 6 +- browser/main/Detail/index.js | 8 +- browser/main/Main.js | 18 ++-- browser/main/NewNoteButton/index.js | 6 +- browser/main/NoteList/index.js | 56 +++++-------- browser/main/SideNav/StorageItem.js | 34 ++++---- browser/main/SideNav/index.js | 20 ++--- browser/main/StatusBar/index.js | 8 +- browser/main/TopBar/index.js | 8 +- browser/main/index.js | 6 +- browser/main/lib/AwsMobileAnalyticsConfig.js | 3 +- browser/main/lib/Commander.js | 8 +- browser/main/lib/ConfigManager.js | 10 +-- browser/main/lib/ZoomManager.js | 2 +- browser/main/lib/dataApi/copyImage.js | 2 - browser/main/lib/dataApi/createFolder.js | 3 +- browser/main/lib/dataApi/createNote.js | 2 +- browser/main/lib/dataApi/deleteFolder.js | 7 +- browser/main/lib/dataApi/deleteNote.js | 3 +- browser/main/lib/dataApi/init.js | 6 +- .../main/lib/dataApi/migrateFromV5Storage.js | 14 ++-- browser/main/lib/dataApi/moveNote.js | 2 +- browser/main/lib/dataApi/renameStorage.js | 3 +- browser/main/lib/dataApi/reorderFolder.js | 1 - .../main/lib/dataApi/resolveStorageData.js | 6 +- .../main/lib/dataApi/resolveStorageNotes.js | 4 +- browser/main/lib/dataApi/updateFolder.js | 3 +- browser/main/lib/dataApi/updateNote.js | 4 +- browser/main/lib/modal.js | 8 +- browser/main/modals/CreateFolderModal.js | 4 +- browser/main/modals/InitModal.js | 10 +-- browser/main/modals/NewNoteModal.js | 4 +- .../modals/PreferencesModal/FolderItem.js | 12 +-- .../modals/PreferencesModal/FolderList.js | 8 +- .../main/modals/PreferencesModal/HotkeyTab.js | 10 +-- .../modals/PreferencesModal/StorageItem.js | 16 ++-- .../modals/PreferencesModal/StoragesTab.js | 14 ++-- browser/main/modals/PreferencesModal/UiTab.js | 4 +- browser/main/modals/PreferencesModal/index.js | 10 +-- browser/main/modals/RenameFolderModal.js | 2 +- browser/main/store.js | 84 +++++++++---------- tests/dataApi/addStorage.js | 6 +- tests/dataApi/createFolder-test.js | 2 +- tests/dataApi/createNote-test.js | 8 +- tests/dataApi/deleteFolder-test.js | 4 +- tests/dataApi/migrateFromV6Storage-test.js | 10 +-- tests/dataApi/moveNote-test.js | 8 +- tests/dataApi/renameStorage-test.js | 2 +- tests/dataApi/reorderFolder-test.js | 3 +- tests/dataApi/updateFolder-test.js | 2 +- tests/dataApi/updateNote-test.js | 12 +-- 72 files changed, 410 insertions(+), 436 deletions(-) diff --git a/.eslintrc b/.eslintrc index 9177344c..a1646659 100644 --- a/.eslintrc +++ b/.eslintrc @@ -12,5 +12,10 @@ "react/no-find-dom-node": "warn", "react/no-render-return-value": "warn", "react/no-deprecated": "warn" + }, + "globals": { + "FileReader": true, + "localStorage": true, + "fetch": true } } diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index c7b54b2d..d944ed18 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -103,7 +103,7 @@ export default class CodeEditor extends React.Component { this.editor.on('change', this.changeHandler) this.editor.on('paste', this.pasteHandler) - let editorTheme = document.getElementById('editorTheme') + const editorTheme = document.getElementById('editorTheme') editorTheme.addEventListener('load', this.loadStyleHandler) CodeMirror.Vim.defineEx('quit', 'q', this.quitEditor) @@ -121,7 +121,7 @@ export default class CodeEditor extends React.Component { this.editor.off('blur', this.blurHandler) this.editor.off('change', this.changeHandler) this.editor.off('paste', this.pasteHandler) - let editorTheme = document.getElementById('editorTheme') + const editorTheme = document.getElementById('editorTheme') editorTheme.removeEventListener('load', this.loadStyleHandler) } @@ -197,7 +197,7 @@ export default class CodeEditor extends React.Component { } setValue (value) { - let cursor = this.editor.getCursor() + const cursor = this.editor.getCursor() this.editor.setValue(value) this.editor.setCursor(cursor) } @@ -222,7 +222,7 @@ export default class CodeEditor extends React.Component { if (!dataTransferItem.type.match('image')) return const blob = dataTransferItem.getAsFile() - let reader = new FileReader() + const reader = new FileReader() let base64data reader.readAsDataURL(blob) @@ -242,7 +242,8 @@ export default class CodeEditor extends React.Component { } render () { - let { className, fontFamily, fontSize } = this.props + const { className, fontSize } = this.props + let fontFamily = this.props.className fontFamily = _.isString(fontFamily) && fontFamily.length > 0 ? [fontFamily].concat(defaultEditorFontFamily) : defaultEditorFontFamily diff --git a/browser/components/MarkdownEditor.js b/browser/components/MarkdownEditor.js index 65b52f86..b94a64a6 100644 --- a/browser/components/MarkdownEditor.js +++ b/browser/components/MarkdownEditor.js @@ -5,7 +5,6 @@ import CodeEditor from 'browser/components/CodeEditor' import MarkdownPreview from 'browser/components/MarkdownPreview' import eventEmitter from 'browser/main/lib/eventEmitter' import { findStorage } from 'browser/lib/findStorage' -const _ = require('lodash') class MarkdownEditor extends React.Component { constructor (props) { @@ -70,9 +69,9 @@ class MarkdownEditor extends React.Component { } handleContextMenu (e) { - let { config } = this.props + const { config } = this.props if (config.editor.switchPreview === 'RIGHTCLICK') { - let newStatus = this.state.status === 'PREVIEW' + const newStatus = this.state.status === 'PREVIEW' ? 'CODE' : 'PREVIEW' this.setState({ @@ -91,9 +90,9 @@ class MarkdownEditor extends React.Component { handleBlur (e) { if (this.state.isLocked) return this.setState({ keyPressed: new Set() }) - let { config } = this.props + const { config } = this.props if (config.editor.switchPreview === 'BLUR') { - let cursorPosition = this.refs.code.editor.getCursor() + const cursorPosition = this.refs.code.editor.getCursor() this.setState({ status: 'PREVIEW' }, () => { @@ -109,7 +108,7 @@ class MarkdownEditor extends React.Component { } handlePreviewMouseUp (e) { - let { config } = this.props + const { config } = this.props if (config.editor.switchPreview === 'BLUR' && new Date() - this.previewMouseDownedAt < 200) { this.setState({ status: 'CODE' @@ -123,15 +122,15 @@ class MarkdownEditor extends React.Component { handleCheckboxClick (e) { e.preventDefault() e.stopPropagation() - let idMatch = /checkbox-([0-9]+)/ - let checkedMatch = /\[x\]/i - let uncheckedMatch = /\[ \]/ + const idMatch = /checkbox-([0-9]+)/ + const checkedMatch = /\[x\]/i + const uncheckedMatch = /\[ \]/ if (idMatch.test(e.target.getAttribute('id'))) { - let lineIndex = parseInt(e.target.getAttribute('id').match(idMatch)[1], 10) - 1 - let lines = this.refs.code.value + const lineIndex = parseInt(e.target.getAttribute('id').match(idMatch)[1], 10) - 1 + const lines = this.refs.code.value .split('\n') - let targetLine = lines[lineIndex] + const targetLine = lines[lineIndex] if (targetLine.match(checkedMatch)) { lines[lineIndex] = targetLine.replace(checkedMatch, '[ ]') @@ -163,12 +162,12 @@ class MarkdownEditor extends React.Component { } handleKeyDown (e) { - let { config } = this.props + const { config } = this.props if (this.state.status !== 'CODE') return false const keyPressed = this.state.keyPressed keyPressed.add(e.keyCode) this.setState({ keyPressed }) - let isNoteHandlerKey = (el) => { return keyPressed.has(el) } + const isNoteHandlerKey = (el) => { return keyPressed.has(el) } // These conditions are for ctrl-e and ctrl-w if (keyPressed.size === this.escapeFromEditor.length && !this.state.isLocked && this.state.status === 'CODE' && @@ -207,14 +206,14 @@ class MarkdownEditor extends React.Component { } render () { - let { className, value, config, storageKey } = this.props + const { className, value, config, storageKey } = this.props let editorFontSize = parseInt(config.editor.fontSize, 10) if (!(editorFontSize > 0 && editorFontSize < 101)) editorFontSize = 14 let editorIndentSize = parseInt(config.editor.indentSize, 10) if (!(editorFontSize > 0 && editorFontSize < 132)) editorIndentSize = 4 - let previewStyle = {} + const previewStyle = {} if (this.props.ignorePreviewPointerEvents) previewStyle.pointerEvents = 'none' const storage = findStorage(storageKey) diff --git a/browser/components/MarkdownPreview.js b/browser/components/MarkdownPreview.js index 9ce1fcd6..959d9339 100644 --- a/browser/components/MarkdownPreview.js +++ b/browser/components/MarkdownPreview.js @@ -126,10 +126,10 @@ export default class MarkdownPreview extends React.Component { e.preventDefault() e.stopPropagation() - let anchor = e.target.closest('a') - let href = anchor.getAttribute('href') + const anchor = e.target.closest('a') + const href = anchor.getAttribute('href') if (_.isString(href) && href.match(/^#/)) { - let targetElement = this.refs.root.contentWindow.document.getElementById(href.substring(1, href.length)) + const targetElement = this.refs.root.contentWindow.document.getElementById(href.substring(1, href.length)) if (targetElement != null) { this.getWindow().scrollTo(0, targetElement.offsetTop) } @@ -251,7 +251,8 @@ export default class MarkdownPreview extends React.Component { } applyStyle () { - let { fontFamily, fontSize, codeBlockFontFamily, lineNumber, codeBlockTheme } = this.props + const { fontSize, lineNumber, codeBlockTheme } = this.props + let { fontFamily, codeBlockFontFamily } = this.props fontFamily = _.isString(fontFamily) && fontFamily.trim().length > 0 ? [fontFamily].concat(defaultFontFamily) : defaultFontFamily @@ -284,7 +285,8 @@ export default class MarkdownPreview extends React.Component { el.removeEventListener('click', this.linkClickHandler) }) - let { value, theme, indentSize, codeBlockTheme, showCopyNotification, storagePath } = this.props + const { theme, indentSize, showCopyNotification, storagePath } = this.props + let { value, codeBlockTheme } = this.props this.refs.root.contentWindow.document.body.setAttribute('data-theme', theme) @@ -327,7 +329,7 @@ export default class MarkdownPreview extends React.Component { let syntax = CodeMirror.findModeByName(el.className) if (syntax == null) syntax = CodeMirror.findModeByName('Plain Text') CodeMirror.requireMode(syntax.mode, () => { - let content = htmlTextHelper.decodeEntities(el.innerHTML) + const content = htmlTextHelper.decodeEntities(el.innerHTML) const copyIcon = document.createElement('i') copyIcon.innerHTML = '' copyIcon.onclick = (e) => { @@ -352,7 +354,7 @@ export default class MarkdownPreview extends React.Component { }) }) }) - let opts = {} + const opts = {} // if (this.props.theme === 'dark') { // opts['font-color'] = '#DDD' // opts['line-color'] = '#DDD' @@ -362,7 +364,7 @@ export default class MarkdownPreview extends React.Component { _.forEach(this.refs.root.contentWindow.document.querySelectorAll('.flowchart'), (el) => { Raphael.setWindow(this.getWindow()) try { - let diagram = flowchart.parse(htmlTextHelper.decodeEntities(el.innerHTML)) + const diagram = flowchart.parse(htmlTextHelper.decodeEntities(el.innerHTML)) el.innerHTML = '' diagram.drawSVG(el, opts) _.forEach(el.querySelectorAll('a'), (el) => { @@ -378,7 +380,7 @@ export default class MarkdownPreview extends React.Component { _.forEach(this.refs.root.contentWindow.document.querySelectorAll('.sequence'), (el) => { Raphael.setWindow(this.getWindow()) try { - let diagram = SequenceDiagram.parse(htmlTextHelper.decodeEntities(el.innerHTML)) + const diagram = SequenceDiagram.parse(htmlTextHelper.decodeEntities(el.innerHTML)) el.innerHTML = '' diagram.drawSVG(el, {theme: 'simple'}) _.forEach(el.querySelectorAll('a'), (el) => { @@ -401,11 +403,11 @@ export default class MarkdownPreview extends React.Component { } scrollTo (targetRow) { - let blocks = this.getWindow().document.querySelectorAll('body>[data-line]') + const blocks = this.getWindow().document.querySelectorAll('body>[data-line]') for (let index = 0; index < blocks.length; index++) { let block = blocks[index] - let row = parseInt(block.getAttribute('data-line')) + const row = parseInt(block.getAttribute('data-line')) if (row > targetRow || index === blocks.length - 1) { block = blocks[index - 1] block != null && this.getWindow().scrollTo(0, block.offsetTop) @@ -435,7 +437,7 @@ export default class MarkdownPreview extends React.Component { } render () { - let { className, style, tabIndex } = this.props + const { className, style, tabIndex } = this.props return (