From 5e0198e259608934c26b12c45bade5851d9880af Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Thu, 28 Oct 2021 00:07:54 +0200 Subject: [PATCH] feat: add a compact console style option Signed-off-by: Stefan Dej --- src/components/console/ConsoleTableEntry.vue | 28 +++- src/components/panels/MiniconsolePanel.vue | 125 ++++++++++-------- .../settings/SettingsConsoleTab.vue | 24 ++++ src/locales/en.json | 5 +- src/store/gui/index.ts | 1 + 5 files changed, 120 insertions(+), 63 deletions(-) diff --git a/src/components/console/ConsoleTableEntry.vue b/src/components/console/ConsoleTableEntry.vue index c1904cfd..10bb0acd 100644 --- a/src/components/console/ConsoleTableEntry.vue +++ b/src/components/console/ConsoleTableEntry.vue @@ -3,16 +3,30 @@ font-family: 'Roboto Mono', monospace; font-size: .95em; - &+.consoleTableRow .col { - border-top: 1px solid rgba(255, 255, 255, 0.12); + &.default { + .col { + padding-top: 8px !important; + padding-bottom: 8px !important; + } + + &+.consoleTableRow .col { + border-top: 1px solid rgba(255, 255, 255, 0.12); + } + } + + &.compact { + .col { + padding-top: 2px !important; + padding-bottom: 2px !important; + } } } @@ -27,6 +41,10 @@ export default class ConsoleTableEntry extends Vue { @Prop({ required: true }) readonly event!: ServerStateEvent + get entryStyle() { + return this.$store.state.gui.console.entryStyle ?? 'default' + } + colorConsoleMessage(item: ServerStateEvent): string { if (item.message.startsWith('!! ')) return 'red--text' diff --git a/src/components/panels/MiniconsolePanel.vue b/src/components/panels/MiniconsolePanel.vue index 182b881a..f296bd29 100644 --- a/src/components/panels/MiniconsolePanel.vue +++ b/src/components/panels/MiniconsolePanel.vue @@ -17,63 +17,65 @@ :collapsible="true" card-class="miniconsole-panel" > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -250,5 +252,14 @@ export default class MiniconsolePanel extends Mixins(BaseMixin) { } }) } + + scrollToTop() { + this.$nextTick(() => { + if (this.$refs.miniConsoleScroll) { + const perfectScroll = ((this.$refs.miniConsoleScroll as Vue).$el as HTMLDivElement) + perfectScroll.scrollTop = 0 + } + }) + } } diff --git a/src/components/settings/SettingsConsoleTab.vue b/src/components/settings/SettingsConsoleTab.vue index 5a5c3610..b38519c2 100644 --- a/src/components/settings/SettingsConsoleTab.vue +++ b/src/components/settings/SettingsConsoleTab.vue @@ -10,6 +10,10 @@ + + + + @@ -135,6 +139,26 @@ export default class SettingsConsoleTab extends Mixins(BaseMixin) { this.$store.dispatch('gui/saveSetting', { name: 'console.direction', value: newVal }) } + get availableEntryStyles() { + return [ + { + text: this.$t('Settings.ConsoleTab.EntryStyleDefault'), + value: 'default' + }, { + text: this.$t('Settings.ConsoleTab.EntryStyleCompact'), + value: 'compact' + } + ] + } + + get entryStyle() { + return this.$store.state.gui.console.entryStyle ?? 'default' + } + + set entryStyle(newVal) { + this.$store.dispatch('gui/saveSetting', { name: 'console.entryStyle', value: newVal }) + } + get consoleHeight() { return this.$store.state.gui.console.height ?? 300 } diff --git a/src/locales/en.json b/src/locales/en.json index 34e71557..a68837af 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -630,7 +630,10 @@ "StoreButton": "Store filter", "UpdateButton": "Update filter", "EditHeadline": "Edit filter", - "AddFilter": "add filter" + "AddFilter": "add filter", + "EntryStyle": "Entry-Design", + "EntryStyleDefault": "default", + "EntryStyleCompact": "compact" }, "PresetsTab": { "PreheatPresets": "Presets", diff --git a/src/store/gui/index.ts b/src/store/gui/index.ts index 1cc5600f..fb43d37f 100644 --- a/src/store/gui/index.ts +++ b/src/store/gui/index.ts @@ -121,6 +121,7 @@ export const getDefaultState = (): GuiState => { console: { hideWaitTemperatures: true, direction: 'table', + entryStyle: 'default', height: 300, customFilters: [], },