demo.js 15.5 KB
Newer Older
1 2 3 4 5 6
/**
 * AdminLTE Demo Menu
 * ------------------
 * You should not use this file in production.
 * This file is for demo purposes only.
 */
A
Abdullah Almsaeed 已提交
7
(function ($, AdminLTE) {
A
almasaeed2010 已提交
8

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
  /**
   * List of all the available skins
   * 
   * @type Array
   */
  var my_skins = [
    "skin-blue",
    "skin-black",
    "skin-red",
    "skin-yellow",
    "skin-purple",
    "skin-green",
    "skin-blue-light",
    "skin-black-light",
    "skin-red-light",
    "skin-yellow-light",
    "skin-purple-light",
    "skin-green-light"
  ];

A
Abdullah Almsaeed 已提交
29 30 31 32 33
  //Create the new tab
  var tab_pane = $("<div />", {
    "id": "control-sidebar-theme-demo-options-tab",
    "class": "tab-pane"
  });
34

A
Abdullah Almsaeed 已提交
35 36 37 38 39
  //Create the tab button
  var tab_button = $("<li />")
          .html("<a href='#control-sidebar-theme-demo-options-tab' data-toggle='tab'>"
                  + "<i class='fa fa-wrench'></i>"
                  + "</a>");
40

A
Abdullah Almsaeed 已提交
41 42 43 44
  //Add the tab button to the right sidebar tabs
  $("[href='#control-sidebar-home-tab']")
          .parent()
          .before(tab_button);
45 46

  //Create the menu
A
Abdullah Almsaeed 已提交
47
  var demo_settings = $("<div />");
48

A
Abdullah Almsaeed 已提交
49
  //Layout options
A
almasaeed2010 已提交
50
  demo_settings.append(
A
Abdullah Almsaeed 已提交
51
          "<h4 class='control-sidebar-heading'>"
52 53
          + "Layout Options"
          + "</h4>"
A
almasaeed2010 已提交
54 55
          //Fixed layout
          + "<div class='form-group'>"
A
Abdullah Almsaeed 已提交
56 57
          + "<label class='control-sidebar-subheading'>"
          + "<input type='checkbox' data-layout='fixed' class='pull-right'/> "
A
almasaeed2010 已提交
58 59
          + "Fixed layout"
          + "</label>"
A
Abdullah Almsaeed 已提交
60
          + "<p>Activate the fixed layout. You can't use fixed and boxed layouts together</p>"
A
almasaeed2010 已提交
61 62 63
          + "</div>"
          //Boxed layout
          + "<div class='form-group'>"
A
Abdullah Almsaeed 已提交
64 65
          + "<label class='control-sidebar-subheading'>"
          + "<input type='checkbox' data-layout='layout-boxed'class='pull-right'/> "
A
almasaeed2010 已提交
66 67
          + "Boxed Layout"
          + "</label>"
A
Abdullah Almsaeed 已提交
68
          + "<p>Activate the boxed layout</p>"
A
almasaeed2010 已提交
69
          + "</div>"
A
Abdullah Almsaeed 已提交
70
          //Sidebar Toggle
A
almasaeed2010 已提交
71
          + "<div class='form-group'>"
A
Abdullah Almsaeed 已提交
72 73
          + "<label class='control-sidebar-subheading'>"
          + "<input type='checkbox' data-layout='sidebar-collapse' class='pull-right'/> "
A
Abdullah Almsaeed 已提交
74 75
          + "Toggle Sidebar"
          + "</label>"
A
Abdullah Almsaeed 已提交
76
          + "<p>Toggle the left sidebar's state (open or collapse)</p>"
A
Abdullah Almsaeed 已提交
77 78 79
          + "</div>"
          //Control Sidebar Toggle
          + "<div class='form-group'>"
A
Abdullah Almsaeed 已提交
80 81 82
          + "<label class='control-sidebar-subheading'>"
          + "<input type='checkbox' data-controlsidebar='control-sidebar-open' class='pull-right'/> "
          + "Toggle Right Sidebar Slide"
A
almasaeed2010 已提交
83
          + "</label>"
A
Abdullah Almsaeed 已提交
84
          + "<p>Toggles between slide over content and push content effects.</p>"
A
almasaeed2010 已提交
85 86
          + "</div>"
          );
A
Abdullah Almsaeed 已提交
87
  var skins_list = $("<ul />", {"class": 'list-unstyled clearfix'});
88 89

  //Dark sidebar skins
A
almasaeed2010 已提交
90
  var skin_blue =
91 92 93 94 95
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-blue' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px; background: #367fa9;'></span><span class='bg-light-blue' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
96
                  + "<p class='text-center no-margin'>Blue</p>");
A
almasaeed2010 已提交
97 98
  skins_list.append(skin_blue);
  var skin_black =
99 100 101 102 103
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-black' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div style='box-shadow: 0 0 2px rgba(0,0,0,0.1)' class='clearfix'><span style='display:block; width: 20%; float: left; height: 7px; background: #fefefe;'></span><span style='display:block; width: 80%; float: left; height: 7px; background: #fefefe;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
104
                  + "<p class='text-center no-margin'>Black</p>");
