From 49b39fb3afa10fdcc6217e8e0021fd4ba7efeb3e Mon Sep 17 00:00:00 2001 From: James Cote <3276350+Coteh@users.noreply.github.com> Date: Thu, 4 Nov 2021 21:48:51 -0400 Subject: [PATCH] Add clear logs functionality (#1584) * Add clear logs functionality Other Changes: - Add actions toolbar for actions pertaining to container logs - Move Download button to actions toolbar, remove text and margin to match clear logs button - Move search box below actions toolbar - Turn off pointer events for scroll progress component so that Download button can be clicked - Adjust spacing of container bar to accomodate the new actions toolbar * Change actions toolbar into a floating menu Other Changes: - Move actions toolbar into its own component - Move clear hotkey from LogEventSource to LogActionsToolbar, where the button is - Move search back to where it was before - Add tooltip component from buefy to annotate action buttons - Add CSS variable for action toolbar background color, changes based on theme --- assets/components/LogActionsToolbar.vue | 92 +++++++++++++++++++++++ assets/components/LogContainer.vue | 47 +++--------- assets/components/LogEventSource.vue | 3 + assets/components/LogViewerWithSource.vue | 7 +- assets/components/ScrollProgress.vue | 1 + assets/index.ejs | 8 ++ assets/main.js | 2 + assets/styles.scss | 7 +- 8 files changed, 130 insertions(+), 37 deletions(-) create mode 100644 assets/components/LogActionsToolbar.vue diff --git a/assets/components/LogActionsToolbar.vue b/assets/components/LogActionsToolbar.vue new file mode 100644 index 00000000..d24a2ffd --- /dev/null +++ b/assets/components/LogActionsToolbar.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/assets/components/LogContainer.vue b/assets/components/LogContainer.vue index 33270277..8aea271b 100644 --- a/assets/components/LogContainer.vue +++ b/assets/components/LogContainer.vue @@ -1,43 +1,32 @@ diff --git a/assets/components/ScrollProgress.vue b/assets/components/ScrollProgress.vue index 7fc21b14..c95496f5 100644 --- a/assets/components/ScrollProgress.vue +++ b/assets/components/ScrollProgress.vue @@ -90,6 +90,7 @@ export default { .scroll-progress { display: inline-block; position: relative; + pointer-events: none; svg { filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.2)); diff --git a/assets/index.ejs b/assets/index.ejs index 1700b90f..e8adf249 100644 --- a/assets/index.ejs +++ b/assets/index.ejs @@ -83,6 +83,14 @@ d="M224 1536h608V384H192v1120q0 13 9.5 22.5t22.5 9.5zm1376-32V384H960v1152h608q13 0 22.5-9.5t9.5-22.5zm128-1216v1216q0 66-47 113t-113 47H224q-66 0-113-47t-47-113V288q0-66 47-113t113-47h1344q66 0 113 47t47 113z" /> + + + +
diff --git a/assets/main.js b/assets/main.js index d355cef6..c9edc51b 100644 --- a/assets/main.js +++ b/assets/main.js @@ -5,6 +5,7 @@ import Switch from "buefy/dist/esm/switch"; import Radio from "buefy/dist/esm/radio"; import Field from "buefy/dist/esm/field"; import Modal from "buefy/dist/esm/modal"; +import Tooltip from "buefy/dist/esm/tooltip"; import Autocomplete from "buefy/dist/esm/autocomplete"; import store from "./store"; @@ -18,6 +19,7 @@ Vue.use(Switch); Vue.use(Radio); Vue.use(Field); Vue.use(Modal); +Vue.use(Tooltip); Vue.use(Autocomplete); const routes = [ diff --git a/assets/styles.scss b/assets/styles.scss index ea57623a..5f5f2fb8 100644 --- a/assets/styles.scss +++ b/assets/styles.scss @@ -1,7 +1,6 @@ @charset "utf-8"; @import "~bulma/sass/utilities/initial-variables.sass"; - $body-background-color: var(--body-background-color); $scheme-main: var(--scheme-main); @@ -25,12 +24,16 @@ $panel-heading-color: var(--panel-heading-color); $link: $turquoise; $link-active: $grey-dark; +$dark-toolbar-color: rgba($black-bis, 0.7); +$light-toolbar-color: rgba($grey-darker, 0.7); + @import "~bulma"; @import "../node_modules/splitpanes/dist/splitpanes.css"; @import "~buefy/src/scss/utils/_all"; @import "~buefy/src/scss/components/_switch"; @import "~buefy/src/scss/components/_radio"; @import "~buefy/src/scss/components/_modal"; +@import "~buefy/src/scss/components/_tooltip"; @import "~buefy/src/scss/components/_autocomplete"; html { @@ -46,6 +49,7 @@ html { --secondary-color: #{$yellow}; --body-background-color: #{$black-bis}; + --action-toolbar-background-color: #{$dark-toolbar-color}; --menu-item-active-background-color: var(--primary-color); --menu-item-color: hsl(0, 6%, 87%); @@ -72,6 +76,7 @@ html { --secondary-color: #d8f0ca; --body-background-color: #{$white-bis}; + --action-toolbar-background-color: #{$light-toolbar-color}; --body-color: #{$grey-darker}; --menu-item-color: #{$grey-dark};