1
0
mirror of https://github.com/tabler/tabler.git synced 2025-12-21 17:34:25 +04:00

layout manager localstorage config

This commit is contained in:
codecalm
2019-07-08 20:23:17 +02:00
parent e46f05dd3b
commit 6ba034bc4d
6 changed files with 75 additions and 24 deletions

68
js/app/demo.js Normal file
View File

@@ -0,0 +1,68 @@
'use strict';
class TablerDemo {
constructor() {
this.init();
};
init() {
this.config = this.getConfig();
console.log('config', this.config);
};
getConfig = function () {
return {
colorScheme: (localStorage.getItem('tablerColorScheme')) ? localStorage.getItem('tablerColorScheme') : 'light',
navPosition: (localStorage.getItem('tablerNavPosition')) ? localStorage.getItem('tablerNavPosition') : 'side',
sidebarColor: (localStorage.getItem('tablerSidebarColor')) ? localStorage.getItem('tablerSidebarColor') : 'light',
sidebarSize: (localStorage.getItem('tablerSidebarSize')) ? localStorage.getItem('tablerSidebarSize') : 'default',
sidebarPosition: (localStorage.getItem('tablerSidebarPosition')) ? localStorage.getItem('tablerSidebarPosition') : 'left'
};
};
setConfig = function (key, value, availableValues) {
if (availableValues && availableValues.indexOf(value) !== -1) {
key = 'tabler' + key.charAt(0).toUpperCase() + key.slice(1);
localStorage.setItem(key, value);
}
return this.getConfig();
};
renderManagerHtml(elem) {
elem.innerHTML = 'test2';
};
toggleColorScheme(colorScheme) {
return this.setConfig('colorScheme', colorScheme, ['dark', 'light']);
};
toggleNavPosition(position) {
return this.setConfig('navPosition', position, ['top', 'side']);
};
toggleSidebarPosition(position) {
return this.setConfig('sidebarPosition', position, ['left', 'right']);
};
toggleSidebarSize(size) {
return this.setConfig('sidebarSize', size, ['default', 'folded']);
};
toggleSidebarColor(color) {
return this.setConfig('sidebarColor', color, ['dark', 'light']);
};
}
const demo = new TablerDemo();
window.DEMO = demo;
document.addEventListener("DOMContentLoaded", function () {
let elem = document.getElementById('layout-manager');
if (elem) {
demo.renderManagerHtml(elem);
}
});

View File

@@ -1,19 +0,0 @@
'use strict';
class TablerLayoutManager {
static init() {
this.elem = document.getElementById('layout-manager');
if(this.elem) {
this.renderHtml();
}
}
static renderHtml() {
this.elem.innerHTML = 'test';
}
}
document.addEventListener("DOMContentLoaded", function() {
TablerLayoutManager.init();
});

View File

@@ -61,4 +61,8 @@ changelog:
icon: file-plus
label: v1.0
customize:
url: #
title: Customize
icon: sliders

View File

@@ -10,7 +10,7 @@
<script src="{{ site.base }}/js/tabler.js"></script>
<script src="{{ site.base }}/js/app/charts.js"></script>
<script src="{{ site.base }}/js/app/layout-manager.js"></script>
<script src="{{ site.base }}/js/app/demo.js"></script>
<script>
window.tabler = window.tabler || {};

View File

@@ -3,20 +3,16 @@ layout: base
---
<div class="d-flex flex-row">
{% if page.nav-position == "left" or page.nav-position == "right" %}
{% include layout/sidenav.html dark=page.sidenav-dark folded=page.sidenav-folded fixed=true %}
{% endif %}
<div class="layout-main d-flex flex-column flex-fill max-w-full">
{% include layout/topnav.html dark=page.header-dark sticky=page.header-sticky %}
{% if page.nav-position == "top" or page.nav-position == "all" %}
<div class="d-none d-lg-flex navbar navbar-expand-md">
<div class="container">
{% include layout/menu.html top=true %}
</div>
</div>
{% endif %}
<main class="container{% if page.container-size %} container-{{ page.container-size }}{% endif %}{% if page.fluid %}-fluid{% endif %} my-4">
<!--{% include layout/page-title.html %}-->

View File

@@ -124,6 +124,8 @@ Sidebar
margin: 0;
pointer-events: inherit;
justify-content: start;
flex-wrap: nowrap;
overflow: auto;
.nav {
flex-direction: column;