@@ -867,14 +867,15 @@
867 867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
P.tabs = new F.TabManager(D.clearElement(P.e.tabContainer));
868 868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Move the status bar between the tab buttons and
869 869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tab panels. Seems to be the best fit in terms of
870 870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
functionality and visibility. */
871 871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
P.tabs.addCustomWidget( E('#fossil-status-bar') ).addCustomWidget(P.e.editStatus);
872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ let currentTab/*used for ctrl-enter switch between editor and preview*/;
872 873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
P.tabs.addEventListener(
873 874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Set up some before-switch-to tab event tasks... */
874 875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
'before-switch-to', function(ev){
875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const theTab = ev.detail, btnSlot = theTab.querySelector('.save-button-slot');
876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const theTab = currentTab = ev.detail, btnSlot = theTab.querySelector('.save-button-slot');
876 877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(btnSlot){
877 878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Several places make sense for a save button, so we'll
878 879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
move that button around to those tabs where it makes sense. */
879 880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
btnSlot.parentNode.insertBefore( P.e.btnSave.parentNode, btnSlot );
880 881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
btnSlot.parentNode.insertBefore( P.e.btnSaveClose.parentNode, btnSlot );
@@ -906,10 +907,38 @@
906 907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* See notes in the before-switch-to handler. */
907 908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
D.addClass(P.e.diffTarget, 'hidden');
908 909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
909 910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
910 911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ////////////////////////////////////////////////////////////
913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Trigger preview on Ctrl-Enter. This only works on the built-in
914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // editor widget, not a client-provided one.
915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ P.e.taEditor.addEventListener('keydown',function(ev){
916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(ev.ctrlKey && 13 === ev.keyCode){
917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ev.preventDefault();
918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ev.stopPropagation();
919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ P.e.taEditor.blur(/*force change event, if needed*/);
920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ P.tabs.switchToTab(P.e.tabs.preview);
921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!P.e.cbAutoPreview.checked){/* If NOT in auto-preview mode, trigger an update. */
922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ P.preview();
923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }, false);
926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // If we're in the preview tab, have ctrl-enter switch back to the editor.
927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ document.body.addEventListener('keydown',function(ev){
928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(ev.ctrlKey && 13 === ev.keyCode){
929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(currentTab === P.e.tabs.preview){
930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ //ev.preventDefault();
931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ //ev.stopPropagation();
932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ P.tabs.switchToTab(P.e.tabs.content);
933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ P.e.taEditor.focus(/*doesn't work for client-supplied editor widget!
934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ And it's slow as molasses for long docs, as focus()
935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ forces a document reflow. */);
936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ //console.debug("BODY ctrl-enter");
937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }, true);
911 940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
912 941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
F.connectPagePreviewers(
913 942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
P.e.tabs.preview.querySelector(
914 943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
'#btn-preview-refresh'
915 944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
)
916 945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!