Fossil SCM
/wikiedit, /fileedit, and /pikchrshow: tweak ctrl-enter preview toggle event handling to avoid spurious addition of CRNL to text area (patch from Warren in /chat).
Commit
d6e7917a3e66629fe152265153be69ecd57605b83172dd30d8267ff12a173c44
Parent
9d4a13276110757…
3 files changed
+4
-2
+6
-1
+3
-2
+4
-2
| --- src/fossil.page.fileedit.js | ||
| +++ src/fossil.page.fileedit.js | ||
| @@ -732,22 +732,24 @@ | ||
| 732 | 732 | P.e.taEditor.blur(/*force change event, if needed*/); |
| 733 | 733 | P.tabs.switchToTab(P.e.tabs.preview); |
| 734 | 734 | if(!P.e.cbAutoPreview.checked){/* If NOT in auto-preview mode, trigger an update. */ |
| 735 | 735 | P.preview(); |
| 736 | 736 | } |
| 737 | + return false; | |
| 737 | 738 | } |
| 738 | 739 | }, false); |
| 739 | 740 | // If we're in the preview tab, have ctrl-enter switch back to the editor. |
| 740 | 741 | document.body.addEventListener('keydown',function(ev){ |
| 741 | 742 | if(ev.ctrlKey && 13 === ev.keyCode){ |
| 742 | 743 | if(currentTab === P.e.tabs.preview){ |
| 743 | - //ev.preventDefault(); | |
| 744 | - //ev.stopPropagation(); | |
| 744 | + ev.preventDefault(); | |
| 745 | + ev.stopPropagation(); | |
| 745 | 746 | P.tabs.switchToTab(P.e.tabs.content); |
| 746 | 747 | P.e.taEditor.focus(/*doesn't work for client-supplied editor widget! |
| 747 | 748 | And it's slow as molasses for long docs, as focus() |
| 748 | 749 | forces a document reflow.*/); |
| 750 | + return false; | |
| 749 | 751 | } |
| 750 | 752 | } |
| 751 | 753 | }, true); |
| 752 | 754 | |
| 753 | 755 | F.connectPagePreviewers( |
| 754 | 756 |
| --- src/fossil.page.fileedit.js | |
| +++ src/fossil.page.fileedit.js | |
| @@ -732,22 +732,24 @@ | |
| 732 | P.e.taEditor.blur(/*force change event, if needed*/); |
| 733 | P.tabs.switchToTab(P.e.tabs.preview); |
| 734 | if(!P.e.cbAutoPreview.checked){/* If NOT in auto-preview mode, trigger an update. */ |
| 735 | P.preview(); |
| 736 | } |
| 737 | } |
| 738 | }, false); |
| 739 | // If we're in the preview tab, have ctrl-enter switch back to the editor. |
| 740 | document.body.addEventListener('keydown',function(ev){ |
| 741 | if(ev.ctrlKey && 13 === ev.keyCode){ |
| 742 | if(currentTab === P.e.tabs.preview){ |
| 743 | //ev.preventDefault(); |
| 744 | //ev.stopPropagation(); |
| 745 | P.tabs.switchToTab(P.e.tabs.content); |
| 746 | P.e.taEditor.focus(/*doesn't work for client-supplied editor widget! |
| 747 | And it's slow as molasses for long docs, as focus() |
| 748 | forces a document reflow.*/); |
| 749 | } |
| 750 | } |
| 751 | }, true); |
| 752 | |
| 753 | F.connectPagePreviewers( |
| 754 |
| --- src/fossil.page.fileedit.js | |
| +++ src/fossil.page.fileedit.js | |
| @@ -732,22 +732,24 @@ | |
| 732 | P.e.taEditor.blur(/*force change event, if needed*/); |
| 733 | P.tabs.switchToTab(P.e.tabs.preview); |
| 734 | if(!P.e.cbAutoPreview.checked){/* If NOT in auto-preview mode, trigger an update. */ |
| 735 | P.preview(); |
| 736 | } |
| 737 | return false; |
| 738 | } |
| 739 | }, false); |
| 740 | // If we're in the preview tab, have ctrl-enter switch back to the editor. |
| 741 | document.body.addEventListener('keydown',function(ev){ |
| 742 | if(ev.ctrlKey && 13 === ev.keyCode){ |
| 743 | if(currentTab === P.e.tabs.preview){ |
| 744 | ev.preventDefault(); |
| 745 | ev.stopPropagation(); |
| 746 | P.tabs.switchToTab(P.e.tabs.content); |
| 747 | P.e.taEditor.focus(/*doesn't work for client-supplied editor widget! |
| 748 | And it's slow as molasses for long docs, as focus() |
| 749 | forces a document reflow.*/); |
| 750 | return false; |
| 751 | } |
| 752 | } |
| 753 | }, true); |
| 754 | |
| 755 | F.connectPagePreviewers( |
| 756 |
+6
-1
| --- src/fossil.page.pikchrshow.js | ||
| +++ src/fossil.page.pikchrshow.js | ||
| @@ -100,11 +100,16 @@ | ||
| 100 | 100 | P.e.markupAlignWrapper ); |
| 101 | 101 | |
| 102 | 102 | //////////////////////////////////////////////////////////// |
| 103 | 103 | // Trigger preview on Ctrl-Enter. |
| 104 | 104 | P.e.taContent.addEventListener('keydown',function(ev){ |
| 105 | - if(ev.ctrlKey && 13 === ev.keyCode) P.preview(); | |
| 105 | + if(ev.ctrlKey && 13 === ev.keyCode){ | |
| 106 | + ev.preventDefault(); | |
| 107 | + ev.stopPropagation(); | |
| 108 | + P.preview(); | |
| 109 | + return false; | |
| 110 | + } | |
| 106 | 111 | }, false); |
| 107 | 112 | |
| 108 | 113 | //////////////////////////////////////////////////////////// |
| 109 | 114 | // Setup clipboard-copy of markup/SVG... |
| 110 | 115 | F.copyButton(P.e.previewCopyButton, {copyFromElement: P.e.taPreviewText}); |
| 111 | 116 |
| --- src/fossil.page.pikchrshow.js | |
| +++ src/fossil.page.pikchrshow.js | |
| @@ -100,11 +100,16 @@ | |
| 100 | P.e.markupAlignWrapper ); |
| 101 | |
| 102 | //////////////////////////////////////////////////////////// |
| 103 | // Trigger preview on Ctrl-Enter. |
| 104 | P.e.taContent.addEventListener('keydown',function(ev){ |
| 105 | if(ev.ctrlKey && 13 === ev.keyCode) P.preview(); |
| 106 | }, false); |
| 107 | |
| 108 | //////////////////////////////////////////////////////////// |
| 109 | // Setup clipboard-copy of markup/SVG... |
| 110 | F.copyButton(P.e.previewCopyButton, {copyFromElement: P.e.taPreviewText}); |
| 111 |
| --- src/fossil.page.pikchrshow.js | |
| +++ src/fossil.page.pikchrshow.js | |
| @@ -100,11 +100,16 @@ | |
| 100 | P.e.markupAlignWrapper ); |
| 101 | |
| 102 | //////////////////////////////////////////////////////////// |
| 103 | // Trigger preview on Ctrl-Enter. |
| 104 | P.e.taContent.addEventListener('keydown',function(ev){ |
| 105 | if(ev.ctrlKey && 13 === ev.keyCode){ |
| 106 | ev.preventDefault(); |
| 107 | ev.stopPropagation(); |
| 108 | P.preview(); |
| 109 | return false; |
| 110 | } |
| 111 | }, false); |
| 112 | |
| 113 | //////////////////////////////////////////////////////////// |
| 114 | // Setup clipboard-copy of markup/SVG... |
| 115 | F.copyButton(P.e.previewCopyButton, {copyFromElement: P.e.taPreviewText}); |
| 116 |
+3
-2
| --- src/fossil.page.wikiedit.js | ||
| +++ src/fossil.page.wikiedit.js | ||
| @@ -928,17 +928,18 @@ | ||
| 928 | 928 | }, false); |
| 929 | 929 | // If we're in the preview tab, have ctrl-enter switch back to the editor. |
| 930 | 930 | document.body.addEventListener('keydown',function(ev){ |
| 931 | 931 | if(ev.ctrlKey && 13 === ev.keyCode){ |
| 932 | 932 | if(currentTab === P.e.tabs.preview){ |
| 933 | - //ev.preventDefault(); | |
| 934 | - //ev.stopPropagation(); | |
| 933 | + ev.preventDefault(); | |
| 934 | + ev.stopPropagation(); | |
| 935 | 935 | P.tabs.switchToTab(P.e.tabs.content); |
| 936 | 936 | P.e.taEditor.focus(/*doesn't work for client-supplied editor widget! |
| 937 | 937 | And it's slow as molasses for long docs, as focus() |
| 938 | 938 | forces a document reflow. */); |
| 939 | 939 | //console.debug("BODY ctrl-enter"); |
| 940 | + return false; | |
| 940 | 941 | } |
| 941 | 942 | } |
| 942 | 943 | }, true); |
| 943 | 944 | |
| 944 | 945 | F.connectPagePreviewers( |
| 945 | 946 |
| --- src/fossil.page.wikiedit.js | |
| +++ src/fossil.page.wikiedit.js | |
| @@ -928,17 +928,18 @@ | |
| 928 | }, false); |
| 929 | // If we're in the preview tab, have ctrl-enter switch back to the editor. |
| 930 | document.body.addEventListener('keydown',function(ev){ |
| 931 | if(ev.ctrlKey && 13 === ev.keyCode){ |
| 932 | if(currentTab === P.e.tabs.preview){ |
| 933 | //ev.preventDefault(); |
| 934 | //ev.stopPropagation(); |
| 935 | P.tabs.switchToTab(P.e.tabs.content); |
| 936 | P.e.taEditor.focus(/*doesn't work for client-supplied editor widget! |
| 937 | And it's slow as molasses for long docs, as focus() |
| 938 | forces a document reflow. */); |
| 939 | //console.debug("BODY ctrl-enter"); |
| 940 | } |
| 941 | } |
| 942 | }, true); |
| 943 | |
| 944 | F.connectPagePreviewers( |
| 945 |
| --- src/fossil.page.wikiedit.js | |
| +++ src/fossil.page.wikiedit.js | |
| @@ -928,17 +928,18 @@ | |
| 928 | }, false); |
| 929 | // If we're in the preview tab, have ctrl-enter switch back to the editor. |
| 930 | document.body.addEventListener('keydown',function(ev){ |
| 931 | if(ev.ctrlKey && 13 === ev.keyCode){ |
| 932 | if(currentTab === P.e.tabs.preview){ |
| 933 | ev.preventDefault(); |
| 934 | ev.stopPropagation(); |
| 935 | P.tabs.switchToTab(P.e.tabs.content); |
| 936 | P.e.taEditor.focus(/*doesn't work for client-supplied editor widget! |
| 937 | And it's slow as molasses for long docs, as focus() |
| 938 | forces a document reflow. */); |
| 939 | //console.debug("BODY ctrl-enter"); |
| 940 | return false; |
| 941 | } |
| 942 | } |
| 943 | }, true); |
| 944 | |
| 945 | F.connectPagePreviewers( |
| 946 |