|
163 | 163 | :is-sidebar-shown="isSidebarShown" |
164 | 164 | :loaded.sync="currentFile.loaded" |
165 | 165 | class="viewer__file viewer__file--active" |
| 166 | + @update:editing="toggleEditor" |
166 | 167 | @error="currentFailed" /> |
167 | 168 | <Error v-else |
168 | 169 | :name="currentFile.basename" /> |
@@ -208,6 +209,7 @@ import canDownload from '../utils/canDownload.js' |
208 | 209 | import Error from '../components/Error.vue' |
209 | 210 | import File from '../models/file.js' |
210 | 211 | import getFileInfo from '../services/FileInfo.ts' |
| 212 | +import fetchNode from '../services/FetchFile.ts' |
211 | 213 | import getFileList from '../services/FileList.ts' |
212 | 214 | import legacyFilesActionHandler from '../services/LegacyFilesActionHandler.js' |
213 | 215 | import logger from '../services/logger.js' |
@@ -563,6 +565,7 @@ export default defineComponent({ |
563 | 565 | subscribe('files:node:updated', this.handleFileUpdated) |
564 | 566 | subscribe('viewer:trapElements:changed', this.handleTrapElementsChange) |
565 | 567 | subscribe('editor:toggle', this.toggleEditor) |
| 568 | + subscribe('editor:file:created', this.handleNewFile) |
566 | 569 | window.addEventListener('keydown', this.keyboardDeleteFile) |
567 | 570 | window.addEventListener('keydown', this.keyboardDownloadFile) |
568 | 571 | window.addEventListener('keydown', this.keyboardEditFile) |
@@ -664,6 +667,22 @@ export default defineComponent({ |
664 | 667 | } |
665 | 668 | } |
666 | 669 | }, |
| 670 | + async handleNewFile(source) { |
| 671 | + let path |
| 672 | + try { |
| 673 | + path = extractFilePathFromSource(source) |
| 674 | + this.openFile(path) |
| 675 | +
|
| 676 | + } catch (e) { |
| 677 | + logger.error('Could not extract file path from source', { source, e }) |
| 678 | + } |
| 679 | + try { |
| 680 | + const node = await fetchNode('/' + path) |
| 681 | + emit('files:node:created', node) |
| 682 | + } catch (e) { |
| 683 | + logger.error('Could not fetch new file', { path, e }) |
| 684 | + } |
| 685 | + }, |
667 | 686 |
|
668 | 687 | /** |
669 | 688 | * Open the view and display the clicked file from a known file info object |
|
0 commit comments