mirror of
https://github.com/Lissy93/dashy.git
synced 2025-07-25 06:35:45 +02:00
⚡ Item size and layout are now managed by store
This commit is contained in:
parent
513b1cd955
commit
168e52c251
@ -47,7 +47,6 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
updateIconSize(iconSize) {
|
updateIconSize(iconSize) {
|
||||||
this.$emit('iconSizeUpdated', iconSize);
|
|
||||||
this.$store.commit(StoreKeys.SET_ITEM_SIZE, iconSize);
|
this.$store.commit(StoreKeys.SET_ITEM_SIZE, iconSize);
|
||||||
},
|
},
|
||||||
tooltip(content) {
|
tooltip(content) {
|
||||||
|
@ -32,11 +32,6 @@ import IconVertical from '@/assets/interface-icons/layout-vertical.svg';
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'LayoutSelector',
|
name: 'LayoutSelector',
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
input: '',
|
|
||||||
};
|
|
||||||
},
|
|
||||||
props: {
|
props: {
|
||||||
displayLayout: String,
|
displayLayout: String,
|
||||||
},
|
},
|
||||||
@ -47,7 +42,6 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
updateDisplayLayout(layout) {
|
updateDisplayLayout(layout) {
|
||||||
this.$emit('layoutUpdated', layout);
|
|
||||||
this.$store.commit(StoreKeys.SET_ITEM_LAYOUT, layout);
|
this.$store.commit(StoreKeys.SET_ITEM_LAYOUT, layout);
|
||||||
},
|
},
|
||||||
tooltip(content) {
|
tooltip(content) {
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
<div class="options-outer">
|
<div class="options-outer">
|
||||||
<div :class="`options-container ${!settingsVisible ? 'hide' : ''}`">
|
<div :class="`options-container ${!settingsVisible ? 'hide' : ''}`">
|
||||||
<ThemeSelector />
|
<ThemeSelector />
|
||||||
<LayoutSelector :displayLayout="displayLayout" @layoutUpdated="updateDisplayLayout"/>
|
<LayoutSelector :displayLayout="displayLayout" />
|
||||||
<ItemSizeSelector :iconSize="iconSize" @iconSizeUpdated="updateIconSize" />
|
<ItemSizeSelector :iconSize="iconSize" />
|
||||||
<ConfigLauncher />
|
<ConfigLauncher />
|
||||||
<AuthButtons v-if="userState != 'noone'" :userType="userState" />
|
<AuthButtons v-if="userState != 'noone'" :userType="userState" />
|
||||||
</div>
|
</div>
|
||||||
@ -106,12 +106,6 @@ export default {
|
|||||||
clearFilterInput() {
|
clearFilterInput() {
|
||||||
this.$refs.SearchBar.clearFilterInput();
|
this.$refs.SearchBar.clearFilterInput();
|
||||||
},
|
},
|
||||||
updateDisplayLayout(layout) {
|
|
||||||
this.$emit('change-display-layout', layout);
|
|
||||||
},
|
|
||||||
updateIconSize(iconSize) {
|
|
||||||
this.$emit('change-icon-size', iconSize);
|
|
||||||
},
|
|
||||||
getInitialTheme() {
|
getInitialTheme() {
|
||||||
return this.appConfig.theme || '';
|
return this.appConfig.theme || '';
|
||||||
},
|
},
|
||||||
|
@ -86,6 +86,12 @@ const store = new Vuex.Store({
|
|||||||
});
|
});
|
||||||
return foundSection;
|
return foundSection;
|
||||||
},
|
},
|
||||||
|
layout(state) {
|
||||||
|
return state.config.appConfig.layout || 'auto';
|
||||||
|
},
|
||||||
|
iconSize(state) {
|
||||||
|
return state.config.appConfig.iconSize || 'medium';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
[SET_CONFIG](state, config) {
|
[SET_CONFIG](state, config) {
|
||||||
@ -217,12 +223,15 @@ const store = new Vuex.Store({
|
|||||||
},
|
},
|
||||||
[SET_ITEM_LAYOUT](state, layout) {
|
[SET_ITEM_LAYOUT](state, layout) {
|
||||||
state.config.appConfig.layout = layout;
|
state.config.appConfig.layout = layout;
|
||||||
|
InfoHandler('Layout updated', InfoKeys.VISUAL);
|
||||||
},
|
},
|
||||||
[SET_ITEM_SIZE](state, iconSize) {
|
[SET_ITEM_SIZE](state, iconSize) {
|
||||||
state.config.appConfig.iconSize = iconSize;
|
state.config.appConfig.iconSize = iconSize;
|
||||||
|
InfoHandler('Item size updated', InfoKeys.VISUAL);
|
||||||
},
|
},
|
||||||
[UPDATE_CUSTOM_CSS](state, customCss) {
|
[UPDATE_CUSTOM_CSS](state, customCss) {
|
||||||
state.config.appConfig.customCss = customCss;
|
state.config.appConfig.customCss = customCss;
|
||||||
|
InfoHandler('Custom colors updated', InfoKeys.VISUAL);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
<!-- Search bar, layout options and settings -->
|
<!-- Search bar, layout options and settings -->
|
||||||
<SettingsContainer ref="filterComp"
|
<SettingsContainer ref="filterComp"
|
||||||
@user-is-searchin="searching"
|
@user-is-searchin="searching"
|
||||||
@change-display-layout="setLayoutOrientation"
|
|
||||||
@change-icon-size="setItemSize"
|
|
||||||
@change-modal-visibility="updateModalVisibility"
|
@change-modal-visibility="updateModalVisibility"
|
||||||
:displayLayout="layout"
|
:displayLayout="layout"
|
||||||
:iconSize="itemSizeBound"
|
:iconSize="itemSizeBound"
|
||||||
@ -120,20 +118,22 @@ export default {
|
|||||||
return sections.filter((section) => this.filterTiles(section.items, this.searchValue));
|
return sections.filter((section) => this.filterTiles(section.items, this.searchValue));
|
||||||
},
|
},
|
||||||
/* Updates layout (when button clicked), and saves in local storage */
|
/* Updates layout (when button clicked), and saves in local storage */
|
||||||
layoutOrientation: {
|
layoutOrientation() {
|
||||||
get() { return this.appConfig.layout || Defaults.layout; },
|
return this.$store.getters.layout;
|
||||||
set: function setLayout(layout) {
|
|
||||||
localStorage.setItem(localStorageKeys.LAYOUT_ORIENTATION, layout);
|
|
||||||
this.layout = layout;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
/* Updates icon size (when button clicked), and saves in local storage */
|
/* Updates icon size (when button clicked), and saves in local storage */
|
||||||
iconSize: {
|
iconSize() {
|
||||||
get() { return this.appConfig.iconSize || Defaults.iconSize; },
|
return this.$store.getters.iconSize;
|
||||||
set: function setIconSize(iconSize) {
|
},
|
||||||
localStorage.setItem(localStorageKeys.ICON_SIZE, iconSize);
|
},
|
||||||
this.itemSizeBound = iconSize;
|
watch: {
|
||||||
},
|
layoutOrientation(layout) {
|
||||||
|
localStorage.setItem(localStorageKeys.LAYOUT_ORIENTATION, layout);
|
||||||
|
this.layout = layout;
|
||||||
|
},
|
||||||
|
iconSize(size) {
|
||||||
|
localStorage.setItem(localStorageKeys.ICON_SIZE, size);
|
||||||
|
this.itemSizeBound = size;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -158,14 +158,6 @@ export default {
|
|||||||
getDisplayData(section) {
|
getDisplayData(section) {
|
||||||
return !section.displayData ? {} : section.displayData;
|
return !section.displayData ? {} : section.displayData;
|
||||||
},
|
},
|
||||||
/* Sets layout attribute, which is used by Section */
|
|
||||||
setLayoutOrientation(layout) {
|
|
||||||
this.layoutOrientation = layout;
|
|
||||||
},
|
|
||||||
/* Sets item size attribute, which is used by Section */
|
|
||||||
setItemSize(itemSize) {
|
|
||||||
this.iconSize = itemSize;
|
|
||||||
},
|
|
||||||
/* Update data when modal is open (so that key bindings can be disabled) */
|
/* Update data when modal is open (so that key bindings can be disabled) */
|
||||||
updateModalVisibility(modalState) {
|
updateModalVisibility(modalState) {
|
||||||
this.$store.commit('SET_MODAL_OPEN', modalState);
|
this.$store.commit('SET_MODAL_OPEN', modalState);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user