A
almasaeed2010 已提交
105 106
  skins_list.append(skin_black);
  var skin_purple =
107 108 109 110 111
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-purple' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-purple-active'></span><span class='bg-purple' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
112
                  + "<p class='text-center no-margin'>Purple</p>");
A
almasaeed2010 已提交
113 114
  skins_list.append(skin_purple);
  var skin_green =
115 116 117 118 119
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-green' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-green-active'></span><span class='bg-green' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
120
                  + "<p class='text-center no-margin'>Green</p>");
A
almasaeed2010 已提交
121
  skins_list.append(skin_green);
122 123 124 125 126 127
  var skin_red =
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-red' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-red-active'></span><span class='bg-red' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
128
                  + "<p class='text-center no-margin'>Red</p>");
A
almasaeed2010 已提交
129
  skins_list.append(skin_red);
130 131 132 133 134 135
  var skin_yellow =
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-yellow' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-yellow-active'></span><span class='bg-yellow' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
136
                  + "<p class='text-center no-margin'>Yellow</p>");
A
almasaeed2010 已提交
137 138
  skins_list.append(skin_yellow);

139 140 141 142 143 144 145
  //Light sidebar skins
  var skin_blue_light =
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-blue-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px; background: #367fa9;'></span><span class='bg-light-blue' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
146
                  + "<p class='text-center no-margin' style='font-size: 12px'>Blue Light</p>");
147 148 149 150 151 152 153
  skins_list.append(skin_blue_light);
  var skin_black_light =
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-black-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div style='box-shadow: 0 0 2px rgba(0,0,0,0.1)' class='clearfix'><span style='display:block; width: 20%; float: left; height: 7px; background: #fefefe;'></span><span style='display:block; width: 80%; float: left; height: 7px; background: #fefefe;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
154
                  + "<p class='text-center no-margin' style='font-size: 12px'>Black Light</p>");
155 156 157 158 159 160 161
  skins_list.append(skin_black_light);
  var skin_purple_light =
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-purple-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-purple-active'></span><span class='bg-purple' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
162
                  + "<p class='text-center no-margin' style='font-size: 12px'>Purple Light</p>");
163 164 165 166 167 168 169
  skins_list.append(skin_purple_light);
  var skin_green_light =
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-green-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-green-active'></span><span class='bg-green' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
170
                  + "<p class='text-center no-margin' style='font-size: 12px'>Green Light</p>");
171 172 173 174 175 176 177
  skins_list.append(skin_green_light);
  var skin_red_light =
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-red-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-red-active'></span><span class='bg-red' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
178
                  + "<p class='text-center no-margin' style='font-size: 12px'>Red Light</p>");
