From 02545bf08154860a842f3d34f371964bd7cd6ca1 Mon Sep 17 00:00:00 2001 From: axolotle Date: Tue, 29 Jun 2021 12:53:32 +0200 Subject: [PATCH] add strangeness in store & update LibraryOptions filters --- .../formItems/MultipleTagsSelect.vue | 2 + src/pages/library/LibraryOptions.vue | 160 +++++++++++------- src/store/modules/library.js | 9 +- 3 files changed, 105 insertions(+), 66 deletions(-) diff --git a/src/components/formItems/MultipleTagsSelect.vue b/src/components/formItems/MultipleTagsSelect.vue index 664edb9..6f7a6c3 100644 --- a/src/components/formItems/MultipleTagsSelect.vue +++ b/src/components/formItems/MultipleTagsSelect.vue @@ -72,8 +72,10 @@ export default { .list-inline { margin: 0; + &-item { margin-bottom: .25rem; + display: inline-block; } } diff --git a/src/pages/library/LibraryOptions.vue b/src/pages/library/LibraryOptions.vue index d807c41..590e037 100644 --- a/src/pages/library/LibraryOptions.vue +++ b/src/pages/library/LibraryOptions.vue @@ -19,28 +19,45 @@ v-if="mode !== 'tree'" :label="$t('options.filters.title')" > - +
+ + {{ $t('options.filters.choices.tags') }} + + - +
- -
+
+ + {{ $t('options.filters.choices.strangeness') }} + + +
- +
@@ -91,7 +108,8 @@ export default { { text: this.$t('options.display.choices.card-list'), value: 'list' } ], selectedTags: [], - strangeness: 0 + tagsIsActive: false, + strangenessIsActive: false } }, @@ -103,7 +121,8 @@ export default { 'mode', 'nodeDepartId', 'search', - 'tags' + 'tags', + 'strangeness' ]), show () { @@ -136,6 +155,27 @@ export default { set (value) { this.$store.commit('UPDATE_TAGS', value) } + }, + + activeStrangeness: { + get () { return this.strangeness }, + set (value) { + this.$store.commit('UPDATE_STRANGENESS', parseInt(value)) + } + } + }, + + watch: { + strangenessIsActive (activate) { + if (activate) { + this.$store.commit('UPDATE_STRANGENESS', 1) + } else { + this.$store.commit('UPDATE_STRANGENESS', undefined) + } + }, + + tagsIsActive () { + this.$store.commit('UPDATE_TAGS', []) } } } @@ -158,7 +198,7 @@ export default { } } - @include media-breakpoint-up($layout-bp) { + @include media-breakpoint-up($size-bp) { padding: 0 $header-spacer $header-spacer; display: flex; justify-content: space-between; @@ -166,11 +206,12 @@ export default { ::v-deep { - @include media-breakpoint-up($layout-bp) { + @include media-breakpoint-up($size-bp) { flex-wrap: wrap; fieldset { - margin-bottom: 0;* + margin-bottom: 0; + &:last-child { flex-shrink: 2; } @@ -182,6 +223,10 @@ export default { } .mode-select-group { + > div { + line-height: 0; + } + label { border-color: transparent; @@ -194,56 +239,43 @@ export default { } .filters-group { - margin: 0; - label { - margin-right: .5rem; - } - - .form-group { - display: flex; - } - - > div { - :last-child { - position: relative; - - label { - white-space: nowrap; - } - - .strangeness-input-wrapper { - min-width: 150px; - &::before, - &::after { - content: ''; - display: inline-block; - width: 3px; - height: 20px; - background-color: $black; - position: absolute; - } - - &::after { - margin-left: -2px; - } - } - } - } + width: 100%; @include media-breakpoint-up($layout-bp) { - min-width: 450px; + max-width: 450px; + } - .form-group { - margin-bottom: 0; + .filters-mini-group { + display: flex; + line-height: 0; + } + + .toggle-btn label { + border-color: transparent; + margin-right: .5rem; + + &:not(:disabled):not(.disabled):active, + &:not(:disabled):not(.disabled).active { + border-color: $black; + background-color: transparent; + color: $black; + } + } + + .strangeness-input-wrapper { + min-width: 150px; + &::before, + &::after { + content: ''; + display: inline-block; + width: 3px; + height: 20px; + background-color: $black; + position: absolute; } - > div { - display: flex; - justify-content: space-between; - - > :first-child { - margin-right: 1rem; - } + &::after { + margin-left: -2px; } } } diff --git a/src/store/modules/library.js b/src/store/modules/library.js index 5000b8e..30019a1 100644 --- a/src/store/modules/library.js +++ b/src/store/modules/library.js @@ -19,13 +19,13 @@ export default { nodebook: undefined, // LibraryOptions options - strangeness: [0, 1, 2, 3, 4], tagsOptions: [], // LibraryOptions state mode: undefined, nodeDepartId: undefined, search: '', - tags: [] + tags: [], + strangeness: undefined }, mutations: { @@ -79,6 +79,10 @@ export default { state.tags = tags }, + 'UPDATE_STRANGENESS' (state, strangenessLvl) { + state.strangeness = strangenessLvl + }, + 'SET_MODE' (state, mode) { state.mode = mode }, @@ -192,6 +196,7 @@ export default { nodeDepartId: state => state.nodeDepartId, search: state => state.search, tags: state => state.tags, + strangeness: state => state.strangeness, // LibraryOptions options tagsOptions: state => state.tagsOptions,