aboutsummaryrefslogtreecommitdiff
path: root/js/plugins/metisMenu/metisMenu.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/plugins/metisMenu/metisMenu.js')
-rw-r--r--js/plugins/metisMenu/metisMenu.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/js/plugins/metisMenu/metisMenu.js b/js/plugins/metisMenu/metisMenu.js
new file mode 100644
index 0000000..9f8d627
--- /dev/null
+++ b/js/plugins/metisMenu/metisMenu.js
@@ -0,0 +1,72 @@
+/*
+ * metismenu - v1.0.3
+ * Easy menu jQuery plugin for Twitter Bootstrap 3
+ * https://github.com/onokumus/metisMenu
+ *
+ * Made by Osman Nuri Okumuş
+ * Under MIT License
+ */
+;(function ($, window, document, undefined) {
+
+ var pluginName = "metisMenu",
+ defaults = {
+ toggle: true
+ };
+
+ function Plugin(element, options) {
+ this.element = element;
+ this.settings = $.extend({}, defaults, options);
+ this._defaults = defaults;
+ this._name = pluginName;
+ this.init();
+ }
+
+ Plugin.prototype = {
+ init: function () {
+
+ var $this = $(this.element),
+ $toggle = this.settings.toggle;
+
+ if (this.isIE() <= 9) {
+ $this.find("li.active").has("ul").children("ul").collapse("show");
+ $this.find("li").not(".active").has("ul").children("ul").collapse("hide");
+ } else {
+ $this.find("li.active").has("ul").children("ul").addClass("collapse in");
+ $this.find("li").not(".active").has("ul").children("ul").addClass("collapse");
+ }
+
+ $this.find("li").has("ul").children("a").on("click", function (e) {
+ e.preventDefault();
+
+ $(this).parent("li").toggleClass("active").children("ul").collapse("toggle");
+
+ if ($toggle) {
+ $(this).parent("li").siblings().removeClass("active").children("ul.in").collapse("hide");
+ }
+ });
+ },
+
+ isIE: function() {//https://gist.github.com/padolsey/527683
+ var undef,
+ v = 3,
+ div = document.createElement("div"),
+ all = div.getElementsByTagName("i");
+
+ while (
+ div.innerHTML = "<!--[if gt IE " + (++v) + "]><i></i><![endif]-->",
+ all[0]
+ ) {
+ return v > 4 ? v : undef;
+ }
+ }
+ };
+
+ $.fn[ pluginName ] = function (options) {
+ return this.each(function () {
+ if (!$.data(this, "plugin_" + pluginName)) {
+ $.data(this, "plugin_" + pluginName, new Plugin(this, options));
+ }
+ });
+ };
+
+})(jQuery, window, document);