179 180 181 182 183 184 185
  skins_list.append(skin_red_light);
  var skin_yellow_light =
          $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
          .append("<a href='javascript:void(0);' data-skin='skin-yellow-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-yellow-active'></span><span class='bg-yellow' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
                  + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
                  + "</a>"
A
Abdullah Almsaeed 已提交
186
                  + "<p class='text-center no-margin' style='font-size: 12px;'>Yellow Light</p>");
187 188
  skins_list.append(skin_yellow_light);

A
Abdullah Almsaeed 已提交
189
  demo_settings.append("<h4 class='control-sidebar-heading'>Skins</h4>");
A
almasaeed2010 已提交
190 191
  demo_settings.append(skins_list);

A
Abdullah Almsaeed 已提交
192 193
  tab_pane.append(demo_settings);
  $("#control-sidebar-settings-tab").before(tab_pane);
A
almasaeed2010 已提交
194 195 196

  setup();

197 198 199 200 201 202 203 204
  /**
   * Toggles layout classes
   * 
   * @param String cls the layout class to toggle
   * @returns void
   */
  function change_layout(cls) {
    $("body").toggleClass(cls);
A
Abdullah Almsaeed 已提交
205 206 207 208
    AdminLTE.layout.fixSidebar();
    //Fix the problem with right sidebar and layout boxed
    if(cls == "layout-boxed")
      AdminLTE.controlSidebar._fix($(".control-sidebar-bg"));
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
  }

  /**
   * Replaces the old skin with the new skin
   * @param String cls the new skin class
   * @returns Boolean false to prevent link's default action
   */
  function change_skin(cls) {
    $.each(my_skins, function (i) {
      $("body").removeClass(my_skins[i]);
    });

    $("body").addClass(cls);
    store('skin', cls);
    return false;
  }

  /**
   * Store a new settings in the browser
   * 
   * @param String name Name of the setting
   * @param String val Value of the setting
   * @returns void
   */
  function store(name, val) {
    if (typeof (Storage) !== "undefined") {
      localStorage.setItem(name, val);
    } else {
      alert('Please use a modern browser to properly view this template!');
    }
A
almasaeed2010 已提交
239
  }
240 241 242 243 244 245 246 247 248 249 250 251 252

  /**
   * Get a prestored setting
   * 
   * @param String name Name of of the setting
   * @returns String The value of the setting | null
   */
  function get(name) {
    if (typeof (Storage) !== "undefined") {
      return localStorage.getItem(name);
    } else {
      alert('Please use a modern browser to properly view this template!');
    }
A
almasaeed2010 已提交
253 254
  }

255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
  /**
   * Retrieve default settings and apply them to the template
   * 
   * @returns void
   */
  function setup() {
    var tmp = get('skin');
    if (tmp && $.inArray(tmp, my_skins))
      change_skin(tmp);

    //Add the change skin listener
    $("[data-skin]").on('click', function (e) {
      e.preventDefault();
      change_skin($(this).data('skin'));
    });
A
Abdullah Almsaeed 已提交
270 271 272 273 274

    //Add the layout manager
    $("[data-layout]").on('click', function () {
      change_layout($(this).data('layout'));
    });
A
Abdullah Almsaeed 已提交
275

A
Abdullah Almsaeed 已提交
276 277
    $("[data-controlsidebar]").on('click', function () {
      change_layout($(this).data('controlsidebar'));
A
Abdullah Almsaeed 已提交
278 279 280
      var slide = !AdminLTE.options.controlSidebarOptions.slide;
      AdminLTE.options.controlSidebarOptions.slide = slide;
      if (!slide)
A
Abdullah Almsaeed 已提交
281 282
        $('.control-sidebar').removeClass('control-sidebar-open');
    });
283
  }
A
Abdullah Almsaeed 已提交
284
})(jQuery, $.AdminLTE);