|
@@ -7,15 +7,15 @@
|
|
* Pass any option as data-option="value"
|
|
* Pass any option as data-option="value"
|
|
*/
|
|
*/
|
|
+function ($) {
|
|
+function ($) {
|
|
- 'use strict'
|
|
|
|
|
|
+ 'use strict';
|
|
|
|
|
|
- var DataKey = 'lte.pushmenu'
|
|
|
|
|
|
+ var DataKey = 'lte.pushmenu';
|
|
|
|
|
|
var Default = {
|
|
var Default = {
|
|
collapseScreenSize : 767,
|
|
collapseScreenSize : 767,
|
|
expandOnHover : false,
|
|
expandOnHover : false,
|
|
expandTransitionDelay: 200
|
|
expandTransitionDelay: 200
|
|
- }
|
|
|
|
|
|
+ };
|
|
|
|
|
|
var Selector = {
|
|
var Selector = {
|
|
collapsed : '.sidebar-collapse',
|
|
collapsed : '.sidebar-collapse',
|
|
@@ -27,7 +27,7 @@
|
|
mini : '.sidebar-mini',
|
|
mini : '.sidebar-mini',
|
|
expanded : '.sidebar-expanded-on-hover',
|
|
expanded : '.sidebar-expanded-on-hover',
|
|
layoutFixed : '.fixed'
|
|
layoutFixed : '.fixed'
|
|
- }
|
|
|
|
|
|
+ };
|
|
|
|
|
|
var ClassName = {
|
|
var ClassName = {
|
|
collapsed : 'sidebar-collapse',
|
|
collapsed : 'sidebar-collapse',
|
|
@@ -36,141 +36,141 @@
|
|
expanded : 'sidebar-expanded-on-hover',
|
|
expanded : 'sidebar-expanded-on-hover',
|
|
expandFeature: 'sidebar-mini-expand-feature',
|
|
expandFeature: 'sidebar-mini-expand-feature',
|
|
layoutFixed : 'fixed'
|
|
layoutFixed : 'fixed'
|
|
- }
|
|
|
|
|
|
+ };
|
|
|
|
|
|
var Event = {
|
|
var Event = {
|
|
expanded : 'expanded.pushMenu',
|
|
expanded : 'expanded.pushMenu',
|
|
collapsed: 'collapsed.pushMenu'
|
|
collapsed: 'collapsed.pushMenu'
|
|
- }
|
|
|
|
|
|
+ };
|
|
|
|
|
|
// PushMenu Class Definition
|
|
// PushMenu Class Definition
|
|
// =========================
|
|
// =========================
|
|
var PushMenu = function (options) {
|
|
var PushMenu = function (options) {
|
|
- this.options = options
|
|
|
|
- this.init()
|
|
|
|
- }
|
|
|
|
|
|
+ this.options = options;
|
|
|
|
+ this.init();
|
|
|
|
+ };
|
|
|
|
|
|
PushMenu.prototype.init = function () {
|
|
PushMenu.prototype.init = function () {
|
|
if (this.options.expandOnHover
|
|
if (this.options.expandOnHover
|
|
|| ($('body').is(Selector.mini + Selector.layoutFixed))) {
|
|
|| ($('body').is(Selector.mini + Selector.layoutFixed))) {
|
|
- this.expandOnHover()
|
|
|
|
- $('body').addClass(ClassName.expandFeature)
|
|
|
|
|
|
+ this.expandOnHover();
|
|
|
|
+ $('body').addClass(ClassName.expandFeature);
|
|
}
|
|
}
|
|
|
|
|
|
$(Selector.contentWrapper).click(function () {
|
|
$(Selector.contentWrapper).click(function () {
|
|
// Enable hide menu when clicking on the content-wrapper on small screens
|
|
// Enable hide menu when clicking on the content-wrapper on small screens
|
|
if ($(window).width() <= this.options.collapseScreenSize && $('body').hasClass(ClassName.open)) {
|
|
if ($(window).width() <= this.options.collapseScreenSize && $('body').hasClass(ClassName.open)) {
|
|
- this.close()
|
|
|
|
|
|
+ this.close();
|
|
}
|
|
}
|
|
- }.bind(this))
|
|
|
|
|
|
+ }.bind(this));
|
|
|
|
|
|
// __Fix for android devices
|
|
// __Fix for android devices
|
|
$(Selector.searchInput).click(function (e) {
|
|
$(Selector.searchInput).click(function (e) {
|
|
- e.stopPropagation()
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
|
|
+ e.stopPropagation();
|
|
|
|
+ });
|
|
|
|
+ };
|
|
|
|
|
|
PushMenu.prototype.toggle = function () {
|
|
PushMenu.prototype.toggle = function () {
|
|
- var windowWidth = $(window).width()
|
|
|
|
- var isOpen = !$('body').hasClass(ClassName.collapsed)
|
|
|
|
|
|
+ var windowWidth = $(window).width();
|
|
|
|
+ var isOpen = !$('body').hasClass(ClassName.collapsed);
|
|
|
|
|
|
if (windowWidth <= this.options.collapseScreenSize) {
|
|
if (windowWidth <= this.options.collapseScreenSize) {
|
|
- isOpen = $('body').hasClass(ClassName.open)
|
|
|
|
|
|
+ isOpen = $('body').hasClass(ClassName.open);
|
|
}
|
|
}
|
|
|
|
|
|
if (!isOpen) {
|
|
if (!isOpen) {
|
|
- this.open()
|
|
|
|
|
|
+ this.open();
|
|
} else {
|
|
} else {
|
|
- this.close()
|
|
|
|
|
|
+ this.close();
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ };
|
|
|
|
|
|
PushMenu.prototype.open = function () {
|
|
PushMenu.prototype.open = function () {
|
|
- var windowWidth = $(window).width()
|
|
|
|
|
|
+ var windowWidth = $(window).width();
|
|
|
|
|
|
if (windowWidth > this.options.collapseScreenSize) {
|
|
if (windowWidth > this.options.collapseScreenSize) {
|
|
$('body').removeClass(ClassName.collapsed)
|
|
$('body').removeClass(ClassName.collapsed)
|
|
- .trigger($.Event(Event.expanded))
|
|
|
|
|
|
+ .trigger($.Event(Event.expanded));
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
$('body').addClass(ClassName.open)
|
|
$('body').addClass(ClassName.open)
|
|
- .trigger($.Event(Event.expanded))
|
|
|
|
|
|
+ .trigger($.Event(Event.expanded));
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ };
|
|
|
|
|
|
PushMenu.prototype.close = function () {
|
|
PushMenu.prototype.close = function () {
|
|
- var windowWidth = $(window).width()
|
|
|
|
|
|
+ var windowWidth = $(window).width();
|
|
if (windowWidth > this.options.collapseScreenSize) {
|
|
if (windowWidth > this.options.collapseScreenSize) {
|
|
$('body').addClass(ClassName.collapsed)
|
|
$('body').addClass(ClassName.collapsed)
|
|
- .trigger($.Event(Event.collapsed))
|
|
|
|
|
|
+ .trigger($.Event(Event.collapsed));
|
|
} else {
|
|
} else {
|
|
$('body').removeClass(ClassName.open + ' ' + ClassName.collapsed)
|
|
$('body').removeClass(ClassName.open + ' ' + ClassName.collapsed)
|
|
- .trigger($.Event(Event.collapsed))
|
|
|
|
|
|
+ .trigger($.Event(Event.collapsed));
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ };
|
|
|
|
|
|
PushMenu.prototype.expandOnHover = function () {
|
|
PushMenu.prototype.expandOnHover = function () {
|
|
$(Selector.mainSidebar).hover(function () {
|
|
$(Selector.mainSidebar).hover(function () {
|
|
if ($('body').is(Selector.mini + Selector.collapsed)
|
|
if ($('body').is(Selector.mini + Selector.collapsed)
|
|
&& $(window).width() > this.options.collapseScreenSize) {
|
|
&& $(window).width() > this.options.collapseScreenSize) {
|
|
- this.expand()
|
|
|
|
|
|
+ this.expand();
|
|
}
|
|
}
|
|
}.bind(this), function () {
|
|
}.bind(this), function () {
|
|
if ($('body').is(Selector.expanded)) {
|
|
if ($('body').is(Selector.expanded)) {
|
|
- this.collapse()
|
|
|
|
|
|
+ this.collapse();
|
|
}
|
|
}
|
|
- }.bind(this))
|
|
|
|
- }
|
|
|
|
|
|
+ }.bind(this));
|
|
|
|
+ };
|
|
|
|
|
|
PushMenu.prototype.expand = function () {
|
|
PushMenu.prototype.expand = function () {
|
|
setTimeout(function () {
|
|
setTimeout(function () {
|
|
$('body').removeClass(ClassName.collapsed)
|
|
$('body').removeClass(ClassName.collapsed)
|
|
- .addClass(ClassName.expanded)
|
|
|
|
- }, this.options.expandTransitionDelay)
|
|
|
|
- }
|
|
|
|
|
|
+ .addClass(ClassName.expanded);
|
|
|
|
+ }, this.options.expandTransitionDelay);
|
|
|
|
+ };
|
|
|
|
|
|
PushMenu.prototype.collapse = function () {
|
|
PushMenu.prototype.collapse = function () {
|
|
setTimeout(function () {
|
|
setTimeout(function () {
|
|
$('body').removeClass(ClassName.expanded)
|
|
$('body').removeClass(ClassName.expanded)
|
|
- .addClass(ClassName.collapsed)
|
|
|
|
- }, this.options.expandTransitionDelay)
|
|
|
|
- }
|
|
|
|
|
|
+ .addClass(ClassName.collapsed);
|
|
|
|
+ }, this.options.expandTransitionDelay);
|
|
|
|
+ };
|
|
|
|
|
|
// PushMenu Plugin Definition
|
|
// PushMenu Plugin Definition
|
|
// ==========================
|
|
// ==========================
|
|
function Plugin(option) {
|
|
function Plugin(option) {
|
|
return this.each(function () {
|
|
return this.each(function () {
|
|
- var $this = $(this)
|
|
|
|
- var data = $this.data(DataKey)
|
|
|
|
|
|
+ var $this = $(this);
|
|
|
|
+ var data = $this.data(DataKey);
|
|
|
|
|
|
if (!data) {
|
|
if (!data) {
|
|
- var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
|
|
|
- $this.data(DataKey, (data = new PushMenu(options)))
|
|
|
|
|
|
+ var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option);
|
|
|
|
+ $this.data(DataKey, (data = new PushMenu(options)));
|
|
}
|
|
}
|
|
|
|
|
|
- if (option === 'toggle') data.toggle()
|
|
|
|
- })
|
|
|
|
|
|
+ if (option === 'toggle') data.toggle();
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
- var old = $.fn.pushMenu
|
|
|
|
|
|
+ var old = $.fn.pushMenu;
|
|
|
|
|
|
- $.fn.pushMenu = Plugin
|
|
|
|
- $.fn.pushMenu.Constructor = PushMenu
|
|
|
|
|
|
+ $.fn.pushMenu = Plugin;
|
|
|
|
+ $.fn.pushMenu.Constructor = PushMenu;
|
|
|
|
|
|
// No Conflict Mode
|
|
// No Conflict Mode
|
|
// ================
|
|
// ================
|
|
$.fn.pushMenu.noConflict = function () {
|
|
$.fn.pushMenu.noConflict = function () {
|
|
- $.fn.pushMenu = old
|
|
|
|
- return this
|
|
|
|
- }
|
|
|
|
|
|
+ $.fn.pushMenu = old;
|
|
|
|
+ return this;
|
|
|
|
+ };
|
|
|
|
|
|
// Data API
|
|
// Data API
|
|
// ========
|
|
// ========
|
|
$(document).on('click', Selector.button, function (e) {
|
|
$(document).on('click', Selector.button, function (e) {
|
|
- e.preventDefault()
|
|
|
|
- Plugin.call($(this), 'toggle')
|
|
|
|
- })
|
|
|
|
|
|
+ e.preventDefault();
|
|
|
|
+ Plugin.call($(this), 'toggle');
|
|
|
|
+ });
|
|
$(window).on('load', function () {
|
|
$(window).on('load', function () {
|
|
- Plugin.call($(Selector.button))
|
|
|
|
- })
|
|
|
|
-}(jQuery)
|
|
|
|
|
|
+ Plugin.call($(Selector.button));
|
|
|
|
+ });
|
|
|
|
+}(jQuery);
|