From 6a7cf2267dd5b0e94ce35c66b0fe3fae597d6659 Mon Sep 17 00:00:00 2001 From: Andy Richardson Date: Fri, 21 Jun 2019 16:47:13 +0100 Subject: [PATCH 1/3] fix ssr detection --- src/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.tsx b/src/index.tsx index 5b3e76d..7eaa48a 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -5,7 +5,7 @@ import {Position} from "codemirror"; declare let global: any; declare let require: any; -const SERVER_RENDERED = (typeof navigator === 'undefined' || global['PREVENT_CODEMIRROR_RENDER'] === true); +const SERVER_RENDERED = !(typeof window !== 'undefined' && window.document && window.document.createElement) || global['PREVENT_CODEMIRROR_RENDER'] === true; let cm; if (!SERVER_RENDERED) { From 192bde8c4665fd241783414badf84d039a4737a9 Mon Sep 17 00:00:00 2001 From: Andy Richardson Date: Mon, 24 Jun 2019 14:18:45 +0100 Subject: [PATCH 2/3] add DomEvent generic and overrides --- src/index.tsx | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 7eaa48a..23b3573 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -27,8 +27,8 @@ export interface ISetSelectionOptions { head: codemirror.Position; } -export interface DomEvent { - (editor: codemirror.Editor, event: Event): void; +export interface DomEvent { + (editor: codemirror.Editor, event: T): void; } export interface ICodeMirror { @@ -40,26 +40,26 @@ export interface ICodeMirror { editorDidConfigure?: (editor: codemirror.Editor) => void; editorDidMount?: (editor: codemirror.Editor, value: string, cb: () => void) => void; editorWillUnmount?: (lib: any) => void; - onBlur?: DomEvent; + onBlur?: DomEvent; onChange?: (editor: codemirror.Editor, data: codemirror.EditorChange, value: string) => void; onContextMenu?: DomEvent; - onCopy?: DomEvent; + onCopy?: DomEvent; onCursor?: (editor: codemirror.Editor, data: codemirror.Position) => void; - onCut?: DomEvent; + onCut?: DomEvent; onCursorActivity?: (editor: codemirror.Editor) => void; onDblClick?: DomEvent; - onDragEnter?: DomEvent; - onDragLeave?: DomEvent; - onDragOver?: DomEvent - onDragStart?: DomEvent; - onDrop?: DomEvent; + onDragEnter?: DomEvent; + onDragLeave?: DomEvent; + onDragOver?: DomEvent; + onDragStart?: DomEvent; + onDrop?: DomEvent; onFocus?: DomEvent onGutterClick?: (editor: codemirror.Editor, lineNumber: number, gutter: string, event: Event) => void; - onKeyDown?: DomEvent; - onKeyPress?: DomEvent; - onKeyUp?: DomEvent; - onMouseDown?: DomEvent; - onPaste?: DomEvent; + onKeyDown?: DomEvent; + onKeyPress?: DomEvent; + onKeyUp?: DomEvent; + onMouseDown?: DomEvent; + onPaste?: DomEvent; onRenderLine?: (editor: codemirror.Editor, line: codemirror.LineHandle, element: HTMLElement) => void; onScroll?: (editor: codemirror.Editor, data: codemirror.ScrollInfo) => void; onSelection?: (editor: codemirror.Editor, data: any) => void; From 009154b675a6cc78e8fd51237e2a25ef7fb40746 Mon Sep 17 00:00:00 2001 From: Andy Richardson Date: Mon, 24 Jun 2019 14:22:47 +0100 Subject: [PATCH 3/3] rebase to upstream --- src/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.tsx b/src/index.tsx index 23b3573..3128049 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -5,7 +5,7 @@ import {Position} from "codemirror"; declare let global: any; declare let require: any; -const SERVER_RENDERED = !(typeof window !== 'undefined' && window.document && window.document.createElement) || global['PREVENT_CODEMIRROR_RENDER'] === true; +const SERVER_RENDERED = (typeof navigator === 'undefined' || global['PREVENT_CODEMIRROR_RENDER'] === true); let cm; if (!SERVER_RENDERED) {