diff --git a/apps/ui/src/components/ChangesViewer.vue b/apps/ui/src/components/ChangesViewer.vue index ee403b39..0f94d6c5 100644 --- a/apps/ui/src/components/ChangesViewer.vue +++ b/apps/ui/src/components/ChangesViewer.vue @@ -105,7 +105,7 @@ {{ job.finishedStr }} ({{ job.durationStr }}) - + Logs @@ -177,11 +177,7 @@ export default { } }, showLogs(job) { - this.$emit('showLogs', { - from: job.started, - until: job.finished - }); - this.setActiveTab('drive_logs'); + this.setActiveTab('drive_logs:job-' + job.id); } } }; diff --git a/apps/ui/src/components/JobLogsViewer.vue b/apps/ui/src/components/JobLogsViewer.vue new file mode 100644 index 00000000..345d7647 --- /dev/null +++ b/apps/ui/src/components/JobLogsViewer.vue @@ -0,0 +1,143 @@ + + + diff --git a/apps/ui/src/components/UiMixin.ts b/apps/ui/src/components/UiMixin.ts index e8010643..c2a41c48 100644 --- a/apps/ui/src/components/UiMixin.ts +++ b/apps/ui/src/components/UiMixin.ts @@ -1,5 +1,3 @@ -export const DEFAULT_TAB = 'html'; - export const UiMixin = { data() { return { diff --git a/apps/ui/src/components/UtilsMixin.ts b/apps/ui/src/components/UtilsMixin.ts index d458ced9..6a2ee54d 100644 --- a/apps/ui/src/components/UtilsMixin.ts +++ b/apps/ui/src/components/UtilsMixin.ts @@ -1,3 +1,5 @@ +export const DEFAULT_TAB = 'html'; + export async function disableElement(event, handler) { const origAttr = event.target.getAttribute('disabled'); if ('disabled' === origAttr) { @@ -111,6 +113,10 @@ export const UtilsMixin = { } }, methods: { + getActiveTab() { + const parts = (this.$route.hash.replace(/^#/, '') || DEFAULT_TAB).split(':'); + return parts; + }, setActiveTab(tab, selectedFilePath) { if (this.isAddon) { if (this.fullDrivePath) { diff --git a/apps/ui/src/pages/FolderView.vue b/apps/ui/src/pages/FolderView.vue index 603484f6..342f1b55 100644 --- a/apps/ui/src/pages/FolderView.vue +++ b/apps/ui/src/pages/FolderView.vue @@ -28,7 +28,12 @@ - + +
+ + +
+ @@ -95,8 +100,8 @@