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).

stephan 2021-09-19 08:15 trunk
Commit d6e7917a3e66629fe152265153be69ecd57605b83172dd30d8267ff12a173c44
--- src/fossil.page.fileedit.js
+++ src/fossil.page.fileedit.js
@@ -732,22 +732,24 @@
732732
P.e.taEditor.blur(/*force change event, if needed*/);
733733
P.tabs.switchToTab(P.e.tabs.preview);
734734
if(!P.e.cbAutoPreview.checked){/* If NOT in auto-preview mode, trigger an update. */
735735
P.preview();
736736
}
737
+ return false;
737738
}
738739
}, false);
739740
// If we're in the preview tab, have ctrl-enter switch back to the editor.
740741
document.body.addEventListener('keydown',function(ev){
741742
if(ev.ctrlKey && 13 === ev.keyCode){
742743
if(currentTab === P.e.tabs.preview){
743
- //ev.preventDefault();
744
- //ev.stopPropagation();
744
+ ev.preventDefault();
745
+ ev.stopPropagation();
745746
P.tabs.switchToTab(P.e.tabs.content);
746747
P.e.taEditor.focus(/*doesn't work for client-supplied editor widget!
747748
And it's slow as molasses for long docs, as focus()
748749
forces a document reflow.*/);
750
+ return false;
749751
}
750752
}
751753
}, true);
752754
753755
F.connectPagePreviewers(
754756
--- 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
--- src/fossil.page.pikchrshow.js
+++ src/fossil.page.pikchrshow.js
@@ -100,11 +100,16 @@
100100
P.e.markupAlignWrapper );
101101
102102
////////////////////////////////////////////////////////////
103103
// Trigger preview on Ctrl-Enter.
104104
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
+ }
106111
}, false);
107112
108113
////////////////////////////////////////////////////////////
109114
// Setup clipboard-copy of markup/SVG...
110115
F.copyButton(P.e.previewCopyButton, {copyFromElement: P.e.taPreviewText});
111116
--- 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
--- src/fossil.page.wikiedit.js
+++ src/fossil.page.wikiedit.js
@@ -928,17 +928,18 @@
928928
}, false);
929929
// If we're in the preview tab, have ctrl-enter switch back to the editor.
930930
document.body.addEventListener('keydown',function(ev){
931931
if(ev.ctrlKey && 13 === ev.keyCode){
932932
if(currentTab === P.e.tabs.preview){
933
- //ev.preventDefault();
934
- //ev.stopPropagation();
933
+ ev.preventDefault();
934
+ ev.stopPropagation();
935935
P.tabs.switchToTab(P.e.tabs.content);
936936
P.e.taEditor.focus(/*doesn't work for client-supplied editor widget!
937937
And it's slow as molasses for long docs, as focus()
938938
forces a document reflow. */);
939939
//console.debug("BODY ctrl-enter");
940
+ return false;
940941
}
941942
}
942943
}, true);
943944
944945
F.connectPagePreviewers(
945946
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button