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:
68
js/app/demo.js
Normal file
68
js/app/demo.js
Normal 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);
|
||||||
|
}
|
||||||
|
});
|
||||||
@@ -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();
|
|
||||||
});
|
|
||||||
@@ -61,4 +61,8 @@ changelog:
|
|||||||
icon: file-plus
|
icon: file-plus
|
||||||
label: v1.0
|
label: v1.0
|
||||||
|
|
||||||
|
customize:
|
||||||
|
url: #
|
||||||
|
title: Customize
|
||||||
|
icon: sliders
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<script src="{{ site.base }}/js/tabler.js"></script>
|
<script src="{{ site.base }}/js/tabler.js"></script>
|
||||||
<script src="{{ site.base }}/js/app/charts.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>
|
<script>
|
||||||
window.tabler = window.tabler || {};
|
window.tabler = window.tabler || {};
|
||||||
|
|||||||
@@ -3,20 +3,16 @@ layout: base
|
|||||||
---
|
---
|
||||||
|
|
||||||
<div class="d-flex flex-row">
|
<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 %}
|
{% 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">
|
<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 %}
|
{% 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="d-none d-lg-flex navbar navbar-expand-md">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{% include layout/menu.html top=true %}
|
{% include layout/menu.html top=true %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<main class="container{% if page.container-size %} container-{{ page.container-size }}{% endif %}{% if page.fluid %}-fluid{% endif %} my-4">
|
<main class="container{% if page.container-size %} container-{{ page.container-size }}{% endif %}{% if page.fluid %}-fluid{% endif %} my-4">
|
||||||
<!--{% include layout/page-title.html %}-->
|
<!--{% include layout/page-title.html %}-->
|
||||||
|
|||||||
@@ -124,6 +124,8 @@ Sidebar
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
pointer-events: inherit;
|
pointer-events: inherit;
|
||||||
justify-content: start;
|
justify-content: start;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
.nav {
|
.nav {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
Reference in New Issue
Block a user