Subversion-Projekte lars-tiefland.cienc

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
9 lars 1
/**
2
Demo script to handle the theme demo
3
**/
4
 
5
var Demo = function () {
6
 
7
    // Handle Theme Settings
8
    var handleTheme = function () {
9
 
10
        var panel = $('.theme-panel');
11
 
12
        if ($('.page-head > .container-fluid').size() === 1) {
13
            $('.theme-setting-layout', panel).val("fluid");
14
        } else {
15
            $('.theme-setting-layout', panel).val("boxed");
16
        }
17
 
18
        if ($('.top-menu li.dropdown.dropdown-dark').size() > 0) {
19
            $('.theme-setting-top-menu-style', panel).val("dark");
20
        } else {
21
            $('.theme-setting-top-menu-style', panel).val("light");
22
        }
23
 
24
        if ($('body').hasClass("page-header-top-fixed")) {
25
            $('.theme-setting-top-menu-mode', panel).val("fixed");
26
        } else {
27
            $('.theme-setting-top-menu-mode', panel).val("not-fixed");
28
        }
29
 
30
        if ($('.hor-menu.hor-menu-light').size() > 0) {
31
            $('.theme-setting-mega-menu-style', panel).val("light");
32
        } else {
33
            $('.theme-setting-mega-menu-style', panel).val("dark");
34
        }
35
 
36
        if ($('body').hasClass("page-header-menu-fixed")) {
37
            $('.theme-setting-mega-menu-mode', panel).val("fixed");
38
        } else {
39
            $('.theme-setting-mega-menu-mode', panel).val("not-fixed");
40
        }
41
 
42
        //handle theme layout
43
        var resetLayout = function () {
44
            $("body").
45
            removeClass("page-header-top-fixed").
46
            removeClass("page-header-menu-fixed");
47
 
48
            $('.page-header-top > .container-fluid').removeClass("container-fluid").addClass('container');
49
            $('.page-header-menu > .container-fluid').removeClass("container-fluid").addClass('container');
50
            $('.page-head > .container-fluid').removeClass("container-fluid").addClass('container');
51
            $('.page-content > .container-fluid').removeClass("container-fluid").addClass('container');
52
            $('.page-prefooter > .container-fluid').removeClass("container-fluid").addClass('container');
53
            $('.page-footer > .container-fluid').removeClass("container-fluid").addClass('container');
54
        };
55
 
56
        var setLayout = function () {
57
 
58
            var layoutMode = $('.theme-setting-layout', panel).val();
59
            var headerTopMenuStyle = $('.theme-setting-top-menu-style', panel).val();
60
            var headerTopMenuMode = $('.theme-setting-top-menu-mode', panel).val();
61
            var headerMegaMenuStyle = $('.theme-setting-mega-menu-style', panel).val();
62
            var headerMegaMenuMode = $('.theme-setting-mega-menu-mode', panel).val();
63
 
64
            resetLayout(); // reset layout to default state
65
 
66
            if (layoutMode === "fluid") {
67
                $('.page-header-top > .container').removeClass("container").addClass('container-fluid');
68
                $('.page-header-menu > .container').removeClass("container").addClass('container-fluid');
69
                $('.page-head > .container').removeClass("container").addClass('container-fluid');
70
                $('.page-content > .container').removeClass("container").addClass('container-fluid');
71
                $('.page-prefooter > .container').removeClass("container").addClass('container-fluid');
72
                $('.page-footer > .container').removeClass("container").addClass('container-fluid');
73
 
74
                //App.runResizeHandlers();
75
            }
76
 
77
            if (headerTopMenuStyle === 'dark') {
78
                $(".top-menu > .navbar-nav > li.dropdown").addClass("dropdown-dark");
79
            } else {
80
                $(".top-menu > .navbar-nav > li.dropdown").removeClass("dropdown-dark");
81
            }
82
 
83
            if (headerTopMenuMode === 'fixed') {
84
                $("body").addClass("page-header-top-fixed");
85
            } else {
86
                $("body").removeClass("page-header-top-fixed");
87
            }
88
 
89
            if (headerMegaMenuStyle === 'light') {
90
                $(".hor-menu").addClass("hor-menu-light");
91
            } else {
92
                $(".hor-menu").removeClass("hor-menu-light");
93
            }
94
 
95
            if (headerMegaMenuMode === 'fixed') {
96
                $("body").addClass("page-header-menu-fixed");
97
            } else {
98
                $("body").removeClass("page-header-menu-fixed");
99
            }
100
        };
101
 
102
        // handle theme colors
103
        var setColor = function (color) {
104
            var color_ = (App.isRTL() ? color + '-rtl' : color);
105
            $('#style_color').attr("href", Layout.getLayoutCssPath() + 'themes/' + color_ + ".min.css");
106
            $('.page-logo img').attr("src", Layout.getLayoutImgPath() + 'logo-' + color + '.png');
107
        };
108
 
109
        $('.theme-colors > li', panel).click(function () {
110
            var color = $(this).attr("data-theme");
111
            setColor(color);
112
            $('.theme-colors > li', panel).removeClass("active");
113
            $(this).addClass("active");
114
        });
115
 
116
        $('.theme-setting-top-menu-mode', panel).change(function(){
117
            var headerTopMenuMode = $('.theme-setting-top-menu-mode', panel).val();
118
            var headerMegaMenuMode = $('.theme-setting-mega-menu-mode', panel).val();
119
 
120
            if (headerMegaMenuMode === "fixed") {
121
                alert("The top menu and mega menu can not be fixed at the same time.");
122
                $('.theme-setting-mega-menu-mode', panel).val("not-fixed");
123
                headerTopMenuMode = 'not-fixed';
124
            }
125
        });
126
 
127
        $('.theme-setting-mega-menu-mode', panel).change(function(){
128
            var headerTopMenuMode = $('.theme-setting-top-menu-mode', panel).val();
129
            var headerMegaMenuMode = $('.theme-setting-mega-menu-mode', panel).val();
130
 
131
            if (headerTopMenuMode === "fixed") {
132
                alert("The top menu and mega menu can not be fixed at the same time.");
133
                $('.theme-setting-top-menu-mode', panel).val("not-fixed");
134
                headerTopMenuMode = 'not-fixed';
135
            }
136
        });
137
 
138
        $('.theme-setting', panel).change(setLayout);
139
    };
140
 
141
    // handle theme style
142
    var setThemeStyle = function(style) {
143
        var file = (style === 'rounded' ? 'components-rounded' : 'components');
144
        file = (App.isRTL() ? file + '-rtl' : file);
145
 
146
        $('#style_components').attr("href", App.getGlobalCssPath() + file + ".min.css");
147
 
148
        if (typeof Cookies !== "undefined") {
149
            Cookies.set('layout-style-option', style);
150
        }
151
    };
152
 
153
    return {
154
 
155
        //main function to initiate the theme
156
        init: function() {
157
            // handles style customer tool
158
            handleTheme();
159
 
160
            // handle layout style change
161
            $('.theme-panel .theme-setting-style').change(function() {
162
                 setThemeStyle($(this).val());
163
            });
164
 
165
            // set layout style from cookie
166
            if (typeof Cookies !== "undefined" && Cookies.get('layout-style-option') === 'rounded') {
167
                setThemeStyle(Cookies.get('layout-style-option'));
168
                $('.theme-panel .layout-style-option').val(Cookies.get('layout-style-option'));
169
            }
170
        }
171
    };
172
 
173
}();
174
 
175
if (App.isAngularJsApp() === false) {
176
    jQuery(document).ready(function() {
177
        Demo.init();
178
    });
179
}